ES2906182T3 - Method to decode multiview video - Google Patents
Method to decode multiview video Download PDFInfo
- Publication number
- ES2906182T3 ES2906182T3 ES14876960T ES14876960T ES2906182T3 ES 2906182 T3 ES2906182 T3 ES 2906182T3 ES 14876960 T ES14876960 T ES 14876960T ES 14876960 T ES14876960 T ES 14876960T ES 2906182 T3 ES2906182 T3 ES 2906182T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- prediction
- current block
- motion vector
- curr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/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/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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N19/45—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
-
- 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/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un método para decodificar un vídeo multivista, comprendiendo el método: determinar esquemas de predicción de movimiento realizados para que se decodifique un bloque actual y un bloque coubicado correspondiente al bloque actual, se determina que los esquemas de predicción de movimiento son una predicción a largo plazo, una predicción a corto plazo y una predicción intervista; y generar un vector de movimiento del bloque actual utilizando un vector de movimiento del bloque coubicado según los esquemas de predicción de movimiento determinados, en donde cuando la predicción intervista se realiza para uno del bloque actual y el bloque coubicado y luego se realiza la predicción a largo plazo o la predicción a corto plazo para el otro bloque, se genera el vector de movimiento del bloque actual utilizando un vector predeterminado o el vector de movimiento del bloque coubicado, en donde el bloque coubicado incluye un bloque temporal coubicado.A method for decoding a multi-view video, the method comprising: determining motion prediction schemes performed so that a current block and a collocated block corresponding to the current block are decoded, the motion prediction schemes determined to be long-term prediction , a short-term prediction and an interview prediction; and generating a current block motion vector using a collocated block motion vector in accordance with the determined motion prediction schemes, wherein when interview prediction is performed for one of the current block and the collocated block and then prediction is performed a long-term or the short-term prediction for the other block, the current block motion vector is generated using a predetermined vector or the collocated block motion vector, where the collocated block includes a temporary collocated block.
Description
DESCRIPCIÓNDESCRIPTION
Método para decodificar vídeo multivistaMethod to decode multiview video
Campo técnicotechnical field
La presente divulgación se refiere a codificar/descodificar un vídeo multivista y, más particularmente, a métodos y aparatos para realizar predicción de vector de movimiento y predicción de residuo para un vídeo multivista.The present disclosure relates to encoding/decoding multiview video, and more particularly, to methods and apparatus for performing motion vector prediction and residue prediction for multiview video.
Antecedentes de la técnicaBackground art
La codificación de vídeo de alta eficiencia (HEVC), que se sabe que tiene aproximadamente el doble de eficiencia de compresión que la codificación de vídeo avanzada/H.264 heredada (H.264/AVC), se ha estandarizado recientemente. HEVC define una unidad de codificación (CU), una unidad de predicción (PU) y una unidad de transformación (TU) en una estructura de árbol cuádruple, y adopta un desplazamiento adaptativo de muestra (SAO) y un filtro en bucle, como un filtro de desbloqueo. HEVC también aumenta la eficiencia de codificación de compresión al mejorar la intrapredicción y la interpredicción convencionales.High Efficiency Video Coding (HEVC), which is known to have approximately twice the compression efficiency of legacy H.264/Advanced Video Coding (H.264/AVC), has recently been standardized. HEVC defines a coding unit (CU), a prediction unit (PU), and a transform unit (TU) in a quad-tree structure, and adopts a sample adaptive shift (SAO) and a loop filter, as a unlock filter. HEVC also increases compression coding efficiency by improving conventional intraprediction and interprediction.
Mientras tanto, la codificación de vídeo escalable (SVC) se está estandarizando como una extensión de HEVC, y la codificación de vídeo tridimensional (3DVC) basada en H.264/AV o HEVC también se está estandarizando a través de la mejora de la codificación multivista convencional (MVC).Meanwhile, scalable video coding (SVC) is being standardized as an extension of HEVC, and 3D video coding (3DVC) based on H.264/AV or HEVC is also being standardized through enhanced coding. conventional multiview (MVC).
El grupo de expertos en vídeo, MPEG de la organización internacional de estandarización, ISO/IEC, comenzó recientemente a trabajar en la estandarización de 3DVC. La estandarización de 3DVC se basa en una técnica de codificación existente para vídeo bidimensional (2D) de única vista (H.264/AVC), una técnica de codificación para vídeo multivista 2D (MVC) y HEVC que recientemente ha sido estandarizado por el Equipo Colaborativo Conjunto sobre Codificación de Vídeo (JCT-VC).The group of video experts, MPEG of the international organization for standardization, ISO/IEC, recently began work on the standardization of 3DVC. The 3DVC standardization is based on an existing encoding technique for single-view two-dimensional (2D) video (H.264/AVC), an encoding technique for 2D multi-view video (MVC), and HEVC that has recently been standardized by the Team Joint Collaborative on Video Coding (JCT-VC).
Específicamente, el MPEG y el ITU-T han decidido estandarizar 3DVC de manera conjunta y organizaron un nuevo grupo colaborativo de estandarización llamado Equipo de colaboración conjunta sobre extensiones de codificación de vídeo 3D (JCT-3V, Joint Collaborative Team on 3D Video Coding Extensions). El JCT-3V está definiendo una sintaxis avanzada para la codificación/decodificación de profundidad en el MVC convencional y estandarizando una técnica de codificación/decodificación para una nueva imagen en color e imagen de profundidad basada en H.264/AVC y una técnica de codificación/decodificación para un imagen en color multivista e imagen de profundidad basada en 3D-HEVC.Specifically, MPEG and ITU-T have jointly decided to standardize 3DVC and organized a new collaborative standardization group called the Joint Collaborative Team on 3D Video Coding Extensions (JCT-3V) . . The JCT-3V is defining an advanced syntax for depth encoding/decoding in the conventional MVC and standardizing an encoding/decoding technique for a new color image and depth image based on H.264/AVC and an encoding technique. /decoding for a multiview color image and depth image based on 3D-HEVC.
Se está discutiendo una variedad de técnicas para la estandarización de 3DVC. Por lo general, incluyen un esquema de codificación/descodificación basado en la predicción intervista. En otras palabras, debido a que la cantidad de datos de un vídeo multivista para codificar y transmitir aumenta en proporción al número de vistas, existe la necesidad de desarrollar una técnica eficiente para codificar/decodificar un vídeo multivista basado en la dependencia entre vistas. ZHANG L ET AL: "Test Model 6 of 3D-HEVC and MV-HEVC", 6. REUNIÓN JCT-3V; 25-10-2013 - 1-11-2013; GINEBRA; (EL EQUIPO DE COLABORACIÓN CONJUNTA EN DESARROLLO DE EXTENSIÓN DE CODIFICACIÓN DE VÍDEO 3D DE ISO/IEC JTC1/SC29/WG11 Y ITU-T SG.16); N.° JCT3V-F1005 divulga la codificación de vistas dependientes.A variety of techniques are being discussed for the standardization of 3DVC. They usually include an encoding/decoding scheme based on interview prediction. In other words, since the amount of data of a multiview video to encode and transmit increases in proportion to the number of views, there is a need to develop an efficient technique for encoding/decoding a multiview video based on the dependency between views. ZHANG L ET AL: "Test Model 6 of 3D-HEVC and MV-HEVC", 6. JCT-3V MEETING; 10-25-2013 - 11-1-2013; GENEVA; (THE ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 3D VIDEO CODING EXTENSION DEVELOPMENT JOINT COLLABORATIVE TEAM); #JCT3V-F1005 discloses encoding of dependent views.
TECH G ET AL: "3D-HEVC Draft Text 2", 6. REUNIÓN JCT-3V; 25-10-2013 - 1-11-2013; GINEBRA; (EL EQUIPO DE COLABORACIÓN CONJUNTA EN DESARROLLO DE EXTENSIÓN DE CODIFICACIÓN DE VÍDEO 3D DE ISO/IEC JTC1/SC29/WG11 Y ITU-T SG.16); N.° JCT3V-F1001, especifica la codificación de vídeo multivista y profundidad, denominada codificación de vídeo de alta eficiencia 3D (3D-HEVC).TECH G ET AL: "3D-HEVC Draft Text 2", 6. JCT-3V MEETING; 10-25-2013 - 11-1-2013; GENEVA; (THE ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 3D VIDEO CODING EXTENSION DEVELOPMENT JOINT COLLABORATIVE TEAM); No. JCT3V-F1001, specifies multi-view and depth video encoding, called 3D High Efficiency Video Coding (3D-HEVC).
ZHANG L ET AL: "CE4: Further improvements on advanced residual prediction", 6. REUNIÓN JCT-3V; 25-10-2013 -1-11-2013; GINEBRA; (EL EQUIPO DE COLABORACIÓN CONJUNTA EN DESARROLLO DE EXTENSIÓN DE CODIFICACIÓN DE VÍDEO 3D DE ISO/IEC JTC1/SC29/WG11 Y ITU-T SG.16); N.° JCT3V-F0123 divulga una propuesta que es un seguimiento de JCT3V-E0124 y mejora la eficiencia de codificación de ARP.ZHANG L ET AL: "CE4: Further improvements on advanced residual prediction", 6. JCT-3V MEETING; 10-25-2013 -11-1-2013; GENEVA; (THE ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 3D VIDEO CODING EXTENSION DEVELOPMENT JOINT COLLABORATIVE TEAM); #JCT3V-F0123 discloses a proposal that is a follow-up to JCT3V-E0124 and improves ARP encoding efficiency.
ZHANG K ET AL: "3D-CE4: Results on improved advanced residual prediction", 6. REUNIÓN JCT-3V; 25-10-2013 -1-11-2013; GINEBRA; (EL EQUIPO DE COLABORACIÓN CONJUNTA EN DESARROLLO DE EXTENSIÓN DE CODIFICACIÓN DE VÍDEO 3D DE ISO/IEC JTC1/SC29/WG11 Y ITU-T SG.16); N.° JCT3V-F0108 presenta un método de derivación del vector de disparidad adaptativo para la predicción de residuo avanzada.ZHANG K ET AL: "3D-CE4: Results on improved advanced residual prediction", 6. JCT-3V MEETING; 10-25-2013 -11-1-2013; GENEVA; (THE ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 3D VIDEO CODING EXTENSION DEVELOPMENT JOINT COLLABORATIVE TEAM); No. JCT3V-F0108 presents an adaptive disparity vector derivation method for advanced residual prediction.
DivulgaciónDivulgation
Problema técnicotechnical problem
Para superar el problema anterior, un aspecto de la presente divulgación es proporcionar un método y un aparato para codificar y decodificar un vector de movimiento para un vídeo multivista a través de la predicción de vector de movimiento. To overcome the above problem, one aspect of the present disclosure is to provide a method and apparatus for encoding and decoding a motion vector for a multi-view video through motion vector prediction.
Otro aspecto de la presente divulgación es proporcionar un método y un aparato para codificar y decodificar un residuo para un vídeo multivista a través de la predicción de residuo.Another aspect of the present disclosure is to provide a method and apparatus for encoding and decoding a residue for a multi-view video through residue prediction.
Solución técnicatechnical solution
La invención está definida por las reivindicaciones adjuntas. En un aspecto de la presente divulgación, un método para decodificar un vídeo multivista incluye determinar esquemas de predicción de movimiento realizados para decodificar un bloque actual y un bloque correspondiente que corresponde al bloque actual, y generar un predictor de vector de movimiento del bloque actual usando un vector de movimiento del bloque correspondiente según los esquemas de predicción de movimiento determinados.The invention is defined by the appended claims. In one aspect of the present disclosure, a method of decoding a multi-view video includes determining motion prediction schemes performed to decode a current block and a corresponding block corresponding to the current block, and generating a motion vector predictor of the current block using a motion vector of the corresponding block according to the determined motion prediction schemes.
La determinación de los esquemas de predicción de movimiento puede incluir la adquisición de datos para la decodificación de vídeo mediante la decodificación de un flujo de bits recibido y la determinación de los esquemas de predicción de movimiento realizados para el bloque actual y el bloque correspondiente utilizando los datos para la decodificación de vídeo.Determining motion prediction schemes may include acquiring data for video decoding by decoding a received bit stream and determining performed motion prediction schemes for the current block and the corresponding block using the data for video decoding.
La adquisición de datos para la decodificación de vídeo puede incluir la realización de decodificación de entropía, descuantificación y transformación inversa en el flujo de bits recibido.Data acquisition for video decoding may include performing entropy decoding, dequantization, and reverse transformation on the received bit stream.
La determinación de los esquemas de predicción de movimiento puede incluir la identificación de los esquemas de predicción de movimiento usando al menos una de la información de Identificación (ID) de vista, información de orden de vista e información de bandera para identificar un esquema de predicción de movimiento, incluido en los datos para la decodificación de vídeo.Determining the motion prediction schemes may include identifying the motion prediction schemes using at least one of view ID information, view order information, and flag information to identify a prediction scheme. motion, included in the data for video decoding.
La determinación de esquemas de predicción de movimiento puede incluir realizar una entre predicción a largo plazo, predicción a corto plazo o predicción intervista para cada bloque actual y el bloque correspondiente, utilizando los datos para la decodificación de vídeo.Determining motion prediction schemes may include performing one of long-term prediction, short-term prediction, or interview prediction for each current frame and the corresponding frame, using the data for video decoding.
La generación de un predictor de vector de movimiento del bloque actual puede incluir, cuando se realiza una predicción a largo plazo para el bloque actual y el bloque correspondiente, generar el predictor de vector de movimiento del bloque actual como el vector de movimiento del bloque correspondiente.Generating a current block motion vector predictor may include, when performing a long-term prediction for the current block and the corresponding block, generating the current block motion vector predictor as the corresponding block motion vector .
La generación de un predictor de vector de movimiento del bloque actual puede incluir, cuando se realiza una predicción a corto plazo para el bloque actual y el bloque correspondiente, generar el predictor de vector de movimiento del bloque actual escalando el vector de movimiento del bloque correspondiente utilizando una relación entre una distancia de referencia interimágenes del bloque actual y una distancia de referencia interimágenes del bloque correspondiente.Generating a current block motion vector predictor may include, when performing a short-term prediction for the current block and the corresponding block, generating the current block motion vector predictor by scaling the corresponding block motion vector using a relationship between an inter-image reference distance of the current block and an inter-image reference distance of the corresponding block.
La generación de un predictor de vector de movimiento del bloque actual puede incluir, cuando se realiza una predicción intervista para el bloque actual y el bloque correspondiente, generar el predictor de vector de movimiento del bloque actual escalando el vector de movimiento del bloque correspondiente utilizando una relación entre una distancia de referencia intervista del bloque actual y una distancia de referencia intervista del bloque correspondiente. La generación de un predictor de vector de movimiento del bloque actual puede incluir, cuando se realizan diferentes esquemas de predicción de movimiento para el bloque actual y el bloque correspondiente, no usar el vector de movimiento del bloque correspondiente.Generating a current block motion vector predictor may include, when performing an interview prediction for the current block and the corresponding block, generating the current block motion vector predictor by scaling the corresponding block motion vector using a relationship between an interview reference distance of the current block and an interview reference distance of the corresponding block. Generating a current block motion vector predictor may include, when performing different motion prediction schemes for the current block and the corresponding block, not using the corresponding block motion vector.
La generación de un predictor de vector de movimiento del bloque actual puede incluir además, cuando el vector de movimiento del bloque correspondiente no se usa debido a diferentes esquemas de predicción de movimiento usados para el bloque actual y el bloque correspondiente, generar el predictor de vector de movimiento del bloque actual basado en un vector predeterminado.Generating a current block motion vector predictor may further include, when the corresponding block motion vector is not used due to different motion prediction schemes used for the current block and the corresponding block, generating the motion vector predictor movement of the current block based on a predetermined vector.
El vector predeterminado puede ser (0, 0).The default vector can be (0, 0).
La generación de un predictor de vector de movimiento del bloque actual puede incluir, cuando se realiza una predicción intervista para uno del bloque actual y el bloque correspondiente y se realiza una predicción a largo plazo o una predicción a corto plazo para el otro bloque, no usar el vector de movimiento del bloque correspondiente. La generación de un predictor de vector de movimiento del bloque actual puede incluir, cuando se realiza una predicción a largo plazo para uno del bloque actual y el bloque correspondiente y se realiza una predicción a corto plazo para el otro bloque, o cuando se realiza una predicción a corto plazo para uno del bloque actual y el bloque correspondiente y la predicción a largo plazo se realiza para el otro bloque, sin utilizar el vector de movimiento del bloque correspondiente.The generation of a motion vector predictor of the current block may include, when an interview prediction is made for one of the current block and the corresponding block and a long-term prediction or a short-term prediction is made for the other block, no use the motion vector of the corresponding block. Generating a motion vector predictor of the current block may include, when a long-term prediction is made for one of the current block and the corresponding block and a short-term prediction is made for the other block, or when a short-term prediction for one of the current block and the corresponding block and long-term prediction is performed for the other block, without using the motion vector of the corresponding block.
El método puede incluir además recuperar un vector de movimiento del bloque actual añadiendo el predictor de vector de movimiento del bloque actual a una diferencia de vector de movimiento del bloque actual incluida en los datos para la decodificación de vídeo. The method may further include retrieving a current block motion vector by adding the current block motion vector predictor to a current block motion vector difference included in the data for video decoding.
En otro aspecto de la presente divulgación, un método para decodificar un vídeo multivista incluye determinar un esquema de predicción de movimiento realizado para un primer bloque de referencia al que se hace referencia para la predicción intervista de un bloque actual a decodificar, y generar una residuo de predicción para el bloque actual según el esquema de predicción de movimiento del primer bloque de referencia.In another aspect of the present disclosure, a method of decoding a multiview video includes determining a motion prediction scheme performed for a first referenced block referenced for interview prediction of a current block to be decoded, and generating a residual. prediction for the current block according to the motion prediction scheme of the first reference block.
La determinación de un esquema de predicción de movimiento realizado para un primer bloque de referencia puede incluir la adquisición de datos para la decodificación de vídeo mediante la decodificación de un flujo de bits recibido y la determinación del esquema de predicción de movimiento realizado para el primer bloque de referencia, utilizando los datos para la decodificación de vídeo.Determining an performed motion prediction scheme for a first reference block may include acquiring data for video decoding by decoding a received bit stream and determining the performed motion prediction scheme for the first reference block. reference, using the data for video decoding.
La adquisición de datos para la decodificación de vídeo puede incluir la realización de decodificación de entropía, descuantificación y transformación inversa en el flujo de bits recibido.Data acquisition for video decoding may include performing entropy decoding, dequantization, and reverse transformation on the received bit stream.
La determinación de un esquema de predicción de movimiento realizado para un primer bloque de referencia puede incluir la identificación del esquema de predicción de movimiento utilizando al menos una de la información de ID de Vista, información de orden de vista e información de bandera para identificar un esquema de predicción de movimiento, incluido en los datos para la decodificación de vídeo.Determining a performed motion prediction scheme for a first reference block may include identifying the motion prediction scheme using at least one of View ID information, view order information, and flag information to identify a motion prediction scheme, included in the data for video decoding.
La determinación de un esquema de predicción de movimiento realizado para un primer bloque de referencia puede incluir determinar si se realiza una predicción temporal o una predicción intervista para el primer bloque de referencia utilizando los datos para la decodificación de vídeo.Determining a motion prediction scheme performed for a first reference block may include determining whether a temporal prediction or an interview prediction is performed for the first reference block using the data for video decoding.
La generación de un residuo de predicción para el bloque actual puede incluir generar, como residuo de predicción, una diferencia entre un segundo bloque de referencia al que se hace referencia para la predicción de movimiento temporal del bloque actual y un tercer bloque de referencia al que se hace referencia para el primer bloque de referencia.Generating a prediction residual for the current block may include generating, as a prediction residual, a difference between a second reference block that is referenced for the current block's temporal motion prediction and a third reference block that is referenced for the current block. is referenced for the first reference block.
El segundo bloque de referencia puede pertenecer a una imagen más cercana en una dirección temporal en una lista de referencia para una imagen actual a la que pertenece el bloque actual.The second reference block may belong to a closest image at a time address in a reference list for a current image to which the current block belongs.
La generación de un residuo de predicción para el bloque actual puede incluir, cuando se determina que la predicción de movimiento temporal se realiza para el primer bloque de referencia, generar un vector de movimiento escalado mediante la aplicación de un factor de escala a un vector de movimiento utilizado para buscar el tercer bloque de referencia, y determinando el segundo bloque de referencia usando el vector de movimiento escalado.Generating a prediction residual for the current block may include, when temporal motion prediction is determined to be performed for the first reference block, generating a scaled motion vector by applying a scale factor to a motion vector. motion used to search for the third reference block, and determining the second reference block using the scaled motion vector.
El factor de escala se puede generar en función de una diferencia entre un número de una imagen de referencia a la que pertenece el primer bloque de referencia y un número de una imagen a la que pertenece el tercer bloque de referencia, al que se hace referencia para la predicción de movimiento temporal del primer bloque de referencia, y una diferencia entre un número de una imagen a la que pertenece el bloque actual y un número de una imagen a la que pertenece el segundo bloque de referencia.The scale factor can be generated based on a difference between a number of a reference image to which the first reference block belongs and a number of an image to which the third reference block belongs, which is referenced for temporal motion prediction of the first reference block, and a difference between a number of a picture to which the current block belongs and a number of a picture to which the second reference block belongs.
La generación de un residuo de predicción para el bloque actual puede incluir, cuando se determina que la predicción intervista se realiza para el primer bloque de referencia, determinar el segundo bloque de referencia aplicando (0, 0) como vector de movimiento utilizado para buscar el segundo bloque de referencia.Generating a prediction residual for the current block may include, when the interview prediction is determined to be performed for the first reference block, determining the second reference block by applying (0, 0) as the motion vector used to search for the second reference block. second reference block.
El método puede incluir además la recuperación de un residuo del bloque actual añadiendo el residuo de predicción a una diferencia de residuo del bloque actual incluido en los datos para la decodificación de vídeo.The method may further include recovering a residual of the current block by adding the prediction residual to a residual difference of the current block included in the data for video decoding.
En otro aspecto de la presente divulgación, un aparato para decodificar un vídeo multivista incluye un procesador configurado para determinar un esquema de predicción de movimiento realizado para un primer bloque de referencia al que se hace referencia para la predicción intervista de un bloque actual a decodificar, y generar un residuo de predicción para el bloque actual según el esquema de predicción de movimiento del primer bloque de referencia. Efectos ventajosos In another aspect of the present disclosure, an apparatus for decoding a multi-view video includes a processor configured to determine a performed motion prediction scheme for a referenced first referenced block for interview prediction of a current block to be decoded, and generating a prediction residue for the current block according to the motion prediction scheme of the first reference block. Advantageous effects
Según una realización de la presente divulgación, el método para realizar la predicción de vector de movimiento para un vídeo multivista permite la codificación/descodificación efectiva de un vector de movimiento durante la codificación/descodificación de un vídeo multivista. Es decir, un vector de movimiento temporal se puede predecir adaptativamente según los esquemas de predicción de vectores de movimiento usados para un bloque actual y un bloque correspondiente.According to an embodiment of the present disclosure, the method for performing motion vector prediction for a multi-view video enables effective encoding/decoding of a motion vector during encoding/decoding of a multi-view video. That is, a temporary motion vector can be predicted adaptively according to the motion vector prediction schemes used for a current block and a corresponding block.
Según otra realización (no cubierta por la invención reivindicada) de la presente divulgación, el método para realizar la predicción de residuo para un vídeo multivista permite la codificación/descodificación efectiva de un residuo durante la codificación/descodificación de un vídeo multivista. Es decir, se puede evitar que ocurra un error en el cálculo de un factor de escala usado para escalar un vector de movimiento durante la generación de un residuo de predicción, evitando así un error en la predicción de residuo para un vídeo multivista. According to another embodiment (not covered by the claimed invention) of the present disclosure, the method for performing residue prediction for a multiview video enables effective encoding/decoding of a residue during encoding/decoding of a multiview video. That is, an error in calculating a scale factor used for scaling a motion vector can be prevented from occurring during the generation of a prediction residual, thus preventing an error in the prediction residual for a multi-view video.
Breve descripción de los dibujosBrief description of the drawings
La Figura 1 es una vista conceptual que ilustra un método de predicción de vector de movimiento según una realización de la presente divulgación.Figure 1 is a conceptual view illustrating a motion vector prediction method according to an embodiment of the present disclosure.
La Figura 2 es una vista conceptual que ilustra un método de predicción de vector de movimiento según otra realización de la presente divulgación.Fig. 2 is a conceptual view illustrating a motion vector prediction method according to another embodiment of the present disclosure.
La Figura 3 es una vista conceptual que ilustra un método de predicción de vector de movimiento según otra realización de la presente divulgación.Fig. 3 is a conceptual view illustrating a motion vector prediction method according to another embodiment of the present disclosure.
La Figura 4 es una vista conceptual que ilustra un método de predicción de vector de movimiento según otra realización de la presente divulgación.Fig. 4 is a conceptual view illustrating a motion vector prediction method according to another embodiment of the present disclosure.
La Figura 5 es una vista conceptual que ilustra un método de predicción de vector de movimiento según otra realización de la presente divulgación.Fig. 5 is a conceptual view illustrating a motion vector prediction method according to another embodiment of the present disclosure.
La Figura 6 es un diagrama de flujo que ilustra un método de predicción de vector de movimiento según una realización de la presente divulgación.Figure 6 is a flowchart illustrating a motion vector prediction method according to an embodiment of the present disclosure.
La Figura 7 es una vista conceptual que ilustra un método de predicción de residuo según una realización de la presente divulgación.Figure 7 is a conceptual view illustrating a residue prediction method according to an embodiment of the present disclosure.
La Figura 8 es una vista conceptual que ilustra un método de predicción de residuo según otra realización de la presente divulgación.Fig. 8 is a conceptual view illustrating a residue prediction method according to another embodiment of the present disclosure.
La Figura 9 es una vista conceptual que ilustra un método de predicción de residuo según otra realización de la presente divulgación.Fig. 9 is a conceptual view illustrating a residue prediction method according to another embodiment of the present disclosure.
La Figura 10 es un diagrama de bloques de aparatos para codificar y decodificar un vídeo multivista según una realización de la presente divulgación.Figure 10 is a block diagram of apparatus for encoding and decoding multi-view video in accordance with an embodiment of the present disclosure.
La Figura 11 es un diagrama de bloques de un aparato para codificar un vídeo multivista según una realización de la presente divulgación.Figure 11 is a block diagram of an apparatus for encoding a multi-view video according to an embodiment of the present disclosure.
La Figura 12 es un diagrama de bloques de un aparato para decodificar un vídeo multivista según una realización de la presente divulgación.Figure 12 is a block diagram of an apparatus for decoding a multi-view video according to an embodiment of the present disclosure.
Modo para llevar a cabo la invenciónMode for carrying out the invention
Se pueden realizar diversas modificaciones a la presente divulgación, y la presente divulgación se puede implementar en diversas realizaciones. Diversas realizaciones de la presente divulgación se describen con referencia a los dibujos adjuntos. Sin embargo, el alcance de la presente divulgación no pretende limitarse a las realizaciones particulares y debe entenderse que la presente divulgación cubre todas las modificaciones, equivalentes y/o alternativas que caen dentro del alcance de la presente divulgación. En relación con una descripción de los dibujos, los mismos números de referencia indican los mismos componentes.Various modifications may be made to the present disclosure, and the present disclosure may be implemented in various embodiments. Various embodiments of the present disclosure are described with reference to the accompanying drawings. However, the scope of the present disclosure is not intended to be limited to the particular embodiments and it is to be understood that the present disclosure covers all modifications, equivalents and/or alternatives that fall within the scope of the present disclosure. In connection with a description of the drawings, like reference numerals indicate like components.
El término, tal como se usa en la presente divulgación, primero, segundo, A, B y similares se puede usar para describir diversos componentes, sin limitar los componentes. Estas expresiones se utilizan para distinguir un componente de otro componente. Por ejemplo, un primer componente puede denominarse como segundo componente y viceversa sin salirse del alcance de la presente divulgación. El término y/o incluye una combinación de una pluralidad de elementos relacionados o cualquiera de la pluralidad de elementos relacionados.The term, as used in this disclosure, first, second, A, B and the like can be used to describe various components, without limiting the components. These expressions are used to distinguish one component from another component. For example, a first component may be referred to as a second component and vice versa without departing from the scope of this disclosure. The term and/or includes a combination of a plurality of related elements or any one of a plurality of related elements.
Cuando se dice que un componente se "acopla con/a" o se "conecta a" otro componente, debe entenderse que un componente se acopla o se conecta al otro componente directamente o a través de cualquier otro componente intermedio. Por otro lado, cuando se dice que un componente se "acopla directamente con/a" o se "conecta directamente a" otro componente, debe entenderse que un componente se acopla o se conecta directamente al otro componente sin ningún otro componente entremedio.When it is said that a component is "docked with/to" or "connected to" another component, it should be understood that one component is docked or connected to the other component directly or through any other component in between. On the other hand, when it is said that a component is "directly coupled to" or "directly connected to" another component, it should be understood that one component is directly coupled or connected to the other component without any other component in between.
Los términos utilizados en la presente divulgación se proporcionan para describir simplemente realizaciones específicas, sin pretender limitar el alcance de otras realizaciones. Debe entenderse que las formas singulares incluyen referentes plurales a menos que el contexto dicte claramente lo contrario. En la presente divulgación, el término "incluye" o "tiene" significa la presencia de una característica, un número, una etapa, una operación, un componente, una parte o una combinación de dos o más de ellos como se describe en la presente divulgación, sin excluir la presencia de una o más características, números, etapas, operaciones, componentes, partes o una combinación de dos o más de ellos.The terms used in this disclosure are provided to describe only specific embodiments, without intending to limit the scope of other embodiments. Singular forms should be understood to include plural referents unless the context clearly dictates otherwise. In this disclosure, the term "includes" or "has" means the presence of a feature, a number, a step, an operation, a component, a part, or a combination of two or more of them as described herein. disclosure, without excluding the presence of one or more characteristics, numbers, stages, operations, components, parts or a combination of two or more of them.
A menos que se defina de otro modo, los términos y palabras que incluyen términos técnicos o científicos usados en la siguiente descripción y reivindicaciones pueden tener los mismos significados que los entendidos en general por los expertos en la técnica. Los términos, tal como se definen generalmente en los diccionarios, pueden interpretarse con significados iguales o similares a los significados contextuales de la tecnología relacionada. A menos que se defina lo contrario, los términos no deben interpretarse como significados ideales o excesivamente formales.Unless otherwise defined, terms and words including technical or scientific terms used in the following description and claims may have the same meanings as are generally understood by the experts in the art. Terms, as generally defined in dictionaries, may be interpreted to have the same or similar meanings as the contextual meanings of the related technology. Unless otherwise defined, terms should not be construed as having ideal or overly formal meanings.
Un aparato de codificación de vídeo y un aparato de decodificación de vídeo como se describe a continuación puede ser un ordenador personal (PC), un ordenador portátil, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), una PlayStation Portable (PSP), un terminal de comunicación inalámbrica, un teléfono inteligente y un terminal de servidor, como un servidor de aplicaciones de TV y un servidor de servicios, y puede cubrir una amplia gama de dispositivos, cada uno de los cuales incluye un dispositivo de comunicación, como un módem de comunicación, para realizar la comunicación con un terminal de usuario como diversos dispositivos o una red de comunicación alámbrica/inalámbrica, una memoria para almacenar programas y datos para codificar o decodificar un vídeo o realizar interpredicción o intrapredicción para codificar o decodificar, y un microprocesador para realizar computación y control mediante la ejecución de los programas.A video encoding apparatus and a video decoding apparatus as described below may be a personal computer (PC), a laptop, a personal digital assistant (PDA), a portable media player (PMP), a PlayStation Portable (PSP), a wireless communication terminal, a smartphone, and a server terminal, such as a TV application server and a service server, and can cover a wide range of devices, each of which includes a communication, such as a communication modem, to realize communication with a user terminal such as various devices or a wired/wireless communication network, a memory to store programs and data to encode or decode a video or to perform interprediction or intraprediction to encode or decode, and a microprocessor to perform computation and control by executing the programs.
Además, un vídeo codificado en un flujo de bits por el aparato de codificación de vídeo puede transmitirse al aparato de decodificación de vídeo en tiempo real o en tiempo no real a través de una red alámbrica/inalámbrica como internet, una red de comunicación inalámbrica de corto alcance, un Red de área local inalámbrica (WLAN), una red de banda ancha inalámbrica (WiBro), una red de comunicación móvil o diversas interfaces de comunicación, como un cable y un bus serie universal (USB). El aparato de decodificación de vídeo puede recuperar y reproducir el vídeo al decodificar el vídeo recibido.In addition, a video encoded into a bit stream by the video encoding apparatus can be transmitted to the video decoding apparatus in real time or non-real time through a wired/wireless network such as the Internet, a wireless communication network of short range, a Wireless Local Area Network (WLAN), a wireless broadband network (WiBro), a mobile communication network, or various communication interfaces, such as a cable and a universal serial bus (USB). The video decoding apparatus can retrieve and play the video by decoding the received video.
En general, un vídeo se puede componer de una serie de imágenes, y cada imagen se puede dividir en áreas predeterminadas, como cuadros o bloques. Si una imagen se divide en bloques, los bloques divididos pueden clasificarse en gran medida en intrabloques e interbloques dependiendo de un esquema de codificación. Un intrabloque se refiere a un bloque codificado mediante codificación de intrapredicción, y la codificación de intrapredicción es un esquema para generar un bloque de predicción al predecir píxeles de un bloque actual utilizando píxeles de bloques anteriores recuperados a través de codificación y decodificación en una imagen actual que está siendo codificada, y codificar las diferencias entre los píxeles del bloque de predicción y los del bloque actual. Un interbloque se refiere a un bloque codificado mediante codificación interpredicción. La codificación interpredicción es un esquema para generar un bloque de predicción al predecir de un bloque actual de una imagen actual haciendo referencia a una o más imágenes anteriores o futuras y codificar la diferencia entre el bloque de predicción y el bloque actual. Un cuadro al que se hace referencia para codificar o decodificar una imagen actual se denomina cuadro de referencia. Además, los expertos en la técnica pueden entender que el término, como se usa en esta memoria, "imagen" es intercambiable con otros términos equivalentes, imagen, marco o similares. Además, los expertos en la técnica pueden entender que una imagen de referencia es una imagen recuperada.In general, a video can be made up of a series of images, and each image can be divided into predetermined areas, such as frames or blocks. If a picture is divided into blocks, the divided blocks can be largely classified into intra-block and inter-block depending on a coding scheme. An intra-block refers to a block encoded by intra-prediction coding, and intra-prediction coding is a scheme for generating a prediction block by predicting pixels from a current block using pixels from previous blocks retrieved through encoding and decoding in a current image being encoded, and encode the differences between the pixels in the prediction block and those in the current block. An interblock refers to a block encoded by interprediction encoding. Interprediction encoding is a scheme for generating a prediction block by predicting from a current block of a current image by referencing one or more previous or future images and encoding the difference between the prediction block and the current block. A frame that is referenced to encode or decode a current image is called a reference frame. Furthermore, those skilled in the art can understand that the term, as used herein, "image" is interchangeable with other equivalent terms, image, frame, or the like. Furthermore, it can be understood by those skilled in the art that a reference image is a retrieved image.
Además, el término bloque cubre conceptualmente una unidad de codificación (CU), una unidad de predicción (PU) y una unidad de transformación (TU) definidas en la codificación de vídeo de alta eficiencia (HEVC). En particular, la estimación de movimiento se puede realizar sobre una base de PU.Furthermore, the term block conceptually covers a coding unit (CU), a prediction unit (PU), and a transform unit (TU) defined in High Efficiency Video Coding (HEVC). In particular, motion estimation can be performed on a PU basis.
Específicamente, un proceso de búsqueda de un bloque similar a una PU en un cuadro codificado anterior se denomina Estimación de Movimiento (ME). ME puede ser un proceso de búsqueda de un bloque que tenga el error más pequeño con un bloque actual, sin significar un movimiento real de un bloque.Specifically, a process of searching for a PU-like block in a previous coded frame is called Motion Estimation (ME). ME can be a process of finding a block that has the smallest error with a current block, meaning no actual movement of a block.
Además, la presente divulgación se refiere a una técnica de códec de vídeo para un vídeo multivista, y ME puede aplicarse a un proceso de referencia a una imagen de una vista diferente. En esta memoria, el proceso de hacer referencia a una imagen de una vista diferente puede denominarse predicción intervista.Furthermore, the present disclosure relates to a video codec technique for a multi-view video, and ME can be applied to a process of referencing an image of a different view. In this specification, the process of referencing an image from a different view may be referred to as interview prediction.
Ahora, se describirán en detalle realizaciones preferidas de la presente divulgación con referencia a los dibujos adjuntos.Now, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
Primero se da una descripción de una realización de codificación y decodificación de un vector de movimiento por predicción de vector de movimiento, y luego una realización de codificación y decodificación de un residuo por predicción de residuo.First, a description is given of an embodiment of encoding and decoding a motion vector by motion vector prediction, and then an embodiment of encoding and decoding a residue by residue prediction.
Realización 1 - Método para codificar y decodificar el vector de movimiento a través de predicción de vector de movimientoEmbodiment 1 - Method for encoding and decoding motion vector through motion vector prediction
La predicción de vector de movimiento puede significar un proceso de calcular un Predictor de Vector de Movimiento Temporal (TMVP) usando una correlación entre vectores de movimiento temporal, o calcular un Predictor de Vector de Movimiento Espacial (SMVP) usando una correlación entre vectores de movimiento espacial. Un valor calculado al restar un Predictor de Vector de Movimiento (MVP) de un vector de movimiento de un bloque actual puede denominarse Diferencia de Vector de Movimiento (MVD).Motion vector prediction can mean a process of computing a Temporal Motion Vector Predictor (TMVP) using a correlation between temporal motion vectors, or computing a Spatial Motion Vector Predictor (SMVP) using a correlation between motion vectors. space. A value calculated by subtracting a Motion Vector Predictor (MVP) from a current block's motion vector can be called a Motion Vector Difference (MVD).
La Figura 1 es una vista conceptual que ilustra un método de predicción de vector de movimiento según una realización de la presente divulgación. Figure 1 is a conceptual view illustrating a motion vector prediction method according to an embodiment of the present disclosure.
Con referencia a la Figura 1, se puede construir un vídeo tridimensional (3D) usando imágenes capturadas de una pluralidad de vistas en un vídeo multivista. Una vista se puede distinguir o identificar mediante un ID de Vista.Referring to Figure 1, a three-dimensional (3D) video can be constructed using images captured from a plurality of views in a multi-view video. A view can be distinguished or identified by a View ID.
Específicamente, un vídeo multivista puede incluir un vídeo de una vista base y al menos un vídeo de una vista mejorada o una vista de extensión.Specifically, a multi-view video may include a video of a base view and at least one video of an enhanced view or an extension view.
En la Figura 1, ID de Vista 0 puede identificar una imagen en una vista de referencia, ID de Vista 1 puede incluir una imagen (una imagen actual) de una vista que se codificará o decodificará actualmente, e ID de Vista 2 puede incluir una imagen (una imagen correspondiente) de una vista que ha sido codificada o decodificada antes de codificar y decodificar la imagen actual. Un bloque correspondiente, PUcol puede referirse a un bloque ubicado en correspondencia con la posición de un bloque actual PUcurr en una imagen diferente a la imagen actual Piccurr que incluye el bloque actual PUcurr. Por ejemplo, el bloque correspondiente PUcol puede referirse a un bloque coubicado con el bloque actual PUcurr en una imagen diferente de la imagen actual Piccurr. Además, una imagen correspondiente Piccol puede hacer referencia a una imagen que incluye el bloque correspondiente PUcol.In Figure 1, View ID 0 may identify an image in a reference view, View ID 1 may include an image (a current image) of a view currently to be encoded or decoded, and View ID 2 may include a image (a corresponding image) of a view that has been encoded or decoded before encoding and decoding the current image. A corresponding block PU col may refer to a block located in correspondence with the position of a current block PU curr in a picture other than the current picture Pic curr that includes the current block PU curr . For example, the corresponding PU col block may refer to a block co-located with the current PU curr block in a different image than the current Pic curr image. In addition, a corresponding image Pic col may refer to an image that includes the corresponding block PU col .
La estimación de movimiento se puede realizar en la imagen actual Piccurr para referirse a una imagen de una vista diferente u otra imagen de la misma vista.Motion estimation can be performed on the current image Pic curr to refer to an image in a different view or another image in the same view.
En la presente divulgación, la predicción a largo plazo puede significar referirse a una imagen de la misma vista aparte de una imagen actual por una diferencia de tiempo predeterminada o más lejos. En consecuencia, a hacer referencia a una imagen de la misma vista aparte de una imagen actual con una diferencia de tiempo menor que la diferencia de tiempo predeterminada se le puede hacer referencia como predicción a corto plazo.In the present disclosure, long term prediction may mean referring to an image of the same view apart from a current image by a predetermined time difference or further. Accordingly, referring to an image of the same view apart from a current image with a time difference less than the predetermined time difference can be referred to as short-term prediction.
Un resultado de escalar un vector de movimiento del bloque correspondiente PUcol ubicado en correspondencia con el bloque actual PUcurr en la imagen correspondiente Piccol puede usarse como predictor de vector de movimiento (MVP) del bloque actual PUcurr. La imagen correspondiente Piccol es diferente de la imagen actual Piccurr que incluye el bloque actual PU curr.A result of scaling a motion vector of the corresponding block PU col located in correspondence with the current block PU curr in the corresponding image Pic col can be used as a motion vector predictor (MVP) of the current block PU curr . The corresponding image Pic col is different from the current image Pic curr which includes the current block PU curr .
La Figura 1 ilustra un caso en el que a una imagen de una vista diferente se le hace referencia para el bloque actual PUcurr y a una imagen de una vista diferente también se le hace referencia para el bloque correspondiente PUcol. Es decir, la predicción intervista se puede realizar tanto para el bloque actual PUcurr y para el bloque correspondiente PUcol.Figure 1 illustrates a case where an image from a different view is referenced for the current block PU curr and an image from a different view is also referenced for the corresponding block PU col . That is, the interviewed prediction can be performed both for the current block PU curr and for the corresponding block PU col .
En este caso, la distancia de referencia intervista del bloque actual PUcurr puede ser diferente de la distancia de referencia intervista del bloque correspondiente PUcol. En esta memoria, una distancia de referencia intervista puede ser la diferencia entre los ID de Vista.In this case, the interview reference distance of the current block PU curr may be different from the interview reference distance of the corresponding block PU col . Herein, an interview reference distance may be the difference between the View IDs.
Haciendo referencia a la Figura 1, el bloque actual PUcurr pertenece a ID de Vista 1 y se refiere a una imagen de referencia PicRef perteneciente al ID de Vista 0. Es decir, la distancia de referencia intervista del bloque actual PUcurr es la diferencia entre los ID de Vista, 1.Referring to Figure 1, the current block PU curr belongs to View ID 1 and refers to a reference image Pic Ref belonging to View ID 0. That is, the inter-view reference distance of the current block PU curr is the difference between View IDs, 1.
El bloque correspondiente PUcol pertenece al ID de Vista 2 y se refiere a una imagen de referencia PicRef perteneciente al ID de Vista 0. Es decir, la distancia de referencia intervista del bloque correspondiente PUcol es la diferencia entre los ID de Vista, 2.The corresponding block PU col belongs to View ID 2 and refers to a reference image Pic Ref belonging to View ID 0. That is, the interview reference distance of the corresponding block PU col is the difference between the View IDs, two.
Debido a que la distancia de referencia intervista del bloque actual PUcurr es diferente de la distancia de referencia intervista del bloque correspondiente PUcol, es necesario escalar el vector de movimiento del bloque correspondiente PUcol.Because the interview reference distance of the current block PU curr is different from the interview reference distance of the corresponding block PU col , it is necessary to scale the motion vector of the corresponding block PU col .
A continuación se describirá con más detalle una operación para escalar el vector de movimiento del bloque correspondiente PUcol.Next, an operation for scaling the motion vector of the corresponding block PU col will be described in more detail.
En el caso ilustrado de la Figura 1, el MVP del bloque actual PUcurr para codificar o decodificar un vector de movimiento MVcurr del bloque actual PUcurr puede adquirirse escalando el vector de movimiento MVcol del bloque correspondiente PUcol.In the illustrated case of Figure 1, the MVP of the current block PU curr for encoding or decoding a motion vector MV curr of the current block PU curr can be acquired by scaling the motion vector MV col of the corresponding block PU col .
La operación para escalar el vector de movimiento MVcol del bloque correspondiente PUcol se detalla a continuación. Ecuación 1The operation to scale the motion vector MV col of the corresponding block PU col is detailed below. Equation 1
Diffcurr = ViewIDcurr - ViewIDref Diff curr = ViewID curr - ViewID ref
Diffcol = ViewIDcol - ViewIDcolref diff col = ViewID col - ViewID colref
En la Ecuación 1, la distancia de referencia intervista Diffcurr del bloque actual PUcurr es la diferencia entre el ID de Vista ViewIDcurr del bloque actual PUcurr y el ID de Vista ViewIDRef del bloque de referencia del bloque actual PUcurr. In Equation 1, the interview reference distance Diff curr of the current block PU curr is the difference between the ViewID ViewID curr of the current block PU curr and the ViewID ViewID Ref of the reference block of the current block PU curr .
La distancia de referencia intervista Diffcoi del bloque correspondiente PUcoi es la diferencia entre el ID de Vista ViewlDcoi del bloque correspondiente PUcol y el ID de Vista ViewlDcolref del bloque de referencia del bloque correspondiente PUcol.The interview reference distance Diff coi of the corresponding block PU coi is the difference between the View ID ViewlD coi of the corresponding block PU col and the View ID ViewlD colref of the reference block of the corresponding block PU col .
Por lo tanto, un factor de escala (ScaleFactor) a aplicar al vector de movimiento MVcol del bloque correspondiente PUcol se puede calcular por la siguiente Ecuación 2.Therefore, a scale factor (ScaleFactor) to be applied to the movement vector MV col of the corresponding block PU col can be calculated by the following Equation 2.
Ecuación 2Equation 2
S c a le F a c to r = Diffcurr S ca le F ac to r = Diffcurr
Diffcoidiffcoy
En consecuencia, el predictor de vector de movimiento MVPcurr del bloque actual PUcurr se puede calcular multiplicando el vector de movimiento MVcol del bloque correspondiente PUcol por el factor de escala.Consequently, the motion vector predictor MVP curr of the current block PU curr can be calculated by multiplying the motion vector MV col of the corresponding block PU col by the scale factor.
Ecuación 3Equation 3
MVPcurr = ScaleFactor x MVcol MVP curr = ScaleFactor x MV col
Es decir, el predictor de vector de movimiento MVPcurr del bloque actual PUcurr se puede expresar como la Ecuación 3 anterior.That is, the motion vector predictor MVP curr of the current block PU curr can be expressed as Equation 3 above.
La Figura 2 es una vista conceptual que ilustra un método de predicción de vector de movimiento según otra realización de la presente divulgación.Fig. 2 is a conceptual view illustrating a motion vector prediction method according to another embodiment of the present disclosure.
La Figura 2 ilustra un caso en el que se realiza predicción a corto plazo para el bloque actual PUcurr y el bloque correspondiente PUcol. La predicción a corto plazo puede significar referirse a una imagen de la misma vista aparte de una imagen actual con una diferencia temporal menor que una diferencia temporal predeterminada.Figure 2 illustrates a case where short-term prediction is performed for the current block PU curr and the corresponding block PU col . Short-term prediction may mean referring to an image of the same view apart from a current image with a time difference less than a predetermined time difference.
En el caso ilustrado de la Figura 2, el predictor de vector de movimiento MVPcurr del bloque actual PUcurr se puede generar escalando el vector de movimiento MVcol del bloque correspondiente PUcol utilizando una relación entre la distancia de referencia interimágenes del bloque actual PUcurr y la distancia de referencia interimágenes del bloque correspondiente PUcol. Una distancia de referencia interimágenes puede ser una diferencia de Recuento de Orden de Imágenes (POC) según un orden de tiempo.In the illustrated case of Figure 2, the motion vector predictor MVP curr of the current block PU curr can be generated by scaling the motion vector MV col of the corresponding block PU col using a relation between the inter-image reference distance of the current block PU curr and the interimage reference distance of the corresponding block PU col . An inter-image reference distance may be a Picture Order Count (POC) difference in time order.
La operación para escalar el vector de movimiento MVcol del bloque correspondiente PUcol se describe a continuación con mayor detalle.The operation for scaling the motion vector MV col of the corresponding block PU col is described in more detail below.
Ecuación 4Equation 4
Diffcurr = POCcurr - POCref Diff curr = POC curr - POC ref
Diffcol = POCcol - POCcolref diff col = POC col - POC colref
En la Ecuación 4, la distancia de referencia interimágenes Diffcurr del bloque actual PUcurr es la diferencia entre el POC POCcurr de la imagen actual a la que pertenece el bloque actual PUcurr y el POC POCRef de una imagen de referencia a la que pertenece un bloque de referencia al que se hace referencia para el bloque actual PUcurr.In Equation 4, the inter-image reference distance Diff curr of the current block PU curr is the difference between the POC POC curr of the current image to which the current block PU curr belongs and the POC POC Ref of a reference image to which the current block belongs. which belongs to a reference block that is referenced for the current block PU curr .
La distancia de referencia intervista Diffcol del bloque correspondiente PUcol es la diferencia entre el POC POCcol de la imagen correspondiente a la que pertenece el bloque correspondiente PUcol y el POC POCcolref de una imagen de referencia a la que pertenece un bloque de referencia al que se hace referencia para el bloque correspondiente PUcol. Un factor de escala que se aplicará al vector de movimiento MVcol del bloque correspondiente PUcol se puede calcular por la siguiente Ecuación 5.The interviewed reference distance Diff col of the corresponding block PU col is the difference between the POC POC col of the corresponding image to which the corresponding block PU col belongs and the POC POC colref of a reference image to which a block of reference referenced for the corresponding block PU col . A scale factor to be applied to the motion vector MV col of the corresponding block PU col can be calculated by the following Equation 5.
Ecuación 5Equation 5
S c a le F a c to r = Diffcurr S ca le F ac to r = Diffcurr
Diffcoldiffcol
En consecuencia, el predictor de vector de movimiento MVPcurr del bloque actual PUcurr se puede calcular multiplicando el vector de movimiento MVcol del bloque correspondiente PUcol por el factor de escala.Consequently, the motion vector predictor MVP curr of the current block PU curr can be calculated by multiplying the motion vector MV col of the corresponding block PU col by the scale factor.
Ecuación 6Equation 6
MVPcurr = ScaleFactor x MVcol MVP curr = ScaleFactor x MV col
Es decir, el MVP MVPcurr del bloque actual PUcurr se puede expresar como la Ecuación 6 anterior. That is, the MVP MVP curr of the current block PU curr can be expressed as Equation 6 above.
La Figura 3 es una vista conceptual que ilustra un método de predicción de vector de movimiento según otra realización de la presente divulgación.Fig. 3 is a conceptual view illustrating a motion vector prediction method according to another embodiment of the present disclosure.
La Figura 3 ilustra un caso en el que se realiza una predicción a largo plazo para el bloque actual PUcurr y el bloque correspondiente PUcol. La predicción a largo plazo puede significar referirse a una imagen de la misma vista aparte de una imagen actual con una diferencia temporal igual o mayor que una diferencia temporal predeterminada.Figure 3 illustrates a case where a long-term prediction is performed for the current block PU curr and the corresponding block PU col . Long-term prediction may mean referring to an image of the same view apart from a current image with a time difference equal to or greater than a predetermined time difference.
Cuando se realiza una predicción a largo plazo para el bloque actual PUcurr y el bloque correspondiente PUcol, el vector de movimiento MVcol del bloque correspondiente PUcol se puede generar como el predictor de vector de movimiento MVPcurr del bloque actual PU curr.When a long-term prediction is made for the current block PU curr and the corresponding block PU col , the motion vector MV col of the corresponding block PU col can be generated as the motion vector predictor MVP curr of the current block PU curr .
Ecuación 7Equation 7
MVPcurr = MVcol MVP curr = MV col
Es decir, el predictor de vector de movimiento MVPcurr del bloque actual PUcurr puede ser igual al vector de movimiento MVcol del bloque correspondiente PUcol, como se muestra en la Ecuación 7.That is, the motion vector predictor MVP curr of the current block PU curr can be equal to the motion vector MV col of the corresponding block PU col , as shown in Equation 7.
Se puede concluir que una vez que se determina el predictor de vector de movimiento MVPcurr del bloque actual PUcurr según las Figuras 1, 2 y 3, se puede determinar una diferencia de vector de movimiento (MVD) MVDcurr del bloque actual PU curr.It can be concluded that once the motion vector predictor MVP curr of the current block PU curr is determined according to Figures 1, 2 and 3, a motion vector difference (MVD) MVD curr of the current block PU curr can be determined. .
Ecuación 8Equation 8
MVDcurr = MVcurr - MVPcurr MVD curr = MV curr - MVP curr
Es decir, el MVD MVDcurr del bloque actual PUcurr se puede determinar mediante la Ecuación 8. Por lo tanto, el vector de movimiento del bloque actual se puede recuperar sumando el MVP del bloque actual al MVD del bloque actual. Las Figuras 4 y 5 son vistas conceptuales que ilustran métodos de predicción de vectores de movimiento según otras realizaciones de la presente divulgación.That is, the MVD MVD curr of the current block PU curr can be determined by Equation 8. Therefore, the motion vector of the current block can be retrieved by adding the MVP of the current block to the MVD of the current block. Figures 4 and 5 are conceptual views illustrating motion vector prediction methods according to other embodiments of the present disclosure.
La Figura 4 ilustra un caso en el que se realiza una predicción a corto plazo para el bloque actual PUcurr, y se realiza una predicción a largo plazo para el bloque correspondiente PUcol.Figure 4 illustrates a case where a short-term prediction is made for the current block PU curr , and a long-term prediction is made for the corresponding block PU col .
La Figura 5 ilustra un caso en el que se realiza una predicción intervista para el bloque actual PUcurr, y se realiza una predicción a largo plazo para el bloque correspondiente PUcol.Figure 5 illustrates a case where an interview prediction is made for the current block PU curr , and a long-term prediction is made for the corresponding block PU col .
Si se realizan diferentes esquemas de predicción para el bloque actual PUcurr y el bloque correspondiente PUcol como se ilustra en las Figuras 4 y 5, el vector de movimiento MVcol del bloque correspondiente PUcol no se puede utilizar para generar el MVP MVPcurr del bloque actual PUcurr.If different prediction schemes are performed for the current block PU curr and the corresponding block PU col as illustrated in Figures 4 and 5, the motion vector MV col of the corresponding block PU col cannot be used to generate the MVP MVP curr of the current block PU curr .
La Figura 6 es un diagrama de flujo que ilustra un método de predicción de vector de movimiento según una realización de la presente divulgación.Figure 6 is a flowchart illustrating a motion vector prediction method according to an embodiment of the present disclosure.
Haciendo referencia a la Figura 6, el método de predicción de vector de movimiento según la realización de la presente divulgación incluye determinar esquemas de predicción de movimiento realizados para un bloque actual y un bloque correspondiente que corresponde al bloque actual, y generar un MVP del bloque actual basado en un vector de movimiento del bloque correspondiente según el método de predicción de vector de movimiento determinado.Referring to Figure 6, the motion vector prediction method according to the embodiment of the present disclosure includes determining performed motion prediction schemes for a current block and a corresponding block corresponding to the current block, and generating an MVP of the block based on a motion vector of the corresponding block according to the given motion vector prediction method.
Se puede determinar que para cada bloque actual y el bloque correspondiente se realiza una de predicción a largo plazo, predicción a corto plazo y predicción intervista.It can be determined that for each current block and the corresponding block, one of long-term prediction, short-term prediction and interview prediction is performed.
Es decir, pueden generarse datos para la decodificación de vídeo al decodificar un flujo de bits recibido, y se pueden determinar los esquemas de predicción de movimiento realizados para el bloque actual y el bloque correspondiente usando los datos para la decodificación de vídeo. Por ejemplo, los esquemas de predicción de movimiento pueden determinarse usando al menos una información de ID de Vista, información de orden de vista e información de bandera para identificar un esquema de predicción de movimiento, incluido en los datos para la decodificación de vídeo. Los datos para la decodificación de vídeo pueden adquirirse realizando decodificación de entropía, descuantificación y transformación inversa en el flujo de bits recibido.That is, data for video decoding can be generated by decoding a received bit stream, and motion prediction schemes performed for the current frame and the corresponding frame using the data for video decoding can be determined. For example, motion prediction schemes may be determined by using at least View ID information, view order information, and flag information to identify a motion prediction scheme, included in the data for video decoding. Data for video decoding may be acquired by performing entropy decoding, dequantization, and inverse transformation on the received bit stream.
Si se realiza una predicción a largo plazo para el bloque actual y el bloque correspondiente, el vector de movimiento del bloque correspondiente se puede generar como el MVP del bloque actual.If a long-term prediction is made for the current block and the corresponding block, the motion vector of the corresponding block can be generated as the MVP of the current block.
Además, si se realiza una predicción a corto plazo para el bloque actual y el bloque correspondiente, el MVP del bloque actual se puede generar escalando el vector de movimiento del bloque correspondiente usando una relación entre la distancia de referencia interimágenes del bloque actual y la distancia de referencia interimágenes del bloque correspondiente. Furthermore, if a short-term prediction is made for the current block and the corresponding block, the MVP of the current block can be generated by scaling the motion vector of the corresponding block using a relation between the interimage reference distance of the current block and the distance reference interimages of the corresponding block.
Si se realiza una predicción intervista para el bloque actual y el bloque correspondiente, el MVP del bloque actual se puede generar escalando el vector de movimiento del bloque correspondiente utilizando una relación entre la distancia de referencia intervista del bloque actual y la distancia de referencia intervista del bloque correspondiente.If an interview prediction is performed for the current block and the corresponding block, the MVP of the current block can be generated by scaling the motion vector of the corresponding block using a relationship between the interview reference distance of the current block and the interview reference distance of the current block. corresponding block.
Por otro lado, si se realiza una predicción intervista para uno del bloque actual y el bloque correspondiente y se realiza una predicción a largo plazo o una predicción a corto plazo para el otro bloque, o si se realiza una predicción a largo plazo para uno del bloque actual y el bloque correspondiente y se realiza una predicción a corto plazo para el otro bloque, el vector de movimiento del bloque correspondiente no se puede usar para calcular el MVP del bloque actual. On the other hand, if an interview prediction is made for one of the current block and the corresponding block and a long-term prediction or a short-term prediction is made for the other block, or if a long-term prediction is made for one of the current block and the corresponding block and a short-term prediction is made for the other block, the motion vector of the corresponding block cannot be used to calculate the MVP of the current block.
En caso de que no se utilice el vector de movimiento del bloque correspondiente dado que los esquemas de predicción de movimiento para el bloque actual y el bloque correspondiente son diferentes entre sí, se puede generar un vector predeterminado como el MVP del bloque actual. Por ejemplo, el vector predeterminado puede establecerse igual a (0, 0).In case the motion vector of the corresponding block is not used since the motion prediction schemes for the current block and the corresponding block are different from each other, a predetermined vector can be generated as the MVP of the current block. For example, the default vector can be set equal to (0, 0).
En consecuencia, los predictores de vector de movimiento temporal (TMVP) del bloque actual se enumeran en la [Tabla 1] a continuación según la correlación entre el esquema de predicción de movimiento para el bloque actual y el esquema de predicción de movimiento para el bloque correspondiente.Accordingly, the temporary motion vector predictors (TMVPs) of the current block are listed in [Table 1] below based on the correlation between the motion prediction scheme for the current block and the motion prediction scheme for the block correspondent.
[Tabla 1][Table 1]
Antes de una descripción del diagrama de flujo ilustrado en la Figura 6, cada parámetro se define como se indica en la [Tabla 2]. Before a description of the flowchart illustrated in Figure 6, each parameter is defined as indicated in [Table 2].
[Tabla 2][Table 2]
El método de predicción de vector de movimiento para un vídeo multivista según la realización de la presente divulgación se describirá con mayor detalle con referencia a la Figura 6.The motion vector prediction method for a multi-view video according to the embodiment of the present disclosure will be described in more detail with reference to Figure 6.
Si LTcurr es diferente de LTcol en la etapa S610, esto implica que la imagen de referencia indicada por MVcurr está marcada de manera diferente a la imagen de referencia indicada por MVcol. Por ejemplo, se hace referencia a una imagen de referencia a corto plazo para MVcurr y se hace referencia a una imagen de referencia a largo plazo para MVcol. En este caso, no se puede utilizar un TMVP (S690).If LT curr is different from LT col in step S610, this implies that the reference picture indicated by MV curr is marked differently from the reference picture indicated by MV col . For example, a short-term reference image is referenced for MV curr and a long-term reference image is referenced for MV col . In this case, a TMVP (S690) cannot be used.
Si IVcurr es diferente de IVcol en la etapa S610, esto implica que MVcurr y MVcol tienen diferentes propiedades. Por ejemplo, MVcurr es un vector de movimiento intervista, y MVcol es un vector de movimiento temporal. En este caso, no se puede utilizar un TMVP (S690).If IV curr is different from IV col in step S610, this implies that MV curr and MV col have different properties. For example, MV curr is an interview motion vector, and MV col is a temporal motion vector. In this case, a TMVP (S690) cannot be used.
Si IVcurr es '1' en la etapa S620, esto implica que tanto MVcurr como MVcol son vectores de movimiento intervista, y es posible escalar con la diferencia entre los ID de Vista (S640).If IV curr is '1' in step S620, this implies that both MV curr and MV col are interview motion vectors, and it is possible to scale with the difference between the View IDs (S640).
Si IVcurr es '0' en la etapa S620, esto implica que tanto MVcurr como MVcol son vectores de movimiento temporal, y la escala es posible con la diferencia entre los p Oc (S630).If IV curr is '0' at step S620, this implies that both MV curr and MV col are time motion vectors, and scaling is possible with the difference between the p 0 c (S630).
En esta memoria, si BaseViewFlagcurr es '0', esto puede significar que Piccurr no es una vista base.In this memory, if BaseViewFlag curr is '0', this may mean that Pic curr is not a base view.
Si Diffcurr es diferente de Diffcol, y IVcurr es '1' o LTcurr es '0' en la etapa S650, MVcol se escala para TMVPcurr (S670). Si Diffcurr es igual a Diffcol en la etapa S650, TMVPcurr se puede configurar a MVcol (S660).If Diff curr is different from Diff col , and IV curr is '1' or LT curr is '0' in step S650, MV col is escalated to TMVP curr (S670). If Diff curr is equal to Diff col in step S650, TMVP curr can be set to MV col (S660).
Si se hace referencia a imágenes de referencia a largo plazo tanto para el bloque actual PUcurr como para el bloque correspondiente PUcol y no se usa la predicción intervista para el bloque actual PUcurr y el bloque correspondiente PUcol en la etapa S650, TMVPcurr se puede configurar a MVcol (S660).If long-term reference pictures are referenced for both the current block PU curr and the corresponding block PU col and the intervened prediction is not used for the current block PU curr and the corresponding block PU col in step S650, TMVP curr can be set to MV col (S660).
Realización 2 (no cubierta por la invención reivindicada) - Método para codificar y decodificar residuo a través de Predicción de residuoEmbodiment 2 (not covered by the claimed invention) - Method for Encoding and Decoding Residue via Residue Prediction
Un vídeo multivista puede codificarse y decodificarse a través de la predicción de residuo. La Predicción Avanzada de Residuo (ARP) para un vídeo multivista puede significar un proceso de generación de un residuo a través de la predicción de movimiento de un bloque actual y la generación de una residuo de predicción realizando una predicción sobre el residuo generado. A multiview video can be encoded and decoded through residual prediction. Advanced Residue Prediction (ARP) for a multi-view video can mean a process of generating a residue by predicting the motion of a current block and generating a prediction residue by performing a prediction on the generated residue.
En consecuencia, un método para codificar y decodificar un residuo a través de la predicción de residuo puede significar codificar y decodificar una diferencia de residuo generada restando un residuo de predicción de un residuo de un bloque actual.Accordingly, a method of encoding and decoding a residue via residue prediction may mean encoding and decoding a residue difference generated by subtracting a prediction residue from a residue of a current block.
La Figura 7 es una vista conceptual que ilustra un método de predicción de residuo según una realización de la presente divulgación.Figure 7 is a conceptual view illustrating a residue prediction method according to an embodiment of the present disclosure.
Haciendo referencia a la Figura 7, una vista a la que pertenece un bloque actual Curr se denomina vista actual, y una vista a la que se hace referencia para la vista actual se denomina vista de referencia.Referring to Figure 7, a view to which a current Curr block belongs is called a current view, and a view that is referenced for the current view is called a reference view.
Si un bloque de referencia de la misma vista, al que se hace referencia para el bloque actual Curr, se denota por CurrRef, una señal de residuo R se puede calcular mediante la Ecuación 9. En esta memoria, el vector de movimiento del bloque actual Curr se puede denotar por Mvcurr.If a reference block of the same view, which is referenced for the current block Curr, is denoted by CurrRef, a residue signal R can be computed using Equation 9. Herein, the motion vector of the current block Curr can be denoted by Mvcurr.
Es decir, la señal de residuo R se puede calcular restando el bloque de referencia CurrRef del bloque actual Curr, según la Ecuación 9.That is, the residual signal R can be calculated by subtracting the reference block CurrRef from the current block Curr, according to Equation 9.
Ecuación 9Equation 9
R(i, j) = Curr(i, j) - CurrRef(i, j)R(i, j) = Curr(i, j) - CurrRef(i, j)
La señal de residuo R puede eliminar aún más la redundancia utilizando una similitud entre las vistas. Una Base de bloque correspondiente que corresponde al bloque actual Curr puede detectarse usando un vector de disparidad DVderived en una vista de referencia.The residue signal R can further eliminate redundancy by using a similarity between the views. A corresponding block Base corresponding to the current block Curr can be detected using a disparity vector DVderived in a reference view.
Un bloque de referencia BaseRef al que se hace referencia para la Base de bloque correspondiente en la dirección temporal puede detectarse utilizando MVScaled generado al escalar el vector de movimiento MVcurr del bloque actual Curr.A reference block BaseRef referenced to the corresponding Block Base at the temporary address can be detected using MVScaled generated by scaling the motion vector MVcurr of the current block Curr.
En este caso, una imagen a la que pertenece el bloque de referencia BaseRef al que se hace referencia para la Base de bloque correspondiente puede ser una imagen que tenga la diferencia de POC más pequeña con respecto a una imagen a la que pertenece la Base de bloque correspondiente, en una lista de imágenes de referencia para la imagen a la que pertenece la Base de bloque correspondiente, excepto para una imagen que tenga el mismo POC que la imagen a la que pertenece la Base de bloque correspondiente.In this case, an image to which the reference block BaseRef referenced for the corresponding Block Base belongs may be an image that has the smallest POC difference from an image to which the Block Base belongs. corresponding block, in a list of reference images for the image to which the corresponding Block Base belongs, except for an image that has the same POC as the image to which the corresponding Block Base belongs.
MVScaled se puede calcular mediante la Ecuación 10 y la Ecuación 11.MVScaled can be calculated using Equation 10 and Equation 11.
Ecuación 10Equation 10
DiffPOCcurr = POCCurr - POCCurrRef DiffPOC curr = POC Curr - POC CurrRef
DiffPOCBase = POCBase = POCBaseRef DiffPOC Base = POC Base = POC BaseRef
D i f f P O C B a s eD i f f P O C B a s e
ScaleFactorScaleFactor
D i f f P O C c u r rD i f f P O C c u r r
En la Ecuación 10, una distancia de referencia temporal del bloque actual Curr puede indicarse por DiffPOCcurr, y DiffPOCcurr se puede calcular como la diferencia entre el POC POCcurr del bloque actual Curr y el POC POCcurrref del bloque de referencia CurrRef al que se hace referencia para el bloque actual Curr en la dirección temporal.In Equation 10, a temporary reference distance of the current block Curr can be denoted by DiffPOC curr , and DiffPOC curr can be computed as the difference between the POC POC curr of the current block Curr and the POC POC currref of the reference block CurrRef to which is referenced for the current Curr block at the temporary address.
Además, una distancia de referencia temporal de la Base de bloque correspondiente puede indicarse por DiffPOCBase y DiffPOCBase se puede calcular como la diferencia entre el POC POCBase de la Base de bloque correspondiente y el POC POCbaseref del bloque de referencia BaseRef al que se hace referencia para la Base de bloque correspondiente en la dirección temporal.In addition, a temporary reference distance of the corresponding block Base can be indicated by DiffPOC Base and DiffPOC Base can be calculated as the difference between the POC Base POC of the corresponding block Base and the POC POC baseref of the reference block BaseRef to which reference is made to the corresponding Block Base in the temporary address.
Un factor de escala con el que escalar el vector de movimiento MVcurr del bloque actual Curr se puede expresar como una relación entre la distancia de referencia temporal del bloque actual Curr y la distancia de referencia temporal de la Base de bloque correspondiente.A scaling factor by which to scale the motion vector MV curr of the current block Curr can be expressed as a ratio of the time reference distance of the current block Curr to the time reference distance of the corresponding Block Base.
Ecuación 11Equation 11
MVScaled = ScaleFactor x MVcurr MV Scaled = ScaleFactor x MV curr
Por lo tanto, MVScaled se puede generar escalando el vector de movimiento MVcurr del bloque actual Curr con el factor de escala, y el bloque de referencia BaseRef al que se hace referencia para la Base de bloque correspondiente en la dirección temporal puede detectarse usando MVScaled.Therefore, MV Scaled can be generated by scaling the MV curr motion vector of the current Curr block with the scale factor, and the BaseRef referenced block referenced for the corresponding Block Base in the temporary address can be detected using MV Scaled .
Ecuación 12Equation 12
R'(i, j) = [Base(i, j) — BaseRef (i, j)] R'(i, j) = [Base(i, j) — BaseRef (i, j)]
Una señal de residuo de predicción R' del bloque actual Curr se puede calcular mediante la Ecuación 12. Es decir, la señal de residuo de predicción R' se puede calcular restando el bloque de referencia BaseRef al que se hace referencia para la Base de bloque correspondiente en la dirección temporal desde la Base de bloque correspondiente.A prediction residue signal R' of the current block Curr can be calculated by Equation 12. That is, the prediction residue signal R' can be calculated by subtracting the reference block BaseRef referenced for Block Base in the time direction from the corresponding Block Base.
Además, la señal de residuo de predicción R' se puede calcular aplicando un peso w a la Base de bloque correspondiente o al bloque de referencia BaseRef, o la señal de residuo de predicción R' de la Ecuación 12 puede establecerse para que sea mayor que un umbral predeterminado w.In addition, the prediction residue signal R' can be calculated by applying a weight w to the corresponding block Base or reference block BaseRef, or the prediction residue signal R' from Equation 12 can be set to be greater than a default threshold w.
Ecuación 13Equation 13
RFinal(i, j) = R(i, j) - R'(i, j)R Final (i, j) = R(i, j) - R'(i, j)
Por lo tanto, se puede calcular una diferencia de residuo restando la señal de residuo de predicción R' del bloque actual Curr de la Ecuación 12 de la señal de residuo R del bloque actual Curr de la Ecuación 9.Therefore, a residual difference can be calculated by subtracting the prediction residual signal R' of the current block Curr of Equation 12 from the residual signal R of the current block Curr of Equation 9.
Además, la predicción de residuo representada en la Figura 7 y la Ecuación 9 a la Ecuación 13 puede denominarse ARP Temporal (Predicción Avanzada de Residuo).Furthermore, the residual prediction depicted in Figure 7 and Equation 9 to Equation 13 can be referred to as Temporal ARP (Advanced Residual Prediction).
La Figura 8 es una vista conceptual que ilustra un método de predicción de residuo según otra realización de la presente divulgación.Fig. 8 is a conceptual view illustrating a residue prediction method according to another embodiment of the present disclosure.
Haciendo referencia a la Figura 8, denótese por IvRef a un bloque de referencia de una vista diferente al que se hace referencia para el bloque actual Curr. Entonces, la señal de residuo R se puede calcular mediante la Ecuación 14. El vector de movimiento del bloque actual Curr se puede indicar mediante MVcurr, y la predicción intervista se puede realizar usando MVcurr.Referring to Figure 8, let IvRef denote a reference block of a view other than the one referenced for the current Curr block. Then, the residual signal R can be calculated by Equation 14. The current block motion vector Curr can be indicated by MV curr , and interview prediction can be performed using MV curr .
Es decir, según la Ecuación 14 siguiente, la señal de residuo R del bloque actual Curr se puede calcular restando el bloque de referencia IvRef del bloque actual Curr.That is, according to Equation 14 below, the residual signal R of the current block Curr can be calculated by subtracting the reference block IvRef from the current block Curr.
Ecuación 14Equation 14
R(i, j) = Curr(i, j) — IvRef(i, j)R(i, j) = Curr(i, j) — IvRef(i, j)
Haciendo referencia a la Ecuación 14, la señal de residuo R puede eliminar aún más la redundancia utilizando una similitud entre las vistas. El bloque de referencia IvRef al que se hace referencia en intervista para el bloque actual Curr puede detectarse utilizando el vector de movimiento MVcurr del bloque actual Curr en una vista de referencia. Un bloque de referencia IvTRef al que se hace referencia para el bloque de referencia IvRef del bloque actual Curr en la dirección temporal puede detectarse usando dTMVBase.Referring to Equation 14, the residual signal R can further eliminate redundancy by using a similarity between the views. The reference block IvRef referenced in interview for the current block Curr can be detected using the motion vector MVcurr of the current block Curr in a reference view. A reference block IvTRef that is referenced to the reference block IvRef of the current block Curr at the temporary address can be detected using dTMV Base .
Además, un bloque de referencia TRef al que se hace referencia para el bloque actual Curr en la dirección temporal puede detectarse usando dMVScaled generado al escalar dTMVBase utilizado para el bloque de referencia IvRef del bloque actual Curr.In addition, a reference block TRef referenced for the current block Curr at the temporary address can be detected using dMV Scaled generated from the dTMV Base scalar used for the reference block IvRef of the current block Curr.
En este caso, una imagen del bloque de referencia TRef al que se hace referencia para el bloque actual Curr en la dirección temporal puede tener la diferencia de POC más pequeña con respecto a una imagen del bloque actual Curr en una lista de imágenes de referencia para la imagen del bloque actual Curr, excepto por una imagen que tiene el mismo POC que la imagen del bloque actual Curr.In this case, an image of the reference block TRef referenced for the current block Curr in the time direction may have the smallest POC difference from an image of the current block Curr in a list of reference images for the image of the current Curr block, except for an image that has the same POC as the image of the current Curr block.
MVScaled se puede calcular mediante la Ecuación 15 y la Ecuación 16.MV Scaled can be calculated using Equation 15 and Equation 16.
Ecuación 15Equation 15
DiffPOCcurr = POCcurr - POCTRef DiffPOC curr = POC curr - POC TRef
DiffPOCBase = POClvRef - POClvTRef DiffPOC Base = POC lvRef - POC lvTRef
ScaleFactor = D l f f P O C c u r r ScaleFactor = D lff POC curr
D'ffPOCBaseD'ffPOCBase
En la Ecuación 15, la distancia de referencia temporal del bloque actual Curr puede denotarse por DiffPOCcurr, y DiffPOCcurr se puede calcular como la diferencia entre el POC POCcurr del bloque actual Curr y el POC POCTRef del bloque de referencia TRef al que se hace referencia para el bloque actual Curr en la dirección temporal.In Equation 15, the temporary reference distance of the current block Curr can be denoted by DiffPOC curr , and DiffPOC curr can be calculated as the difference between the POC POC curr of the current block Curr and the POC POC TRef of the reference block TRef to which is referenced for the current Curr block at the temporary address.
Además, la distancia de referencia temporal del bloque de referencia IvRef puede indicarse por DiffPOCBase, y DiffPOCBase se puede calcular como la diferencia entre el POC POCIvRef del bloque de referencia IvRef y el POC POCIvTRef del bloque de referencia IvTRef al que se hace referencia para el bloque de referencia IvRef en la dirección temporal. In addition, the temporary reference distance of the reference block IvRef can be indicated by DiffPOC Base , and DiffPOC Base can be calculated as the difference between the POC POC IvRef of the reference block IvRef and the POC POC IvTRef of the reference block IvTRef to which it refers. references to the IvRef reference block at the temporary address.
Un factor de escala con el que escalar el vector de movimiento dTMVBase del bloque de referencia IvRef se puede expresar como una relación entre la distancia de referencia temporal del bloque actual Curr y la distancia de referencia temporal de la Base de bloque correspondiente.A scaling factor by which to scale the motion vector dTMV Base of the reference block IvRef can be expressed as a ratio of the current block's time reference distance Curr to the time reference distance of the corresponding block's Base.
Ecuación 16Equation 16
dTMVScaled = ScaleFactor x dTMVBase dTMV Scaled = ScaleFactor x dTMV Base
Por lo tanto, dTMVScaled se puede generar escalando el vector de movimiento dTMVBase del bloque de referencia IvRef con el factor de escala, como se expresa en la Ecuación 16, y el bloque de referencia TRef al que se hace referencia para el bloque actual Curr en la dirección temporal puede detectarse utilizando dTMVScaled.Therefore, dTMV Scaled can be generated by scaling the Base dTMV motion vector of the reference block IvRef with the scale factor, as expressed in Equation 16, and the reference block TRef referenced for the current block Curr in the temporal direction can be detected using dTMV Scaled .
Ecuación 17Equation 17
R'(i, j) = [TRef(i, j) - IvTRef(i, j)]R'(i, j) = [TRef(i, j) - IvTRef(i, j)]
La señal de residuo de predicción R' del bloque actual Curr se puede calcular mediante la Ecuación 17. Es decir, la señal de residuo de predicción R' se puede calcular restando el bloque de referencia IvTRef al que se hace referencia para el bloque de referencia IvRef del bloque actual Curr en el dirección temporal desde el bloque de referencia TRef al que se hace referencia para el bloque actual Curr en la dirección temporal.The prediction residue signal R' of the current block Curr can be calculated by Equation 17. That is, the prediction residue signal R' can be calculated by subtracting the reference block IvTRef referenced for the reference block IvRef of the current block Curr at the temporary address from the reference block TRef referenced for the current block Curr at the temporary address.
Además, la señal de residuo de predicción R' se puede calcular aplicando el peso w al bloque de referencia TRef o IvTRef, o la señal de residuo de predicción R' de la Ecuación 17 puede establecerse para que sea mayor que el umbral predeterminado w.In addition, the prediction residual signal R' can be calculated by applying the weight w to the reference block TRef or IvTRef, or the prediction residual signal R' of Equation 17 can be set to be greater than the predetermined threshold w.
Ecuación 18Equation 18
RFinal(i, j) = R(i, j) - R'(i, j)R Final (i, j) = R(i, j) - R'(i, j)
Por lo tanto, la diferencia de residuo se puede calcular restando la señal de residuo de predicción R' del bloque actual Curr de la Ecuación 17 de la señal de residuo R del bloque actual Curr de la Ecuación 14. Esta diferencia de residuo se puede denominar residuo final RFinal como en la Ecuación 18.Therefore, the residual difference can be calculated by subtracting the prediction residual signal R' of the current block Curr of Equation 17 from the residual signal R of the current block Curr of Equation 14. This residual difference can be called final residue R Final as in Equation 18.
Además, a la predicción de residuo representada en la Figura 8 y la Ecuación 14 a la Ecuación 18 se le puede hacer referencia como Intervista ARP.In addition, the residue prediction depicted in Figure 8 and Equation 14 to Equation 18 may be referred to as Interview ARP.
La Figura 9 es una vista conceptual que ilustra un método de predicción de residuo según otra realización de la presente divulgación.Fig. 9 is a conceptual view illustrating a residue prediction method according to another embodiment of the present disclosure.
Haciendo referencia a la Figura 9, se puede detectar un bloque de referencia IvRef de ID de Vista 1 al que se hace referencia en la intervista para el bloque actual Curr usando el vector de movimiento MVcurr.Referring to Figure 9, a reference block IvRef of View ID 1 referenced in the view can be detected for the current block Curr using the motion vector MVcurr.
En comparación con el caso de la Figura 8, un bloque de referencia IvTRef de una vista diferente a la que se hace referencia para el bloque de referencia IvRef del bloque actual Curr puede detectarse utilizando un vector de movimiento MVRef en el caso ilustrado de la Figura 9.Compared to the case of Figure 8, a reference block IvTRef of a view other than the one referenced for the reference block IvRef of the current block Curr can be detected using a motion vector MV Ref in the illustrated case of Figure 9.
En este caso, se produce un problema en la generación de MVscaled escalando MVRef utilizado para el bloque de referencia IvRef del bloque actual Curr. Es decir, esto es porque MVRef es un vector de movimiento utilizado para la predicción intervista, mientras que MVscaled es un vector utilizado para la predicción de movimiento temporal.In this case, a problem occurs in the generation of scaled MV by scaling the MV Ref used for the IvRef reference block of the current Curr block. That is, this is because MV Ref is a motion vector used for interview prediction, while MV scaled is a vector used for temporal motion prediction.
Más específicamente, dado que MVRef es un vector de movimiento utilizado para la predicción intervista, un denominador representado en la Ecuación 15 se convierte en 0 y, como resultado, el factor de escala se calcula como un valor infinito.More specifically, since MV Ref is a motion vector used for interview prediction, a denominator plotted in Equation 15 becomes 0 and, as a result, the scale factor is calculated as an infinite value.
Ecuación 19Equation 19
MVscaled = ScaleFactor X MVRef MV scaled = ScaleFactor X MV Ref
Por lo tanto, dado que puede ocurrir un error durante el cálculo de MVScaled por la Ecuación 19, el error se puede prevenir configurando MVScaled a (0, 0).Therefore, since an error may occur during the calculation of MV Scaled by Equation 19, the error can be prevented by setting MV Scaled to (0, 0).
Las Figuras 8 y 9 se describirán a continuación suponiendo que el bloque de referencia IvRef es un primer bloque de referencia, el bloque de referencia TRef es un segundo bloque de referencia y el bloque de referencia IvTRef es un tercer bloque de referencia.Figures 8 and 9 will be described below assuming that the reference block IvRef is a first reference block, the reference block TRef is a second reference block, and the reference block IvTRef is a third reference block.
El método de predicción de residuo incluye determinar un esquema de predicción de movimiento realizado para el primer bloque de referencia al que se hace referencia para la predicción intervista del bloque actual, y generar un residuo de predicción para el bloque actual según el esquema de predicción de movimiento del primer bloque de referencia. The residual prediction method includes determining a realized motion prediction scheme for the first referenced block referenced for the intervened prediction of the current block, and generating a prediction residual for the current block according to the motion prediction scheme. movement of the first reference block.
Se puede determinar cuál de la predicción de movimiento temporal y la predicción intervista se realiza para el primer bloque de referencia.It can be determined which of the temporal motion prediction and interview prediction is performed for the first reference block.
La diferencia entre el segundo bloque de referencia al que se hace referencia para la predicción de movimiento temporal del bloque actual y el tercer bloque de referencia al que se hace referencia para el primer bloque de referencia se puede generar como residuo de predicción. En esta memoria, el segundo bloque de referencia puede pertenecer a una imagen más cercana en la dirección temporal en una lista de referencia para una imagen actual a la que pertenece el bloque actual.The difference between the second reference block referenced for the current block temporal motion prediction and the third reference block referenced for the first reference block may be generated as a prediction residual. In this memory, the second reference block may belong to a picture closest in time address in a reference list for a current picture to which the current block belongs.
Si se determina que la predicción de movimiento temporal se realiza para el primer bloque de referencia, se puede generar un vector de movimiento escalado aplicando un vector de escala a un vector de movimiento usado para buscar el tercer bloque de referencia, y el segundo bloque de referencia se puede determinar usando el vector de movimiento escalado. El factor de escala se puede generar en función de la diferencia entre el número de una imagen de referencia a la que pertenece el primer bloque de referencia y el número de una imagen a la que pertenece el tercer bloque de referencia al que se hace referencia para la predicción de movimiento temporal del primer bloque de referencia, y la diferencia entre el número de una imagen a la que pertenece el bloque actual y el número de una imagen a la que pertenece el segundo bloque de referencia.If it is determined that temporal motion prediction is performed for the first reference block, a scaled motion vector can be generated by applying a scale vector to a motion vector used to search for the third reference block, and the second reference block. reference can be determined using the scaled motion vector. The scale factor can be generated based on the difference between the number of a reference image to which the first reference block belongs and the number of an image to which the third reference block belongs to which is referenced for the temporal motion prediction of the first reference block, and the difference between the number of a picture to which the current block belongs and the number of a picture to which the second reference block belongs.
Por otro lado, si se determina que la predicción intervista se realiza para el primer bloque de referencia, el segundo bloque de referencia se puede determinar aplicando (0, 0) como vector de movimiento usado para buscar el segundo bloque de referencia.On the other hand, if it is determined that interview prediction is performed for the first reference block, the second reference block can be determined by applying (0, 0) as the motion vector used to search for the second reference block.
La Figura 10 es un diagrama de bloques de un aparato para codificar un vídeo multivista y un aparato para decodificar un vídeo multivista según una realización de la presente divulgación.Figure 10 is a block diagram of an apparatus for encoding a multiview video and an apparatus for decoding a multiview video according to an embodiment of the present disclosure.
Con referencia a la Figura 10, un sistema para codificar/decodificar un vídeo multivista según una realización de la presente divulgación incluye un aparato de codificación de vídeo multivista 10 y un aparato de decodificación de vídeo multivista 20.Referring to Figure 10, a system for encoding/decoding a multi-view video according to an embodiment of the present disclosure includes a multi-view video encoding apparatus 10 and a multi-view video decoding apparatus 20.
El aparato de codificación de vídeo multivista 10 puede incluir un codificador de vídeo de vista base 11 para codificar un vídeo de vista base y codificadores de vídeo de vista de extensión 12 y 13 para codificar un vídeo de vista de extensión. Un vídeo de vista base puede ser un vídeo para proporcionar un vídeo de única vista en 2D, y un vídeo de vista de extensión puede ser un vídeo para proporcionar un vídeo de una vista de extensión como 3D.The multiview video encoding apparatus 10 may include a base view video encoder 11 for encoding a base view video and extension view video encoders 12 and 13 for encoding an extension view video. A base view video may be a video to provide a 2D single view video, and an extent view video may be a video to provide an extent view video such as 3D.
Por ejemplo, el aparato de codificación de vídeo multivista 10 puede incluir el codificador de vídeo de vista base 11, un primer codificador de vídeo de vista de extensión 12 y un segundo codificador de vídeo de vista de extensión 13. Los codificadores de vídeo de vista de extensión no están limitados a los codificadores de vídeo de vista de extensión primero y segundo 12 y 13. Más bien, el número de codificadores de vídeo de vista de extensión puede aumentar con el número de vistas. Además, el codificador de vídeo de vista base 11 y los codificadores de vídeo de vista de extensión 12 y 13 pueden codificar una imagen en color y una imagen de profundidad (mapa de profundidad) por separado. El aparato de codificación de vídeo multivista 10 puede transmitir un flujo de bits obtenido al codificar un vídeo multivista al aparato de decodificación de vídeo multivista 20.For example, multi-view video encoding apparatus 10 may include base-view video encoder 11, first extension-view video encoder 12, and second extension-view video encoder 13. are not limited to the first and second extension view video encoders 12 and 13. Rather, the number of extension view video encoders may increase with the number of views. In addition, the base view video encoder 11 and the extension view video encoders 12 and 13 can encode a color image and a depth image (depth map) separately. The multi-view video encoding apparatus 10 can transmit a bit stream obtained by encoding a multi-view video to the multi-view video decoding apparatus 20.
El aparato de decodificación de vídeo multivista 20 puede incluir un extractor de flujo de bits 29, un decodificador de vídeo de vista base 21 y decodificadores de vídeo de vista de extensión 22 y 23.The multiview video decoding apparatus 20 may include a bitstream extractor 29, a base view video decoder 21, and extension view video decoders 22 and 23.
Por ejemplo, el aparato de decodificación de vídeo multivista 20 puede incluir el decodificador de vídeo de vista base 21, un primer decodificador de vídeo de vista de extensión 22 y un segundo decodificador de vídeo de vista de extensión 23. Obviamente, el número de decodificadores de vídeo de vista de extensión puede aumentar con el número de vistas.For example, the multi-view video decoding apparatus 20 may include the base-view video decoder 21, a first extension-view video decoder 22, and a second extension-view video decoder 23. Obviously, the number of decoders extension view video can increase with the number of views.
Específicamente, el extractor de flujo de bits 29 puede separar un flujo de bits según las vistas y proporcionar los flujos de bits separados al decodificador de vídeo de vista base 21 y a los decodificadores de vídeo de vista de extensión 22 y 23, respectivamente.Specifically, bitstream extractor 29 can separate a bitstream according to views and provide the separated bitstreams to base view video decoder 21 and extension view video decoders 22 and 23, respectively.
Según una realización de la presente divulgación, un vídeo de vista base decodificado puede exponerse en una pantalla 2D heredada, con compatibilidad con versiones anteriores. Además, el vídeo de vista base decodificado y al menos un vídeo de vista de extensión decodificado puede exponerse en una pantalla estéreo o una pantalla de multivista.According to one embodiment of the present disclosure, a decoded base view video can be displayed on a legacy 2D display, with backwards compatibility. In addition, the decoded base view video and at least one decoded extension view video may be displayed on a stereo screen or a multi-view screen.
Mientras tanto, puede transmitirse información de posición la cámara de entrada como información secundaria en un flujo de bits a la pantalla estéreo o la pantalla multivista.Meanwhile, input camera position information may be transmitted as secondary information in a bit stream to the stereo display or multi-view display.
La Figura 11 es un diagrama de bloques de un aparato para codificar un vídeo multivista según una realización de la presente divulgación.Figure 11 is a block diagram of an apparatus for encoding a multi-view video according to an embodiment of the present disclosure.
Con referencia a la Figura 11, el aparato de codificación de vídeo multivista 10 según la realización de la presente divulgación puede incluir el codificador de vídeo de vista base 11 y el codificador de vídeo de vista de extensión 12. Referring to Figure 11, the multiview video encoding apparatus 10 according to the embodiment of the present disclosure may include the base view video encoder 11 and the extension view video encoder 12.
Sin embargo, el aparato de codificación de vídeo multivista 10 puede incluir además otro codificador de vídeo de vista de extensión según una vista.However, the multiview video encoding apparatus 10 may further include another extension view video encoder according to a view.
Cada uno del codificador de vídeo de vista base 11 y el codificador de vídeo de vista de extensión 12 incluye un restador 110 o 110-1, un transformador 120 o 120-1, un cuantificador 130 o 130-1, un descuantificador 131 o 131-1, un transformador inverso 121 o 121-1, un codificador de entropía 140 o 140-1, un sumador 150 o 150-1, una unidad de filtro en bucle 160 o 160-1, una memoria de cuadro 170 o 170-1, un intrapredictor 180 o 180-1, y un compensador de movimiento 190 o 190-1.Each of the base view video encoder 11 and the extension view video encoder 12 includes a subtracter 110 or 110-1, a transformer 120 or 120-1, a quantizer 130 or 130-1, a dequantizer 131 or 131 -1, a 121 or 121-1 reverse transformer, a 140 or 140-1 entropy encoder, a 150 or 150-1 adder, a 160 or 160-1 loop filter unit, a 170 or 170 frame memory- 1, a 180 or 180-1 intrapredictor, and a 190 or 190-1 motion compensator.
El restador 110 o 110-1 genera una imagen de residuo entre una imagen recibida a codificar (una imagen actual) y una imagen de predicción generada mediante intrapredicción o interpredicción restando la imagen de predicción de la imagen actual.Subtractor 110 or 110-1 generates a residual image between a received image to be encoded (a current image) and a prediction image generated by intraprediction or interprediction by subtracting the prediction image from the current image.
El transformador 120 o 120-1 transforma la imagen de residuo generada por el restador 110 o 110-1 desde el dominio espacial al dominio de la frecuencia. El transformador 120 o 120-1 puede transformar la imagen de residuo al dominio de la frecuencia mediante una técnica de transformación de una señal de vídeo espacial en una señal de vídeo de frecuencia, tal como transformada de Hadamard, transformada de coseno discreta o transformada de seno discreta. El cuantificador 130 o 130-1 cuantifica los datos transformados (coeficientes de frecuencia) recibidos del transformador 120 o 120-1. Es decir, el cuantificador 130 o 130-1 cuantifica los coeficientes de frecuencia siendo los datos transformados por el transformador 120 o 120-1 dividiendo los coeficientes de frecuencia por un tamaño de etapa de cuantificación, y así obtiene valores de resultado de cuantificación.Transformer 120 or 120-1 transforms the residual image generated by subtractor 110 or 110-1 from the spatial domain to the frequency domain. Transformer 120 or 120-1 may transform the residual image to the frequency domain by a technique of transforming a spatial video signal into a frequency video signal, such as a Hadamard transform, discrete cosine transform, or alpha transform. discreet breast. Quantizer 130 or 130-1 quantizes the transformed data (frequency coefficients) received from transformer 120 or 120-1. That is, the quantizer 130 or 130-1 quantizes the frequency coefficients being data transformed by the transformer 120 or 120-1 by dividing the frequency coefficients by a quantization step size, and thus obtains quantization result values.
El codificador de entropía 140 o 140-1 genera un flujo de bits mediante la codificación de entropía de los valores de resultado de cuantificación calculados por el cuantificador 130 o 130-1. Además, el codificador de entropía 140 o 140 1 puede codificar por entropía los valores de resultado de cuantificación calculados por el cuantificador 130 o 130-1 utilizando la codificación de longitud variable adaptable al contexto (CAVLC) o la codificación aritmética binaria adaptativa al contexto (CABAC), y se puede requerir más información de codificación de entropía para la decodificación de vídeo además de los valores de resultado de cuantificación.Entropy encoder 140 or 140-1 generates a bit stream by entropy encoding the quantization result values calculated by quantizer 130 or 130-1. In addition, the entropy encoder 140 or 140-1 may entropy encode the quantization result values computed by the quantizer 130 or 130-1 using context-adaptive variable-length coding (CAVLC) or context-adaptive binary arithmetic coding ( CABAC), and more entropy encoding information may be required for video decoding in addition to the quantization result values.
El descuantificador 131 o 131-1 descuantifica los valores de resultado de cuantificación calculados por el cuantificador 130 o 130-1. Es decir, el descuantificador 131 o 13-1 recupera valores de dominio de frecuencia (coeficientes de frecuencia) a partir de los valores de resultado de cuantificación.The dequantizer 131 or 131-1 dequantizes the quantization result values calculated by the quantizer 130 or 130-1. That is, the dequantizer 131 or 13-1 retrieves frequency domain values (frequency coefficients) from the quantization result values.
El descuantificador 121 o 121-1 recupera la imagen de residuo transformando los valores del dominio de frecuencia (coeficientes de frecuencia) recibidos del descuantificador 131 o 131-1 al dominio espacial. El sumador 150 o 150-1 genera una imagen recuperada de la imagen de entrada sumando la imagen de residuo recuperada por el descuantificador 121 o 121-1 a la imagen de predicción generada mediante intrapredicción o interpredicción, y almacena la imagen recuperada en el memoria 170 o 170-1.The dequantizer 121 or 121-1 recovers the residual image by transforming the frequency domain values (frequency coefficients) received from the dequantizer 131 or 131-1 to the spatial domain. Adder 150 or 150-1 generates a retrieved image of the input image by adding the residual image retrieved by dequantizer 121 or 121-1 to the prediction image generated by intraprediction or interprediction, and stores the retrieved image in memory 170. or 170-1.
El intrapredictor 180 o 180-1 realiza intrapredicción, y el compensador de movimiento 190 o 190-1 compensa un vector de movimiento para interpredicción. El intrapredictor 180 o 180-1 y el compensador de movimiento 190 o 190-1 pueden denominarse colectivamente unidad de predicción.Intrapredictor 180 or 180-1 performs intraprediction, and motion compensator 190 or 190-1 compensates a motion vector for interprediction. The intrapredictor 180 or 180-1 and the motion compensator 190 or 190-1 may collectively be referred to as a prediction unit.
Según una realización de la presente divulgación, los predictores 180-1 y 190-1 incluidos en el codificador de vídeo de vista de extensión 12 pueden realizar predicciones para un bloque actual de una vista de extensión usando información de predicción sobre un bloque de referencia de una vista de referencia. La vista de referencia se refiere a una vista a la que se hace referencia para la vista de extensión y puede ser una vista base. Además, la información de predicción puede incluir información de modo de predicción e información de movimiento sobre un bloque de referencia.According to one embodiment of the present disclosure, predictors 180-1 and 190-1 included in extension view video encoder 12 can make predictions for a current block of an extension view using prediction information about a reference block of extension view. a reference view. The reference view refers to a view that is referenced for the extension view and can be a base view. Furthermore, the prediction information may include prediction mode information and motion information about a reference block.
La unidad de filtro en bucle 160 o 160-1 filtra la imagen recuperada. La unidad de filtro en bucle 160 o 160-1 puede incluir un filtro de desbloqueo (DF) y un desplazamiento adaptativo de muestra (SAO).Loop filter unit 160 or 160-1 filters the retrieved image. Loop filter unit 160 or 160-1 may include a deblocking filter (DF) and a sample adaptive shift (SAO).
Un multiplexor 330 puede recibir un flujo de bits del vídeo de vista base codificado y un flujo de bits del vídeo de vista de extensión codificado y, por lo tanto, emitir un flujo de bits extendido.A multiplexer 330 may receive an encoded base-view video bitstream and an encoded spread-view video bitstream and thereby output an extended bitstream.
Particularmente, el aparato de codificación de vídeo multivista 10 según la realización de la presente divulgación puede incluir además un predictor de intervista 310 y un predictor de residuo 320.Particularly, the multi-view video encoding apparatus 10 according to the embodiment of the present disclosure may further include an interview predictor 310 and a residual predictor 320.
Si bien el predictor de intervista 310 y el predictor de residuo 320 se muestran en la Figura 11 residiendo entre el codificador de vídeo de vista base 11 y el codificador de vídeo de vista de extensión 12, la presente divulgación no se limita a esta estructura o posición.Although interview predictor 310 and residual predictor 320 are shown in Figure 11 as residing between base view video encoder 11 and extension view video encoder 12, the present disclosure is not limited to this structure or position.
El predictor de intervista 310 puede interactuar con el compensador de movimiento 190 o 190-1 y codificar un vector de movimiento para un vídeo multivista a través de la predicción de vector de movimiento según la primera realización descrita anteriormente de la presente divulgación. Interview predictor 310 may interact with motion compensator 190 or 190-1 and encode a motion vector for a multiview video through motion vector prediction according to the above-described first embodiment of the present disclosure.
El predictor de residuo 320 puede interactuar con el compensador de movimiento 190 o 190-1 y el intrapredictor 180 o 180-1, y codificar un residuo para un vídeo multivista a través de la predicción de residuo según la segunda realización descrita anteriormente de la presente divulgación.Residue predictor 320 may interact with motion compensator 190 or 190-1 and intrapredictor 180 or 180-1, and encode a residue for a multi-view video via residue prediction according to the above-described second embodiment herein. divulgation.
La Figura 12 es un diagrama de bloques de un aparato de decodificación de vídeo multivista según una realización de la presente divulgación.Figure 12 is a block diagram of a multi-view video decoding apparatus according to an embodiment of the present disclosure.
Con referencia a la Figura 12, el aparato de decodificación de vídeo multivista 20 puede incluir el extractor de flujo de bits 29, el decodificador de vídeo de vista base 21 y los decodificadores de vídeo de vista de extensión 22 y 23. El extractor de flujo de bits 29 puede separar un flujo de bits según las vistas y proporcionar los flujos de bits separados al decodificador de vídeo de vista base 21 y a los decodificadores de vídeo de vista de extensión 22 y 23, respectivamente.Referring to Figure 12, multiview video decoding apparatus 20 may include bitstream extractor 29, base view video decoder 21, and extension view video decoders 22 and 23. The bit stream 29 can separate a bit stream according to views and provide the separate bit streams to base view video decoder 21 and extension view video decoders 22 and 23, respectively.
Cada uno de los decodificadores de vídeo de vista base 21 y los decodificadores de vídeo de vista de extensión 22 y 23 pueden incluir un decodificador de entropía 210 o 210-1, un descuantificador 220 o 220-1, un transformador inverso 230 o 230-2, un sumador 240 o 240-1, una unidad de filtro en bucle 250 o 250-1, una memoria de cuadros 260 o 260 1, un intrapredictor 270 o 270-1 y un compensador de movimiento 280 o 280-1. El intrapredictor 270 o 270-1 y el compensador de movimiento 280 o 280-1 pueden denominarse colectivamente unidad de predicción.Each of the base view video decoders 21 and extension view video decoders 22 and 23 may include an entropy decoder 210 or 210-1, a dequantizer 220 or 220-1, a reverse transformer 230 or 230-1 2, an adder 240 or 240-1, a loop filter unit 250 or 250-1, a frame store 260 or 260 1, an intrapredictor 270 or 270-1, and a motion compensator 280 or 280-1. The intrapredictor 270 or 270-1 and the motion compensator 280 or 280-1 may collectively be referred to as a prediction unit.
El aparato de decodificación de vídeo multivista 20 según la realización de la presente divulgación puede incluir además un predictor de intervista 410 y un predictor de residuo 420.The multi-view video decoding apparatus 20 according to the embodiment of the present disclosure may further include an interview predictor 410 and a residue predictor 420.
Si bien el predictor de intervista 410 y el predictor de residuo 420 se muestran en la Figura 12 residiendo entre el decodificador de vídeo de vista base 21 y el decodificador de vídeo de vista de extensión 22, la presente divulgación no se limita a esta estructura o posición.Although the interview predictor 410 and residue predictor 420 are shown in Figure 12 as residing between the base view video decoder 21 and the extension view video decoder 22, the present disclosure is not limited to this structure or position.
El predictor de intervista 410 puede interactuar con el compensador de movimiento 290 o 290-1 y decodificar un vector de movimiento para un vídeo multivista a través de la predicción de vector de movimiento según la primera realización descrita anteriormente de la presente divulgación.Interview predictor 410 may interact with motion compensator 290 or 290-1 and decode a motion vector for a multi-view video through motion vector prediction according to the above-described first embodiment of the present disclosure.
El predictor de residuo 420 puede interactuar con el compensador de movimiento 290 o 290-1 y el intrapredictor 280 o 280-1, y decodificar un residuo para un vídeo multivista a través de la predicción de residuo según la segunda realización descrita anteriormente de la presente divulgación.Residue predictor 420 may interact with motion compensator 290 or 290-1 and intrapredictor 280 or 280-1, and decode a residue for a multi-view video via residue prediction according to the above-described second embodiment herein. divulgation.
Mientras tanto, cada componente del aparato de decodificación de vídeo multivista 20 puede entenderse a partir de su equivalente del aparato de codificación de vídeo multivista 10 ilustrado en la Figura 11 y, por lo tanto, no se describirá en esta memoria en detalle.Meanwhile, each component of the multi-view video decoding apparatus 20 can be understood from its equivalent of the multi-view video encoding apparatus 10 illustrated in Figure 11, and therefore will not be described in detail here.
Además, cada componente del aparato de codificación de vídeo multivista 10 y el aparato de decodificación de vídeo multivista 20 según las realizaciones de la presente divulgación se ha descrito como configurado como un componente separado, por conveniencia de la descripción. Sin embargo, al menos dos de los componentes pueden incorporarse en un único procesador o un componente se puede dividir en una pluralidad de procesadores, para ejecutar una función. Las realizaciones para incorporar componentes o separar un solo componente también caen dentro de las reivindicaciones adjuntas sin salirse del alcance de la presente divulgación.Furthermore, each component of the multi-view video encoding apparatus 10 and the multi-view video decoding apparatus 20 according to embodiments of the present disclosure has been described as being configured as a separate component, for convenience of description. However, at least two of the components may be incorporated into a single processor, or one component may be partitioned into a plurality of processors, to perform a function. Embodiments for incorporating components or separating a single component also fall within the appended claims without departing from the scope of the present disclosure.
El aparato de codificación de vídeo multivista 10 y el aparato de decodificación de vídeo multivista 20 según la presente divulgación pueden implementarse como un programa o código legible por ordenador en un medio de grabación legible por ordenador. El medio de grabación legible por ordenador incluye cualquier tipo de dispositivo de grabación que almacene datos legibles por un sistema informático. Además, el medio de grabación legible por ordenador puede distribuirse a sistemas informáticos conectados a través de una red y almacenar y ejecutar un programa o código legibles por un ordenador de manera distribuida.The multi-view video encoding apparatus 10 and the multi-view video decoding apparatus 20 according to the present disclosure may be implemented as a computer-readable program or code on a computer-readable recording medium. Computer-readable recording medium includes any type of recording device that stores data readable by a computer system. Furthermore, the computer-readable recording medium may be distributed to computer systems connected via a network and store and execute a computer-readable program or code in a distributed manner.
El método para realizar la predicción de vector de movimiento para un vídeo multivista según la primera realización de la presente divulgación permite la codificación/descodificación efectiva de un vector de movimiento durante la codificación/descodificación de un vídeo multivista. Es decir, según la presente divulgación, un vector de movimiento temporal puede predecirse de forma adaptativa según los esquemas de predicción de vectores de movimiento usados para un bloque actual y un bloque correspondiente.The method for performing motion vector prediction for a multi-view video according to the first embodiment of the present disclosure enables effective encoding/decoding of a motion vector during encoding/decoding of a multi-view video. That is, according to the present disclosure, a temporary motion vector can be adaptively predicted according to the motion vector prediction schemes used for a current block and a corresponding block.
El método para realizar la predicción de residuo para un vídeo multivista según la segunda realización de la presente divulgación permite la codificación/descodificación efectiva de un residuo durante la codificación/descodificación de un vídeo multivista. Es decir, se puede evitar que ocurra un error en el cálculo de un factor de escala usado para escalar un vector de movimiento durante la generación de un residuo de predicción, evitando así un error en la predicción de residuo para un vídeo multivista.The method for performing residue prediction for a multi-view video according to the second embodiment of the present disclosure enables effective encoding/decoding of a residue during encoding/decoding of a multi-view video. That is, an error in calculating a scale factor used for scaling a motion vector can be prevented from occurring during the generation of a prediction residual, thus preventing an error in the prediction residual for a multi-view video.
Aunque la presente divulgación se ha descrito con referencia a las realizaciones preferidas, los expertos en la técnica apreciarán que se pueden realizar diversas modificaciones y variaciones en la presente divulgación sin apartarse del alcance de la presente divulgación descrita en las reivindicaciones adjuntas. Although the present disclosure has been described with reference to the preferred embodiments, those skilled in the art will appreciate that various modifications and variations may be made to this disclosure without departing from the scope of the present disclosure described in the appended claims.
Claims (5)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20140000187 | 2014-01-02 | ||
PCT/KR2014/013034 WO2015102367A1 (en) | 2014-01-02 | 2014-12-30 | Method for encoding multi-view video and apparatus therefor and method for decoding multi-view video and apparatus therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2906182T3 true ES2906182T3 (en) | 2022-04-13 |
Family
ID=53493649
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14876960T Active ES2906182T3 (en) | 2014-01-02 | 2014-12-30 | Method to decode multiview video |
ES21196304T Active ES2974185T3 (en) | 2014-01-02 | 2014-12-30 | Method for encoding multi-view video, method for decoding multi-view video and recording medium therefor |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES21196304T Active ES2974185T3 (en) | 2014-01-02 | 2014-12-30 | Method for encoding multi-view video, method for decoding multi-view video and recording medium therefor |
Country Status (11)
Country | Link |
---|---|
US (1) | US20160330472A1 (en) |
EP (2) | EP3958572B1 (en) |
JP (1) | JP6615777B2 (en) |
KR (8) | KR101658192B1 (en) |
CN (1) | CN106063272B (en) |
DK (2) | DK3091741T3 (en) |
ES (2) | ES2906182T3 (en) |
FI (1) | FI3958572T3 (en) |
HU (2) | HUE057890T2 (en) |
PL (2) | PL3091741T3 (en) |
WO (1) | WO2015102367A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015000108A1 (en) * | 2013-07-01 | 2015-01-08 | Mediatek Singapore Pte. Ltd. | An improved texture merging candidate in 3dvc |
DK3091741T3 (en) * | 2014-01-02 | 2022-01-31 | Intellectual Discovery Co Ltd | METHOD FOR DECODING MULTI-VIEW VIDEO |
WO2016124710A1 (en) * | 2015-02-05 | 2016-08-11 | Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-view video codec supporting residual prediction |
CN117294837A (en) | 2018-04-02 | 2023-12-26 | 深圳市大疆创新科技有限公司 | Method for image processing and image processing apparatus |
US11575935B2 (en) | 2019-06-14 | 2023-02-07 | Electronics And Telecommunications Research Institute | Video encoding method and video decoding method |
CA3239406A1 (en) * | 2019-06-24 | 2020-12-30 | Lg Electronics Inc. | Inter prediction-based image coding method and apparatus |
CN112261409A (en) * | 2019-07-22 | 2021-01-22 | 中兴通讯股份有限公司 | Residual encoding method, residual decoding method, residual encoding device, residual decoding device, storage medium and electronic device |
CN111651268B (en) * | 2020-05-14 | 2023-01-31 | 武汉兰丁智能医学股份有限公司 | Quick processing system for microscopic image |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101023672A (en) * | 2004-07-12 | 2007-08-22 | 诺基亚公司 | System and method for motion prediction in scalable video coding |
KR101039204B1 (en) * | 2006-06-08 | 2011-06-03 | 경희대학교 산학협력단 | Method for predicting a motion vector in multi-view video coding and encoding/decoding method and apparatus of multi-view video using the predicting method |
WO2008091117A1 (en) * | 2007-01-24 | 2008-07-31 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
KR20120118780A (en) * | 2011-04-19 | 2012-10-29 | 삼성전자주식회사 | Method and apparatus for encoding and decoding motion vector of multi-view video |
SG10201505809PA (en) * | 2011-06-30 | 2015-09-29 | Sony Corp | Image processing device and image processing method |
US10567786B2 (en) * | 2011-08-19 | 2020-02-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Motion vector processing |
TWI508533B (en) * | 2011-11-08 | 2015-11-11 | Samsung Electronics Co Ltd | Apparatus for decoding image |
US9503720B2 (en) * | 2012-03-16 | 2016-11-22 | Qualcomm Incorporated | Motion vector coding and bi-prediction in HEVC and its extensions |
US20130329800A1 (en) * | 2012-06-07 | 2013-12-12 | Samsung Electronics Co., Ltd. | Method of performing prediction for multiview video processing |
US9357195B2 (en) * | 2012-08-16 | 2016-05-31 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
WO2014042459A1 (en) * | 2012-09-17 | 2014-03-20 | 엘지전자 주식회사 | Method and apparatus for processing video signal |
US9497439B2 (en) * | 2013-07-15 | 2016-11-15 | Ati Technologies Ulc | Apparatus and method for fast multiview video coding |
WO2015006951A1 (en) * | 2013-07-18 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | Methods for fast encoder decision |
DK3091741T3 (en) * | 2014-01-02 | 2022-01-31 | Intellectual Discovery Co Ltd | METHOD FOR DECODING MULTI-VIEW VIDEO |
US10110925B2 (en) * | 2014-01-03 | 2018-10-23 | Hfi Innovation Inc. | Method of reference picture selection and signaling in 3D and multi-view video coding |
-
2014
- 2014-12-30 DK DK14876960.7T patent/DK3091741T3/en active
- 2014-12-30 EP EP21196304.6A patent/EP3958572B1/en active Active
- 2014-12-30 PL PL14876960T patent/PL3091741T3/en unknown
- 2014-12-30 KR KR1020140193064A patent/KR101658192B1/en active IP Right Grant
- 2014-12-30 FI FIEP21196304.6T patent/FI3958572T3/en active
- 2014-12-30 KR KR1020140193081A patent/KR101662662B1/en active IP Right Grant
- 2014-12-30 WO PCT/KR2014/013034 patent/WO2015102367A1/en active Application Filing
- 2014-12-30 JP JP2016562717A patent/JP6615777B2/en active Active
- 2014-12-30 CN CN201480076719.1A patent/CN106063272B/en active Active
- 2014-12-30 PL PL21196304.6T patent/PL3958572T3/en unknown
- 2014-12-30 ES ES14876960T patent/ES2906182T3/en active Active
- 2014-12-30 ES ES21196304T patent/ES2974185T3/en active Active
- 2014-12-30 DK DK21196304.6T patent/DK3958572T3/en active
- 2014-12-30 EP EP14876960.7A patent/EP3091741B1/en active Active
- 2014-12-30 HU HUE14876960A patent/HUE057890T2/en unknown
- 2014-12-30 HU HUE21196304A patent/HUE065936T2/en unknown
-
2016
- 2016-07-01 US US15/200,174 patent/US20160330472A1/en not_active Abandoned
- 2016-08-17 KR KR1020160104276A patent/KR101692744B1/en active IP Right Grant
- 2016-09-28 KR KR1020160124632A patent/KR101778710B1/en active IP Right Grant
- 2016-12-29 KR KR1020160181872A patent/KR102201591B1/en active IP Right Grant
-
2021
- 2021-01-06 KR KR1020210001220A patent/KR102344088B1/en active IP Right Grant
- 2021-12-23 KR KR1020210185687A patent/KR102550448B1/en active IP Right Grant
-
2023
- 2023-06-28 KR KR1020230083252A patent/KR102643840B1/en active IP Right Grant
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2906182T3 (en) | Method to decode multiview video | |
ES2755573T3 (en) | Advanced temporal motion vector prediction based on sub-prediction units | |
JP6535673B2 (en) | Video coding techniques using asymmetric motion segmentation | |
JP6339116B2 (en) | Inter-view residual prediction in multiview or 3D video coding | |
KR101951087B1 (en) | Filters for advanced residual prediction in video coding | |
ES2900751T3 (en) | High-level syntax extensions for high-efficiency video encoding | |
JP5992640B2 (en) | Disabling inter-view prediction for reference picture lists in video coding | |
JP6446488B2 (en) | Video data decoding method and video data decoding apparatus | |
KR102227279B1 (en) | Method and apparatus for video encoding/decoding | |
JP2017510127A (en) | Block-based advanced residual prediction for 3D video coding | |
KR20070098437A (en) | A method and apparatus for decoding/encoding a video signal |