ES3041933T3 - Method and device for inducing motion information between temporal points of sub prediction unit - Google Patents
Method and device for inducing motion information between temporal points of sub prediction unitInfo
- Publication number
- ES3041933T3 ES3041933T3 ES15733249T ES15733249T ES3041933T3 ES 3041933 T3 ES3041933 T3 ES 3041933T3 ES 15733249 T ES15733249 T ES 15733249T ES 15733249 T ES15733249 T ES 15733249T ES 3041933 T3 ES3041933 T3 ES 3041933T3
- Authority
- ES
- Spain
- Prior art keywords
- prediction
- motion information
- block
- subunit
- prediction subunit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- 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/161—Encoding, multiplexing or demultiplexing different image signal components
-
- 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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- 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/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- 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/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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Según la presente invención, se proporciona un método para codificar una imagen tridimensional, que comprende los siguientes pasos: determinar un modo de predicción para un bloque actual como modo de predicción intermedio; determinar si existe información de movimiento en un bloque de referencia correspondiente al bloque actual en una imagen de referencia; inducir la información de movimiento en el bloque actual en una unidad de subbloque de predicción dentro del bloque actual si existe información de movimiento en el bloque de referencia; e inducir una muestra de predicción para el bloque actual sobre la base de la información de movimiento en el bloque actual. (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0002] Método y dispositivo para inducir información de movimiento entre puntos temporales de una subunidad de predicción [CAMPO TÉCNICO]
[0003] La presente invención se refiere a métodos de codificación/descodificación de imágenes que derivan información de movimiento de inter vista en paralelo de acuerdo con subunidades de predicción.
[0004] [ANTECEDENTES DE LA TÉCNICA]
[0005] La creciente industria de la TI ha extendido los servicios de radiodifusión de HD (alta definición) por todo el mundo y cada vez más usuarios están acostumbrándose a las imágenes de HD.
[0006] En consecuencia, los usuarios están demandando imágenes de una calidad más alta y una resolución más alta y un número de organizaciones están espoleándose a sí mismas a desarrollar dispositivos de formación de imágenes de próxima generación para estar a la altura de tales expectativas. Como resultado, los usuarios pueden experimentar imágenes que soportan HD completa (FHD) y ultra HD (UHD).
[0007] La demanda de los usuarios va un paso más allá para las imágenes 3D que pueden ofrecer una sensación o efectos 3D. Diversas organizaciones han desarrollado imágenes 3D para satisfacer tal demanda de los usuarios.
[0008] Sin embargo, las imágenes 3D incluyen información de mapa de profundidad, así como una imagen verdadera (textura) y, por lo tanto, tienen más datos que las imágenes 2D. En consecuencia, la codificación/descodificación de imágenes 3D con procesos de codificación/descodificación de imágenes existentes no puede exhibir una eficiencia de codificación/descodificación suficiente.
[0009] El siguiente documento divulga un proceso de construcción de lista de fusión para la predicción de movimiento de inter vista de nivel de subunidad de predicción, sub PU, en donde, en los casos en los que un bloque de referencia identificado no tiene información de movimiento disponible que podría usarse para derivar un candidato de fusión de inter vista para la sub PU actual, o bien se usa el candidato de fusión de inter vista de nivel de PU original si está disponible, o bien, de lo contrario, se usa un valor por defecto, en concreto un movimiento cero:
[0010] ZHAO X Y COL.:"CE3 related: Simplifications to sub-PU level inter-view motion prediction",6. REUNIÓN DE JCT-3V; 25-10-2013 - 1-11-2013; GINEBRA; (EL EQUIPO COLABORATIVO CONJUNTO SOBRE EL DESARROLLO DE LA EXTENSIÓN DE CODIFICACIÓN DE VÍDEO 3D DE ISO/IEC JTC1/SC29/WG11 Y SG.16 DE UIT-T); URL: HTTP://PHENIX.INT-EVRY.FR/JCT2/, n.° JCT3V-F0127, 18 de octubre de 2013 (18-10-2013).
[0011] El siguiente documento divulga un método de derivación de movimiento de nivel de sub PU que comprende heredar información de movimiento a partir de una sub PU identificada por un vector de disparidad.
[0012] AN J Y COL.:"3D-CE3.h related: Sub-PU level inter-view motion prediction",5. REUNIÓN DE JCT-3V; 27-7 2013 -2-8-2013; VIENA; (EL EQUIPO COLABORATIVO CONJUNTO SOBRE EL DESARROLLO DE LA EXTENSIÓN DE CODIFICACIÓN DE VÍDEO 3D DE ISO/IEC JTC1/SC29/WG11 Y SG.16 DE UIT-T); URL: HTTP://PHENIX.INT-EVRY.FR/JCT2/, n.° JCT3V-E0184, 19 de julio de 2013 (19-07-2013).
[0013] [DESCRIPCIÓN DETALLADA DE LA INVENCIÓN]
[0014] [Problema técnico]
[0015] Un objeto de la presente invención es proporcionar un método para derivar información de movimiento de un bloque seleccionado como objetivo para la codificación/descodificación.
[0016] Otro objeto de la presente invención es proporcionar un método para quitar la dependencia de datos al derivar información de movimiento de un bloque seleccionado como objetivo para la codificación/descodificación.
[0017] Otro objeto más de la presente invención es proporcionar un método para aumentar la eficiencia de codificación/descodificación de imágenes quitando la dependencia de datos al derivar información de movimiento de un bloque seleccionado como objetivo para la codificación/descodificación de una forma por subunidad de predicción.
[0018] Aún otro objeto más de la presente invención es proporcionar un método para aumentar la eficiencia de codificación/descodificación de imágenes usando información de movimiento de un bloque de referencia cuando se deriva información de movimiento de un bloque seleccionado como objetivo para la codificación/descodificación de una forma por subunidad de predicción.
[0019] [Solución técnica]
[0020] Los objetos de la presente invención se logran mediante materias objeto de reivindicaciones independientes.
[0021] La invención reivindicada se describe a continuación en el presente caso en relación con la realización 2 y la figura 23. Las realizaciones restantes se proporcionan con fines ilustrativos y no están cubiertas por la invención reivindicada.
[0023] [Efectos ventajosos]
[0025] La presente invención puede derivar información de movimiento de un bloque seleccionado como objetivo para la codificación/descodificación.
[0027] La presente invención puede quitar la dependencia de datos al derivar información de movimiento de un bloque seleccionado como objetivo para la codificación/descodificación.
[0029] La presente invención puede aumentar la eficiencia de codificación/descodificación de imágenes quitando la dependencia de datos al derivar información de movimiento de un bloque seleccionado como objetivo para la codificación/descodificación de una forma por subunidad de predicción.
[0031] La presente invención puede aumentar la eficiencia de codificación/descodificación de imágenes usando información de movimiento de un bloque de referencia quitando la dependencia de datos al derivar información de movimiento de un bloque seleccionado como objetivo para la codificación/descodificación de una forma por subunidad de predicción.
[0033] [BREVE DESCRIPCIÓN DE LOS DIBUJOS]
[0035]
[0037] La figura 1 es una vista que ilustra esquemáticamente una estructura básica de un sistema de imagen tridimensional (3D).
[0038] La figura 2 es una vista que ilustra un ejemplo de una imagen de "globos" y un ejemplo de una imagen de mapa de información de profundidad.
[0039] La figura 3 es una vista que ilustra esquemáticamente una estructura en la que una imagen se divide tras la codificación y descodificación de la imagen.
[0040] La figura 4 ilustra unidades de predicción que pueden incluirse en una unidad de codificación (CU).
[0041] La figura 5 ilustra un ejemplo de una estructura de predicción de inter vista en un códec de imagen 3D.
[0042] La figura 6 ilustra un ejemplo de un proceso de codificación y/o descodificación de una imagen verdadera (vista de textura) y un mapa de información de profundidad (vista de profundidad) en un codificador y/o descodificador de imágenes 3D.
[0043] La figura 7 es un diagrama de bloques que ilustra una configuración de un codificador de imágenes de acuerdo con una realización de la presente invención.
[0044] La figura 8 es un diagrama de bloques que ilustra una configuración de un descodificador de imágenes de acuerdo con una realización de la presente invención.
[0045] La figura 9 es una vista que ilustra una estructura de predicción ilustrativa para un códec de imagen 3D.
[0046] La figura 10 ilustra un ejemplo en el que se usan bloques vecinos para configurar una lista de candidatos de fusión para un bloque actual.
[0047] La figura 11 es una vista que ilustra un proceso ilustrativo de derivación de información de movimiento en un bloque actual usando información de movimiento en una vista vecina.
[0048] La figura 12 es una vista que ilustra un ejemplo en el que una unidad de predicción (PU) se divide en varias subunidades de predicción.
[0049] La figura 13 es una vista que ilustra un proceso ilustrativo de derivación de información de movimiento en un bloque actual usando un bloque de referencia.
[0050] La figura 14 es una vista que ilustra un bloque de referencia ilustrativo usado para derivar información de movimiento en un bloque actual.
[0051] Las figuras 15a a 15e son vistas que ilustran esquemáticamente un proceso ilustrativo de derivación de información de movimiento usando información de movimiento almacenada en un espacio de almacenamiento.
[0052] Las figuras 16a a 16g son vistas que ilustran esquemáticamente otro proceso ilustrativo de derivación de información de movimiento usando información de movimiento almacenada en un espacio de almacenamiento. La figura 17 es un diagrama de flujo que ilustra un método para derivar información de movimiento en una subunidad de predicción de un bloque actual usando una subunidad de predicción de un bloque de referencia, de acuerdo con una realización de la presente invención.
[0053] La figura 18 es una vista que ilustra un proceso ilustrativo de derivación en paralelo de información en una subunidad de predicción de un bloque actual usando una subunidad de predicción de un bloque de referencia. La figura 19 es una vista que ilustra un proceso ilustrativo de descubrimiento de una subunidad de predicción disponible cuando la subunidad de predicción disponible está situada en el extremo más a la derecha y más abajo de un bloque de referencia.
[0054] La figura 20 es una vista que ilustra esquemáticamente los tiempos requeridos para derivar información de movimiento de una forma por subunidad de predicción.
[0055] La figura 21 es un diagrama de bloques que ilustra una configuración de un módulo de inter predicción al que es aplicable la presente invención.
[0056] La figura 22 es un diagrama de flujo que ilustra esquemáticamente un método para derivar información de movimiento en una subunidad de predicción de un bloque actual usando un bloque de referencia, de acuerdo con una realización de la presente invención.
[0057] La figura 23 es un diagrama de flujo que ilustra esquemáticamente un método para derivar información de movimiento en una subunidad de predicción de un bloque actual, de acuerdo con otra realización de la presente invención.
[0058] La figura 24 es una vista que ilustra un proceso ilustrativo de derivación de información de movimiento en una subunidad de predicción de un bloque actual usando información de movimiento en una posición.
[0059] La figura 25 es un diagrama de flujo que ilustra un método para derivar información de movimiento en una subunidad de predicción de un bloque actual usando un valor de información de movimiento de acuerdo con otra realización de la presente invención.
[0060] La figura 26 es una vista que ilustra un proceso ilustrativo de derivación de información de movimiento en una subunidad de predicción de un bloque actual usando alguna información de movimiento.
[0061] La figura 27 es una vista que ilustra esquemáticamente los tiempos requeridos para derivar información de movimiento de acuerdo con la presente invención.
[0063] [DESCRIPCIÓN DETALLADA DE REALIZACIONES ILUSTRATIVAS]
[0065] En lo sucesivo en el presente documento, se describirán con detalle realizaciones de la presente invención con referencia a los dibujos adjuntos. Cuando se determina hacer que la materia objeto de la presente divulgación no sea clara, se omite una descripción detallada de configuraciones o funciones conocidas pertinentes.
[0067] Cuando un componente se "conecta a" o "acopla a" otro componente, el componente se puede conectar o acoplar directamente al otro componente, o pueden interponerse otros componentes. Como se usa en el presente documento, la presente invención "incluye" o "comprende" un componente particular, la presente invención no excluye otros componentes, y en su lugar también pueden incluirse componentes adicionales en las realizaciones de la presente invención.
[0069] Los términos "primero" y "segundo" pueden usarse para describir diversos componentes, pero los componentes no están limitados por los términos. Estos términos se usan solo para distinguir un componente de otro. Por ejemplo, sin apartarse del alcance de la presente invención, un primer componente puede indicarse como un segundo componente, y un segundo componente puede indicarse como un primer componente.
[0071] Puede mostrarse independientemente que los componentes como se usan en el presente documento representan sus características diferenciadas respectivas, pero esto no significa que cada componente debiera configurarse como una unidad de hardware o software separada. En otras palabras, los componentes se muestran por separado entre sí para facilitar la descripción. Al menos dos de los componentes pueden combinarse para configurar un único componente, o cada componente puede dividirse en una pluralidad de componentes para realizar una función. Tal combinación o separación también pertenece al alcance de la presente invención.
[0073] Algunos componentes pueden ser componentes opcionales para potenciar el rendimiento en lugar de componentes inevitables para realizar funciones esenciales de la presente invención. La presente invención puede implementarse solo con componentes esenciales que excluyen componentes usados para potenciar el rendimiento, y tal configuración también pertenece al alcance de la presente invención.
[0075] Una imagen 3D ofrece un efecto estereoscópico a través de una visualización estereoscópica 3D como si el usuario viera y sintiera en el mundo de la vida real. En este sentido, están en marcha un grupo de normalización conjunto, JCT-3V (el Equipo Colaborativo Conjunto sobre el Desarrollo de la Extensión de Codificación de Imágenes 3D), de MPEG (Grupo de Expertos en Imágenes en Movimiento) en ISO/IEC y VCEG (Grupo de Expertos en Codificación de Vídeo) en UIT-T para la normalización de imágenes 3D.
[0077] La figura 1 es una vista que ilustra esquemáticamente una estructura básica de un sistema de imagen tridimensional (3D).
[0079] Haciendo referencia a la figura 1, el sistema de vídeo 3D (3VD) puede incluir un emisor y un receptor. En este caso, el sistema de vídeo 3D de la figura 1 puede ser un sistema de vídeo 3D básico como se considera en las normas de imagen 3D que pueden incluir normas con respecto a formatos de datos avanzados y sus tecnologías relacionadas que pueden soportar la reproducción de imágenes autoestereoscópicas, así como imágenes estereoscópicas usando una textura y su mapa de información de profundidad correspondiente.
[0081] [0028] El emisor puede generar un contenido de imagen de múltiples vistas. Específicamente, el emisor puede generar información de imagen usando una cámara estéreo y una cámara de múltiples vistas y un mapa de información de profundidad (o vista de profundidad) usando una cámara de información de profundidad. El emisor puede convertir una imagen 2D en una imagen 3D usando un dispositivo de transformación. El emisor puede generar un contenido de
imagen de N (> 2) vistas (es decir, múltiples vistas) usando la información de imagen generada y el mapa de información de profundidad. En este caso, el contenido de imagen de N vistas puede contener información de imagen de N vistas, su información de mapa de profundidad e información adicional relacionada con cámara. El contenido de imagen de N vistas puede ser comprimido por un codificador de imágenes 3D usando un esquema de codificación de imágenes de múltiples vistas, y el contenido de imagen comprimido (un flujo de bits) puede transmitirse a través de una red a un terminal del receptor.
[0083] El receptor puede descodificar el contenido de imagen recibido desde el emisor y puede proporcionar la imagen de múltiples vistas. Específicamente, un descodificador de imágenes (por ejemplo, un descodificador de imágenes 3D, un descodificador de imágenes estéreo o un descodificador de imágenes 2D) del receptor puede descodificar el flujo de bits recibido usando un esquema de descodificación de imágenes de múltiples vistas para restablecer el flujo de bits para dar la imagen de N vistas. En este caso, puede generar imágenes de vista virtual de N (o más) vistas usando la imagen de N vistas restablecida y un proceso de representación basada en imagen de profundidad (DIBR). Las imágenes de vista virtual de N (o más) vistas generadas son reproducidas por diversas visualizaciones 3D (por ejemplo, una visualización de N vistas, una visualización estéreo o una visualización 2D), proporcionando al usuario un efecto 3D.
[0085] La figura 2 es una vista que ilustra un ejemplo de una imagen de "globos" y un ejemplo de una imagen de mapa de información de profundidad.
[0087] La figura 2(a) ilustra una imagen de "globos" que se adopta en una norma de codificación de imágenes 3D de MPEG (de una organización de normalización internacional). La figura 2(b) ilustra una imagen de mapa de información de profundidad correspondiente a la imagen de "globos" mostrada en la figura 2(a). La imagen de mapa de información de profundidad es la obtenida representando información de profundidad mostrada en la pantalla en ocho bits por píxel.
[0089] El mapa de información de profundidad se usa para generar imágenes de vista virtual, y el mapa de información de profundidad es el que se obtiene representando la distancia entre una cámara y un objeto verdadero en el mundo real (información de profundidad correspondiente a cada píxel a la misma resolución que la textura) en un número predeterminado de bits. En este caso, el mapa de información de profundidad puede obtenerse usando la cámara de mapa de información de profundidad o usando una imagen común verdadera (textura).
[0091] El mapa de información de profundidad obtenido usando la cámara de mapa de información de profundidad ofrece información de profundidad altamente fiable principalmente para un objeto o escena en reposo, pero la cámara de mapa de información de profundidad opera solo dentro de una distancia predeterminada. En este caso, la cámara de mapa de información de profundidad puede utilizar un esquema de medición que usa un haz láser o luz estructurada o basándose en el tiempo de vuelo de la luz (TFL).
[0093] El mapa de información de profundidad puede generarse usando una imagen común verdadera (textura) y también un vector de disparidad. El vector de disparidad significa información que representa la diferencia de vista entre dos imágenes comunes. El vector de disparidad puede obtenerse comparando un píxel en la vista actual y píxeles en otras vistas para descubrir el más similar al píxel de vista actual y midiendo la distancia entre el píxel de vista actual y el píxel más similar.
[0095] La textura y su mapa de información de profundidad pueden ser una(s) imagen(es) obtenida(s) por una o más cámaras. Las imágenes obtenidas por varias cámaras pueden codificarse independientemente y pueden codificarse/descodificarse usando un códec de codificación/descodificación 2D típico. Las imágenes obtenidas por varias cámaras tienen una correlación entre sus vistas, y para una eficiencia de codificación más alta, pueden codificarse de este modo usando predicción entre las diferentes vistas.
[0097] La figura 3 es una vista que ilustra esquemáticamente una estructura en la que una imagen se divide tras la codificación y descodificación de la imagen.
[0099] Para una división eficiente, puede codificarse y descodificarse una imagen para cada unidad de codificación (CU). El término "unidad" se refiere a un bloque que incluye un elemento de sintaxis y muestras de imagen. Una "se divide unidad " puede significar que se divide un bloque correspondiente a la unidad.
[0101] Haciendo referencia a la figura 3, una imagen 300 se divide secuencialmente en las unidades de codificación más grandes (LCU), y se determina la estructura de división de cada LCU. Como se usa en el presente documento, "LCU" puede significar una unidad de árbol de codificación (CTU). La estructura dividida puede significar una distribución de unidades de codificación (CU) para codificar de forma eficiente la imagen en cada LCU 310, y tal distribución puede determinarse dependiendo de si dividir una CU en cuatro CU, reducido el tamaño de cada una por un factor de 1/2 del tamaño de la CU en cada una de las direcciones horizontal y vertical. De la misma forma, la CU dividida puede dividirse recursivamente en cuatro CU, el tamaño de cada una de las cuales se reduce a 1/2 de la misma en cada una de las direcciones horizontal y vertical.
[0102] En este caso, la división de una CU puede realizarse recursivamente a una profundidad predeterminada. La información de profundidad se refiere a información que indica el tamaño de una CU y puede almacenarse para cada CU. Por ejemplo, la profundidad de una LCU puede ser 0, y la profundidad de la unidad de codificación más pequeña (SCU) puede ser una profundidad más grande predeterminada. En el presente caso, la LCU es una unidad de codificación con el tamaño más grande como se ha mencionado anteriormente, y la SCU es una unidad de codificación con el tamaño más pequeño.
[0103] Siempre que una LCU 310 se divide por la mitad en cada una de las direcciones horizontal y vertical, la profundidad de la CU se aumenta en uno. Por ejemplo, si el tamaño de una CU es de 2N x 2N a una cierta profundidad L, la CU, si no se divide, tiene un tamaño de 2N x 2N, y si se divide, su tamaño se reduce a N x N. En este caso, la profundidad de la CU de tamaño N x N se vuelve L 1. En otras palabras, N, correspondiente al tamaño de la CU, se reduce a la mitad cada vez que la profundidad se aumenta en uno.
[0104] Haciendo referencia a la figura 3, el tamaño de una LCU con la profundidad más pequeña de 0 puede ser de 64 x 64 píxeles, y el tamaño de una SCU con la profundidad más pequeña de 3 puede ser de 8 x 8 píxeles. En este caso, la profundidad de una CU (LCU) con 64 x 64 píxeles puede representarse como 0, una CU con 32 x 32 píxeles<como 1, una CU con 16 x 16 píxeles como 2 y una>C<u (SCU) con 8 x 8 píxeles como 3.>
[0105] Además, la información en cuanto a si dividir una CU particular puede representarse a través de información de división de un bit de la CU. La información de división puede estar contenida en todas las CU que no sean unas SCU. Por ejemplo, si una CU no se divide, puede retenerse 0 en la información de división de la CU, y si se divide, puede retenerse 1 en la información de división de la CU.
[0106] La figura 4 ilustra unidades de predicción que pueden incluirse en una unidad de codificación (CU).
[0107] Entre las CU divididas a partir de una LCU, una CU que no se somete a ninguna división adicional puede dividirse o subdividirse en una o más unidades de predicción.
[0108] Una unidad de predicción (en lo sucesivo en el presente documento, "PU") es una unidad básica en la que se lleva a cabo una predicción. Una unidad de predicción se codifica y se descodifica en el modo de salto, el modo inter o el modo intra. Una unidad de predicción puede subdividirse de diversas formas dependiendo de los modos.
[0109] Haciendo referencia a la figura 4, el modo de salto puede soportar un modo de 2N x2N 410 que tiene el mismo tamaño que una CU sin dividir la CU.
[0110] El modo inter puede soportar ocho tipos subdivididos para una CU, por ejemplo, un modo de 2N x 2N 410, un modo de 2N x N 415, un modo de N x 2N 420, un modo de N x N 425, un modo de 2N x nU 430, un modo de 2N x nD 435, un modo de NL x 2N 440 y un modo de NR x 2N 445.
[0111] El modo intra puede soportar un modo de 2N x 2N 410 y un modo de N x N 425 para una CU.
[0112] La figura 5 ilustra un ejemplo de una estructura de predicción de inter vista en un códec de imagen 3D.
[0113] La predicción de inter vista para la vista 1 y la vista 2 puede llevarse a cabo usando la vista 0 como una imagen de referencia, y la vista 0 debería codificarse antes que la vista 1 y la vista 2.
[0114] En este caso, la vista 0 puede codificarse independientemente de otras vistas y, por lo tanto, la vista 0 se denomina vista independiente. En cambio, la vista 1 y la vista 2 que deberían usar la vista 0 como imagen de referencia se denominan vistas dependientes. Una imagen de vista independiente puede codificarse usando un códec de imagen 2D típico. Por el contrario, las imágenes de vista dependiente necesitan pasar por una predicción de inter vista y, por lo tanto, estas vistas pueden codificarse usando un códec de imagen 3D equipado con un proceso de predicción de inter vista.
[0115] Para una eficiencia codificada aumentada, la vista 1 y la vista 2 pueden codificarse usando un mapa de información de profundidad. Por ejemplo, una textura y un mapa de información de profundidad, cuando se codifican, pueden codificarse y/o descodificarse independientemente entre sí. O una textura y un mapa de información de profundidad, cuando se codifican, pueden codificarse y/o descodificarse de forma dependiente entre sí como se muestra en la figura 6.
[0116] La figura 6 ilustra un ejemplo de un proceso de codificación y/o descodificación de una imagen verdadera (vista de textura) y un mapa de información de profundidad (vista de profundidad) en un codificador y/o descodificador de imágenes 3D.
[0117] [0054] Haciendo referencia a la figura 6, el codificador de imágenes 3D puede incluir un codificador de textura (codificador de textura) para codificar una imagen verdadera (vista de textura) y un codificador de mapa de información de profundidad (codificador de profundidad) para codificar un mapa de información de profundidad (vista de
profundidad).
[0118] En este caso, el codificador de textura puede codificar la textura usando el mapa de información de profundidad codificado por el codificador de mapa de información de profundidad. En cambio, el codificador de mapa de información de profundidad puede codificar el mapa de información de profundidad usando la textura codificada por el codificador de textura.
[0119] El descodificador de imágenes 3D puede incluir un descodificador de imágenes verdaderas (descodificador de textura) para descodificar una textura y un descodificador de mapa de información de profundidad para descodificar un mapa de información de profundidad.
[0120] En este caso, el descodificador de textura puede descodificar la textura usando el mapa de información de profundidad descodificado por el descodificador de mapa de información de profundidad. En cambio, el descodificador de mapa de información de profundidad puede descodificar el mapa de información de profundidad usando la textura descodificada por el descodificador de textura.
[0121] La figura 7 es un diagrama de bloques que ilustra una configuración de un codificador de imágenes de acuerdo con una realización de la presente invención.
[0122] La figura 7 ilustra un codificador de imágenes de ejemplo aplicable a una estructura de múltiples vistas que puede implementarse extendiendo un codificador de imágenes estructurado con una única vista. En este caso, el codificador de imágenes de la figura 7 puede usarse en un codificador de textura y/o un codificador de mapa de información de profundidad como se muestra en la figura 6, y el codificador puede significar un dispositivo de codificación.
[0123] Haciendo referencia a la figura 7, el codificador de imágenes 700 incluye un módulo de inter predicción 710, un módulo de intra predicción 720, un conmutador 715, un restador 725, un módulo de transformada 730, un módulo de cuantificación 740, una unidad de codificación por entropía 750, un módulo de descuantificación 760, un módulo de transformada inversa 770, un sumador 775, un filtro 780 y una memoria intermedia de imágenes de referencia 790.
[0124] El codificador de imágenes 700 puede realizar una codificación en una imagen de entrada en el modo intra o el modo inter para emitir un flujo de bits.
[0125] Intra predicción significa predicción de intra imagen e inter predicción significa predicción de inter imagen o inter vista. En el modo intra, el conmutador 715 conmuta al modo intra, y en el modo inter, el conmutador 715 conmuta al modo inter.
[0126] El codificador de imágenes 700 puede generar un bloque de predicción para un bloque (bloque actual) de la imagen de entrada y entonces codificar un diferencial entre el bloque actual y el bloque de predicción.
[0127] En el modo intra, el módulo de intra predicción 720 puede usar como su píxel de referencia un valor de píxel de un bloque vecino ya codificado del bloque actual. El módulo de intra predicción 720 puede generar muestras de predicción para el bloque actual usando el píxel de referencia.
[0128] En el modo inter, el módulo de inter predicción 710 puede obtener un vector de movimiento que especifica un bloque de referencia correspondiente al bloque de entrada (bloque actual) en una imagen de referencia almacenada en la memoria intermedia de imágenes de referencia 790. El módulo de inter predicción 710 puede generar el bloque de predicción para el bloque actual realizando una compensación de movimiento usando la imagen de referencia almacenada en la memoria intermedia de imágenes de referencia 790 y el vector de movimiento.
[0129] En una estructura de múltiples vistas, una inter predicción que es aplicable a un modo inter puede incluir una predicción de inter vista. El módulo de inter predicción 710 puede configurar una imagen de referencia de inter vista muestreando una imagen de vista de referencia. El módulo de inter predicción 710 puede llevar a cabo una predicción de inter vista usando una lista de imágenes de referencia que incluye la imagen de referencia de inter vista. Una relación de referencia entre vistas puede señalizarse a través de información que especifica una dependencia de inter vista.
[0130] Por otro lado, en caso de que la imagen de vista actual y la imagen de vista de referencia tengan el mismo tamaño, un muestreo que es aplicable a la imagen de vista de referencia puede significar la generación de una muestra de referencia mediante copia de muestra o interpolación a partir de la imagen de vista de referencia. En caso de que la imagen de vista actual y la imagen de vista de referencia tengan diferentes tamaños, un muestreo que es aplicable a la imagen de vista de referencia puede significar un sobremuestreo o un submuestreo. Por ejemplo, en caso de que las vistas tengan diferentes resoluciones, una imagen restablecida de la vista de referencia puede sobremuestrearse para configurar una imagen de referencia de inter vista.
[0131] [0068] Qué imagen de vista va a usarse para configurar una imagen de referencia de inter vista puede determinarse
considerando, por ejemplo, los costes de codificación. El codificador puede enviar a un dispositivo de descodificación información que especifica una vista a la que pertenece una imagen que va a usarse como una imagen de referencia de inter vista.
[0133] Una imagen usada para predecir el bloque actual en una vista referenciada en una predicción de inter vista -es decir, una vista de referencia - puede ser la misma que una imagen de la misma unidad de acceso (AU) que la imagen actual (la imagen seleccionada como objetivo para la predicción en la vista actual).
[0135] El restador 725 puede generar un bloque residual (una señal residual) mediante un diferencial entre el bloque actual y el bloque de predicción.
[0137] El módulo de transformada 730 transforma el bloque residual en un coeficiente de transformada. En el modo de salto de transformada, el módulo de transformada 730 puede saltar la conversión del bloque residual.
[0139] El módulo de cuantificación 740 cuantifica el coeficiente de transformada para dar un coeficiente cuantificado de acuerdo con parámetros de cuantificación.
[0141] La unidad de codificación por entropía 750 codifica por entropía los valores obtenidos por el módulo de cuantificación 740 o los parámetros de codificación obtenidos en el curso de la codificación para dar un flujo de bits de acuerdo con una distribución de probabilidad. La unidad de codificación por entropía 750 también puede codificar por entropía información (por ejemplo, un elemento de sintaxis) para la descodificación de imágenes además de la información de píxeles de la imagen.
[0143] Los parámetros de codificación pueden incluir, como información necesaria para codificar y descodificar, información inferible en el curso de la codificación o descodificación, así como información tal como elemento de sintaxis codificado por el codificador y transferido al dispositivo de descodificación.
[0145] La señal residual puede significar una diferencia entre la señal original y la señal de predicción, una señal obtenida transformando la diferencia entre la señal original y la señal de predicción, o una señal obtenida transformando la diferencia entre la señal original y la señal de predicción y cuantificando la diferencia transformada. Desde una perspectiva de bloque, la señal residual puede indicarse como un bloque residual.
[0147] En caso de que sea aplicable la codificación por entropía, los símbolos pueden representarse de tal forma que a un símbolo con una probabilidad más alta de aparición se le asignan menos bits, mientras que a otro con una probabilidad más baja de aparición se le asignan más bits y, en consecuencia, puede reducirse el tamaño de un flujo de bits para los símbolos seleccionados como objetivo para la codificación. En este sentido, la codificación de imágenes puede tener una capacidad de compresión aumentada a través de la codificación por entropía.
[0149] La codificación por entropía puede emplear un esquema de codificación tal como Golomb exponencial, codificación de longitud variable adaptativa al contexto (CAVLC) o codificación aritmética binaria adaptativa al contexto (CABAC). Por ejemplo, la unidad de codificación por entropía 750 puede realizar una codificación por entropía usando una tabla de codificación/código de longitud variable (VLC). La unidad de codificación por entropía 750 puede derivar un método de binarización y un símbolo objetivo y un modelo de probabilidad del símbolo/binario objetivo y puede realizar una codificación por entropía usando el método de binarización derivado y un modelo de probabilidad.
[0151] El coeficiente cuantificado puede ser cuantificado inversamente por el módulo de descuantificación 760 y puede ser transformado inversamente por el módulo de transformada inversa 770. El coeficiente cuantificado inversamente y transformado inversamente es sumado al bloque de predicción por el sumador 775, produciendo de este modo un bloque restablecido.
[0153] El bloque restablecido pasa a través del filtro 780. El filtro 780 puede aplicar al menos uno o más de un filtro de desbloqueo, un desplazamiento adaptativo de muestra (SAO) y un filtro de lazo adaptativo (ALF) al bloque restablecido o la imagen restablecida. El bloque restablecido, después de haber pasado a través del filtro 780, puede almacenarse en la memoria intermedia de imágenes de referencia 790.
[0155] La figura 8 es un diagrama de bloques que ilustra una configuración de un descodificador de imágenes de acuerdo con una realización de la presente invención.
[0157] La figura 8 ilustra un descodificador de imágenes de ejemplo aplicable a una estructura de múltiples vistas que puede implementarse extendiendo un descodificador de imágenes estructurado con una única vista.
[0159] En este caso, el descodificador de imágenes de la figura 8 puede usarse en un descodificador de textura y/o un descodificador de mapa de información de profundidad como se muestra en la figura 6. Para facilitar la descripción, como se usan en el presente documento, pueden usarse de forma intercambiable los términos "descifrar" y "descodificar", o pueden usarse de forma intercambiable la expresión "dispositivo de descodificación" y el término "descodificador".
[0160] Haciendo referencia a la figura 8, el descodificador de imágenes 800 incluye una unidad de descodificación por entropía 810, un módulo de descuantificación 820, un módulo de transformada inversa 830, un módulo de intra predicción 840, un módulo de inter predicción 850, un filtro 860 y una memoria intermedia de imágenes de referencia 870.
[0162] El descodificador de imágenes 800 puede recibir el flujo de bits desde el codificador, descodificar el flujo de bits en el modo intra o el modo inter, y emitir una imagen reconstruida, es decir, una imagen reconstruida.
[0164] En el modo intra, el conmutador puede conmutar a una intra predicción, y en el modo inter, el conmutador puede conmutar a una inter predicción.
[0166] El descodificador de imágenes 800 puede obtener un bloque residual restablecido a partir del flujo de bits recibido, generar un bloque de predicción y añadir el bloque residual restablecido y el bloque de predicción para generar un bloque reconstruido, es decir, un bloque restablecido.
[0168] La unidad de descodificación por entropía 810 puede descodificar por entropía el flujo de bits recibido de acuerdo con una distribución de probabilidad para dar información tal como un coeficiente cuantificado y un elemento de sintaxis.
[0170] El coeficiente cuantificado es cuantificado inversamente por el módulo de descuantificación 820 y es transformado inversamente por el módulo de transformada inversa 830. El coeficiente cuantificado puede cuantificarse inversamente/transformarse inversamente para dar un bloque residual restablecido.
[0172] En el modo intra, el módulo de intra predicción 840 puede generar un bloque de predicción para el bloque actual usando un valor de píxel de un bloque vecino ya codificado del bloque actual.
[0174] En el modo inter, el módulo de inter predicción 850 puede generar el bloque de predicción para el bloque actual realizando una compensación de movimiento usando la imagen de referencia almacenada en la memoria intermedia de imágenes de referencia 870 y el vector de movimiento.
[0176] En una estructura de múltiples vistas, una inter predicción que es aplicable a un modo inter puede incluir una predicción de inter vista. El módulo de inter predicción 850 puede configurar una imagen de referencia de inter vista muestreando una imagen de vista de referencia. El módulo de inter predicción 850 puede llevar a cabo una predicción de inter vista usando una lista de imágenes de referencia que incluye la imagen de referencia de inter vista. Una relación de referencia entre vistas puede señalizarse a través de información que especifica una dependencia de inter vista.
[0178] Por otro lado, en caso de que la imagen de vista actual (la imagen actual) y la imagen de vista de referencia tengan el mismo tamaño, un muestreo que es aplicable a la imagen de vista de referencia puede significar la generación de una muestra de referencia mediante copia de muestra o interpolación a partir de la imagen de vista de referencia. En caso de que la imagen de vista actual y la imagen de vista de referencia tengan diferentes tamaños, un muestreo que es aplicable a la imagen de vista de referencia puede significar un sobremuestreo o un submuestreo.
[0180] Por ejemplo, en caso de que la predicción de inter vista sea aplicable a vistas con diferentes resoluciones, una imagen restablecida de la vista de referencia puede sobremuestrearse para configurar una imagen de referencia de inter vista.
[0182] En este caso, la información que especifica una vista a la que pertenece una imagen que va a usarse como una imagen de referencia de inter vista puede transmitirse desde el codificador al descodificador.
[0184] Una imagen usada para predecir el bloque actual en una vista referenciada en una predicción de inter vista -es decir, una vista de referencia - puede ser la misma que una imagen de la misma unidad de acceso (AU) que la imagen actual (la imagen seleccionada como objetivo para la predicción en la vista actual).
[0186] El bloque residual restablecido y el bloque de predicción son sumados por el sumador 855 para dar un bloque restablecido. En otras palabras, la muestra residual y la muestra de predicción se suman entre sí para dar una muestra restablecida o imagen restablecida.
[0188] La imagen restablecida es filtrada por el filtro 860. El filtro 860 puede aplicar al menos uno o más de un filtro de desbloqueo, un SAO y un ALF al bloque restablecido o la imagen restablecida. El filtro 860 emite una imagen restablecida reconstruida (modificada) o filtrada (una imagen reconstruida). La imagen reconstruida se almacena en la memoria intermedia de imágenes de referencia 870 para su uso en una inter predicción.
[0190] [0098] Aunque en la realización descrita en relación con las figuras 7 y 8, los módulos realizan sus funciones respectivas de forma diferente entre sí, la presente invención no se limita a ello. Por ejemplo, un módulo puede realizar
dos o más funciones. Por ejemplo, las operaciones respectivas del módulo de intra predicción y los módulos de inter predicción como se muestra en las figuras 7 y 8 puede ser llevadas a cabo por un módulo (una unidad de predicción).
[0192] Por otro lado, como se ha descrito anteriormente en relación con las figuras 7 y 8, un codificador/descodificador realiza una codificación/descodificación sobre la totalidad de las múltiples vistas. Sin embargo, esto es meramente para facilitar la descripción, y pueden configurarse codificadores/descodificadores separados para las múltiples vistas, respectivamente.
[0194] En tal caso, el codificador/descodificador para la vista actual puede realizar una codificación/descodificación en la vista actual usando información con respecto a otra vista. Por ejemplo, la unidad de predicción (el módulo de inter predicción) para la vista actual puede realizar una intra predicción o una inter predicción sobre el bloque actual usando la información de píxeles o la información de imagen restablecida de otra vista.
[0196] Aunque en el presente documento se describe la predicción de inter vista, una capa actual puede codificarse/descodificarse usando información en otra vista independientemente de si se configura un codificador/descodificador para cada vista o un dispositivo procesa múltiples vistas.
[0198] La descripción de vistas de acuerdo con la presente invención puede ser aplicable de forma similar a capas que soportan el ajuste a escala. Por ejemplo, la vista como se describe en el presente documento puede ser una capa.
[0200] La figura 9 es una vista que ilustra una estructura de predicción ilustrativa para un códec de imagen 3D. Para facilitar la descripción, la figura 9 ilustra una estructura de predicción para codificar texturas obtenidas por tres cámaras y mapas de información de profundidad correspondientes respectivamente a las texturas.
[0202] Como se muestra en la figura 9, las tres texturas obtenidas respectivamente a partir de las tres cámaras se indican como T0, T1 y T2 de acuerdo con las vistas, y los tres mapas de información de profundidad correspondientes respectivamente a las tres texturas se indican como D0, D1 y D2 de acuerdo con las vistas. En el presente caso, T0 y D0 son imágenes obtenidas en la vista 0, T1 y D1 lo son en la vista 1, y T2 y D2 lo son en la vista 2. En este caso, los cuadrados mostrados en la figura 9 son imágenes (instantáneas).
[0204] Las imágenes (instantáneas) se clasifican en imágenes I (intra imágenes), imágenes P (imágenes de unipredicción) e imágenes B (imágenes de bi-predicción) dependiendo de los tipos de codificación/descodificación, y cada imagen puede codificarse/descodificarse dependiendo de su tipo de codificación/descodificación. Para las imágenes I, las propias imágenes se codifican sin pasar a través de una inter predicción. Para las imágenes P, solo imágenes de referencia presentes unidireccionalmente pueden someterse a una inter predicción, y para las imágenes B, imágenes de referencia presentes bidireccionalmente pueden someterse a una inter predicción. En este caso, las flechas mostradas en la figura 9 indican direcciones de predicción. En otras palabras, una textura y su mapa de información de profundidad pueden codificarse/descodificarse de forma codependiente dependiendo de direcciones de predicción.
[0206] Se necesita información de movimiento en el bloque actual para codificar/descodificar una imagen a través de una inter predicción. Para inferir la información de movimiento en el bloque actual, puede ser de provecho lo siguiente: un método que usa información de movimiento en un bloque adyacente al bloque actual, un método que usa una correlación temporal dentro del mismo tiempo, y un método que usa una correlación de inter vista en un tiempo vecino. Los métodos de inter predicción descritos anteriormente pueden usarse en combinación para una imagen. En el presente caso, el bloque actual se refiere a un bloque en donde se realiza una predicción. La información de movimiento puede significar un vector de movimiento, un número de imagen de referencia y/o una dirección de predicción (por ejemplo, si es una predicción unidireccional o una predicción bidireccional, si usa una correlación temporal o si se usa una correlación de inter vista, etc.).
[0208] En este caso, la dirección de predicción puede clasificarse habitualmente en predicción unidireccional o predicción bidireccional dependiendo de si se usa, o no, una lista de imágenes de referencia (RefPicList). La predicción bidireccional se clasifica en predicción hacia delante (Pred_L0: Predicción L0) usando una lista de imágenes de referencia hacia delante (LIST 0, L0) y predicción hacia atrás (Pred_L1: Predicción L1) usando una lista de imágenes de referencia hacia atrás (la LISTA 1, L1). Además, la predicción bidireccional Pred_BI: Predicción BI) usando tanto la lista de imágenes de referencia hacia delante (la LISTA 0) como la lista de imágenes de referencia hacia atrás (la LISTA 1) puede indicar que hay tanto predicción hacia delante como predicción hacia atrás. Incluso el caso en el que la lista de imágenes de referencia hacia delante (la LISTA 0) se copia a la lista de imágenes de referencia hacia atrás (la LISTA 1) de tal modo que están presentes dos procesos de predicción hacia delante puede pertenecer también a la categoría de predicción bidireccional.
[0210] [0108] Una dirección de predicción puede definirse usando predFlagL0 y predFlagL1. En este caso, predFlagL0 es un indicador que indica si se usa la lista de imágenes de referencia hacia delante (la Lista 0), y predFlag1 es un indicador que indica si se usa la lista de imágenes de referencia hacia atrás (la Lista 1). Por ejemplo, en el caso de predicción unidireccional y predicción hacia delante, predFlagL0 puede ser '1', y predFlagL1 puede ser '0'; en el caso de predicción unidireccional y predicción hacia atrás, predFlagL0 '0' y predFlagL1 '1'; y en el caso de predicción
bidireccional, predFlagLO '1' y predFlagLI '1'.
[0212] La figura 10 ilustra un ejemplo en el que se usan bloques vecinos para configurar una lista de candidatos de fusión para un bloque actual.
[0214] El modo de fusión es un método para realizar una inter predicción. El modo de fusión puede emplear información de movimiento en bloques vecinos de un bloque actual como información de movimiento en el bloque actual (por ejemplo, al menos uno de un vector de movimiento, una lista de imágenes de referencia y un índice de imágenes de referencia). En este caso, el uso de la información de movimiento en los bloques vecinos como información de movimiento en el bloque actual se denomina fusión, fusión de movimiento o movimiento de fusión.
[0216] En el modo de fusión, son posibles un movimiento de fusión por unidad de codificación (CU) y un movimiento de fusión por unidad de predicción (PU).
[0218] El caso en el que el movimiento de fusión se hace de una forma por bloque (por ejemplo, CU o PU) (para facilitar la descripción, en lo sucesivo en el presente documento "bloque") requiere información con respecto a si el movimiento de fusión se realiza de una forma por subdivisión de bloque e información con respecto a con cuál de los bloques vecinos del bloque actual se hace el movimiento de fusión.
[0220] Una lista de candidatos de fusión puede configurarse para realizar un movimiento de fusión.
[0222] La lista de candidatos de fusión se refiere a una lista de fragmentos de información de movimiento, y esto puede generarse antes de que se realice el modo de fusión. En el presente caso, la información de movimiento de la lista de candidatos de fusión puede ser información de movimiento en los bloques vecinos del bloque actual o información de movimiento recién creada combinando los fragmentos de información de movimiento ya presentes en la lista de candidatos de fusión. La información de movimiento en los bloques vecinos (por ejemplo, un vector de movimiento y/o índice de imagen de referencia) puede ser información de movimiento especificada por los bloques vecinos o información de movimiento almacenada en los bloques vecinos (o usada para descodificar los bloques vecinos).
[0224] En este caso, los bloques vecinos, como se muestra en la figura 10, pueden incluir los bloques vecinos A, B, C, D y E situados adyacentes espacialmente al bloque actual y un bloque candidato coubicado H o M correspondiente temporalmente al bloque actual. El bloque candidato coubicado se refiere a un bloque ubicado en una posición correspondiente en una imagen coubicada correspondiente temporalmente a la imagen actual que incluye el bloque actual. Si el bloque H está disponible en la imagen coubicada, el bloque H puede determinarse como el bloque candidato coubicado, y si no está disponible, el bloque M en la imagen coubicada puede determinarse como el bloque candidato coubicado.
[0226] Tras configurar la lista de candidatos de fusión, se determina si la información de movimiento en los bloques vecinos (A, B, C, D y E) y el bloque candidato coubicado (H o M) puede usarse como candidato de fusión para configurar la lista de candidatos de fusión del bloque actual. En otras palabras, información de movimiento en bloques disponibles para inter predicción del bloque actual puede añadirse a la lista de candidatos de fusión como candidatos de fusión.
[0228] Por ejemplo, como un método para configurar una lista de candidatos de fusión para un bloque X, 1) en caso de que esté disponible un bloque vecino A, el bloque vecino A se añade a la lista de candidatos de fusión. 2) posteriormente, solo cuando la información de movimiento en el bloque vecino B no es la misma que la información de movimiento en el bloque vecino A, el bloque vecino B se añade a la lista de candidatos de fusión. 3) de la misma forma, solo cuando la información de movimiento en el bloque vecino C difiere de la información de movimiento en el bloque vecino B, el bloque vecino C se añade a la lista de candidatos de fusión, y 4) solo cuando la información de movimiento en el bloque vecino D difiere de la información de movimiento en el bloque vecino C, el bloque vecino D se añade a la lista de candidatos de fusión. Además, 5) solo cuando la información de movimiento en el bloque vecino E es diferente de la información de movimiento en el bloque vecino D, el bloque vecino E puede añadirse a la lista de candidatos de fusión, y 6) por último, el bloque vecino H (o M) se añade a la lista de candidatos de fusión. En suma, los bloques vecinos pueden añadirse a la lista de candidatos de fusión en el orden de A ^ B ^ C ^ D ^ E ^ H (o M). En el presente caso, la misma información de movimiento puede significar usar el mismo vector de movimiento, la misma imagen de referencia y la misma dirección de predicción (unidireccional o bidireccional).
[0230] Las locuciones "añadir un bloque vecino a una lista de candidatos de fusión como candidato de fusión" y "añadir información de movimiento a una lista de candidatos de fusión como candidato de fusión" se entremezclan en el presente documento para facilitar la descripción, aunque las dos frases tienen sustancialmente el mismo significado. Por ejemplo, un bloque vecino como candidato de fusión puede significar información de movimiento en el bloque.
[0232] La figura 11 es una vista que ilustra un proceso ilustrativo de derivación de información de movimiento en un bloque actual usando información de movimiento en una vista vecina.
[0233] En relación con la figura 11, se usa solo una vista para derivar la información de movimiento en el bloque actual meramente para facilitar la descripción. Sin embargo, puede haber dos o más vistas vecinas.
[0235] Haciendo referencia a la figura 11, un sistema de vídeo 3D puede usar información de movimiento en una vista vecina para codificar/descodificar información de movimiento de forma eficiente. Específicamente, el bloque actual mostrado en la figura 11 (el bloque en la ubicación actual X) busca un bloque objetivo (la ubicación de referencia X<r>) ubicado en una vista vecina para derivar la información de movimiento en el bloque actual. En este caso, el bloque objetivo en la vista vecina significa un bloque correspondiente al bloque actual. Debido a que en la posición de las cámaras se encuentra solo una diferencia en la imagen actual entre la vista actual y la vista de referencia, el bloque objetivo en la vista vecina puede derivarse del vector de disparidad (DV) como se ha descrito anteriormente.
[0237] La figura 12 es una vista que ilustra un ejemplo en el que una unidad de predicción (PU) se divide en varias subunidades de predicción.
[0239] En el ejemplo ilustrado en la figura 12, una unidad de predicción con un tamaño de 64x64 se divide en subunidades de predicción cada una con un tamaño de 8 x 8. Para facilitar la descripción en relación con la figura 12, el tamaño de la unidad de predicción es de 64 x 64, pero sin limitarse a ello, el tamaño puede ser de 32 x 32, 16 x 16, 8 x 8 o 4 x 4. En un sistema de vídeo 3D, una unidad de predicción puede dividirse en un número de subunidades de predicción. En este caso, la derivación de información de movimiento usando un vector de disparidad se lleva a cabo de una forma por subunidad de predicción. La subunidad de predicción puede tener un tamaño predeterminado (por ejemplo, 4 x 4 , 8 x 8 o 16x 16), y el tamaño de la subunidad de predicción puede designarse tras la codificación. Puede incluirse información acerca del tamaño de la subunidad de predicción y esta puede señalizarse en una sintaxis de extensión de conjunto de parámetros de imagen (VPS).
[0241] La figura 13 es una vista que ilustra un proceso ilustrativo de derivación de información de movimiento en un bloque actual usando un bloque de referencia.
[0243] El proceso de derivar información de movimiento en un bloque actual significa establecer la información de movimiento presente en el bloque de referencia con la información de movimiento en el bloque actual. Sin embargo, un sistema de vídeo 3D puede derivar información de movimiento de una forma por subunidad de predicción para el bloque actual X situado en la imagen actual en la vista actual para codificar/descodificar información de movimiento de forma eficiente.
[0245] En otras palabras, el sistema de vídeo 3D puede establecer la información de movimiento presente en la subunidad de predicción del bloque de referencia X<r>a la información de movimiento en la subunidad de predicción del bloque actual X. En este caso, el bloque de referencia X<r>puede significar un bloque de referencia X<r>situado en la imagen actual en la vista de referencia. Un proceso específico de derivación de información de movimiento se describe a continuación.
[0247] La figura 14 es una vista que ilustra un bloque de referencia ilustrativo usado para derivar información de movimiento en un bloque actual.
[0249] Haciendo referencia a la figura 14, el bloque de referencia puede significar una PU, y un bloque de referencia puede incluir un total de 16 subunidades de predicción. En este caso, la información de movimiento en cada subunidad de predicción en el bloque actual puede derivarse a partir de la información de movimiento presente en las subunidades de predicción del bloque de referencia.
[0251] Se describe ahora un método para derivar información de movimiento en subunidades de predicción de un bloque actual usando un bloque de referencia con referencia a las figuras 15a a 15e y las figuras 16a a 16g.
[0253] Las figuras 15a a 15e son vistas que ilustran esquemáticamente un proceso ilustrativo de derivación de información de movimiento usando información de movimiento almacenada en un espacio de almacenamiento. En este caso, el bloque de referencia usado en las figuras 15a a 15e puede ser un bloque de referencia como se muestra en la figura 14.
[0255] [0131] Cuando la subunidad de predicción del bloque actual trae el mi en las subunidades de predicción del bloque de referencia, ninguna de las subunidades de predicción del bloque de referencia tiene información de movimiento. En otras palabras, podría haber algunas subunidades de predicción del bloque de referencia a partir de las cuales no puede recobrarse información de movimiento. En consecuencia, en caso de que haya subunidades de predicción de las que no se pueda obtener información de movimiento, el mi en una subunidad de predicción previa o posterior de la subunidad de predicción actualmente referenciada puede ponerse en uso para compensar el fallo al derivar información de movimiento a partir de la subunidad de predicción del bloque actual. Por ejemplo, la información de movimiento en una subunidad de predicción disponible en el bloque de referencia puede almacenarse previamente en preparación para el caso en el que haya alguna otra subunidad de predicción del bloque de referencia a partir de la cual no se pueda derivar la información de movimiento, de tal modo que la información de movimiento almacenada previamente puede insertarse en la subunidad de predicción del bloque actual para derivar la información de
movimiento en el bloque actual.
[0257] Para un mejor entendimiento del método descrito anteriormente, cada etapa de un método ilustrativo para derivar información de movimiento en una subunidad de predicción de un bloque actual cuando una primera subunidad de predicción de un bloque de referencia tiene su información de movimiento mientras una segunda subunidad de predicción, o la posterior a la misma, del bloque de referencia puede no describirse a continuación con referencia a los dibujos.
[0259] La figura 15a es una vista que ilustra el estado inicial de subunidades de predicción de un bloque actual y un espacio de almacenamiento.
[0261] Haciendo referencia a la figura 15a, Ref indica un bloque de referencia, y Ref 0, 1, 2 y 3 indican, respectivamente, unas subunidades de predicción en el bloque de referencia. Es decir, Ref 0 significa la subunidad de predicción 0 del bloque de referencia (una primera subunidad de predicción del bloque de referencia), Ref 1 significa la subunidad de predicción 1 del bloque de referencia (una segunda subunidad de predicción del bloque de referencia), Ref 2 significa la subunidad de predicción 2 del bloque de referencia (una tercera subunidad de predicción del bloque de referencia) y Ref 3 significa la subunidad de predicción 3 del bloque de referencia (una cuarta subunidad de predicción del bloque de referencia). Cur indica el bloque actual, y Cur 0, 1, 2 y 3 indican, respectivamente, unas subunidades de predicción en el bloque actual. Es decir, Cur 0 significa la subunidad de predicción 0 del bloque actual (una primera subunidad de predicción del bloque actual), Cur 1 significa la subunidad de predicción 1 del bloque actual (una segunda subunidad de predicción del bloque actual), Cur 2 significa la subunidad de predicción 2 del bloque actual (una tercera subunidad de predicción del bloque actual) y Cur 3 significa la subunidad de predicción 3 (una cuarta subunidad de predicción del bloque actual).
[0263] En este caso, la 'X' marcada en la Ref. 2 de la figura 15a indica información de movimiento que es imposible de derivar usando la subunidad de predicción 2 del bloque de referencia.
[0265] La figura 15b muestra una primera etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0267] Haciendo referencia a la figura 15b, se deriva información de movimiento a partir de la subunidad de predicción 0 del bloque de referencia para la subunidad de predicción 0 del bloque actual. En este caso, debido a que puede derivarse información de movimiento a partir de la subunidad de predicción 0 del bloque de referencia, la información de movimiento en la subunidad de predicción 0 del bloque de referencia se almacena en el espacio de almacenamiento. En este caso, la información de movimiento almacenada en el espacio de almacenamiento puede definirse como información de movimiento 0, que se usa cuando no puede derivarse información de movimiento a partir de algunas otras subunidades de predicción del bloque de referencia.
[0269] La figura 15c muestra una segunda etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0271] Haciendo referencia a la figura 15c, se deriva información de movimiento a partir de la subunidad de predicción 1 del bloque de referencia para la subunidad de predicción 1 del bloque actual. En este caso, debido a que puede derivarse información de movimiento a partir de la subunidad de predicción 1 del bloque de referencia, la información de movimiento en la subunidad de predicción 1 del bloque de referencia se almacena en el espacio de almacenamiento. En este caso, la información de movimiento almacenada en la subunidad de predicción 1 puede definirse como información de movimiento 1, y la información de movimiento 1 puede almacenarse en el espacio de almacenamiento en lugar de la información de movimiento 0. La información de movimiento 1 puede usarse cuando no puede derivarse información de movimiento a partir de alguna otra subunidad de predicción del bloque de referencia.
[0273] La figura 15d muestra una tercera etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0275] Haciendo referencia a la figura 15d, se hace un intento para derivar información de movimiento a partir de la subunidad de predicción 2 del bloque de referencia para la subunidad de predicción 2 del bloque actual. Sin embargo, debido a que no puede derivarse ninguna información de movimiento a partir de la subunidad de predicción 2 del bloque de referencia, la información de movimiento en la subunidad de predicción 2 del bloque actual se deriva a partir de la información de movimiento almacenada en el espacio de almacenamiento. En este caso, la información de movimiento almacenada en el espacio de almacenamiento puede ser la información de movimiento 1.
[0277] La figura 15e muestra una cuarta etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0279] [0143] Haciendo referencia a la figura 15e, se deriva información de movimiento a partir de la subunidad de predicción 3 del bloque de referencia para la subunidad de predicción 3 del bloque actual. En este caso, debido a que
puede derivarse información de movimiento a partir de la subunidad de predicción 3 del bloque de referencia, la información de movimiento en la subunidad de predicción 3 del bloque de referencia se almacena en el espacio de almacenamiento. En este caso, la información de movimiento almacenada en la subunidad de predicción 3 puede definirse como información de movimiento 3, y la información de movimiento 3 puede almacenarse en el espacio de almacenamiento en lugar de la información de movimiento 1. La información de movimiento 3 puede usarse cuando no puede derivarse información de movimiento a partir de alguna otra subunidad de predicción del bloque de referencia.
[0281] Las figuras 16a a 16g son vistas que ilustran esquemáticamente otro proceso ilustrativo de derivación de información de movimiento usando información de movimiento almacenada en un espacio de almacenamiento.
[0283] Las figuras 16a a 16g ilustran un proceso ilustrativo de derivación de información de movimiento en el caso en el que llega una subunidad de predicción del bloque de referencia a partir de la cual no puede derivarse información de movimiento, seguida de otra subunidad de predicción del bloque de referencia a partir de la cual puede derivarse información de movimiento.
[0285] La figura 16a es una vista que ilustra el estado inicial de subunidades de predicción de un bloque actual y un espacio de almacenamiento.
[0287] Haciendo referencia a la figura 16a, Ref indica un bloque de referencia, y Ref 0, 1, 2 y 3 indican, respectivamente, unas subunidades de predicción en el bloque de referencia. Es decir, Ref 0 significa la subunidad de predicción 0 del bloque de referencia, Ref 1 significa la subunidad de predicción 1 del bloque de referencia, Ref 2 significa la subunidad de predicción 2 del bloque de referencia y Ref 3 significa la subunidad de predicción 3 del bloque de referencia. Cur indica el bloque actual, y Cur 0, 1, 2 y 3 indican, respectivamente, unas subunidades de predicción en el bloque actual. Es decir, Cur 0 significa la subunidad de predicción 0 del bloque actual, Cur 1 significa la subunidad de predicción 1 del bloque actual, Cur 2 significa la subunidad de predicción 2 del bloque actual y Cur 3 significa la subunidad de predicción 3 del bloque actual. En este caso, la 'X' marcada en la Ref. 0 de la figura 16a indica información de movimiento que es imposible de derivar usando la subunidad de predicción 0 del bloque de referencia y la subunidad de predicción 1 del bloque de referencia.
[0289] La figura 16b muestra una primera etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0291] Haciendo referencia a la figura 16b, se hace un intento para derivar información de movimiento a partir de la subunidad de predicción 0 del bloque de referencia para la subunidad de predicción 0 del bloque actual. Sin embargo, como se ha descrito anteriormente, no puede derivarse ninguna información de movimiento a partir de la subunidad de predicción 0 del bloque de referencia, ni hay información de movimiento almacenada en el espacio de almacenamiento. En consecuencia, se realiza una segunda etapa.
[0293] La figura 16c muestra una segunda etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0295] Haciendo referencia a la figura 16c, se hace un intento para derivar información de movimiento a partir de la subunidad de predicción 1 del bloque de referencia para la subunidad de predicción 1 del bloque actual. Sin embargo, como se ha descrito anteriormente, no puede derivarse ninguna información de movimiento a partir de la subunidad de predicción 1 del bloque de referencia, ni hay información de movimiento almacenada en el espacio de almacenamiento. En consecuencia, se realiza una tercera etapa.
[0297] La figura 16d muestra una tercera etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0299] Haciendo referencia a la figura 16d, se deriva información de movimiento a partir de la subunidad de predicción 2 del bloque de referencia para la subunidad de predicción 2 del bloque actual. En este caso, debido a que puede derivarse información de movimiento a partir de la subunidad de predicción 2 del bloque de referencia, la información de movimiento en la subunidad de predicción 2 del bloque de referencia se almacena en el espacio de almacenamiento. En este caso, la información de movimiento almacenada en el espacio de almacenamiento puede definirse como información de movimiento 2, que se usa cuando no puede derivarse información de movimiento a partir de algunas otras subunidades de predicción del bloque de referencia.
[0301] La figura 16e muestra una cuarta etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0303] Haciendo referencia a la figura 16e, se deriva información de movimiento usando la información de movimiento 2 almacenada en el espacio de almacenamiento para la subunidad de predicción 0 del bloque actual.
[0305] [0156] La figura 16f muestra una quinta etapa de derivación de información de movimiento a partir de una subunidad
de predicción del bloque de referencia.
[0307] Haciendo referencia a la figura 16f, se deriva información de movimiento usando la información de movimiento 2 almacenada en el espacio de almacenamiento para la subunidad de predicción 1 del bloque actual.
[0309] La figura 16g muestra una sexta etapa de derivación de información de movimiento a partir de una subunidad de predicción del bloque de referencia.
[0311] Haciendo referencia a la figura 16g, se deriva información de movimiento a partir de la subunidad de predicción 3 del bloque de referencia para la subunidad de predicción 3 del bloque actual. En este caso, debido a que puede derivarse información de movimiento a partir de la subunidad de predicción 3 del bloque de referencia, la información de movimiento en la subunidad de predicción 3 del bloque de referencia se almacena en el espacio de almacenamiento. En este caso, la información de movimiento almacenada en la subunidad de predicción 3 puede definirse como información de movimiento 3, y la información de movimiento 3 puede almacenarse en el espacio de almacenamiento en lugar de la información de movimiento 2. La información de movimiento 3 puede usarse cuando no puede derivarse información de movimiento a partir de alguna otra subunidad de predicción del bloque de referencia.
[0313] La figura 17 es un diagrama de flujo que ilustra un método para derivar información de movimiento en una subunidad de predicción de un bloque actual usando una subunidad de predicción de un bloque de referencia, de acuerdo con una realización de la presente invención. Cada operación en el proceso de la figura 17 puede ser realizada por un codificador y/o un descodificador o un módulo de inter predicción en el codificador y/o descodificador, por ejemplo, el módulo de intra predicción 720 de la figura 7 o el módulo de inter predicción 850 de la figura 8.
[0315] Un proceso cuando una subunidad de predicción de un bloque de referencia tiene su información de movimiento se describe en primer lugar con referencia a la figura 17. El módulo de inter predicción determina si la subunidad de predicción del bloque de referencia tiene información de movimiento (S1700).
[0317] El módulo de inter predicción, si la subunidad de predicción del bloque de referencia tiene información de movimiento, inserta la información de movimiento presente en la subunidad de predicción del bloque de referencia en una subunidad de predicción de un bloque actual que se selecciona como objetivo para derivar información de movimiento (S1710).
[0319] Posteriormente, el módulo de inter predicción determina si el espacio de almacenamiento almacena información de movimiento (S1720). Si el espacio de almacenamiento almacena información de movimiento, se realiza la etapa S1750. En este caso, el espacio de almacenamiento se ha descrito anteriormente con detalle, y lo mismo se ha hecho con la información de movimiento.
[0321] A menos que el espacio de almacenamiento almacene información de movimiento, el módulo de inter predicción determina si la subunidad de predicción del bloque actual, que se selecciona como objetivo para derivar información de movimiento, es la primera subunidad de predicción del bloque actual (S1730). Si la subunidad de predicción del bloque actual seleccionado como objetivo para derivar información de movimiento es la primera subunidad de predicción del bloque actual, el módulo de inter predicción realiza la etapa S1750.
[0323] En la etapa S1730, a menos que la subunidad de predicción del bloque actual sea la primera subunidad de predicción, el módulo de inter predicción inserta la información de movimiento presente en la subunidad de predicción del bloque de referencia en la(s) subunidad(es) de predicción del bloque actual que está(n) situada(s) por delante de la primera subunidad de predicción del bloque actual. Por ejemplo, si la subunidad de predicción del bloque actual, que se selecciona como objetivo para derivar información de movimiento, es la tercera subunidad de predicción, el módulo de inter predicción inserta la información de movimiento en la subunidad de predicción del bloque de referencia en la primera y la segunda subunidades de predicción del bloque actual.
[0325] El módulo de inter predicción almacena (y actualiza la información existente en el espacio de almacenamiento con) la información de movimiento en la subunidad de predicción del bloque de referencia en el espacio de almacenamiento (S1750). En este caso, se ha dado anteriormente una descripción específica del almacenamiento y la actualización de información de movimiento.
[0327] El módulo de inter predicción determina si la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento es la última subunidad de predicción del bloque de referencia (S1790). Si la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento es la última subunidad de predicción del bloque de referencia, el módulo de inter predicción termina el proceso de derivación de información de movimiento. A menos que la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento sea la última subunidad de predicción del bloque de referencia, el módulo de inter predicción va a una siguiente subunidad de predicción del bloque de referencia para el procesamiento (S1780). Posteriormente, el módulo de inter predicción repite las etapas<s>1700 a S1790.
[0328] Si ninguna subunidad de predicción del bloque de referencia tiene información de movimiento, se pasa al siguiente proceso.
[0330] El módulo de inter predicción determina si una subunidad de predicción del bloque de referencia tiene información de movimiento (S1700).
[0332] Si la subunidad de predicción del bloque de referencia no tiene información de movimiento, el módulo de inter predicción determina si el espacio de almacenamiento retiene información de movimiento (S1770). A menos que el espacio de almacenamiento retenga información de movimiento, el módulo de inter predicción realiza la etapa S1790.
[0334] En caso de que el espacio de almacenamiento retenga información de movimiento, el módulo de inter predicción inserta la información de movimiento almacenada en el espacio de almacenamiento en la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento (S1750).
[0336] Después de realizar las etapas anteriores, el módulo de inter predicción determina si la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento es la última subunidad de predicción del bloque de referencia (S1790). Si la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento es la última subunidad de predicción del bloque de referencia, el módulo de inter predicción termina el proceso de derivación de información de movimiento. A menos que la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento sea la última subunidad de predicción del bloque de referencia, el módulo de inter predicción va a una siguiente subunidad de predicción del bloque de referencia para el procesamiento (S1780). Posteriormente, el módulo de inter predicción repite las etapas S1700 a S1790.
[0338] Entonces, el módulo de inter predicción deriva una muestra de predicción para el bloque actual basándose en la información de movimiento en el bloque actual derivada por las etapas anteriores. La muestra de predicción puede significar la señal de predicción descrita anteriormente, y la señal de predicción puede significar una diferencia entre la señal original y la señal residual como se ha descrito anteriormente.
[0340] El proceso descrito anteriormente de derivar información de movimiento en una subunidad de predicción de un bloque actual puede ser aplicable específicamente a imágenes 3D como se muestra en la Tabla 1. Como se ha descrito anteriormente, la operación mostrada en la Tabla 1 puede ser realizada por un codificador/descodificador o un módulo de inter predicción del codificador/descodificador.
[0342] T l 11
[0345]
[0346]
[0347]
[0348]
[0349]
[0352]
[0355] La Tabla 1 se describe ahora con detalle.
[0357] Haciendo referencia a la Tabla 1, la posición del extremo izquierdo y superior del bloque de predicción actual, la anchura y la altura del bloque de predicción actual, un índice de vista de referencia y un vector de disparidad se introducen en el módulo de inter predicción. En este caso, la posición del extremo izquierdo y superior del bloque de predicción actual puede indicarse como (xPb, yPb), en donde 'xPb' puede referirse a la coordenada del eje X del bloque de predicción actual, e 'yPb' a la coordenada del eje y del bloque de predicción actual. La anchura del bloque de predicción actual puede indicarse como 'nPbW' y la altura del bloque de predicción actual como 'nPbH'. El índice de vista de referencia puede indicarse como 'refViewIdx' y el vector de disparidad como 'mvDisp'. En este caso, el módulo de inter predicción puede corresponder al módulo de inter predicción descrito anteriormente del codificador/descodificador de imágenes.
[0359] Haciendo referencia a la figura 17, después de finalizar el proceso de derivación de la información de movimiento en la subunidad de predicción del bloque actual usando la subunidad de predicción del bloque de referencia, el módulo de inter predicción emite una bandera para determinar si un movimiento de inter vista temporal está disponible un candidato, un candidato de vector de movimiento de inter vista temporal y una imagen de referencia presente en una lista de imágenes de referencia. En este caso, la bandera para determinar si un candidato de movimiento de inter vista temporal está disponible puede definirse como 'availableFlagLXInterView', y el candidato de movimiento de inter vista temporal puede definirse como 'mvLXInterView'. La lista de imágenes de referencia puede indicarse como 'RefPicListLX', y el índice de referencia que designa una imagen de referencia presente en la lista de imágenes de referencia puede definirse como 'refIdxLXInterView'. En 'availableFlagLXInterView', 'mvLXInterView', 'RefPicListLX" y 'refIdxLXInterView'. 'LX' puede ser la lista de imágenes de referencia 0 (la Lista 0, L0) o la lista de imágenes de referencia 1 (la Lista 1, L1).
[0361] A continuación se describe un método para derivar información de movimiento en una subunidad de predicción de un bloque actual usando una subunidad de predicción de un bloque de referencia para que un módulo de inter predicción derive las salidas descritas anteriormente a partir de las entradas descritas anteriormente.
[0363] El módulo de inter predicción realiza una inicialización antes de derivar información de movimiento en una subunidad de predicción de un bloque actual usando una subunidad de predicción de un bloque de referencia. En este caso, availableFlagLXInterView se establece a 0, mvLXInterView (0, 0) y refIdxLXInterView a -1. Cuando el módulo de inter predicción realiza una inicialización, también se inicializan la anchura y la altura de la subunidad de predicción. En este caso, la anchura de la subunidad de predicción puede indicarse como 'nSbW' y la altura de la subunidad de predicción como 'nSbH'. Un método específico para inicializar las variables nSbW y nSbH se da como la Ecuación 1 a continuación.
[0364] [Ecuación 1]
[0365] nSbW = Mín (nPbW, SubPbSize [ nuh_layer_id])
[0366] nSbH = Mín (nPbH, SubPbSize [ nuh_layer_id])
[0367] En este caso, SubPbSize indica el tamaño (incluyendo la altura y la anchura) de la subunidad de predicción designada por un conjunto de parámetros de imagen (VPS), y nuh_layer_id indica un índice para identificar una capa (por ejemplo, de qué vista de referencia se trata). Mín ( ) puede definirse como en la Ecuación 2 para emitir la menor de las variables de entrada.
[0368] [Ecuación 2]
[0371]
[0373] El módulo de inter predicción puede inicializar no solo las variables descritas anteriormente, sino también información para identificar una subunidad de predicción del bloque actual y el bloque de predicción de luma en (xRef, yRef) en la imagen de referencia de inter vista e información para identificar si la información de movimiento almacenada en el espacio de almacenamiento está disponible.
[0374] En este caso, el bloque de predicción de luma en (xRef, yRef) en la imagen de referencia de inter vista se establece como un bloque en una imagen que tiene el mismo índice de vista que el índice de vista de referencia en la unidad de acceso actual. En este caso, el bloque de predicción de luma en (xRef, yRef) en la imagen de referencia de inter vista se define como 'ivRefPic', y la unidad de acceso significa una unidad en la que se codifica/descodifica una imagen. La unidad de acceso incluye imágenes con diferentes vistas, que tienen el mismo recuento de orden de imágenes (POC). Por ejemplo, si hay tres vistas, una unidad de acceso puede incluir una imagen común y/o imagen de información de profundidad de la primera vista, una imagen común y/o imagen de información de profundidad de la segunda vista, y una imagen común y/o imagen de profundidad imagen de información de la tercera vista. El índice de vista de referencia puede definirse como 'refViewIdx' y el índice de vista 'ViewIdx'. En este caso, ViewIdx puede significar una vista de la imagen actual.
[0375] En este caso, la información para identificar una subunidad de predicción del bloque actual para la inicialización puede establecerse a 0, y la información para identificar la subunidad de predicción del bloque actual puede definirse como 'curSubBlockIdx'. La información para identificar si la información de movimiento almacenada en el espacio de almacenamiento está disponible también se establece y se inicializa a 0, y la información para identificar si la información de movimiento almacenada en el espacio de almacenamiento puede definirse como 'lastAvalableFlag'.
[0376] Después de inicializar las variables descritas anteriormente, el módulo de inter predicción realiza el siguiente proceso sobre yBlk que varía de 0 a (nPbH/nSbH -1 ) y xBlk que varía de 0 a (nPbW/nSbW -1). En el presente caso, xBlk significa la coordenada x del bloque, e yBlk significa la coordenada y del bloque.
[0377] En primer lugar, el módulo de inter predicción inicializa la información para identificar si predecir información de movimiento a partir de una subunidad de predicción del bloque de referencia, la bandera de predicción de subunidad de predicción, información de movimiento en la subunidad de predicción y el índice de referencia de la subunidad de predicción. Específicamente, la información para identificar si predecir la información de movimiento a partir de la subunidad de predicción del bloque de referencia puede establecerse a 0. En este caso, la información para identificar si predecir información de movimiento a partir de la subunidad de predicción del bloque de referencia puede definirse como 'curAvailableFlag'. La bandera de predicción de subunidad de predicción puede establecerse a 0, y la bandera de predicción de subunidad de predicción puede definirse como 'spPredFlagL1'. Para representar las coordenadas del bloque, la bandera de subunidad de predicción puede definirse como 'spPredFlagL1[ xBlk ][ yBlk ]'. El vector de movimiento de la subunidad de predicción se establece a (0, 0), y el vector de movimiento de la subunidad de predicción puede definirse como 'spMvLX'. El índice de referencia de la subunidad de predicción puede establecerse a -1, y el índice de referencia de la subunidad de predicción puede definirse como 'spRefIdxLX'. Para representar las coordenadas del bloque, el índice de referencia de la subunidad de predicción puede definirse como 'spRefIdxLX[ xBlk ][ yBlk ]'.
[0378] La posición (xRef, yRef) del bloque de referencia puede establecerse como en la siguiente Ecuación 3.
[0379] [Ecuación 3]
[0380] xRef=Clip3(0,PicWidthlnSamplesL-1,
[0381] xPb+xBlk*nSbW+nSbW/ 2((mvDisp[0]+ 2) >> 2)))
[0382] yRef = Clip3(0,PicHeigthlnSamplesL -1,
[0383] y Pb xBIk*nSbH nSbH/ 2((mvDisp[0]2) >> 2)))
[0384] En el presente caso, xRef significa la coordenada x de la posición del bloque de referencia, e yRef significa la coordenada y de la posición del bloque de referencia. PicWidthInSamplesL significa la anchura en la imagen actual, y PicHeightInSamplesL significa la altura en la imagen actual. Clip3 ( ) puede definirse como en la siguiente Ecuación 4.
[0385] [Ecuación 4]
[0386] z < x
[0387] z > y
[0389]
o contrario
[0390] En caso de que el bloque de referencia de inter vista se codifique en el modo intra, se realiza el siguiente proceso en X que varía de 0 a 1. El bloque de referencia de inter vista se refiere a un bloque de predicción de luma en (xRef, yRef) en la imagen de referencia de inter vista indicada por ivRefPic, y el bloque de referencia de inter vista puede definirse como 'ivRefPb'. Es decir, ivRefPb indica el bloque de predicción de luma en (xRef, yRef) en la imagen de referencia de inter vista indicada por ivRefPic, e ivRefPic indica la imagen de referencia de inter vista. La posición del extremo izquierdo y superior del bloque de referencia indicado por ivRefPb puede establecerse a (xIvRefPb, yIvRefPb).
[0391] Cuando X es 0 o el sector actual es el sector B, cada variable se restablece para Y (Y varía de X a (1 - X)) como sigue. refPicListLYIvRef se establece a RefPicListLY en la imagen indicada por ivRefPic, en donde RefPicListLY significa una lista de imágenes de referencia. predFlagLYIvRef[ x ][ y ] se establece a PredFlagLY[ x ][ y ] en la imagen indicada por ivRefPic, en donde PredFlagLY significa un identificador que indica una lista de imágenes de referencia. mvLYIvRef[ x ][ y ] se establece a MvLY[ x ][ y ] en la imagen indicada por ivRefPic, en donde MvLY significa un vector de movimiento. De forma similar, refIdxLYIvRef[ x ][ y ] se establece a RefIdxLY[ x ][ y ] en la imagen indicada por ivRefPic, en donde RefIdxLY significa un índice de referencia.
[0392] En este caso, si predFlagLYIvRef[ xIvRefPb ][ yIvRefPb ] es 1, la siguiente Ecuación 5 puede ser aplicable a i que varía de 0 a num_ref_idx_1X_active_minus1 (el número de imágenes de referencia en la lista de imágenes de referencia).
[0393] [Ecuación 5]
[0394] spMvLX[xBlk][yBlk]=mvLYIvRef[xIvRefPb][yIvRefPb]
[0395] spRefIdxLX[xBlk][yBlk] = i
[0396] spPredHagLX[xBlk][yBlk]= 1
[0397] curAvailableFlag= 1
[0398] Por otro lado, haciendo referencia a la Tabla 1, los siguientes procesos son aplicables, respectivamente, al caso en el que curAvailableFlag es 1 y al caso en el que curAvailableFlag es 0.
[0399] Si curAvailableFlag es 1, el módulo de inter predicción realiza el siguiente proceso.
[0400] 1. Si lastAvailableFlag es 0, la siguiente Ecuación 6 puede ser aplicable a X que varía de 0 a 1.
[0401] [Ecuación 6]
[0402] mxLXInterView=spMvLX[xBlk][yBlk]
[0403] refldxLXInterView=spRefldxLX[xBlk][yBlk]
[0404] aviableFlagLXInterView=spPredFlag[xBlk][yBlk]
[0405] Si lastAvailableFlag es 0, y curSubBlockIdx es más grande que 0, la siguiente Ecuación 7 puede ser aplicable a las variables i y j para k que varía de 0 a (curSubBlockIdx -1).
[0406] [Ecuación 7]
[0407] i = k % (nPSW/nSbW)
[0408] j = k/(nPSW/nSbW)
[0410] En este caso, la siguiente Ecuación 8 es aplicable a X que varía de 0 a 1.
[0411] [Ecuación 8]
[0412] spMvLX[i]U\=spMvLX[xBlklyBlk]
[0413] spRefIdxLX[iM=spRefIdxLX[xBlk\[yBlk\
[0414] spPredHagLX[i\U\=spPredHagLX[xBlk\[yBlk\
[0415] 2. Después del proceso descrito anteriormente, el módulo de inter predicción sustituye lastAvailableFlag por 1.
[0416] 3. Posteriormente, el módulo de inter predicción almacena xBlk e yBlk en las variables xLastAvail e yLastAvail, respectivamente.
[0417] Si curAvailableFlag es 1 y lastAvailableFlag es 1, el módulo de inter predicción aplica la siguiente Ecuación 9 a X que varía de 0 a 1.
[0418] [Ecuación 9\
[0419] spMvLX[xBlk\[yBlk\=spMvLX[xLastAvail\[yLastAvail\
[0420] spRefIdxLX[xBlk\[yBlk\=spRefIdxLX[xLastAvail\[yLastAvail\
[0421] spPredFlagLX[xBlk\[yBlk\=spPredFlagLX[xLastAvail\[yLastAvail\
[0422] Después de realizar la totalidad de los procesos descritos anteriormente, la variable curSubBlockIdx se establece a curSubBlockIdx 1.
[0423] El método para derivar información de movimiento en una subunidad de predicción de un bloque actual descrito anteriormente en relación con la figura 17, cuando no es capaz de derivar información de movimiento a partir de una subunidad de predicción de un bloque de referencia, usa la información de movimiento en una subunidad de predicción del bloque de referencia, que se ha referenciado antes (o después). En este sentido, el método para derivar información de movimiento de acuerdo con la figura 17 debería hacer referencia necesariamente a una subunidad de predicción de otro bloque de referencia y, por lo tanto, este método es dependiente. Un método de derivación de información de movimiento dependiente es vulnerable a diseños paralelos, que se describe con detalle con referencia a la figura 18.
[0424] La figura 18 es una vista que ilustra un proceso ilustrativo de derivación en paralelo de información en una subunidad de predicción de un bloque actual usando una subunidad de predicción de un bloque de referencia.
[0425] Haciendo referencia a la figura 18, Ref significa un bloque de referencia, y Ref 0, 1, 2, 3, 4, 5, 6 y 7 son las subunidades de predicción 0, 1, 2, 3, 4, 5, 6 y 7, respectivamente, del bloque de referencia. Cur significa un bloque actual, y Cur 0, 1, 2, 3, 4, 5, 6 y 7 significan las subunidades de predicción 0, 1, 2, 3, 4, 5, 6 y 7, respectivamente, del bloque actual. La X marcada en las Ref. 2, 3, 4 y 5 significa que las subunidades de predicción 2, 3, 4 y 5 del bloque de referencia no están disponibles tras derivar información de movimiento.
[0426] En una realización de acuerdo con la figura 18, el módulo de inter predicción detecta una subunidad de predicción a partir de la cual puede derivarse información de movimiento como se ha descrito anteriormente, para derivar información de movimiento a partir de una subunidad de predicción a partir de la cual no puede derivarse información de movimiento. En consecuencia, el módulo de inter predicción no puede derivar independientemente información de movimiento para cada subunidad de predicción del bloque actual, y es difícil realizar en paralelo el proceso de derivación de información de movimiento descrito anteriormente.
[0427] La figura 19 es una vista que ilustra un proceso ilustrativo de descubrimiento de una subunidad de predicción disponible cuando la subunidad de predicción disponible está situada en el extremo más a la derecha y más abajo de un bloque de referencia.
[0428] Haciendo referencia a la figura 19, cada cuadrado significa una subunidad de predicción, en donde el de línea continua en negrita significa una subunidad de predicción disponible tras derivar información de movimiento mientras que los de línea continua más delgada significan subunidades de predicción no disponibles tras derivar información de movimiento. La flecha de línea discontinua indica un orden de descubrimiento de información de movimiento.
[0429] En caso de que una subunidad de predicción a partir a partir de la cual se puede derivar información de movimiento esté situada solo en el extremo más a la derecha y más abajo del bloque de referencia como se muestra en la figura 19, las subunidades de predicción deberían someterse secuencialmente al descubrimiento de una subunidad de predicción a partir de la cual puede derivarse información de movimiento a lo largo de la flecha de línea discontinua desde el extremo más a la izquierda y más arriba del bloque de referencia. En un caso típico, no se conoce qué subunidad de predicción en qué bloque de referencia puede ponerse en uso para derivar información de movimiento. En consecuencia, las subunidades de predicción del bloque de referencia se someten a un descubrimiento secuencial desde la primera subunidad de predicción del bloque de referencia para determinar una subunidad de predicción que puede usarse para derivar información de movimiento.
[0431] Sin embargo, el enfoque de derivar información de movimiento como se muestra en la figura 19 requiere que la totalidad de las subunidades de predicción en el bloque de referencia descubran una subunidad de predicción disponible, provocando de este modo un acceso frecuente a la memoria. En este caso, si solo unas pocas entre las subunidades de predicción del bloque de referencia tienen información de movimiento, tiene lugar un descubrimiento de subunidad de predicción innecesario. En particular, si ninguna de las subunidades de predicción en el bloque de referencia se usa para derivar información de movimiento, el proceso de descubrimiento de subunidades de predicción disponibles del bloque de referencia solo provoca un acceso de memoria innecesario, sin ningún beneficio. En este caso, "no tener ninguna información de movimiento" significa que el bloque actual no pudo descubrir una región similar en el bloque de referencia de un fotograma vecino.
[0433] En consecuencia, en caso de que solo unas pocas o ninguna de las subunidades de predicción en un bloque de referencia tengan información de movimiento, codificar/descodificar el bloque actual usando inter predicción puede conducir a más eficiencia. En otras palabras, en el caso de que solo unas pocas o ninguna de las subunidades de predicción en un bloque de referencia tenga información de movimiento, puede ser más eficiente descubrir una región similar en un píxel vecino del bloque actual para realizar la codificación/descodificación sobre el bloque actual.
[0435] La figura 20 es una vista que ilustra esquemáticamente los tiempos requeridos para derivar información de movimiento de una forma por subunidad de predicción.
[0437] Haciendo referencia a la figura 20, cuando el tiempo necesario para derivar información de movimiento a partir de una subunidad de predicción es T, y el número de subunidades de predicción en un bloque de referencia es N, el tiempo necesario para derivar toda la información de movimiento a partir de bloque de referencia es N x T. El método de derivación de información de movimiento mencionado anteriormente provoca dependencia de datos y un acceso de memoria frecuente. Los métodos de derivación de información de movimiento dependientes de datos no pueden derivar independientemente información de movimiento a partir de cada subunidad de predicción, y para derivar información de movimiento a partir de una subunidad de predicción, debería esperar por lo tanto hasta que se haya derivado información de movimiento a partir de otra subunidad de predicción. Por lo tanto, los métodos de derivación de información de movimiento dependiente de datos pueden provocar un retardo de codificación/descodificación.
[0439] Como resultado, el método de derivación de información de movimiento descrito anteriormente no puede lograr la paralelización de datos para derivar simultáneamente información de movimiento, y a partir de su arquitectura de diseño, el método puede provocar un acceso de memoria frecuente que deteriora la eficiencia de uso de memoria.
[0441] En el presente documento se propone un aparato y método para quitar la dependencia cuando se deriva información de movimiento para abordar los problemas anteriores. La figura 21 ilustra una configuración ilustrativa de un módulo de inter predicción al que es aplicable la presente invención. Un método para derivar información de movimiento se describe con detalle con referencia a las figuras 22 a 26, de acuerdo con una realización de la presente invención.
[0443] La figura 21 es un diagrama de bloques que ilustra una configuración de un módulo de inter predicción 2100 al que es aplicable la presente invención.
[0445] Haciendo referencia a la figura 21, el módulo de inter predicción 2100 puede incluir un módulo de almacenamiento 2110 y un módulo de derivación 2120. El módulo de inter predicción 2100 puede significar el módulo de inter predicción 710 descrito anteriormente en el codificador de imágenes 3D o el módulo de inter predicción 850 en el descodificador de imágenes 3D. El módulo de inter predicción 2100 de la figura 21 puede ser aplicable al proceso de codificación/descodificación de imágenes descrito anteriormente.
[0447] [0214] El módulo de almacenamiento 2110 designa una información de movimiento y almacena la misma en un espacio de almacenamiento. El módulo de almacenamiento 2110 puede usar información de movimiento presente en una posición del bloque de referencia para obtener la información de movimiento almacenada. En el presente caso, la posición puede ser el centro del bloque de referencia o una (sub) unidad de predicción que cubre el centro del bloque de referencia. La información de movimiento almacenada en el módulo de almacenamiento 2110 puede establecerse a un valor inicial. A menos que la información de movimiento pueda almacenarse en el espacio de almacenamiento,
puede omitirse el proceso de derivar información de movimiento de una forma por subunidad de predicción. Cuando se omite el proceso de derivación de información de movimiento de una forma por subunidad de predicción, la inter predicción puede llevarse a cabo como se ha descrito anteriormente. El módulo de almacenamiento 2110 se describe a continuación con mayor detalle.
[0449] El módulo de derivación 2120 realiza un proceso de derivación de información de movimiento a partir de una subunidad de predicción del bloque actual. En este caso, el módulo de derivación 2120 puede realizar básicamente el proceso de derivación de información de movimiento descrito anteriormente. Sin embargo, el módulo de derivación 2120 propuesto en el presente documento, a menos que la subunidad de predicción del bloque de referencia correspondiente a la primera subunidad de predicción del bloque actual tenga información de movimiento, puede realizar un descubrimiento a la subunidad de predicción del bloque de referencia que tiene información de movimiento, y en lugar de derivar información de movimiento en la primera subunidad de predicción del bloque actual a partir de la subunidad de predicción del bloque de referencia que tiene información de movimiento, puede derivar entonces información de movimiento en la primera subunidad de predicción del bloque actual a partir de la información de movimiento almacenada en el módulo de almacenamiento. El módulo de derivación 2120 se describe a continuación con mayor detalle.
[0451] Las realizaciones de la presente invención se describen a continuación con detalle con referencia a los dibujos.
[0453] Realización 1
[0455] La figura 22 es un diagrama de flujo que ilustra esquemáticamente un método para derivar información de movimiento en una subunidad de predicción de un bloque actual usando un bloque de referencia, de acuerdo con una realización de la presente invención.
[0457] En la realización 1, la información de movimiento en una subunidad de predicción de un bloque actual (subunidad actual) se deriva basándose en información de movimiento para la posición central de un bloque de referencia. La realización 1 puede realizarse en un codificador y descodificador o una unidad de predicción o módulo de inter predicción del codificador y descodificador. Para facilitar la descripción en el presente documento, el módulo de inter predicción 2100 de la figura 21 realiza la operación de la realización 1.
[0459] Haciendo referencia a la figura 22, el módulo de inter predicción 2100 puede derivar la posición central del bloque de referencia (S2200). La posición central del bloque de referencia puede derivarse a partir de la Ecuación 10 a continuación. En el presente caso, el bloque de referencia puede ser un bloque presente en la misma posición que el bloque actual en la imagen de referencia, y el bloque de referencia puede tener el mismo tamaño que el bloque actual.
[0461] [Ecuación 10]
[0463] Posición X = xPb (nPbW >> 1
[0465] Posición Y = yPb (nPbH >> 1)
[0467] En el presente caso, xPb e yPb se refieren a una posición izquierda y superior de la PU actual, nPbW a la anchura de la P<u>actual y nPbH a la altura de la PU actual.
[0469] El módulo de inter predicción 2100 puede determinar si hay información de movimiento en la posición central del bloque de referencia (S2210). La posición central del bloque de referencia puede especificarse como se ha descrito anteriormente.
[0471] A menos que haya información de movimiento disponible en la posición central del bloque de referencia, el módulo de inter predicción 2100 puede terminar el proceso de derivación de información de movimiento. Por ejemplo, sin información de movimiento disponible en el centro del bloque de referencia, el módulo de inter predicción 2100 podría no derivar información de movimiento en el bloque actual.
[0473] Si la información de movimiento está presente en la posición central del bloque de referencia, el módulo de inter predicción 2100 puede almacenar la información de movimiento presente en la posición central del bloque de referencia en el espacio de almacenamiento (S2220). La información de movimiento presente en la posición central del bloque de referencia puede ser información de movimiento en el bloque de predicción que incluye una posición de muestra completa que es la más adyacente al centro del bloque de referencia. Un proceso específico de almacenamiento de información de movimiento por el módulo de inter predicción 2100 se ha descrito anteriormente. El módulo de inter predicción 2100 puede derivar información de movimiento en una subunidad de predicción actual basándose en la información de movimiento almacenada en el bloque de referencia.
[0475] [0224] El módulo de inter predicción 2100 puede determinar si la subunidad de predicción del bloque de referencia
correspondiente a la subunidad de predicción actual tiene información de movimiento (S2240).
[0477] En caso de que la subunidad de predicción del bloque de referencia tenga información de movimiento, el módulo de inter predicción 2100 puede insertar en la subunidad de predicción actual la información de movimiento en la subunidad de predicción del bloque de referencia (S2250). En otras palabras, el módulo de inter predicción 2100 puede establecer la información de movimiento en la subunidad de predicción del bloque de referencia (por ejemplo, vector de movimiento, índice de imagen de referencia) como la información de movimiento en la subunidad de predicción actual correspondiente.
[0479] A menos que la subunidad de predicción del bloque de referencia tenga información de movimiento disponible, el módulo de inter predicción 2100 inserta en la subunidad de predicción actual la información de movimiento del bloque de referencia almacenada en el espacio de almacenamiento (S2260). En otras palabras, en caso de que la información de movimiento en la subunidad de predicción del bloque de referencia correspondiente a la subunidad de predicción actual no esté disponible, el módulo de inter predicción 2100 puede establecer la información de movimiento en el centro del bloque de referencia almacenado en la etapa S2200 como la información de movimiento en la subunidad de predicción actual.
[0481] El módulo de inter predicción 2100 puede determinar si la subunidad de predicción del bloque de referencia correspondiente a la subunidad de predicción actual es la última subunidad de predicción en el bloque de referencia (o con el mismo significado si la subunidad de predicción actual es la última subunidad de predicción unidad en el bloque actual) (S2270). El módulo de inter predicción 2100 puede terminar el proceso de derivación de información de movimiento en caso de que la subunidad de predicción del bloque de referencia sea la última subunidad de predicción.
[0483] A menos que la subunidad de predicción del bloque de referencia sea la última subunidad de predicción, el módulo de inter predicción 2100 continúa con el accionamiento de información de movimiento en una siguiente subunidad de predicción del bloque actual para continuar derivando información de movimiento (S2230).
[0485] El proceso de derivación de información de movimiento descrito anteriormente de acuerdo con la realización 1 puede ser aplicable a la descodificación de imágenes 3D como en la Tabla 2.
[0487] T l 21
[0489]
[0492]
[0493]
[0494]
[0495]
[0496] edFlagLYIvRef[x][y], mvLYIvRef[x][y] y refIdxLYIvRef[x][y], respectivamente, se establecen a
[0497] gLY[x][y], MvLY[x][y] y RefIdxLY[xl[y] en la imagen indicada por ivRefPic.________________
[0499]
[0502] La realización 1 se describe de nuevo basándose en la Tabla 2.
[0504] Haciendo referencia a la Tabla 2, la posición del extremo izquierdo y superior del bloque de predicción actual, la anchura y la altura del bloque de predicción actual, un índice de vista de referencia y un vector de disparidad se introducen en el módulo de inter predicción 2100. En el presente caso, la posición del extremo izquierdo y superior del bloque de predicción actual puede definirse como (xPb, yPb). La anchura del bloque de predicción actual puede definirse como 'nPbW' y la altura del bloque de predicción actual como 'nPbH'. El índice de vista de referencia puede definirse como 'refViewIdx' y el vector de disparidad como 'mvDisp'.
[0506] Después de finalizar el proceso de derivación de información de movimiento en la subunidad de predicción del bloque actual usando la subunidad de predicción del bloque de referencia, el módulo de inter predicción 2100 puede emitir una bandera para determinar si es posible la predicción de inter vista, un vector de movimiento de inter vista y un índice de referencia que designa una imagen de referencia presente en una lista de imágenes de referencia. En este caso, la bandera para determinar si un candidato de movimiento de inter vista temporal está disponible puede definirse como 'availableFlagLXInterView', y el candidato de movimiento de inter vista temporal puede definirse como 'mvLXInterView'. La lista de imágenes de referencia puede indicarse como 'RefPicListLX', y el índice de referencia que designa una imagen de referencia presente en la lista de imágenes de referencia puede definirse como 'refIdxLXInterView'. En 'availableFlagLXInterView', 'mvLXInterView', 'RefPicListLX", y 'refIdxLXInterView', 'LX' puede ser la lista de imágenes de referencia 0 (la Lista 0, L0) o la lista de imágenes de referencia 1 (la Lista 1, L1).
[0508] A continuación se describe un método para derivar información de movimiento en una subunidad de predicción de un bloque actual obteniendo las salidas descritas anteriormente a partir de las entradas.
[0510] En primer lugar, el módulo de inter predicción 2100 realiza una inicialización antes de derivar información de movimiento en una subunidad de predicción de un bloque actual usando una subunidad de predicción de un bloque de referencia. En este caso, availableFlagLXInterView puede establecerse a 0, mvLXInterView (0, 0) y refIdxLXInterView a -1. Cuando el módulo de inter predicción 2100 realiza una inicialización, también pueden inicializarse la anchura y la altura de la subunidad de predicción. En este caso, la anchura de la subunidad de predicción puede indicarse como 'nSbW y la altura de la subunidad de predicción como 'nSbH'. La ecuación 11 representa un ejemplo de un método para inicializar las variables nSbW y nSbH.
[0512] [Ecuación 11]
[0514] nSbW = Mín (nPbW, SubPbSize[n u h ja y e rjd ])
[0516] nSbH = Mín (nPbH, SubPbSize[nuh_layer_id])
[0518] [0235] En este caso, SubPbSize indica el tamaño (incluyendo la altura y la anchura) de la subunidad de predicción designada por un VPS, y n u h ja y e rjd indica un índice para identificar una capa (por ejemplo, de qué vista de
referencia se trata). Mín ( ) es un operador que emite la menor de las variables introducidas.
[0519] El módulo de inter predicción 2100 puede inicializar no solo las variables descritas anteriormente, sino también información para identificar una subunidad de predicción del bloque actual y el bloque de predicción de luma en (xRef, yRef) en la imagen de referencia de inter vista e información para identificar si la información de movimiento almacenada en el espacio de almacenamiento está disponible.
[0520] En este caso, la imagen de referencia de inter vista puede establecerse a una imagen que tiene un índice de vista tal como un índice de vista de referencia en la unidad de acceso actual. En el presente caso, la imagen de referencia de inter vista puede indicarse como 'ivRefPic', y el bloque de predicción de luma en (xRef, yRef) en la imagen de referencia de inter vista puede indicarse como 'ivRefPb'. Una unidad de acceso incluye imágenes con diferentes vistas, que tienen el mismo recuento de orden de imágenes (POC). El índice de vista de referencia puede definirse como 'refViewIdx' y el índice de vista 'ViewIdx'.
[0521] La posición de referencia puede ser una posición que especifica un bloque de predicción que cubre el centro del bloque de referencia de acuerdo con la realización 1. La información de movimiento en la posición de referencia puede almacenarse para derivar información de movimiento en la subunidad de predicción actual. La ecuación 12 muestra un método ilustrativo para derivar la posición de referencia (xRef, yRef).
[0522] [Ecuación 12]
[0523] xRefFull=xPb+(nPbW>> 1)((mvDisp[0]+ 2) >> 2)
[0524] yRefFull=yPb+(nPbH>> 1)((mvDisp[1]+ 2) >> 2)
[0525] xRef=Clip3(0,PicWidhtInSamplesL-1 ,(xRefFull>> 3) << 3)
[0526] yRef=Clip3(0,PicHeightInSamplesL-1 ,(yRefFull>> 3) << 3)
[0527] En el presente caso, XRefFull e yRefFull indican la posición de la muestra completa cerca del centro del bloque de referencia. Es decir, xRefFull e yRefFull indican respectivamente la coordenada x y la coordenada y de la muestra en una posición de número entero.
[0528] ivRefPb puede ser una subunidad de predicción o bloque de predicción que cubre (xRef, yRef). La posición (xIvRefPb, vIvRefPb) de la muestra de luma puede especificar el extremo izquierdo y superior de ivRefPb.
[0529] A menos que ivRefPb se haya codificado/descodificado en el modo intra, los siguientes procesos (1) y (2) pueden ser aplicables a Y que varía de X a (1 - X).
[0530] refPicListLYIvRef se establece a RefPicListLY en la imagen de referencia de inter vista ivRefPic, predFlagLYIvRef[ x ][ y ] se establece a PredFlag[ x ][ y ] en la imagen de referencia de inter vista ivRefPic, y refIdxLYIvRef[ x ][ y ] se establece a RefIdxLY[ x ][ y ] en la imagen de referencia de inter vista ivRefPic.
[0531] si predFlagLYIvRef[ xIvRefPb ][ yIvRefPb ] es 1, el siguiente proceso es aplicable a i que varía de 0 a num_ref_idx_1X_active_minus1 (el número de imágenes de referencia en la lista de imágenes de referencia X). Si el POC (recuento de orden de imágenes) de refPicListLYIvRef[refIdxLYIvRef[xIvRefPb][yIvRefPb]] es RefPicListLX[ i ], y availableFlagLXInterView es 0, puede ser aplicable la Ecuación 13.
[0532] [Ecuación 13]
[0533] availableFlagLXInterView= 1
[0534] mvLXInterView=mvLYIvRefxIvRefPb][yIvRefPb]
[0535] refIdxLX=i
[0536] En caso de que availableFlagL0InterView o availableFlagL1InterView sea 1, el módulo de inter predicción 2100 realiza el siguiente proceso sobre yBlk que varía de 0 a (nPbH/nSbH -1 ) y xBlk que varía de 0 a (nPbW /nSbW -1). En el presente caso, xBlk significa la coordenada x, e yBlk significa la coordenada y. En otras palabras, si se deriva información de movimiento disponible en el centro del bloque de referencia, el módulo de inter predicción 2100 puede derivar información de movimiento de una forma por subunidad de predicción.
[0537] En primer lugar, la unidad de inter predicción 2100 puede inicializar la información para identificar si predecir información de movimiento a partir de una subunidad de predicción del bloque de referencia, la bandera de predicción de subunidad de predicción, información de movimiento en la subunidad de predicción y el índice de referencia de la subunidad de predicción.
[0538] En este caso, la información para identificar si predecir información de movimiento a partir de una subunidad de predicción del bloque de referencia puede definirse como 'curAvailableFlag', la bandera de predicción de subunidad de predicción como 'spPredFlagLX1', la bandera de subunidad de predicción como 'spPredFlagLX[xBlk] [yBlk]', el vector de movimiento de la subunidad de predicción como 'spMvLX', el índice de referencia de la subunidad de predicción como 'spRefIdxLX' y el índice de referencia de la subunidad de predicción como 'spRefIdxLX[xBlk][yBlk]'.
[0539] La posición (xRef, yRef) del bloque de referencia se restablece de una forma por subunidad de predicción como en la siguiente Ecuación 14.
[0540] [Ecuación 14]
[0541] xRef=Clip3(0,PicWidthlnSamplesL-1
[0542] xPb+xBIk*nSbW+nSbW/ 2((mvDisp[0] 2 >> 2)))
[0543] yRef=Clip3(0,PicHeigthlnSamplesL-1
[0544] yPb+yBlk*nSbH+nSbH/ 2((mvDisp[1] 2 >> 2)))
[0545] PicWidthInSamplesL significa la anchura de la imagen actual, y PicHeightInSamplesL significa la altura de la imagen actual. Además, Clip3 ( ) se ha descrito anteriormente.
[0546] Posteriormente, en caso de que el bloque de referencia de inter vista se codifique en el modo intra, se realiza el siguiente proceso en X que varía de 0 a 1.
[0547] Cuando X es 0 o el sector actual es el sector B, cada variable se restablece para Y (Y varía de X a (1 - X)) como sigue. refPicListLYIvRef puede establecerse a la lista de imágenes de referencia RefPicListLY para una imagen especificada por ivRefPic (es decir, la imagen de referencia de inter vista). predFlagLYIvRef[ x ][ y ] se establece a PredFlagLY[ x ][ y ]. PredFlagLY[ x ][ y ] indica la lista de imágenes de referencia que es aplicable en (x, y) en la imagen especificada por ivRefPic. mvLYIvRef[ x ][ y ] se establece a MvLY[ x ][ y ]. MvLY[ x ][ y ] significa el vector de movimiento en (x, y) en la imagen especificada por ivRefPic. refIdxLYIvRef[ x ][ y ] se establece a RefIdxLY[ x ][ y ]. RefIdxLY[ x ][ y ] indica el píxel de referencia en (x, y) en la imagen indicada por ivRefPic.
[0548] En caso de que predFlagLYIvRef[ xIvRefPb ][ yIvRefPb ] sea 1, la siguiente Ecuación 15 puede ser aplicable a i que varía de 0 a num_ref_idx_1X_active_minus1 (el número de imágenes de referencia en la lista de imágenes de referencia) si elPOC de refPicListLYIvRef[refIdxLYIvRef[xIvRefPb ] [ yIvRefPb ] ] es RefPicListLX[i] y spPredFlagLX[ xBIk ] [ yBlk ] es 0.
[0549] [Ecuación 15]
[0550] spMvLX[xBlk][yBlk]=mvLYIvRef[xIvRefPb][yIvRefPb]
[0551] spRefIdxLX[xBlk][yBlk] = i
[0552] spPredHagLX[xBlk][yBlk]= 1
[0553] curAvailableFlag= 1
[0554] Incluso después de que se haya realizado el proceso descrito anteriormente, si curAvailableFlag como se establece es 0 (es decir, a menos que spRefIdxLX = i (por ejemplo, spRefIdxLx = -1) y spPredFlagLX = 1 (por ejemplo, spPredFlagLX = -1)), puede decirse que no puede derivarse ninguna información de movimiento de una forma por subunidad de predicción. En consecuencia, el módulo de inter predicción 2100 puede aplicar la Ecuación 16 a X que varía de 0 a 1.
[0555] En otras palabras, en caso de que la información de movimiento no pueda derivarse a partir de la subunidad de predicción del bloque de referencia, el módulo de inter predicción 2100 puede derivar información de movimiento en la subunidad de predicción del bloque actual a partir de la información de movimiento en la posición central del bloque de referencia.
[0556] [Ecuación 16]
[0557] spMvLX[xBlk][yBlk]=mvLXInterView
[0558] spRefIdxLX[xBlk][yBlk]= refIdxLX
[0559] spPredFlagLX[xBlk][yBlk]=availableFlagLXInterView
[0560] Por último, después de que se hayan realizado la totalidad de los procesos descritos anteriormente, una variable, curSubBlockIdx, se establece a curSubBlockIdx 1, y si availableFlagL0InterView y availableFlagL1InterView son 0, se finaliza el proceso de derivación de información de movimiento de acuerdo con la realización 1.
[0562] Realización 2
[0564] La figura 23 es un diagrama de flujo que ilustra esquemáticamente un método para derivar información de movimiento en una subunidad de predicción de un bloque actual, de acuerdo con una realización de la presente invención. En el ejemplo ilustrado en la figura 23, la información de movimiento en una subunidad de predicción de un bloque actual se deriva usando una subunidad de predicción presente en una posición de un bloque de referencia.
[0566] En la realización 2, la información de movimiento en la subunidad de predicción del bloque actual se deriva basándose en la información de movimiento en la subunidad de predicción que cubre el centro del bloque de referencia.
[0568] El ejemplo mostrado en la figura 23 se realiza en un codificador y descodificador o una unidad de predicción del codificador y descodificador o el módulo de inter predicción 2100 mostrado en la figura 21. En el presente caso, para facilitar la descripción, el módulo de inter predicción 2100 realiza cada etapa como se muestra en la figura 23.
[0570] Haciendo referencia a la figura 23, el módulo de inter predicción 2100 deriva la posición de la subunidad de predicción situada en el centro del bloque de referencia (la subunidad de predicción central) (S2300). La subunidad de predicción central situada en el bloque de referencia significa una subunidad de predicción situada en el centro del bloque de referencia, y el centro del bloque de referencia se ha descrito anteriormente. La ecuación 17 representa un ejemplo de derivación de la posición de la subunidad de predicción central del bloque de referencia.
[0572] [Ecuación 17]
[0574] Valor X de la subunidad de predicción central =xPb+(nPbW/nSbW/ 2) *nSbW+nSbW/ 2)
[0575] Valor Y de la subunidad de predicción central =yPb+(nPbH/nSbH/ 2) *nSbH+nSbH/ 2)
[0576] En el presente caso, xPb e yPb se refieren a una posición izquierda y superior de la unidad de predicción actual, nPbW se refiere a la anchura de la unidad de predicción actual y nPbH se refiere a la altura de la unidad de predicción actual.
[0578] El módulo de inter predicción 2100 determina si la subunidad de predicción central del bloque de referencia tiene información de movimiento (S2310), y la posición de la subunidad de predicción central del bloque de referencia se ha descrito anteriormente. Si no hay ninguna información de movimiento presente en la posición de la subunidad de predicción central del bloque de referencia, el módulo de inter predicción 2100 puede terminar el proceso de derivación de información de movimiento.
[0580] En caso de que la información de movimiento esté presente en la subunidad de predicción central del bloque de referencia, el módulo de inter predicción 2100 almacena la información de movimiento presente en la posición central (S2320). Un proceso específico de almacenamiento de información de movimiento por el módulo de inter predicción 2100 se ha descrito anteriormente.
[0582] El módulo de inter predicción 2100 deriva información de movimiento en la subunidad de predicción actual. El módulo de inter predicción 2100 determina si la subunidad de predicción del bloque de referencia correspondiente a la subunidad de predicción actual tiene información de movimiento (S2340).
[0584] En caso de que la subunidad de predicción del bloque de referencia tenga información de movimiento, el módulo de inter predicción 2100 inserta en la subunidad de predicción actual la información de movimiento presente en la subunidad de predicción del bloque de referencia (S2350). A menos que la subunidad de predicción del bloque de referencia tenga información de movimiento, el módulo de inter predicción 2100 puede insertar la información de movimiento almacenada en la etapa S2320 en la subunidad de predicción actual (S2360).
[0586] El módulo de inter predicción 2100 puede determinar si la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento es la última subunidad de predicción (S2370). En caso de que la subunidad de predicción del bloque de referencia sea la última subunidad de predicción, el módulo de inter predicción 2100 puede ser el proceso de derivación de información de movimiento en el bloque actual. A menos que la subunidad de predicción del bloque de referencia sea la última subunidad de predicción, va a una siguiente subunidad de predicción del bloque actual para continuar derivando información de movimiento (S2330).
[0588] El proceso de derivación de información de movimiento descrito anteriormente de acuerdo con la realización 2 puede ser aplicable a imágenes 3D como en la Tabla 3.
[0589] T l 1
[0590]
[0593]
[0594]
[0595]
[0596]
[0597]
[0599] La realización 2 se describe de nuevo basándose en la Tabla 3.
[0600] Las variables de la Tabla 3 son las mismas que las de la Tabla 2.
[0601] [0268] El módulo de inter predicción 2100 realiza una inicialización antes de derivar información de movimiento en
una subunidad de predicción actual usando una subunidad de predicción de un bloque de referencia. La inicialización es la misma que la descrita anteriormente en relación con la Tabla 2.
[0602] El módulo de inter predicción puede especificar la posición de la subunidad de predicción central del bloque de referencia. La posición del bloque referenciado puede determinarse basándose en la posición de referencia, y la posición de referencia (xRef, yRef) se deriva como en la Ecuación 18.
[0603] [Ecuación 18]
[0604] xRef=Clip3(0,PicWidthlnSamplesL-1
[0605] xPb+(nPbW/nSbW /2 )*nSbW+nSbW /2 )
[0606] yRef=Clip3(0,PicHeigthlnSamplesL-1
[0607] yPb+(nPbH/nSbH/2 )*nSbH+nSbH/ 2)
[0608] ivRefPic es una imagen que tiene el mismo ViewIdx que refViewIdx en la unidad de acceso actual, e ivRefPb es un bloque de predicción o subunidad de predicción que cubre (xRef, yRef) derivado por la Ecuación 19 en ivRefPic.
[0609] (xIvRefPb, yIvRefPb) especifica la posición izquierda y superior de ivRefPb.
[0610] En caso de que ivRefPb no se haya codificado/descodificado en el modo intra, y X es 0 o el sector actual es el sector B, el siguiente proceso es aplicable a Y que varía de X a (1 - X).
[0611] Como se ha descrito anteriormente en relación con la Tabla 2, refPicListLYIvRef se establece a RefPicListLY, predFlagLYIvRef[ x ][ y ] a PredFlag[ x ][ y ], y refIdxLYIvRef[ x ][ y ] a RefIdxLY[ x ][ y ].
[0612] Si predFlagLYIvRef[xIvRefPb][ yIvRefPb ] es 1, la ecuación 19 es aplicable a i que varía de 0 a num_ref_idx_1X_active_minus1(el número de imágenes de referencia en la lista de imágenes de referencia X en caso de que el POC (recuento de orden de imágenes) de refPicListLYIvRef[ refIdxLYIvRef[ xIvRefPb ][ yIvRefPb ] ] sea RefPicListLX [ i ], y availableFlagLXInterView sea 0.
[0613] [Ecuación 19]
[0614] centerAvailableFlag= 1
[0615] centerMvLX=mvLYIvRe1[xIvRefPb][yIvRefPb]
[0616] centerRefldxLX= i
[0617] centerPredFlagLX= 1
[0618] En la Ecuación, centerAvailableFlag indica si la subunidad de predicción central del bloque de referencia está disponible, y centerMvLX significa el vector de movimiento para la subunidad de predicción central del bloque de referencia. Además, centerRefldxLX se refiere al índice de referencia para la subunidad de predicción central del bloque de referencia, y centerPredFlagLX se refiere a la lista de imágenes de referencia de la subunidad de predicción central. En el presente caso, centerAvailableFlag, centerMvLX, centerRefldxLX y/o centerPredFlagLX significan información de movimiento de la subunidad de predicción central. En otras palabras, el módulo de inter predicción 2100 puede almacenar en el espacio de almacenamiento la información de movimiento en la subunidad de predicción central del bloque de referencia establecido en la Ecuación 19.
[0619] Después de que las variables se hayan establecido como se ha descrito anteriormente, en caso de que centerAvailableFlag sea 1, el módulo de inter predicción 2100 realiza el siguiente proceso sobre yBlk que varía de 0 a (nPbH/nSbH -1 ) y xBlk que varía de 0 a (nPbW /nSbW -1). En el presente caso, xBlk significa la coordenada x del bloque, e yBlk significa la coordenada y del bloque. En otras palabras, si se deriva información de movimiento disponible a partir del subbloque en el centro del bloque de referencia, el módulo de inter predicción 2100 puede derivar información de movimiento en bloque actual de una forma por subunidad de predicción.
[0620] En primer lugar, el módulo de inter predicción 2100 inicializa la información para identificar si predecir información de movimiento a partir de una subunidad de predicción del bloque de referencia, la bandera de predicción de subunidad de predicción, información de movimiento en la subunidad de predicción y el índice de referencia de la subunidad de predicción. La inicialización es la misma que la descrita anteriormente en relación con la Tabla 2.
[0621] La posición (xRef, yRef) del bloque de referencia se restablece como se muestra en la Ecuación 20 de una forma por subunidad de predicción.
[0622] [Ecuación 20]
[0623] xRef = Clip3(0,PicWidthlnSamplesL -1
[0624] xPb xBIk * nSbW nSbW/ 2((mvDisp[0]2)>> 2)))
[0625] yRef = Clip3 (0, PicHeigthlnSamplesL -1
[0626] yPb yBlk * nSbH nSbH / 2 ((mvDisp[1] 2) >> 2)))
[0627] En el presente caso, xRef significa la coordenada x de la posición del bloque de referencia, e yRef significa la coordenada y de la posición del bloque de referencia. PicWidthInSamplesL significa la anchura de la imagen actual, y PicHeightInSamplesL significa la altura de la imagen actual. Clip3 ( ) se ha descrito anteriormente.
[0628] En caso de que el bloque de referencia de inter vista se codifique en el modo intra, el módulo de inter predicción 2100 realiza el siguiente proceso sobre X que varía de 0 a 1.
[0629] Cuando X es 0 o el sector actual es el sector B, cada variable se restablece para Y (Y varía de X a (1 - X)) como sigue. La inicialización es la misma que la descrita anteriormente en relación con la Tabla 2.
[0630] En caso de que predFlagLYIvRef[ xIvRefPb ][ yIvRefPb ] sea 1, la siguiente Ecuación 21 puede ser aplicable a i que varía de 0 a num_ref_idx_1X_active_minus1 (el número de imágenes de referencia en la lista de imágenes de referencia) si elPOC de refPicListLYIvRef refídxLYIvRef[xIvRefPb ] [ yIvRefPb ] ] es RefPicListLX[i] y spPredFlagLX[ xBIk ] [ yBlk ] es 0.
[0631] [Ecuación 21]
[0632] spMvLX[xBIk][yBIk]=mvLYIvRef[xIvRefPb][yIvRefPb]
[0633] spRefIdxLX[xBIk][yBIk] = 1
[0634] spPredFlagLX[xBlk][yBlk] = 1
[0635] curAvailableFlag= 1
[0636] Incluso después de que se haya realizado el proceso descrito anteriormente, si curAvailableFlag como se establece es 0 (es decir, a menos que spRefIdxLX = i (por ejemplo, spRefIdxLx = -1) y spPredFlagLX = 1 (por ejemplo, spPredFlagLX = -1)), puede decirse que no puede derivarse ninguna información de movimiento de una forma por subunidad de predicción. En consecuencia, el módulo de inter predicción 2100 puede aplicar la Ecuación 22 a X que varía de 0 a 1.
[0637] En otras palabras, en caso de que la información de movimiento no pueda derivarse a partir de la subunidad de predicción del bloque de referencia, el módulo de inter predicción 2100 puede derivar información de movimiento en la subunidad de predicción del bloque actual a partir de la información de movimiento en la subunidad central.
[0638] [Ecuación 22]
[0639] spMvLX[xBlk][yBlk] =centerMvLX
[0640] spRefIdxLX[xBlk][yBlk] =centerRefIdxLX
[0641] spPredFlagLX[xBlk][yBlk] =centerPredFlagLX
[0642] Por último, después de que se hayan realizado la totalidad de los procesos descritos anteriormente, una variable, curSubBlockIdx, se establece a curSubBlockIdx 1, y si availableFlagL0InterView y availableFlagL1InterView son 0, se finaliza el proceso de derivación de información de movimiento de acuerdo con la realización 2.
[0643] La figura 24 es una vista que ilustra un proceso ilustrativo de derivación de información de movimiento en una subunidad de predicción de un bloque actual usando información de movimiento en una posición.
[0644] Haciendo referencia a la figura 24, los bloques situados en el extremo superior de la figura 24 significan subunidades de predicción del bloque de referencia, y los bloques situados en el extremo inferior de la figura 24 significan subunidades de predicción del bloque actual. X indica una posición, y la información de movimiento en X se almacena en un espacio de almacenamiento. En el presente caso, la información de movimiento en la posición de la figura 24 puede significar información de movimiento en la posición central del bloque de referencia como en la realización 1, y la información de movimiento en la posición de la figura 24 puede significar la información de movimiento en la subunidad de predicción central del bloque de referencia como en la realización 2.
[0645] Tras derivar la información de movimiento en la subunidad de predicción del bloque actual usando la información de movimiento en la posición, cada subunidad de predicción en el bloque de referencia puede utilizar la información de movimiento en la posición. En otras palabras, puede derivarse simultáneamente información de movimiento en la pluralidad de subunidades de predicción del bloque actual usando la información de movimiento en la posición, y derivar información de movimiento usando la información de movimiento en la posición puede abordar la cuestión de la dependencia de datos. En consecuencia, tras el uso de información de movimiento en la posición, el módulo de inter predicción 2100 puede derivar información de movimiento en paralelo.
[0646] Como se ha descrito anteriormente, las realizaciones 1 y 2 derivan información de movimiento usando información de movimiento presente en cualquier posición. En consecuencia, los métodos de derivación de información de movimiento de acuerdo con las realizaciones 1 y 2 posibilitan la derivación independiente de información de movimiento en cada subunidad de predicción en el bloque de referencia. En otras palabras, las realizaciones 1 y 2 no requieren el descubrimiento secuencial de subunidades de predicción a partir de las cuales puede derivarse información de movimiento para hallar subunidades de predicción a partir de las cuales puede derivarse información de movimiento, y en caso de que sea imposible usar la primera subunidad de predicción del bloque de referencia para derivar información de movimiento, las realizaciones 1 y 2 derivan información de movimiento en la subunidad de predicción del bloque actual usando información de movimiento predeterminada. En este sentido, la derivación de información de movimiento de acuerdo con las realizaciones 1 y 2 quita la dependencia de datos, posibilitando la derivación paralelizada de información de movimiento en cada subunidad de predicción. Además, la derivación de información de movimiento de acuerdo con las realizaciones 1 y 2 evita un acceso de memoria adicional en contraste con métodos de derivación de información de movimiento existentes, reduciendo de este modo el número de veces de acceso a la memoria.
[0647] Realización 3
[0648] La figura 25 es un diagrama de flujo que ilustra un método para derivar información de movimiento en una subunidad de predicción de un bloque actual usando un valor de información de movimiento de acuerdo con otra realización de la presente invención.
[0649] Haciendo referencia a la figura 25, la realización 4 proporciona un método para establecer información de movimiento por defecto y derivar información de movimiento en una subunidad de predicción actual a partir de la información de movimiento por defecto en caso de que sea imposible derivar la información de movimiento a partir de una subunidad de predicción de un bloque de referencia. En el presente caso, la información de movimiento por defecto puede significar un vector cero. Un método específico para derivar información de movimiento de acuerdo con la realización 3 se describe a continuación.
[0650] El módulo de inter predicción 2100 puede almacenar la información de movimiento por defecto en un espacio de almacenamiento (S2500). Un proceso específico de almacenamiento de información de movimiento por el módulo de inter predicción 2100 se ha descrito anteriormente.
[0651] Posteriormente, el módulo de inter predicción 2100 puede derivar información de movimiento en la subunidad de predicción actual. El módulo de inter predicción 2100 puede determinar si la subunidad de predicción del bloque de referencia correspondiente a la subunidad de predicción actual tiene información de movimiento (S2520).
[0652] En caso de que la subunidad de predicción del bloque de referencia tenga información de movimiento, el módulo de inter predicción 2100 puede insertar en la subunidad de predicción actual la información de movimiento en la subunidad de predicción del bloque de referencia (S2530). A menos que la subunidad de predicción del bloque de referencia tenga información de movimiento, el módulo de inter predicción 2100 puede insertar la información de movimiento almacenada en el espacio de almacenamiento en la subunidad de predicción actual (S2540).
[0653] El módulo de inter predicción 2100 puede determinar si la subunidad de predicción del bloque de referencia que se selecciona como objetivo para derivar información de movimiento es la última subunidad de predicción (S2550). En caso de que la subunidad de predicción del bloque de referencia sea la última subunidad de predicción, el módulo de inter predicción 2100 puede terminar el proceso de derivación de información de movimiento. A menos que la subunidad de predicción del bloque de referencia sea la última subunidad de predicción, el módulo de inter predicción 2100 puede descubrir información de movimiento en una siguiente subunidad de predicción del bloque de referencia para continuar derivando información de movimiento (S2510).
[0654] El proceso de derivación de información de movimiento descrito anteriormente de acuerdo con la realización 3 puede ser aplicable al Texto 2 del Borrador de HEVC de 3D como en la Tabla 4.
[0655] T l 41
[0656]
[0659]
[0660]
[0661] yPb yBlk * nSbH nSbH / 2 ( ( mvDisp[ 1 ] 2) >> 2 ) )
[0662] ble ivRefPb se refiere al bloque de predicción de luma en (xRef, yRef) en la imagen de referencia de indicada por ivRefPic.
[0663] b, yIvRefPb) se refiere a la posición izquierda y superior del bloque de referencia indicado por ivRefPb. s que ivRefPb se haya codificado en el modo intra, lo siguiente puede ser aplicable a X que varía de 0 a X es 0 o el sector actual es el sector B, lo siguiente es aplicable a Y que varía de X a (1 - X). tLYIvRef, predFlagLYIvRef[x][y], mvLYIvRef[x][y] y refIdxLYIvRef[x][y], respectivamente, se establecen a bles correspondientes respectivas, es decir, RefPicListLY, PredFlagLY[x][y], MvLY[x][y] y RefIdxLY[x][y]
[0664] gen de referencia de inter vista ivRefPic._______________________________________________________
[0666]
[0668] La realización 3 se describe de nuevo basándose en la Tabla 4. Las variables de la Tabla 3 son las mismas que las de la Tabla 2.
[0669] El módulo de inter predicción 2100 realiza una inicialización antes de derivar información de movimiento en una subunidad de predicción actual usando una subunidad de predicción de un bloque de referencia. La inicialización es la misma que la descrita anteriormente en relación con la Tabla 2.
[0670] Además, las variables availableFlagLXZero, mvLXZero y refIdxLXZero se establecen como en las Ecuaciones 23 y 24. En el presente caso, X es 0 o 1.
[0671] [Ecuación 23]
[0672] availableFlagL0Zero= 1
[0673] mvL0Zero= (0, 0)
[0674] refIdxL0Zero= 0
[0675] [Ecuación 24]
[0676] availableFlagL1Zero= 1
[0677] mvL1Zero= (0, 0)
[0678] refIdxL1 Zero= 0
[0679] En el presente caso, availableFlagLXZero significa un identificador con respecto a si la información de movimiento por defecto está disponible, mvLXZero significa la información de movimiento por defecto, y refIdxLXZero significa el índice de referencia de la información de movimiento por defecto.
[0680] [0301] Después de establecer las variables como anteriormente, el módulo de inter predicción 2100 realiza el
siguiente proceso sobre yBlk que varía de 0 a (nPbH/nSbH -1 ) y xBIk que varía de 0 a (nPbW /nSbW -1). En el presente caso, xBlk significa la coordenada x del bloque, e yBlk significa la coordenada y del bloque.
[0681] En primer lugar, el módulo de inter predicción 2100 inicializa la información para identificar si predecir información de movimiento a partir de una subunidad de predicción del bloque de referencia, la bandera de predicción de subunidad de predicción, información de movimiento en la subunidad de predicción y el índice de referencia de la subunidad de predicción. La inicialización es la misma que la descrita anteriormente en relación con la Tabla 2.
[0682] La posición (xRef, yRef) del bloque de referencia se restablece como se muestra en la Ecuación 25 de una forma por subunidad de predicción.
[0683] [Ecuación 25]
[0684] xRef=Clip3(0,PicWidthlnSamplesL-1,
[0685] xPb+xBlk*nSbW+nSbW/ 2 ((mvD/sp[0] 2) >> 2)))
[0686] yRef=Cl/p3(0,P/cHe/gthlnSamplesL-1,
[0687] yPb+yBlk*nSbH+nSbH/ 2 ((mvD/sp[1] 2) >> 2)))
[0688] En caso de que el bloque de referencia de inter vista se codifique en el modo intra, el módulo de inter predicción 2100 puede realizar el siguiente proceso sobre X que varía de 0 a 1.
[0689] Cuando X es 0 o el sector actual es el sector B, cada variable se restablece para Y (Y varía de X a (1 - X)) como se ha descrito anteriormente en relación con la Tabla 2.
[0690] En este caso, sipredFlagLYIvRe1[ xIvRefPb][ ylvRefPb ] es 1, la siguiente Ecuación 26 puede ser aplicable a i que varía de 0 a num_ref_idx_1X_active_minus1 (el número de imágenes de referencia en la lista de imágenes de referencia).
[0691] [Ecuación 26]
[0692] spMvLX[xBlk][yBlk]=mvLYIvRe1[xIvRefPb][yIvRefPb]
[0693] spRefIdxLX[xBlk][yBlk]=/
[0694] spPredHagLX[xBlk][yBlk]= 1
[0695] curAva/lableFlag= 1
[0696] Después de realizar el proceso descrito anteriormente, en caso de que curAvailableFlag sea 0, el módulo de inter predicción 2100 puede aplicar la Ecuación 27 a X que varía de 0 a 1.
[0697] En otras palabras, en caso de que la información de movimiento no pueda derivarse a partir de la subunidad de predicción del bloque de referencia, el módulo de inter predicción 2100 puede derivar información de movimiento en la subunidad de predicción del bloque actual a partir de la información de movimiento por defecto establecida arbitrariamente.
[0698] [Ecuación 27]
[0699] spMvLX[xBlk][yBlk]
[0700] spRefIdxLX[xBlk][yBlk]=refídxLXZero
[0701] spPredFlagLX[xBlk][yBlk]=ava/lableFlagLXZero
[0702] Por último, después de que se hayan realizado la totalidad de los procesos descritos anteriormente, una variable, curSubBlockIdx, se establece a curSubBlockIdx 1, y si availableFlagL0InterView y availableFlagL1InterView son 0, se finaliza el proceso de derivación de información de movimiento de acuerdo con la realización 3.
[0703] La figura 26 es una vista que ilustra un proceso ilustrativo de derivación de información de movimiento en una subunidad de predicción de un bloque actual usando alguna información de movimiento.
[0704] [0311] Haciendo referencia a la figura 26, los bloques situados en el extremo superior de la figura 26 significan subunidades de predicción del bloque de referencia, y los bloques situados en el extremo inferior de la figura 26 significan subunidades de predicción del bloque actual. Además, la información de movimiento por defecto se almacena en un espacio de almacenamiento. En el presente caso, la información de movimiento por defecto mostrada
en la figura 26 puede significar información de movimiento por defecto establecida arbitrariamente de acuerdo con la realización 3.
[0706] Tras derivar la información de movimiento en la subunidad de predicción del bloque actual usando la información de movimiento por defecto, cada subunidad de predicción en el bloque de referencia puede utilizar la información de movimiento por defecto que se establece arbitrariamente. En otras palabras, puede derivarse simultáneamente información de movimiento en la pluralidad de subunidades de predicción del bloque actual usando la información de movimiento por defecto, y la pluralidad de subunidades de predicción del bloque actual puede abordar la cuestión de la dependencia de datos. En consecuencia, tras el uso de información de movimiento por defecto con algún valor, el módulo de inter predicción 2100 puede derivar información de movimiento en paralelo.
[0708] Como se ha descrito anteriormente, de acuerdo con la realización 3, el módulo de inter predicción 2100 deriva información de movimiento usando la información de movimiento por defecto con un valor. En consecuencia, el método de derivación de información de movimiento de acuerdo con la realización 3 posibilita la derivación independiente de información de movimiento en cada subunidad de predicción en el bloque de referencia. En otras palabras, la realización 3 no requiere el descubrimiento secuencial de subunidades de predicción a partir de las cuales puede derivarse información de movimiento para hallar subunidades de predicción a partir de las cuales puede derivarse información de movimiento, y en caso de que sea imposible usar la primera subunidad de predicción del bloque de referencia para derivar información de movimiento, la realización 3 deriva información de movimiento en la subunidad de predicción del bloque actual usando información de movimiento predeterminada. En este sentido, la derivación de información de movimiento de acuerdo con la realización 3 quita la dependencia de datos, posibilitando la derivación paralelizada de información de movimiento en cada subunidad de predicción. Además, la derivación de información de movimiento de acuerdo con la realización 3 evita un acceso de memoria adicional en contraste con métodos de derivación de información de movimiento existentes, reduciendo de este modo el número de veces de acceso a la memoria.
[0710] La figura 27 es una vista que ilustra esquemáticamente los tiempos requeridos para derivar información de movimiento de acuerdo con la presente invención.
[0712] Haciendo referencia a la figura 20, cuando el tiempo necesario para derivar información de movimiento a partir de una subunidad de predicción es T, y el número de subunidades de predicción en un bloque de referencia es N, el tiempo necesario para derivar toda la información de movimiento a partir de bloque de referencia es N x T. Sin embargo, tras derivar información de movimiento de acuerdo con una realización de la presente invención, la derivación de información de movimiento puede paralelizarse y, por lo tanto, el tiempo de derivar información de movimiento corresponde a T y se reduce un retardo de codificación/descodificación de imágenes 3D.
[0714] Las realizaciones descritas anteriormente pueden tener diferentes intervalos aplicables dependiendo de tamaños de bloque, profundidades de unidad de codificación (CU) o profundidades de unidad de transformada (TU). Como la variable para determinar un intervalo aplicable, puede usarse un valor predeterminado en el codificador/descodificador o un valor determinado de acuerdo con un perfil o nivel, o si el codificador especifica un valor variable en el flujo de bits, el descodificador puede obtener el valor variable a partir del flujo de bits.
[0716] Por ejemplo, en caso de que sean aplicables diferentes intervalos aplicables dependiendo de las profundidades de CU, puede haber un esquema (el método A) en el que este es aplicable solo a una profundidad dada o más, un esquema (el método B) en el que este es aplicable solo a la profundidad dada o menos, o un esquema (el método C) en el que este solo es aplicable a la profundidad dada. En caso de que los métodos de acuerdo con la presente invención no sean aplicables a ninguna de las profundidades, puede usarse un indicador (bandera) para indicar lo mismo, o puede indicarse con una profundidad de CU que los métodos de acuerdo con la presente invención no son aplicables, en donde la profundidad de CU puede establecerse para que sea más grande que la profundidad máxima que puede tener la CU.
[0718] T l 1
[0721]
[0724] [0318] En las realizaciones descritas anteriormente, los métodos se describen basándose en los diagramas de flujo con una serie de etapas o unidades, pero algunas etapas pueden realizarse simultáneamente o en un orden diferente con otras etapas. Debería ser apreciado por un experto en la materia que las etapas en los diagramas de flujo no se
excluyen entre sí y que pueden añadirse otras etapas a los diagramas de flujo o que algunas de las etapas pueden eliminarse de los diagramas de flujo.
[0725] Además, las realizaciones descritas anteriormente incluyen diversos aspectos de ejemplos. Aunque no pueden describirse todas las combinaciones posibles para representar diversos aspectos, puede ser apreciado por los expertos en la materia que puede ser posible cualquier otra combinación. En consecuencia, la presente invención incluye todos los otros cambios, modificaciones y variaciones que pertenecen a las siguientes reivindicaciones.
[0726] Los métodos descritos anteriormente de acuerdo con la presente invención pueden prepararse en un programa ejecutable por ordenador que puede almacenarse en un medio de registro legible por ordenador, ejemplos de lo cual incluyen una ROM, una RAM, un CD-ROM, una cinta magnética, un disco flexible o un dispositivo de almacenamiento de datos óptico, o puede implementarse en forma de una onda portadora (por ejemplo, transmisión a través de Internet).
[0727] El medio de registro legible por ordenador puede distribuirse en sistemas informáticos conectados a través de una red, y los códigos legibles por ordenador pueden almacenarse y ejecutarse de una forma distributiva. Los programas, códigos o segmentos de código funcionales para implementar los métodos descritos anteriormente pueden ser inferidos fácilmente por programadores en la técnica a la que concierne la presente invención.
Claims (1)
1. REIVINDICACIONES
Un método para codificar imágenes que incluye una imagen bidimensional o una imagen tridimensional, incluyendo el método un proceso para derivar información de movimiento en una subunidad de predicción que comprende:
determinar si una subunidad de predicción central correspondiente a una posición central del bloque actual dentro de un bloque de referencia tiene información de movimiento (S2310);
cuando la subunidad de predicción central no tiene información de movimiento, terminar el proceso para derivar información de movimiento en una subunidad de predicción;
de lo contrario, cuando la subunidad de predicción central tiene información de movimiento, llevar a cabo las siguientes etapas:
almacenar la información de movimiento de la subunidad de predicción central (S2320); para cada subunidad de predicción actual dentro del bloque actual:
determinar si una subunidad de predicción dentro del bloque de referencia tiene información de movimiento, correspondiendo la subunidad de predicción dentro del bloque de referencia a la subunidad de predicción actual (S2340);
derivar información de movimiento de la subunidad de predicción actual dentro del bloque actual a partir de la información de movimiento de la subunidad de predicción dentro del bloque de referencia cuando la subunidad de predicción dentro del bloque de referencia tiene información de movimiento (S2350); y
derivar información de movimiento de la subunidad de predicción actual dentro del bloque actual a partir de la información de movimiento almacenada de la subunidad de predicción central dentro del bloque de referencia cuando la subunidad de predicción dentro del bloque de referencia no tiene información de movimiento (S2360).
Un método para descodificar imágenes que incluye una imagen bidimensional o una imagen tridimensional, incluyendo el método un proceso para derivar información de movimiento en una subunidad de predicción que comprende:
determinar si una subunidad de predicción central correspondiente a una posición central del bloque actual dentro de un bloque de referencia tiene información de movimiento (S2310);
cuando la subunidad de predicción central no tiene información de movimiento, terminar el proceso para derivar información de movimiento en una subunidad de predicción;
de lo contrario, cuando la subunidad de predicción central tiene información de movimiento, llevar a cabo las siguientes etapas:
almacenar la información de movimiento de la subunidad de predicción central (S2320);
para cada subunidad de predicción actual dentro del bloque actual:
determinar si una subunidad de predicción dentro del bloque de referencia tiene información de movimiento, correspondiendo la subunidad de predicción dentro del bloque de referencia a la subunidad de predicción actual (S2340);
derivar información de movimiento de la subunidad de predicción actual dentro del bloque actual a partir de la información de movimiento de la subunidad de predicción dentro del bloque de referencia cuando la subunidad de predicción dentro del bloque de referencia tiene información de movimiento (S2350); y
derivar información de movimiento de la subunidad de predicción actual dentro del bloque actual a partir de la información de movimiento almacenada de la subunidad de predicción central dentro del bloque de referencia cuando la subunidad de predicción dentro del bloque de referencia no tiene información de movimiento (S2360).
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20140000527 | 2014-01-03 | ||
| KR20140001531 | 2014-01-06 | ||
| PCT/KR2015/000050 WO2015102443A1 (ko) | 2014-01-03 | 2015-01-05 | 서브 예측 유닛 단위의 시간적인 시점 간 움직임 정보 유도의 방법 및 장치 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3041933T3 true ES3041933T3 (en) | 2025-11-17 |
Family
ID=53793011
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES15733249T Active ES3041933T3 (en) | 2014-01-03 | 2015-01-05 | Method and device for inducing motion information between temporal points of sub prediction unit |
Country Status (11)
| Country | Link |
|---|---|
| US (7) | US10681369B2 (es) |
| EP (3) | EP4518322A3 (es) |
| JP (6) | JP6616773B2 (es) |
| KR (10) | KR101710034B1 (es) |
| CN (6) | CN110430433B (es) |
| DK (1) | DK3091743T3 (es) |
| ES (1) | ES3041933T3 (es) |
| FI (1) | FI3091743T3 (es) |
| HU (1) | HUE072139T2 (es) |
| PL (1) | PL3091743T3 (es) |
| RU (1) | RU2680204C2 (es) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110430433B (zh) | 2014-01-03 | 2022-12-20 | 庆熙大学校产学协力团 | 导出子预测单元的时间点之间的运动信息的方法和装置 |
| CN118921483A (zh) | 2018-03-14 | 2024-11-08 | Lx 半导体科技有限公司 | 图像编码/解码方法和发送方法 |
| KR102502175B1 (ko) * | 2018-04-01 | 2023-02-21 | 엘지전자 주식회사 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
| US12348762B2 (en) | 2018-06-19 | 2025-07-01 | Qualcomm Incorporated | Signaling sub-prediction unit motion vector predictor |
| CN118474390A (zh) * | 2019-01-02 | 2024-08-09 | Lg 电子株式会社 | 基于sbtmvp的帧间预测方法和设备 |
| WO2020141881A1 (ko) * | 2019-01-02 | 2020-07-09 | 엘지전자 주식회사 | 서브블록 단위의 움직임 정보 기반 인터 예측 방법 및 장치 |
| CN120676154A (zh) * | 2019-06-25 | 2025-09-19 | 韩国电子通信研究院 | 图像编码/解码方法和设备 |
| KR102612539B1 (ko) * | 2019-12-17 | 2023-12-11 | 한국전자통신연구원 | 다시점 비디오 부호화 및 복호화 방법 |
| KR20240051491A (ko) | 2022-10-13 | 2024-04-22 | 엘지디스플레이 주식회사 | 표시 장치 |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW312770B (en) * | 1996-10-15 | 1997-08-11 | Japen Ibm Kk | The hiding and taking out method of data |
| RU2395174C1 (ru) | 2006-03-30 | 2010-07-20 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ и устройство для декодирования/кодирования сигнала видео |
| JP4752631B2 (ja) * | 2006-06-08 | 2011-08-17 | 株式会社日立製作所 | 画像符号化装置、及び画像符号化方法 |
| CN101647279A (zh) | 2007-01-24 | 2010-02-10 | Lg电子株式会社 | 用于处理视频信号的方法和装置 |
| CN101267556B (zh) * | 2008-03-21 | 2011-06-22 | 海信集团有限公司 | 快速运动估计方法及视频编解码方法 |
| WO2009139569A2 (ko) * | 2008-05-13 | 2009-11-19 | 엘지전자(주) | 비디오 신호 디코딩 방법 및 장치 |
| JP2010016454A (ja) * | 2008-07-01 | 2010-01-21 | Sony Corp | 画像符号化装置および方法、画像復号装置および方法、並びにプログラム |
| KR20110071047A (ko) * | 2009-12-20 | 2011-06-28 | 엘지전자 주식회사 | 비디오 신호 디코딩 방법 및 장치 |
| JP2011259040A (ja) * | 2010-06-04 | 2011-12-22 | Sony Corp | 画像処理装置および方法 |
| CN106937122B (zh) * | 2010-10-28 | 2020-03-27 | 韩国电子通信研究院 | 视频解码方法 |
| HU1000640D0 (en) | 2010-11-29 | 2011-02-28 | Holografika Hologrameloeallito Fejlesztoe Es Forgalmazo Kft | Image coding and decoding method and apparatus for efficient encoding and decoding of 3d field content |
| CN106851304B (zh) * | 2010-12-14 | 2019-08-30 | M&K控股株式会社 | 用于解码运动画面的设备 |
| US10397599B2 (en) | 2010-12-17 | 2019-08-27 | Electronics And Telecommunications Research Institute | Method and apparatus for inter prediction using motion vector candidate based on temporal motion prediction |
| US9363535B2 (en) * | 2011-07-22 | 2016-06-07 | Qualcomm Incorporated | Coding motion depth maps with depth range variation |
| CN110855984B (zh) * | 2012-01-18 | 2023-05-02 | 韩国电子通信研究院 | 视频解码装置、视频编码装置和传输比特流的方法 |
| US20130258052A1 (en) | 2012-03-28 | 2013-10-03 | Qualcomm Incorporated | Inter-view residual prediction in 3d video coding |
| JP2013207755A (ja) * | 2012-03-29 | 2013-10-07 | Sony Corp | 画像処理装置および方法 |
| EP2839639A4 (en) | 2012-04-19 | 2016-01-06 | Intel Corp | THREE-DIMENSIONAL VIDEO CODING (3D) INCLUDING DEPARTIVITY VECTOR CALIBRATION BASED ON DEPTH |
| WO2013159643A1 (en) | 2012-04-24 | 2013-10-31 | Mediatek Inc. | Method and apparatus of motion vector derivation for 3d video coding |
| KR20160075753A (ko) * | 2012-05-10 | 2016-06-29 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
| US9420286B2 (en) * | 2012-06-15 | 2016-08-16 | Qualcomm Incorporated | Temporal motion vector prediction in HEVC and its extensions |
| EP2859724B1 (en) | 2012-06-22 | 2019-09-04 | MediaTek Inc. | Method and apparatus of adaptive intra prediction for inter-layer coding |
| CN102984521B (zh) * | 2012-12-12 | 2015-04-08 | 四川大学 | 基于时域相关性的高性能视频编码帧间模式判决方法 |
| WO2015003383A1 (en) * | 2013-07-12 | 2015-01-15 | Mediatek Singapore Pte. Ltd. | Methods for inter-view motion prediction |
| EP3028466B1 (en) | 2013-07-24 | 2022-01-26 | Qualcomm Incorporated | Simplified advanced motion prediction for 3d-hevc |
| CN110430433B (zh) * | 2014-01-03 | 2022-12-20 | 庆熙大学校产学协力团 | 导出子预测单元的时间点之间的运动信息的方法和装置 |
| JP6616733B2 (ja) | 2016-05-10 | 2019-12-04 | エイチ・シー・ネットワークス株式会社 | ネットワークシステムおよびサーバ装置 |
-
2015
- 2015-01-05 CN CN201910682350.3A patent/CN110430433B/zh active Active
- 2015-01-05 FI FIEP15733249.5T patent/FI3091743T3/fi active
- 2015-01-05 KR KR1020150000578A patent/KR101710034B1/ko active Active
- 2015-01-05 CN CN201910681943.8A patent/CN110855992B/zh active Active
- 2015-01-05 ES ES15733249T patent/ES3041933T3/es active Active
- 2015-01-05 HU HUE15733249A patent/HUE072139T2/hu unknown
- 2015-01-05 CN CN201910681941.9A patent/CN110430432B/zh active Active
- 2015-01-05 EP EP24222383.2A patent/EP4518322A3/en active Pending
- 2015-01-05 CN CN201580003671.6A patent/CN105874798B/zh active Active
- 2015-01-05 EP EP15733249.5A patent/EP3091743B1/en active Active
- 2015-01-05 DK DK15733249.5T patent/DK3091743T3/da active
- 2015-01-05 RU RU2016125782A patent/RU2680204C2/ru active
- 2015-01-05 CN CN202410414099.3A patent/CN118400532A/zh active Pending
- 2015-01-05 EP EP24222162.0A patent/EP4550795A1/en active Pending
- 2015-01-05 JP JP2016544462A patent/JP6616773B2/ja active Active
- 2015-01-05 PL PL15733249.5T patent/PL3091743T3/pl unknown
- 2015-01-05 CN CN201910681940.4A patent/CN110381317B/zh active Active
- 2015-01-05 US US15/109,573 patent/US10681369B2/en active Active
-
2017
- 2017-02-20 KR KR1020170022192A patent/KR102179072B1/ko active Active
- 2017-02-20 KR KR1020170022191A patent/KR102179071B1/ko active Active
-
2019
- 2019-11-07 JP JP2019202695A patent/JP6941657B2/ja active Active
- 2019-11-07 JP JP2019202688A patent/JP6941656B2/ja active Active
-
2020
- 2020-04-24 US US16/857,531 patent/US11115674B2/en active Active
- 2020-04-24 US US16/857,519 patent/US10986359B2/en active Active
- 2020-11-10 KR KR1020200149041A patent/KR102321412B1/ko active Active
- 2020-11-10 KR KR1020200149042A patent/KR102299009B1/ko active Active
-
2021
- 2021-07-27 US US17/386,018 patent/US11627331B2/en active Active
- 2021-07-27 US US17/443,475 patent/US11711536B2/en active Active
- 2021-09-01 KR KR1020210116079A patent/KR102321413B1/ko active Active
- 2021-09-03 JP JP2021144107A patent/JP7183362B2/ja active Active
- 2021-09-03 JP JP2021144086A patent/JP7183361B2/ja active Active
- 2021-10-28 KR KR1020210145772A patent/KR102367799B1/ko active Active
-
2022
- 2022-02-22 KR KR1020220022847A patent/KR102446602B1/ko active Active
- 2022-09-20 KR KR1020220118305A patent/KR20220131215A/ko not_active Ceased
- 2022-11-15 JP JP2022182749A patent/JP7527334B2/ja active Active
-
2023
- 2023-06-05 US US18/329,014 patent/US12184882B2/en active Active
-
2024
- 2024-07-15 KR KR1020240092808A patent/KR20240115213A/ko active Pending
- 2024-11-12 US US18/945,258 patent/US20250071314A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3041933T3 (en) | Method and device for inducing motion information between temporal points of sub prediction unit | |
| RU2828826C2 (ru) | Способ декодирования изображения, способ кодирования изображения и машиночитаемый носитель информации | |
| CA2891672C (en) | Method and apparatus for deriving temporal inter-view motion information of sub-prediction unit | |
| KR20150114913A (ko) | 변이 벡터를 사용한 병합 움직임 후보 유도 장치 및 방법 | |
| KR20150102748A (ko) | 서브 예측 유닛 단위의 시간적인 시점 간 움직임 정보 유도의 방법 및 장치 |