ES3063312T3 - Image data encoding/decoding method and apparatus - Google Patents

Image data encoding/decoding method and apparatus

Info

Publication number
ES3063312T3
ES3063312T3 ES24174061T ES24174061T ES3063312T3 ES 3063312 T3 ES3063312 T3 ES 3063312T3 ES 24174061 T ES24174061 T ES 24174061T ES 24174061 T ES24174061 T ES 24174061T ES 3063312 T3 ES3063312 T3 ES 3063312T3
Authority
ES
Spain
Prior art keywords
image
resizing
information
encoding
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
ES24174061T
Other languages
English (en)
Inventor
Ki Beak 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 ES3063312T3 publication Critical patent/ES3063312T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00—Geometric image transformations in the plane of the image
    • G06T3/12—Panospheric to cylindrical image transformations
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00—Geometric image transformations in the plane of the image
    • G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00—Geometric image transformations in the plane of the image
    • G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106—Processing image signals
    • H04N13/158—Switching image signals
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103—Selection of coding mode or of prediction mode
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103—Selection of coding mode or of prediction mode
    • H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124—Quantisation
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136—Incoming video signal characteristics or properties
    • H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167—Position within a video image, e.g. region of interest [ROI]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51—Motion estimation or motion compensation
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51—Motion estimation or motion compensation
    • H04N19/513—Processing of motion vectors
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51—Motion estimation or motion compensation
    • H04N19/513—Processing of motion vectors
    • H04N19/517—Processing of motion vectors by encoding
    • H04N19/52—Processing of motion vectors by encoding by predictive encoding
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51—Motion estimation or motion compensation
    • H04N19/55—Motion estimation with spatial constraints, e.g. at image or region borders
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51—Motion estimation or motion compensation
    • H04N19/563—Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59—Methods 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
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70—Methods 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
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96—Tree coding, e.g. quad-tree coding
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60—Control of cameras or camera modules
    • H04N23/698—Control 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 divulga un método y 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 al codificar 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 al descuantizar y transformar inversamente el flujo de bits, para obtener una imagen decodificada; y reconstruir la imagen decodificada en una imagen de 360 grados de acuerdo con un formato de proyección. Aquí, 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 candidato de vector de movimiento que incluye un vector de movimiento de un bloque adyacente a un bloque actual a decodificar; derivar un vector de movimiento de predicción del grupo candidato de vector de movimiento, sobre la base de la información de selección extraída de la información de movimiento; y determinando un bloque de predicción para el bloque actual que se va a decodificar, utilizando un vector de movimiento fmal derivado al sumar el 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

[0001] DESCRIPCIÓN
[0002] Método y aparato de codificación/descodificación de datos de imagen
[0003] Campo técnico
[0004] La presente invención se refiere a tecnología de codificación y descodificación de datos de imagen, y más particularmente, a un método y aparato para codificar y descodificar una imagen de 360 grados para servicio de medios realistas.
[0005] Antecedentes de la técnica
[0006] Con la difusión de Internet y los terminales móviles y el desarrollo de la tecnología de la información y la comunicación, el uso de datos multimedia está aumentando rápidamente. Recientemente, la demanda de imágenes de alta resolución e imágenes de alta calidad tales como una imagen de alta definición (HD) y una imagen de ultra alta definición (UHD) está surgiendo en diversos campos, y la demanda de servicios de medios realistas tales como realidad virtual, realidad aumentada, y similares está aumentando rápidamente. En particular, dado que las imágenes de múltiples vistas capturadas con una pluralidad de cámaras se procesan para imágenes de 360 grados para realidad virtual y realidad aumentada, la cantidad de datos generados para el procesamiento aumenta enormemente, pero el rendimiento de un sistema de procesamiento de imágenes para procesar una gran cantidad de datos es insuficiente.
[0007] El documento US 2006/034374 A1 divulga un dispositivo y un método para la estimación y compensación de movimiento a realizar en una imagen panorámica con una vista omnidireccional de 360° basándose en que una relación espacial entre los bordes izquierdo y derecho de la imagen panorámica es muy alta. Por consiguiente, es posible mejorar una calidad de imagen a través de una estimación y compensación eficaz y precisa para el movimiento de la imagen panorámica. En particular, es posible mejorar la calidad de imagen en los bordes derecho e izquierdo de la imagen panorámica.
[0008] Como se ha descrito anteriormente, en un método y aparato de codificación y descodificación de imágenes de la técnica relacionada, existe una demanda de mejora del rendimiento en el procesamiento de imágenes, particularmente, codificación/descodificación de imágenes.
[0009] Descripción detallada de la invención
[0010] Problema técnico
[0011] Es un objeto de la presente invención proporcionar un método para mejorar un proceso de ajuste de imagen en etapas iniciales para codificación y descodificación. Más particularmente, la presente invención se dirige a proporcionar un método y aparato de codificación y descodificación para mejorar un proceso de ajuste de imagen en consideración de las características de una imagen de 360 grados.
[0012] Solución técnica
[0013] La invención incluye un método para descodificar una imagen de 360 grados de acuerdo con la reivindicación 1, un método para codificar una imagen de 360 grados de acuerdo con la reivindicación 3, y un medio legible por ordenador no transitorio que almacena un flujo de bits de acuerdo con la reivindicación 4. Se proporcionan realizaciones adicionales de la invención en las reivindicaciones dependientes.
[0014] Efectos ventajosos de la invención
[0015] Con el método y aparato de codificación/descodificación de imágenes de acuerdo con una realización de la presente invención, es posible mejorar el rendimiento de compresión. En particular, para una imagen de 360 grados, es posible mejorar el rendimiento de compresión.
[0016] Descripción de los dibujos
[0017] La figura 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.
[0018] La figura 2 es un diagrama de bloques de un aparato de descodificación de imágenes de acuerdo con una realización de la presente invención.
[0019] La figura 3 es un diagrama de ejemplo en el que la información de imagen se particiona en capas para comprimir una imagen.
[0020] La figura 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.
[0021] La figura 5 es otro diagrama de ejemplo de un método de partición de imágenes de acuerdo con una realización de la presente invención.
[0022] La figura 6 es un diagrama de ejemplo de un método de redimensionamiento de imagen general.
[0023] La figura 7 es un diagrama de ejemplo de redimensionamiento de imagen de acuerdo con una realización de la presente invención.
[0024] La figura 8 es un diagrama de ejemplo de un método de construcción de una región generada a través de la expansión en el método de redimensionamiento de imagen de acuerdo con una realización de la presente invención.
[0025] La figura 9 es un diagrama de ejemplo de un método de construcción de una región a eliminar y una región a generar en el método de redimensionamiento de imagen de acuerdo con una realización de la presente invención. La figura 10 es un diagrama de ejemplo de reconstrucción de imagen de acuerdo con una realización de la presente invención.
[0026] La figura 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.
[0027] La figura 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.
[0028] La figura 13 es un diagrama de ejemplo de un conjunto de redimensionamientos o ajustes de una unidad de partición en una imagen.
[0029] La figura 14 es un diagrama de ejemplo en el que se representa tanto un proceso de redimensionamiento de una imagen como un proceso de redimensionamiento de unidades de partición en una imagen.
[0030] La figura 15 es un diagrama de ejemplo que muestra un espacio plano bidimensional (2D) y un espacio tridimensional (3D) que muestra una imagen 3D.
[0031] Las figuras 16A a 16D son diagramas conceptuales que ilustran un formato de proyección de acuerdo con una realización de la presente invención.
[0032] La figura 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.
[0033] La figura 18 es un diagrama conceptual de un método de conversión de un formato de proyección en una forma rectangular, es decir, un método para realizar una reorganización en una cara para excluir una región sin significado de acuerdo con una realización de la presente invención.
[0034] La figura 19 es un diagrama conceptual que muestra que se realiza un proceso de empaquetado por regiones para convertir un formato de proyección de CMP en una imagen rectangular de acuerdo con una realización de la presente invención.
[0035] La figura 20 es un diagrama conceptual de partición de imagen de 360 grados de acuerdo con una realización de la presente invención.
[0036] La figura 21 es un diagrama de ejemplo de partición de imagen de 360 grados y reconstrucción de imagen de acuerdo con una realización de la presente invención.
[0037] La figura 22 es un diagrama de ejemplo en el que una imagen empaquetada o proyectada por CMP se particiona en mosaicos.
[0038] La figura 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.
[0039] La figura 24 es un diagrama conceptual que ilustra la continuidad entre caras en un formato de proyección (por ejemplo, CHP, OHP o ISP) de acuerdo con una realización de la presente invención.
[0040] La figura 25 es un diagrama conceptual que ilustra la continuidad de una cara de la sección 21C que es una imagen adquirida a través de un proceso de reconstrucción de imagen o un proceso de empaquetado por regiones en el formato de proyección de CMP.
[0041] La figura 26 es un diagrama de ejemplo que ilustra el redimensionamiento de imagen en el formato de proyección de CMP de acuerdo con una realización de la presente invención.
[0042] La figura 27 es un diagrama de ejemplo que ilustra el redimensionamiento de una imagen transformada y empaquetada en el formato de proyección de CMP de acuerdo con una realización de la presente invención. La figura 28 es un diagrama de ejemplo que ilustra un método de procesamiento de datos para el redimensionamiento de una imagen de 360 grados de acuerdo con una realización de la presente invención. La figura 29 es un diagrama de ejemplo que muestra una forma de bloque basada en árbol.
[0043] La figura 30 es un diagrama de ejemplo que muestra una forma de bloque basada en tipo.
[0044] La figura 31 es un diagrama de ejemplo que muestra diversos tipos de bloques que se pueden adquirir por una parte de partición de bloques de la presente invención.
[0045] La figura 32 es un diagrama de ejemplo que ilustra partición basada en árbol de acuerdo con una realización de la presente invención.
[0046] La figura 33 es un diagrama de ejemplo que ilustra partición basada en árbol de acuerdo con una realización de la presente invención.
[0047] La figura 34 es un diagrama de ejemplo que ilustra diversos casos en los que se obtiene un bloque de predicción a través de inter-predicción.
[0048] La figura 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.
[0049] La figura 36 es un diagrama conceptual que ilustra un modelo de movimiento de no traslación de acuerdo con una realización de la presente invención.
[0050] La figura 37 es un diagrama de ejemplo que ilustra estimación de movimiento en unidades de subbloques de acuerdo con una realización de la presente invención.
[0051] La figura 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.
[0052] La figura 39 es un diagrama de ejemplo que ilustra un bloque referenciado para predicción de información de movimiento de un bloque actual en un modelo de movimiento de no traslación de acuerdo con una realización de la presente invención.
[0053] La figura 40 es un diagrama de ejemplo que ilustra que se realiza inter-predicción usando una imagen expandida de acuerdo con una realización de la presente invención.
[0054] La figura 41 es un diagrama conceptual que ilustra la expansión de una unidad de cara de acuerdo con una realización de la presente invención.
[0055] La figura 42 es un diagrama de ejemplo que ilustra que se realiza inter-predicción usando una imagen expandida de acuerdo con una realización de la presente invención.
[0056] La figura 43 es un diagrama de ejemplo que ilustra que la inter-predicción se realiza usando una imagen de referencia expandida de acuerdo con una realización de la presente invención.
[0057] La figura 44 es un diagrama de ejemplo que ilustra la composición de un grupo de candidatos 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.
[0059] Mejor modo
[0061] La divulgación habilitante se proporciona por las figuras 7 y 8 con los correspondientes pasajes de la descripción. A menos que se divulguen detalles relativos a una o más de las características de las reivindicaciones, el resto de la descripción solo representa información de antecedentes y ejemplos adicionales - que no forman parte de la invención -, independientemente del hecho de que algunos de dichos ejemplos están etiquetados como "realizaciones y/o como "aspectos de la invención".
[0062] Por consiguiente, si bien la invención es susceptible de diversas modificaciones y formas alternativas, se muestran realizaciones específicas de la misma a modo de ejemplo en los dibujos y se describirán en detalle a continuación. Debe entenderse, sin embargo, que no se pretende limitar la invención a las formas particulares divulgadas. El alcance de la invención se define por las reivindicaciones adjuntas.
[0064] Se apreciará que, aunque los términos primero, segundo, etc., se pueden usar en el presente documento para describir diversos elementos, estos elementos no deberían estar limitados por estos términos. Estos términos se usan solo para distinguir un elemento de otro. Por ejemplo, un primer elemento se podría denominar segundo elemento y, de manera similar, un segundo elemento se podría denominar primer elemento, sin alejarse del alcance de la presente invención. Como se usa en el presente documento, la expresión "y/o" incluye todas y cada una de las combinaciones de uno o más de los elementos enumerados.
[0066] Se entenderá que, cuando se hace referencia a que un elemento está "conectado" o "acoplado" a otro elemento, puede estar conectado o acoplado directamente al otro elemento o pueden estar presentes elementos intermedios. En contraste, cuando se hace referencia a que un elemento está "conectado directamente" o "acoplado directamente" a otro elemento, no estarán presentes otros elementos intervinientes. Otras palabras usadas para describir la relación entre elementos deben interpretarse de manera similar (es decir, "entre" frente a "directamente entre", "adyacente" frente a "directamente adyacente", etc.).
[0068] La terminología usada en el presente documento es para el propósito de describir solo realizaciones particulares y no se pretende que sea limitante de la invención. Como se usa en el presente documento, las formas singulares "un/una" y "el/la" pretenden incluir 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 "que incluye", cuando se usan en el presente documento, especifican la presencia de características, elementos integrantes, etapas, operaciones, elementos y/o componentes indicados, pero no excluyen la presencia o adición de una o más otras características, elementos integrantes, etapas, operaciones, elementos, componentes y/o grupos de los mismos.
[0070] A menos que se defina lo contrario, todos los términos (incluyendo términos técnicos y científicos) usados en el presente documento tienen el mismo significado que se entiende comúnmente por un experto en la materia a la que pertenece esta invención. Se entenderá además que los términos, tales como los definidos en los diccionarios de uso común, deben interpretarse como que tienen un significado que es coincidente con su significado en el contexto de la técnica relevante y no se interpretarán en un sentido idealizado o demasiado formal a menos que se indique expresamente así definido en el presente documento.
[0072] Un aparato de codificación de imágenes y un aparato de descodificación de imágenes pueden ser cada uno un terminal de usuario tal como un ordenador personal (PC), un ordenador portátil, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), una PlayStation portátil (PSP), un 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 (HMD) y gafas inteligentes o un terminal de servidor tal como un servidor de aplicaciones y un servidor de servicios, y puede incluir diversos dispositivos que tienen un dispositivo de comunicación, tal como un módem de comunicación, para comunicarse con diversos equipos o redes de comunicación cableadas/inalámbricas, una memoria para almacenar diversos programas y datos usada para codificar o descodificar una imagen o realizar inter o intra-predicción para la codificación o descodificación, un procesador para ejecutar programas para realizar operaciones de cálculo y control, y así sucesivamente. Además, una imagen codificada en un flujo de bits por el aparato de codificación de imágenes se puede transmitir, en tiempo real o en tiempo no real, al aparato de descodificación de imágenes a través de una red de comunicación alámbrica/inalámbrica tal como Internet, una red inalámbrica de corto alcance una red de área local inalámbrica (LAN), una red WiBro, una red de comunicación móvil o a través de una diversidad de interfaces de comunicación tales como un cable, un bus serie universal (USB) o similares. A continuación, el flujo de bits se puede descodificar por el aparato de descodificación de imágenes para restaurarse y reproducirse como la imagen.
[0073] También, la imagen codificada en el flujo de bits por el aparato de codificación de imágenes se puede transferir desde el aparato de codificación de imágenes al aparato de descodificación de imágenes a través de un medio de grabación legible por ordenador.
[0074] El aparato de codificación de imágenes y el aparato de descodificación descritos anteriormente pueden ser aparatos separados, pero se pueden proporcionar como un aparato de codificación/descodificació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 descodificación de imágenes y se pueden implementar para incluir al menos las mismas estructuras o realizar las mismas funciones.
[0075] Por lo tanto, en la siguiente descripción detallada de elementos técnicos y sus principios de funcionamiento, se omitirá la descripción redundante de los correspondientes elementos técnicos.
[0076] También, el aparato de descodificación de imágenes corresponde a un aparato informático que aplica un método de codificación de imágenes realizado por el aparato de codificación de imágenes a un proceso de descodificación, y, por lo tanto, la siguiente descripción se centrará en el aparato de codificación de imágenes.
[0077] El aparato informático puede incluir una memoria configurada para almacenar un programa o un modo de software para implementar un método de codificación de imágenes y/o un método de descodificación de imágenes y un procesador conectado a la memoria para ejecutar el programa. También, el aparato de codificación de imágenes también se puede denominar como un codificador, y el aparato de descodificación de imágenes también se puede denominar como un descodificador.
[0078] En general, una imagen puede estar compuesta de una serie de imágenes fijas. Las imágenes fijas se pueden clasificar en unidades de grupos de fotos (GOP), y cada imagen fija se puede denominar como una foto. En este caso, la imagen puede indicar uno de un fotograma y un campo en una señal progresiva y una señal entrelazada. La imagen se puede representar como "fotograma" cuando se realiza la codificación/descodificación en una base de fotograma y se puede representar como "campo" cuando la codificación/descodificación se realiza en una base de campo. La presente invención supone una señal progresiva, pero también se puede aplicar a una señal entrelazada. Como un concepto superior, pueden existir unidades tales como un GOP y una secuencia, y también cada imagen se puede particionar en áreas predeterminadas tales como segmentos, mosaicos, bloques y similares. También, un GOP puede incluir unidades tales como imagen I, imagen P e imagen B. La imagen I puede hacer referencia a una imagen que se codifica/descodifica de forma autónoma sin usar una imagen de referencia, y la imagen P y la imagen B pueden hacer referencia a una imagen que se codifica/descodifica realizando un proceso tal como estimación de movimiento y compensación de movimiento usando una imagen de referencia. En general, la imagen P puede usar la imagen I y la imagen B como imágenes de referencia, y la imagen B puede usar la imagen I y la imagen P como imágenes de referencia. Sin embargo, las definiciones anteriores también se pueden cambiar mediante ajustes de codificación/descodificación.
[0079] En este caso, una imagen a la que se hace referencia en la codificación/descodificación se denomina una imagen de referencia, y un bloque o píxel al que se hace referencia en la codificación/descodificación se denomina un bloque de referencia o un píxel de referencia. También, los datos de referencia pueden incluir coeficientes del dominio de la frecuencia y diversos tipos de información de codificación/descodificación generada y determinada durante un proceso de codificación/descodificación, así como valores de píxel del 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 cuantificación en una parte de cuantificación/una parte de cuantificación inversa, información de codificación/descodificación (información de contexto) en una parte de codificación/una parte de descodificación, información de filtro en una parte de filtro en bucle y similares.
[0080] La unidad mínima de la imagen puede ser un píxel, y el número de bits usados para representar un píxel se denomina profundidad de bits. En general, la profundidad de bits puede ser de ocho bits, y se puede soportar una profundidad de bits de ocho o más bits dependiendo de los ajustes de codificación. Se puede soportar al menos una profundidad de bits dependiendo de un espacio de color. También, se puede incluir al menos un espacio de color de acuerdo con un formato de color de imagen. Se pueden incluir una o más imágenes que tienen el mismo tamaño o una o más imágenes que tienen diferentes tamaños 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 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 el ejemplo anterior, cuando se incluyen uno o más espacios de color, una imagen se puede particionar en los espacios de color.
[0082] La presente invención se describirá basándose en 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 (los ajustes dependen de un espacio de color específico). Sin embargo, se puede dar una diferencia parcial (ajustes independientes de un espacio de color específico) a cada espacio de color. Es decir, los ajustes que dependen de cada espacio de color se pueden referir a 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 se puede referir a ajustes de solo un espacio de color correspondiente, independientemente de o de manera independiente de la relación de composición de cada componente. En la presente invención, algunos elementos pueden tener ajustes independientes o ajustes dependientes dependiendo del codificador/descodificador.
[0084] La información de ajuste o elementos de sintaxis necesarios durante un proceso de codificación de imágenes se puede determinar a un nivel de unidades tales como un vídeo, una secuencia, una imagen, un segmento, un mosaico, un bloque y similares. Las unidades incluyen un conjunto de parámetros de vídeo (VPS), un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de imagen (PPS), un encabezado de segmento, un encabezado de mosaico y un encabezado de bloque. Un codificador puede añadir las unidades a un flujo de bits y enviar el flujo de bits a un descodificador. El descodificador puede analizar el flujo de bits al mismo nivel, restaurar la información de configuración enviada por el codificador, y usar la información de configuración en un proceso de descodificación de imágenes. También, la información relacionada se puede transmitir a través de un flujo de bits en forma de información de mejora complementaria (SEI) o metadatos, y, a continuación, se puede analizar y a continuación usar. Cada conjunto de parámetros tiene un valor de ID único, y un conjunto de parámetros inferior puede tener un valor de ID de un conjunto de parámetros superior al que hacer referencia. Por ejemplo, un conjunto de parámetros inferior se puede referir a información de un conjunto de parámetros superior que tiene un valor de ID correspondiente entre uno o más conjuntos de parámetros superiores. Entre diversos ejemplos de las unidades descritas anteriormente, cuando una unidad cualquiera incluye una o más unidades diferentes, la unidad cualquiera se puede denominar unidad superior, y las unidades incluidas se pueden denominar unidad inferior.
[0086] La información de ajuste que ha tenido lugar en una unidad de este tipo puede incluir ajustes independientes de cada unidad o ajustes dependientes de una unidad anterior, siguiente o superior. En este caso, se entenderá que los ajustes dependientes indican información de ajuste de una unidad correspondiente usando información de bandera correspondiente a 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 se puede incluir 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ñade a, o sustituye, los ajustes independientes.
[0088] La figura 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. La figura 2 es un diagrama de bloques de un aparato de descodificación de imágenes de acuerdo con una realización de la presente invención.
[0090] Haciendo referencia a la figura 1, el aparato de codificación de imágenes se puede configurar para incluir una parte de predicción, un restador, 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 se pueden incluir selectivamente dependiendo de la implementación, y se pueden incluir algunos elementos adicionales que no se muestran en el presente documento.
[0092] Haciendo referencia a la figura 2, el aparato de descodificación de imágenes se puede configurar para incluir una parte de descodificació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 se pueden no incluir necesariamente. Algunos o todos los elementos se pueden incluir selectivamente dependiendo de la implementación, y se pueden incluir algunos elementos adicionales que no se muestran en el presente documento.
[0094] El aparato de codificación y el aparato de descodificación de imágenes pueden ser aparatos separados, pero se pueden proporcionar como un aparato de codificación/descodificación de imágenes 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 descodificación de imágenes y se pueden implementar para incluir al menos las mismas estructuras o realizar las mismas funciones. Por lo tanto, en la siguiente descripción detallada de elementos técnicos y sus principios de funcionamiento, se omitirá la descripción redundante de los correspondientes elementos técnicos. El aparato de descodificación de imágenes corresponde a un aparato informático que aplica un método de codificación de imágenes realizado por el aparato de codificación de imágenes a un proceso de descodificación, y, por lo tanto, 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 se puede denominar como un codificador, y el aparato de descodificación de imágenes también se puede denominar como un descodificador.
[0095] La parte de predicción se puede implementar usando un módulo de predicción y puede generar un bloque de predicción realizando intra-predicción o inter-predicción en un bloque a codificar. La parte de predicción genera el bloque de predicción prediciendo un bloque actual a codificar en una imagen. En otras palabras, la parte de predicción puede predecir valores de píxel de 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 tiene valores de píxel predichos de los píxeles. También, la parte de predicción puede entregar información necesaria para generar el bloque de predicción a la parte de codificación de modo que se codifica información de modo de predicción. La parte de codificación añade información correspondiente a un flujo de bits y transmite el flujo de bits al descodificador. La parte de descodificación del descodificador puede analizar la información correspondiente, restaurar la información de modo de predicción y, a continuación, usar la información de modo de predicción para realizar intra-predicción o inter-predicción.
[0096] El sustractor resta el bloque de predicción del bloque actual para generar un bloque residual. En otras palabras, el restador 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 de bloque.
[0097] La parte de transformación puede transformar una señal que pertenece a un dominio espacial en una señal que pertenece a un dominio de la frecuencia. En este caso, una señal adquirida a través del proceso de transformación se denomina coeficiente transformado. Por ejemplo, el bloque residual con la señal residual entregada desde el restador se puede transformar en un bloque de transformación con un coeficiente transformado. En este caso, se determina una señal de entrada de acuerdo con ajustes de codificación y no se limita a la señal residual.
[0098] La parte de transformación puede realizar la transformación en el bloque residual usando una técnica de transformación tal como transformada de Hadamard, transformación basada en transformada de seno discreta (DST) y transformación basada en transformada de coseno discreta (DCT). Sin embargo, la presente invención no se limita a lo mismo, y se pueden usar diversas técnicas de transformación mejoradas y modificadas.
[0099] Por ejemplo, se puede soportar al menos una de las técnicas de transformación, y se puede soportar al menos una técnica de transformación detallada 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 manera diferente en cada técnica de transformación. Por ejemplo, como técnicas de transformación, se pueden soportar transformación basada en DST y transformación basada en DCT. Se pueden soportar técnicas de transformación detalladas tales como DST-I, DST-II, DST-III, DST-V, DST-VI, DST-VII y DST-VIII para DST, y se pueden soportar técnicas de transformación detalladas tales como DCT-I, DCT -II, DCT-III, DCT-V, DCT-VI, DCT-VII y DCT-VIII para DCT.
[0100] Una de las técnicas de transformación se puede establecer como una técnica de transformación por defecto (por ejemplo, una técnica de transformación && una técnica de transformación detallada), y se pueden soportar técnicas de transformación adicionales (por ejemplo, una pluralidad de técnicas de transformación ∥ una pluralidad de técnicas de transformación detallada). Se puede determinar si soportar una técnica de transformación adicional en unidades de secuencias, imágenes, segmentos o mosaicos, y se puede generar información relacionada de acuerdo con las unidades. Cuando se soporta una técnica de transformación adicional, se puede determinar información de selección de técnica de transformación en unidades de bloque, y se puede generar información relacionada.
[0101] La transformación se puede realizar horizontal y/o verticalmente. Por ejemplo, la transformación bidimensional (2D) se realiza realizando horizontal y verticalmente una transformación unidimensional (1D) usando un vector base de modo que un valor de píxel en un dominio espacial se puede transformar en un dominio de la frecuencia.
[0102] También, la transformación se puede realizar horizontal y/o verticalmente de una manera adaptativa. En detalle, si realizar la transformación de la manera adaptativa se puede determinar de acuerdo con al menos un ajuste de codificación. Para la intra-predicción, por ejemplo, se puede aplicar DCT-I horizontalmente y se puede aplicar DST-I verticalmente cuando el modo de predicción es un modo horizontal, se puede aplicar DST-VI horizontalmente y se puede aplicar DCT-VI verticalmente cuando el modelo de predicción es un modo vertical, se puede aplicar DCT-II horizontalmente y se puede aplicar DCT-V verticalmente cuando el modo de predicción es diagonal abajo a la izquierda, y se puede aplicar DST-I horizontalmente y se puede aplicar DST-VI verticalmente cuando el modo de predicción es diagonal abajo a la derecha.
[0103] Los tamaños y formas de bloques de transformación se pueden determinar de acuerdo con costes de codificación para candidatos del tamaño y forma de los bloques de transformación. Se pueden codificar datos de imagen de los bloques de transformación e información con respecto a los tamaños y formas determinados de los bloques de transformación.
[0104] Entre las formas de transformación, la transformación cuadrada se puede establecer como una forma de transformación por defecto, y se puede soportar una forma de transformación adicional (por ejemplo, una forma rectangular). Se puede determinar si soportar una forma de transformación adicional en unidades de secuencias, imágenes, segmentos o mosaicos, y se puede generar información relacionada de acuerdo con las unidades. La información de selección de forma de transformación se puede determinar en unidades de bloque, y se puede generar información relacionada.
[0105] También, se puede determinar si soportar una forma de bloque de transformación de acuerdo con información de codificación. En este caso, la información de codificación puede corresponder a un tipo de segmento, un modo de codificación, el tamaño y la forma de un bloque, un esquema de partición de bloques, etc. Es decir, se puede soportar una forma de transformación de acuerdo con al menos una pieza de información de codificación, y se puede soportar una pluralidad de formas de transformación de acuerdo con al menos una pieza de información de codificación. El primer caso puede ser una situación implícita, y el último caso puede ser una situación explícita. Para la situación explícita, la información de selección adaptativa que indica un grupo de candidatos óptimo seleccionado de entre una pluralidad de grupos de candidatos se puede generar y añadir a un flujo de bits. De acuerdo con la presente invención, además de este ejemplo, se entenderá que, cuando se genera explícitamente información de codificación, la información se añade a un flujo de bits en diversas unidades y la información relacionada se analiza en diversas unidades y se restaura en información de descodificación por el descodificador. También, se entenderá que cuando se procesa implícitamente información de codificación/descodificación, el procesamiento se realiza a través del mismo proceso, regla y similares por el codificador y descodificador.
[0106] Como un ejemplo, el soporte de la transformación rectangular se puede determinar de acuerdo con un tipo de segmento. Una forma de transformación soportada para segmento I puede ser transformación cuadrada, y una forma de transformación soportada para segmento P/B puede ser transformación cuadrada o rectangular.
[0107] Como un ejemplo, el soporte de la transformación rectangular se puede determinar de acuerdo con un modo de codificación. Una forma de transformación soportada para intra-predicción puede ser transformación cuadrada, y una forma de transformación soportada para inter-predicción puede ser transformación cuadrada y/o transformación rectangular.
[0108] Como un ejemplo, el soporte de la transformación rectangular se puede determinar de acuerdo con el 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.
[0109] Como un ejemplo, el soporte de la transformación rectangular se puede determinar de acuerdo con un esquema de partición de bloques. Cuando un bloque a transformar es un bloque adquirido a través de un esquema de partición de árbol cuádruple, la forma de transformación soportada puede ser transformación cuadrada. Cuando un bloque a transformar es un bloque adquirido a través de un esquema de partición de árbol binario, la forma de transformación soportada puede ser transformación cuadrada o transformación rectangular.
[0110] 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 ajustes de soporte de forma de transformación adicionales en combinación. El ejemplo anterior es simplemente un ejemplo del soporte de forma de transformación adicional de acuerdo con diversos ajustes de codificación. Sin embargo, la presente invención no se limita a lo mismo, y se pueden realizar diversas modificaciones a la misma.
[0111] El proceso de transformación se puede omitir de acuerdo con ajustes de codificación o características de imagen. Por ejemplo, el proceso de transformación (incluyendo el proceso inverso) se puede omitir de acuerdo con ajustes de codificación (por ejemplo, en este ejemplo, se supone un entorno de compresión sin pérdidas). Como otro ejemplo, el proceso de transformación se puede omitir cuando no se muestra el rendimiento de compresión a través de la transformación de acuerdo con las características de la imagen. En este caso, la transformación se puede omitir para todas las unidades o una de la unidad horizontal y la unidad vertical. Si soportar la omisión se puede determinar de acuerdo con el tamaño y la forma de un bloque.
[0112] Por ejemplo, se supone que la transformación horizontal y la transformación vertical se establecen para omitirse conjuntamente. La transformación se puede realizar ni horizontal ni verticalmente cuando una bandera de omisión de transformación es 1, y la transformación se puede realizar tanto horizontal como verticalmente cuando la bandera de omisión de transformación es 0. Por otra parte, se supone que la transformación horizontal y la transformación vertical se establecen para omitirse independientemente. La transformación horizontal no se realiza cuando una primera bandera de omisión de transformación es 1, y la transformación horizontal se realiza cuando la primera bandera de omisión de transformación es 0. A continuación, la transformación vertical no se realiza cuando una segunda bandera de omisión de transformación es 1, y la transformación vertical se realiza cuando la segunda bandera de omisión de transformación es 0.
[0113] La omisión de la transformación se puede soportar cuando el tamaño de un bloque corresponde a un intervalo A, y la omisión de la transformación se puede no soportar 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, no se puede soportar la bandera de omisión de transformación. Cuando la anchura de un bloque es menor que m o la altura de un bloque es menor que n, se puede soportar la bandera de omisión de transformación. M(m) y N(n) pueden ser iguales o diferentes entre sí. Los ajustes asociados con la transformación se pueden determinar en unidades de secuencias, imágenes, segmentos o similares.
[0114] Cuando se soporta una técnica de transformación adicional, se puede determinar un ajuste de técnica de transformación de acuerdo con al menos una pieza de información de codificación. En este caso, la información de codificación puede corresponder a un tipo de segmento, un modo de codificación, el tamaño y la forma de un bloque, un modo de predicción, etc.
[0115] Como un ejemplo, el soporte de la técnica de transformación se puede determinar de acuerdo con el modo de codificación. La técnica de transformación soportada para la intra-predicción puede incluir DCT-I, DCT-III, DCT-VI, DST-II y DST-III, y la técnica de transformación soportada para la inter-predicción puede incluir DCT-II, DCT-III y DST-III.
[0116] Como un ejemplo, el soporte de la técnica de transformación se puede determinar de acuerdo con el tipo de segmento. La técnica de transformación soportada para el segmento I puede incluir DCT-I, DCT-II y DCT-III, la técnica de transformación soportada para el segmento P puede incluir DCT-V, DST-V y DST-VI, y la técnica de transformación soportada para el segmento B puede incluir DCT-I, DCT-II y DST-III.
[0117] Como un ejemplo, el soporte de la técnica de transformación se puede determinar de acuerdo con el modo de predicción. La técnica de transformación soportada por un modo de predicción A puede incluir DCT-I y DCT-II, la técnica de transformación soportada por un modo de predicción B puede incluir DCT-I y DST-I, y la técnica de transformación soportada por un modo de predicción C puede incluir DCT-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.
[0118] Como un ejemplo, el soporte de la técnica de transformación se puede determinar de acuerdo con el 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 DCT-II, la técnica de transformación soportada por un bloque de menos de un cierto tamaño puede incluir DCT-II y DST-V, y la técnica de transformación soportada por un bloque de un cierto tamaño o mayor y menor que un cierto tamaño puede incluir DCT-I, DCT-II y DST-I. También, la técnica de transformación soportada en una forma de forma cuadrada puede incluir DCT-I y DCT-II, y la técnica de transformación soportada en una forma rectangular puede incluir DCT-I y DST-I.
[0119] 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 ajustes de soporte de técnica de transformación adicionales en combinación. La presente invención no se limita al ejemplo anterior, y se pueden realizar modificaciones al mismo. También, la parte de transformación puede entregar información necesaria para generar un bloque de transformación a la parte de codificación de modo que se codifica la información. La parte de codificación añade información correspondiente a un flujo de bits y transmite el flujo de bits al descodificador. La parte de descodificación del descodificador puede analizar la información y usar la información analizada en el proceso de transformación inversa.
[0120] La parte de cuantificación puede cuantificar señales de entrada. En este caso, una señal adquirida a través del proceso de cuantificación se denomina coeficiente cuantificado. Por ejemplo, la parte de cuantificación puede cuantificar un bloque residual con un coeficiente de transformación residual entregado desde la parte de transformación y, por lo tanto, adquirir un bloque de cuantificación con un coeficiente de cuantificación. En este caso, la señal de entrada se determina de acuerdo con ajustes de codificación y no se limita al coeficiente de transformación residual.
[0121] 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 lo mismo, y se pueden usar diversas técnicas de cuantificación que se mejoran y modifican. Se puede determinar si soportar una técnica de cuantificación adicional en unidades de secuencias, imágenes, segmentos o mosaicos, y se puede generar información relacionada de acuerdo con las unidades. Cuando se soporta una técnica de cuantificación adicional, se puede determinar información de selección de técnica de cuantificación en unidades de bloque, y se puede generar información relacionada.
[0122] Cuando se soporta una técnica de cuantificación adicional, se puede determinar un ajuste de técnica de cuantificación de acuerdo con al menos una pieza de información de codificación. En este caso, la información de codificación puede corresponder a un tipo de segmento, un modo de codificación, el tamaño y la forma de un bloque, un modo de predicción, etc.
[0123] Por ejemplo, la parte de cuantificación puede establecer de manera diferente una matriz ponderada de cuantificación que corresponde a un modo de codificación y una matriz ponderada aplicada de acuerdo con la inter-predicción/intrapredicción. También, la parte de cuantificación puede establecer de manera diferente una matriz ponderada aplicada de acuerdo con un modo de intra-predicción. En este caso, cuando se supone que la matriz ponderada de cuantificación tiene un tamaño de M × N, que es el mismo que el tamaño del bloque de cuantificación, la matriz ponderada de cuantificación puede ser una matriz de cuantificación en la que algunos componentes de cuantificación se construyen de manera diferente.
[0125] El proceso de cuantificación se puede omitir de acuerdo con ajustes de codificación o características de imagen. Por ejemplo, el proceso de cuantificación (incluyendo el proceso inverso) se puede omitir de acuerdo con ajustes de codificación (por ejemplo, en este ejemplo, se supone un entorno de compresión sin pérdidas). Como otro ejemplo, el proceso de cuantificación se puede omitir cuando no se muestra el rendimiento de compresión a través de la cuantificación de acuerdo con las características de la imagen. En este caso, se pueden omitir algunas o todas las regiones, y se puede determinar si soportar la omisión de acuerdo con el tamaño y la forma de un bloque.
[0127] La información con respecto a parámetros de cuantificación (QP) se puede generar en unidades de secuencias, imágenes, segmentos, mosaicos o bloques. Por ejemplo, un QP predeterminado se puede establecer en una unidad superior en la que la información de QP se genera en primer lugar <1>, y un QP se puede establecer a un valor que es el mismo o diferente del QP establecido en la unidad superior. En el proceso de cuantificación realizado en algunas unidades a través del proceso, se puede determinar finalmente el QP. En este caso, la unidad tal como una secuencia y una imagen puede ser un ejemplo correspondiente a <1>, la unidad tal como un segmento, un mosaico y un bloque puede ser un ejemplo correspondiente a <2>, y la unidad tal como un bloque puede ser un ejemplo correspondiente a <3>.
[0129] La información con respecto al QP se puede generar basándose en un QP en cada unidad. Como alternativa, se puede establecer un QP predeterminado como un valor predicho, y se puede generar información con respecto a diferencias de los QP en las unidades. Como alternativa, un QP adquirido basándose en al menos uno de un conjunto de QP en una unidad superior, un conjunto de QP en la misma unidad y anterior, o un conjunto de QP en una unidad vecina se puede establecer como un valor predicho, y se puede generar información con respecto a una diferencia a partir de un QP en la unidad actual. Como alternativa, un QP establecido en una unidad superior y un QP adquirido basándose en al menos una pieza de información de codificación se pueden establecer como valores predichos, y se puede generar información de diferencia del QP en la unidad actual. En este caso, la misma unidad y la anterior pueden ser una unidad que se puede definir 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 segmento, un modo de codificación, un modo de predicción, información de ubicación, etc. de una unidad correspondiente.
[0131] Como un ejemplo, el QP en la unidad actual se puede usar para establecer el QP en la unidad superior como un valor predicho y generar información de diferencia. Se puede generar información con respecto a una diferencia entre un conjunto de QP en un segmento y un conjunto de QP en una imagen, o se puede generar información con respecto a una diferencia entre un conjunto de QP en un mosaico y un conjunto de QP en una imagen. También, se puede generar información con respecto a una diferencia entre un conjunto de QP en un bloque y el conjunto de QP en el segmento o mosaico. También, se puede generar información con respecto a una diferencia entre un conjunto de QP en un subbloque y el conjunto de QP en el bloque.
[0133] Como un ejemplo, el QP en la unidad actual se puede usar para establecer un QP adquirido basándose en un QP en al menos una unidad vecina o un QP en al menos una unidad anterior como un valor predicho y generar información de diferencia. Se puede generar información con respecto a una diferencia de un QP adquirido basándose en un QP 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. Como alternativa, se puede generar información con respecto a una diferencia de un QP de una imagen codificada antes de la imagen actual.
[0135] Como un ejemplo, el QP en la unidad actual se puede usar para establecer un QP en una unidad superior y un QP adquirido basándose en al menos una pieza de información de codificación como valores predichos y generar información de diferencia. También, se puede generar información con respecto a una diferencia entre el QP en el bloque actual y un QP de un segmento corregido de acuerdo con un tipo de segmento (I/P/B). Como alternativa, se puede generar información con respecto a una diferencia entre el QP en el bloque actual y un QP de un mosaico corregida de acuerdo con el modo de codificación (intra/inter). Como alternativa, se puede generar información con respecto a una diferencia entre el QP en el bloque actual y un QP de una imagen corregida de acuerdo con el modo de predicción (direccionalidad/no direccionalidad). Como alternativa, se puede generar información con respecto a una diferencia entre el QP en el bloque actual y un QP de una imagen corregida de acuerdo con la información de ubicación (x/y). En este caso, la corrección se puede referir a una operación de añadir o restar un desplazamiento a o desde un QP en una unidad superior usada para predicción. En este caso, se puede soportar al menos una pieza de información de desplazamiento de acuerdo con ajustes de codificación, y se puede generar información que se procesa implícitamente o se asocia explícitamente de acuerdo con un proceso predeterminado. La presente invención no se limita al ejemplo anterior, y se pueden realizar modificaciones al mismo.
[0137] El ejemplo anterior puede ser un ejemplo que se permite cuando se proporciona o activa una señal que indica variación de QP. Por ejemplo, cuando la señal que indica variación de QP no se proporciona ni se activa, la información de diferencia no se genera, y el QP predicho se puede determinar como un QP en cada unidad. Como otro ejemplo, cuando se proporciona o activa la señal que indica variación de QP, se genera la información de diferencia, y el QP predicho se puede determinar como un QP en cada unidad cuando la información de diferencia tiene un valor de 0. La parte de cuantificación puede entregar información necesaria para generar un bloque de cuantificación a la parte de codificación de modo que se codifique la información. La parte de codificación añade información correspondiente a un flujo de bits y transmite el flujo de bits al descodificador. La parte de descodificación del descodificador puede analizar la información y usar la información analizada en el proceso de cuantificación inversa.
[0138] El ejemplo anterior se ha descrito bajo la suposición de que un bloque residual se transforma y cuantifica a través de la parte de transformación y la parte de cuantificación. Sin embargo, una señal residual del bloque residual se puede transformar en un bloque residual con una transformación eficiente mientras no se realiza el proceso de cuantificación. Como alternativa, únicamente se puede realizar el proceso de cuantificación mientras la señal residual del bloque residual no se transforma en un coeficiente de transformación. Como alternativa, no se puede realizar ni el proceso de transformación ni el proceso de cuantificación. Esto se puede determinar de acuerdo con los ajustes de codificación. La parte de codificación puede explorar 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 exploración (por ejemplo, exploración en zigzag, exploración vertical, exploración horizontal, etc.), generar una cadena de coeficientes de cuantificación, una cadena de coeficientes de transformación, o una cadena de señales, y codificar la cadena de coeficientes de cuantificación, la cadena de coeficientes de transformación o la cadena de señales usando al menos una técnica de codificación por entropía. En este caso, la información con respecto al orden de exploración se puede determinar de acuerdo con ajustes de codificación (por ejemplo, un modo de codificación, un modo de predicción, etc.) y se puede usar para generar información que se determina implícitamente o se asocia explícitamente. Por ejemplo, se puede seleccionar un orden de exploración de entre una pluralidad de órdenes de exploración de acuerdo con el modo de intra-predicción. También, la parte de codificación puede generar datos de codificación que incluyen información de codificación entregada desde cada elemento y puede emitir los datos de codificación en un flujo de bits. Esto se puede implementar con un multiplexor (MUX). En este caso, la codificación se puede realizar usando un método tal como Golomb Exponencial, Codificación de Longitud Variable Adaptativa al Contexto (CAVLC) y Codificación Aritmética Binaria Adaptativa al Contexto (CABAC) como una técnica de codificación. Sin embargo, la presente invención no se limita a lo mismo, y se pueden usar diversas técnicas de codificación obtenidas mejorando y modificando las técnicas de codificación anteriores.
[0139] Cuando se realiza la codificación por entropía (por ejemplo, CABAC en este ejemplo) en un elemento de sintaxis tal como información generada a través de un proceso de codificación/descodificación y los datos de bloque residuales, un aparato de codificación por entropía puede incluir un binarizador, un modelador de contexto y un codificador de aritmética binaria. En este caso, el codificador aritmético binario puede incluir un motor de codificación normal y un motor de codificación de derivación.
[0140] Una entrada de elemento de sintaxis al aparato de codificación por entropía puede no ser un valor binario. Por lo tanto, cuando los elementos de sintaxis no son valores binarios, el binarizador puede binarizar los elementos de sintaxis y emitir una cadena de binarios compuesta de 0 o 1. En este caso, un binario representa un bit compuesto por 0 o 1 y se puede codificar a través del codificador aritmético binario. En este caso, uno del motor de codificación normal y el motor de codificación de derivación se puede seleccionar basándose en la probabilidad de ocurrencia de 0 y 1 y esto se puede determinar de acuerdo con ajustes de codificación/descodificación. Cuando un elemento de sintaxis son datos que tienen la frecuencia de 0 igual a la frecuencia de 1, se puede usar el motor de codificación de derivación; de lo contrario, se puede usar el motor de codificación normal.
[0141] Cuando se binariza el elemento de sintaxis, se pueden usar diversos métodos. Por ejemplo, se pueden usar binarización de longitud fija, binarización unaria, binarización de Rice truncada, binarización Exp-Golomb K-ésima y similares. También, se puede realizar binarización con signo o binarización sin signo dependiendo del intervalo del valor del elemento de sintaxis. El proceso de binarización para los elementos de sintaxis de acuerdo con la presente invención puede incluir un método de binarización adicional, así como la binarización descrita en el ejemplo anterior. La parte de cuantificación inversa y la parte de transformación inversa se pueden implementar realizando a la inversa los procesos realizados en la parte de transformación y la parte de cuantificación. Por ejemplo, la parte de cuantificación inversa puede cuantificar a la inversa un coeficiente de transformación cuantificado por la parte de cuantificación, y la parte de transformación inversa puede transformar a la inversa el coeficiente de transformación cuantificado a la inversa para generar un bloque residual restaurado.
[0142] El sumador añade el bloque de predicción y el bloque residual restaurado para restaurar un bloque actual. El bloque restaurado se puede almacenar en la memoria y se puede usar como datos de referencia (para la parte de predicción, la parte de filtro, etc.).
[0143] La parte de filtro en bucle puede realizar adicionalmente un proceso de filtrado de posprocesamiento de uno o más de un filtro de desbloqueo, un desplazamiento adaptativo de muestra (SAO), un filtro de bucle adaptativo (ALF) y similares. El filtro de desbloqueo puede retirar la distorsión de bloques generada en el límite entre bloques de una imagen restaurada. El filtro de ALF puede realizar el filtrado basándose en un valor obtenido al comparar una imagen de entrada con una imagen restaurada. En detalle, el ALF puede realizar el filtrado basándose en un valor obtenido comparando una imagen de entrada con una imagen restaurada después de que se filtre un bloque a través del filtro de desbloqueo. Como alternativa, el ALF puede realizar el filtrado basándose en un valor obtenido comparando una imagen de entrada con una imagen restaurada después de que se filtre un bloque a través del SAO. El SAO puede restaurar una diferencia de desplazamiento basándose en un valor obtenido comparando una imagen de entrada con una imagen restaurada y se puede aplicar en forma de desplazamiento de banda (BO), desplazamiento de borde (EO) y similares. En detalle, el SAO puede añadir un desplazamiento contra 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 se puede aplicar en forma de BO, EO y similares. En detalle, el SAO puede añadir un desplazamiento contra una imagen original a una imagen restaurada después de que se filtra un bloque a través del ALF en unidades de píxel y se puede aplicar en forma de BO, EO y similares.
[0145] Como información de filtrado, se puede generar información de ajuste con respecto a si soportar cada filtro de posprocesamiento en unidades de secuencias, imágenes, segmentos, mosaicos o similares. También, la información de ajuste con respecto a si ejecutar cada filtro de posprocesamiento se puede generar en unidades de imágenes, segmentos, mosaicos, bloques o similares. El intervalo en el que se realiza el filtro se puede clasificar en el interior de una imagen y el límite de una imagen. Se puede generar la información de ajuste considerando la clasificación. También, la información con respecto a la operación de filtrado se puede generar en unidades de imágenes, segmentos, mosaicos, bloques o similares. La información se puede procesar implícita o explícitamente, y se puede aplicar un proceso de filtrado independiente o un proceso de filtrado dependiente al filtrado dependiendo de un componente de color, y esto se puede determinar de acuerdo con ajustes de codificación. La parte de filtro en bucle puede entregar la información de filtrado a la parte de codificación de modo que se codifica la información. La parte de codificación añade información correspondiente a un flujo de bits y transmite el flujo de bits al descodificador. La parte de descodificación del descodificador puede analizar la información y aplicar la información analizada a la parte de filtro en bucle.
[0147] La memoria puede almacenar el bloque o imagen restaurada. El bloque o imagen restaurada almacenada en la memoria se puede proporcionar a la parte de predicción, que realiza intra-predicción o inter-predicción. En detalle, para el procesamiento, un espacio en el que se almacena un flujo de bits comprimido por un codificador en forma de colas se puede establecer como una memoria intermedia de imágenes codificadas (CPB), y un espacio en el que se almacena la imagen descodificada en unidades de imagen se puede establecer como una memoria intermedia de imágenes descodificadas (DPB). La CPB puede almacenar las partes de descodificación en el orden de descodificación, emular la operación de descodificación en el codificador, y almacenar el flujo de bits comprimido a través del proceso de emulación. El flujo de bits emitido desde la CPB se restaura a través del proceso de descodificación, y la imagen restaurada se almacena en la DPB, y las imágenes almacenadas en la DPB se pueden referenciar durante un proceso de codificación/descodificación de imágenes.
[0149] La parte de descodificación se puede implementar realizando de manera inversa el proceso de la parte de codificación. Por ejemplo, la parte de descodificación puede recibir una cadena de coeficientes de cuantificación, una cadena de coeficientes de transformación o una cadena de señales del flujo de bits, descodificar la cadena, analizar datos de descodificación que incluyen información de descodificación, y entregar los datos de descodificación analizados a cada elemento.
[0151] A continuación, se describirá un proceso de ajuste de imagen aplicado al aparato de codificación/descodificación de imágenes de acuerdo con una realización de la presente invención. Este es un ejemplo (ajustes de imagen iniciales) aplicado antes de la codificación/descodificación, pero algunos procesos pueden ser ejemplos a aplicar a las otras etapas (por ejemplo, etapas después de la codificación/descodificación o subetapas de la codificación/descodificación). El proceso de ajuste de imagen se puede realizar teniendo en cuenta los entornos de red y de usuario tales como características de contenido multimedia, anchos de banda, rendimiento de terminal de usuario y accesibilidad. Por ejemplo, la partición de imágenes, el redimensionamiento de imágenes, la reconstrucción de imagen y similares se pueden realizar de acuerdo con ajustes de codificación/descodificación. La siguiente descripción del proceso de ajuste de imagen se centra en una imagen rectangular. Sin embargo, la presente invención no se limita a la misma, y el proceso de ajuste de imagen se puede aplicar a imágenes poligonales. Se pueden aplicar los mismos ajustes de imagen independientemente de la forma de imagen o diferentes ajustes de imagen, que se pueden determinar de acuerdo con ajustes de codificación/descodificación. Por ejemplo, después de que se comprueba información con respecto a la forma de imagen (por ejemplo, una forma rectangular o una forma no rectangular), se puede construir información con respecto a ajustes de imagen correspondientes.
[0153] El siguiente ejemplo se describirá bajo la suposición de que se proporcionan ajustes dependientes a un espacio de color. Sin embargo, se pueden proporcionar ajustes independientes al espacio de color. También, en el siguiente ejemplo, los ajustes independientes pueden incluir proporcionar independientemente ajustes de codificación/descodificación a cada espacio de color. Aunque se describe un espacio de color, se supone que se incluye un ejemplo en el que se aplica la descripción a otro espacio de color (por ejemplo, un ejemplo en el que se genera N en el componente de crominancia cuando se genera M en el componente de luminancia), y esto se puede derivar. 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 se aplica la descripción a cada espacio de color, y esto se puede derivar. Esta descripción no se limita al ejemplo anterior y se puede aplicar en común a la presente invención.
[0154] Algunas construcciones en el siguiente ejemplo se pueden aplicar a diversas técnicas de codificación tales como codificación de dominio espacial, codificación del dominio de la frecuencia, codificación basada en bloques, codificación basada en objetos y similares.
[0155] En general, una imagen de entrada se puede codificar o descodificar tal cual o después de la partición de imagen. Por ejemplo, la partición se puede realizar para robustez de errores o similares para evitar daños causados por pérdida de paquetes durante la transmisión. Como alternativa, la partición se puede realizar para clasificar regiones que tienen diferentes propiedades en la misma imagen de acuerdo con las características, tipo y similares de la imagen.
[0156] De acuerdo con la presente invención, el proceso de partición de imagen puede incluir un proceso de partición y un proceso de partición inversa. La siguiente descripción de ejemplo se centrará en el proceso de partición, pero el proceso de partición inversa se puede derivar a la inversa del proceso de partición.
[0157] La figura 3 es un diagrama de ejemplo en el que la información de imagen se particiona en capas para comprimir una imagen.
[0158] La sección 3A es un diagrama de ejemplo en el que una secuencia de imágenes se compone de una pluralidad de GOP. También, un GOP 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 segmentos, mosaicos y similares, como se muestra en la sección 3C. Un segmento, mosaico 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 a aplicar a una unidad tal como una imagen, un segmento y un mosaico, como se muestra en las secciones 3B y 3C.
[0159] La figura 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.
[0160] La sección 4A es un diagrama conceptual en el que una imagen (por ejemplo, una foto) se particiona lateral y longitudinalmente a intervalos regulares. Una región particionada se puede denominar un bloque. Cada bloque puede ser una parte de codificación por defecto (o una parte de codificación máxima) adquirida a través de una parte de partición de imagen y puede ser una unidad básica a aplicar a una unidad de partición, que se describirá a continuación.
[0161] La sección 4B es un diagrama conceptual en el que una imagen se particiona en al menos una dirección seleccionada de una dirección lateral y una dirección longitudinal. Las regiones particionadas T<0>a T<3>se pueden denominar mosaicos, y cada región se puede codificar o descodificar independientemente o de manera dependiente de las otras regiones.
[0162] La sección 4C es un diagrama conceptual en el que una imagen se particiona en grupos de bloques consecutivos. Las regiones particionadas S<0>y S<1>se pueden denominar segmentos, y cada región se puede codificar o descodificar independientemente o de manera dependiente de las otras regiones. Un grupo de bloques consecutivos se puede definir de acuerdo con un orden de exploración. En general, un grupo de bloques consecutivos se ajusta al orden de exploración de trama. Sin embargo, la presente invención no se limita a lo mismo, y se puede determinar un grupo de bloques consecutivos de acuerdo con ajustes de codificación/descodificación.
[0163] La sección 4D es un diagrama conceptual en el que una imagen se particiona en grupos de bloques de acuerdo con cualquier ajuste definido por el usuario. Las regiones particionadas A<0>a A<2>se pueden denominar particiones arbitrarias, y cada región se puede codificar o descodificar independientemente o de manera dependiente de las otras regiones.
[0164] La codificación/descodificación independiente puede indicar que cuando se codifican o descodifican algunas unidades (o regiones), no se pueden referenciar datos en otras unidades. En detalle, las piezas de información usadas o generadas durante la codificación de textura y la codificación por entropía para algunas unidades se pueden codificar independientemente sin referenciarse entre sí. Incluso en el descodificador, para la descodificación de textura y la descodificación por entropía para algunas unidades, la información de análisis y la información de restauración en otras unidades se pueden no referenciar entre sí. En este caso, si hacer referencia a datos en otras unidades (o regiones) puede estar limitado en una región espacial (por ejemplo, entre regiones en una imagen), pero también puede estar limitado en una región temporal (por ejemplo, entre imágenes consecutivas o entre fotogramas) de acuerdo con los ajustes de codificación/descodificació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.
[0165] También, la codificación/descodificación dependiente puede indicar que cuando se codifican o descodifican algunas unidades, se pueden referenciar datos en otras unidades. En detalle, las piezas de información usadas o generadas durante la codificación de textura y la codificación por entropía para algunas unidades se pueden codificar de manera dependiente junto con ser referenciados entre sí. Incluso en el descodificador, para la descodificación de textura y la descodificación por entropía para algunas unidades, la información de análisis y la información de restauración en otras unidades se pueden referenciar entre sí. Es decir, los ajustes anteriores pueden ser los mismos o similares a los de la codificación/descodificación general. En este caso, para identificar una región (en este caso, una cara <Cara> y similares generadas de acuerdo con un formato de proyección), la región se puede particionar de acuerdo con las características, el tipo y similares de la imagen (por ejemplo, una imagen de 360 grados).
[0166] En el ejemplo anterior, se pueden proporcionar ajustes de codificación/descodificación independientes (por ejemplo, segmentos de segmento independientes) a algunas unidades (un segmento, un mosaico y similares), y se pueden proporcionar ajustes de codificación/descodificación dependientes (por ejemplo, segmentos de segmento dependientes) a otras unidades. De acuerdo con la presente invención, la siguiente descripción se centrará en los ajustes de codificación/descodificación independientes.
[0167] 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 se puede dividir 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 forma soportados del bloque puede ser un cuadrado N × N (2<n>x2<n>; 256x256, 128x128, 64x64, 32x32, 16x16, 8x8, etc.; n es un número entero que varía de 3 a 8) que tiene una anchura y una altura representados como el exponente de 2 (2<n>) o un rectángulo M × N (2<m>x2<n>). Por ejemplo, una imagen de entrada se puede particionar en 128x128 para una imagen UHD de 8k, 64x64 para una imagen HD de 1080p o 16x16 para una imagen WVGA dependiendo de la resolución y se puede particionar en 256x256 para una imagen de 360 grados dependiendo del tipo de imagen. La parte de codificación por defecto se puede particionar en subunidades de codificación y a continuación codificarse o descodificarse. La información con respecto a la parte de codificación por defecto se puede añadir a un flujo de bits en unidades de secuencias, imágenes, segmentos, mosaicos o similares, y se puede analizar por el descodificador para restaurar información relacionada.
[0168] El método de codificación de imágenes y el método de descodificación de imágenes 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 imagen puede incluir una etapa de indicación de partición de imagen, una etapa de identificación de tipo de partición de imagen y una etapa de realización de partición de imagen. Además, el aparato de codificación de imágenes y el aparato de descodificación de imágenes se pueden configurar 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, se puede generar un elemento de sintaxis relacionado. Para la descodificación, se puede analizar un elemento de sintaxis relacionado. En el proceso de partición de bloques, como se muestra en la sección 4A, se puede omitir la parte de indicación de partición de imagen. La parte de identificación de tipo de partición de imagen puede comprobar información con respecto al tamaño y forma de un bloque, y la parte de partición de imagen puede realizar partición a través de información de tipo de partición identificada en las partes de codificación por defecto.
[0169] Un bloque puede ser una unidad a particionar siempre, pero si particionar las otras unidades de partición (un mosaico, un segmento y similares) se puede determinar de acuerdo con ajustes de codificación/descodificación. Como ajustes por defecto, la parte de partición de imagen puede realizar partición en unidades de bloque y a continuación realizar partición en otras unidades. En este caso, la partición de bloques se puede realizar basándose en un tamaño de imagen.
[0170] También, la partición se puede realizar en unidades de bloque después de realizarse en otras unidades (mosaicos, rebanadas o similares). Es decir, la partición de bloques se puede realizar basándose en el tamaño de una unidad de partición. Esto se puede determinar a través de procesamiento explícito o implícito de acuerdo con ajustes de codificación/descodificación. La siguiente descripción de ejemplo asume el primer caso y también se centrará en unidades distintas de bloques.
[0171] En la etapa de indicación de partición de imagen, se puede determinar si realizar partición de imagen. Por ejemplo, cuando se confirma una señal que indica partición de imagen (por ejemplo, tiles_enabled_flag), se puede realizar la partición. Cuando no se confirma la señal que indica la partición de imagen, la partición se puede no realizar, o la partición se puede realizar confirmando otra información de codificación/descodificación.
[0172] En detalle, se supone que se confirma la señal que indica partición de imagen (por ejemplo, tiles_enabled_flag).
[0173] Cuando se activa la señal (por ejemplo, tiles_enabled_flag = 1), la partición se puede realizar en una pluralidad de unidades. Cuando se desactiva la señal (por ejemplo, tiles_enabled_flag = 0), se puede no realizar la partición. Como alternativa, la señal que indica que no se está confirmando la partición de imagen puede indicar que la partición no se realiza o se realiza en al menos una unidad. Si realizar la partición en una pluralidad de unidades se puede confirmar a través de otra señal (por ejemplo, first_slice_segment_in_pic_flag).
[0174] En resumen, cuando se proporciona la señal que indica la partición de imágenes, la correspondiente señal es una señal para indicar si realizar la partición en una pluralidad de unidades. Si particionar la imagen correspondiente se puede determinar de acuerdo con la señal. Por ejemplo, se supone que tiles_enabled_flag es una señal que indica si particionar una imagen. En este caso, tiles_enabled_flag que es igual a 1 puede indicar que una imagen se particiona en una pluralidad de mosaicos, y tiles_enabled_flag que es igual a 0 puede indicar que una imagen no se particiona. En resumen, cuando no se proporciona la señal que indica partición de imagen, la partición se puede no realizar, o si particionar una imagen correspondiente se puede determinar por otra señal. Por ejemplo, first_slice_segment_in_pic_flag no es una señal que indica si realizar partición de imagen sino una señal que indica el primer segmento de segmento en una imagen. Por lo tanto, se puede confirmar si realizar la partición en dos o más unidades (por ejemplo, el indicador que es 0 indica que la imagen se particiona en una pluralidad de segmentos). La presente invención no se limita al ejemplo anterior, y se pueden realizar modificaciones al mismo. Por ejemplo, se puede no proporcionar una señal que indica partición de imagen para cada mosaico y se puede proporcionar para cada segmento. Como alternativa, la señal que indica partición de imagen se puede proporcionar basándose en el tipo, características y similares de una imagen.
[0175] 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 imagen se puede definir mediante un método de partición, información de partición y similares. En la sección 4B, el mosaico se puede definir como una unidad adquirida por partición lateral y longitudinal. En detalle, el mosaico se puede definir 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 pasa a través de una imagen.
[0176] La información de partición de mosaicos puede incluir información de ubicación de límite para una columna y una fila, información de número de mosaico para una columna y una fila, información de tamaño de mosaico y similares. La información de número de mosaico puede incluir el número de columnas para los mosaicos (por ejemplo, num_tile_columns) y el número de filas para los mosaicos (por ejemplo, num_tile_rows). Por lo tanto, la imagen se puede particionar en un número (= el número de columnas × el número de filas) de mosaicos. La información de tamaño de mosaico se puede adquirir basándose en la información de número de mosaico. La anchura o altura del mosaico puede ser uniforme o no uniforme y, por lo tanto, bajo reglas predeterminadas, la información relacionada (por ejemplo, uniform_spacing_flag) se puede determinar implícitamente o generarse explícitamente. También, la información de tamaño de mosaico puede incluir información de tamaño de cada columna y cada fila de un mosaico (por ejemplo, column_width_tile[i] y row_height_tile[i]) o incluir información de tamaño de la anchura y altura de cada mosaico. También, la información de tamaño puede ser información que se puede generar adicionalmente de acuerdo con si un tamaño de mosaico es uniforme (por ejemplo, cuando la partición no es uniforme porque uniform_spacing_flag es 0).
[0177] En la sección 4C, un segmento se puede definir como una unidad de agrupación de bloques consecutivos. En detalle, el segmento se puede definir como un grupo de bloques consecutivos en un orden de exploración predeterminado (en este caso, en exploración de trama).
[0178] La información de partición de segmento puede incluir información de número de segmento, información de ubicación de segmento (por ejemplo, slice_segment_address) y similares. En este caso, la información de ubicación de segmento puede ser información de ubicación de un bloque predeterminado (por ejemplo, el primer rango en orden de exploración en el segmento). En este caso, la información de ubicación puede ser información de orden de exploración de bloque.
[0179] En la sección 4D, se permiten diversos ajustes de partición para la partición arbitraria.
[0180] En la sección 4D, una unidad de partición se puede definir como un grupo de bloques que son espacialmente adyacentes entre sí, y la información con respecto a la partición puede incluir información con respecto al tamaño, forma y ubicación de la unidad de partición. Esto es simplemente un ejemplo de la partición arbitraria, y se pueden permitir diversas formas de partición como se muestra en la figura 5.
[0181] La figura 5 es otro diagrama de ejemplo de un método de partición de imágenes de acuerdo con una realización de la presente invención.
[0182] En las secciones 5A y 5B, una imagen se puede particionar lateral o longitudinalmente en una pluralidad de regiones en al menos un intervalo de bloque, y la partición se puede realizar basándose en información de ubicación de bloque.
[0183] La sección 5A ilustra los ejemplos A<0>y A<1>en los que la partición se realiza lateralmente basándose en la información de fila de cada bloque, y la sección 5B ilustra los ejemplos B<0>a B<3>en los que la partición se realiza lateral y longitudinalmente basándose en la información de columna y la información de fila de cada bloque. La información con respecto 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, puede no generarse parte de la información de partición.
[0185] En las secciones 5C y 5D, una imagen se puede particionar en grupos de bloques consecutivos en orden de exploración. Se puede aplicar un orden de exploración adicional distinto del orden de exploración de trama de segmento convencional a la partición de imagen. La sección 5C ilustra los ejemplos C<0>y C<1>en los que la exploración se realiza en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj con respecto a un bloque de inicio (salida de caja), y la sección 5D ilustra los ejemplos D<0>y D<1>en los que la exploración se realiza verticalmente con respecto a un bloque de inicio (Vertical). La información con respecto a la partición puede incluir información con respecto al número de unidades de partición, información con respecto a las ubicaciones de las unidades de partición (por ejemplo, el primer rango en el orden de exploración en la unidad de partición), información con respecto 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, es posible que no se genere parte de la información de partición.
[0187] En la sección 5E, una imagen se puede particionar usando líneas de partición laterales y longitudinales. Un mosaico existente se puede particionar mediante una línea de partición lateral o longitudinal. Por lo tanto, la partición se puede realizar en forma de un espacio cuadrilátero, pero puede no ser posible particionar la imagen usando la línea de partición. Por ejemplo, puede ser posible un ejemplo en el que una imagen se particiona por algunas líneas de partición para 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), y puede ser imposible un ejemplo en el que una imagen se particiona por algunas líneas de partición para 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). Además, la partición se puede realizar basándose en la unidad de bloque (por ejemplo, después de que se realiza en primer lugar la partición de bloques) o se puede realizar 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 de bloques). Por lo tanto, cada unidad de partición puede no ser un múltiplo del bloque. Por lo tanto, se puede generar información de partición diferente de la de un mosaico existente, y la información de partición puede incluir información con respecto al número de unidades de partición, información con respecto a las ubicaciones de las unidades de partición, información con respecto a los tamaños de las unidades de partición, etc. Por ejemplo, la información con respecto a las ubicaciones de las unidades de partición se puede generar como información de ubicación (por ejemplo, que se mide en unidades de píxeles o en unidades de bloque) basándose en una ubicación predeterminada (por ejemplo, en la esquina superior izquierda de la imagen), y la información con respecto a los tamaños de las unidades de partición se puede generar como información con respecto a la anchura y altura de cada unidad de partición (por ejemplo, que se mide en unidades de píxel o en unidades de bloque).
[0189] Como el ejemplo anterior, la partición de acuerdo con cualquier ajuste definido por el usuario se puede realizar aplicando un nuevo método de partición o cambiando algunos elementos de la partición existente. Es decir, el método de partición se puede soportar reemplazando o añadiendo a un método de partición convencional y se puede soportar cambiando algunos ajustes del método de partición convencional (un segmento, un mosaico, etc.) (por ejemplo, de acuerdo con otro orden de exploración, usando otro método 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/descodificación dependientes). También, se pueden soportar ajustes para configurar una unidad de partición adicional (por ejemplo, ajustes distintos de partición de acuerdo con un orden de exploración o partición de acuerdo con una cierta diferencia de intervalo), y una forma de unidad de partición adicional (por ejemplo, una forma poligonal tal como un triángulo distinto de la partición en un espacio cuadrilátero). También, el método de partición de imágenes se puede soportar basándose en el tipo, características y similares de una imagen. Por ejemplo, se puede soportar un método de partición parcial (por ejemplo, la cara de una imagen de 360 grados) de acuerdo con el tipo, características y similares de una imagen. La información con respecto a la partición se puede generar basándose en el soporte.
[0191] En la etapa de realización de partición de imagen, una imagen se puede particionar basándose en información de tipo de partición identificada. Es decir, la imagen se puede particionar en una pluralidad de unidades de partición basándose en el tipo de partición identificado y se puede codificar o descodificar basándose en las unidades de partición adquiridas.
[0193] En este caso, se puede determinar si tener ajustes de codificación/descodificación en cada unidad de partición dependiendo del tipo de partición. Es decir, la información de ajuste necesaria durante un proceso de codificación/descodificación para cada unidad de partición se puede asignar por una unidad superior (por ejemplo, una imagen) o se pueden proporcionar ajustes de codificación/descodificación independientes para cada unidad de partición.
[0195] En general, un segmento puede tener ajustes de codificación/descodificación independientes (por ejemplo, un encabezado de segmento) para cada unidad de partición, y un mosaico no puede tener ajustes de codificación/descodificación independientes para cada unidad de partición y puede tener ajustes que dependen de los ajustes de codificación/descodificación de una imagen (por ejemplo, PPS). En este caso, la información generada en asociación con un mosaico puede ser la información de partición, y se puede incluir en los ajustes de codificación/descodificación de la imagen. La presente invención no se limita al ejemplo anterior, y se pueden realizar modificaciones al mismo.
[0196] La información de ajuste de codificación/descodificación para un mosaico se puede generar en unidades de vídeos, secuencias, imágenes o similares. Al menos una pieza de información de ajuste de codificación/descodificación se genera en una unidad superior, y se puede referenciar una pieza de la información de ajuste de codificación/descodificación generada. Como alternativa, se puede generar información de ajuste de codificación/descodificación independiente (por ejemplo, un encabezado de mosaico) en unidades de mosaico. Esto es diferente del caso de seguir un ajuste de codificación/descodificación determinado en una unidad superior en que la codificación/descodificación se realiza mientras se proporciona al menos un ajuste de codificación/descodificación en unidades de mosaico. Es decir, todas los mosaicos se pueden codificar o descodificar de acuerdo con los mismos ajustes de codificación/descodificación, o al menos un mosaico se puede codificar o descodificar de acuerdo con diferentes ajustes de codificación/descodificación de los de las otras mosaicos.
[0197] El ejemplo anterior se centra en diversos ajustes de codificación/descodificación en el mosaico. Sin embargo, la presente invención no se limita a lo mismo, y se pueden aplicar ajustes iguales o similares incluso a otros tipos de partición.
[0198] Como un ejemplo, en algunos tipos de partición, la información de partición se puede generar en una unidad superior, y la codificación o descodificación se puede realizar de acuerdo con un único ajuste de codificación/descodificación de la unidad superior.
[0199] Como ejemplo, en algunos tipos de partición, la información de partición se puede generar en una unidad superior, y se pueden generar ajustes de codificación/descodificación independientes para cada unidad de partición en la unidad superior, y la codificación o descodificación se puede realizar de acuerdo con los ajustes de codificación/descodificación generados.
[0200] Como un ejemplo, en algunos tipos de partición, se puede generar información de partición en una unidad superior, y se puede soportar una pluralidad de piezas de información de ajuste de codificación/descodificación en la unidad superior. La codificación o descodificación se puede realizar de acuerdo con ajustes de codificación/descodificación referenciados por cada unidad de partición.
[0201] Como un ejemplo, en algunos tipos de partición, se puede generar información de partición en una unidad superior, y se pueden generar ajustes de codificación/descodificación independientes en unidades de partición correspondientes. La codificación o descodificación se puede realizar de acuerdo con los ajustes de codificación/descodificación generados.
[0202] Como un ejemplo, en algunos tipos de partición, se pueden generar ajustes de codificación/descodificación independientes que incluyen información de partición en unidades de partición correspondientes, y se puede realizar codificación o descodificación de acuerdo con los ajustes de codificación/descodificación generados.
[0203] La información de ajuste de codificación/descodificación puede incluir información necesaria para codificar o descodificar un mosaico, tal como un tipo de mosaico, información con respecto a una lista de imágenes referenciadas, información de parámetro 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 descodificación, y similares. La información de ajuste de codificación/descodificación se puede usar para generar explícitamente información relacionada o puede tener ajustes de codificación/descodificación que se determinan implícitamente de acuerdo con el formato, características y similares de la imagen que se determinan en una unidad superior. También, la información relacionada se puede generar explícitamente basándose en información adquirida a través de los ajustes.
[0204] A continuación, se describirá un ejemplo en el que se realiza partición de imagen en el aparato de codificación/descodificación de acuerdo con una realización de la presente invención.
[0205] Se puede realizar un proceso de partición en una imagen de entrada antes de que se inicie la codificación. La imagen se puede particionar usando la información de partición (por ejemplo, información de partición de imagen, información de ajuste de unidad de partición, etc.) y a continuación se puede codificar en unidades de partición. Los datos de codificación de imágenes se pueden almacenar en la memoria después de que se completa la codificación, y se pueden añadir a un flujo de bits y a continuación transmitirse.
[0206] Se puede realizar un proceso de partición antes de que se inicie la descodificación. La imagen se puede particionar usando la información de partición (por ejemplo, información de partición de imagen, información de ajuste de unidad de partición, etc.) y a continuación se pueden analizar y descodificar datos de descodificación de imágenes en unidades de partición. Los datos de descodificación de imágenes se pueden almacenar en la memoria después de que se completa la descodificación, y la pluralidad de unidades de partición se fusionan en una única unidad, y por lo tanto se puede emitir una imagen.
[0207] A través del ejemplo anterior, se ha descrito el proceso de partición de imágenes. También, de acuerdo con la presente invención, se puede realizar una pluralidad de procesos de partición.
[0208] Por ejemplo, se puede particionar una imagen, y se particionar unidades de partición de la imagen. La partición puede ser el mismo proceso de partición (por ejemplo, segmento/segmento, mosaico/mosaico, etc.) o un proceso de partición diferente (por ejemplo, segmento/mosaico, mosaico/segmento, mosaico/cara, cara/título, segmento/cara, cara/segmento, etc.). En este caso, el siguiente proceso de partición se puede realizar basándose en el resultado de partición precedente, y la información de partición generada durante el siguiente proceso de partición se puede generar basándose en un resultado de partición precedente.
[0209] También, se puede realizar una pluralidad de procesos de partición A, y el proceso de partición puede ser un proceso de partición diferente (por ejemplo, segmento/cara, mosaico/cara y similares). En este caso, el siguiente proceso de partición se puede realizar basándose en o independientemente del resultado de partición precedente, y la información de partición generada durante el siguiente proceso de partición se puede generar basándose en o independientemente del resultado de partición precedente.
[0210] La pluralidad de procesos de partición de imagen se puede determinar de acuerdo con ajustes de codificación/descodificación. Sin embargo, la presente invención no se limita al ejemplo anterior, y se pueden realizar diversas modificaciones al mismo.
[0211] El codificador puede añadir la información generada durante el proceso anterior a un flujo de bits en unidades de al menos una de secuencias, imágenes, segmentos, mosaicos y similares, y el descodificador puede analizar información relacionada desde el flujo de bits. Es decir, la información se puede añadir a una unidad y se puede duplicar y añadir a una pluralidad de unidades. Por ejemplo, se puede generar un elemento de sintaxis que indica si soportar alguna información o un elemento de sintaxis que indica si realizar la activación en algunas unidades (por ejemplo, una unidad superior), y la misma información o similar se puede generar en algunas unidades (por ejemplo, una unidad inferior). Es decir, incluso cuando se soporta y establece información relacionada en la unidad superior, la unidad inferior puede tener ajustes individuales. Esta descripción no se limita al ejemplo anterior y se puede aplicar en común a la presente invención. También, la información se puede incluir en el flujo de bits en forma de SEI o metadatos.
[0212] En general, una imagen de entrada se puede codificar o descodificar tal cual, pero la codificación o descodificación se puede realizar después de que la imagen se redimensiona (expandida o reducida; ajuste de resolución). Por ejemplo, en un esquema de codificación jerárquica (codificación de vídeo de escalabilidad) para soportar escalabilidad espacial, temporal y de calidad de imagen, se puede realizar redimensionamiento de imagen tal como toda la expansión y reducción de una imagen. Como alternativa, el redimensionamiento de imagen se puede realizar tal como expansión parcial y reducción de una imagen. El redimensionamiento de la imagen se puede realizar de diversas formas, es decir, se puede realizar con el fin de adaptabilidad a entornos de codificación, con el fin de uniformidad de codificación, con el fin de eficiencia de codificación, con el fin de mejora de la calidad de imagen, o de acuerdo con el tipo, características y similares de una imagen.
[0213] Como un primer ejemplo, el proceso de redimensionamiento se puede realizar 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.).
[0214] Como un segundo ejemplo, el proceso de redimensionamiento se puede realizar en una etapa de codificación/descodificación inicial. El proceso de redimensionamiento se puede realizar antes de que se realice la codificación o descodificación. La imagen redimensionada se puede codificar o descodificar.
[0215] Como un tercer ejemplo, el proceso de redimensionamiento se puede realizar 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 imagen (por ejemplo, información con respecto a un píxel referenciado para intra-predicción, información con respecto a un modo de intra-predicción, información con respecto a imágenes de referencia usadas para inter-predicción, información con respecto a un modo de predicción de inter-predicción, etc.) se puede usar en la etapa de predicción. Como un cuarto ejemplo, el proceso de redimensionamiento se puede realizar durante una etapa de filtrado o antes del filtrado. En el proceso de redimensionamiento, se puede usar información de imagen en la etapa de filtrado (por ejemplo, información de píxel a aplicar al filtro de desbloqueo, información de píxel a aplicar a SAO, información con respecto al filtrado de SAO, información de píxel aplicada a ALF, información con respecto al filtrado de ALF y similares).
[0216] También, después de que se realiza el proceso de redimensionamiento, la imagen se puede procesar a través de un proceso de redimensionamiento inverso y cambiarse a una imagen antes de redimensionamiento (en términos de un tamaño de imagen) o puede permanecer sin cambios. Esto se puede determinar de acuerdo con ajustes de codificación/descodificación (por ejemplo, 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.
[0217] Cuando se realiza el proceso de redimensionamiento de acuerdo con el primer a cuarto ejemplos, el proceso de redimensionamiento inverso se realiza en la siguiente etapa de modo que se puede adquirir una imagen antes del redimensionamiento.
[0218] Cuando se realiza el proceso de redimensionamiento a través de codificación jerárquica o de acuerdo con el tercer ejemplo (o cuando una imagen de referencia se redimensiona en inter-predicción), el proceso de redimensionamiento inverso se puede no realizar en la siguiente etapa.
[0219] En una realización de la presente invención, el proceso de redimensionamiento de imagen se puede realizar ú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 para el 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 las mismas cosas que se describen literalmente.
[0220] La figura 6 es un diagrama de ejemplo de un método de redimensionamiento de imagen general.
[0221] Haciendo referencia a la figura 6A, una imagen expandida P<0>+P<1>se puede adquirir añadiendo una región específica P<1>a una imagen inicial P<0>(o una imagen antes de redimensionamiento; que se indica mediante una línea continua gruesa).
[0222] Haciendo referencia a la figura 6B, una imagen reducida S<0>se puede adquirir eliminando una región específica S<1>a partir de una imagen inicial S<0>+S<1>.
[0223] Haciendo referencia a la figura 6C, una imagen redimensionada T<0>+T<1>se puede adquirir añadiendo una región específica T<1>a una imagen inicial T<0>+T<2>y retirar una región específica T<2>de toda la imagen.
[0224] 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 lo mismo, 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 figura 6C.
[0225] La figura 7 es un diagrama de ejemplo de redimensionamiento de imagen de acuerdo con una realización de la presente invención.
[0226] Durante el proceso de redimensionamiento, se describirá un método de expansión de imagen con referencia a la sección 7A, y se describirá un método de reducción de imagen con referencia a la sección 7B.
[0227] En la sección 7A, una imagen antes del redimensionamiento es S0, y una imagen después del redimensionamiento es S1. En la sección 7B, una imagen antes del redimensionamiento es T0, y una imagen después del redimensionamiento es T1.
[0228] Cuando una imagen se expande como se muestra en la sección 7A, la imagen se puede expandir en una dirección "arriba" ET, una dirección "abajo" EL, una dirección "izquierda" EB o una dirección "derecha" ER. Cuando se reduce una imagen como se muestra en la sección 7B, la imagen se puede reducir en una dirección "arriba" RT, una dirección "abajo" RL, una dirección "izquierda" RB o una dirección "derecha" RR.
[0229] Comparando la expansión de imagen y la reducción de 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. Por lo tanto, la siguiente descripción se centra en la expansión de imagen, pero debería entenderse que se incluye una descripción de la reducción de imagen.
[0230] En la siguiente descripción, la expansión o reducción de imagen se realiza en la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha". Sin embargo, también debería entenderse que el redimensionamiento se puede realizar 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".
[0231] En este caso, cuando la expansión se realiza en la dirección "abajo y derecha", se adquieren las regiones RC y BC, y una región BR se puede o no adquirir de acuerdo con los ajustes de codificación/descodificación. Es decir, las regiones TL, TR, BL y BR se pueden adquirir o no, pero por conveniencia de descripción, las regiones de esquina (es decir, las regiones TL, TR, BL y BR) se describirán como capaces de adquirirse.
[0232] El proceso de redimensionamiento de imagen de acuerdo con una realización de la presente invención se puede realizar en al menos una dirección. Por ejemplo, el proceso de redimensionamiento de imagen se puede realizar en todas las direcciones, tal como arriba, abajo, izquierda y derecha, se puede realizar en dos o más direcciones seleccionadas de 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 se puede realizar en solo una dirección seleccionada de arriba, abajo, izquierda y derecha.
[0233] Por ejemplo, el redimensionamiento se puede realizar 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 se pueden expandir simétricamente a ambos extremos con respecto al centro de una imagen, se pueden realizar en una dirección "izquierda derecha", una dirección "izquierda y arriba derecha arriba" y una dirección "izquierda y abajo derecha y abajo", que son verticalmente expansibles simétricamente con respecto a la imagen, y se pueden realizar 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 horizontalmente expandibles simétricamente con respecto a la imagen. Se puede realizar otro redimensionamiento.
[0234] En las secciones 7A y 7B, el tamaño de la imagen antes de redimensionar S0 o T0 se define como P_Width × P_Height, y el tamaño de la imagen después de redimensionar S1 o T1 se define como P'_Width × P'_Height. En este caso, cuando se redimensionan valores 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 de redimensionamiento se puede expresar como (P_Width Var_L Var_R) × (P_Height 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 este caso, Exp_x es positivo) para la expansión de imagen (en la sección 7A) y pueden ser -Rec_L, -Rec_R, -Rec_T y -Rec_B para la reducción de imagen (que se representa como valores negativos para la reducción de imagen cuando Rec_L, Rec_R, Rec_T y Rec_B se definen como valores positivos). Además, las coordenadas superior izquierda, las coordenadas superior derecha, las coordenadas inferior izquierda y las coordenadas inferior derecha de la imagen antes del redimensionamiento pueden ser (0,0), (P_Width-1,0), (0, P_Height-1) y (P_Width-1,P_Height-1), y se pueden representar las coordenadas superior izquierda, las coordenadas superior derecha, las coordenadas inferior izquierda y las coordenadas inferior derecha de la imagen después del redimensionamiento como (0,0), (P'_Width-1,0), (0,P'_Height-1) y (P'_Width-1,P'_Height-1). El tamaño de la región (en este caso, TL a BR; i es un índice para identificar TL a BR) que se cambia (o adquiere o retira) a través del redimensionamiento puede ser M[i] × N[i] y se puede representar 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 diversos valores y pueden tener los mismos ajustes independientemente de i o pueden tener ajustes individuales de acuerdo con i. Los diversos ejemplos se describirán a continuación.
[0235] Haciendo referencia a la sección 7A, S1 se puede configurar para incluir algunas o todas las regiones TL a BR (superior izquierda a inferior derecha), que se han de generar a través de expansión en S0 en varias direcciones. Haciendo referencia a la sección 7B, T1 se puede configurar para excluir, de T0, todas o algunas de las regiones TL a BR, que se han de eliminar a través de reducción en varias direcciones.
[0236] 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.
[0237] Como ejemplo, cuando la expansión se realiza en la dirección "arriba" ET, la imagen se puede construir 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.
[0238] Como ejemplo, cuando la expansión se realiza en la dirección "abajo" EB, la imagen se puede construir añadiendo la región BC a la imagen existente S0 y puede incluir la región BL o BR junto con la expansión en al menos una dirección diferente EL o ER.
[0239] Como ejemplo, cuando la expansión se realiza en la dirección "izquierda" EL, la imagen se puede construir 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.
[0240] Como ejemplo, cuando la expansión se realiza en la dirección "derecha" ER, la imagen se puede construir 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.
[0241] De acuerdo con una realización de la presente invención, es posible proporcionar ajustes (por ejemplo, spa_ref_enabled_flag o tem_ref_enabled_flag) para limitar espacial o temporalmente la capacidad de referencia de la región redimensionada (este ejemplo supone expansión).
[0242] Es decir, se puede permitir la referencia a datos de la región que se redimensiona espacial o temporalmente de acuerdo con ajustes de codificación/descodificación (por ejemplo, spa_ref_enabled_flag = 1 o tem_ref_enabled_flag = 1) o limitar (por ejemplo, spa_ref_enabled_flag = 0 o tem_ref_enabled_flag = 0).
[0243] La codificación/descodificación de las imágenes S0 y T1 antes del redimensionamiento y las regiones TC, BC, LC, RC, TL, TR, BL y BR añadidas o eliminadas durante el redimensionamiento se pueden realizar como sigue.
[0244] Por ejemplo, cuando la imagen antes del redimensionamiento y la región añadida o eliminada se codifican o descodifican, los datos con respecto a la imagen antes del redimensionamiento y los datos con respecto a la región añadida o eliminada (datos después de que se completa la codificación o descodificación; una información relacionada con valor de píxel o predicción) se pueden referenciar espacial o temporalmente entre sí.
[0245] Como alternativa, la imagen antes del redimensionamiento y los datos con respecto a la región añadida o eliminada se pueden referenciar espacialmente mientras que los datos con respecto a la imagen antes del redimensionamiento se pueden referenciar temporalmente y los datos con respecto a la región añadida o eliminada no se pueden referenciar temporalmente.
[0246] Es decir, es posible proporcionar ajustes para limitar la capacidad de referencia de la región añadida o eliminada. La información de ajuste con respecto a la capacidad de referencia de la región añadida o eliminada se puede generar explícitamente o determinarse implícitamente.
[0247] 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 imágenes y el aparato de descodificación de imágenes 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, se puede generar un elemento de sintaxis relacionado. Para la descodificación, se puede analizar un elemento de sintaxis relacionado.
[0248] En la etapa de indicación de redimensionamiento de imagen, se puede determinar si realizar el redimensionamiento de imagen. Por ejemplo, cuando se confirma una señal que indica redimensionamiento de imagen (por ejemplo, img_resizing_enabled_flag), se puede realizar el redimensionamiento. Cuando no se confirma la señal que indica el redimensionamiento de imagen, el redimensionamiento se puede no realizar, o el redimensionamiento se puede realizar confirmando otra información de codificación/descodificación. También, aunque no se proporciona la señal que indica redimensionamiento de imagen, la señal que indica redimensionamiento de imagen se puede activar o desactivarse implícitamente de acuerdo con ajustes de codificación/descodificación (por ejemplo, las características, tipo y similares de una imagen). Cuando se realiza el redimensionamiento, se puede generar información relacionada con el redimensionamiento correspondiente o se puede determinar implícitamente.
[0249] Cuando se proporciona la señal que indica el redimensionamiento de imagen, la señal correspondiente es una señal para indicar si realizar el redimensionamiento de imagen. Si redimensionar la imagen correspondiente se puede determinar de acuerdo con la señal.
[0250] Por ejemplo, se supone que se confirma una señal que indica redimensionamiento de imagen (por ejemplo, img_resizing_enabled_flag). Cuando se activa la señal correspondiente (por ejemplo, img_resizing_enabled_flag = 1), se puede realizar el redimensionamiento de imagen. Cuando se desactiva la correspondiente señal (por ejemplo, img_resizing_enabled_flag = 0), se puede no realizar el redimensionamiento de imagen.
[0251] También, cuando no se proporciona la señal que indica el redimensionamiento de imagen, el redimensionamiento se puede no realizar, o si redimensionar una imagen correspondiente se puede determinar por otra señal.
[0252] Por ejemplo, cuando una imagen de entrada se particiona en unidades de bloque, el redimensionamiento se puede realizar de acuerdo con si el tamaño (por ejemplo, la anchura o altura) de la imagen es un múltiplo del tamaño (por ejemplo, la anchura o altura) del bloque (para la expansión en este ejemplo, se supone que el proceso de redimensionamiento se realiza cuando el tamaño de imagen no es un múltiplo del tamaño de bloque). Es decir, cuando la anchura de la imagen no es un múltiplo de la anchura del bloque o cuando la altura de la imagen no es un múltiplo de la altura del bloque, se puede realizar el redimensionamiento. En este caso, la información de redimensionamiento (por ejemplo, una dirección de redimensionamiento, un valor de redimensionamiento, etc.) se puede determinar de acuerdo con la información de codificación/descodificación (por ejemplo, el tamaño de la imagen, el tamaño del bloque, etc.). Como alternativa, el redimensionamiento se puede realizar de acuerdo con las características, tipo (por ejemplo, una imagen de 360 grados) y similares de la imagen, y la información de redimensionamiento se puede generar explícitamente o se puede asignar como un valor predeterminado. La presente invención no se limita al ejemplo anterior, y se pueden realizar modificaciones al mismo.
[0253] 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 imagen se puede definir mediante un método de redimensionamiento, información de redimensionamiento y similares. Por ejemplo, se puede realizar redimensionamiento basado en factor de escala, redimensionamiento basado en factor de desplazamiento y similares. La presente invención no se limita al ejemplo anterior, y los métodos se pueden aplicar en combinación. Por conveniencia de descripción, la siguiente descripción se centrará en el redimensionamiento basado en factor de escala y el redimensionamiento basado en factor de desplazamiento.
[0254] Para el factor de escala, el redimensionamiento se puede realizar por multiplicación o división basándose en el tamaño de la imagen. La información con respecto a las operaciones de redimensionamiento (por ejemplo, expansión o reducción) se puede generar explícitamente, y el proceso de expansión o reducción se puede realizar de acuerdo con la información correspondiente. También, el proceso de redimensionamiento se puede realizar como una operación predeterminada (por ejemplo, una de la operación de expansión y la operación de reducción) de acuerdo con ajustes de codificación/descodificación. En este caso, se omitirá la información con respecto a las operaciones de redimensionamiento. Por ejemplo, cuando el redimensionamiento de imagen se activa en la etapa de indicación de redimensionamiento de imagen, el redimensionamiento de imagen se puede realizar como una operación predeterminada.
[0255] La dirección de redimensionamiento puede ser al menos una dirección seleccionada de arriba, abajo, izquierda y derecha. Se puede requerir al menos un factor de escala dependiendo de la dirección de redimensionamiento. Es decir, se puede requerir un factor de escala (en este caso, unidireccional) para cada dirección, se puede requerir un factor de escala (en este caso, bidireccional) para una dirección lateral o longitudinal, y se puede requerir un factor de escala (en este caso, omnidireccional) para todas direcciones de la imagen. También, la dirección de redimensionamiento no se limita al ejemplo anterior, y se pueden hacer modificaciones al mismo.
[0256] El factor de escala puede tener un valor positivo y puede tener información de rango que difiere dependiendo de los ajustes de codificación/descodificación. Por ejemplo, cuando se genera información combinando la operación de redimensionamiento y el factor de escala, el factor de escala se puede usar como un multiplicando. El factor de escala que es mayor que 0 o menor que 1 puede significar una operación de reducción, el factor de escala que es mayor que 1 puede significar una operación de expansión, y el factor de escala que es 1 puede significar que no se realiza el redimensionamiento. Como otro ejemplo, cuando se genera información de factor de escala independientemente de la operación de redimensionamiento, el factor de escala para la operación de expansión se puede usar como un multiplicando, y el factor de escala para la operación de reducción se puede usar como un dividendo.
[0257] Se describirá un proceso de cambio de imágenes antes de redimensionar S0 y T0 a imágenes después de redimensionar (en este caso, S1 y T1) con referencia a las secciones 7A y 7B de la figura 7 de nuevo.
[0258] Como ejemplo, cuando se usa un factor de escala (denominado sc) en todas las direcciones de la imagen y la dirección de redimensionamiento es una dirección "abajo+derecha", las direcciones de redimensionamiento son ER y EB (o RR y RB), los valores de redimensionamiento Var_L(Exp_L o Rec_L) y Var_T(Exp_T o Rec_T) son 0, y Var_R(Exp_R o Rec_R) y Var_B(Exp_B o Rec_B) se pueden expresar como P_Width × (sc - 1) y P_Height × (sc - 1). Por consiguiente, la imagen después del redimensionamiento puede ser (P_Width × sc) × (P_Height × sc).
[0259] Como ejemplo, cuando se usan factores de escala respectivos (en este caso, sc_w y sc_h) 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_Height × (sc_h - 1)/2, y Var_L y Var_R pueden ser P_Width × (sc_w - 1)/2. Por consiguiente, la imagen después del redimensionamiento puede ser (P_Width × sc_w) × (P_Height × sc_h).
[0260] Para el factor de desplazamiento, el redimensionamiento se puede realizar mediante suma o resta basándose en el tamaño de la imagen. Como alternativa, el redimensionamiento se puede realizar mediante suma o resta basándose en información de codificación/descodificación de la imagen. Como alternativa, el redimensionamiento se puede realizar mediante suma o resta independiente. Es decir, el proceso de redimensionamiento puede tener ajustes dependientes o independientes.
[0261] La información con respecto a las operaciones de redimensionamiento (por ejemplo, expansión o reducción) se puede generar explícitamente, y el proceso de expansión o reducción se puede realizar de acuerdo con la información correspondiente. También, las operaciones de redimensionamiento se pueden realizar como una operación predeterminada (por ejemplo, una de la operación de expansión y la operación de reducción) de acuerdo con ajustes de codificación/descodificación. En este caso, se puede omitir la información con respecto a las operaciones de redimensionamiento. Por ejemplo, cuando el redimensionamiento de imagen se activa en la etapa de indicación de redimensionamiento de imagen, el redimensionamiento de imagen se puede realizar como una operación predeterminada.
[0262] La dirección de redimensionamiento puede ser al menos una dirección seleccionada de arriba, abajo, izquierda y derecha. Se puede requerir al menos un factor de desplazamiento dependiendo de la dirección de redimensionamiento. Es decir, se puede requerir un factor de desplazamiento (en este caso, unidireccional) para cada dirección, se puede requerir un factor de desplazamiento (en este caso, simétricamente bidireccional) para una dirección lateral o dirección longitudinal, se puede requerir un factor de desplazamiento (en este caso, asimétricamente bidireccional) de acuerdo con una combinación parcial de las direcciones, y se puede requerir un factor de desplazamiento (en este caso, omnidireccional) para todas las direcciones de la imagen. También, la dirección de redimensionamiento no se limita al ejemplo anterior, y se pueden hacer modificaciones al mismo.
[0263] 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 que difiere dependiendo de los ajustes de codificación/descodificación. Por ejemplo, cuando se genera información en combinación de la operación de redimensionamiento y el factor de desplazamiento (en este caso, se supone que el factor de desplazamiento tiene tanto un valor positivo como un valor negativo), el factor de desplazamiento se puede usar como un valor a añadir o restar dependiendo de la información de signo del factor de desplazamiento. El factor de desplazamiento que es mayor que 0 puede significar una operación de expansión, el factor de desplazamiento que es menor que 0 puede significar una operación de reducción, y el factor de desplazamiento que es 0 puede significar que no se realiza el redimensionamiento. Como otro ejemplo, cuando la información del factor de desplazamiento se genera por separado de la operación de redimensionamiento (en este caso, se supone que el factor de desplazamiento tiene un valor positivo), el factor de desplazamiento se puede usar como un valor a sumar o restar dependiendo de la operación de redimensionamiento. El factor de desplazamiento que es mayor que 0 puede significar que la operación de expansión o reducción se puede realizar dependiendo de la operación de redimensionamiento, y el factor de desplazamiento que es 0 puede significar que no se realiza el redimensionamiento.
[0264] Se describirá un método 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, con referencia a las secciones 7A y 7B de la figura 7 de nuevo.
[0265] Como ejemplo, cuando se usa un factor de desplazamiento (denominado os) 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 os. El tamaño de la imagen después del redimensionamiento puede ser (P_Width+os) × (P_Height+os).
[0266] Como ejemplo, cuando se usa un factor de desplazamiento os_w u os_h 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 os_h, y los valores de redimensionamiento Var_L y Var_R pueden ser os_w. El tamaño de la imagen después del redimensionamiento puede ser {P_Width+(os_w × 2)} × {P_Height+(os_h × 2)}.
[0267] 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 usa un factor de desplazamiento os_b u os_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 os_b, y el valor de redimensionamiento Var_R puede ser os_r. El tamaño de la imagen después de cambiar el tamaño puede ser (P_Width os_r) × (P_Height os_b). Como ejemplo, cuando se usa el factor de desplazamiento os_t, os_b, os_l u os_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 os_t, el valor de redimensionamiento Var_B puede ser os_b, el valor de redimensionamiento Var_L puede ser os_l, y el valor de redimensionamiento Var_R puede ser os_r. El tamaño de la imagen después del redimensionamiento puede ser (P_Width os_l os_r) × (P_Height os_t os_b).
[0268] El ejemplo anterior indica un caso en el que el factor de desplazamiento se usa 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 usa como el valor de redimensionamiento sin ningún cambio, que puede ser un ejemplo del redimensionamiento que se realiza independientemente. Como alternativa, el factor de desplazamiento se puede usar como una variable de entrada del valor de redimensionamiento. En detalle, el factor de compensación se puede asignar como una variable de entrada, y el valor de redimensionamiento se puede adquirir a través de una serie de procesos de acuerdo con ajustes de codificación/descodificación, que puede ser un ejemplo del redimensionamiento que se realiza basándose en información predeterminada (por ejemplo, un tamaño de imagen, información de codificación/descodificación, etc.) o un ejemplo del redimensionamiento que se realiza de manera dependiente. Por ejemplo, el factor de compensación 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 este caso, un número entero). Como alternativa, el factor de desplazamiento puede ser un múltiplo o un exponente de un valor adquirido basándose en ajustes de codificación/descodificación (por ejemplo, un valor que se establece basándose en un intervalo de búsqueda de movimiento de inter-predicción). Como alternativa, el factor de desplazamiento puede ser un múltiplo o un número entero de una unidad (en este caso, suponiendo A × B) que se adquiere a partir de la parte de partición de imagen. Como alternativa, el factor de desplazamiento puede ser un múltiplo de una unidad (en este caso, suponiendo E × F tal como un mosaico) que se adquiere a partir de la parte de partición de imagen.
[0269] Como alternativa, el factor de desplazamiento puede ser un valor que es menor o igual que la anchura y la altura de la unidad adquirida a partir de la parte de partición de imagen. En el ejemplo anterior, el múltiplo o el exponente puede tener un valor de 1. Sin embargo, la presente invención no se limita al ejemplo anterior, y se pueden realizar modificaciones al mismo. Por ejemplo, cuando el factor de compensación es n, Var_x puede ser 2 × n o 2<n>.
[0271] También, se pueden soportar factores de desplazamiento individuales de acuerdo con componentes de color. Se pueden soportar factores de compensación para algunos componentes de color y, por lo tanto, se puede derivar información de factor de compensación para otros componentes de color. Por ejemplo, cuando se genera explícitamente un factor de desplazamiento A para el componente de luminancia (en este caso, suponiendo que una relación de composición del componente de luminancia con respecto al componente de crominancia es 2:1), se puede adquirir implícitamente un factor de desplazamiento A/2 para el componente de crominancia. Como alternativa, cuando se genera explícitamente el factor de desplazamiento A para el componente de crominancia, el factor de desplazamiento 2A para el componente de luminancia se puede adquirir implícitamente.
[0273] La información con respecto a la dirección de redimensionamiento y el valor de redimensionamiento se puede generar explícitamente, y el proceso de redimensionamiento se puede realizar de acuerdo con la información correspondiente. También, la información se puede determinar implícitamente de acuerdo con ajustes de codificación/descodificación, y el proceso de redimensionamiento se puede realizar de acuerdo con la información determinada. Se puede asignar al menos una dirección predeterminada o valor de redimensionamiento y, en este caso, se puede omitir la información relacionada. En este caso, los ajustes de codificación/descodificación se pueden determinar basándose en las características, tipo, información de codificación y similares de una imagen. Por ejemplo, se puede predeterminar al menos una dirección de redimensionamiento de acuerdo con al menos una operación de redimensionamiento, se puede predeterminar al menos un valor de redimensionamiento de acuerdo con al menos una operación de redimensionamiento, y se puede predeterminar al menos un valor de redimensionamiento de acuerdo con al menos una dirección de redimensionamiento. También, la dirección de redimensionamiento, el valor de redimensionamiento y similares durante el proceso de redimensionamiento inverso se pueden derivar 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 manera diversa).
[0274] También, la multiplicación o división se ha descrito en el ejemplo anterior, pero se puede usar una operación de desplazamiento dependiendo de la implementación del codificador/descodificador. La multiplicación se puede implementar a través de una operación de desplazamiento a la izquierda, y la división se puede implementar a través de una operación de desplazamiento a la derecha. Esta descripción no se limita al ejemplo anterior y se puede aplicar en común a la presente invención.
[0276] En la etapa de realización de redimensionamiento de imagen, el redimensionamiento de imagen se puede realizar basándose en información de redimensionamiento identificada. Es decir, el redimensionamiento de imagen se puede realizar basándose en información con respecto 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/descodificación se puede realizar basándose en una imagen adquirida después redimensionar.
[0278] También, en la etapa de realización de redimensionamiento de imagen, el redimensionamiento se puede realizar usando al menos un método de procesamiento de datos. En detalle, el redimensionamiento se puede realizar en una región a redimensionar de acuerdo con el tipo de redimensionamiento y la operación de redimensionamiento usando al menos un método de procesamiento de datos. Por ejemplo, dependiendo del tipo de redimensionamiento, se puede determinar cómo rellenar datos cuando el redimensionamiento es para expansión, y cómo retirar datos se puede determinar cuando el redimensionamiento es para reducción.
[0280] En resumen, en la etapa de realización de redimensionamiento de imagen, el redimensionamiento de imagen se puede realizar basándose en información de redimensionamiento identificada. Como alternativa, en la etapa de realización de redimensionamiento de imagen, el redimensionamiento de imagen se puede realizar basándose en la información de redimensionamiento y un método de procesamiento de datos. Los dos casos anteriores pueden diferir entre sí en que únicamente se ajusta el tamaño de una imagen a codificar o descodificar o en que incluso se considera el procesamiento de datos para el tamaño de imagen y para la región a redimensionar. En la etapa de realización de redimensionamiento de imagen, se puede determinar si realizar el método de procesamiento de datos dependiendo 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 basándose en el método de procesamiento de datos, pero la presente invención no se limita al mismo.
[0281] Cuando se realiza el redimensionamiento basado en factor de desplazamiento, el redimensionamiento para la expansión y el redimensionamiento para la reducción se pueden realizar usando diversos métodos. Para la expansión, el redimensionamiento se puede realizar usando al menos un método de llenado de datos. Para la reducción, el redimensionamiento se puede realizar usando al menos un método de retirada de datos. En este caso, cuando se realiza el redimensionamiento basado en el factor de desplazamiento, la región redimensionada (expansión) se puede rellenar con datos nuevos o datos de imagen originales directamente o después de la modificación, y la región redimensionada (reducción) se puede retirar simplemente o a través de una serie de procesos.
[0282] Cuando se realiza el redimensionamiento basado en factor de escala, en algunos casos (por ejemplo, codificación jerárquica), el redimensionamiento para la expansión se puede realizar aplicando muestreo ascendente, y el redimensionamiento para la reducción se puede realizar aplicando submuestreo. Por ejemplo, se puede usar al menos un filtro de muestreo ascendente para la expansión, y se puede usar al menos un filtro de muestreo descendente para la reducción. Un filtro aplicado horizontalmente puede ser el mismo o diferente de un filtro aplicado verticalmente. En este caso, cuando se realiza el redimensionamiento basado en factor de escala, no se generan nuevos datos en ni se retiran de la región redimensionada, pero los datos de imagen originales se pueden reorganizar usando un método tal como interpolación. Un método de procesamiento de datos asociado con el redimensionamiento se puede clasificar de acuerdo con un filtro usado para el muestreo. Además, en algunos casos (por ejemplo, un caso similar al del factor de desplazamiento), el redimensionamiento para la expansión se puede realizar usando un método de llenado de al menos una pieza de datos, y el redimensionamiento para la reducción se puede realizar usando un método para eliminar al menos una pieza de datos. De acuerdo con la presente invención, la siguiente descripción se centra en el método de procesamiento de datos correspondiente a cuando se realiza el redimensionamiento basado en factor de desplazamiento.
[0283] En general, se puede usar un método de procesamiento de datos predeterminado en la región a redimensionar, pero se puede usar al menos un método de procesamiento de datos en la región a redimensionar como en el siguiente ejemplo. Se puede generar información de selección para el método de procesamiento de datos. Lo primero puede significar que el redimensionamiento se realiza a través de un método de procesamiento de datos fijo, y lo último puede significar que el redimensionamiento se realiza a través de un método de procesamiento de datos adaptativo. También, se puede aplicar un método de procesamiento de datos a todos (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 la regiones a añadir o eliminar durante el redimensionamiento.
[0284] La figura 8 es un diagrama de ejemplo de un método de construcción de una región generada a través de la expansión en el método de redimensionamiento de imagen de acuerdo con una realización de la presente invención.
[0285] Haciendo referencia a la sección 8A, por conveniencia de descripción, una imagen se puede particionar 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 una posición 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 una dirección "abajo+derecha", pero debería entenderse que la descripción se puede aplicar a las otras direcciones de expansión.
[0286] Una región añadida de acuerdo con la expansión de la imagen se puede construir usando diversos métodos. Por ejemplo, la región se puede rellenar con un valor arbitrario o se puede rellenar con referencia a algunos datos de la imagen.
[0287] Haciendo referencia a la sección 8B, las regiones generadas A<0>y A<2>se pueden rellenar con un valor de píxel arbitrario. El valor de píxel arbitrario se puede determinar usando diversos métodos.
[0288] Como un 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 << (bit_depth) -1) que se puede expresar usando 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 << (bit_depth - 1), etc.), o similares en el intervalo de valores de píxel (en este caso, bit_depth indica una profundidad de bits).
[0289] Como ejemplo, el valor de píxel arbitrario puede ser un píxel en el intervalo de valores de píxel (por ejemplo, desde mín<P>a máx<P>; mín<P>y máx<P>indican un valor mínimo y un valor máximo entre los píxeles que pertenecen a la imagen; mín<P>es mayor o igual que 0; máx<P>es menor o igual que 1 << (bit_depth) - 1) de los píxeles que pertenecen a la imagen. Por ejemplo, el valor de píxel arbitrario puede ser un mínimo, un máximo, una mediana, un promedio (de al menos dos píxeles), una suma ponderada, etc. del intervalo de valores de píxel.
[0290] Como un ejemplo, el valor de píxel arbitrario puede ser un valor que se determina en un intervalo de valores de píxel que pertenece 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. También, la región específica se puede proporcionar como una región correspondiente a 3 × 9 de TR, RC y BR o una región correspondiente a 1 × 9 <que se supone como la línea más a la derecha>. Esto puede depender de los ajustes de codificación/descodificación. En este caso, la región específica puede ser una unidad a particionar por la parte de partición de imagen. En detalle, el valor de píxel arbitrario puede ser un mínimo, un máximo, una mediana, un promedio (de al menos dos píxeles), una suma ponderada, etc. del intervalo de valores de píxel. Haciendo referencia de nuevo a la sección 8B, una región A<1>a añadir junto con la expansión de imagen se puede rellenar con información de patrón (por ejemplo, se supone que el patrón usa una pluralidad de píxeles; no hay necesidad de seguir ciertas reglas) que se genera usando una pluralidad de valores de píxel. En este caso, la información de patrón se puede definir de acuerdo con ajustes de codificación/descodificación o se puede generar información relacionada. La región generada se puede rellenar con al menos una pieza de información de patrón. Haciendo referencia a la sección 8C, una región añadida junto con la expansión de imagen se puede construir con referencia a píxeles de la región específica incluida en la imagen. En detalle, la región añadida se puede construir copiando o rellenando píxeles (en lo sucesivo en el presente documento denominados píxeles de referencia) en una región adyacente a la región añadida. En este caso, los píxeles en 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 descodificación). Por ejemplo, el píxel de referencia puede hacer referencia a 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 hacer referencia a un píxel de una imagen restaurada cuando el redimensionamiento se realiza en una etapa de generación de píxeles de referencia de intra-predicción, una etapa de generación de imágenes de referencia, una etapa de filtrado y similares. En este ejemplo, se supone que se usa el píxel más cercano en la región añadida, pero la presente invención no se limita a lo mismo.
[0291] Una región A<0>, que se genera cuando la imagen se expande hacia la izquierda o hacia la derecha en asociación con el redimensionamiento de la imagen lateral, se puede construir rellenando horizontalmente (Z0) píxeles exteriores adyacentes a la región generada A<0>, 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 de imagen longitudinal, se puede construir rellenando verticalmente (Z1) píxeles exteriores adyacentes a la región generada A<1>. También, una región A<2>, que se genera cuando la imagen se expande hacia abajo y hacia la derecha, se puede construir rellenando diagonalmente (Z2) píxeles exteriores adyacentes a la región generada A<2>.
[0292] Haciendo referencia a la sección 8D, las regiones generadas B'0 a B'2 se pueden construir 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 es adyacente a la región generada.
[0293] 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 se puede rellenar con referencia a los píxeles de la región que tiene alta correlación. En este caso, se puede generar información de ubicación, información de tamaño, etc. de la región que tiene alta correlación. Como alternativa, cuando la región que tiene alta correlación está presente a través de información de codificación/descodificación de las características, 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 se puede comprobar implícitamente (por ejemplo, como para una imagen de 360 grados), la región generada se puede rellenar con datos de la región correspondiente. En este caso, se puede omitir la información de ubicación, información de tamaño, etc. de la región correspondiente.
[0294] Como 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 de imagen lateral, se puede rellenar 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.
[0295] Como 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 de imagen longitudinal, se puede rellenar 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.
[0296] Como ejemplo, una región B'0, que se genera cuando la imagen se expande a través de algún redimensionamiento de imagen (en este caso, en diagonal con respecto al centro de la imagen), se puede rellenar con referencia a píxeles en una región B0 o TL opuesta a la región generada.
[0297] 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 esto y se pueden adquirir datos de otras regiones TL a BR.
[0298] 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 se pueden copiar y usar para rellenar la región generada tal como es, o los datos de la región correspondiente se pueden transformar basándose en las características, el tipo y similares de la imagen y usarse para rellenar la región generada. En este caso, copiar los datos tal como están puede significar que el valor de píxel de la región correspondiente se usa 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 usa sin ningún cambio. Es decir, al menos un valor de píxel de la región correspondiente se puede cambiar a través del proceso de transformación. La región generada se puede rellenar con el valor de píxel cambiado, o al menos una de las ubicaciones en las que se adquieren algunos píxeles puede diferir de las otras ubicaciones. Es decir, para llenar la región generada de A × B, se pueden usar datos C × D distintos de 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 otros píxeles. En el ejemplo anterior, cuando una imagen de 360 grados se compone de una pluralidad de caras de acuerdo con un formato de proyección, la región generada se puede rellenar con datos de las otras caras. Un método de procesamiento de datos para rellenar una región generada cuando la imagen se expande a través del redimensionamiento de imagen no se limita al ejemplo anterior. El método de procesamiento de datos se puede mejorar o cambiar, o se puede usar un método de procesamiento de datos adicional.
[0299] Se puede soportar una pluralidad de grupos de candidatos para el método de procesamiento de datos de acuerdo con ajustes de codificación/descodificación, y se puede generar información con respecto a la selección de un método de procesamiento de datos de entre la pluralidad de grupos de candidatos y añadirse a un flujo de bits. Por ejemplo, un método de procesamiento de datos se puede seleccionar de entre un método de relleno usando un valor de píxel predeterminado, un método de relleno copiando píxeles externos, un método de relleno copiando una región específica de una imagen, un método de relleno transformando una región específica de una imagen, y similares, y se puede generar información de selección relacionada. También, el método de procesamiento de datos se puede determinar implícitamente.
[0300] Por ejemplo, un método de procesamiento de datos aplicado a todas las regiones (en este caso, las regiones TL a BR en la sección 7A), que se han de generar junto con la expansión a través del redimensionamiento de imagen, puede ser uno del método de relleno mediante el uso de un valor de píxel predeterminado, el método de relleno mediante la copia de píxeles externos, el método de relleno mediante la copia de una región específica de una imagen, el método de relleno mediante la transformación de una región específica de una imagen y similares, y se puede generar información de selección relacionada. También, se puede determinar un método de procesamiento de datos predeterminado aplicado a toda la región.
[0301] Como alternativa, un método de procesamiento de datos aplicado a las regiones (en este caso, cada una o dos o más de las regiones TL a BR en la sección 7A de la figura 7), que se han de generar junto con la expansión a través del redimensionamiento de imagen, puede ser uno del método de relleno mediante el uso de un valor de píxel predeterminado, el método de relleno mediante la copia de píxeles externos, el método de relleno mediante la copia de una región específica de una imagen, el método de relleno mediante la transformación de una región específica de una imagen, y similares, y se puede generar información de selección relacionada. También, se puede determinar un método de procesamiento de datos predeterminado aplicado a al menos una región.
[0302] La figura 9 es un diagrama de ejemplo de un método de construcción de una región a eliminar a través de reducción y una región a generar en el método de redimensionamiento de imagen de acuerdo con una realización de la presente invención.
[0303] La región a eliminar en el proceso de reducción de imagen se puede retirar no solo simplemente sino también después de una serie de procesos de aplicación.
[0304] Haciendo referencia a la sección 9A, durante el proceso de reducción de imagen, las regiones específicas A<0>, A<1>y A<2>se pueden eliminar simplemente sin un proceso de aplicación adicional. En este caso, una imagen A se puede particionar en regiones TL a BR, como se muestra en la sección 8A.
[0305] Haciendo referencia a la sección 9B, las regiones A<0>a A<2>se pueden retirar y se pueden utilizar como información de referencia cuando la imagen A se codifica o descodifica. Por ejemplo, las regiones eliminadas A<0>a A<2>se pueden utilizar durante un proceso de restauración o corrección de regiones específicas de la imagen A que se eliminan a través de la reducción. Durante el proceso de restauración o corrección, se puede usar una suma ponderada, un promedio y similares de dos regiones (una región eliminada y una región generada). También, el proceso de restauración o corrección puede ser un proceso que se puede aplicar cuando las dos regiones tienen alta correlación. Como 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 de imagen lateral, se puede usar 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.
[0306] Como 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 de imagen longitudinal, se puede usar para un proceso de codificación/descodificació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 se puede retirar de la memoria.
[0307] Como un ejemplo, una región B'0, que se elimina cuando la imagen se reduce a través de algún redimensionamiento de imagen (en este caso, en diagonal con respecto al centro de la imagen), se puede usar para un proceso de codificación/descodificació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 se puede retirar de la memoria.
[0308] 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 para la restauración o corrección. Sin embargo, la presente invención no se limita a lo mismo, y se pueden usar datos de regiones TL a BR distintas de la región simétrica para la restauración o corrección y, a continuación, se pueden retirar de la memoria.
[0309] Un método de procesamiento de datos para retirar una región a eliminar no se limita al ejemplo anterior. El método de procesamiento de datos se puede mejorar o cambiar, o se puede usar un método de procesamiento de datos adicional. Se puede soportar una pluralidad de grupos de candidatos para el método de procesamiento de datos de acuerdo con ajustes de codificación/descodificación, y se puede generar información de selección relacionada y añadirse a un flujo de bits. Por ejemplo, se puede seleccionar un método de procesamiento de datos de entre un método para retirar simplemente una región a eliminar, un método para retirar una región a eliminar después de usar la región en una serie de procesos, y similares, y se puede generar información de selección relacionada. También, el método de procesamiento de datos se puede determinar implícitamente.
[0310] Por ejemplo, un método de procesamiento de datos aplicado a todas las regiones (en este caso, las regiones TL a BR en la sección 7B de la figura 7), que se han de eliminar junto con la reducción a través del redimensionamiento de imagen, puede ser uno del método de simplemente retirar una región a eliminar, el método de retirar una región a eliminar después de usar la región en una serie de procesos, y similares, y se puede generar información de selección relacionada. También, el método de procesamiento de datos se puede determinar implícitamente.
[0311] Como alternativa, un método de procesamiento de datos aplicado a cada una de las regiones (en este caso, cada una de las regiones TL a BR en la sección 7B de la figura 7), que se ha de eliminar junto con la reducción a través del redimensionamiento de imagen, puede ser uno del método de simplemente retirar una región a eliminar, el método de retirar una región a eliminar después de usar la región en una serie de procesos, y similares, y se puede generar información de selección relacionada. También, el método de procesamiento de datos se puede determinar implícitamente.
[0312] 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 se puede aplicar a un ejemplo en el que se realiza una operación de redimensionamiento (en este caso, expansión) y a continuación se realiza una operación de redimensionamiento inversa (en este caso, reducción).
[0313] Por ejemplo, se puede seleccionar un método para rellenar una región generada junto con la expansión con algunos datos de la imagen, y a continuación se puede seleccionar un método para retirar una región a eliminar junto con la reducción en el proceso inverso después de usar la región en un proceso de restauración o corrección de algunos datos de la imagen. Como alternativa, se puede seleccionar un método de relleno de una región generada junto con expansión copiando píxeles exteriores, y a continuación se puede seleccionar un método de simplemente retirar una región a eliminar junto con reducción en el proceso inverso. Es decir, basándose en el método de procesamiento de datos seleccionado en el proceso de redimensionamiento de imagen, se puede determinar el método de procesamiento de datos en el proceso inverso.
[0314] A diferencia del ejemplo anterior, el método de procesamiento de datos del proceso de redimensionamiento de imagen y el método de procesamiento de datos del proceso inverso pueden tener una relación independiente. Es decir, independientemente del método de procesamiento de datos seleccionado en el proceso de redimensionamiento de imagen, se puede seleccionar el método de procesamiento de datos en el proceso inverso. Por ejemplo, se puede seleccionar un método para rellenar una región generada junto con expansión usando algunos datos de la imagen, y a continuación se puede seleccionar un método de simplemente retirar una región a eliminar junto con reducción en el proceso inverso.
[0315] De acuerdo con la presente invención, el método de procesamiento de datos durante el proceso de redimensionamiento de imagen se puede determinar implícitamente de acuerdo con ajustes de codificación/descodificación, y el método de procesamiento de datos durante el proceso inverso se puede determinar implícitamente de acuerdo con ajustes de codificación/descodificación. Como alternativa, el método de procesamiento de datos durante el proceso de redimensionamiento de imagen se puede generar explícitamente, y el método de procesamiento de datos durante el proceso inverso se puede generar explícitamente. Como alternativa, el método de procesamiento de datos durante el proceso de redimensionamiento de imagen se puede generar explícitamente, y basándose en el método de procesamiento de datos, el método de procesamiento de datos durante el proceso inverso se puede determinar implícitamente.
[0316] A continuación, se describirá un ejemplo en el que se realiza redimensionamiento de imagen en el aparato de codificación/descodificación de acuerdo con una realización de la presente invención. En la siguiente descripción, como un ejemplo, el proceso de redimensionamiento indica expansión, y el proceso de redimensionamiento inverso indica reducción. También, una diferencia entre una imagen antes del redimensionamiento y una imagen después del redimensionamiento se puede referir a 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 dependiendo de los ajustes de codificación/descodificación. También, la información relacionada con el redimensionamiento puede incluir información con respecto a un proceso de redimensionamiento y un proceso de redimensionamiento inverso.
[0317] Como un primer ejemplo, se puede realizar un proceso de redimensionamiento de una imagen de entrada antes de que se inicie la codificación. La imagen de entrada se puede redimensionar usando información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un método de procesamiento de datos, etc.; el método de procesamiento de datos se usa durante el proceso de redimensionamiento) y a continuación se puede codificar. Los datos de codificación de imágenes (en este caso, una imagen después de redimensionar) se pueden almacenar en la memoria después de que se completa la codificación, y se pueden añadir a un flujo de bits y a continuación transmitirse.
[0319] Se puede realizar un proceso de redimensionamiento antes de que se inicie la descodificación. Los datos de descodificación de imágenes se pueden redimensionar usando 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 se pueden analizar para descodificarse. La imagen de salida se puede almacenar en la memoria después de que se complete la descodificación, y se puede cambiar a la imagen antes del redimensionamiento realizando el proceso de redimensionamiento inverso (en este caso, se usa un método de procesamiento de datos o similar; esto se usa en el proceso de redimensionamiento inverso).
[0321] Como un segundo ejemplo, se puede realizar un proceso de redimensionamiento de una imagen de referencia antes de que se inicie la codificación. La imagen de referencia se puede redimensionar usando información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un método de procesamiento de datos, etc.; el método de procesamiento de datos se usa durante el proceso de redimensionamiento) y a continuación se puede almacenar en la memoria (en este caso, la imagen de referencia redimensionada). Una imagen se puede codificar usando la imagen de referencia redimensionada. Después de que se completa la codificación, se pueden añadir datos de codificación de imágenes (en este caso, datos adquiridos a través de codificación usando la imagen de referencia) a un flujo de bits y, a continuación, transmitirse. También, cuando la imagen codificada se almacena en la memoria como una imagen de referencia, se puede realizar el proceso de redimensionamiento anterior.
[0323] Antes de que se inicie la descodificación, se puede realizar un proceso de redimensionamiento para la imagen de referencia. La imagen de referencia se puede redimensionar usando información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un método de procesamiento de datos, etc.; el método de procesamiento de datos se usa durante el proceso de redimensionamiento) y a continuación se puede almacenar en la memoria (en este caso, la imagen de referencia redimensionada). Los datos de descodificación de imágenes (en este caso, que se codifican por el codificador usando la imagen de referencia) se pueden analizar para descodificarse. Después de que se completa la descodificación, se puede generar una imagen de salida. Cuando la imagen descodificada se almacena en la memoria como una imagen de referencia, se puede realizar el proceso de redimensionamiento anterior.
[0325] Como un tercer ejemplo, el proceso de redimensionamiento se puede realizar en una imagen antes de filtrar la imagen (en este caso, se supone un filtro de desbloqueo) y después de la codificación (en detalle, después de que se completa la codificación, excluyendo un proceso de filtrado). La imagen se puede redimensionar usando información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un método de procesamiento de datos, etc.; el método de procesamiento de datos se usa durante el redimensionamiento), y a continuación se puede generar la imagen después del redimensionamiento y a continuación filtrarse. Después de que se completa el filtrado, se realiza el proceso de redimensionamiento inverso de modo que la imagen después del redimensionamiento se puede cambiar a la imagen antes del redimensionamiento.
[0326] Después de que se completa la descodificación (en detalle, después de que se completa la descodificación, excluyendo un proceso de filtrado), y antes del filtrado, se puede realizar el proceso de redimensionamiento en la imagen. La imagen se puede redimensionar usando información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un método de procesamiento de datos, etc.; el método de procesamiento de datos se usa durante el redimensionamiento), y a continuación se puede generar la imagen después del redimensionamiento y a continuación filtrarse. Después de que se completa el filtrado, se realiza el proceso de redimensionamiento inverso de modo que la imagen después del redimensionamiento se puede cambiar a la imagen antes del redimensionamiento.
[0328] En algunos casos (el primer ejemplo y el tercer ejemplo), se puede realizar el proceso de redimensionamiento y el proceso de redimensionamiento inverso. En otros casos (el segundo ejemplo), únicamente se puede realizar el proceso de redimensionamiento.
[0329] También, en algunos casos (el segundo ejemplo y el tercer ejemplo), se puede aplicar el mismo proceso de redimensionamiento al codificador y descodificador. En otros casos (el primer ejemplo), se pueden aplicar los mismos o diferentes procesos de redimensionamiento al codificador y descodificador. En este caso, los procesos de redimensionamiento del codificador y el descodificador pueden diferir en términos de la etapa de realización de redimensionamiento. Por ejemplo, en algunos casos (en este caso, el codificador), se puede incluir la etapa de realización de redimensionamiento que considera el redimensionamiento de imagen y el procesamiento de datos para una región redimensionada. En otros casos (en este caso, el descodificador), se puede incluir la etapa de realización de redimensionamiento que considera el redimensionamiento de imagen. En este caso, el primer procesamiento de datos puede corresponder al último procesamiento de datos durante el proceso de redimensionamiento inverso. También, en algunos casos (el tercer ejemplo), el proceso de redimensionamiento se puede aplicar únicamente a una etapa correspondiente, y una región redimensionada se puede no almacenar en la memoria. Por ejemplo, para usar una región redimensionada en un proceso de filtrado, la región redimensionada se puede almacenar en una memoria temporal, filtrarse y, a continuación, eliminarse a través del proceso de redimensionamiento inverso. En este caso, no hay cambio en el tamaño de la imagen debido al redimensionamiento. La presente invención no se limita al ejemplo anterior, y se pueden realizar modificaciones al mismo.
[0330] El tamaño de la imagen se puede cambiar a través del proceso de redimensionamiento y, por lo tanto, las coordenadas de algunos píxeles de la imagen se pueden cambiar a través del proceso de redimensionamiento. Esto puede afectar a la operación 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 se puede realizar basándose en una imagen antes de redimensionar o una imagen después de redimensionar. También, la partición basada en unidades (por ejemplo, mosaico, segmento, etc.) se puede realizar basándose en una imagen antes de redimensionar o una imagen después de redimensionar, que se puede determinar de acuerdo con ajustes de codificación/descodificació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 imagen opera basándose en la imagen después de redimensionar (por ejemplo, el proceso de partición de imagen después del proceso de redimensionamiento), pero se pueden realizar otras modificaciones. El ejemplo anterior se describirá en una pluralidad de ajustes de imagen que se describirán a continuación.
[0331] El codificador puede añadir la información generada durante el proceso anterior a un flujo de bits en unidades de al menos una de secuencias, imágenes, segmentos, mosaicos y similares, y el descodificador puede analizar información relacionada desde el flujo de bits. También, la información se puede incluir en el flujo de bits en forma de SEI o metadatos.
[0332] En general, una imagen de entrada se puede codificar o descodificar tal cual o después de la reconstrucción de imagen. Por ejemplo, la reconstrucción de imagen se puede realizar para mejorar la eficiencia de codificación de imágenes, la reconstrucción de imagen se puede realizar para considerar entornos de red y de usuario, y la reconstrucción de imagen se puede realizar de acuerdo con el tipo, características y similares de una imagen.
[0333] 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 se puede derivar a la inversa del proceso de reconstrucción.
[0334] La figura 10 es un diagrama de ejemplo de reconstrucción de imagen de acuerdo con una realización de la presente invención.
[0335] Se supone 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 rota un ángulo predeterminado que incluye 0 grados (por ejemplo, un grupo de candidatos se puede generar muestreando 360 grados en k secciones; k puede tener un valor de 2, 4, 8, o similares; en este ejemplo, se supone 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.
[0336] La posición de inicio u orden de exploración de una imagen se puede cambiar dependiendo de la reconstrucción de imagen, pero la posición de inicio y el orden de exploración se pueden predeterminar independientemente de la reconstrucción, que se puede determinar de acuerdo con ajustes de codificación/descodificación. La siguiente realización supone que la posición de inicio (por ejemplo, una posición superior izquierda de la imagen) y el orden de exploración (por ejemplo, exploración de trama) están predeterminados independientemente de la reconstrucción de imagen.
[0337] El método de codificación de imágenes y el método de descodificación de imágenes 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 imagen puede incluir una etapa de indicación de reconstrucción de imagen, una etapa de identificación de tipo de reconstrucción de imagen y una etapa de realización de reconstrucción de imagen. Además, el aparato de codificación de imágenes y el aparato de descodificación de imágenes se pueden configurar para incluir una parte de indicación de reconstrucción de imagen, una parte de identificación de tipo de reconstrucción de imagen y una parte de realización de reconstrucción de imagen, que realizan la etapa de indicación de reconstrucción de imagen, la etapa de identificación de tipo de reconstrucción de imagen y la etapa de realización de reconstrucción de imagen, respectivamente. Para la codificación, se puede generar un elemento de sintaxis relacionado. Para la descodificación, se puede analizar un elemento de sintaxis relacionado.
[0338] En la etapa de indicación de reconstrucción de imagen, se puede determinar si realizar reconstrucción de imagen. Por ejemplo, cuando se confirma una señal que indica reconstrucción de imagen (por ejemplo, convert_enabled_flag), se puede realizar la reconstrucción. Cuando no se confirma la señal que indica la reconstrucción de imagen, la reconstrucción se puede no realizar, o la reconstrucción se puede realizar confirmando otra información de codificación/descodificación. También, aunque no se proporciona la señal que indica reconstrucción de imagen, la señal que indica reconstrucción de imagen se puede activar o desactivarse implícitamente de acuerdo con ajustes de codificación/descodificación (por ejemplo, las características, tipo y similares de una imagen). Cuando se realiza la reconstrucción, se puede generar información relacionada con la reconstrucción correspondiente o se puede determinar implícitamente.
[0339] Cuando se proporciona la señal que indica la reconstrucción de imagen, la señal correspondiente es una señal para indicar si realizar la reconstrucción de imagen. Si reconstruir una imagen correspondiente se puede determinar de acuerdo con la señal. Por ejemplo, se supone que se confirma la señal que indica reconstrucción de imagen (por ejemplo, convert_enabled_flag). Cuando se activa la correspondiente señal (por ejemplo, convert_enabled_flag = 1), se puede realizar la reconstrucción. Cuando se desactiva la señal correspondiente (por ejemplo, convert_enabled_flag = 0), se puede no realizar la reconstrucción.
[0340] También, cuando no se proporciona la señal que indica reconstrucción de imagen, la reconstrucción se puede no realizar, o si reconstruir la imagen correspondiente se puede determinar por otra señal. Por ejemplo, la reconstrucción se puede realizar de acuerdo con las características, tipo y similares de una imagen (por ejemplo, una imagen de 360 grados), y la información de reconstrucción se puede generar explícitamente o se puede asignar como un valor predeterminado. La presente invención no se limita al ejemplo anterior, y se pueden realizar modificaciones al 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 imagen se puede definir por un método de reconstrucción, información de modo de reconstrucción y similares. El método de reconstrucción (por ejemplo, convert_type_flag) puede incluir volteo, rotación y similares, y la información de modo de reconstrucción puede incluir un modo del método de reconstrucción (por ejemplo, convert_mode). En este caso, la información relacionada con la reconstrucción puede estar compuesta por un método de reconstrucción e información de modo. Es decir, la información relacionada con la reconstrucción puede estar compuesta de al menos un elemento de sintaxis. En este caso, el número de grupos de candidatos para la información de modo puede ser el mismo o diferente dependiendo del método de reconstrucción.
[0341] Como un ejemplo, la rotación puede incluir candidatos que tienen intervalos regulares (en este caso, 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 este caso, que se miden en el sentido de las agujas del reloj).
[0342] Como un ejemplo, el volteo puede incluir candidatos como se muestra en las secciones 10A, 10E y 10F. Cuando la sección 10A no muestra volteo, las secciones 10E y 10F muestran un volteo horizontal y un volteo vertical, respectivamente.
[0343] En el ejemplo anterior, se han descrito ajustes para rotaciones que tienen intervalos regulares y ajustes para volteos. Sin embargo, esto es meramente un ejemplo de la reconstrucción de imagen, y la presente invención no se limita a la misma y puede incluir otra diferencia de intervalo, otra operación de volteo y similares, que se pueden determinar de acuerdo con ajustes de codificación/descodificación.
[0344] Como alternativa, se puede incluir información integrada (por ejemplo, convert_com_flag) que se genera mezclando el método de reconstrucción e información de modo correspondiente. En este caso, la información relacionada con la reconstrucción puede estar compuesta de manera mixta por un método de reconstrucción e información de 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, una rotación horizontal, y un volteo vertical con respecto a la sección 10A.
[0345] Como alternativa, 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 volteo horizontal, un volteo vertical, una rotación de 90 grados y a continuación un volteo horizontal (o un volteo horizontal y a continuación una rotación de 90 grados), y una rotación de 90 grados y a continuación un volteo vertical (o un volteo 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 volteo horizontal, una rotación de 180 grados y a continuación un volteo horizontal (o un volteo horizontal y a continuación una rotación de 180 grados), una rotación de 90 grados y a continuación un volteo horizontal (o un volteo horizontal y a continuación una rotación de 90 grados), y una rotación de 270 grados y a continuación un volteo horizontal (o un volteo horizontal y a continuación una rotación de 270 grados).
[0346] El grupo de candidatos se puede configurar para incluir un modo de rotación, un modo de volteo y un modo de combinación de rotación y volteo. El modo de combinación puede incluir simplemente información de modo en el método de reconstrucción y puede incluir un modo generado mezclando información de modo en cada método. En este caso, el modo de combinación puede incluir un modo generado mezclando al menos un modo de algunos métodos (por ejemplo, rotación) y al menos un modo de otros métodos (por ejemplo, volteo). En el ejemplo anterior, el modo de combinación incluye un caso generado combinando un modo de algunos métodos con una pluralidad de modos de algunos métodos (en este caso, una rotación de 90 grados múltiples volteos/volteo horizontal múltiples rotaciones). La información construida de manera mixta puede incluir un caso en el que no se aplica la reconstrucción (en este caso, la sección 10A) como un grupo de candidatos, y el caso en el que no se aplica la reconstrucción se puede incluir como un primer grupo de candidatos (por ejemplo, se asigna n.° 0 como un índice).
[0347] Como alternativa, la información construida de manera mixta puede incluir información de modo que corresponde a un método de reconstrucción predeterminado. En este caso, la información relacionada con la reconstrucción puede estar compuesta de información de modo que corresponde a un método de reconstrucción predeterminado. Es decir, se puede omitir información con respecto al método de reconstrucción, y la información relacionada con la reconstrucción puede estar compuesta de un elemento de sintaxis asociado con la información de modo.
[0348] Por ejemplo, la información relacionada con la reconstrucción se puede configurar para incluir candidatos específicos de rotación como se muestra en las secciones 10A a 10D. Como alternativa, la información relacionada con la reconstrucción se puede configurar para incluir candidatos específicos de volteo como se muestra en las secciones 10A, 10E y 10F.
[0349] 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 se puede determinar de acuerdo con ajustes de codificación/descodificación. El proceso de reconstrucción de imagen puede ser un proceso de reorganización de píxeles en una imagen (en este caso, se realiza un proceso de reorganización de píxeles inverso durante un proceso de reconstrucción de imagen inversa; esto se puede derivar a la inversa del proceso de reorganización de píxeles) y, por lo tanto, la ubicación de al menos un píxel se puede cambiar. La reorganización de píxeles se puede realizar de acuerdo con una regla basándose en la información de tipo de reconstrucción de imagen. En este caso, el proceso de reorganización de píxeles se puede ver afectado por el tamaño y la forma (por ejemplo, cuadrado o rectángulo) de una imagen. En detalle, la anchura y altura de una imagen antes del proceso de reconstrucción y la anchura y altura de una imagen después del proceso de reconstrucción pueden actuar como variables durante el proceso de reorganización de píxeles.
[0350] Por ejemplo, la información de relación con respecto a al menos una de una relación de la anchura de la imagen antes del proceso de reconstrucción a la anchura de la imagen después del proceso de reconstrucción, una relación de la anchura de la imagen antes del proceso de reconstrucción a la altura de la imagen después del proceso de reconstrucción, una relación de la altura de la imagen antes del proceso de reconstrucción a la anchura de la imagen después del proceso de reconstrucción, y una relación de la altura de la imagen antes del proceso de reconstrucción a la altura de la imagen después del proceso de reconstrucción (por ejemplo, el primero/el último o el último/el primero) puede actuar como variables durante el proceso de reorganización de píxeles.
[0351] 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 de la anchura de la imagen a la altura de la imagen puede actuar como una variable durante el proceso de reorganización de píxeles. También, cuando la imagen tiene la forma de un cuadrado, una relación de la longitud de la imagen antes del proceso de reconstrucción a la longitud de la imagen después del proceso de reconstrucción puede actuar como una variable durante el proceso de reorganización de píxeles.
[0352] En la etapa de realización de reconstrucción de imagen, se puede realizar reconstrucción de imagen basándose en información de reconstrucción identificada. Es decir, la reconstrucción de imagen se puede realizar basándose en información con respecto a un tipo de reconstrucción, un modo de reconstrucción y similares, y la codificación/descodificación se puede realizar basándose en la imagen reconstruida adquirida.
[0353] A continuación, se describirá un ejemplo en el que se realiza reconstrucción de imagen en el aparato de codificación/descodificación de acuerdo con una realización de la presente invención.
[0354] Un proceso de reconstrucción de una imagen de entrada se puede realizar antes de que se inicie la codificación. La reconstrucción se puede realizar usando información de reconstrucción (por ejemplo, un tipo de reconstrucción de imagen, un modo de reconstrucción, etc.), y la imagen reconstruida se puede codificar. Los datos de codificación de imágenes se pueden almacenar en la memoria después de que se completa la codificación, y se pueden añadir a un flujo de bits y a continuación transmitirse.
[0356] Se puede realizar un proceso de reconstrucción antes de que se inicie la descodificación. La reconstrucción se puede realizar usando información de reconstrucción (por ejemplo, un tipo de reconstrucción de imagen, un modo de reconstrucción, etc.), y los datos de descodificación de imágenes se pueden analizar para descodificarse. La imagen se puede almacenar en la memoria después de que se complete la descodificación y se puede cambiar a la imagen antes de la reconstrucción realizando un proceso de reconstrucción inversa y a continuación emitirse.
[0358] El codificador puede añadir la información generada durante el proceso anterior a un flujo de bits en unidades de al menos una de secuencias, imágenes, segmentos, mosaicos y similares, y el descodificador puede analizar información relacionada desde el flujo de bits. También, la información se puede incluir en el flujo de bits en forma de SEI o metadatos.
[0359] [Tabla 1]
[0362]
[0365] La Tabla 1 representa elementos de sintaxis de ejemplo asociados con partición entre ajustes de imagen. La siguiente descripción se centrará en un elemento de sintaxis adicional. También, en el siguiente ejemplo, un elemento de sintaxis no está limitado a ninguna unidad específica y se puede soportar en diversas unidades tales como una secuencia, una imagen, un segmento y un mosaico. Como alternativa, el elemento de sintaxis se puede incluir en SEI, metadatos y similares. También, el tipo, orden, condición y similares del elemento de sintaxis soportado en el siguiente ejemplo están limitados únicamente al ejemplo y, por lo tanto, se pueden cambiar y determinarse de acuerdo con ajustes de codificación/descodificación.
[0367] En la Tabla 1, tile_header_enabled_flag indica un elemento de sintaxis que indica si soportar ajustes de codificación/descodificación para un mosaico. Cuando se activa el elemento de sintaxis (tile_header_enabled_flag = 1), se pueden proporcionar ajustes de codificación/descodificación en una unidad de mosaicos. Cuando el elemento de sintaxis está desactivado (tile_header_enabled_flag = 0), no se pueden proporcionar los ajustes de codificación/descodificación en una unidad de mosaico, y se pueden asignar ajustes de codificación/descodificación en una unidad superior.
[0369] También, tile_coded_flag indica un elemento de sintaxis que indica si codificar o descodificar un mosaico. Cuando se activa el elemento de sintaxis (tile_coded_flag = 1), se puede codificar o descodificar un mosaico correspondiente. Cuando se desactiva el elemento de sintaxis (tile_coded_flag = 0), el mosaico correspondiente no se puede codificar o descodificar. En este caso, la codificación que no se realiza puede significar que no se generan datos de codificación para un mosaico correspondiente (en este caso, se supone que una región correspondiente se procesa mediante una regla predeterminada y similares; aplicable a una región sin significado en algunos formatos de proyección de una imagen de 360 grados). La descodificación no realizada significa que los datos de descodificación en el mosaico correspondiente ya no se analizan (en este caso, se supone que la región correspondiente se procesa por una regla predeterminada). También, los datos de descodificación que ya no se analizan pueden significar que los datos de codificación no están presentes más en una unidad correspondiente y, por lo tanto, ya no se realiza más el análisis y también puede significar que, incluso aunque los datos de codificación están presentes, el análisis ya no se realiza más por la bandera. La información de encabezado de una unidad de mosaico se puede soportar de acuerdo con si codificar o descodificar un mosaico.
[0370] El ejemplo anterior se centró en un mosaico. Sin embargo, la presente invención no se limita a el mosaico, y la descripción anterior se puede modificar y a continuación aplicar a otras unidades de partición de la presente invención. También, un ejemplo de los ajustes de partición de mosaicos no se limita al caso anterior, y se pueden hacer modificaciones al mismo.
[0371] [Tabla 2]
[0373]
[0375] La Tabla 2 representa elementos de sintaxis de ejemplo asociados con la reconstrucción entre ajustes de imagen. Haciendo referencia a la Tabla 2, convert_enabled_flag indica un elemento de sintaxis que indica si realizar la reconstrucción. Cuando se activa el elemento de sintaxis (convert_enabled_flag = 1), se codifica o descodifica una imagen reconstruida, y se puede comprobar información adicional relacionada con la reconstrucción. Cuando el elemento de sintaxis está desactivado (convert_enabled_flag = 0), se codifica o descodifica una imagen original. También, convert_type_flag indica información mixta con respecto a un método de reconstrucción e información de modo. Un método se puede determinar a partir de una pluralidad de grupos de candidatos para un método de aplicación de rotación, un método de aplicación de volteo y un método de aplicación de rotación y volteo.
[0376] [Tabla 3]
[0378]
[0381] La Tabla 3 representa elementos de sintaxis de ejemplo asociados con redimensionamiento entre ajustes de imagen. Haciendo referencia a la Tabla 3, pic_width_in_samples y pic_height_in_samples indican elementos de sintaxis que indican la anchura y la altura de una imagen. El tamaño de una imagen se puede comprobar a través de los elementos de sintaxis.
[0382] También, img_resizing_enabled_flag indica un elemento de sintaxis que indica si realizar redimensionamiento de imagen. Cuando se activa el elemento de sintaxis (img_resizing_enabled_flag = 1), se codifica o descodifica una imagen después del redimensionamiento, y se puede comprobar información adicional relacionada con el redimensionamiento. Cuando el elemento de sintaxis está desactivado (img_resizing_enabled_flag = 0), se codifica o descodifica una imagen original. También, el elemento de sintaxis puede indicar redimensionamiento para intrapredicción.
[0383] También, resizing_met_flag indica un método de redimensionamiento. Un método de redimensionamiento se puede determinar a partir de un grupo de candidatos tal como un método de redimensionamiento basado en factor de escala (resizing_met_flag = 0), un método de redimensionamiento basado en factor de desplazamiento (resizing_met_flag = 1) y similares.
[0384] También, resizing_mov_flag indica un elemento de sintaxis para una operación de redimensionamiento. Por ejemplo, se puede determinar una de expansión y reducción.
[0385] También, width_scale y height_scale indican factores de escala asociados con redimensionamiento horizontal y redimensionamiento vertical del redimensionamiento basado en factor de escala.
[0386] Además, top_height_offset y bottom_height_offset indican 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 factor de desplazamiento, y left_width_offset y right_width_offset indican 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 factor de desplazamiento. El tamaño de una imagen después del redimensionamiento se puede actualizar a través de la información relacionada con el redimensionamiento y la información de tamaño de imagen.
[0387] También, resizing_type_flag indica un elemento de sintaxis que indica un método de procesamiento de datos para una región redimensionada. El número de grupos de candidatos para el método de procesamiento de datos puede ser el mismo o diferente dependiendo del método de redimensionamiento y la operación de redimensionamiento.
[0388] Los procesos de ajuste de imagen aplicados al aparato de codificación/descodificación de imágenes descrito anteriormente se pueden realizar 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.
[0389] La figura 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 particionada (por ejemplo, una imagen proyectada durante la codificación de imágenes 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 imágenes de 360 grados. Es decir, se puede entender 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.
[0390] En este ejemplo, la partición de imagen (en este caso, se supone un mosaico) y la reconstrucción de imagen se describirán como el proceso de ajuste de imagen.
[0391] En el siguiente ejemplo, la reconstrucción de imagen se realiza después de que se realice la partición de imagen. Sin embargo, de acuerdo con ajustes de codificación/descodificación, la partición de imagen se puede realizar después de que se realice la reconstrucción de imagen, y se pueden realizar modificaciones a la misma. También, el proceso de reconstrucción de imagen descrito anteriormente (incluyendo el proceso inverso) se puede aplicar de manera idéntica o similar al proceso de reconstrucción en las unidades de partición en la imagen en esta realización.
[0392] La reconstrucción de imagen se puede o no realizar en todas las unidades de partición en la imagen y se puede realizar en algunas unidades de partición. Por consiguiente, una unidad de partición antes de la reconstrucción (por ejemplo, alguna de P0 a P5) puede o no ser la misma que una unidad de partición después de la reconstrucción (por ejemplo, alguna de S0 a S5). A través del siguiente ejemplo, se describirán diversos casos de reconstrucción de imagen. También, por conveniencia de descripción, se supone que la unidad de una imagen es una imagen, la unidad de una imagen particionada es un mosaico, y una unidad de partición tiene la forma de un rectángulo.
[0393] Como un ejemplo, se puede determinar si realizar reconstrucción de imagen en algunas unidades (por ejemplo, sps_convert_enabled_flag o SEI o metadatos, etc.). Como alternativa, se puede determinar si realizar reconstrucción de imagen en algunas unidades (por ejemplo, pps_convert_enabled_flag). Esto se puede permitir cuando se produce en una unidad correspondiente (en este caso, una imagen) por primera vez o cuando se activa en una unidad superior (por ejemplo, sps_convert_enabled_flag = 1). Como alternativa, se puede determinar si realizar reconstrucción de imagen en algunas unidades (por ejemplo, tile_convert_flag[i]; i es un índice de unidad de partición). Esto se puede permitir cuando se produce en una unidad correspondiente (en este caso, un mosaico) por primera vez o cuando se activa en una unidad superior (por ejemplo, pps_convert_enabled_flag = 1). También, parcialmente, se puede determinar implícitamente si realizar reconstrucción de imagen de acuerdo con ajustes de codificación/descodificación, y, por lo tanto, se puede omitir información relacionada.
[0394] Como un ejemplo, si reconstruir unidades de partición en una imagen se puede determinar de acuerdo con una señal que indica reconstrucción de imagen (por ejemplo, pps_convert_enabled_flag). En detalle, se puede determinar si reconstruir todas las unidades de partición en la imagen de acuerdo con la señal. En este caso, se puede generar en la imagen una única señal que indica reconstrucción de imagen.
[0395] Como un ejemplo, si reconstruir unidades de partición en una imagen se puede determinar de acuerdo con una señal que indica reconstrucción de imagen (por ejemplo, tile_convert_flag[i]). En detalle, se puede determinar si reconstruir algunas de las unidades de partición en la imagen de acuerdo con la señal. En este caso, se puede generar al menos una señal que indica reconstrucción de imagen (por ejemplo, un número de señales igual al número de unidades de partición).
[0396] Como ejemplo, se puede determinar si reconstruir una imagen de acuerdo con una señal que indica reconstrucción de imagen (por ejemplo, pps_convert_enabled_flagi]), y se puede determinar si reconstruir unidades de partición en una imagen de acuerdo con una señal que indica reconstrucción de imagen (por ejemplo, tile_convert_flag[i]). En detalle, cuando se activa cualquier señal (por ejemplo, pps_convert_enabled_flag = 1), se puede comprobar adicionalmente cualquier otra señal (por ejemplo, tile_convert_flag[i]), y se puede determinar si reconstruir algunas de las unidades de partición en la imagen de acuerdo con la señal (en este caso, tile_convert_flag[i]). En este caso, se puede generar una pluralidad de señales que indican reconstrucción de imagen.
[0397] Cuando se activa la señal que indica reconstrucción de imagen, se puede generar información relacionada con reconstrucción de imagen. En el siguiente ejemplo, se describirá una diversidad de información relacionada con la reconstrucción de imagen.
[0398] Como un ejemplo, se puede generar información de reconstrucción aplicada a una imagen. En detalle, se puede usar una pieza de información de reconstrucción como información de reconstrucción para todas las unidades de partición en la imagen.
[0399] Como un ejemplo, se puede generar información de reconstrucción aplicada a unidades de partición en una imagen. En detalle, se puede usar al menos una pieza de información de reconstrucción como información de reconstrucción para algunas de las unidades de partición en la imagen. Es decir, se puede usar una pieza de información de reconstrucción como información de reconstrucción para una unidad de partición o se puede usar una porción de información de reconstrucción 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 imagen. Por ejemplo, cuando se activa la señal que indica reconstrucción de imagen (por ejemplo, pps_convert_enabled_flag), se puede generar información de reconstrucción aplicada en común a unidades de partición en una imagen. Como alternativa, cuando se activa la señal que indica reconstrucción de imagen (por ejemplo, pps_convert_enabled_flag), se puede generar información de reconstrucción aplicada individualmente a las unidades de partición en la imagen. Como alternativa, cuando se activa la señal que indica reconstrucción de imagen (por ejemplo, tile_convert_flag[i]), se puede generar información de reconstrucción aplicada individualmente a las unidades de partición en la imagen. Como alternativa, cuando se activa la señal que indica reconstrucción de imagen (por ejemplo, tile_convert_flag[i]), se puede generar información de reconstrucción aplicada en común a las unidades de partición en la imagen.
[0400] La información de reconstrucción se puede procesar implícita o explícitamente dependiendo de los ajustes de codificación/descodificación. Para el procesamiento implícito, la información de reconstrucción se puede asignar como un valor predeterminado dependiendo de las características, tipo y similares de la imagen.
[0401] P0 a P5 en la sección 11A puede corresponder a S0 a S5 en la sección 11B, y el proceso de reconstrucción se puede realizar en unidades de partición. Por ejemplo, P0 se puede no reconstruir y, a continuación, se puede asignar a S0. P1 se puede girar 90 grados y a continuación se puede asignar a S1. P2 se puede girar 180 grados y a continuación se puede asignar a S2. P3 se puede voltear horizontalmente y a continuación se puede asignar a S3. P4 se puede girar 90 grados y voltearse horizontalmente y a continuación se puede asignar a S4. P5 se puede girar 180 grados y voltearse horizontalmente y a continuación se puede asignar a S5.
[0402] Sin embargo, la presente invención no se limita al ejemplo anterior, y se pueden realizar diversas modificaciones al mismo. Como el ejemplo anterior, las unidades de partición en la imagen se pueden no reconstruir, o se puede realizar al menos una de reconstrucción usando rotación, reconstrucción usando volteo y reconstrucción usando rotación y volteo en combinación.
[0403] Cuando se aplica reconstrucción de imagen a unidades de partición, se puede realizar un proceso de reconstrucción adicional tal como reorganización de unidad de partición. Es decir, el proceso de reconstrucción de imagen de acuerdo con la presente invención se puede configurar para incluir la reorganización de unidades de partición en una imagen, así como la reorganización de píxeles en una imagen y se puede representar usando algunos elementos de sintaxis en la Tabla 4 (por ejemplo, part_top, part_left, part_width, part_height y similares). Esto significa que el proceso de partición de imagen y el proceso de reconstrucción de imagen se pueden entender en combinación. En el ejemplo anterior, se ha descrito que una imagen se particiona en una pluralidad de unidades.
[0404] P0 a P5 en la sección 11A puede corresponder a S0 a S5 en la sección 11B, y el proceso de reconstrucción se puede realizar en unidades de partición. Por ejemplo, P0 se puede no reconstruir y, a continuación, se puede asignar a S0. P1 se puede no reconstruir y, a continuación, se puede asignar a S2. P2 se puede girar 90 grados y a continuación se puede asignar a S1. P3 se puede voltear horizontalmente y a continuación se puede asignar a S4. P4 se puede girar 90 grados y voltearse horizontalmente y a continuación se puede asignar a S5. P5 se puede voltear horizontalmente y a continuación rotarse 180 grados y a continuación se puede asignar a S3. La presente invención no se limita a lo mismo, y también se pueden realizar diversas modificaciones a la misma.
[0405] Además, P_Width y P_Height de la figura 7 pueden corresponder a P_Width y P_Height de la figura 11, y P'_Width y P'_Height de la figura 7 pueden corresponder a P'_Width y P'_Height de la figura 11. El tamaño de la imagen después del redimensionamiento en la figura 7, que es P'_Width × P'_Height, se puede expresar como (P_Width Exp_L Exp_R) × (P_Height Exp_T Exp_B), y el tamaño de la imagen después del redimensionamiento en la figura 11, que es P'_Width × P'_Height, se puede expresar como (P_Width Var0_L Var1_L Var2_L Var0_R Var1_R Var2_R) × (P_Height Var0_T Var1_T Var0_B Var1_B) o (Sub_PO_Width Sub_P1_Width Sub_P2_Width Var0_L Var1_L Var2_L Var0_R Var1_R Var2_R) × (Sub_PO_Height Sub_P1_Height Var0_T Var1_T Var0_B Var1_B).
[0406] Al igual que el ejemplo anterior, para la reconstrucción de imagen, se puede realizar la reorganización de píxeles en unidades de partición de una imagen, se puede realizar la reorganización de unidades de partición en una imagen, y se puede realizar tanto la reorganización de píxeles en unidades de partición de una imagen como la reorganización de la unidad de partición en una imagen. En este caso, se puede realizar la reorganización de unidades de partición en una imagen después de que se realiza la reorganización de píxeles en unidades de partición, o se puede realizar la reorganización de píxeles en unidades de partición después de que se realiza la reorganización de unidades de partición en una imagen.
[0407] Si realizar la reorganización de unidades de partición en una imagen se puede determinar de acuerdo con una señal que indica reconstrucción de imagen. Como alternativa, se puede generar una señal para la reorganización de las unidades de partición en la imagen. En detalle, cuando se activa una señal que indica reconstrucción de imagen, se puede generar la señal. Como alternativa, la señal se puede procesar implícita o explícitamente dependiendo de los ajustes de codificación/descodificación. Para el procesamiento implícito, la señal se puede determinar dependiendo de las características, tipo y similares de la imagen.
[0408] También, la información con respecto a la reorganización de unidades de partición en una imagen se puede realizar implícita o explícitamente dependiendo de ajustes de codificación/descodificación y se puede determinar de acuerdo con las características, tipo y similares de la imagen. Es decir, cada una de las unidades de partición se puede disponer de acuerdo con información de disposición predeterminada para las unidades de partición.
[0409] 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/descodificación de acuerdo con una realización de la presente invención.
[0410] Se puede realizar un proceso de partición en una imagen de entrada usando información de partición antes de que se inicie la codificación. Se puede realizar un proceso de reconstrucción en unidades de partición usando información de reconstrucción, y se puede codificar una imagen reconstruida para cada unidad de partición. Los datos de codificación de imágenes se pueden almacenar en la memoria después de que se completa la codificación, y se pueden añadir a un flujo de bits y a continuación transmitirse.
[0411] Se puede realizar un proceso de partición usando información de partición antes de que se inicie la descodificación. Se puede realizar un proceso de reconstrucción en unidades de partición usando información de reconstrucción, y los datos de descodificación de imágenes se pueden analizar para descodificarse en las unidades de partición reconstruidas. Los datos de descodificación de imágenes se pueden almacenar en la memoria después de que se complete la descodificación, y una pluralidad de unidades de partición se fusionan en una única unidad después de que se realiza un proceso de reconstrucción inversa en las unidades de partición, y, por lo tanto, se puede emitir una imagen.
[0412] La figura 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 la figura 12 corresponden a P0 a P5 de la figura 11, y S0 a S5 de la figura 12 corresponden a S0 a S5 de la figura 11.
[0413] En el siguiente ejemplo, la descripción se centrará en un caso en el que se realiza el redimensionamiento de imagen después de que se realiza la partición de imagen. Sin embargo, la partición de imagen se puede realizar después de que se realiza el redimensionamiento de imagen, dependiendo de los ajustes de codificación/descodificación, y se pueden realizar modificaciones a la misma. También, el proceso de redimensionamiento de imagen descrito anteriormente (incluyendo el proceso inverso) se puede aplicar de manera idéntica o similar al proceso de redimensionamiento de unidad de partición de imagen en esta realización.
[0414] Por ejemplo, TL a BR de la figura 7 pueden corresponder a TL a BR de las unidades de partición SX (S0 a S5) de la figura 12. S0 y S1 de la figura 7 pueden corresponder a PX y SX de la figura 12. P_Width y P_Height de la figura 7 pueden corresponder a Sub_PX_Width y Sub_PX_Height de la figura 12. P'_Width y P'_Height de la figura 7 pueden corresponder a Sub_SX_Width y Sub_SX_Height de la figura 12. Exp_L, Exp_R, Exp_T y Exp_B de la figura 7 pueden corresponder a VarX_L, VarX_R, VarX_T y VarX_B de la figura 12, y pueden corresponder otros factores.
[0415] El proceso de redimensionamiento de unidades de partición en la imagen en las secciones 12A a 12F puede diferir de la expansión o reducción de imagen en las secciones 7A y 7B de la figura 7 en que los ajustes para la expansión o reducción de imagen pueden estar presentes en proporción al número de unidades de partición. También, el proceso de redimensionamiento de unidades de partición en la imagen puede diferir de la expansión o reducción de imagen en términos de tener ajustes aplicados en común o individualmente a las unidades de partición en la imagen. En el siguiente ejemplo, se describirán diversos casos de redimensionamiento, y el proceso de redimensionamiento se puede realizar teniendo en cuenta la descripción anterior.
[0416] De acuerdo con la presente invención, el redimensionamiento de imagen se puede realizar o no en todas las unidades de partición en la imagen y se puede realizar en algunas unidades de partición. A través del siguiente ejemplo, se describirán diversos casos de redimensionamiento de imagen. Además, por conveniencia de la descripción, se supone 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 imagen, y la unidad de una imagen particionada es un mosaico.
[0417] Como un ejemplo, si realizar redimensionamiento de imagen se puede determinar en algunas unidades (por ejemplo, sps_img_resizing_enabled_flag o SEI o metadatos, etc.). Como alternativa, si realizar redimensionamiento de imagen se puede determinar en algunas unidades (por ejemplo, pps_img_resizing_enabled_flag). Esto se puede permitir cuando se produce en una unidad correspondiente (en este caso, una imagen) por primera vez o cuando se activa en una unidad superior (por ejemplo, sps_img_resizing_enabled_flag = 1). Como alternativa, se puede determinar si realizar redimensionamiento de imagen en algunas unidades (por ejemplo, tile_resizing_flag[i]; i es un índice de unidad de partición). Esto se puede permitir cuando se produce en una unidad correspondiente (en este caso, un mosaico) por primera vez o cuando se activa en una unidad superior. También, parcialmente, si realizar redimensionamiento de imagen se puede determinar implícitamente de acuerdo con ajustes de codificación/descodificación, y, por lo tanto, se puede omitir información relacionada.
[0418] Como un ejemplo, si redimensionar unidades de partición en una imagen se puede determinar de acuerdo con una señal que indica redimensionamiento de imagen (por ejemplo, pps_img_resizing_enabled_flag). En detalle, se puede determinar si redimensionar todas las unidades de partición en una imagen de acuerdo con la señal. En este caso, se puede generar una única señal que indica el redimensionamiento de imagen.
[0419] Como un ejemplo, si redimensionar unidades de partición en una imagen se puede determinar de acuerdo con una señal que indica redimensionamiento de imagen (por ejemplo, tile_resizing_flag[i]). En detalle, se puede determinar si redimensionar algunas unidades de partición en una imagen de acuerdo con la señal. En este caso, se puede generar al menos una señal que indica redimensionamiento de imagen (por ejemplo, un número de señales igual al número de unidades de partición).
[0420] Como un ejemplo, se puede determinar si redimensionar una imagen de acuerdo con una señal que indica el redimensionamiento de la imagen (por ejemplo, pps_img_resizing_enabled_flag), y se puede determinar si redimensionar unidades de partición en una imagen de acuerdo con una señal que indica el redimensionamiento de la imagen (por ejemplo, tile_resizing_flag[i]). En detalle, cuando se activa cualquier señal (por ejemplo, pps_img_resizing_enabled_flag = 1), se puede comprobar adicionalmente cualquier otra señal (por ejemplo, tile_resizing_flag[i]), y se puede realizar el redimensionamiento de algunas unidades de partición en una imagen de acuerdo con la señal (en este caso, tile_resizing_flag[i]). En este caso, se puede generar una pluralidad de señales que indican el redimensionamiento de imagen.
[0421] Cuando se activa la señal que indica el redimensionamiento de imagen, se puede generar información relacionada con el redimensionamiento de imagen. En el siguiente ejemplo, se describirá una diversidad de información relacionada con el redimensionamiento de imagen.
[0422] Como un ejemplo, se puede generar información de redimensionamiento aplicada a una imagen. En detalle, se puede usar una pieza de información de redimensionamiento o un conjunto de piezas de información de redimensionamiento como información de redimensionamiento para todas las unidades de partición en 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, se puede generar 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).
[0423] Como un ejemplo, se puede generar información de redimensionamiento aplicada a unidades de partición en una imagen. En detalle, se puede usar al menos una pieza de información de redimensionamiento o un conjunto de piezas de información de redimensionamiento como información de redimensionamiento para todas las unidades de partición en una imagen. Es decir, se puede usar una pieza de información de redimensionamiento o un conjunto de piezas de información de redimensionamiento 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, se puede generar 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 se puede generar 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". Como alternativa, se puede generar 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 se puede generar 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 con respecto a al menos una dirección de redimensionamiento.
[0424] En resumen, se puede generar información de redimensionamiento aplicada en común a unidades de partición en una imagen. Como alternativa, se puede generar información de redimensionamiento aplicada individualmente a unidades de partición en una imagen. El siguiente ejemplo se describirá en combinación con un ejemplo en el que se realiza el redimensionamiento de imagen.
[0425] Por ejemplo, cuando se activa la señal que indica redimensionamiento de imagen (por ejemplo, pps_img_resizing_enabled_flag), se puede generar información de redimensionamiento aplicada en común a unidades de partición en una imagen. Como alternativa, cuando se activa la señal que indica redimensionamiento de imagen (por ejemplo, pps_img_resizing_enabled_flag), se puede generar información de redimensionamiento aplicada individualmente a unidades de partición en una imagen. Como alternativa, cuando se activa la señal que indica redimensionamiento de imagen (por ejemplo, tile_resizing_flag[i]), se puede generar información de redimensionamiento aplicada individualmente a unidades de partición en una imagen. Como alternativa, cuando se activa la señal que indica redimensionamiento de imagen (por ejemplo, tile_resizing_flag[i]), se puede generar información de redimensionamiento aplicada en común a unidades de partición en una imagen.
[0426] La dirección de redimensionamiento, la información de redimensionamiento y similares de la imagen se pueden procesar implícita o explícitamente dependiendo de los ajustes de codificación/descodificación. Para el procesamiento implícito, la información de redimensionamiento se puede asignar como un valor predeterminado dependiendo de las características, tipo y similares de la imagen.
[0427] 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 la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha" y la dirección de redimensionamiento y la información de redimensionamiento se pueden procesar explícita o implícitamente. Es decir, se puede predeterminar implícitamente un valor de redimensionamiento (incluyendo 0; esto significa que no hay redimensionamiento) para algunas direcciones, y se puede asignar explícitamente un valor de redimensionamiento (incluyendo 0; esto significa que no hay redimensionamiento) para otras direcciones.
[0428] Incluso en una unidad de partición en una imagen, la dirección de redimensionamiento y la información de redimensionamiento se pueden establecer para procesarse implícita o explícitamente, y esto se puede aplicar a la unidad de partición en la imagen. Por ejemplo, se puede producir un ajuste aplicado a una unidad de partición en una imagen (en este caso, se puede producir un número de ajustes igual al número de unidades de partición), se puede producir un ajuste aplicado a una pluralidad de unidades de partición en una imagen, o puede tener lugar un ajuste aplicado a todas las unidades de partición en una imagen (en este caso, puede tener lugar un ajuste) y, por último, puede tener lugar un ajuste en una imagen (por ejemplo, puede tener lugar de uno a un número de ajustes igual al número de unidades de partición). Se puede recopilar la información de ajuste aplicada a unidades de partición en una imagen, y se puede definir un único conjunto de ajustes.
[0429] La figura 13 es un diagrama de ejemplo de un conjunto de redimensionamientos o ajustes de una unidad de partición en una imagen.
[0430] En detalle, la figura 13 ilustra diversos ejemplos de procesamiento implícita o explícitamente de una dirección de redimensionamiento e información de redimensionamiento para particionar unidades en una imagen. En el siguiente ejemplo, por conveniencia de descripción, el procesamiento implícito supone que los valores de redimensionamiento de algunas direcciones de redimensionamiento son 0.
[0431] Como se muestra en la sección 13A, el redimensionamiento se puede procesar explícitamente cuando el límite de una unidad de partición coincide con el límite de una imagen (en este caso, una línea continua gruesa), y el redimensionamiento se puede procesar implícitamente cuando el límite de una unidad de partición no coincide con el límite de una imagen (una línea continua fina). Por ejemplo, P0 se puede redimensionar en una dirección "arriba" y una dirección "izquierda" (a2 y a0), P1 se puede redimensionar en una dirección "arriba" (a2), P2 se puede redimensionar en una dirección "arriba" y una dirección "derecha" (a2 y a1), P3 se puede redimensionar en una dirección "abajo" y una dirección "izquierda" (a3 y a0), P4 se puede redimensionar en una dirección "abajo" (a3), y P5 se puede redimensionar en una dirección "abajo" y una dirección "derecha" (a3 y a1). En este caso, el redimensionamiento se puede no permitir en las otras direcciones.
[0432] Como se muestra en la sección 13B, algunas direcciones (en este caso, arriba y abajo) de una unidad de partición pueden permitir que el redimensionamiento se procese explícitamente, y algunas direcciones (en este caso, izquierda y derecha) de una unidad de partición pueden permitir que el redimensionamiento se procese explícitamente (en este caso, una línea continua 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 se procese implícitamente (en este caso, una línea continua fina) cuando el límite de la unidad de partición no coincide con el límite de la imagen. Por ejemplo, P0 se puede redimensionar en una dirección "arriba", una dirección "abajo" y una dirección "izquierda" (b2, b3 y b0), P1 se puede redimensionar en una dirección "arriba" y una dirección "abajo" (b2 y b3), P2 se puede redimensionar en una dirección "arriba", una dirección "abajo" y una dirección "derecha" (b2, b3 y b1), P3 se puede redimensionar en una dirección "arriba", una dirección "abajo" y una dirección "izquierda" (b3, b4 y b0), P4 se puede redimensionar en una dirección "arriba" y una dirección "abajo" (b3 y b4), y P5 se puede redimensionar en una dirección "arriba", una dirección "abajo" y una dirección "derecha" (b3, b4 y b1). En este caso, el redimensionamiento se puede no permitir en las otras direcciones.
[0433] Como se muestra en la sección 13C, algunas direcciones (en este caso, izquierda y derecha) de una unidad de partición pueden permitir que el redimensionamiento se procese explícitamente, y algunas direcciones (en este caso, arriba y abajo) de una unidad de partición pueden permitir que el redimensionamiento se procese explícitamente (en este caso, una línea continua 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 se procese implícitamente (en este caso, una línea continua fina) cuando el límite de la unidad de partición no coincide con el límite de la imagen. Por ejemplo, P0 se puede redimensionar en una dirección "arriba", una dirección "izquierda" y una dirección "derecha" (c4, c0 y c1), P1 se puede redimensionar en una dirección "arriba", una dirección "izquierda" y una dirección "derecha" (c4, c1 y c2), P2 se puede redimensionar en una dirección "arriba", una dirección "izquierda" y una dirección "derecha" (c4, c2 y c3), P3 se puede redimensionar en una dirección "abajo", una dirección "izquierda" y una dirección "derecha" (c5, c0 y c1), P4 se puede redimensionar en una dirección "abajo", una dirección "izquierda" y una dirección "derecha" (c5, c1 y c2), y P5 se puede redimensionar en una dirección "abajo", una dirección "izquierda" y una dirección "derecha" (c5, c2 y c3). En este caso, el redimensionamiento se puede no permitir en las otras direcciones.
[0434] Los ajustes relacionados con el redimensionamiento de imagen como el ejemplo anterior pueden tener diversos casos. Se soporta una pluralidad de conjuntos de ajustes de modo que se puede generar explícitamente información de selección de conjunto de ajustes, o se puede determinar implícitamente un conjunto de ajustes predeterminado de acuerdo con ajustes de codificación/descodificación (por ejemplo, las características, tipo y similares de la imagen). La figura 14 es un diagrama de ejemplo en el que se representa tanto un proceso de redimensionamiento de una imagen como un proceso de redimensionamiento de unidades de partición en una imagen.
[0435] Haciendo referencia a la figura 14, el proceso de redimensionamiento de una imagen y el proceso inverso pueden continuar en las direcciones e y f, y el proceso de redimensionamiento de las unidades de partición en una imagen y el proceso inverso pueden continuar 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.
[0436] En resumen, el proceso de redimensionamiento de imagen se puede clasificar en redimensionamiento de una imagen (o redimensionamiento de una imagen antes de partición) y redimensionamiento de unidades de partición en una imagen (o redimensionamiento de una imagen después de partición). Se puede realizar ninguno, uno o ambos del redimensionamiento de una imagen y el redimensionamiento de las unidades de partición en una imagen, que se pueden determinar de acuerdo con los ajustes de codificación/descodificación (por ejemplo, las características, el tipo y similares de la imagen).
[0437] Cuando en el ejemplo, se realiza una pluralidad de procesos de redimensionamiento, el redimensionamiento de una imagen se puede realizar en al menos una de la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha" de la imagen, y al menos una de las unidades de partición en la imagen se puede redimensionar.
[0438] En este caso, el redimensionamiento se puede realizar en al menos una de una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha" de la unidad de partición a redimensionar.
[0440] Haciendo referencia a la figura 14, el tamaño de una imagen antes del redimensionamiento (A) se puede definir como P_Width × P_Height, el tamaño de una imagen después del redimensionamiento primario (o una imagen antes del redimensionamiento secundario; B) se puede definir como P'_Width × P'_Height, y el tamaño de una imagen después del redimensionamiento secundario (o una imagen después del redimensionamiento final; C) se puede definir como P"_Width × P"_Height. La imagen antes del redimensionamiento (A) indica una imagen en la que no se realiza ningún redimensionamiento, la imagen después del redimensionamiento primario (B) indica una imagen en la que se realiza algún redimensionamiento, y la imagen después del redimensionamiento secundario (C) indica una imagen en la que se realiza todo el redimensionamiento. Por ejemplo, la imagen después del redimensionamiento primario (B) puede indicar una imagen en la que se realiza el redimensionamiento 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 indicar una imagen adquirida redimensionamiento completamente la imagen después del redimensionamiento primario (B) como se muestra en la sección 7A de la figura 7. El caso opuesto también es posible. Sin embargo, la presente invención no se limita al ejemplo anterior, y se pueden realizar diversas modificaciones al mismo.
[0442] En el tamaño de la imagen después del redimensionamiento primario (B), P'_Width se puede adquirir a través de P_Width y al menos un valor de redimensionamiento horizontal que se redimensiona lateralmente, y P'_Height se puede adquirir a través de P_Height 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 unidades de partición.
[0444] En el tamaño de la imagen después del redimensionamiento secundario (C), P"_Width se puede adquirir a través de P'_Width y al menos un valor de redimensionamiento horizontal que se redimensiona lateralmente, y P"_Height se puede adquirir a través de P'_Height 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.
[0446] En resumen, el tamaño de la imagen después del redimensionamiento se puede adquirir a través de al menos un valor de redimensionamiento y el tamaño de la imagen antes del redimensionamiento.
[0448] En una región redimensionada de la imagen, se puede generar información con respecto a un método de procesamiento de datos. A través del siguiente ejemplo, se describirán diversos métodos de procesamiento de datos. Un método de procesamiento de datos generado durante el proceso de redimensionamiento inverso se puede aplicar de manera idéntica o similar al del proceso de redimensionamiento. Los métodos de procesamiento de datos en el proceso de redimensionamiento y el proceso de redimensionamiento inverso se describirán a través de diversas combinaciones a describir a continuación.
[0450] Como un ejemplo, se puede generar un método de procesamiento de datos aplicado a una imagen. En detalle, se puede usar un método de procesamiento de datos o un conjunto de métodos de procesamiento de datos como un método de procesamiento de datos para todas las unidades de partición en la imagen (en este caso, se supone que todas las unidades de partición se han de redimensionar). Por ejemplo, se puede generar un método 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 método de procesamiento de datos o similar 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 métodos 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 métodos de procesamiento de datos igual al número de direcciones de redimensionamiento soportadas o permitidas en unidades de partición; en este ejemplo, hasta cuatro piezas de información).
[0452] Como un ejemplo, se puede generar un método de procesamiento de datos aplicado a unidades de partición en una imagen. En detalle, se puede usar al menos un método de procesamiento de datos o un conjunto de métodos de procesamiento de datos como un método de procesamiento de datos para algunas unidades de partición en la imagen (en este caso, se supone que las unidades de partición se han de redimensionar). Es decir, se puede usar un método de procesamiento de datos o un conjunto de métodos de procesamiento de datos como un método de procesamiento de datos para una unidad de partición o un método de procesamiento de datos para una pluralidad de unidades de partición. Por ejemplo, se puede generar un método 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 se puede generar un conjunto de métodos de procesamiento de datos aplicados individualmente a la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha". Como alternativa, se puede generar un método 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 un conjunto de métodos 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 métodos de procesamiento de datos significa un método de procesamiento de datos para al menos una dirección de redimensionamiento.
[0453] En resumen, se puede usar un método de procesamiento de datos aplicado en común a unidades de partición en una imagen. Como alternativa, se puede usar un método de procesamiento de datos aplicado individualmente a unidades de partición en una imagen. El método de procesamiento de datos puede usar un método predeterminado. El método de procesamiento de datos predeterminado se puede proporcionar como al menos un método. Esto corresponde a un proceso implícito, y se puede generar explícitamente información de selección para el método de procesamiento de datos, que se puede determinar de acuerdo con ajustes de codificación/descodificación (por ejemplo, las características, tipo y similares de la imagen).
[0454] Es decir, se puede usar un método de procesamiento de datos aplicado en común a unidades de partición en una imagen. Se puede usar un método predeterminado, o se puede seleccionar uno de una pluralidad de métodos de procesamiento de datos. Como alternativa, se puede usar un método de procesamiento de datos aplicado individualmente a unidades de partición en una imagen. Dependiendo de las unidades de partición, se puede usar un método predeterminado, o se puede seleccionar uno de una pluralidad de métodos de procesamiento de datos. En el siguiente ejemplo, se describirán algunos casos en los que se redimensionan unidades de partición en una imagen (en el presente documento, se supone que el redimensionamiento es para expansión) (en este caso, una región redimensionada se rellena con algunos datos de la imagen).
[0455] Las regiones específicas TL a BR de algunas unidades (por ejemplo, S0 a S5 en las secciones 12A a 12F) se pueden redimensionar usando datos de regiones específicas tl a br de algunas unidades P0 a P5 (en las secciones 12A a 12F). En este caso, algunas 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 se pueden rellenar con algunos datos tl a br de una unidad de partición correspondiente y se pueden rellenar con algunos datos de una unidad de partición distinta de la correspondiente unidad de partición.
[0456] Como un ejemplo, las regiones TL a BR de las que se redimensiona la unidad de partición actual se pueden redimensionar usando datos tl a br de la unidad de partición actual. Por ejemplo, TL de S0 se puede rellenar con datos tl de P0, RC de S1 se puede rellenar con datos tr rc br de P1, BL+BC de S2 se puede rellenar con datos bl bc br de P2, y TL LC BL de S3 se pueden rellenar con datos tl Ic bl de P3.
[0457] Como un ejemplo, las regiones TL a BR de las que se redimensiona la unidad de partición actual se pueden redimensionar 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 se pueden rellenar con datos bl bc br de P1 en la dirección "arriba", BL BC de S2 se pueden rellenar con datos tl tc tr de P5 en la dirección "abajo", LC BL de S2 se pueden rellenar con datos tl rc bl de P1 en la dirección "izquierda", RC de S3 se puede rellenar con datos tl lc bl de P4 en la dirección "derecha", y BR de S0 se puede rellenar con datos tl de P4 en una dirección "abajo izquierda".
[0458] Como un ejemplo, las regiones TL a BR de las que se redimensiona la unidad de partición actual se pueden redimensionar 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, se pueden adquirir datos en una región límite (por ejemplo, horizontal, vertical, etc.) entre ambos extremos de una imagen. LC de S3 se puede adquirir usando datos tr rc br de S5, RC de S2 se puede adquirir usando datos tl Ic de S0, BC de S4 se puede adquirir usando datos tc tr de S1, y TC de S1 se puede adquirir usando datos bc de S4.
[0459] Como alternativa, se pueden adquirir datos de regiones específicas (una región que no es espacialmente adyacente a, pero que se determina que tiene alta correlación con una región redimensionada) de la imagen. BC de S1 se puede adquirir usando datos tl lc bl de S3, RC de S3 se puede adquirir usando datos tl tc de S1, y RC de S5 se puede adquirir usando datos bc de S0.
[0460] También, algunos casos en los que se redimensiona una unidad de partición en una imagen (en este caso, se supone que el redimensionamiento es para reducción) son como sigue (en este caso, la retirada se realiza a través de restauración o corrección usando algunos datos de una imagen).
[0461] Las regiones específicas TL a BR de algunas unidades (por ejemplo, S0 a S5 en las secciones 12A a 12F) se pueden usar en un proceso de restauración o corrección para regiones específicas tl a br de algunas unidades P0 a P5. En este caso, algunas 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 se puede usar para restaurar algunos datos de una unidad de partición correspondiente y a continuación retirarse, y la región a redimensionar se puede usar para restaurar algunos datos de una unidad de partición distinta de la unidad de partición correspondiente y a continuación retirarse. El ejemplo detallado se puede derivar a la inversa del proceso de expansión y, por lo tanto, se omitirá.
[0462] El ejemplo se puede aplicar a un caso en el que están presentes datos con alta correlación en una región a redimensionar, y la información con respecto a ubicaciones referenciadas para el redimensionamiento se puede generar explícitamente o adquirirse implícitamente de acuerdo con una regla predeterminada. Como alternativa, la información relacionada se puede comprobar en combinación. Este puede ser un ejemplo que se puede aplicar cuando se adquieren datos de otra región con continuidad en la codificación de una imagen de 360 grados.
[0463] A continuación, se describirá un ejemplo en el que se redimensionan unidades de partición en una imagen en el aparato de codificación/descodificación de acuerdo con una realización de la presente invención.
[0464] Se puede realizar un proceso de partición en una imagen de entrada antes de que se inicie la codificación. Se puede realizar un proceso de redimensionamiento en una unidad de partición usando información de redimensionamiento, y la imagen se puede codificar después de que se redimensiona la unidad de partición. Los datos de codificación de imágenes se pueden almacenar en la memoria después de que se completa la codificación, y se pueden añadir a un flujo de bits y a continuación transmitirse.
[0465] Se puede realizar un proceso de partición usando información de partición antes de que se inicie la descodificación. Se puede realizar un proceso de redimensionamiento en unidades de partición usando información de redimensionamiento, y los datos de descodificación de imágenes se pueden analizar para descodificarse en las unidades de partición redimensionadas. Los datos de descodificación de imágenes se pueden almacenar en la memoria después de que se complete la descodificación, y la pluralidad de unidades de partición se fusionan en una única unidad después de que se realiza un proceso de redimensionamiento inverso para las unidades de partición, y, por lo tanto, se puede emitir una imagen.
[0466] Se puede aplicar otro ejemplo del proceso de redimensionamiento de imagen descrito anteriormente. La presente invención no se limita a lo mismo, y se pueden realizar modificaciones a lo mismo.
[0467] En el proceso de ajuste de imagen, se puede permitir que se combinen el redimensionamiento de imagen y la reconstrucción de imagen. La reconstrucción de imagen se puede realizar después de que se realiza el redimensionamiento de imagen. Como alternativa, el redimensionamiento de imagen se puede realizar después de que se realiza la reconstrucción de imagen. También, se puede permitir que se combinen la partición de imagen, la reconstrucción de imagen y el redimensionamiento de imagen. El redimensionamiento de imagen y la reconstrucción de imagen se pueden realizar después de que se realiza la partición de imagen. El orden de los ajustes de imagen no es fijo y se puede cambiar, lo que se puede determinar de acuerdo con ajustes de codificación/descodificación. En este ejemplo, el proceso de ajuste de imagen se describirá como la reconstrucción de imagen y el redimensionamiento de imagen que se realiza después de que se realiza la partición de imagen. Sin embargo, dependiendo de los ajustes de codificación/descodificación, es posible otro orden, y también se pueden realizar modificaciones al mismo.
[0468] Por ejemplo, el proceso de ajuste de imagen se puede realizar 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 imagen se puede realizar secuencialmente, pero algunos o todos los procesos de establecimiento se pueden realizar simultáneamente. También, como parte del proceso de ajuste de imagen, se puede realizar una pluralidad de procesos de acuerdo con los ajustes de codificación/descodificación (por ejemplo, las características, tipo y similares de una imagen). El siguiente ejemplo indica diversas combinaciones del proceso de ajuste de imagen.
[0469] 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 este caso, reorganización de píxeles) y el proceso de redimensionamiento (en este caso, redimensionamiento de las unidades de partición para que tengan el mismo tamaño) se pueden realizar en unidades de partición. Por ejemplo, P0 a P5 se pueden redimensionar basándose en el desplazamiento y se pueden asignar a S0 a S5. También, P0 se puede no reconstruir y a continuación se puede asignar a S0. P1 se puede girar 90 grados y a continuación se puede asignar a S1. P2 se puede girar 180 grados y a continuación se puede asignar a S2. P3 se puede girar 270 grados y a continuación se puede asignar a S3. P4 se puede voltear horizontalmente y a continuación se puede asignar a S4. P5 se puede voltear verticalmente y a continuación se puede asignar a S5.
[0470] 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 este caso, reorganización de píxeles y unidades de partición) y el proceso de redimensionamiento (en este caso, redimensionamiento de las unidades de partición para que tengan el mismo tamaño) se pueden realizar en unidades de partición. Por ejemplo, P0 a P5 se pueden redimensionar basándose en la escala y se pueden asignar a S0 a S5. También, P0 se puede no reconstruir y a continuación se puede asignar a S0. P1 se puede no reconstruir y, a continuación, se puede asignar a S2. P2 se puede girar 90 grados y a continuación se puede asignar a S1. P3 se puede voltear horizontalmente y a continuación se puede asignar a S4. P4 se puede girar 90 grados y voltearse horizontalmente y a continuación se puede asignar a S5. P5 se puede voltear horizontalmente y a continuación rotarse 180 grados y a continuación se puede asignar a S3.
[0471] 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 este caso, reorganización de píxeles y unidades de partición) y el proceso de redimensionamiento (en este caso, redimensionamiento de las unidades de partición para que tengan los diferentes tamaños) se pueden realizar en unidades de partición. Por ejemplo, P0 se puede no redimensionar y reconstruir y a continuación se puede asignar a E0, P1 se puede redimensionar basándose en la escala, pero no se reconstruye y a continuación se puede asignar a E1, P2 se puede no redimensionar, pero se reconstruye y a continuación se puede asignar a E2, P3 se puede redimensionar basándose en el desplazamiento, pero no se reconstruye y a continuación se puede asignar a E4, P4 se puede no redimensionar, pero se reconstruye y se puede asignar a E5, y P5 se puede redimensionar basándose en el desplazamiento y reconstruirse y a continuación se puede asignar a E3.
[0472] Al igual que 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 imagen en la imagen se puede mantener o cambiar, lo que se puede determinar de acuerdo con los ajustes de codificación/descodificación (por ejemplo, las características, tipo, y similares de la imagen). También, pueden ser posibles diversas combinaciones de los procesos de ajuste de imagen. La presente invención no se limita a la misma y, por lo tanto, se pueden realizar diversas modificaciones a la misma.
[0473] El codificador puede añadir la información generada durante el proceso anterior a un flujo de bits en unidades de al menos una de secuencias, imágenes, segmentos, mosaicos y similares, y el descodificador puede analizar información relacionada desde el flujo de bits. También, la información se puede incluir en el flujo de bits en forma de SEI o metadatos.
[0474] [Tabla 4]
[0476]
[0478] La Tabla 4 representa elementos de sintaxis de ejemplo asociados con una pluralidad de ajustes de imagen. La siguiente descripción se centrará en un elemento de sintaxis adicional. También, en el siguiente ejemplo, un elemento de sintaxis no está limitado a ninguna unidad específica y se puede soportar en diversas unidades tales como una secuencia, una imagen, un segmento y un mosaico. Como alternativa, el elemento de sintaxis se puede incluir en SEI, metadatos y similares.
[0479] Haciendo referencia a la Tabla 4, parts_enabled_flag indica un elemento de sintaxis que indica si particionar algunas unidades. Cuando se activa el elemento de sintaxis (parts_enabled_flag = 1), una imagen se puede particionar en una pluralidad de unidades, y la pluralidad de unidades se puede codificar o descodificar. También, se puede comprobar información de partición adicional. Cuando el elemento de sintaxis está desactivado (parts_enabled_flag = 0), se codifica o descodifica una imagen original. En este ejemplo, la descripción se centrará en una unidad de partición rectangular tal como un mosaico, y se pueden proporcionar diferentes ajustes para el mosaico existente e información de partición.
[0480] En este caso, num_partitions se refiere a un elemento de sintaxis que indica el número de unidades de partición, y num_partitions más 1 es igual al número de unidades de partición.
[0481] También, part_top[i] y part_left[i] se refieren a elementos de sintaxis que indican información de ubicación de las unidades de partición e indican 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). También, part_width[i] y part_height[i] se refieren a elementos de sintaxis que indican información de tamaño de las unidades de partición e indican 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 se pueden establecer en unidades de píxel o en unidades de bloque. También, el elemento de sintaxis puede ser un elemento de sintaxis que se puede generar durante el proceso de reconstrucción de imagen o un elemento de sintaxis que se puede generar cuando el proceso de partición de imagen y el proceso de reconstrucción de imagen se construyen en combinación.
[0482] También, part_header_enabled_flag indica un elemento de sintaxis que indica si soportar ajustes de codificación/descodificación para una unidad de partición. Cuando se activa el elemento de sintaxis (part_header_enabled_flag = 1), se pueden proporcionar ajustes de codificación/descodificación para una unidad de partición. Cuando el elemento de sintaxis está desactivado (part_header_enabled_flag = 0), no se pueden proporcionar ajustes de codificación/descodificación, y se pueden asignar ajustes de codificación/descodificación para una unidad superior.
[0483] El ejemplo anterior no se limita a un ejemplo de elementos de sintaxis asociados con redimensionamiento y reconstrucción en una unidad de partición entre ajustes de imagen, y se pueden hacer modificaciones a los mismos como otras unidades de partición y ajustes de la presente invención. Este ejemplo se ha descrito bajo la suposición de que el redimensionamiento y la reconstrucción se realizan después de que se realiza la partición, pero la presente invención no se limita a los mismos, y se pueden realizar modificaciones a los mismos en otro orden de ajuste de imagen o similar. También, el tipo, orden, condición y similares del elemento de sintaxis soportado en el siguiente ejemplo están limitados únicamente al ejemplo y, por lo tanto, se pueden cambiar y determinarse de acuerdo con ajustes de codificación/descodificación.
[0484] [Tabla 5]
[0486]
[0488] La Tabla 5 representa elementos de sintaxis de ejemplo asociados con la reconstrucción en una unidad de partición entre ajustes de imagen.
[0489] Haciendo referencia a la Tabla 5, part_convert_flag[i] indica un elemento de sintaxis que indica si reconstruir una unidad de partición. El elemento de sintaxis se puede generar para cada unidad de partición. Cuando se activa el elemento de sintaxis (part_convert_flag[i] = 1), la unidad de partición reconstruida se puede codificar o descodificar, y se puede comprobar información adicional relacionada con la reconstrucción. Cuando se desactiva el elemento de sintaxis (part_convert_flag[i] = 0), se codifica o descodifica una unidad de partición original. En este caso, convert_type_flag[i] se refiere a información de modo con respecto a la reconstrucción de una unidad de partición y puede ser información con respecto a la reorganización de píxeles.
[0490] También, se puede generar un elemento de sintaxis que indica reconstrucción adicional tal como reorganización de unidad de partición. En este ejemplo, la reorganización de unidad de partición se puede realizar a través de part_top y part_left, que son elementos de sintaxis que indican la partición de imagen anterior, o se puede generar un elemento de sintaxis (por ejemplo, información de índice) asociado con la reorganización de unidad de partición.
[0491] [Tabla 6]
[0493]
[0495] La Tabla 6 representa elementos de sintaxis de ejemplo asociados con el redimensionamiento en una unidad de partición entre ajustes de imagen.
[0496] Haciendo referencia a la Tabla 6, part_resizing_flag[i] indica un elemento de sintaxis que indica si redimensionar una unidad de partición en una imagen. El elemento de sintaxis se puede generar para cada unidad de partición. Cuando se activa el elemento de sintaxis (part_resizing_flag[i] = 1), la unidad de partición redimensionada se puede codificar o descodificar después de redimensionar, y se puede comprobar información relacionada con redimensionamiento adicional. Cuando se desactiva el elemento de sintaxis (part_resiznig_flag[i] = 0), se codifica o descodifica una unidad de partición original.
[0497] También, width_scale[i] y height_scale[i] indican factores de escala asociados con redimensionamiento horizontal y redimensionamiento vertical del redimensionamiento basado en factor de escala en una unidad de partición.
[0498] Además, top_height_offset[i] y bottom_height_offset[i] indican 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 factor de desplazamiento en una unidad de partición, y left_width_offset[ i] y right_width_offset[i] indican 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 factor de desplazamiento en una unidad de partición.
[0499] También, resizing_type_flag[i][j] indica un elemento de sintaxis que indica un método de procesamiento de datos para una región redimensionada en una unidad de partición. El elemento de sintaxis indica un método de procesamiento de datos individual para una dirección de redimensionamiento. Por ejemplo, se puede generar un elemento de sintaxis que indica un método 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 se puede generar basándose en información de redimensionamiento (por ejemplo, que se puede generar únicamente cuando se realiza redimensionamiento en algunas direcciones).
[0500] 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 se puede aplicar sin o con ningún cambio, incluso sin mención especial. En el siguiente ejemplo, la descripción se centrará en un caso de una adición o un cambio en el ejemplo anterior.
[0501] 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.
[0502] A diferencia de una imagen normal, una imagen de 360 grados puede no tener parte de límite con discontinuidad, y los datos de todas las regiones de la imagen de 360 grados pueden tener continuidad. También, un aparato tal como un HMD puede requerir una imagen de alta definición porque una imagen debería 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. S pueden realizar diversos procesos de ajuste de imagen que consideran una imagen de 360 grados para proporcionar entornos de codificación eficientes que incluyen el ejemplo anterior.
[0503] La cámara de 360 grados puede ser una pluralidad de cámaras o una cámara que tiene una pluralidad de lentes y sensores. La cámara o lente puede cubrir todas las direcciones alrededor de cualquier punto central capturado por la cámara.
[0504] La imagen de 360 grados se puede codificar usando diversos métodos. Por ejemplo, la imagen de 360 grados se puede codificar usando diversos algoritmos de procesamiento de imágenes en un espacio 3D, y se puede convertir en un espacio 2D y codificarse usando diversos algoritmos de procesamiento de imágenes. De acuerdo con la presente invención, la siguiente descripción se centrará en un método para convertir una imagen de 360 grados en un espacio 2D y codificar o descodificar la imagen convertida.
[0505] 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 figura 1, y puede incluir además una unidad de preprocesamiento configurada para preprocesar una imagen de entrada (costura, proyección, empaquetado por regiones). Mientras tanto, un aparato de descodificació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 figura 2, y puede incluir además una unidad de posprocesamiento configurada para posprocesar una imagen codificada antes de descodificar la imagen codificada para reproducir una imagen de salida.
[0506] En otras palabras, el codificador puede preprocesar una imagen de entrada, codificar la imagen preprocesada y transmitir un flujo de bits que incluye la imagen, y el descodificador puede analizar, descodificar y posprocesar el flujo de bits transmitido para generar una imagen de salida. En este caso, el flujo 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 flujo de bits se puede analizar y usar durante el proceso de descodificación y el proceso de posprocesamiento.
[0507] Posteriormente, se describirá con más detalle un método de operación para un codificador de imágenes de 360 grados, y los expertos en la materia pueden derivar fácilmente un método de operación para un descodificador de imágenes de 360 grados porque el método de operación para el descodificador de imágenes de 360 grados es opuesto al método de operación para el codificador de imágenes de 360 grados y, por lo tanto, se omitirá una descripción detallada del mismo.
[0508] La imagen de entrada puede estar sujeta a realizar un proceso de costura y proyección en una estructura de proyección 3D basada en esfera, y los datos de imagen en la estructura de proyección 3D se pueden proyectar en una imagen 2D a través del proceso.
[0509] La imagen proyectada se puede configurar para incluir parte o todo contenido de 360 grados de acuerdo con ajustes de codificación. En este caso, la información de ubicación de una región (o un píxel) a colocar en el centro de la imagen proyectada se puede generar implícitamente como un valor predeterminado o se puede generar explícitamente. También, cuando la imagen proyectada incluye regiones específicas del contenido de 360 grados, se puede generar la información de distancia y la información de ubicación de las regiones incluidas. También, se puede generar información de distancia (por ejemplo, la anchura y la altura) e información de ubicación (por ejemplo, que se mide basándose en un extremo superior izquierdo de una imagen) de una región de interés (ROI) a partir de la imagen proyectada. En este caso, una región específica con alta importancia en el contenido de 360 grados se puede establecer como una ROI. La imagen de 360 grados puede permitir que se vea 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 se puede limitar a una porción de la imagen, que se puede establecer como una ROI en consideración de la limitación. Para el fin de codificación eficiente, se puede establecer una ROI para que tenga buena calidad y alta resolución, y las otras regiones se pueden establecer para tener menor calidad y menor resolución que la ROI.
[0510] Entre una pluralidad de esquemas de transmisión de imágenes de 360 grados, un esquema de transmisión de flujo único puede permitir que se transmita una imagen completa o una imagen de ventana gráfica en un único flujo de bits individual para un usuario. Un esquema de transmisión de múltiples flujos puede permitir que se transmitan varias imágenes completas con diferentes calidades de imagen en múltiples flujos de bits y, por lo tanto, se puede seleccionar una calidad de imagen de acuerdo con entornos de usuario y condiciones de comunicación. Un esquema de transmisión de flujo en mosaicos puede permitir que una imagen parcial basada en unidad de mosaico que se codifica individualmente se transmita en múltiples flujos de bits y, por lo tanto, se puede seleccionar un mosaico de acuerdo con entornos de usuario y condiciones de comunicación. Por consiguiente, el codificador de imagen de 360 grados puede generar y transmitir un flujo de bits que tiene dos o más cualidades, y el descodificador de imagen de 360 grados puede establecer una ROI de acuerdo con la vista de un usuario y puede descodificar selectivamente el flujo de bits de acuerdo con la ROI. Es decir, un lugar donde se dirige la mirada de un usuario se puede establecer como una ROI a través de un sistema de seguimiento de la cabeza o de seguimiento ocular, y solo se puede representar la parte necesaria.
[0511] La imagen proyectada se puede convertir en una imagen empaquetada obtenida realizando un proceso de empaquetado por regiones. El proceso de empaquetado por regiones puede incluir una etapa de particionar una imagen proyectada en una pluralidad de regiones, y las regiones subdivididas se pueden disponer (o reorganizarse) en la imagen empaquetada de acuerdo con los ajustes de empaquetado por regiones. El empaquetado por regiones se puede realizar para aumentar la continuidad espacial cuando una imagen de 360 grados se convierte en una imagen 2D (o una imagen proyectada). Por lo tanto, es posible reducir el tamaño de la imagen a través del empaquetado por regiones. También, el empaquetado por regiones se puede realizar para reducir el deterioro en la calidad de imagen provocado durante la representación, habilitar una proyección basada en ventana gráfica y proporcionar otros tipos de formatos de proyección. El empaquetado por regiones se puede realizar o no dependiendo de los ajustes de codificación, que se pueden determinar basándose en una señal que indica si realizar el empaquetado por regiones (por ejemplo, regionwise_packing_flag; solo cuando se activa regionwise_packing_flag, se puede generar la información con respecto al empaquetado por regiones).
[0512] Cuando se realiza el empaquetado por regiones, se puede visualizar (o generar) información de ajuste (o información de mapeo) en la que regiones específicas de la imagen proyectada se asignan (o disponen) 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.
[0513] En la descripción anterior, un proceso de costura, un proceso de proyección y un proceso de empaquetado por regiones se definen como procesos individuales, pero algunos (por ejemplo, costura proyección, proyección empaquetado por regiones) o todos (por ejemplo, costura proyección empaquetado por regiones) de los procesos se pueden definir como un único proceso.
[0514] Al menos una imagen empaquetada se puede generar a partir de la misma imagen de entrada de acuerdo con los ajustes para el proceso de costura, el proceso de proyección y el proceso de empaquetado por regiones. También, de acuerdo con los ajustes para el proceso de empaquetado por regiones, se puede generar al menos una pieza de datos de codificación para la misma imagen proyectada.
[0515] La imagen empaquetada se puede particionar realizando un proceso de mosaico. En este caso, el mosaico, que es un proceso en el que una imagen se particiona 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, el mosaico se puede realizar con el fin de descodificación parcial en consideración de entornos de usuario y también se puede realizar con el fin de procesamiento eficiente de grandes cantidades de datos de imágenes de 360 grados. Por ejemplo, cuando una imagen se compone de una unidad, la imagen completa se puede descodificar para descodificar una ROI. Por otra parte, cuando una imagen se compone de una pluralidad de regiones de unidad, puede ser eficiente descodificar únicamente una ROI. En este caso, la partición se puede realizar en unidades de mosaicos, que son unidades de partición de acuerdo con un esquema de codificación convencional, o se puede realizar en diversas unidades de partición (por ejemplo, un bloque de partición cuadrilateral, etc.) que se han descrito de acuerdo con la presente invención. También, la unidad de partición puede ser una unidad para realizar codificación/descodificación independiente. El mosaico se puede realizar independientemente o basándose en la imagen proyectada o la imagen empaquetada. Es decir, la partición se puede realizar basándose en un límite de cara de la imagen proyectada, un límite de cara de la imagen empaquetada, ajustes de empaquetado, etc., y se puede realizar independientemente para cada unidad de partición. Esto puede afectar a la generación de información de partición durante el proceso de mosaico.
[0516] A continuación, se puede codificar la imagen proyectada o la imagen empaquetada. Los datos de codificación y la información generada durante el proceso de preprocesamiento se pueden añadir a un flujo de bits, y el flujo de bits se puede transmitir al descodificador de imágenes de 360 grados. La información generada durante el proceso de preprocesamiento se puede añadir al flujo de bits en forma de SEI o metadatos. En este caso, el flujo de bits puede contener al menos una pieza de datos de codificación que tiene ajustes parcialmente diferentes para el proceso de codificación y al menos una pieza de información de preprocesamiento que tiene ajustes parcialmente diferentes para el proceso de preprocesamiento. Esto es para 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 entornos de usuario. En detalle, la imagen descodificada se puede construir combinando selectivamente la pluralidad de piezas de datos de codificación. También, el proceso se puede realizar mientras se separa en dos partes para aplicar a un sistema binocular, y el proceso se puede realizar en una imagen de profundidad adicional.
[0517] La figura 15 es un diagrama de ejemplo que muestra un espacio plano 2D y un espacio 3D que muestra una imagen 3D.
[0518] En general, para el propósito de un espacio virtual 3D de 360 grados, pueden ser necesarios tres grados de libertad (3DoF), y se pueden soportar tres rotaciones con respecto a un eje X (cabeceo), un eje Y (guiñada) y un Eje Z (alabeo). El DoF se refiere al grado de libertad en el espacio, 3DoF se refiere al grado de libertad que incluye rotaciones alrededor del eje X, el eje Y y el eje Z, como se muestra en la sección 15A, y 6DoF se refiere al grado de libertad que permite adicionalmente movimientos a lo largo del eje X, el eje Y y el eje Z, así como 3DoF. La siguiente descripción se centrará en el aparato de codificación de imágenes y el aparato de descodificación de imágenes de la presente invención que tienen 3DoF. Cuando se soporta 3DoF o mayor (3DoF ), el aparato de codificación de imágenes y el aparato de descodificación de imágenes se pueden modificar o combinar con un proceso o aparato adicional que no se muestra.
[0520] Haciendo referencia a la sección 15A, la guiñada puede tener un intervalo de -π (-180 grados) a π (180 grados), el cabeceo puede tener un intervalo de -π/2 rad (o -90 grados) a π/2 rad (o 90 grados), y el alabeo puede tener un intervalo de -π/2 rad (o -90 grados) a π/2 rad (o 90 grados). En este caso, cuando se supone que Φ y θ son longitud y latitud en la representación de mapa de la tierra, se pueden transformar coordenadas espaciales 3D (x, y, z) a partir de coordenadas espaciales 2D (Φ, θ). Por ejemplo, las coordenadas espaciales 3D se pueden derivar de las coordenadas espaciales 2D de acuerdo con las fórmulas de transformación x = cos(θ) cos(Φ), y = sen(θ) y z = -cos(θ) sen(Φ).
[0522] También, (Φ, θ) se puede transformar en (x, y, z). Por ejemplo, las coordenadas espaciales 2D se pueden derivar de las coordenadas espaciales 3D de acuerdo con las fórmulas de transformación Φ = tan-1(-Z/X) y θ = sen-1(Y/(X2+Y2+Z2)1/2).
[0524] Cuando un píxel en el espacio 3D se transforma con precisión en un píxel en el espacio 2D (por ejemplo, un píxel de unidad entera en el espacio 2D), el píxel en el espacio 3D se puede mapear al píxel 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 a través de interpolación se puede mapear al píxel 2D. En este caso, como la interpolación, se puede usar interpolación de vecino más cercano, interpolación bilineal, interpolación B-spline, interpolación bicúbica o similares. En este caso, la información relacionada se puede generar explícitamente seleccionando uno de la pluralidad de candidatos de interpolación, o se puede determinar implícitamente un método de interpolación de acuerdo con una regla predeterminada. Por ejemplo, se puede usar un filtro de interpolación predeterminado de acuerdo con un modelo 3D, un formato de proyección, un formato de color y un tipo de segmento/mosaico. También, cuando la información de interpolación se genera explícitamente, se puede incluir información con respecto a información de filtro (por ejemplo, un coeficiente de filtro).
[0526] La sección 15B muestra una imagen en la que un espacio 3D se transforma en un espacio 2D (un sistema de coordenadas plano 2D). (Φ,θ) se pueden muestrear (i,j) basándose en el tamaño (la anchura y la altura) de una imagen. En este caso, i puede tener un intervalo de 0 a P_Width - 1, y j puede tener un intervalo de 0 a P_Height - 1.
[0528] (Φ,θ) puede ser un punto central (o un punto de referencia; un punto representado como C de la figura 15; coordenadas (Φ,θ)=(0,0)) para disponer una imagen de 360 grados con respecto a la imagen proyectada. El ajuste para el punto central se puede designar en el espacio 3D, y la información de ubicación para el punto central se puede generar explícitamente o determinarse implícitamente como un valor predeterminado. Por ejemplo, se puede generar información de posición central en guiñada, información de posición central en cabeceo, información de posición central en alabeo y similares. Cuando un valor para la información no se especifica por separado, se puede suponer que cada valor es cero.
[0530] Un ejemplo en el que toda la imagen de 360 grados se transforma del espacio 3D al espacio 2D se ha descrito anteriormente, pero se pueden transformar regiones específicas de la imagen de 360 grados, y la información de ubicación (por ejemplo, algunas ubicaciones que pertenecen a la región; en este ejemplo, se puede generar explícitamente información de ubicación con respecto al punto central), información de alcance y similares para las regiones específicas o se puede seguir implícitamente información de ubicación y de alcance predeterminada. Por ejemplo, se puede generar información de posición central en guiñada, información de posición central en cabeceo, información de posición central en alabeo, información de distancia en guiñada, información de distancia en cabeceo, información de distancia en alabeo y similares, y regiones específicas pueden ser al menos una región. Por lo tanto, se puede procesar información de ubicación, información de alcance y similares de una pluralidad de regiones. Cuando un valor para la información no se especifica por separado, se puede suponer la imagen de 360 grados completa.
[0531] H0 a H6 y W0 a W5 en la sección 15A indican algunas latitudes y longitudes en la sección 15B, que se pueden expresar como coordenadas (C, j) e (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 en el espacio 2D, se pueden producir distorsiones o se puede producir una deformación del contenido en una imagen. Esto puede depender de la región de la imagen, y se pueden aplicar diferentes ajustes de codificación/descodificación a la ubicación de la imagen o regiones particionadas de acuerdo con la ubicación. Cuando los ajustes de codificación/descodificación se aplican de manera adaptativa basándose en la información de codificación/descodificació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) se puede incluir como un ejemplo de la información de codificación/descodificación.
[0532] La descripción del espacio 3D y el 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 lo mismo, y la descripción anterior se puede modificar en términos de detalles o se puede aplicar a otros casos.
[0533] Como se ha descrito anteriormente, una imagen adquirida a través de una cámara de 360 grados se puede transformar en un espacio 2D. En este caso, se puede mapear una imagen de 360 grados usando un modelo 3D, y se pueden usar diversos modelos 3D tales como una esfera, un cubo, un cilindro, una pirámide y un poliedro. Cuando la imagen de 360 grados mapeada basándose 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 basándose en el modelo.
[0534] Las figuras 16A a 16D son diagramas conceptuales que ilustran un formato de proyección de acuerdo con una realización de la presente invención.
[0535] La figura 16A ilustra un formato de proyección equirectangular (ERP) en el que se proyecta una imagen de 360 grados en un plano 2D. La figura 16B ilustra un formato de proyección de mapa de cubo (CMP) en el que se proyecta una imagen de 360 grados en un cubo. La figura 16C ilustra un formato de proyección de octaedro (OHP) en el que se proyecta una imagen de 360 grados a un octaedro. La figura 16D ilustra un formato de proyección icosaédrica (ISP) en el que se proyecta una imagen de 360 grados a un poliedro. Sin embargo, la presente invención no se limita a la misma, y se pueden usar diversos formatos de proyección. En las figuras 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 diversos tamaños y formas de acuerdo con el formato de proyección. Cada forma puede estar compuesta de superficies o caras, y cada cara se puede expresar como un círculo, un triángulo, un cuadrilátero, etc.
[0536] En la presente invención, el formato de proyección se puede definir por un modo 3D, ajustes de cara (por ejemplo, el número de caras, la forma de caras, la configuración de forma de caras, etc.), ajustes de proceso de proyección, etc. Cuando al menos un elemento es diferente en la definición, el formato de proyección se puede considerar como un formato de proyección diferente. Por ejemplo, el ERP se compone de 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 usada durante la transformación del espacio 3D en el 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 se puede clasificar como un formato diferente tal como ERP1 y ERP2. Como otro ejemplo, el CMP se compone de un modelo de cubo, seis caras y una cara cuadrangular. Cuando algunos (por ejemplo, un método de muestreo aplicado durante la transformación del espacio 3D en el espacio 2D) de los ajustes durante el proceso de proyección son diferentes, el formato se puede clasificar como un formato diferente tal como CMP1 y CMP2.
[0537] Cuando se usa una pluralidad de formatos de proyección en lugar de un formato de proyección predeterminado, se puede generar explícitamente información de identificación de formato de proyección (o información de formato de proyección). La información de identificación de formato de proyección se puede configurar a través de diversos métodos.
[0538] Como un ejemplo, un formato de proyección se puede identificar asignando información de índice (por ejemplo, proj_format_flag) a una pluralidad de formatos de proyección. Por ejemplo, el n.° 0 se puede asignar a ERP, el n.° 1 se puede asignar a CMP, el n.° 2 se puede asignar a OHP, el n.° 3 se puede asignar a ISP, el n.° 4 se puede asignar a ERP1, el n.° 5 se puede asignar a CMP1, el n.° 6 se puede asignar a OHP1, el n.° 7 se puede asignar a ISP1, el n.° 8 se puede asignar a CMP compacto, el n.° 9 se puede asignar a OHP compacto, el n.° 10 se puede asignar a ISP compacto y el n.° 11 o superior se puede asignar a otros formatos.
[0539] Como un ejemplo, el formato de proyección se puede identificar usando al menos una pieza de información de elemento que constituye el formato de proyección. En este caso, como la información de elemento que constituye el formato de proyección, se puede incluir información de modelo 3D (por ejemplo, 3d_model_flag; n.° 0 indica una esfera, n.° 1 indica un cubo, n.° 2 indica un cilindro, n.° 3 indica una pirámide, n.° 4 indica poliedro 1, y el n.° 5 indica poliedro 2), información de número de cara (por ejemplo, num_face_flag; un método para aumentar en 1, empezando desde 1; el número de caras generadas en el formato de proyección se asigna como información de índice, es decir, n.° 0 indica uno, n.° 1 indica tres, n.° 2 indica seis, n.° 3 indica ocho y n.° 4 indica veinte), información de forma de cara (por ejemplo, shape_face_flag; n.° 0 indica un cuadrilátero, n.° 1 indica un círculo, n.° 2 indica un triángulo, n.° 3 indica un cuadrilátero un círculo, y n.° 4 indica un cuadrilátero un triángulo), información de ajuste de proceso de proyección (por ejemplo, 3d_2d_convert_idx) y similares.
[0540] Como un ejemplo, el formato de proyección se puede identificar usando información de índice de formato de proyección e información de elemento que constituye el formato de proyección. Por ejemplo, como la información de índice de formato de proyección, el n.° 0 se puede asignar a ERP, el n.° 1 se puede asignar a CMP, el n.° 2 se puede asignar a OHP, el n.° 3 se puede asignar a ISP y el n.° 4 o mayor se puede asignar a otros formatos. El formato de proyección (por ejemplo, ERP, ERP1, CMP, CMP1, OHP, OHP1, ISP e ISP1) se puede identificar junto con la información de elemento que constituye el formato de proyección (en este caso, la información de ajuste de proceso de proyección). Como alternativa, el formato de proyección (por ejemplo, ERP, CMP, CMP compacto, OHP, OHP compacto, ISP y ISP compacto) se puede identificar junto con la información de elemento que constituye el formato de proyección (en este caso, empaquetado por regiones).
[0541] En resumen, el formato de proyección se puede identificar usando la información de índice de formato de proyección, se puede identificar usando al menos una pieza de la información de elemento de formato de proyección, y se puede identificar usando la información de índice de formato de proyección y al menos una de la información de elemento de formato de proyección. Esto se puede definir de acuerdo con ajustes de codificación/descodificación. En la presente invención, la siguiente descripción supone que el formato de proyección se identifica usando el índice de formato de proyección. En este ejemplo, la descripción se centrará en un formato de proyección que se expresa usando 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 figuras 16A a 16D, el número de cada cara se usa como un símbolo para identificar una cara correspondiente, y no hay limitación en un orden específico. Por conveniencia de descripción, la siguiente descripción supone que, con respecto a la imagen proyectada, ERP es un formato de proyección que incluye una cara un cuadrilátero, CMP es un formato de proyección que incluye seis caras un cuadrilátero, OHP es un formato de proyección que incluye ocho caras un triángulo, ISP es un formato de proyección que incluye veinte caras un triángulo, y las caras tienen el mismo tamaño y forma. Sin embargo, la descripción se puede aplicar de manera idéntica o similar incluso a diferentes configuraciones. Como se muestra en las figuras 16A a 16D, el formato de proyección se puede clasificar como una cara (por ejemplo, ERP) o una pluralidad de caras (por ejemplo, CMP, OHP e ISP). Además, la forma de cada cara se puede clasificar como un cuadrilátero, un triángulo o similares. La clasificación puede ser un ejemplo del tipo, características y similares de la imagen de acuerdo con la presente invención, que se puede aplicar cuando se proporcionan diferentes ajustes de codificación/descodificación dependiendo 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 tiene una cara o una pluralidad de caras, un formato de proyección que tiene una cara cuadrangular o una cara no cuadrangular).
[0542] Un sistema de coordenadas planas 2D (por ejemplo, (l, j)) se puede definir 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. ERP puede tener un sistema de coordenadas plano 2D, y otros formatos de proyección pueden tener una pluralidad de sistemas de coordenadas planos 2D dependiendo del número de caras. En este caso, el sistema de coordenadas se puede expresar como (k,i,j), y k puede indicar información de índice para cada cara.
[0543] La figura 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.
[0544] Es decir, se puede entender que las secciones 17A a 17C muestran que los formatos de proyección de las figuras 16B a 16D se implementan como una imagen rectangular.
[0545] Haciendo referencia a las secciones 17A a 17C, cada formato de imagen se puede configurar en una forma rectangular para codificar o descodificar una imagen de 360 grados. Para ERP, se puede usar un único sistema de coordenadas tal cual. Sin embargo, para otros formatos de proyección, los sistemas de coordenadas de caras se pueden integrar en un único sistema de coordenadas, y se omitirá una descripción detallada de los mismos.
[0546] Haciendo referencia a las secciones 17A a 17C, mientras se construye una imagen rectangular, se puede confirmar que se genera una región llena de datos sin significado tal como un vacío o fondo. Es decir, la imagen rectangular puede estar compuesta por una región que incluye datos reales (en este caso, una cara; un área activa) y una región sin significado añadida para construir la imagen rectangular (en este caso, 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 en los datos de codificación, es decir, un aumento en el tamaño de imagen provocado por la región sin significado, así como la codificación/descodificación de datos de imagen reales.
[0547] Por consiguiente, se puede realizar adicionalmente un proceso para construir una imagen excluyendo la región sin significado y usando la región que incluye datos reales.
[0548] La figura 18 es un diagrama conceptual de un método de conversión de un formato de proyección en una forma rectangular, es decir, un método para realizar una reorganización en una cara para excluir una región sin significado de acuerdo con una realización de la presente invención.
[0549] Haciendo referencia a las secciones 18A a 18C, se puede confirmar un ejemplo para reorganizar las secciones 17A a 17C, y este proceso se puede definir como un proceso de empaquetado por regiones (CMP compacto, OHP compacto, ISP compacto y similares). En este caso, la cara se puede no solo reorganizar, sino también particionar y a continuación reorganizarse (OHP compacto, ISP compacto y similares). Esto se puede realizar para retirar la región sin significado, así como para mejorar el rendimiento de codificación a través de una disposición de caras eficiente.
[0550] Por ejemplo, cuando una imagen se dispone continuamente entre caras (por ejemplo, B2-B3-B1, B5-B0-B4, etc. en la sección 18A), se mejora la precisión de predicción tras la codificación, y, por lo tanto, se puede mejorar el rendimiento de codificación. En este caso, el empaquetado por regiones de acuerdo con el formato de proyección es simplemente un ejemplo, y la presente invención no se limita al mismo.
[0551] La figura 19 es un diagrama conceptual que muestra que se realiza un proceso de empaquetamiento regional para convertir un formato de proyección de CMP en una imagen rectangular de acuerdo con una realización de la presente invención.
[0552] Haciendo referencia a las secciones 19A a 19C, un formato de proyección de CMP se puede disponer como 6 × 1, 3 × 2, 2 × 3 y 1 × 6. También, cuando se redimensionan algunas caras, la disposición se puede hacer como se muestra en las secciones 19D y 19E. En las secciones 19A a 19E, se aplica CMP como un ejemplo. Sin embargo, la presente invención no se limita a lo mismo, y se pueden aplicar otros formatos de proyección. La disposición de caras de una imagen adquirida a través del empaquetado por regiones puede seguir una regla predeterminada correspondiente al formato de proyección o puede generar explícitamente información con respecto a la disposición.
[0553] Los aparatos de codificación y descodificación de imágenes de 360 grados de acuerdo con una realización de la presente invención se pueden configurar para incluir algunos o todos los elementos de los aparatos de codificación y descodificación de imágenes mostrados en las figuras 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 a la inversa un formato de proyección se pueden incluir además en el aparato de codificación de imágenes y el aparato de descodificación de imágenes, respectivamente. Es decir, una imagen de entrada se puede procesar a través de la parte de transformación de formato y a continuación codificar por el aparato de codificación de imágenes de la figura 1, y un flujo de bits se puede descodificar y a continuación procesar a través de la parte de transformación de formato inversa por el aparato de descodificación de imágenes de la figura 2 para generar una imagen de salida. La siguiente descripción se centrará en el proceso realizado por el codificador (en este caso, imagen de entrada, codificación, etc.), y el proceso realizado por el descodificador se puede derivar a la inversa del codificador. También, se omitirá la descripción redundante de lo mencionado anteriormente.
[0554] La siguiente descripción supone que la imagen de entrada es la misma que una imagen empaquetada o una imagen proyectada en 2D que se adquiere 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 aplicada previamente a la imagen de entrada puede ser uno de los diversos formatos de proyección, que se puede considerar como un formato común y denominarse como un primer formato.
[0555] 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 se ha de realizar la transformación se puede denominar como un segundo formato. Por ejemplo, ERP se puede establecer como el primer formato y se puede transformar en el segundo formato (por ejemplo, ERP2, CMP, OHP e ISP). En este caso, ERP2 tiene una clase de formato EPR que tiene las mismas condiciones, tal como un modelo 3D y una configuración de cara, pero algunos ajustes diferentes. Como alternativa, los formatos de proyección pueden ser el mismo formato que tiene los mismos ajustes de formato de proyección (por ejemplo, ERP = ERP2) y pueden tener diferentes tamaños de imagen o resoluciones. Como alternativa, se pueden aplicar algunos de los siguientes procesos de ajuste de imagen. Por conveniencia de descripción, se ha mencionado un ejemplo de este tipo, pero cada uno del primer formato y del segundo formato puede ser uno de los diversos formatos de proyección. Sin embargo, la presente invención no se limita a lo mismo, y se pueden realizar modificaciones a la misma.
[0556] Durante el proceso de transformación de formato, un píxel de una imagen después de la transformación (un píxel entero) se puede adquirir a partir de un píxel de unidad decimal, así como 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. Un filtro de interpolación usado en este caso puede ser el mismo o similar al descrito anteriormente. En este caso, la información relacionada se puede generar explícitamente seleccionando uno de una pluralidad de candidatos de filtro de interpolación, o el filtro de interpolación se puede determinar implícitamente de acuerdo con una regla predeterminada. Por ejemplo, se puede usar un filtro de interpolación predeterminado de acuerdo con un formato de proyección, un formato de color y un tipo de segmento/mosaico. También, cuando se proporciona explícitamente el filtro de interpolación, se puede incluir información con respecto a información de filtro (por ejemplo, un coeficiente de filtro).
[0557] En la parte de transformación de formato, el formato de proyección se puede definir como que incluye empaquetado por regiones, etc. Es decir, proyección y empaquetado por regiones se pueden realizar durante el proceso de transformación de formato. Como alternativa, después del proceso de transformación de formato, se puede realizar un proceso tal como empaquetado por regiones antes de que se realice la codificación.
[0558] El codificador puede añadir la información generada durante el proceso anterior a un flujo de bits en unidades de al menos una de secuencias, imágenes, segmentos, mosaicos y similares, y el descodificador puede analizar información relacionada desde el flujo de bits. También, la información se puede incluir en el flujo de bits en forma de SEI o metadatos.
[0559] A continuación, se describirá un proceso de ajuste de imagen de 360 grados aplicado al aparato de codificación/descodificación de imágenes de acuerdo con una realización de la presente invención. El proceso de ajuste de imagen de acuerdo con la presente invención se puede aplicar a un proceso de preprocesamiento, un proceso de posprocesamiento, un proceso de transformación de formato, un proceso de transformación de formato inversa y similares del aparato de codificación/descodificación de imágenes de 360 grados así como procesos generales de codificación/descodificació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 anteriormente descritos. Se omitirá la descripción redundante del proceso de ajuste de imagen mencionado anteriormente. También, el siguiente ejemplo se centrará en el proceso de ajuste de imagen, y el proceso de ajuste de imagen inverso se puede derivar a la inversa del proceso de ajuste de imagen. Algunos casos se pueden confirmar a través de las diversas realizaciones anteriormente mencionadas de la presente invención.
[0560] El proceso de ajuste de imagen de acuerdo con la presente invención se puede realizar 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. La figura 20 es un diagrama conceptual de partición de imagen de 360 grados de acuerdo con una realización de la presente invención. En la figura 20, se supone que se proyecta una imagen por ERP.
[0561] La sección 20A ilustra una imagen proyectada por ERP, y la imagen se puede particionar usando diversos métodos. En el ejemplo, la descripción se centra en un segmento o mosaico, y se supone que W0 a W2 y H0 y H1 son líneas de límite de partición para un segmento o mosaico y siguen un orden de exploración de trama. El siguiente ejemplo se centra en un segmento y un mosaico. Sin embargo, la presente invención no se limita a lo mismo, y se puede aplicar a la misma otro método de partición.
[0562] Por ejemplo, la partición se puede realizar en unidades de segmento, y H0 y H1 se pueden proporcionar como límites de partición. Como alternativa, la partición se puede realizar en unidades de mosaicos, y se pueden proporcionar W0 a W2, H0 y H1 como límites de partición.
[0563] La sección 20B ilustra un ejemplo en el que una imagen proyectada por ERP se particiona en mosaicos (se supone que tiene los mismos límites de partición de mosaicos (W0 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 la imagen completa 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 diversos métodos para proporcionar una imagen correspondiente a la ventana gráfica. Por ejemplo, la región que corresponde a la ventana gráfica se puede adquirir descodificando la imagen completa (por ejemplo, mosaicos a a i). En este caso, se puede descodificar toda la imagen, y se puede descodificar el mosaico a a i (en este caso, una región A una región B) cuando se particiona la imagen. Como alternativa, la región correspondiente a la ventana gráfica se puede adquirir descodificando una región que pertenece a la ventana gráfica. En este caso, cuando se particiona la imagen, la región correspondiente a la ventana gráfica se puede adquirir a partir de una imagen restaurada descodificando los mosaicos f, g, j, y k (en este caso, la región B). El primer caso se puede denominar como descodificación completa (o codificación independiente de ventana gráfica), y el último caso se puede denominar como descodificación parcial (o codificación dependiente de ventana gráfica). El último caso puede ser un ejemplo que puede ocurrir en una imagen de 360 grados con una gran cantidad de datos. El método de partición basado en unidad de mosaico se puede usar con más frecuencia que el método de partición basado en unidad de segmento, ya que una región particionada se puede adquirir de manera flexible. Para la descodificación parcial, la capacidad de referencia de una unidad de partición se puede limitar espacial o temporalmente (en este caso, procesarse implícitamente) porque no es posible encontrar dónde tendrá lugar el punto de vista, y la codificación/descodificación se puede realizar teniendo en cuenta la limitación. Se describirá el siguiente ejemplo, centrándose en la descodificación completa, pero se describirá la partición de imagen de 360 grados, centrándose en un mosaico (o un método de partición rectangular de la presente invención) para preparar la descodificación parcial. Sin embargo, la siguiente descripción se puede aplicar a otras unidades de partición de la misma manera o de una manera modificada.
[0564] La figura 21 es un diagrama de ejemplo de partición de imagen de 360 grados y reconstrucción de imagen de acuerdo con una realización de la presente invención. En la figura 21, se supone que se proyecta una imagen por CMP. La sección 21A ilustra una imagen proyectada por CMP, y la imagen se puede particionar usando diversos métodos. Se supone que W0 a W2, H0 y H1 son líneas de límite de partición de una cara, un segmento y un mosaico y siguen un orden de exploración de trama.
[0565] Por ejemplo, la partición se puede realizar en unidades de segmento, y H0 y H1 se pueden proporcionar como límites de partición. Como alternativa, la partición se puede realizar en unidades de mosaicos, y se pueden proporcionar W0 a W2, H0 y H1 como límites de partición. Como alternativa, la partición se puede realizar en unidades de cara, y se pueden proporcionar W0 a W2, H0 y H1 como límites de partición. En este ejemplo, se supone que la cara es una parte de la unidad de partición.
[0566] En este caso, la cara puede ser una unidad de partición (en este caso, codificación/descodificación dependiente) que se realiza para clasificar o distinguir regiones que tienen diferentes propiedades (en este caso, 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 segmento o mosaico puede ser una unidad de partición (en este caso, codificación/descodificación independiente) que se realiza para particionar una imagen de acuerdo con definiciones de usuario. También, la cara puede ser una unidad que se particiona por una definición predeterminada (o inducción a partir de la información de formato de proyección) durante un proceso de proyección de acuerdo con el formato de proyección, mientras que el segmento o mosaico puede ser una unidad que se particiona generando explícitamente información de partición de acuerdo con las definiciones de usuario. También, la cara puede tener una forma de partición poligonal que incluye un cuadrilátero de acuerdo con el formato de proyección, el segmento puede tener cualquier forma de partición que no se puede definir como un cuadrilátero o un polígono, y el mosaico puede tener una forma de partición cuadrilátera. El ajuste de la unidad de partición se puede definir únicamente para la descripción de este ejemplo.
[0567] 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/descodificación independiente de acuerdo con ajustes de codificación/descodificación como al menos una unidad de cara, y puede tener ajustes para realizar codificación/descodificación independiente en combinación con un mosaico, un segmento y similares. En este caso, se puede generar información explícita del mosaico y el segmento cuando la cara se combina con un mosaico, un segmento y similares, o el mosaico y el segmento se pueden combinar implícitamente basándose en información de cara. Como alternativa, la información explícita del mosaico y el segmento se puede generar basándose en la información de cara.
[0568] Como un primer ejemplo, se realiza un proceso de partición de imagen (en este caso, una cara), y la partición de imagen puede omitir implícitamente información de partición (que se adquiere a partir de información de formato de proyección). Este ejemplo es para ajustes de codificación/descodificación dependientes y puede ser un ejemplo correspondiente a un caso en el que la capacidad de referencia entre unidades de cara no está limitada.
[0569] Como un segundo ejemplo, se realiza un proceso de partición de imagen (en este caso, una cara), y la partición de imagen puede generar explícitamente información de partición. Este ejemplo es para ajustes de codificación/descodificación dependientes y puede ser un ejemplo correspondiente a un caso en el que la capacidad de referencia entre unidades de cara no está limitada.
[0570] Como tercer ejemplo, se realiza una pluralidad de procesos de partición de imágenes (en este caso, una cara y un mosaico), algunas particiones de imágenes (en este caso, una cara) pueden omitir implícitamente o generar explícitamente información de partición, y otra partición de imagen (en este caso, un mosaico) puede generar explícitamente información de partición. En este ejemplo, un proceso de partición de imagen (en este caso, una cara) precede al otro proceso de partición de imagen (en este caso, un mosaico).
[0571] Como cuarto ejemplo, se realiza una pluralidad de procesos de partición de imágenes, algunas particiones (en este caso, una cara) pueden omitir implícitamente o generar explícitamente información de partición, y otras particiones de imagen (en este caso, un mosaico) pueden generar explícitamente información de partición basándose en alguna partición de imagen (en este caso, una cara). En este ejemplo, un proceso de partición de imagen (en este caso, una cara) precede al otro proceso de partición de imagen (en este caso, un mosaico). En algunos casos (se supone el segundo ejemplo) de este ejemplo, puede ser igual en que la información de partición se genera explícitamente, pero puede haber una diferencia en la configuración de información de partición.
[0572] Como cuarto ejemplo, se realiza una pluralidad de procesos de partición de imágenes, algunas particiones (en este caso, una cara) pueden omitir información de partición, y otras particiones de imagen (en este caso, un mosaico) pueden omitir implícitamente información de partición basándose en alguna partición de imagen (en este caso, una cara). Por ejemplo, una unidad de cara se puede establecer individualmente como una unidad de mosaico o una pluralidad de unidades de cara (en este caso, 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) se pueden establecer como una unidad de mosaicos. De acuerdo con una regla predeterminada, una unidad de cara se puede establecer como una unidad de mosaico. Este ejemplo es para ajustes de codificación/descodificación independientes y puede ser un ejemplo correspondiente a un caso en el que la capacidad de referencia entre unidades de cara está limitada. Es decir, en algunos casos (se supone el primer ejemplo), puede ser igual en que la información de partición se procesa implícitamente, pero puede haber una diferencia en los ajustes de codificación/descodificación.
[0573] El ejemplo puede ser una descripción de un caso en el que el proceso de partición se puede realizar en la etapa de proyección, la etapa de empaquetado por regiones, la etapa de codificación/descodificación inicial y similares, y puede ser cualquier otro proceso de partición de imágenes realizado en el codificador/descodificador.
[0574] En la sección 21A, se puede construir una imagen rectangular 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 se puede comprobar a través de un formato de proyección o similar o información que se puede comprobar cuando la información con respecto a una imagen proyectada se genera explícitamente, y la información relacionada se puede representar 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, part_top, part_left, part_width, part_height y part_convert_flag) con respecto a regiones específicas de la imagen proyectada se puede representar como se muestra en la Tabla 4 y la Tabla 5. Sin embargo, la presente invención no se limita a las mismas y se puede aplicar a otros casos (por ejemplo, otro formato de proyección, otros ajustes de proyección, etc.).
[0575] La región B y la región A se pueden construir como una única imagen y, a continuación, codificarse o descodificarse. Como alternativa, la partición se puede realizar teniendo en cuenta características a nivel de región, y se pueden aplicar diferentes ajustes de codificación/descodificación. Por ejemplo, la codificación o descodificación se puede no realizar en la región B usando información con respecto a si realizar codificación o descodificación (por ejemplo, tile_coded_flag cuando se supone que la unidad de partición es un mosaico). En este caso, una región correspondiente se puede restaurar a ciertos datos (en este caso, cualquier valor de píxel) de acuerdo con una regla predeterminada. Como alternativa, en el proceso de partición de imagen descrito anteriormente, la región B puede tener diferentes ajustes de codificación/descodificación de la región A. Como alternativa, una región correspondiente se puede retirar realizando el proceso de empaquetado por regiones.
[0576] La sección 21B muestra un ejemplo en el que una imagen empaquetada por CMP se particiona en mosaicos, segmentos o caras. En este caso, la imagen empaquetada es una imagen en la que se realiza un proceso de reorganización de caras o un proceso de empaquetado por regiones y puede ser una imagen adquirida realizando la partición de imagen y reconstrucción de imagen de acuerdo con la presente invención.
[0577] En la sección 21B, se puede construir una forma rectangular para incluir una región que incluye 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 se puede comprobar a través de una configuración predeterminada o información que se puede comprobar cuando se genera explícitamente información con respecto a la imagen empaquetada, y la información relacionada se puede representar 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, part_top, part_left, part_width, part_height y part_convert_flag) con respecto a una región específica de la imagen empaquetada se puede representar como se muestra en la Tabla 4 y la Tabla 5.
[0578] La imagen empaquetada se puede particionar usando diversos métodos de partición. Por ejemplo, la partición se puede realizar en unidades de segmento, y se puede proporcionar H0 como un límite de partición. Como alternativa, la partición se puede realizar en unidades de mosaicos, y W0, W1 y H0 se pueden proporcionar como límites de partición. Como alternativa, la partición se puede realizar en unidades de cara, y W0, W1 y H0 se pueden proporcionar como límites de partición.
[0579] El proceso de partición de imagen y el proceso de reconstrucción de imagen de acuerdo con la presente invención se pueden realizar en una imagen proyectada. En este caso, el proceso de reconstrucción se puede usar para reorganizar caras en la imagen así como píxeles en la imagen. Este puede ser un posible ejemplo cuando la imagen se particiona en o se construye con una pluralidad de caras. Se describirá el siguiente ejemplo, centrándose en el caso en el que la imagen se particiona en mosaicos basándose en una unidad de cara.
[0580] 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 (en este caso, X e Y pueden ser lo mismo que o diferente de U y V), y el proceso de reconstrucción se puede realizar en unidades de cara. Por ejemplo, S2,1, S3,1, S0,1, S1,2, S1,1 y S1,0 se pueden asignar a S'0,0, S'1,0, S'2,0, S '0,1, S'1,1 y S'2,1 (reorganización de caras). También, S2,1, S3,1 y S0,1 se pueden no reconstruir (reorganización de píxeles), y S1,2, S1,1 y S1,0 se pueden rotar 90 grados y a continuación reconstruirse. Esto se puede representar como se muestra en la sección 21C. En la sección 21C, los símbolos S1,0, S1,1 y S1,2 dispuestos horizontalmente pueden ser imágenes que se disponen horizontalmente para mantener la continuidad de una imagen.
[0581] La reconstrucción de las caras se puede procesar implícita o explícitamente dependiendo de los ajustes de codificación/descodificación. El procesamiento implícito se puede realizar de acuerdo con una regla predeterminada en consideración del tipo (en este caso, una imagen de 360 grados) y características (en este caso, un formato de proyección, etc.) de la imagen.
[0582] 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 cara, y la sección 21C puede ser un ejemplo en el que hay continuidad entre tres caras superiores y tres caras inferiores. Mientras 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 para aumentar la continuidad de imagen entre caras para reconstruir de manera eficiente las caras. Tal reconstrucción de las caras se puede predeterminar y procesar.
[0583] Como alternativa, el proceso de reconstrucción se puede realizar a través de procesamiento explícito, y se puede generar información de reconstrucción.
[0584] Por ejemplo, cuando se comprueba la información (por ejemplo, una de información adquirida implícitamente e 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 CMP compacto; en este ejemplo, se supone una configuración 3 × 2) a través del proceso de empaquetado por regiones, se puede realizar la reconstrucción de cara de acuerdo con la construcción M × N, y a continuación se puede generar información con respecto a la reconstrucción de cara. Por ejemplo, cuando las caras se reorganizan en una imagen, se puede asignar información de índice (o información con respecto a ubicaciones en la imagen) a cada cara. Cuando se reorganizan píxeles en una cara, se puede asignar información de modo para reconstrucción.
[0585] La información de índice se puede predefinir como se muestra en las secciones 18A a 18C de la figura 18. En las secciones 21A a 21C, SX,Y o S'U,V representa cada cara usando información de ubicación (por ejemplo, S[i][j]) que indica una anchura y una altura o usando una pieza de información de ubicación (por ejemplo, S[i]; se supone que la información de ubicación se asigna en un orden de exploración de trama, empezando desde una cara superior izquierda de la imagen), y se puede asignar a la misma un índice de cada cara.
[0586] Por ejemplo, cuando se asigna un índice usando la información de ubicación que indica la anchura y la altura, el índice de cara n.° 2 se puede asignar a S'0,0, el índice de cara n.° 3 se puede asignar a S'1,0, el índice de cara n.° 1 se puede asignar a S'2,0, el índice de cara n.° 5 se puede asignar a S'0,1, el índice de cara n.° 0 se puede asignar a S'1,1 y el índice de cara n.° 4 se puede asignar a S'2,1, como se muestra en la sección 21C. Como alternativa, cuando se asigna un índice usando una pieza de información de ubicación, el índice de cara n.° 2 se puede asignar a S[0], el índice de cara n.° 3 se puede asignar a S[1], el índice de cara n.° 1 se puede asignar a S[2], el índice de cara n.° 5 se puede asignar a S[3], el índice de cara n.° 0 se puede asignar a S[4] y el índice de cara n.° 4 se puede asignar a S[5]. Por conveniencia de descripción, en el siguiente ejemplo, S'0,0 a S'2,1 se puede denominar como a a f. Como alternativa, cada cara se puede representar usando información de ubicación que indica la anchura y la altura de un píxel o unidad de bloque basándose en una esquina superior izquierda de la imagen.
[0587] Para la imagen empaquetada adquirida a través del proceso de reconstrucción de imagen (o el proceso de empaquetado por regiones), el orden de exploración de cara es el mismo o diferente del orden de exploración de imagen dependiendo de los ajustes de reconstrucción. Por ejemplo, cuando se aplica un orden de exploración (por ejemplo, exploración de trama) a una imagen mostrada en la sección 21A, a, b, y c pueden tener el mismo orden de exploración, y d, e, y f pueden tener diferentes órdenes de exploración. 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 se puede determinar de acuerdo con ajustes de reconstrucción de imagen, y tal ajuste se puede aplicar incluso a otros formatos de proyección. En el proceso de partición de imagen mostrado en la sección 21B, un mosaico se puede establecer individualmente como una unidad de cara. Por ejemplo, cada una de las caras a a f se puede establecer como una unidad de mosaico. Como alternativa, una pluralidad de unidades de cara se puede establecer como un mosaico. Por ejemplo, las caras a a c se pueden establecer como un mosaico, y las caras d a f se pueden establecer como un mosaico. La construcción se puede determinar basándose en características de cara (por ejemplo, continuidad entre caras, etc.), y a diferencia del ejemplo anterior, pueden ser posibles diferentes ajustes de mosaico para caras.
[0588] Lo siguiente es un ejemplo de información de partició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 para una cara, una unidad distinta de una cara es un mosaico, y la información de partición se procesa de manera diversa.
[0589] Como un primer ejemplo, la información de partición de imagen se puede adquirir basándose en información de cara y se puede omitir implícitamente. Por ejemplo, una cara se puede establecer individualmente como un mosaico, o una pluralidad de caras se puede establecer como un mosaico. En este caso, cuando al menos una cara se establece como un mosaico, esto se puede determinar de acuerdo con una regla predeterminada basándose en información de cara (por ejemplo, continuidad o correlación).
[0590] Como un segundo ejemplo, la información de partición de imagen se puede generar explícitamente independientemente de la información de cara. Por ejemplo, cuando la información de partición se genera usando el número de columnas (en este caso, num_tile_columns) y el número de filas (en este caso, num_tile_rows) del mosaico, la información de partición se puede generar en un método del proceso de partición de imagen descrito anteriormente. Por ejemplo, el número de columnas del mosaico puede variar de 0 a la anchura de la imagen o la anchura del bloque (en este caso, una unidad obtenida de la parte de partición de imagen), y el número de filas del mosaico puede variar de 0 a la altura de la imagen o la altura del bloque. También, se puede generar información de partición adicional (por ejemplo, uniform_spacing_flag). En este caso, el límite de la cara y el límite de la unidad de partición pueden o no coincidir entre sí dependiendo de los ajustes de partición.
[0591] Como un tercer ejemplo, la información de partición de imagen se puede generar explícitamente basándose en la información de cara. Por ejemplo, cuando la información de partición se genera usando los números de columnas y filas del mosaico, la información de partición se puede generar basándose en la información de cara (en este caso, el número de columnas varía de 0 a 2, y el número de filas varía de 0 a 1, ya que la configuración de las caras en la imagen es 3x2). Por ejemplo, el número de columnas del mosaico puede variar de 0 a 2, y el número de filas del mosaico puede variar de 0 a 1. También, se puede no generar información de partición adicional (por ejemplo, uniform_spacing_flag). En este caso, el límite de la cara y el límite de la unidad de partición pueden coincidir entre sí. En algunos casos (se suponen el segundo ejemplo y el tercer ejemplo), un elemento de sintaxis de la información de partición se puede definir de manera diferente, o ajustes de elementos de sintaxis (por ejemplo, ajustes de binarización; cuando el intervalo de un grupo de candidatos de un elemento de sintaxis está limitado y es pequeño, se puede usar otra binarización) se puede aplicar de manera diferente incluso aunque se use el mismo elemento de sintaxis. El ejemplo anterior se ha descrito para algunos de diversos elementos de la información de partición. Sin embargo, la presente invención no se limita a la misma, y se puede entender que son posibles otros ajustes de acuerdo con si la información de partición se genera basándose en la información de cara.
[0592] La figura 22 es un diagrama de ejemplo en el que una imagen empaquetada o proyectada por CMP se particiona en mosaicos.
[0593] En este caso, se supone que tiene los mismos límites de partición de mosaicos (W0 a W2, H0 y H1 están todos activados) como los mostrados en la sección 21A de la figura 21 y tienen los mismos límites de partición de mosaicos (W0, W1 y H0 están todos activados) que los mostrados en la sección 21B de la figura 21. Cuando se supone que una región P indica la imagen completa y una región V indica una ventana gráfica, se puede realizar descodificación completa o descodificación parcial. Este ejemplo se describirá, centrándose en la descodificación parcial. En la sección 22A, los mosaicos e, f, y g se pueden descodificar para CMP (un lado izquierdo) y los mosaicos de a, c, y e se pueden descodificar para CMP compacto (un lado derecho) para adquirir una región correspondiente a la ventana gráfica. En la sección 22B, los mosaicos b, f, e i se pueden descodificar para CMP y los mosaicos de d, e, y f se pueden descodificar para CMP compacto para adquirir una región correspondiente a la ventana gráfica.
[0594] El ejemplo anterior se ha descrito para un caso en el que la partición de un segmento, un mosaico o similar se realiza basándose en una unidad de cara (o un límite de cara). Sin embargo, como se muestra en la sección 20A de la figura 20, la partición se puede realizar en el interior de una cara (por ejemplo, una imagen está compuesta por una cara en ERP y compuesta por una pluralidad de caras en otro formato de proyección), o la partición se puede realizar en el límite de la cara, así como el interior.
[0595] La figura 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 ERP. También, se describirá el siguiente ejemplo, centrándose en el caso de expansión.
[0596] La imagen proyectada se puede redimensionar 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. En este caso, una imagen antes de redimensionar puede ser P_Width × P_Height, y una imagen después de redimensionar puede ser P'_Width × P'_Height.
[0597] Para el factor de escala, después de que la anchura y la altura de la imagen se redimensionan a través de factores de escala (en este caso, a en anchura y b en altura), se puede adquirir la anchura (P_Width × a) y la altura (P_Height × b) de la imagen. Para el factor de desplazamiento, después de que la anchura y la altura de la imagen se redimensionan a través de factores de desplazamiento (en este caso, L y R en anchura y T y B en altura), se puede adquirir la anchura (P_Width L R) y la altura (P_Height T B) de la imagen. El redimensionamiento se puede realizar usando un método predeterminado, o el redimensionamiento se puede realizar usando un método seleccionado de entre una pluralidad de métodos.
[0598] Se describirá el método de procesamiento de datos en el siguiente ejemplo, centrándose en el caso de un factor de desplazamiento. Para el factor de desplazamiento, como método de procesamiento de datos, puede haber un método de relleno usando un valor de píxel predeterminado, un método de relleno copiando píxeles externos, un método de relleno copiando una región específica de una imagen, un método de relleno transformando una región específica de una imagen, y similares.
[0599] Una imagen de 360 grados se puede redimensionar teniendo en cuenta las características en las que la continuidad está presente en un límite de la imagen. Para ERP, 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 en una región de límite incluyen datos con continuidad hacia fuera, pero pueden tener un límite en términos de características espaciales. El redimensionamiento se puede realizar teniendo en cuenta tales características. En este caso, la continuidad se puede comprobar de acuerdo con el formato de proyección o similar. Por ejemplo, una imagen de ERP puede ser una imagen que tiene características en las que ambos límites de extremo son continuos. Este ejemplo se describirá, suponiendo que los límites izquierdo y derecho de la imagen son continuos entre sí y los límites superior e inferior de la imagen son continuos entre sí. Se describirá el método de procesamiento de datos, centrándose en un método de relleno copiando una región específica de la imagen y un método de relleno transformando una región específica de la imagen.
[0600] Cuando la imagen se redimensiona a la izquierda, una región redimensionada (en este caso, LC o TL LC BL) se puede rellenar con datos de una región derecha (en este caso, tr rc br) de la imagen que tiene continuidad con la izquierda de la imagen. Cuando la imagen se redimensiona a la derecha, una región redimensionada (en este caso, RC o TR RC BR) se puede rellenar con datos de una región izquierda (en este caso, tl Ic bl) de la imagen que tiene continuidad con la derecha de la imagen. Cuando la imagen se redimensiona hacia arriba, una región redimensionada (en este caso, TC o TL TC TR) se puede rellenar con datos de una región inferior (en este caso, bl bc br) de la imagen que tiene continuidad con el lado superior. Cuando la imagen se redimensiona hacia abajo, una región redimensionada (en este caso, BC o BL BC BR) se puede rellenar con datos.
[0601] Cuando el tamaño o la 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_Width, y) a (P_Width m - 1,y) (redimensionamiento a la derecha) con respecto a las coordenadas de la imagen antes del redimensionamiento (en este caso, x varía de 0 a P_Width - 1). La ubicación x' de la región para adquirir los datos de la región redimensionada se puede derivar de una fórmula x' = (x P_Width) % P_Width. En este caso, x indica una coordenada de una región redimensionada con respecto a las coordenadas de una imagen antes del redimensionamiento, y x' indica una coordenada de una región referenciada a una región redimensionada con respecto a las coordenadas de una imagen antes del redimensionamiento. 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) se pueden adquirir de (12,y), los datos correspondientes de (-3,y) se pueden adquirir de (13,y), los datos correspondientes de (-2,y) se pueden adquirir de (14,y), y los datos correspondientes de (-1,y) se pueden adquirir de (15,y). Como alternativa, 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) se pueden adquirir de (0,y), los datos correspondientes de (17,y) se pueden adquirir de (1,y), los datos correspondientes de (18,y) se pueden adquirir de (2,y), y los datos correspondientes de (19,y) se pueden adquirir de (3,y).
[0602] Cuando el tamaño o la 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_Height) a (x, P_Height n - 1) (redimensionamiento hacia abajo) con respecto a las coordenadas de la imagen antes de redimensionar (en este caso, y varía de 0 a P_Height - 1). La ubicación (y') de la región para adquirir datos de la región redimensionada se puede derivar de una fórmula y' = (y P_Height) % P_Height. En este caso, y indica una coordenada de una región redimensionada con respecto a las coordenadas de una imagen antes del redimensionamiento, e y' indica una coordenada de una región referenciada a una región redimensionada con respecto a las coordenadas de una imagen antes del redimensionamiento. 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) se pueden adquirir de (x,12), los datos correspondientes de (x,-3 ) se pueden adquirir de (x,13), los datos correspondientes de (x,-2) se pueden adquirir de (x,14) y los datos correspondientes de (x,-1) se pueden adquirir de (x,15). Como alternativa, cuando la imagen se redimensiona hacia abajo, n es 4, y la altura de la imagen es 16, los datos correspondientes de (x,16) se pueden adquirir de (x,0), los datos correspondientes de (x,17) se pueden adquirir de (x,1), los datos correspondientes de (x,18) se pueden adquirir de (x,2), y los datos correspondientes de (x,19) se pueden adquirir de (x,3).
[0603] Después de que la región redimensionada se rellene con datos, el redimensionamiento se puede realizar con respecto a las coordenadas de la imagen después del redimensionamiento (en este caso, x varía de 0 a P'_Width - 1, e y varía de 0 a P'_Height - 1). El ejemplo se puede aplicar a un sistema de coordenadas de latitud y longitud.
[0604] Se pueden proporcionar diversas combinaciones de redimensionamiento como sigue.
[0605] Como un ejemplo, la imagen se puede redimensionar a la izquierda en m. Como alternativa, la imagen se puede redimensionar a la derecha en n. Como alternativa, la imagen se puede redimensionar hacia arriba en o. Como alternativa, la imagen se puede redimensionar hacia abajo en p.
[0606] Como un ejemplo, la imagen se puede redimensionar a la izquierda en m y a la derecha en n. Como alternativa, la imagen se puede redimensionar hacia arriba en o y hacia abajo en p.
[0607] Como un ejemplo, la imagen se puede redimensionar a la izquierda en m, a la derecha en n, y hacia arriba en o. Como alternativa, la imagen se puede redimensionar a la izquierda en m, a la derecha en n, y hacia abajo en p. Como alternativa, la imagen se puede redimensionar a la izquierda en m, hacia arriba en o, y hacia abajo en p. Como alternativa, la imagen se puede redimensionar a la derecha en n, hacia arriba en o, y hacia abajo en p.
[0608] Como un ejemplo, la imagen se puede redimensionar a la izquierda en m, a la derecha en n, hacia arriba en o, y hacia abajo en p.
[0609] Como el ejemplo anterior, se puede realizar al menos una operación de redimensionamiento. El redimensionamiento de imagen se puede realizar implícitamente de acuerdo con ajustes de codificación/descodificación, o se puede generar implícitamente información de redimensionamiento y, a continuación, se puede realizar redimensionamiento de imagen basándose en la información de redimensionamiento generada. Es decir, m, n, o, y p del ejemplo anterior se pueden determinar como valores predeterminados o se pueden generar explícitamente usando la información de redimensionamiento. Como alternativa, algunos se pueden determinar como valores predeterminados, y los otros se pueden generar explícitamente.
[0610] El ejemplo anterior se ha descrito, centrándose en el caso de datos que se adquieren de regiones específicas de la imagen, pero también se pueden aplicar otros métodos. Los datos pueden ser un píxel antes de la codificación o un píxel después de la codificación y se pueden determinar de acuerdo con características de una etapa de redimensionamiento o una imagen a redimensionar. Por ejemplo, los datos se pueden referir a 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 se pueden referir a un píxel restaurado cuando el redimensionamiento se realiza en un proceso de posprocesamiento, una etapa de generación de píxeles de referencia de intra-predicción, una etapa de generación de imágenes de referencia, una etapa de filtrado y similares. También, el redimensionamiento se puede realizar usando individualmente un método de procesamiento de datos en cada región redimensionada.
[0611] La figura 24 es un diagrama conceptual que ilustra la continuidad entre caras en un formato de proyección (por ejemplo, CHP, OHP o ISP) de acuerdo con una realización de la presente invención.
[0612] En detalle, la figura 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 un caso A de tener tanto adyacencia espacial como continuidad cuando se realiza la transformación a un espacio 2D a través de un proceso de proyección, un caso B de tener adyacencia espacial pero sin continuidad, un caso C de no tener adyacencia espacial pero continuidad, y un caso D de no tener 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 adyacencia espacial ni continuidad. En este caso, el caso de tener continuidad corresponde a algunos de los ejemplos (A o C).
[0613] Es decir, haciendo referencia a las secciones 24A a 24C, el caso de tener tanto adyacencia espacial como continuidad (en este caso, que se describe con referencia a la sección 24A) se puede mostrar como b0 a b4, y el caso de no tener adyacencia espacial pero continuidad se puede mostrar como B0 a B6. Es decir, los casos indican regiones que son adyacentes en el espacio 3D, y es posible mejorar el rendimiento de codificación usando características en las que b0 a b4 y B0 a B6 tienen continuidad en un proceso de codificación.
[0614] La figura 25 es un diagrama conceptual que ilustra continuidad de una cara en la sección 21C que es una imagen adquirida a través de un proceso de reconstrucción de imagen o un proceso de empaquetamiento por regiones en el formato de proyección de CMP.
[0615] En este caso, la sección 21C de la figura 21 muestra una reorganización de una imagen de 360 grados extendida en forma de cubo en la sección 21A y, por lo tanto, se mantiene la continuidad de la cara aplicada a la sección 21A de la figura 21. Es decir, como se muestra en la sección 25A, una cara S2,1 puede ser continua horizontalmente con las caras S1,1 y S3,1 y puede ser continua verticalmente con una cara S1,P girada 90 grados y una cara S1, 2 girada -90 grados.
[0616] De la misma manera, la continuidad de las caras S3,1, S0,1, S1,2, S1,1 y S1,0 se puede comprobar en las secciones 25B a 25F.
[0617] La continuidad entre caras se puede definir de acuerdo con ajustes de formato de proyección o similares. Sin embargo, la presente invención no se limita a lo mismo, y se pueden realizar modificaciones a la misma. El siguiente ejemplo se describirá suponiendo que la continuidad está presente como se muestra en las figuras 24 y 25.
[0618] La figura 26 es un diagrama de ejemplo que ilustra el redimensionamiento de imagen en el formato de proyección de CMP de acuerdo con una realización de la presente invención.
[0619] 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 cara (o una unidad de partición), y la sección 26C muestra un ejemplo de redimensionamiento de una imagen y una unidad de cara (o un ejemplo de realización de múltiples redimensionamientos).
[0620] La imagen proyectada se puede redimensionar 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. En este caso, una imagen antes de redimensionar puede ser P_Width × P_Height, una imagen después de redimensionar puede ser P'_Width × P'_Height, y el tamaño de una cara puede ser F_Width × F_Height. El tamaño puede ser el mismo o diferente dependiendo de la cara, y la anchura y la altura pueden ser iguales o diferentes dependiendo de la cara. Sin embargo, por conveniencia de descripción, este ejemplo se describirá suponiendo que todas las caras en la imagen tienen el mismo tamaño y la forma de un cuadrado. También, la descripción supone que los valores de redimensionamiento (en este caso, WX y HY) son los mismos. En el siguiente ejemplo, se describirá un método de procesamiento de datos, centrándose en el caso de un factor de desplazamiento y centrándose también en un método de relleno copiando una región específica de la imagen y un método de relleno transformando una región específica de la imagen. Los ajustes anteriores se pueden aplicar incluso al caso mostrado en la figura 27.
[0621] Para las secciones 26A a 26C, un límite de una cara puede tener continuidad con un límite de otra cara (en este caso, se supone que tiene una continuidad correspondiente a la sección 24A de la figura 24). En este caso, la continuidad se puede clasificar en un caso de tener adyacencia espacial y continuidad de imagen en el plano 2D (un primer ejemplo) y un caso de no tener adyacencia espacial pero continuidad de imagen en el plano 2D (un segundo ejemplo). Por ejemplo, cuando se asume la continuidad en la sección 24A de la figura 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 S1,0, S0,1, S2,1 y S1,2 (el primer ejemplo).
[0622] Como alternativa, las regiones izquierda y derecha de S1,0 no son espacialmente adyacentes a, pero pueden tener continuidad de imagen con, las regiones superiores de S0,1 y S2,1 (el segundo ejemplo). También, la región izquierda de S0,1 puede no ser espacialmente adyacente a, pero tener continuidad de imagen entre sí (el segundo ejemplo). También, la región izquierda y la región derecha de S1,2 pueden ser continuas con las regiones inferiores de S0,1 y S2,1 (el segundo ejemplo). Esto puede ser simplemente un ejemplo limitado, y se pueden aplicar otras configuraciones dependiendo de la definición y ajustes del formato de proyección. Por conveniencia de descripción, S0,0 a S3,2 en la sección 26A se denominan como a a I.
[0623] La sección 26A puede ser un ejemplo de un método de relleno que usa 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 este caso, a0 a a2, c0, d0 a d2, i0 a i2, k0 y l0 a l2) se puede rellenar con cualquier valor predeterminado o a través de relleno de píxeles exterior, y un intervalo desde una región B, que incluye datos reales, hasta una región redimensionada (en este caso, b0, e0, h0 y j0) se puede rellenar con datos de una región (o una cara) que tiene continuidad de imagen. Por ejemplo, b0 se puede rellenar con datos de un lado superior de la cara h, e0 se puede rellenar con datos de un lado derecho de la cara h, h0 se puede rellenar con datos de un lado izquierdo de la cara e, y j0 se puede rellenar con datos de un lado inferior de la cara h.
[0624] En detalle, como un ejemplo, b0 se puede rellenar con datos de un lado inferior de una cara obtenidos girando la cara h 180 grados, y j0 se puede rellenar con datos de un lado superior de una cara obtenidos girando la cara h en 180 grados. Sin embargo, este ejemplo (incluyendo el siguiente ejemplo) puede representar solo la ubicación de una cara de referencia, y los datos adquiridos de la región redimensionada se pueden adquirir después de un proceso de redimensionamiento (por ejemplo, rotación, etc.) que considera la continuidad entre caras como se muestra en las figuras 24 y 25.
[0625] La sección 26B puede ser un ejemplo de un método de relleno que usa 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 se puede realizar un proceso de expansión en la región B. Por ejemplo, la cara a se puede redimensionar (en este caso, reducirse) a la derecha en w0, y la cara b se puede redimensionar (en este caso, expandirse) a la izquierda en w0. Como alternativa, la cara a se puede redimensionar (en este caso, reducirse) hacia abajo en h0, y la cara e se puede redimensionar (en este caso, expandirse) hacia arriba en h0. En este ejemplo, cuando se ve 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 se puede reducir en w1. Por lo tanto, la anchura de la imagen antes de redimensionar es la misma que la anchura de la imagen después de redimensionar. Cuando se ve 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 e se expande en h0 y h1, y la cara i se puede reducir en h1. Por lo tanto, la altura de la imagen antes del redimensionamiento es la misma que la altura de la imagen después del redimensionamiento.
[0626] Las regiones redimensionadas (en este caso, b0, e0, be, b1, bg, g0, h0, e1, ej, j0, gi, g1, j1 y h1) se pueden retirar simplemente teniendo en cuenta que las regiones se reducen de la región A que no incluye datos, y se puede rellenar con datos de una región que tiene continuidad teniendo en cuenta que las regiones se expanden desde la región B que incluye datos reales.
[0627] Por ejemplo, b0 se puede rellenar con datos de un lado superior de la cara e; e0 se puede rellenar con datos de un lado izquierdo de la cara b; be se puede rellenar 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 se puede rellenar con datos de un lado superior de la cara g; bg se puede rellenar 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 se puede rellenar con datos de un lado derecho de la cara b; h0 se puede rellenar con datos de un lado superior de la cara b; e1 se puede rellenar con datos de un lado izquierdo de la cara j; ej se puede rellenar 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 se puede rellenar con datos de un lado inferior de la cara e; gj se puede rellenar 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 se puede rellenar con datos de un lado derecho de la cara j; j1 se puede rellenar con datos de un lado inferior de la cara g; y h1 se puede rellenar con datos de un lado inferior de la cara j.
[0628] 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 se pueden copiar y a continuación usarse para rellenar la región redimensionada o se pueden transformar basándose en las características, tipo y similares a la imagen y a continuación usarse para rellenar la región redimensionada. Por ejemplo, cuando una imagen de 360 grados se puede transformar en el espacio 2D de acuerdo con un formato de proyección, se puede definir un sistema de coordenadas (por ejemplo, un sistema de coordenadas plano 2D) para cada cara. Por conveniencia de 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 una cara, se adquieren datos de una cara distinta de la cara correspondiente. Es decir, cuando el redimensionamiento se realiza en la cara actual, se pueden copiar datos de otra cara con diferentes características de sistema de coordenadas tal como están y, a continuación, usarse. En este caso, existe la posibilidad de que la continuidad se distorsione basándose en el límite de redimensionamiento. Para este fin, los datos de otra cara adquiridos de acuerdo con las características del sistema de coordenadas de la cara actual se pueden transformar y usar para rellenar una región redimensionada. La transformación es también simplemente un ejemplo del método de procesamiento de datos, y la presente invención no se limita a lo mismo.
[0629] Cuando se copian datos de regiones específicas de la imagen y se usan para rellenar una región redimensionada, se puede incluir 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 de línea recta se puede curvar con respecto al límite.
[0630] Cuando se transforman datos de regiones específicas de la imagen y se usan para rellenar una región redimensionada, se puede incluir una continuidad que cambia gradualmente en una región límite entre regiones redimensionadas. El ejemplo anterior puede ser un ejemplo del método de procesamiento de datos de la presente invención para transformar datos de regiones específicas de la imagen basándose en las características, tipo y similares de la imagen y rellenar una región redimensionada con los datos transformados.
[0631] La sección 26C puede ser un ejemplo de relleno de una región redimensionada con datos de una región que tiene continuidad hacia los límites (un límite interno y un límite externo) 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 se puede derivar de aquellos de las secciones 26A y 26B, y se omitirá una descripción detallada del mismo.
[0632] 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.
[0633] Por ejemplo, se puede redimensionar una imagen (en este caso, un primer formato) adquirida a través de un proceso de proyección (en este caso, una región C), y se puede redimensionar una imagen (en este caso, un segundo formato) adquirida a través de un proceso de transformación de formato (en este caso, una región D). En este ejemplo, una imagen proyectada por ERP se puede redimensionar (en este caso, una imagen completa) y transformarse en una imagen proyectada por CMP a través de una parte de transformación de formato, y la imagen proyectada por CMP se puede redimensionar (en este caso, 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 lo mismo, y se pueden realizar modificaciones a la misma.
[0634] La figura 27 es un diagrama de ejemplo que ilustra el redimensionamiento de una imagen transformada y empaquetada en el formato de proyección de CMP de acuerdo con una realización de la presente invención. La figura 27 también asume continuidad entre caras como se muestra en la figura 25 y, por lo tanto, el límite de una cara puede tener continuidad con el límite de otra cara.
[0635] En este ejemplo, los factores de desplazamiento de W0 a W5 y de H0 a H3 pueden tener diversos valores (en este caso, se supone que los factores de desplazamiento se usan como valores de redimensionamiento). Por ejemplo, los factores de desplazamiento se pueden derivar 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 a partir de la unidad de partición de píxeles puede incluir una cara. Es decir, los valores de redimensionamiento se pueden determinar basándose en F_Width y F_Height.
[0636] La sección 27A es un ejemplo de redimensionamiento individual de una única cara (en este caso, 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 se pueden rellenar con datos continuos, y las regiones exteriores b0 a b6 de la cara b se pueden rellenar con datos continuos.
[0637] La sección 27B es un ejemplo de redimensionamiento de una pluralidad de caras (en este caso, hacia arriba, hacia abajo, a la izquierda y a la derecha con respecto a la pluralidad de caras) y de relleno de regiones expandidas con datos de una región que tiene continuidad. Por ejemplo, las caras a, b y c se pueden expandir a las regiones exteriores a0 a a4, b0 y b1, y c0 a c4.
[0638] La sección 27C puede ser un ejemplo de redimensionamiento de una imagen completa (en este caso, hacia arriba, hacia abajo, a la izquierda y a la derecha con respecto a la imagen completa) y de relleno de regiones expandidas con datos de una región que tiene continuidad. Por ejemplo, una imagen completa compuesta de las caras a a f se puede expandir a las regiones exteriores a0 a a2, b0, c0 a c2, d0 a d2 y f0 a f2.
[0639] Es decir, el redimensionamiento se puede realizar en una única unidad de cara, en una pluralidad de unidades de cara que tienen continuidad entre sí, y en una unidad de imagen completa.
[0640] En el ejemplo anterior, las regiones redimensionadas (en este caso, a0 a f7) se pueden rellenar con datos de una región (o una cara) que tiene continuidad, como se muestra en la sección 24A. Es decir, las regiones redimensionadas se pueden rellenar con datos de lados superiores, lados inferiores, lados izquierdos y lados derechos de las caras a a f.
[0641] La figura 28 es un diagrama de ejemplo que ilustra un método de procesamiento de datos para el redimensionamiento de una imagen de 360 grados de acuerdo con una realización de la presente invención.
[0642] Haciendo referencia a la figura 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, se puede rellenar con datos de una región que tiene continuidad entre datos de píxeles pertenecientes a a a f. También, una región C (ad1, be, cf0), que es otra región redimensionada), se puede rellenar con datos de una región a redimensionar y datos de una región que tiene adyacencia espacial pero no continuidad en combinación. Como alternativa, dado que el redimensionamiento se realiza entre dos regiones (por ejemplo, a y d, b y e, y c y f) seleccionadas de entre a a f, la región C se puede rellenar con piezas de datos de las dos regiones en combinación. Por ejemplo, la cara b y la cara e pueden ser espacialmente adyacentes entre sí, pero no tener continuidad entre sí. Una región redimensionada que se ubica entre la cara b y la cara e se puede redimensionar usando datos de la cara b y datos de la cara e. Por ejemplo, la región be se puede rellenar con un valor adquirido promediando los datos de la cara b y los datos de la cara e o con un valor adquirido a través de una suma ponderada basada en distancia. En este caso, un píxel que se usa para que los datos se usen para rellenar una región redimensionada en la cara b y la cara e puede ser un píxel de límite para cada cara o un píxel interno de cada cara. En resumen, una región redimensionada entre unidades de partición de la imagen se puede rellenar con datos generados usando piezas de datos de las dos unidades en combinación.
[0643] El método de procesamiento de datos se puede soportar en algunas condiciones (en este caso, cuando se redimensiona una pluralidad de regiones.
[0644] 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 la figura 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 método se puede incluir en el grupo de candidatos para el método de procesamiento de datos en las secciones 27A y 27B y el redimensionamiento se puede realizar usando un método de procesamiento de datos diferente del ejemplo anterior incluso en la figura 28.
[0645] En el proceso de redimensionamiento de una imagen de acuerdo con la presente invención, se puede usar implícitamente un método de procesamiento de datos predeterminado en una región redimensionada, o se puede usar uno de una pluralidad de métodos de procesamiento de datos para información relacionada explícitamente. El método de procesamiento de datos predeterminado puede ser uno de un método de relleno usando cualquier valor de píxel, un método de relleno copiando píxeles externos, un método de relleno copiando una región específica de una imagen, un método de relleno transformando una región específica de una imagen, un método de relleno usando datos derivados de una pluralidad de regiones de una imagen, etc. Por ejemplo, cuando una región redimensionada se ubica dentro de una imagen (por ejemplo, una imagen empaquetada) y regiones en ambos lados (por ejemplo, una cara) tienen adyacencia espacial pero sin continuidad, se puede aplicar un método de procesamiento de datos para llenar la región redimensionada con datos derivados de una pluralidad de regiones. También, el redimensionamiento se puede realizar por un método de procesamiento de datos seleccionado de entre la pluralidad de métodos de procesamiento de datos, y se puede generar explícitamente información de selección relacionada. Este puede ser un ejemplo aplicable a una imagen general así como a una imagen de 360 grados.
[0646] El codificador puede añadir la información generada durante el proceso anterior a un flujo de bits en unidades de al menos una de secuencias, imágenes, segmentos, mosaicos y similares, y el descodificador puede analizar información relacionada desde el flujo de bits. También, la información se puede incluir en el flujo de bits en forma de SEI o metadatos. Se ha descrito el proceso de partición, el proceso de reconstrucción y el proceso de redimensionamiento para una imagen de 360 grados, centrándose en algunos formatos de proyección tales como ERP y CMP. Sin embargo, la presente invención está limitada a los mismos, y la descripción anterior se puede aplicar incluso a otros formatos de proyección tal como están o después de modificarse.
[0647] Se ha descrito que el proceso de ajuste de imágenes para el aparato de codificación/descodificación de imágenes de 360 grados anterior se puede aplicar a un proceso de preprocesamiento, un proceso de posprocesamiento, un proceso de transformación de formato, un proceso de transformación de formato inversa y similares así como procesos de codificación/descodificación.
[0648] En resumen, el proceso de proyección se puede construir para incluir procesos de ajuste de imagen. En detalle, el proceso de proyección se puede realizar además de al menos uno de los procesos de ajuste de imagen. La partición se puede realizar en unidades de regiones (o caras) basándose en la imagen proyectada. Dependiendo del formato de proyección, la partición se puede realizar en una única región o una pluralidad de regiones. Para la partición, se puede generar información de partición. También, se puede redimensionar la imagen proyectada, o se puede redimensionar una región proyectada. En este caso, el redimensionamiento se puede realizar en al menos una región. Para el redimensionamiento, se puede generar información de redimensionamiento. También, la imagen proyectada se puede reconstruir (o disponerse por caras), o se puede reconstruir una región proyectada. En este caso, la reconstrucción se puede realizar en al menos una región. Para la reconstrucción, se puede generar información de reconstrucción.
[0649] En resumen, se puede construir un proceso de empaquetado por regiones para incluir procesos de ajuste de imagen. En detalle, el proceso de proyección de empaquetado por regiones se puede realizar además de al menos uno de los procesos de ajuste de imagen. El proceso de partición se puede realizar en unidades de regiones (o caras) basándose en la imagen empaquetada. Dependiendo de los ajustes de empaquetado por regiones, la partición se puede realizar en una única región o una pluralidad de regiones. Para la partición, se puede generar información de partición. También, la imagen empaquetada se puede redimensionar, o una región empaquetada se puede redimensionar. En este caso, el redimensionamiento se puede realizar en al menos una región. Para el redimensionamiento, se puede generar información de redimensionamiento. También, se puede reconstruir la imagen empaquetada, o se puede reconstruir una región empaquetada. En este caso, la reconstrucción se puede realizar en al menos una región. Para la reconstrucción, se puede generar información de reconstrucción.
[0650] Durante el proceso de proyección, se pueden realizar todos o algunos de los procesos de ajuste de imagen, y se puede incluir información de ajuste de imagen. Esta información puede ser información de ajuste para la imagen proyectada. En detalle, esta información puede ser información de ajuste para regiones en la imagen proyectada. Durante el proceso de empaquetado por regiones, se pueden realizar todos o algunos de los procesos de ajuste de imagen, y se puede incluir información de ajuste de imagen. Esta información puede ser información de ajuste para la imagen empaquetada. En detalle, esta información puede ser información de ajuste para regiones en la imagen empaquetada. Como alternativa, esta información puede ser información de mapeo (por ejemplo, véase la descripción con referencia a la figura 11; esto se puede entender suponiendo que P0 y P1 indican imágenes proyectadas y S0 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 en la imagen proyectada y una región específica en 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.
[0651] La información de imagen se puede representar como información adquirida a través de las diversas realizaciones anteriormente descritas durante el proceso de ajuste de imagen de la presente invención. Por ejemplo, cuando la información relacionada se representa usando al menos un elemento de sintaxis en la Tabla 1 a la Tabla 6, la información de ajuste para la imagen proyectada puede incluir pic_width_in_samples, pic_height_in_samples, part_top[i], part_left[i], part_width[i], part_height [i] y similares, y la información de ajuste para la imagen empaquetada puede incluir pic_width_in_samples, pic_height_in_samples, part_top[i], part_left[i], part_width[i], part_height[i], convert_type_flag[i], part_resizing_flag[i ], top_height_offset[i], bottom_height_offset[i], left_width_offset[i], right_width_offset[i], resizing_type_flag[i] y similares. El ejemplo anterior puede ser un ejemplo de generación explícita de información con respecto a caras (por ejemplo, part_top[i], part_left[i], part_width[i], y part_height[i] entre la información de ajuste de la imagen proyectada).
[0652] Parte del proceso de ajuste de imagen se puede incluir en un proceso de proyección o un proceso de empaquetado por regiones correspondiente al formato de proyección a través de una operación predeterminada.
[0653] Por ejemplo, ERP usa un método de relleno de regiones expandidas a la izquierda en m y a la derecha en n con datos de regiones en direcciones opuestas a las direcciones de redimensionamiento para la imagen, y, por lo tanto, el proceso de redimensionamiento se puede incluir implícitamente. Como alternativa, CMP usa un método para rellenar regiones expandidas hacia arriba en m, hacia abajo en n, a la izquierda en o, y a la derecha en p con datos de una región que tiene continuidad con una región redimensionada y, por lo tanto, el proceso de redimensionamiento se puede incluir implícitamente.
[0654] En el ejemplo anterior, el formato de proyección puede ser un ejemplo de formatos sustitutos capaces de sustituir los formatos de proyección convencionales o un ejemplo de formatos adicionales (por ejemplo, ERP1 y CMP1) para los formatos de proyección convencionales. Sin embargo, la presente invención no se limita a los mismos, se pueden combinar de manera alternativa ejemplos de diversos procesos de ajuste de imagen de la presente invención, y pueden ser posibles aplicaciones similares para otros formatos.
[0655] Aunque no se muestra en el aparato de codificación de imágenes y el aparato de descodificación de imágenes de las figuras 1 y 2, se puede incluir además una parte de partición de bloques. La información con respecto a una parte de codificación por defecto se puede obtener de la parte de partición de imagen, y la parte de codificación por defecto se puede referir a una unidad por defecto (o inicio) para predicción, transformación, cuantificación, etc. durante el proceso de codificación/descodificación de imágenes. 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 este caso, YCbCr), y el tamaño de los bloques se puede determinar de acuerdo con el formato de color. El siguiente ejemplo se describirá con respecto a los bloques (en este caso, un componente de luminancia). En este caso, se supone que un bloque es una unidad que se puede adquirir después de que se determina cada unidad, y también se supone que son aplicables ajustes similares a otros tipos de bloques.
[0656] La parte de partición de bloques se puede establecer en asociación con cada elemento del aparato de codificación de imágenes y el aparato de descodificación de imágenes. A través de este proceso, se puede determinar el tamaño y la forma de los bloques. En este caso, se puede definir 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 lo mismo, y se puede definir una unidad de bloque adicional para otro elemento. El tamaño y la forma del bloque se pueden definir por la anchura y la altura del bloque.
[0657] Un bloque se puede expresar como M × N por la parte de partición de bloque y se puede adquirir en el intervalo de un valor mínimo a un valor máximo. Por ejemplo, cuando un bloque soporta una forma cuadrada y tiene un valor máximo de 256 × 256 y un valor mínimo de 8 × 8, se puede adquirir un bloque que tiene un tamaño de 2<m>× 2<m>(en este caso, 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 que tiene un tamaño de 2 m × 2 m (en este caso, m es un número entero de 4 a 128), o un bloque que tiene un tamaño de m × m (en este caso, m es un número entero de 8 a 128). Como alternativa, cuando un bloque admite formas cuadradas y rectangulares y tiene el mismo intervalo que el descrito anteriormente, un bloque que tiene un tamaño de 2<m>× 2<n>(en este caso, 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 la relación de aspecto máxima puede estar presente dependiendo de los ajustes de codificación/descodificación). Como alternativa, se puede adquirir un bloque que tiene un tamaño de 2m × 2n (en este caso, m y n son números enteros de 4 a 128). Como alternativa, se puede adquirir un bloque que tiene un tamaño de m × n (en este caso, m y n son números enteros de 8 a 256).
[0658] Los bloques adquiribles se pueden determinar de acuerdo con ajustes de codificación/descodificació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 2<m>× 2<n>se puede adquirir como el bloque de codificación, un bloque con un tamaño de 2m × 2n o m × n se puede adquirir como el bloque de predicción, y un bloque con un tamaño de 2<m>× 2<n>se puede adquirir como el bloque de transformación. Se puede generar información con respecto al tamaño e intervalo de los bloques (por ejemplo, información relacionada con un exponente y un múltiplo) basándose en los ajustes.
[0659] El intervalo (en este caso, que se determina usando el valor máximo y el valor mínimo) se puede determinar dependiendo del tipo de bloque. También, algunos bloques pueden tener información de intervalo de bloque generada explícitamente, y otros bloques pueden tener información de intervalo de bloque implícitamente determinada. 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.
[0660] En el caso explícito, se puede generar al menos una pieza de información de alcance. Por ejemplo, la información de intervalo del bloque de codificación se puede generar como información con respecto al valor máximo y al valor mínimo. Como alternativa, la información de distancia se puede generar basándose en una diferencia (por ejemplo, que se genera basándose en 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. También, se puede generar una pluralidad de piezas de información de alcance para la anchura y la altura de un bloque rectangular.
[0661] En el caso implícito, la información de intervalo se puede adquirir basándose en ajustes de codificación/descodificació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 este caso, que tiene 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 con respecto al valor máximo y el valor mínimo de acuerdo con a un grupo de candidatos (en este caso, M × N y m/2 × n/2) adquirible a partir de ajustes de partición (en este caso, partición de árbol cuádruple profundidad de partición de 0) del bloque de predicción.
[0662] El tamaño y la forma de un bloque inicial (o de inicio) de la parte de partición de bloque se pueden determinar a partir de su unidad superior. El bloque inicial del bloque de codificación puede ser el bloque de codificación por defecto adquirido desde la parte de partición de 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 se puede determinar de acuerdo con los ajustes de codificación/descodificació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 que es 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 partición, se puede particionar en pequeños bloques. Cuando se determina un tamaño y una forma óptimos correspondientes a la partición de bloques, el bloque se puede determinar como un bloque inicial de una unidad inferior. Por ejemplo, el primer caso puede corresponder al bloque de codificación, y el último 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 del tamaño y forma óptimos.
[0663] En resumen, la parte de partición de bloques puede subdividir 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). También, la unidad de codificación se puede particionar en al menos una unidad de predicción y también se puede particionar en al menos una unidad de transformación. La unidad de codificación se puede particionar en al menos un bloque de codificación, y el bloque de codificación se puede particionar en al menos un bloque de predicción y también se puede particionar en al menos un bloque de transformación. También, la unidad de predicción se puede particionar en al menos un bloque de predicción, y la unidad de transformación se puede particionar en al menos un bloque de transformación. Cuando se encuentra el bloque del tamaño y forma óptimos a través del proceso de determinación de modo como se ha descrito anteriormente, se puede generar información de modo relacionada con el bloque (por ejemplo, información de partición, etc.). La información de modo se puede añadir a un flujo 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 predicción e información relacionada con transformación) y, a continuación, transmitirse a un descodificador. La información de modo se puede analizar por el descodificador en unidades del mismo nivel y a continuación usarse durante un proceso de descodificación de imágenes.
[0664] El siguiente ejemplo describirá un esquema de partición y supondrá que el bloque inicial tiene la forma de un cuadrado. Sin embargo, las mismas o similares aplicaciones pueden ser posibles para formas rectangulares.
[0665] La parte de partición de bloques puede soportar diversos esquemas de partición. Por ejemplo, la parte de partición de bloques puede soportar partición basada en árbol o partición basada en tipo, y se pueden aplicar otros métodos a la misma. La partición basada en árbol puede generar información de partición con banderas 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 de candidatos predeterminado.
[0666] La figura 29 es un diagrama de ejemplo que muestra una forma de bloque basada en árbol.
[0667] La sección 29A muestra un único bloque de 2N × 2N que no está particionado, la sección 29B muestra un ejemplo en el que se adquieren dos bloques de 2N × N a través de algunas banderas de partición (en este caso, partición horizontal basada en árbol binario), la sección 29C muestra un ejemplo en el que se adquieren dos bloques de N × 2N a través de algunas banderas de partición (en este caso, partición vertical basado en árbol binario), y la sección 29D muestra un ejemplo en el que se adquieren cuatro bloques de N × N a través de algunas banderas de partición (en este caso, partición de árbol cuádruple u horizontal y partición de árbol binario vertical). La forma de bloque adquirida se puede determinar de acuerdo con el tipo del árbol usado para la partición. Por ejemplo, cuando se realiza la partición de árbol cuádruple, los bloques candidatos adquiribles pueden corresponder a las secciones 29A y 29D. Cuando se realiza la partición de árbol binario, los bloques candidatos adquiribles pueden corresponder a las secciones 29A, 29B, 29C y 29D. El árbol cuádruple soporta una única bandera de partición. La bandera que es "0" puede adquirir la sección 29A, y la bandera que es "1" puede adquirir la sección 29D. El árbol binario soporta una pluralidad de banderas de partición. Entre las banderas de partición, una bandera de partición puede ser una bandera que indica si se realiza partición, otra bandera de partición puede ser una bandera que indica si la partición es horizontal o vertical, y otra bandera de partición más puede ser una bandera que indica si se permite la superposición de particiones horizontales/verticales. Cuando se permite la superposición, los bloques candidatos adquiribles pueden corresponder a las secciones 29A, 29B, 29C y 29D. Cuando no se permite la superposición, 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 se puede incluir un esquema de partición en árbol adicional (en este caso, un árbol binario) en el esquema de partición basado en árbol. Cuando se activa implícita o explícitamente una bandera que permite una partición de árbol adicional, se puede realizar una pluralidad de operaciones de partición de árbol. La partición basada en árbol puede permitir la partición recursiva. Es decir, el bloque particionado se puede establecer como un bloque inicial de nuevo, y se puede realizar la partición basada en árbol, que se puede determinar de acuerdo con ajustes de partición tales como un intervalo de partición, una profundidad admisible de partición, etc. Esto puede ser un ejemplo de esquema de partición jerárquica.
[0668] La figura 30 es un diagrama de ejemplo que muestra una forma de bloque basada en tipo.
[0669] Haciendo referencia a la figura 30, un bloque después de la partición basada en tipo puede tener una forma particionada en 1 (en este caso, la sección 30A), una forma particionada en 2 (en este caso, las secciones 30B, 30C, 30D, 30E, 30F y 30G) y una forma particionada en 4 (en este caso, la sección 30H). Los candidatos se pueden construir a través de diversas construcciones. Por ejemplo, los candidatos se pueden construir como a, b, c y n; a, b a g y n; o a, n y q de la figura 31. Sin embargo, la presente invención no se limita a lo mismo, y pueden ser posibles diversas modificaciones, incluyendo el siguiente ejemplo. Los bloques soportados cuando se activa una bandera que permite la partición simétrica pueden corresponder a las secciones 30A, 30B, 30C y 30H, y los bloques soportados cuando se activa una bandera 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 este caso, la bandera que permite la partición simétrica) se puede activar implícitamente. Para el último caso, la información relacionada (en este caso, la bandera que permite la partición asimétrica) se puede generar explícitamente. La partición basada en árbol puede soportar la partición de una sola vez. En comparación con la partición basada en árbol, un bloque adquirido a través de la partición basada en tipo ya no se puede particionar adicionalmente. Este puede ser un ejemplo en el que la profundidad permitida de partición es 0.
[0670] La figura 31 es un diagrama de ejemplo que muestra diversos tipos de bloques que se pueden adquirir por una parte de partición de bloques de la presente invención.
[0672] Haciendo referencia a la figura 31, los bloques en las secciones 31A a 31S se pueden adquirir de acuerdo con ajustes de partición y esquemas de partición, también pueden ser posibles formas de bloque adicionales que no se muestran.
[0673] Como un ejemplo, se puede permitir la partición asimétrica para la partición basada en árbol. Por ejemplo, el árbol binario puede permitir bloques mostrados en las secciones 31B y 31C (en este caso, partición en una pluralidad de bloques) o puede permitir bloques mostrados en las secciones 30B a 31G (en este caso, partición en una pluralidad de bloques). Cuando la bandera que permite la partición asimétrica se desactiva explícita o implícitamente de acuerdo con los ajustes de codificación/descodificación, los bloques candidatos adquiribles pueden ser bloques en la sección 31B o 31C (en este caso, suponiendo que no se permite la superposición de la partición horizontal y la partición vertical). Cuando se activa la bandera que permite la partición asimétrica, los bloques candidatos adquiribles pueden ser bloques en las secciones 31B, 31D y 31E (en este caso, partición horizontal) o bloques en las secciones 31C, 31F y 31G (en este caso, partición vertical). Este ejemplo puede corresponder a un caso en el que se determina una dirección de partición por una bandera de partición horizontal o vertical y se determina una forma de bloque de acuerdo con una bandera que permite asimetría. Sin embargo, la presente invención no se limita a lo mismo, y se pueden realizar modificaciones a la misma.
[0675] Como un ejemplo, se puede permitir una partición de árbol adicional para la partición basada en árbol. Por ejemplo, se puede permitir la partición basada en árbol triple, partición en árbol cuádruple, partición basado en árbol óctuple y similares, y, por lo tanto, se pueden adquirir n bloques de partición (en este caso, 3, 4 y 8; n es un número entero). Los bloques soportados para la partición basada en árbol triple pueden ser bloques en las secciones 31H a 31M, los bloques soportados para la partición en árbol cuádruple pueden ser bloques en las secciones 31N a 31Q, y los bloques soportados para la partición basada en árbol óctuple pueden ser bloques en la sección 31Q. Si soportar la partición basada en árbol se puede determinar implícitamente de acuerdo con los ajustes de codificación/descodificación, y la información relacionada se puede generar explícitamente. También, la partición de árbol binario y la partición de árbol cuádruple se pueden usar únicamente o en combinación dependiendo de los ajustes de codificación/descodificación. Por ejemplo, los bloques como se muestran en las secciones 31B y 31C pueden ser posibles para el árbol binario, y los bloques como se muestran en las secciones 31B, 31C, 31I y 31L pueden ser posibles cuando el árbol binario y el árbol triple se usan en combinación. Cuando, aparte de las banderas existentes, una bandera que permite partición adicional se desactiva explícita o implícitamente de acuerdo con los ajustes de codificación/descodificación, los bloques candidatos adquiribles pueden ser bloques de la sección 31B o 31C. Cuando se activa la bandera para permitir partición adicional, los bloques candidatos adquiribles pueden ser bloques en las secciones 31B y 311 o en las secciones 31B, 31H, 311 y 31J (en este caso, partición horizontal) o bloques en la sección 31C o 31L o en la 31C, 31K, 31L y 31M (en este caso, partición vertical). Este ejemplo puede corresponder a un caso en el que se determina una dirección de partición por la bandera de partición horizontal o vertical y se determina una forma de bloque de acuerdo con la bandera que permite partición adicional. Sin embargo, la presente invención no se limita a lo mismo, y se pueden realizar modificaciones a la misma.
[0677] Como un ejemplo, se puede permitir una partición no rectangular para el bloque basado en tipo. Por ejemplo, puede ser posible la partición como se muestra en las secciones 31R y 31S. Cuando el bloque se combina con los candidatos de bloque basados en tipo, se pueden soportar los bloques de las secciones 31A, 31B, 31C, 31H, 31R y 31S o las secciones 31A a 31H, 31R y 31S. También, un bloque que soporta n particiones (por ejemplo, n es un número entero; en este caso, 3 distinto de 1, 2 y 4) como se muestra en las secciones 31H a 31M se puede incluir en el grupo de candidatos.
[0679] El esquema de partición se puede determinar de acuerdo con ajustes de codificación/descodificación.
[0681] Como un ejemplo, el esquema de partición se puede determinar de acuerdo con un tipo de bloque. Por ejemplo, un bloque de codificación y un bloque de transformación pueden usar la partición basada en árbol, y un bloque de predicción puede usar la partición basada en tipo. Como alternativa, el esquema de partición se puede usar en combinación de los mismos. Por ejemplo, el bloque de predicción puede usar un esquema de partición obtenido usando la partición basada en árbol y la partición basada en tipo en combinación, y un esquema de partición que se aplica puede diferir dependiendo de al menos un intervalo del bloque.
[0682] Como un ejemplo, el esquema de partición se puede determinar de acuerdo con un tamaño de bloque. Por ejemplo, la partición basada en árbol se puede aplicar 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 tipo se puede aplicar a otro intervalo específico (por ejemplo, de e × f a g × h). En este caso, la información de intervalo de acuerdo con el esquema de partición se puede generar explícitamente o determinarse implícitamente.
[0683] Como un ejemplo, el esquema de partición se puede determinar de acuerdo con la forma de un bloque (o un bloque antes de la partición). Por ejemplo, cuando el bloque tiene una forma cuadrada, puede ser posible la partición basada en árbol y partición basada en tipo. Como alternativa, cuando el bloque tiene una forma rectangular, puede ser posible la partición basada en árbol.
[0684] Los ajustes de partición se pueden determinar de acuerdo con ajustes de codificación/descodificación.
[0685] Como un ejemplo, los ajustes de partición se pueden determinar de acuerdo con un tipo de bloque. Por ejemplo, para la partición basada en árbol, un bloque de codificación y un bloque de predicción pueden usar la partición de árbol cuádruple, y un bloque de transformación puede usar la partición de árbol binario. Como alternativa, la profundidad permisible de partición del bloque de codificación se puede establecer en m, la profundidad permisible de partición del bloque de predicción se puede establecer a n, y la profundidad permisible de partición del bloque de transformación se puede establecer a o. En este caso, m, n y o pueden o no ser iguales.
[0686] Como un ejemplo, los ajustes de partición se pueden determinar de acuerdo con un tamaño de bloque. Por ejemplo, la partición de árbol cuádruple se puede aplicar a un intervalo específico de un bloque (por ejemplo, de a × b a c × d), y la partición de árbol binario se puede aplicar a otro intervalo específico (por ejemplo, de e × f a g × h; en este caso, se supone 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 se pueden establecer para superponerse entre sí o no superponerse entre sí. 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 de superposición, un esquema de partición con un valor máximo mayor puede tener una prioridad superior. Es decir, si realizar un esquema de partición con una prioridad inferior se puede determinar de acuerdo con un resultado de partición en el esquema de partición con la prioridad superior. En este caso, la información de intervalo de acuerdo con el tipo de árbol se puede generar explícitamente o determinarse implícitamente.
[0687] Como otro ejemplo, la partición basada en tipo con un grupo de candidatos específico se puede aplicar al intervalo específico del bloque (que es el mismo que el ejemplo anterior), y la partición basada en tipo con un grupo de candidatos específico (que tiene al menos un una configuración diferente del grupo de candidatos anterior) se puede aplicar al intervalo específico (que es el mismo 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 se pueden establecer para no superponerse entre sí.
[0688] Como un ejemplo, los ajustes de partición se pueden determinar de acuerdo con una forma de bloque. Por ejemplo, el bloque tiene una forma cuadrada, puede ser posible la partición de árbol cuádruple. Como alternativa, cuando el bloque tiene una forma rectangular, puede ser posible la partición de árbol binario.
[0689] Como un ejemplo, los ajustes de partición se pueden determinar de acuerdo con información de codificación/descodificación (por ejemplo, un tipo de segmento, un componente de color, un modo de codificación, etc.). Por ejemplo, la partición de árbol cuádruple (o la partición de árbol binario) puede ser posible para un intervalo específico (por ejemplo, de a × b a c × d) cuando el tipo de segmento es "I", puede ser posible para un intervalo específico (por ejemplo, de e × f a g × h) cuando el tipo de segmento es "P", y puede ser posible para un intervalo específico (por ejemplo, de i × j a k × l) cuando el tipo de segmento es "B". Además, la profundidad de partición permitida de la partición de árbol cuádruple (o árbol binario) se puede establecer a m cuando el tipo de segmento es "I", se puede establecer a n cuando el tipo de segmento es "P" y se puede establecer a o cuando el tipo de segmento es "B". En este caso, m, n y o pueden o no ser iguales entre sí. Algunos tipos de segmento pueden tener los mismos ajustes que los otros segmentos (por ejemplo, segmento "P' y segmento "B").
[0690] Como otro ejemplo, la profundidad de partición permitida del árbol cuádruple (o el árbol binario) se puede establecer a m cuando el componente de color es un componente de luminancia y se puede establecer a n cuando el componente de color es un componente de crominancia. En este caso, m y n pueden ser o no los mismos. Además, el intervalo (por ejemplo, de a × b a c × d) de la partición de árbol cuádruple (o á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 de árbol cuádruple (o árbol binario) cuando el componente de color es un componente de crominancia puede o no ser el mismo.
[0691] 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 este caso, se supone que n es mayor que m). En este caso, m y n pueden ser o no los mismos. Además, el intervalo de la partición de árbol cuádruple (o árbol binario) cuando el modo de codificación es el modo intra y el intervalo de la partición de árbol cuádruple (o árbol binario) cuando el modo de codificación es el modo inter puede ser o no ser el mismo.
[0692] Para el ejemplo anterior, la información con respecto a si soportar de manera adaptativa elementos de grupo de candidatos de partición se puede generar explícitamente o determinarse implícitamente de acuerdo con información de codificación/descodificación.
[0693] Se ha descrito un caso en el que el esquema de partición y los ajustes de partición se determinan de acuerdo con ajustes de codificación/descodificación a través del ejemplo anterior. El ejemplo anterior puede mostrar algunos casos para cada elemento, y se pueden hacer modificaciones a otros casos. También, el esquema de partición y los ajustes de partición se pueden determinar de acuerdo con una combinación de una pluralidad de elementos. Por ejemplo, el esquema de partición y los ajustes de partición se pueden determinar por un tipo de bloque, un tamaño de bloque, una forma de bloque, información de codificación/descodificación, etc.
[0694] También, en el ejemplo anterior, se pueden determinar implícitamente elementos implicados en el esquema de partición, ajustes, etc. y se puede generar información explícitamente para determinar si permitir un caso adaptativo tal como el ejemplo anterior.
[0695] Entre los ajustes de partición, una profundidad de partición se refiere al número de veces que un bloque inicial se particiona espacialmente (en este caso, la profundidad de partición del bloque inicial es 0). A medida que aumenta la profundidad de partición, el tamaño de los bloques en los que se particiona el bloque inicial puede disminuir. Por lo tanto, los ajustes relacionados con la profundidad pueden diferir dependiendo del esquema de partición. Por ejemplo, se puede usar 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 árbol, se puede usar una profundidad individualmente dependiendo de un tipo de árbol.
[0696] Cuando en el ejemplo anterior, se usa una profundidad de partición 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 este caso, un bloque antes de la partición) se puede establecer a 0. La profundidad de partición se puede calcular no basándose en el intervalo de partición (en este caso, el valor máximo) de cada intervalo pero centrándose en la posición de inicio de partición.
[0697] La figura 32 es un diagrama de ejemplo que ilustra partición basada en árbol de acuerdo con una realización de la presente invención.
[0698] La sección 32A muestra ejemplos de partición de árbol cuádruple y partición de árbol binario. En detalle, en la sección 32A, un bloque superior izquierdo muestra un ejemplo de partición de árbol cuádruple, los bloques superior derecho e inferior izquierdo muestran un ejemplo 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 continua (en este caso, Quad1) representa una línea de límite para la partición de árbol cuádruple, una línea discontinua (en este caso, Binary1) representa una línea de límite para la partición de árbol binario, y una línea continua gruesa representa una línea de límite para partición de árbol binario. Una diferencia entre la línea discontinua y la línea continua puede indicar una diferencia de esquema de partición.
[0699] Como ejemplo, (suponiendo 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>>3, se genera información de partición hasta que una de la anchura y la altura alcanza N>>2; esto se aplica en común al siguiente ejemplo; y el valor máximo y el valor mínimo del árbol cuádruple es N × N, (N>> 3) × (N>>3)), el bloque superior izquierdo se puede particionar en cuatro bloques con media anchura y media altura cuando se realiza la partición de árbol cuádruple. La bandera de partición puede tener un valor de 1 cuando se activa la partición y puede tener un valor de 0 cuando se desactiva la partición. De acuerdo con el ajuste anterior, la bandera de partición del bloque izquierdo superior se puede generar como un bloque izquierdo superior en la sección 32B.
[0700] Como ejemplo, (suponiendo 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 de árbol binario son (N>>1) × (N>>1), (N>> 3) × (N>>3)), el bloque superior derecho se puede particionar en cuatro bloques con media anchura y media altura cuando la partición de árbol cuádruple se realiza en el bloque inicial. El tamaño del bloque particionado es (N>>1) × (N>>1), y la partición de árbol binario (en este caso, la partición de árbol binario puede ser mayor que el valor mínimo de la partición de árbol cuádruple, pero la profundidad permitida de partición está limitada) puede ser posible de acuerdo con los ajustes de este ejemplo. Es decir, este ejemplo puede ser un ejemplo en el que no es posible usar 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 banderas de partición. Algunas banderas pueden ser banderas de partición horizontal (en este caso, correspondientes a x de x/y), y otras banderas pueden ser banderas de partición vertical (en este caso, correspondientes a y de x/y). La configuración de la bandera de partición puede tener ajustes similares a los de la partición de árbol cuádruple. En este ejemplo, se pueden activar ambas de las dos banderas. En los dibujos, cuando se genera información de bandera con "-", "-" puede corresponder a un procesamiento de bandera implícito que se puede generar cuando no es posible una partición adicional de acuerdo con condiciones tales como un valor máximo, un valor mínimo y una partición permitida profundidad de acuerdo con la partición basada en árbol. De acuerdo con el ajuste anterior, la bandera de partición del bloque superior derecho se puede generar como un bloque superior derecho en la sección 32B.
[0702] Como ejemplo, (suponiendo 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 de árbol binario son (N>>2) × (N>>2), (N>> 4) × (N>>4)), el bloque inferior izquierdo se puede particionar en cuatro bloques con media anchura y media altura cuando la partición de árbol cuádruple se realiza en el bloque inicial. El tamaño del bloque particionado es (N>>1) × (N>>1), y la partición de árbol cuádruple y la partición de árbol binario pueden ser posibles de acuerdo con los ajustes de este ejemplo. Es decir, este ejemplo puede ser un ejemplo en el que es posible usar la partición de árbol cuádruple y la partición de árbol binario en combinación. En este caso, si realizar la partición de árbol binario se puede determinar de acuerdo con un resultado de la partición de árbol cuádruple a la que se asigna una prioridad superior. La partición de árbol binario no se puede realizar cuando se realiza la partición de árbol cuádruple, y la partición de árbol binario se puede realizar cuando no se realiza la partición de árbol cuádruple. Cuando no se realiza la partición de árbol cuádruple, la partición de árbol cuádruple ya no puede ser posible incluso 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 banderas de partición. Algunas banderas pueden ser banderas de partición (en este caso, correspondientes a x de x/y), y otras banderas pueden ser banderas de dirección de partición (en este caso, correspondientes a y de x/y; si generar información de y se puede determinar de acuerdo con x), y las banderas de partición pueden tener ajustes similares a los de la partición de árbol cuádruple. En este caso, no se puede activar toda la partición horizontal y la partición vertical. En el dibujo, cuando la información de bandera se genera con "-", "-" puede tener los ajustes similares al ejemplo anterior. De acuerdo con el ajuste anterior, la bandera de partición del bloque inferior izquierdo se puede generar como un bloque inferior izquierdo en la sección 32B.
[0704] Como un ejemplo, (suponiendo las siguientes condiciones: el bloque inferior derecho tiene una profundidad permitida de partición de árbol binario de 5; y el valor máximo y el valor mínimo de la partición de árbol binario son N × N, (N>>2) × (N>>3)), el bloque inferior derecho se puede particionar en dos bloques con media anchura o media altura cuando la partición de árbol binario se realiza en el bloque inicial. En este ejemplo, el bloque inferior derecho puede tener los mismos ajustes de bandera de partición que el bloque inferior izquierdo. En el dibujo, cuando la información de bandera se genera con "-", "-" puede tener los ajustes similares al ejemplo anterior. En este ejemplo, los valores mínimos de la anchura y la altura del árbol binario se pueden establecer a diferentes valores. De acuerdo con el ajuste anterior, la bandera de partición del bloque derecho inferior se puede generar como un bloque derecho inferior en la sección 32B.
[0705] Al igual que el ejemplo anterior, 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.) se puede comprobar, y a continuación el esquema de partición y los ajustes de partición se pueden determinar de acuerdo con la información de bloque. Por lo tanto, se puede realizar un proceso de partición correspondiente.
[0707] La figura 33 es un diagrama de ejemplo que ilustra partición basada en árbol de acuerdo con una realización de la presente invención.
[0709] Haciendo referencia a bloques en las secciones 33A y 33B, una línea continua gruesa L0 puede representar el bloque de codificación máximo, y un bloque subdividido con una línea continua gruesa y otras líneas L1 a L5 pueden representar un bloque de codificación particionado. El número dentro del bloque puede representar la ubicación de un subbloque obtenido a través de la partición (en este caso en un orden de exploración de trama), y el número de '-□ puede representar una profundidad de partición de un bloque correspondiente, y el número de una línea de 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 este caso, un árbol cuádruple) y puede ser L o U(0) - R o D(1) cuando el bloque está subdividido en 2 (en este caso, un árbol binario), que se puede definir para cada profundidad de partición. El siguiente ejemplo muestra un caso en el que un bloque de codificación adquirible está limitado.
[0711] Como un ejemplo, se supone que en la sección 33A, el bloque de codificación máximo es 64 × 64, el bloque de codificación mínimo es 16 × 16, y se usa la partición de árbol cuádruple. En este caso, dado que los bloques 2-0, 2-1 y 2-2 (en este caso, 16 × 16) tienen el mismo tamaño que el bloque de codificación mínimo, los bloques se pueden no dividir en bloques más pequeños, tales como los bloques 2-3 -0, 2-3-1, 2-3-2 y 2-3-3 (en este caso, 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, dado que solo hay un bloque candidato, no se genera información de partición de bloque.
[0712] Como un ejemplo, se supone que en la sección 33B, el bloque de codificación máximo es 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 (en este caso, que tiene un tamaño de 16 × 16 y una profundidad de partición de 3) se puede particionar en bloques más pequeños debido a que se satisface la condición de bloque de codificación mínima. Sin embargo, el bloque 1-0-1-1 se puede no particionar en bloques con una profundidad de partición superior (en este caso, 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 de 16 × 8. En otras palabras, dado que solo hay un bloque candidato, no se genera información de partición de bloque.
[0713] Como el ejemplo anterior, se puede soportar la partición de árbol cuádruple o la partición de árbol binario dependiendo de los ajustes de codificación/descodificación. Como alternativa, la partición de árbol cuádruple y la partición de árbol binario se pueden soportar en combinación. Por ejemplo, se puede soportar uno o una combinación de los esquemas de acuerdo con un tamaño de bloque, una profundidad de bloque, etc. La partición de árbol cuádruple se puede soportar cuando un bloque pertenece a un primer intervalo de bloques, y la partición de árbol binario se puede soportar cuando un bloque pertenece a un segundo intervalo de bloques. Cuando se soporta una pluralidad de esquemas de partición, se puede proporcionar al menos un ajuste tal como el tamaño de bloque de codificación máximo, el tamaño de bloque de codificación mínimo, una profundidad de partición permitida y similares de acuerdo con cada esquema. Los intervalos se pueden o no superponer entre sí. Como alternativa, un intervalo cualquiera se puede establecer para incluir el otro intervalo. El ajuste se puede determinar de acuerdo con elementos individuales o combinados tales como un tipo de segmento, un modo de codificación, un componente de color y similares.
[0714] Como un ejemplo, los ajustes de partición se pueden determinar de acuerdo con un tipo de segmento. Los ajustes de partición soportados para el segmento I pueden soportar partición en el intervalo de 128 × 128 a 32 × 32 para el árbol cuádruple y pueden soportar partición en el intervalo de 32 × 32 a 8 × 8 para el árbol binario. Los ajustes de partición de bloque soportados para el segmento P/B pueden soportar partición en el intervalo de 128 × 128 a 32 × 32 para el árbol cuádruple y pueden soportar partición en el intervalo de 64 × 64 a 8 × 8 para el árbol binario.
[0715] Como un ejemplo, los ajustes de partición se pueden determinar de acuerdo con un modo de codificación. Los ajustes de partición soportados cuando el modo de codificación es un modo intra pueden soportar partición en el intervalo de 64 × 64 a 8 × 8 y tener una profundidad de partición permitida de 2 para el árbol binario. Los ajustes de partición soportados cuando el modo de codificación es un modo inter pueden soportar partición en el intervalo de 32 × 32 a 8 × 8 y tener una profundidad de partición permitida de 3 para el árbol binario.
[0716] Como un ejemplo, los ajustes de partición se pueden determinar de acuerdo con un componente de color. Los ajustes de partición cuando el componente de color es un componente de luminancia pueden soportar la partición en el intervalo de 256 × 256 a 64 × 64 para el árbol cuádruple y pueden soportar la partición 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 soportar los mismos ajustes (en este caso, 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 soportar la partición en el intervalo (en este caso, se asume el mismo intervalo para el componente de luminancia es de 128 × 128 a 8 × 8; 4:2:0) de 64 × 64 a 4 × 4 para el árbol binario.
[0717] De acuerdo con el ejemplo anterior, se aplican diferentes ajustes de partición dependiendo de un tipo de bloque. También, algunos bloques se pueden combinar con otros bloques y, por lo tanto, se puede realizar 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, se puede realizar un proceso de partición para adquirir un tamaño y forma de bloque óptimos. Por lo tanto, el tamaño y la forma de bloque óptimos pueden ser el tamaño y la forma óptimos del bloque de transformación, así como el tamaño y la forma óptimos del bloque de codificación. Como alternativa, el bloque de codificación y el bloque de transformación se pueden combinar en una unidad, el bloque de predicción y el bloque de transformación se pueden combinar en una unidad, o el bloque de codificación, el bloque de predicción y el bloque de transformación se pueden combinar en una unidad. También, pueden ser posibles otras combinaciones de los bloques.
[0718] 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 se puede combinar en una única unidad para tener un único ajuste de partición.
[0719] El codificador puede añadir la información generada durante el proceso anterior a un flujo de bits en unidades de al menos una de secuencias, imágenes, segmentos, mosaicos y similares, y el descodificador puede analizar información relacionada desde el flujo de bits.
[0720] En la presente invención, la parte de predicción se puede clasificar en intra-predicción e inter-predicción, e intrapredicción e inter-predicción se pueden definir como sigue.
[0721] La intra-predicción puede ser una tecnología para generar un valor predicho a partir de una región en la que se completa la codificación/descodificación de la imagen actual (por ejemplo, una imagen, un segmento, un mosaico y similares), 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 segmento, un mosaico y similares) en la que la codificación/descodificación se completa antes de la imagen actual.
[0722] Como alternativa, la intra-predicción puede ser una tecnología para generar un valor predicho a partir de una región en la que se completa la codificación/descodificación de la imagen actual, pero se pueden excluir algunos métodos de predicción {por ejemplo, un método para generar un valor predicho a partir de una imagen de referencia, coincidencia de bloques, coincidencia de plantilla y similares}. 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 completa la codificación/descodificación, y la imagen en la que se completa la codificación/descodificación se puede configurar para incluir la imagen actual.
[0723] De acuerdo con los ajustes de codificación/descodificación, se sigue una de las definiciones anteriores. En el siguiente ejemplo, se proporcionará una descripción suponiendo que se sigue la segunda definición. Además, se describe un valor predicho en la suposición de que es un valor obtenido a través de predicción en un dominio espacial, pero no se limita al mismo.
[0724] En lo sucesivo, se describirá la inter-predicción de la parte de predicción en la presente invención.
[0725] La inter-predicción en el método de codificación de imágenes de acuerdo con la realización de la presente invención se puede configurar como sigue. La inter-predicción de la parte de predicción puede incluir una etapa de construcción de imagen de referencia, una etapa de estimación de movimiento, una etapa de compensación de movimiento, una etapa de determinación de información de movimiento y una etapa de codificación de información de movimiento. Además, el aparato de codificación de imágenes se puede configurar 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 anteriormente descritos se pueden omitir, se pueden añadir otros procesos o el orden se puede cambiar a otro orden.
[0726] La figura 34 es un diagrama de ejemplo que ilustra diversos casos en los que se obtiene un bloque de predicción a través de inter-predicción.
[0727] Haciendo referencia a la figura 34, en predicción unidireccional, se puede obtener un bloque de predicción (A) a partir de una imagen de referencia previamente codificada (T-1 y T-2), o se puede obtener un bloque de predicción (B) a partir de una imagen de referencia codificada posteriormente (T+1 y T+2). En predicción bidireccional, se pueden obtener bloques de predicción (C y D) 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.
[0728] Como el ejemplo anterior, una imagen referenciada en la codificación/descodificación de la imagen actual se puede obtener a partir de una memoria. Con respecto a la imagen actual (T), se puede construir una lista de imágenes de referencia de manera que se incluya una imagen de referencia antes de la imagen actual y una imagen de referencia después de la imagen actual en orden de tiempo u orden de visualización.
[0729] La inter-predicción (E) se puede realizar en la imagen actual así como en imágenes anteriores o posteriores con respecto a la imagen actual. La realización de inter-predicción en la imagen actual se puede denominar como predicción no direccional. Esto se puede soportar en el tipo de imagen I o en el tipo de imagen P/B, y el tipo de imagen soportado se puede determinar de acuerdo con ajustes de codificación/descodificación. La realización de interpredicción en la imagen actual está destinada a generar un bloque de predicción usando correlación espacial y es diferente de realizar inter-predicción en otra imagen para usar correlación temporal, pero el método de predicción (por ejemplo, una imagen de referencia, un vector de movimiento y similares) pueden ser iguales.
[0730] La parte de construcción de imagen de referencia puede construir y gestionar, a través de la lista de imágenes de referencia, una imagen de referencia usada en la codificación de la imagen actual. Al menos una lista de imágenes de referencia se puede construir de acuerdo con ajustes de codificación/descodificació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 predicción unidireccional, se puede realizar inter-predicción en al menos una imagen de referencia incluida en una lista de imágenes de referencia 0 (L0) o una lista de imágenes de referencia 1 (L1). Además, en el caso de predicción bidireccional, se puede realizar interpredicción en al menos una imagen de referencia incluida en una lista combinada (LC) que se genera combinando la L0 y la L1.
[0731] En general, la imagen de referencia óptima para una imagen a codificar se puede determinar por el codificador, y se puede usar un método de transmisión explícita de información sobre la imagen de referencia al descodificador. Para este fin, la parte de construcción de imagen de referencia puede realizar la gestión de una lista de imágenes referenciada en inter-predicción de la imagen actual, y puede establecer una regla para la gestión de imágenes de referencia teniendo en cuenta un tamaño de memoria limitado.
[0732] La información transmitida se puede definir como un conjunto de imágenes de referencia (RPS). Una imagen seleccionada como el RPS se puede clasificar en una imagen de referencia y se puede almacenar en una memoria (o una DPB). Las imágenes no seleccionadas como el RPS se pueden clasificar en imágenes no de referencia y se pueden eliminar 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 se puede establecer de acuerdo con el nivel y resolución de la imagen.
[0733] La figura 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.
[0734] Haciendo referencia a la figura 35, en general, las imágenes de referencia (T-1 y T-2) que están presentes antes de la imagen actual se pueden asignar a la L0, y las imágenes de referencia (T+1 y T+2) que están presentes después de la imagen actual la imagen se puede asignar a la L1 para su gestión. En la construcción de 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. De manera similar, en la construcción de 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 L.
[0735] Además, la imagen actual se puede incluir en al menos una lista de imágenes de referencia. Por ejemplo, la imagen actual se puede incluir en la L0 o la L1; la L0 se puede construir añadiendo una imagen de referencia (o imagen actual) cuyo orden temporal es T a una imagen de referencia antes de la imagen actual; o la L1 se puede construir añadiendo una imagen de referencia cuyo orden temporal es T a una imagen de referencia después de la imagen actual.
[0736] La composición de la lista de imágenes de referencia se puede determinar de acuerdo con ajustes de codificación/descodificación. Por ejemplo, la imagen actual se puede no incluir en la lista de imágenes de referencia o se puede incluir en al menos una lista de imágenes de referencia, que se puede determinar mediante una señal (o una señal para permitir un método, tal como la coincidencia de bloques en la actual imagen y similares) que indica si incluir la imagen actual en la lista de imágenes de referencia. La señal se puede soportar en unidades de secuencias, imágenes, segmentos, mosaicos y similares.
[0737] Además, la imagen actual se puede colocar al principio o al final de la lista de imágenes de referencia como se muestra en la figura 35, y el orden de disposición dentro de la lista se puede determinar dependiendo de ajustes de codificación/descodificación (por ejemplo, información de tipo de una imagen, y similares). Por ejemplo, en el caso del tipo I, la imagen actual se puede colocar al comienzo, y en el caso del tipo P/B, la imagen actual se puede colocar al final. La presente invención no se limita a lo mismo, y se pueden proporcionar modificaciones a la misma.
[0738] La parte de construcción de imagen de referencia puede incluir una parte de interpolación de imagen de referencia. De acuerdo con la precisión de interpolación de 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 un proceso de interpolación de 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 imagen de referencia.
[0739] Se puede determinar un filtro de interpolación usado en el proceso de interpolación de imagen de referencia de acuerdo con ajustes de codificación/descodificación. Se puede usar un filtro de interpolación preestablecido {por ejemplo, un filtro de interpolación basado en transformada de coseno discreta (DCT-IF) y similares}, o se puede usar uno de una pluralidad de filtros de interpolación. En el primer caso, la información de selección en el filtro de interpolación se puede omitir implícitamente, y en el último caso, la información de selección en el filtro de interpolación se puede incluir en unidades de secuencias, imágenes, segmentos, mosaicos y similares.
[0740] La precisión de interpolación se puede determinar de acuerdo con ajustes de codificación/descodificación, y puede ser una precisión de una entre unidades de números enteros y unidades decimales (por ejemplo, 1/2, 1/4, 1/8, 1/16, 1/32, y similares). El proceso de interpolación se puede realizar de acuerdo con una precisión de interpolación preestablecida, o el proceso de interpolación se puede realizar de acuerdo con una precisión de una pluralidad de precisiones de interpolación.
[0741] Además, de acuerdo con métodos de inter-predicción (por ejemplo, un método de predicción de movimiento, un modelo de movimiento y similares), se puede soportar precisión de interpolación fija o 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 se puede determinar de acuerdo con ajustes de codificación/descodificación. La información relacionada con la precisión de interpolación se puede determinar implícitamente o generarse explícitamente, y se puede incluir en unidades de secuencias, imágenes, segmentos, mosaicos, bloques y similares.
[0742] La parte de estimación de movimiento realiza un proceso de estimación (o búsqueda de) con qué bloque de qué imagen de referencia el bloque actual tiene una alta correlación. El tamaño y la forma (M x N) del bloque actual en el que se realiza la predicción se pueden obtener a partir de la parte de partición de bloques, y se proporcionará una descripción suponiendo que el soporte es posible en un intervalo de 4 × 4 a 128 × 128 para 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 el ajuste de la parte de partición de bloques. La estimación se realiza en un intervalo de estimación de movimiento, y se puede usar al menos un método de estimación de movimiento. En el método de estimación de movimiento, se puede definir el orden de estimación, la condición de una unidad de píxel y similares.
[0743] La estimación de movimiento se puede realizar de manera adaptativa de acuerdo con el método de predicción de movimiento. Una región en la que se realiza la estimación de movimiento puede ser el bloque actual en el caso de 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, bloque izquierdo, superior, superior izquierdo, superior derecho, inferior izquierdo y similares) en los que se completa la codificación en el caso de coincidencia de plantilla. La coincidencia de bloques puede ser un método para generar explícitamente información de movimiento, y la coincidencia de plantillas puede ser un método para obtener implícitamente información de movimiento.
[0744] En este caso, la coincidencia de plantilla se puede proporcionar mediante una señal que indica soporte de un método de predicción de movimiento adicional, y la señal se puede incluir en unidades de secuencias, imágenes, segmentos, mosaicos y similares. Además, un intervalo de coincidencia de plantillas de soporte puede ser o no el mismo que un intervalo (por ejemplo, de 4 × 4 a 128 × 128) de coincidencia de bloques de soporte, o puede ser un intervalo limitado (por ejemplo, de 4 × 4 a 32 × 32). El intervalo de concordancia de plantilla de soporte se puede determinar de acuerdo con ajustes de codificación/descodificación (por ejemplo, un tipo de imagen, un componente de color y similares). Cuando se soporta una pluralidad de métodos de predicción de movimiento, se genera información de selección de método de predicción de movimiento y se incluye en unidades de bloque.
[0745] Además, la estimación de movimiento se puede realizar de manera adaptativa de acuerdo con un modelo de movimiento. Además del modelo de movimiento de traslación que considera únicamente traslación paralela, se puede usar un modelo de movimiento adicional para realizar estimación y compensación de movimiento. Por ejemplo, se puede realizar estimación y compensación de movimiento usando un modelo de movimiento que considera movimientos tales como rotación, perspectiva, acercamiento/alejamiento y similares además de traslación paralela. Esto se puede soportar para mejorar el rendimiento de codificación generando un bloque de predicción al que se aplican los diversos tipos de movimientos anteriormente descritos generados de acuerdo con una característica regional de una imagen.
[0746] En la presente invención, se proporciona una descripción suponiendo que un modelo de movimiento afín es un modelo de movimiento de no traslación. Sin embargo, la presente invención no se limita a lo mismo, y se pueden proporcionar modificaciones a la misma. En este caso, el modelo de movimiento de no traslación se puede proporcionar mediante una señal que indica soporte del modelo de movimiento adicional, y la señal se puede incluir en unidades de secuencias, imágenes, segmentos, mosaicos y similares. Además, un intervalo de soporte del modelo de movimiento de no traslación puede ser o no el mismo que un intervalo (por ejemplo, 4 × 4 a 128 × 128) de soporte del modelo de movimiento de traslación, o puede ser un intervalo limitado (por ejemplo, 4 × 4 a 32 × 32), y se puede determinar de acuerdo con ajustes de codificación/descodificación (por ejemplo, un tipo de imagen, un componente de color y similares). Cuando se soporta una pluralidad de modelos de movimiento, se genera información de selección de modelo de movimiento y se incluye en unidades de bloque.
[0747] La figura 36 es un diagrama conceptual que ilustra un modelo de movimiento de no traslación de acuerdo con una realización de la presente invención.
[0748] Haciendo referencia a la figura 36, en el caso del modelo de movimiento de traslación, la información de movimiento se representa usando un vector de movimiento V0, mientras que, en el caso del modelo de movimiento de no traslación, se puede requerir información de movimiento adicional para un vector de movimiento V0. En este ejemplo, se describe un caso en el que se usa un vector de movimiento adicional V1 para representar información de movimiento del modelo de movimiento de no 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).
[0749] En el caso del modelo de movimiento de traslación, los vectores de movimiento de 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 usa un vector de movimiento representativo (V0) para realizar la estimación y compensación de movimiento.
[0750] En el caso del modelo de movimiento de no traslación, los vectores de movimiento de píxeles incluidos en el bloque actual pueden ser diferentes entre sí, y se pueden proporcionar vectores de movimiento individuales en unidades de píxeles. En este caso, se requieren muchos vectores de movimiento, de modo que se usa 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 estimación y compensación de movimiento. Es decir, a través de la pluralidad de vectores de movimiento, se pueden derivar (u obtenerse) vectores de movimiento en unidades de subbloques o píxeles dentro del bloque actual. Por ejemplo, los vectores de movimiento {en este ejemplo, (Vx, Vy)} en unidades de subbloques y píxeles dentro del bloque actual se pueden derivar mediante la Ecuación Vx = (V1x - V0x) × x / M - (V1y - V0y ) × y / N V0x, Vy = (V1y - V0y) × x / M (V1x - V0x) × y / N V0y. En la ecuación anterior, V0 {en este ejemplo, (V0x, V0y)} se refiere al vector de movimiento superior izquierdo del bloque actual, y V1 {en este ejemplo, (V1x, V1y)} se refiere al vector de movimiento superior derecho del bloque actual. Considerando la complejidad, la estimación de movimiento y la compensación del modelo de movimiento de no traslación se pueden realizar en unidades de subbloque.
[0751] La figura 37 es un diagrama de ejemplo que ilustra estimación de movimiento en unidades de subbloques de acuerdo con una realización de la presente invención.
[0752] Haciendo referencia a la figura 37, el vector de movimiento del subbloque dentro del bloque actual se puede derivar 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 se puede realizar en unidades de subbloque. En este caso, el tamaño del subbloque (m × n) se puede determinar de acuerdo con ajustes de codificación/descodificación. Por ejemplo, se puede establecer un tamaño fijo, o se puede establecer un tamaño adaptativo basándose en el tamaño del bloque actual. El tamaño del subbloque se puede soportar en un intervalo de 4×4 a 16×16.
[0753] 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 descodificación de acuerdo con un método de predicción (por ejemplo, coincidencia de plantilla y similares). Por ejemplo, en el caso de coincidencia de plantilla, el descodificador puede obtener información de movimiento del bloque actual realizando estimación de movimiento con una plantilla adyacente al bloque actual. En este caso, la información relacionada con la estimación de movimiento (por ejemplo, un intervalo de estimación de movimiento, un método de estimación de movimiento, información de configuración de plantilla y similares) se puede generar implícita o explícitamente y se puede incluir en unidades de secuencias, imágenes, segmentos, mosaicos y similares.
[0754] 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, basándose en 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 se puede generar 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.
[0755] La parte de determinación de información de movimiento puede realizar un proceso para seleccionar información de movimiento óptima del bloque actual. En general, usando una técnica de distorsión de tasa en la que se considera la distorsión de un bloque {por ejemplo, distorsión del bloque actual y el bloque restaurado, suma de diferencia absoluta (SAD), suma de diferencia cuadrada (SSD) y similares} y el número de bits provocados 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 basándose en la información de movimiento que se determina a través del proceso se puede transmitir al restador y al sumador. Además, el elemento se puede incluir en el aparato de descodificación de acuerdo con algunos métodos de predicción (por ejemplo, coincidencia de plantilla y similares), que se pueden determinar basándose en la distorsión del bloque.
[0756] La parte de codificación de información de movimiento puede codificar información de movimiento del bloque actual obtenida a través del proceso de determinación de información de movimiento. En este caso, la información de movimiento puede estar compuesta de información sobre una imagen y una región referenciada para el bloque de predicción del bloque actual. En detalle, puede estar compuesta de información sobre la imagen (por ejemplo, información de imagen de referencia y similares) e información sobre la región (por ejemplo, información de vector de movimiento y similares).
[0757] Además, se puede incluir información de ajuste relacionada con inter-predicción (por ejemplo, un método de predicción de movimiento, información de selección de modelo de movimiento y similares) en información de movimiento del bloque actual. La configuración de información (por ejemplo, el número de vectores de movimiento, y similares) en la imagen de referencia y la región se puede determinar basándose en el ajuste relacionado con la inter-predicción. La información de imagen de referencia se puede representar por una lista de imágenes de referencia, un índice de imágenes de referencia y similares. Se puede codificar información sobre la lista de imágenes de referencia en uso e información sobre el índice de imagen de referencia. La información de la región de referencia se puede representar por un vector de movimiento y similares. Se puede codificar un valor absoluto de vector de cada componente (por ejemplo, x e y) e información de signo.
[0758] 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 se puede codificar 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 se pueden configurar como un modo de codificación de información de movimiento. En este caso, se puede obtener información de imagen de referencia e información de región de referencia a partir de un bloque vecino o un valor preestablecido (por ejemplo, vector 0 <Cero>), y el bloque vecino puede ser al menos un bloque espacial o temporalmente adyacente. Por ejemplo, se puede usar información de movimiento del bloque vecino o información de imagen de referencia para codificar información de movimiento del bloque actual. Se puede usar información de movimiento del bloque vecino o información (o una mediana, información sometida a un proceso de transformación, y similares) derivada de información de imagen de referencia para codificar información de movimiento del bloque actual. Es decir, se puede predecir información de movimiento del bloque actual a partir del bloque vecino, y se puede codificar información sobre el mismo.
[0759] En la presente invención, se puede soportar una pluralidad de modos de codificación de información de movimiento para información de movimiento del bloque actual. Con respecto a los modos de codificación de información de movimiento, se puede usar un método entre un modo de omisión, un modo de fusión y un modo de competición para codificar información de movimiento.
[0760] El modo de codificación de información de movimiento se puede clasificar por ajustes para una combinación de información en una imagen de referencia e información en una región de referencia.
[0761] En el modo de omisión y el modo de fusión, se puede obtener información de movimiento del bloque actual a partir de al menos un bloque candidato (o un grupo de candidatos de modo de omisión, un grupo de candidatos de modo de fusión). Es decir, se puede obtener información de predicción sobre la imagen de referencia o la región de referencia a partir del bloque candidato, y no se genera información de diferencia al respecto. El modo de omisión 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.
[0762] En el modo de competición, la información de movimiento del bloque actual se puede obtener de al menos un bloque candidato (o un grupo de candidatos de modo de competición). Es decir, se puede obtener información de predicción sobre la imagen de referencia o la región de referencia a partir del bloque candidato, y se puede generar información de diferencia sobre la misma.
[0763] Un grupo de candidatos del modo anterior se puede construir de manera adaptativa. Por ejemplo, el modo de omisión 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 candidatos de modo también se puede determinar de manera adaptativa. Por ejemplo, el modo de omisión y el modo de fusión pueden tener a grupos de candidatos, y el modo de competición puede tener b grupos de candidatos. Además, cuando el número de grupos de candidatos para cada modo es uno, se puede seleccionar información de selección de candidatos. Cuando se soporta una pluralidad de grupos de candidatos, se genera información de selección de candidato.
[0764] De acuerdo con un método determinado a partir de los métodos descritos anteriormente, se puede codificar información de movimiento. Cuando el modo de codificación de información de movimiento es el modo de omisión 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 información de movimiento es el modo de competición, se realiza un proceso de codificación de modo de competición. En resumen, en el proceso de codificación de movimiento de fusión, se puede obtener 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 se puede codificar en información de movimiento del bloque actual. Además, en el proceso de codificación de movimiento de competición, se puede obtener 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 información de movimiento actual, mvp es información de movimiento de predicción y mvd es información de movimiento de diferencia) entre la información de predicción obtenida y la información de movimiento del bloque actual se puede codificar como información de movimiento del bloque actual. En el primer caso, una señal residual se puede codificar o no de acuerdo con el modo de codificación de información de movimiento.
[0765] Los intervalos de bloques en los que se soporta cada modo de codificación de información de movimiento de acuerdo con ajustes de codificación/descodificación (por ejemplo, un tipo de imagen, un componente de color y similares) pueden ser iguales o diferentes entre sí.
[0766] La figura 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.
[0767] Haciendo referencia a la figura 38, la información de movimiento de bloques espacialmente adyacentes se puede incluir en un grupo de candidatos 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 figura 38) con el bloque actual en el centro se pueden incluir en el grupo de candidatos.
[0768] Además, se puede incluir información de movimiento de bloques temporalmente adyacentes en el grupo de candidatos. En detalle, en una imagen usada en la construcción del grupo de candidatos temporal, 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 la figura 38) con un bloque que es el mismo que el bloque actual en el centro y la información de movimiento (Col) del bloque se pueden incluir en el grupo de candidatos.
[0769] Además, el grupo de candidatos puede incluir: información de movimiento obtenida a partir de una pluralidad de piezas de información de movimiento de bloques espacialmente adyacentes; información de movimiento obtenida a partir 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 de candidatos se puede obtener usando un método, tal como un promedio, una mediana y similares de una pluralidad de piezas de información de movimiento.
[0770] La información de movimiento se puede incluir 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 se pueden determinar de acuerdo con el modo de codificación de información de movimiento.
[0771] En este caso, en el proceso de construcción del grupo de candidatos 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 clasificación en información de movimiento disponible e información de movimiento no disponible. La información de movimiento disponible se puede incluir en el grupo de candidatos, y la información de movimiento no disponible se puede no incluir en el grupo de candidatos.
[0772] Además, de acuerdo con el ajuste relacionado con la inter-predicción, se pueden determinar las configuraciones del modo de codificación de información de movimiento. Por ejemplo, en el caso de coincidencia de plantilla, se puede soportar el modo de codificación de información de movimiento. En el caso del modelo de movimiento de no traslación, se puede soportar un grupo de candidatos de modo de acuerdo con el vector de movimiento de manera diferente en cada modo de codificación de información de movimiento.
[0773] La figura 39 es un diagrama de ejemplo que ilustra un bloque referenciado para predicción de información de movimiento de un bloque actual en un modelo de movimiento de no traslación de acuerdo con una realización de la presente invención.
[0774] En el caso del modelo de movimiento de no traslación, la información de movimiento se puede representar usando una pluralidad de vectores de movimiento, y se pueden proporcionar ajustes diferentes de la composición del grupo de candidatos de predicción de información de movimiento del modelo de movimiento de traslación. Por ejemplo, como se muestra en la figura 36, se pueden soportar grupos de candidatos de predicción de información de movimiento individuales (por ejemplo, un primer grupo de candidatos de predicción de información de movimiento y un segundo grupo de candidatos de predicción de información de movimiento) para el vector de movimiento superior izquierdo (V0) y el vector de movimiento superior derecho (V1).
[0775] Haciendo referencia a la figura 39, en el caso de V0 y V1, la información de movimiento de bloques espacialmente adyacentes se puede incluir en el primer y el segundo grupos de candidatos de predicción de información de movimiento del bloque actual.
[0776] Por ejemplo, el primer grupo de candidatos de predicción de información de movimiento puede incluir información de movimiento de bloques izquierdo, superior y superior izquierdo (Ln, Tw, TL y similares en la figura 39), y el segundo grupo de candidatos de 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 figura 39). Como alternativa, se puede incluir información de movimiento de bloques temporalmente adyacentes en el grupo de candidatos.
[0777] En el caso del modelo de movimiento de no traslación, el grupo de candidatos de predicción de información de movimiento puede estar compuesto de manera diferente dependiendo del modo de codificación de información de movimiento.
[0778] En el ejemplo anteriormente descrito, 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 de no traslación. En contraste, en el modo de fusión o el modo de omisión, la información de vector de movimiento se determina implícitamente por información de bandera de modo de codificación de información de movimiento, de modo que se puede realizar un número diferente de procesos de predicción de información de movimiento.
[0779] Por ejemplo, la composición del grupo de candidatos de predicción de información de movimiento para el vector de movimiento inferior izquierdo se puede proporcionar además del vector de movimiento superior izquierdo y el vector de movimiento superior derecho. En este caso, el grupo de candidatos de predicción de información de movimiento para el vector de movimiento inferior izquierdo puede incluir información de movimiento de bloques izquierdo e inferior izquierdo.
[0780] Usando la composición de la pluralidad de grupos de candidatos de predicción de información de movimiento, se puede realizar el proceso de codificación de movimiento de fusión.
[0781] El ejemplo anterior es solo un ejemplo de composición del grupo de candidatos de información de movimiento del modelo de movimiento de no traslación. La presente invención no se limita a los mismos, y se pueden proporcionar otras composiciones y modificaciones a los mismos.
[0782] La información relacionada con el movimiento generada por la parte de codificación de información de movimiento se puede transmitir a la parte de codificación y añadirse a un flujo de bits.
[0783] La inter-predicción en el método de descodificación de imágenes de acuerdo con la realización de la presente invención se puede configurar como sigue. La inter-predicción de la parte de predicción puede incluir una etapa de descodificación de información de movimiento, una etapa de construcción de imagen de referencia y una etapa de compensación de movimiento. Además, el aparato de descodificación de imágenes se puede configurar para incluir una parte de descodificació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 descodificació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 anteriormente descritos se pueden omitir, se pueden añadir otros procesos o el orden se puede cambiar a otro orden. Además, se omitirá una descripción redundante del codificador.
[0784] La parte de descodificación de información de movimiento puede recibir la información de movimiento desde la parte de descodificación para restaurar la información de movimiento del bloque actual. La información de movimiento se puede restaurar a partir de información tal como un vector de movimiento, una lista de imágenes de referencia, índice de imágenes de referencia y similares para una imagen y una región que se referencian para generar el bloque de predicción. Además, la información sobre la imagen de referencia y la región de referencia se pueden restaurar desde el modo de codificación de información de movimiento. Además, se puede restaurar la información de ajuste relacionada con inter-predicción.
[0785] La parte de construcción de imagen de referencia puede construir la imagen de referencia de la misma manera que la parte de construcción de 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 lo mismo. El bloque de predicción generado a través del proceso se puede transmitir al sumador.
[0786] A continuación se describirá en detalle la inter-predicción de acuerdo con una realización de la presente invención. En el ejemplo siguiente, se describirá principalmente el codificador.
[0787] En un proceso de redimensionamiento de una imagen, el redimensionamiento se puede realizar durante la etapa de predicción o antes de realizar la predicción. En el caso de inter-predicción, se puede realizar el redimensionamiento de la imagen de referencia. Como alternativa, en el proceso de redimensionamiento de la imagen, el redimensionamiento se puede realizar en la etapa inicial de codificación/descodificación. En el caso de interpredicción, se puede realizar el redimensionamiento de una imagen de codificación.
[0788] 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. Como alternativa, cuando se expande una imagen de codificación (un tamaño por defecto), es posible el almacenamiento (un tamaño expandido) en una memoria después de que se completa la codificación, y es posible el uso como una imagen de referencia (un tamaño expandido) de otra imagen de codificación. Como alternativa, cuando se expande una imagen de codificación (un tamaño por defecto), es posible la reducción y el almacenamiento (un tamaño por defecto) en una memoria después de que se completa la codificación, y es posible su uso como una imagen de referencia (un tamaño expandido) de otra imagen de codificación a través de una proceso de expansión de imagen de referencia.
[0789] Se describirá la inter-predicción de una imagen de 360 grados en la que se usa una imagen redimensionada a través de diversos casos como se ha descrito anteriormente.
[0790] La figura 40 es un diagrama de ejemplo que ilustra que se realiza inter-predicción usando una imagen expandida de acuerdo con una realización de la presente invención. Muestra inter-predicción en un formato de proyección de CMP de una imagen de 360 grados.
[0791] Haciendo referencia a la figura 40, una imagen significa una imagen de referencia, y se muestra un ejemplo de un bloque de predicción (V a Z en la figura 40, un tamaño de 2M×2N) obtenido a partir del bloque actual (no mostrado en los dibujos) de una imagen de codificación a través de inter-predicción. En la figura 40, las regiones existentes pueden ser S'0,0 a S'2,1, y las regiones expandidas pueden ser E1 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 direcciones arriba, abajo, izquierda y derecha. Se proporciona una descripción suponiendo una expansión en un tamaño (2M×2N) de un bloque de predicción obtenido a partir de la parte de partición de bloques.
[0792] Se proporciona una descripción suponiendo que se usan algunos métodos de procesamiento de datos (por ejemplo, un método de relleno mediante la transformación de una región específica de una imagen) para redimensionar 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 se puede obtener a partir de S'2,1, o E9 se puede obtener a partir de S'0,1. Una descripción detallada de la continuidad entre las caras se refiere a las figuras 21, 24, y 25.
[0793] En el caso de V, V se puede obtener como un bloque de predicción en la región existente (S'0,0).
[0794] 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 modo que W se puede obtener como un bloque de predicción. Como alternativa, es posible la división en M×2N que pertenece a una región existente específica (S'1,0) y M×2N que pertenece a una región existente específica (S'2,0). La pluralidad de regiones existentes tiene las características de continuidad distorsionada con respecto a un límite de cara, de modo que es posible la adquisición como un bloque de subpredicción.
[0795] 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 tienen una alta correlación con la región existente (S'0,1), de modo 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 un bloque de predicción de la región existente (S'2,1).
[0796] 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 modo que la adquisición como un bloque de subpredicción es posible particionándose en 2M×N que pertenecen a una región existente específica (S'1,0) y 2M×N que pertenecen a una región existente específica (S'1,1).
[0797] En el caso de Z, Z se posiciona sobre una región existente específica (S'2,1) y una región expandida específica (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 modo 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 un bloque de subpredicción particionándose en M × 2N que pertenece a una región existente específica (S'2,1) y M × 2N que pertenece a una región existente específica (S '0,1).
[0798] Al igual que el ejemplo descrito anteriormente, los bloques de predicción tales como X y Z se obtienen expandiendo el límite exterior de una imagen (suponiendo que se retira la continuidad distorsionada entre la región existente y la región expandida usando el método de procesamiento de datos en este ejemplo), mejorando de este modo el rendimiento de codificación. Sin embargo, debido a que el límite de cara dentro de una imagen no tiene continuidad, tiene lugar la partición en subbloques tales como Y, lo que puede degradar el rendimiento de codificación. Además, hay un caso en el que aunque está presente continuidad dentro de una imagen, es difícil obtener un bloque de predicción preciso como W debido a que el límite de cara tiene continuidad distorsionada. Para este fin, se puede considerar el redimensionamiento en el límite interior (por ejemplo, el límite entre caras) de la imagen.
[0799] La figura 41 es un diagrama conceptual que ilustra la expansión de una unidad de cara de acuerdo con una realización de la presente invención.
[0800] Como se muestra en la figura 41, la eficiencia de inter-predicción se puede mejorar realizando la expansión de la unidad de cara. 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. A la inversa, en este ejemplo, las caras redimensionadas se configuran como subimágenes individuales. En este ejemplo, una unidad de cara expandida se denomina imagen parcial.
[0801] La imagen parcial se puede usar temporalmente para la imagen de referencia existente, o se puede usar en lugar de la imagen de referencia existente, o se puede usar continuamente con la imagen de referencia existente. En el siguiente ejemplo, se describirá principalmente el caso de que se use en lugar de la imagen de referencia existente. Durante la inter-predicción en una imagen (foto), se puede obtener un bloque de predicción a partir de un bloque designado por el vector de movimiento del bloque actual.
[0802] Durante la inter-predicción en la imagen parcial (cara), es posible comprobar a qué imagen parcial pertenece al bloque designado por el vector de movimiento del bloque actual, obteniendo de este modo el bloque de predicción en la imagen parcial. En este caso, es posible determinar, a partir de la imagen, a qué imagen parcial pertenece el bloque.
[0803] En lo sucesivo, se describirán diversos casos en los que se obtiene un bloque de predicción a partir de una imagen parcial. En este caso, se describirán diversos ejemplos con referencia a V a Z en la figura 40. En la figura 40, se supone un caso de imagen no expandida (S_Width x S_Height).
[0804] 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.
[0805] Por ejemplo, en los casos (W e Y) de pertenecer a una pluralidad de caras, se puede obtener 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 incluye más píxeles. En este caso, cuando se incluye el mismo número de píxeles, a qué cara pertenece el bloque se puede determinar de acuerdo con una regla preestablecida.
[0806] 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.
[0807] 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.
[0808] El ejemplo anterior es un ejemplo específico en el que la imagen parcial se usa para realizar inter-predicción. La presente invención no se limita a los mismos, y se pueden proporcionar otras definiciones y otras modificaciones a los mismos.
[0809] La figura 42 es un diagrama de ejemplo que ilustra que se realiza inter-predicción usando una imagen expandida de acuerdo con una realización de la presente invención.
[0810] Haciendo referencia a la figura 42, se muestra un ejemplo de obtención de bloques de predicción (A' a D', C" y D" en la figura 42) a partir de imágenes de referencia (Ref 0[1], Ref 0[0], Ref 1[0] y Ref 1[1] en la figura 42) realizando interpredicción de los bloques actuales (A a D en la figura 42). Como alternativa, un ejemplo de obtención de un bloque de predicción a partir de una imagen parcial (f0 a f3 en la figura 42) de la imagen de referencia. En el siguiente ejemplo, la inter-predicción en una imagen expandida como se muestra en la figura 40 e inter-predicción en una imagen parcial se describirán y se denominarán como un primer método y un segundo método, respectivamente. Además, se proporciona una descripción suponiendo que se usan algunos métodos de procesamiento de datos (por ejemplo, un método de relleno mediante la transformación de una región específica de una imagen) para redimensionar.
[0811] En el caso del bloque A, en el primer método, se puede obtener un bloque de predicción (A') a partir de una región por defecto de una imagen de referencia específica (Ref 0[1]), y en el segundo método, se puede obtener un bloque de predicción (A') 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 método, se puede obtener un bloque de predicción (B') a partir de una región por defecto de una imagen de referencia específica (Ref 1[1]), y en el segundo método, se puede obtener un bloque de predicción (B') 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 método, se puede obtener un bloque de subpredicción (C' se supone como un caso de partición vertical) a partir de una pluralidad de regiones por defecto de una imagen de referencia específica (Ref 0[0]), y en el segundo método, se puede obtener un bloque de predicción (C") a partir de una imagen parcial específica (f2) de una imagen de referencia específica (Ref 0[0]).
[0812] En el caso del bloque D, en el primer método, se puede obtener un bloque de predicción (D') a partir de una región por defecto y una región expandida de una imagen de referencia específica (Ref 1[0]), y en el segundo método, se puede obtener un bloque de predicción (D") a partir de una imagen parcial específica (f3) de una imagen de referencia específica (Ref. 1[0]).
[0813] 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 expandida y la imagen parcial son los mismos, pero son diferentes 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 la imagen expandida son los mismos, pero son diferentes del resultado de inter-predicción de la imagen parcial.
[0814] 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 llena 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 interno de la imagen, la eficiencia de predicción puede disminuir. En la inter-predicción de la imagen parcial, se puede realizar la inter-predicción considerando el problema anteriormente descrito, de modo que se puede aumentar la eficacia de predicción.
[0815] 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 de plano 2D se define para cada cara. Esta característica puede provocar una reducción en la eficiencia de inter-predicción en una imagen de 360 grados.
[0816] Haciendo referencia a la figura 42, con respecto al bloque A, se puede obtener un bloque de predicción del bloque A', y el bloque A' puede ser un bloque que pertenece 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.
[0817] En contraste, con respecto al bloque B, un bloque de predicción se puede obtener 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 en comparación con la cara existente dentro de la cara. En el ejemplo anterior, la predicción precisa (o compensación de movimiento de tamaño de bloque grande) a través de un modelo de movimiento específico (el modelo de movimiento de traslación) puede ser difícil y, para este fin, cuando se usa el modelo de movimiento de no traslación, se puede mejorar la precisión de la predicción.
[0818] En lo sucesivo en el presente documento, se describirán diversos casos en los que se realiza inter-predicción usando un modelo de movimiento de traslación y un modelo de movimiento de no traslación. Se proporciona una descripción dirigida a los bloques A a D en la figura 42 y suponiendo el caso de usar 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 se puede usar para obtener bloques de predicción (A', C' y D') que pertenecen a la misma cara (o imagen parcial). Como alternativa, con respecto al bloque B, se puede usar uno 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 pertenece a una cara diferente.
[0819] Por ejemplo, con respecto a los bloques A, C y D, se puede usar 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 pertenecen a la misma cara. Como alternativa, con respecto al bloque B, el modelo de movimiento de no traslación se puede usar para obtener un bloque de predicción (B') que pertenece a una cara diferente.
[0820] El ejemplo anterior puede ser un ejemplo del uso de un modelo de movimiento preestablecido o uno de una pluralidad de modelos de movimiento de acuerdo con qué caras pertenecen el bloque actual y el bloque de predicción, respectivamente. Es decir, en el primer caso, la información de selección de modelo de movimiento se determina implícitamente, y en el último caso, la información de selección de modelo de movimiento se determina explícitamente. Como otro ejemplo, con respecto a los bloques A a D, se puede usar uno entre el modelo de movimiento de traslación y el modelo de movimiento de no traslación para obtener un bloque de predicción. Los bloques A, C y D pueden seguir un ajuste de probabilidad 1 para información de selección de modelo de movimiento, y el bloque B puede seguir un ajuste de probabilidad 2 para información de selección de modelo de movimiento. En este caso, 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. El ajuste de probabilidad 2 puede ser un ajuste en el que hay una alta probabilidad de que se seleccione el modelo de movimiento de no traslación.
[0821] El ejemplo anterior es un ejemplo específico en el que se usa una pluralidad de modelos de movimiento para realizar inter-predicción. La presente invención no se limita a lo mismo, y se pueden proporcionar modificaciones a la misma. La figura 43 es un diagrama de ejemplo que ilustra que la inter-predicción se realiza usando una imagen de referencia expandida de acuerdo con una realización de la presente invención. Muestra inter-predicción en un formato de proyección de ERP de una imagen de 360 grados.
[0822] Haciendo referencia a la figura 43, un ejemplo de obtención de bloques de predicción (bloques P1 a P5 y F1 a F4 en la figura 43) a partir de imágenes de referencia (T-1 y T+1 en la figura 43) realizando inter-predicción de bloques actuales (bloques C1 a C6 en la figura 43).
[0823] En el caso del bloque C1, se puede obtener 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 dividiendo en una pluralidad de subbloques.
[0824] En el caso del bloque C2, se puede obtener un bloque de predicción temporal (P2) a partir de una región expandida específica (S3), se puede obtener un bloque de predicción temporal (F1) a partir de una región existente específica (U1) y se puede obtener un bloque de predicción a partir de una suma ponderada de los bloques de predicción temporal.
[0825] En el caso de los bloques C3 y C4, se pueden obtener bloques de predicción (P3 y P4 F2) a partir de regiones existentes (S1 y U2).
[0826] En el caso del bloque C5, se puede obtener un bloque de predicción (F3) a partir de una región expandida (U3). En este caso, 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 coloca a la derecha de la imagen, F3 se coloca a la derecha de la imagen, y F3" se coloca a la izquierda de la imagen) para representar el bloque de predicción. En el caso del bloque C6, se puede obtener un bloque de predicción temporal (P5) a partir de una región expandida específica (S2), se puede obtener un bloque de predicción temporal (F4) a partir de una región expandida específica (U3) y se puede obtener un bloque de predicción a partir de un promedio de los bloques de predicción temporal. La figura 44 es un diagrama de ejemplo que ilustra la composición de un grupo de candidatos 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.
[0827] Haciendo referencia a la figura 44, se muestra un ejemplo de obtención de una imagen expandida (B) realizando redimensionamiento en una imagen de codificación (A). En el siguiente ejemplo, se describirán diversos casos de composiciones de grupos de candidatos de predicción de información de movimiento de a a c bloques.
[0828] En el caso de un bloque, el grupo de candidatos de predicción de información de movimiento puede incluir información de movimiento de a0 a a4 bloques. Como alternativa, cuando la referencia de una región redimensionada está limitada, el grupo de candidatos incluye información de movimiento de bloques a3 y a4.
[0829] En el caso del bloque b, el grupo de candidatos de predicción de información de movimiento puede incluir información de movimiento de b0 a b4 bloques. Como alternativa, el grupo de candidatos puede incluir información de movimiento de los bloques b3 y b4 excluyendo un bloque colocado en una cara en la que no está presente la 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 se colocan 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, se puede excluir del grupo de candidatos. En el caso del bloque c, el grupo de candidatos de predicción de información de movimiento puede incluir información de movimiento de c0 a c4 bloques. Como alternativa, el grupo de candidatos puede incluir información de movimiento de bloques c1 y c2 excluyendo un bloque que tiene continuidad con una cara a la que pertenece el bloque actual pero que está colocado en otra cara. Como alternativa, se puede incluir información de movimiento de los bloques c0, c3 y c4 obtenidos a través del proceso de transformación de acuerdo con las características del sistema de coordenadas de la cara actual, y se puede incluir información de movimiento de los bloques c0 a c4.
[0830] Los ejemplos muestran composiciones de grupos de candidatos de predicción de información de movimiento para inter-predicción. Como el ejemplo anterior, el grupo de candidatos de predicción de información de movimiento se puede determinar de acuerdo con ajustes de codificación/descodificación. La presente invención no se limita a los mismos, y se pueden proporcionar otras composiciones y modificaciones a los mismos.
[0831] Un método de descodificación de una imagen de 360 grados de acuerdo con una realización de la presente invención puede incluir recibir un flujo de bits en el que se codifica la imagen de 360 grados, generar una imagen predicha con referencia a la información de sintaxis adquirida del flujo de bits recibido, adquirir una imagen descodificada combinando la imagen predicha generada con una imagen residual adquirida cuantificando a la inversa y transformando a la inversa el flujo de bits, y reconstruyendo la imagen descodificada en la imagen de 360 grados de acuerdo con un formato de proyección.
[0832] En este caso, la información de sintaxis puede incluir información de formato de proyección para la imagen de 360 grados.
[0833] En este caso, la información de formato de proyección puede ser información que indica al menos uno de un formato ERP en el que la imagen de 360 grados se proyecta en un plano 2D, un formato CMP en el que la imagen de 360 grados se proyecta en un cubo, un formato OHP en el que la imagen de 360 grados se proyecta en un octaedro, y un formato de ISP en el que la imagen de 360 grados se proyecta en un poliedro.
[0834] En este caso, la reconstrucción puede incluir adquirir información de disposición de acuerdo con el empaquetado por regiones con referencia a la información de sintaxis y reorganizar bloques de la imagen descodificada de acuerdo con la información de disposición.
[0835] En este caso, la generación de la imagen predicha puede incluir realizar expansión de imagen en una imagen de referencia adquirida restaurando el flujo de bits, y generar una imagen predicha con referencia a la imagen de referencia en la que se realiza la expansión de imagen.
[0836] En este caso, la realización de la expansión de imagen puede incluir realizar la expansión de imagen basándose en una unidad de partición de la imagen de referencia.
[0837] En este caso, la realización de la expansión de imagen basándose en las unidades de partición puede incluir generar una región expandida individualmente para cada unidad de partición, usando un píxel de límite de la unidad de partición.
[0838] En este caso, la región expandida se puede generar usando un píxel de límite de una unidad de partición espacialmente adyacente a una unidad de partición a expandir o usando un píxel de límite de una unidad de partición que tiene continuidad de imagen con una unidad de partición a expandir.
[0839] En este caso, la realización de la expansión de imagen basándose en la unidad de partición puede incluir generar una imagen expandida para una región donde se combinan dos o más unidades de partición que son espacialmente adyacentes entre sí entre las unidades de partición, usando un píxel de límite de la región combinada.
[0840] En este caso, la realización de la expansión de imagen basándose en la unidad de partición puede incluir generar una región expandida entre las unidades de partición adyacentes que son espacialmente adyacentes entre sí entre las unidades de partición, usando toda la información de píxel adyacente de las unidades de partición adyacentes. En este caso, la realización de la expansión de imagen basándose en la unidad de partición puede incluir generar la región expandida usando un valor promedio de píxeles adyacentes de cada una de las unidades de partición espacialmente adyacentes.
[0841] En este caso, la generación de la imagen predicha puede incluir, adquirir, a partir de 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 a descodificar, derivar, basándose en información de selección extraída de la información de movimiento, un vector de movimiento de predicción del grupo de candidatos de vector de movimiento, y determinar un bloque de predicción del bloque actual a descodificar usando un vector de movimiento final que se deriva sumando el vector de movimiento de predicción y un movimiento de diferencia vector extraído de la información de movimiento.
[0842] En este caso, el grupo de candidatos de vector de movimiento puede estar compuesto, cuando los bloques adyacentes al bloque actual son diferentes de una cara a la que pertenece el bloque actual, por solo 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.
[0843] En este caso, el bloque adyacente al bloque actual puede significar un bloque adyacente al bloque actual en al menos una dirección seleccionada de superior izquierda, arriba, superior derecha, abajo e inferior izquierda.
[0844] En este caso, el vector de movimiento final puede indicar, basándose en el 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.
[0845] En este caso, la imagen de referencia se puede expandir en direcciones arriba, abajo, izquierda y derecha basándose en la continuidad de la imagen de acuerdo con el formato de proyección, y a continuación se puede establecer la región de referencia.
[0846] En este caso, la imagen de referencia se puede expandir en la unidad de cara, y la región de referencia se puede establecer sobre el límite de cara.
[0847] En este caso, la información de movimiento puede incluir al menos una 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.
[0848] En este caso, la generación del bloque de predicción del bloque actual puede incluir subdividir el bloque actual en una pluralidad de subbloques y generar un bloque de predicción para cada uno de la pluralidad de subbloques que resultan de la partición.
[0849] Los métodos de acuerdo con la presente invención se pueden realizar en un formato de órdenes de programa que se puede ejecutar usando diversos medios informáticos, para grabarse en un medio legible por ordenador. El medio legible por ordenador puede incluir independientemente una orden de programa, un archivo de datos, una estructura de datos, etc., o puede incluir una combinación de los mismos. La orden de programa que se graba en el medio legible por ordenador puede corresponder a una orden de programa que está específicamente diseñada y configurada para las realizaciones de la presente invención, o la orden de programa puede corresponder a una orden de programa que se divulga y está disponible para cualquier experto en o relacionado con software informático.
[0850] Los ejemplos del medio de grabación legible por ordenador pueden incluir dispositivos de hardware, tales como ROM, RAM, memorias flash, y así sucesivamente, configurados especialmente para almacenar y ejecutar órdenes de programa. Los ejemplos de una orden de programa pueden no solo incluir códigos de lenguaje de máquina, que se crean por un compilador, sino que también pueden incluir códigos de lenguaje de alto nivel, que se pueden ejecutar por un ordenador usando un intérprete, y así sucesivamente. El equipo de hardware mencionado anteriormente se puede configurar para funcionar como uno o más módulos de software para ejecutar las operaciones de la realización de ejemplo de la presente invención, y viceversa.
[0852] Además, una parte o la totalidad de las configuraciones o funciones del método o aparato descrito anteriormente se pueden implementar de una manera combinada o por separado.
[0854] Aunque la presente invención se ha descrito con referencia a las realizaciones ilustrativas, los expertos en la materia apreciarán que se pueden realizar diversas modificaciones y variaciones en la presente invención. Siempre que esas modificaciones y variaciones conduzcan a que la materia objeto caiga dentro del alcance de las reivindicaciones adjuntas, están abarcadas por la invención.

Claims (4)

1. REIVINDICACIONES
1. Un método para descodificar una imagen de 360 grados, comprendiendo el método:
recibir un flujo de bits en el que se codifica la imagen de 360 grados, incluyendo el flujo de bits datos de una imagen bidimensional expandida, incluyendo la imagen bidimensional expandida una imagen bidimensional y una región de expansión predeterminada, proyectándose la imagen bidimensional a partir de una imagen con una estructura de proyección tridimensional, e incluyendo la imagen bidimensional al menos una cara; y
reconstruir la imagen bidimensional expandida descodificando los datos de una imagen bidimensional expandida, en donde la reconstrucción de la imagen bidimensional expandida comprende reconstruir la imagen bidimensional y la imagen bidimensional se reconstruye realizando predicción para un bloque incluido en la imagen bidimensional, caracterizado por que
se determina un tamaño de la región de expansión basándose en primera información de anchura de la región de expansión en un lado izquierdo de la cara y segunda información de anchura de la región de expansión en un lado derecho de la cara, obteniéndose tanto la primera información de anchura como la segunda información de anchura del flujo de bits,
los valores de muestra de la región de expansión se determinan de acuerdo con un método de relleno que usa valores de muestra de la cara, seleccionándose el método de relleno de una pluralidad de métodos de relleno, y el método de relleno para un lado de la cara se determina de manera diferente del método de relleno para el otro lado de la cara.
2. El método de la reivindicación 1, en donde el método de relleno se selecciona de la pluralidad de métodos de relleno basándose en información de selección obtenida del flujo de bits.
3. Un método para codificar una imagen de 360 grados, comprendiendo el método:
obtener una imagen bidimensional proyectada desde una imagen con una estructura de proyección tridimensional, e incluyendo la imagen bidimensional al menos una cara;
obtener una imagen bidimensional expandida que incluye la imagen bidimensional y una región de expansión predeterminada; y
codificar datos de la imagen bidimensional expandida en un flujo de bits en el que se codifica la imagen de 360 grados,
en donde la codificación de los datos de la imagen bidimensional expandida comprende codificar la imagen bidimensional y la imagen bidimensional se codifica realizando predicción para un bloque incluido en la imagen bidimensional,
caracterizado por que
se codifica un tamaño de la región de expansión basándose en primera información de anchura de la región de expansión en un lado izquierdo de la cara y segunda información de anchura de la región de expansión en un lado derecho de la cara, codificándose tanto la primera información de anchura como la segunda información de anchura en el flujo de bits,
los valores de muestra de la región de expansión se determinan de acuerdo con un método de relleno que usa valores de muestra de la cara, seleccionándose el método de relleno de una pluralidad de métodos de relleno, y el método de relleno para un lado de la cara se determina de manera diferente del método de relleno para el otro lado de la cara.
4. Un medio de grabación legible por ordenador no transitorio que almacena un flujo de bits que se genera por un método para codificar una imagen de 360 grados, comprendiendo el método:
obtener una imagen bidimensional proyectada desde una imagen con una estructura de proyección tridimensional, e incluyendo la imagen bidimensional al menos una cara;
obtener una imagen bidimensional expandida que incluye la imagen bidimensional y una región de expansión predeterminada; y
codificar datos de la imagen bidimensional expandida en un flujo de bits en el que se codifica la imagen de 360 grados,
en donde la codificación de los datos de la imagen bidimensional expandida comprende codificar la imagen bidimensional y la imagen bidimensional se codifica realizando predicción para un bloque incluido en la imagen bidimensional,
caracterizado por que
se codifica un tamaño de la región de expansión basándose en primera información de anchura de la región de expansión en un lado izquierdo de la cara y segunda información de anchura de la región de expansión en un lado derecho de la cara, codificándose tanto la primera información de anchura como la segunda información de anchura en el flujo de bits,
los valores de muestra de la región de expansión se determinan de acuerdo con un método de relleno que usa valores de muestra de la cara, seleccionándose el método de relleno de una pluralidad de métodos de relleno, y el método de relleno para un lado de la cara se determina de manera diferente del método de relleno para el otro lado de la cara.
ES24174061T 2016-10-04 2017-10-10 Image data encoding/decoding method and apparatus Active ES3063312T3 (en)

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
ES3063312T3 true ES3063312T3 (en) 2026-04-16

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
ES24197441T Active ES3063575T3 (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
ES24174061T Active ES3063312T3 (en) 2016-10-04 2017-10-10 Image data encoding/decoding method and apparatus

Family Applications Before (3)

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
ES24197441T Active ES3063575T3 (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

Country Status (18)

Country Link
US (85) US20190230285A1 (es)
EP (43) EP4432668A3 (es)
JP (10) JP7881632B2 (es)
KR (13) KR20240051312A (es)
CN (51) CN120812245A (es)
AU (62) AU2017340007B2 (es)
DK (6) DK4510586T3 (es)
ES (4) ES2988737T3 (es)
FI (6) FI3975559T3 (es)
HR (2) HRP20260082T1 (es)
HU (1) HUE068266T2 (es)
LT (4) LT4224854T (es)
PL (4) PL3975559T3 (es)
PT (5) PT4510586T (es)
RS (3) RS67765B1 (es)
SI (2) SI4387232T1 (es)
SM (3) SMT202600095T1 (es)
WO (1) WO2018066988A1 (es)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066980A1 (ko) * 2016-10-04 2018-04-12 김기백 영상 데이터 부호화/복호화 방법 및 장치
CN118945343A (zh) 2016-10-04 2024-11-12 有限公司B1影像技术研究所 图像编码/解码方法、介质和传输比特流的方法
FI3975559T3 (fi) 2016-10-04 2024-09-13 B1 Institute Image Technology Inc Menetelmä ja laitteisto kuvadatan koodaamiseksi/dekoodaamiseksi
WO2018066982A1 (ko) 2016-10-04 2018-04-12 김기백 영상 데이터 부호화/복호화 방법 및 장치
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
JP7348078B2 (ja) 2018-02-08 2023-09-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
EP3741121B1 (en) * 2018-02-14 2024-09-25 Huawei Technologies Co., Ltd. Adaptive interpolation filter
US10922783B2 (en) 2018-03-02 2021-02-16 Mediatek Inc. Cube-based projection method that applies different mapping functions to different square projection faces, different axes, and/or different locations of axis
PT3782361T (pt) * 2018-05-31 2023-11-17 Huawei Tech Co Ltd Transformada que varia espacialmente com um tipo de transformada adaptativa
KR20190140387A (ko) * 2018-06-11 2019-12-19 에스케이텔레콤 주식회사 360도 영상의 인터 예측 방법 및 이를 이용한 영상 복호화 장치
CN119420945A (zh) 2018-06-11 2025-02-11 Sk电信有限公司 用于帧间预测的装置和用于发送比特流的装置
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
EP3844950B8 (en) 2018-08-28 2025-01-01 Sharp Kabushiki Kaisha Device and method for coding video data
EP3852066A4 (en) * 2018-09-11 2021-10-27 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE AND TRIDIMENSIONAL DATA DECODING DEVICE
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
US11706408B2 (en) * 2018-11-15 2023-07-18 Electronics And Telecommunications Research Institute Method and apparatus for performing encoding/decoding by using region-based inter/intra prediction technique
US10778977B2 (en) 2018-12-05 2020-09-15 Qualcomm Incorporated Triangle motion information for video coding
CN113228671B (zh) * 2018-12-28 2022-12-02 华为技术有限公司 通过将图像划分成包括图块的条带对图像进行译码的设备和方法及计算机可读存储介质
BR112021013531A2 (pt) * 2019-01-09 2021-09-14 Huawei Technologies Co., Ltd. Codificador de vídeo, decodificador de vídeo e métodos correspondentes
EP3930331A4 (en) 2019-03-11 2022-03-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Prediction value determination method, encoder and computer storage medium
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 浙江大华技术股份有限公司 基于三角模式的帧间预测、视频编码方法及设备
EP3782366B1 (en) * 2019-07-03 2025-05-21 Beijing Xiaomi Mobile Software Co., Ltd. Video coding method and video decoding method
GB2585645B (en) * 2019-07-08 2024-04-17 Toshiba Kk Computer vision method and system
JP7369273B2 (ja) 2019-07-26 2023-10-25 北京字節跳動網絡技術有限公司 ブロックサイズに基づくピクチャ分割モードの決定
WO2021026324A1 (en) 2019-08-06 2021-02-11 Op Solutions Adaptive resolution management prediction rescaling
WO2021026363A1 (en) 2019-08-06 2021-02-11 Op Solutions, Llc Implicit signaling of adaptive resolution management based on frame type
WO2021026322A1 (en) 2019-08-06 2021-02-11 Op Solutions Block-based adaptive resolution management
CN112434702A (zh) * 2019-08-26 2021-03-02 阿里巴巴集团控股有限公司 图像处理方法、装置、计算机设备、存储介质
WO2021060938A1 (ko) * 2019-09-26 2021-04-01 현대자동차주식회사 360도 비디오 가상 경계의 인루프 필터를 제한하는 방법
CN120499392A (zh) * 2019-09-27 2025-08-15 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法、解码方法和存储介质
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 杭州当虹科技股份有限公司 一种可变有效图像尺寸的编码及解码方法
US11711537B2 (en) * 2019-12-17 2023-07-25 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
PH12022552714A1 (en) * 2020-04-14 2023-01-04 Op Solutions Llc Methods and systems of video coding using reference regions
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 伟光有限公司 图像处理方法、装置、计算机可读存储介质及设备
CN115888110B (zh) * 2022-12-22 2026-07-10 上海网之易璀璨网络科技有限公司 一种运动时间预测方法、装置、计算机设备及存储介质
WO2026060701A1 (zh) * 2024-09-23 2026-03-26 Oppo广东移动通信有限公司 环路滤波方法、装置、存储介质及程序产品

Family Cites Families (197)

* 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
US7336720B2 (en) * 2002-09-27 2008-02-26 Vanguard Software Solutions, 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 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상
KR100677142B1 (ko) * 2004-08-13 2007-02-02 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상
KR100739686B1 (ko) 2004-08-13 2007-07-13 경희대학교 산학협력단 영상 코딩 방법, 코딩 장치, 영상 디코딩 방법 및 디코딩장치
KR100700218B1 (ko) * 2004-08-13 2007-03-27 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상을 위해 가상 영상영역을 생성하는 방법 및 장치
US7623682B2 (en) * 2004-08-13 2009-11-24 Samsung Electronics Co., Ltd. Method and device for motion estimation and compensation for panorama image
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
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 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
US20080007648A1 (en) * 2006-06-23 2008-01-10 Amlogic, Inc. Real time scaling and rotating decoded image data
CN101227601B (zh) * 2007-01-15 2011-09-14 飞思卡尔半导体公司 在视频再现中进行几何变换的方法和设备
TW200850000A (en) * 2007-02-14 2008-12-16 Photint Venture Group Inc Fuzzy protection of visual content
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
EP2174500A2 (en) * 2007-06-29 2010-04-14 Thomson Licensing Video indexing method, and video indexing device
KR20070103347A (ko) * 2007-10-03 2007-10-23 이제성 360도 파노라마 카메라의 영상컨텐츠를 이용한 고해상도광시야각 대형 디스플레이 방법
JP2009100041A (ja) * 2007-10-12 2009-05-07 Toshiba Corp 画像復号装置
WO2010041855A2 (en) 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
EP2207356A1 (en) * 2008-10-06 2010-07-14 Lg Electronics Inc. Method and apparatus for video coding using large macroblocks
US8098959B2 (en) * 2008-10-29 2012-01-17 Aptina Imaging Corporation Method and system for frame rotation within a JPEG compressed pipeline
EP2373034A4 (en) * 2008-12-08 2012-11-21 Sharp Kk BILDCODER AND IMAGE DECODER
JPWO2010070897A1 (ja) * 2008-12-16 2012-05-24 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
ES2829810T3 (es) 2009-10-01 2021-06-02 Sk Telecom Co Ltd Procedimiento y aparato para codificación / decodificación de imagen utilizando macrobloques de tamaño variable
US20120263811A1 (en) 2009-10-12 2012-10-18 Prashant Neminath Patil Herbal compositions improving lactation of farmed livestock
CN102577393B (zh) 2009-10-20 2015-03-25 夏普株式会社 运动图像编码装置、运动图像解码装置、运动图像编码/解码系统、运动图像编码方法及运动图像解码方法
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电子株式会社 视频信号的处理方法和设备
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
FI3958573T3 (fi) * 2010-04-13 2023-08-23 Ge Video Compression Llc Videokoodaus käyttäen kuvien monipuurakenteen alaosioita
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
SMT201700338T1 (it) * 2010-04-23 2017-09-07 M&K Holdings Inc Apparato per codificare un'immagine
CN105744282B (zh) * 2010-05-26 2018-10-23 Lg电子株式会社 用于处理视频信号的方法和设备
AU2011264896B2 (en) * 2010-06-10 2015-08-27 Interdigital Vc Holdings, Inc. Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
US9036944B2 (en) 2010-07-02 2015-05-19 Humax Holdings Co., Ltd. Apparatus and method for encoding/decoding images for intra-prediction coding
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
WO2012023817A2 (ko) * 2010-08-18 2012-02-23 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법, 및 참조픽처 인덱싱 장치 및 방법
JP5485851B2 (ja) * 2010-09-30 2014-05-07 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
US9378185B2 (en) 2010-09-30 2016-06-28 Texas Instruments Incorporated Transform and quantization architecture for video coding and decoding
CN103339932B (zh) * 2010-10-01 2017-05-31 谷歌技术控股有限责任公司 在灵活分块时利用图片边界填补的代码化和解码
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 中兴通讯股份有限公司 视频图像编码方法及装置
KR101269116B1 (ko) * 2010-12-14 2013-05-29 엠앤케이홀딩스 주식회사 인터 예측 부호화된 동영상 복호화 방법
US20120170648A1 (en) * 2011-01-05 2012-07-05 Qualcomm Incorporated Frame splitting in video coding
CN103430541B (zh) 2011-01-06 2016-11-23 三星电子株式会社 使用分层结构的数据单元的视频解码方法
US9049452B2 (en) * 2011-01-25 2015-06-02 Mediatek Singapore Pte. Ltd. Method and apparatus for compressing coding unit in high efficiency video coding
PH12013501626A1 (en) * 2011-02-10 2013-10-14 Sony Group Corp Image processing device and image processing method
US20120230423A1 (en) * 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding
KR101164365B1 (ko) 2011-03-31 2012-07-09 박원일 차량용 영상 모니터링 장치의 4채널 화면 분할 방법
KR101857755B1 (ko) * 2011-04-12 2018-05-15 한국전자통신연구원 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
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
JP2013031141A (ja) * 2011-06-24 2013-02-07 Panasonic Corp 動画像符号化装置および動画像符号化方法
JP2014168107A (ja) * 2011-06-24 2014-09-11 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR101900986B1 (ko) * 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
KR20130004173A (ko) * 2011-07-01 2013-01-09 한국항공대학교산학협력단 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
US9807426B2 (en) 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
WO2013023005A1 (en) * 2011-08-08 2013-02-14 General Instrument Corporation Residual tree structure of transform unit partitioning
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
US10110891B2 (en) * 2011-09-29 2018-10-23 Sharp Kabushiki Kaisha Image decoding device, image decoding method, and image encoding device
PL3754982T3 (pl) * 2011-09-29 2024-09-02 Sharp Kabushiki Kaisha Urządzenie do dekodowania obrazu, sposób dekodowania obrazu, sposób kodowania obrazu i urządzenie kodowania obrazu do realizowania konwersji bipredykcyjnej na unipredykcyjną
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
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
JP2013118424A (ja) * 2011-11-04 2013-06-13 Sharp Corp 画像復号装置、画像符号化装置、および符号化データのデータ構造
GB2509881B (en) * 2011-11-08 2018-09-12 Kt Corp A method of decoding a video signal using an AMVP mode
CN104041024B (zh) * 2011-11-14 2016-03-16 独立行政法人情报通信研究机构 立体影像编码装置、立体影像解码装置、立体影像编码方法、立体影像解码方法、立体影像编码程序以及立体影像解码程序
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
KR20130073826A (ko) * 2011-12-23 2013-07-03 한국전자통신연구원 시간적 머징 후보의 참조 픽쳐 인덱스 설정 방법 및 장치
US10805617B2 (en) 2012-01-19 2020-10-13 Texas Instruments Incorporated Scalable prediction type coding
TWI613909B (zh) * 2012-01-30 2018-02-01 三星電子股份有限公司 視訊解碼方法
US20130272409A1 (en) * 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
LT2697973T (lt) * 2012-04-16 2017-09-25 Hfi Innovation Inc. Būdas ir įrenginys, skirti ciklo filtravimui per lusto arba išklotinės ribas
WO2013155859A1 (en) * 2012-04-19 2013-10-24 Thomson Licensing Method and apparatus for repetitive structure discovery based 3d model compression
JP2013229674A (ja) 2012-04-24 2013-11-07 Sharp Corp 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、及び画像復号プログラム
JP6376719B2 (ja) * 2012-06-29 2018-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
EP2870751A4 (en) * 2012-07-04 2016-03-09 Intel Corp PANORAMIC 3D VIDEO CODING
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
US20150146779A1 (en) * 2012-07-17 2015-05-28 Electronic And Telecommunications Research Institute In-loop filtering method and apparatus using same
KR20140034053A (ko) * 2012-08-21 2014-03-19 삼성전자주식회사 트리 구조의 부호화 단위에 기초한 예측 정보의 인터-레이어 비디오 부호화 방법 및 그 장치, 트리 구조의 부호화 단위에 기초한 예측 정보의 인터-레이어 비디오 복호화 방법 및 그 장치
US9319684B2 (en) * 2012-08-21 2016-04-19 Qualcomm Incorporated Alternative transform in scalable video coding
EP2898689B1 (en) * 2012-09-21 2020-05-06 Nokia Technologies Oy Method and apparatus for video coding
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 中兴通讯股份有限公司 一种实现多媒体播放的方法、移动终端及系统
KR101677406B1 (ko) * 2012-11-13 2016-11-29 인텔 코포레이션 차세대 비디오용 비디오 코덱 아키텍처
KR20140087971A (ko) * 2012-12-26 2014-07-09 한국전자통신연구원 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치
GB2509563A (en) * 2013-01-04 2014-07-09 Canon Kk Encoding or decoding a scalable video sequence using inferred SAO parameters
CN103079067B (zh) * 2013-01-09 2016-03-09 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置
KR102063385B1 (ko) * 2013-01-30 2020-01-07 인텔 코포레이션 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩
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 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
US10334263B2 (en) * 2013-04-05 2019-06-25 Samsung Electronics Co., Ltd. Interlayer video encoding method and apparatus and interlayer video decoding method and apparatus for compensating luminance difference
US9565437B2 (en) 2013-04-08 2017-02-07 Qualcomm Incorporated Parameter set designs for video coding extensions
JP6269813B2 (ja) * 2013-04-08 2018-01-31 ソニー株式会社 Shvcでの注目領域スケーラビリティ
EP2989796B1 (en) * 2013-04-23 2020-05-06 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 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
CN105519119B (zh) * 2013-10-10 2019-12-17 夏普株式会社 图像解码装置
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 씨제이씨지브이 주식회사 다면 영상 생성 방법 및 시스템
KR101569912B1 (ko) * 2013-12-17 2015-11-27 세종대학교산학협력단 영상의 복호화/부호화 방법 및 장치
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
EP3094093A4 (en) * 2014-01-09 2017-08-16 Samsung Electronics Co., Ltd. Scalable video encoding/decoding method and apparatus
WO2015104963A1 (ja) 2014-01-09 2015-07-16 株式会社日立国際電気 画像処理装置及び動画像伝送方法
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
CN110505488B (zh) * 2014-03-18 2022-01-07 上海天荷电子信息有限公司 扩展预测像素数组的图像编码或解码方法
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 비디오 코딩 방법 및 장치
CN104284188B (zh) 2014-10-11 2018-03-13 华为技术有限公司 预测块的划分方法、编码设备和解码设备
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
WO2016140083A1 (ja) 2015-03-05 2016-09-09 ソニー株式会社 画像処理装置および画像処理方法
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
FI20165256A (fi) 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
US10645362B2 (en) * 2016-04-11 2020-05-05 Gopro, Inc. Systems, methods and apparatus for compressing video content
US10931947B2 (en) * 2016-05-04 2021-02-23 Sharp Kabushiki Kaisha Systems and methods 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
KR102991574B1 (ko) * 2016-06-21 2026-07-16 주식회사 픽스트리 부호화 장치 및 방법, 복호화 장치 및 방법
KR101943058B1 (ko) * 2016-06-23 2019-01-29 에스케이텔레콤 주식회사(Sk Telecom Co., Ltd.) 영상 부호화/복호화 방법 및 장치
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
FI3975559T3 (fi) 2016-10-04 2024-09-13 B1 Institute Image Technology Inc Menetelmä ja laitteisto kuvadatan koodaamiseksi/dekoodaamiseksi
KR20190052129A (ko) * 2016-10-04 2019-05-15 김기백 영상 데이터 부호화/복호화 방법 및 장치
JP7224280B6 (ja) 2016-10-04 2026-02-17 ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッド 画像データ符号化/復号化方法及び装置
CN118945343A (zh) * 2016-10-04 2024-11-12 有限公司B1影像技术研究所 图像编码/解码方法、介质和传输比特流的方法
KR102840589B1 (ko) * 2016-10-17 2025-07-30 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR102498598B1 (ko) * 2016-10-18 2023-02-14 삼성전자주식회사 영상 처리 장치 및 그 영상 처리 방법
US20180176468A1 (en) * 2016-12-19 2018-06-21 Qualcomm Incorporated Preferred rendering of signalled regions-of-interest or viewports in virtual reality video
KR101808327B1 (ko) * 2017-03-08 2017-12-13 광운대학교 산학협력단 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치
US11277635B2 (en) * 2017-03-17 2022-03-15 Vid Scale, Inc. Predictive coding for 360-degree video based on geometry padding
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 夏普株式会社 用于划分视频数据的帧间预测片段中的视频块的系统和方法
KR20190033042A (ko) * 2017-09-20 2019-03-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3904169B1 (en) 2018-12-28 2023-09-20 Nabtesco Automotive Corporation Air supply system
JP7761260B2 (ja) 2021-10-29 2025-10-28 不動技研株式会社 組立ラック
JP2023181961A (ja) 2022-06-13 2023-12-25 株式会社あかつき 情報処理システム、情報処理装置、情報処理プログラム及び情報処理方法
JP7593658B2 (ja) 2022-06-13 2024-12-03 灰孝小野田レミコン株式会社 再生骨材
JP7345032B1 (ja) 2022-09-16 2023-09-14 ラクテン アジア プライベート リミテッド 与信審査装置、方法及びプログラム
JP7677295B2 (ja) 2022-09-16 2025-05-15 トヨタ自動車株式会社 造粒粒子

Also Published As

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

Similar Documents

Publication Publication Date Title
ES3063575T3 (en) Image data encoding/decoding method and apparatus
MX2024012529A (es) Método de codificación/decodificación de señal de imagen y aparato para ello
MX2021008449A (es) Metodo y dispositivo de codificacion de imagen usando bandera de salto de transformacion.
MX2025003842A (es) Metodo y dispositivo de codificacion/decodificacion de imagen para realizar prediccion ponderada y metodo para transmitir flujo de bits
MX2021002950A (es) Un codificador de video, un decodificador de video y metodos correspondientes.
MX2024009883A (es) Metodo de dise?o de sintaxis y aparato para realizar codificacion usando sintaxis.
AR118329A1 (es) Métodos para el proceso de puntos de recuperación para la codificación de videos y aparatos relacionados
MX2022007348A (es) Metodo y dispositivo de codificacion de imagenes/video con base en prediccion ponderada.
JP2014209762A5 (es)
CL2025002046A1 (es) Vector de bloque de pel fraccional para codificación de video
MX2022006844A (es) Metodo y aparato para codificacion/decodificacion de imagen con base en encabezado de imagen que incluye informacion que se refiere a imagen co-localizada, y metodo para transmitir flujo de bits.
MX2021010368A (es) Aparatos para codificar y decodificar imagenes, y metodos para codificar y decodificar imagenes mediante los mismos.
MX2022003924A (es) Método de codificación de imágenes a base de transformación, y dispositivo para el mismo.