ES3048492T3 - Quantization parameter offset for chroma deblocking filtering - Google Patents
Quantization parameter offset for chroma deblocking filteringInfo
- Publication number
- ES3048492T3 ES3048492T3 ES20862628T ES20862628T ES3048492T3 ES 3048492 T3 ES3048492 T3 ES 3048492T3 ES 20862628 T ES20862628 T ES 20862628T ES 20862628 T ES20862628 T ES 20862628T ES 3048492 T3 ES3048492 T3 ES 3048492T3
- Authority
- ES
- Spain
- Prior art keywords
- chrominance
- video
- quantization parameter
- block
- shifts
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un ejemplo de método de procesamiento de vídeo incluye la conversión entre un bloque de un componente de croma de un vídeo y una representación del flujo de bits del vídeo. Durante la conversión, se aplica un filtro de desbloqueo a al menos algunas muestras a lo largo de un borde del bloque, y se añaden las compensaciones de los parámetros de cuantificación de croma (QP) a las salidas de una tabla de QP de croma para determinar los parámetros del filtro de desbloqueo. (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0002] Desplazamiento del parámetro de cuantificación para filtrado de desbloqueo de crominancia
[0003] Referencia cruzada a solicitudes relacionadas
[0004] Esta solicitud se basa en la Solicitud de Patente Internacional N.° PCT/US2020/050638, presentada el 14 de septiembre de 2020, que reivindica la prioridad y los beneficios de la Solicitud de Patente Internacional N.° PCT/CN2019/105831, presentada el 14 de septiembre de 2019.
[0005] Campo técnico
[0006] Este documento de patente se relaciona con técnicas, dispositivos y sistemas de codificación de vídeo.
[0007] Antecedentes
[0008] Actualmente, se están realizando esfuerzos para mejorar el rendimiento de las tecnologías de códec de vídeo actuales para proporcionar mejores relaciones de compresión o proporcionar esquemas de codificación y decodificación de vídeo que permitan implementaciones de menor complejidad o paralelizadas. Los expertos de la industria han propuesto recientemente varias herramientas de codificación de vídeo nuevas y actualmente se están realizando pruebas para determinar su efectividad.
[0009] BROSS Y COL.: "Versatile Video Coding (Draft 6)", publicado después del 15. REUNIÓN JVET celebrada por el EQUIPO CONJUNTO DE EXPLORACIÓN DE VÍDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16, con el n.° de documento JVET-O2001-vE, el 31 de julio de 2019, proporciona la documentación de uno de esos esfuerzos y describe el funcionamiento del códec VVC en fase de desarrollo en ese momento.
[0010] Sumario
[0011] La invención protegida se define por la combinación de características como se especifica en las reivindicaciones independientes adjuntas. Se especifican realizaciones preferidas adicionales con las características adicionales de las reivindicaciones dependientes.
[0012] La divulgación de habilitación para la invención protegida se proporciona a continuación con la realización 5 como se describe en la sección "5.5. La Realización n.° 5 sobre el proceso de filtrado de desbloqueo de crominancia", mientras que otros aspectos, ejemplos o realizaciones se proporcionan meramente con fines ilustrativos.
[0013] Se describen dispositivos, sistemas y métodos relacionados con la codificación de vídeo digital y, específicamente, con la gestión de vectores de movimiento. Los métodos descritos pueden aplicarse a normas de codificación de vídeo existentes (por ejemplo, Codificación de Vídeo de Alta Eficiencia (HEVC) o Codificación de Vídeo Versátil) y futuras normas de codificación de vídeo o códecs de vídeo.
[0014] En un aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye realizar una conversión entre un bloque de una componente de crominancia de un vídeo y una representación de flujo de bits del vídeo. Durante la conversión, se aplica selectivamente un proceso de filtrado de desbloqueo a muestras a lo largo de los bordes del bloque, y se añaden desplazamientos del parámetro de cuantificación de crominancia (QP) a salidas de una tabla de QP de crominancia para determinar parámetros para el proceso de filtro de desbloqueo.
[0015] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye determinar, para una conversión entre un bloque de una componente de crominancia de un vídeo y una representación de flujo de bits del vídeo, si o cómo aplicar un proceso de filtrado a un borde del bloque basándose en una primera información de cuantificación para una primera región de vídeo que comprende muestras en un lado del borde y/o una segunda información de cuantificación para una segunda región de vídeo que comprende muestras en el otro lado del borde de acuerdo con una regla. La regla se basa en un modo de codificación aplicable al bloque para codificar las muestras en un lado o las muestras en el otro lado del borde. La regla especifica que se usan múltiples desplazamientos de QP en diferentes niveles de unidad de vídeo para determinar la primera información de cuantificación o la segunda información de cuantificación. El método también incluye realizar la conversión basándose en la determinación.
[0016] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye determinar, para una conversión entre un bloque actual de un vídeo y una representación de flujo de bits del vídeo, si habilitar el uso de un desplazamiento del parámetro de cuantificación de crominancia (QP) para el bloque actual de acuerdo con un elemento de sintaxis en un nivel de una unidad de vídeo. La unidad de vídeo incluye el bloque actual y un segundo bloque del vídeo.
[0017] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye realizar una conversión entre un vídeo que comprende un primer componente de crominancia y un segundo componente de crominancia y una representación de flujo de bits del vídeo. Los residuales de un primer bloque de crominancia del primer componente de crominancia y un segundo bloque de crominancia del segundo componente de crominancia se codifican conjuntamente en la representación de flujo de bits usando un modo de codificación de acuerdo con una regla. La regla especifica que una manera de derivar un parámetro de cuantificación (QP) para la conversión es independiente del modo de codificación.
[0019] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye realizar una conversión entre un primer bloque de un vídeo y una representación de flujo de bits del vídeo. El vídeo tiene un formato de color de múltiples componentes de color y el primer bloque está asociado con un primer componente de color del vídeo. Durante la conversión, se aplica un proceso de filtrado de desbloqueo a al menos algunas muestras a lo largo de un borde del primer bloque. El método también incluye realizar conversiones posteriores entre bloques asociados con componentes de color restantes del vídeo y la representación de flujo de bits del vídeo. Durante las conversiones posteriores, el proceso de filtro de desbloqueo se aplica a al menos algunas muestras a lo largo de un borde de cada uno de los bloques de la misma manera que la conversión del primer bloque.
[0021] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye determinar, para una conversión entre un vídeo y una representación de flujo de bits del vídeo, una intensidad del límite de un límite entre dos bloques de un vídeo. La intensidad del límite se determina independientemente de si uno cualquiera de los dos bloques se codifica en un modo de codificación conjunta de residuales de crominancia (JCCR). El método también incluye realizar la conversión basándose en la determinación.
[0023] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye determinar, para una conversión entre un vídeo y una representación de flujo de bits del vídeo, una intensidad del límite de un límite entre un primer bloque y un segundo bloque. La determinación se realiza sin comparar información del primer bloque con información correspondiente del segundo bloque. La información comprende una imagen de referencia y/o un número de vectores de movimiento de un bloque correspondiente, y la intensidad del límite se usa para determinar si un proceso de filtración de desbloqueo es aplicable al límite. El método también incluye realizar la conversión basándose en la determinación.
[0025] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye determinar, para una conversión entre un bloque de vídeo de un vídeo y una representación de flujo de bits del vídeo, un parámetro de cuantificación (QP) usado para aplicar un filtrado de desbloqueo en el bloque de vídeo de acuerdo con una regla. La regla especifica que se usa un primer QP para determinar en caso de que el bloque de vídeo se codifica usando un modo de salto de transformada (TS) en el que un residual del bloque de vídeo se codifica en la representación de flujo de bits saltando la aplicación de una transformada. Se usa un segundo QP que es diferente del primer QP para determinar en caso de que el bloque de vídeo se codifica usando un modo de salto sin transformada en el que el residual del bloque de vídeo se codifica en la representación de flujo de bits después de aplicar la transformada. El método también incluye realizar la conversión basándose en la determinación.
[0027] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye determinar, para una conversión entre un bloque de vídeo de un vídeo y una representación de flujo de bits del vídeo, un gradiente para determinar la aplicabilidad de un proceso de filtración de desbloqueo a al menos algunas muestras de un borde del bloque de vídeo de acuerdo con una regla. La regla especifica que una manera en la que se determina el gradiente es independiente de un tamaño del bloque de vídeo. El método también incluye realizar la conversión basándose en la determinación.
[0029] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar un método para procesamiento de vídeo. Este método incluye realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que cuando se usa una tabla de parámetros de cuantificación de crominancia (QP) para derivar parámetros del filtro de desbloqueo, el procesamiento por la tabla de QP de crominancia se realiza en valores de QP de crominancia individuales.
[0031] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar otro método para procesamiento de vídeo. Este método incluye realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde el los desplazamientos de QP de crominancia están a nivel de imagen/corte/pieza/mosaico/subimagen.
[0032] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar otro método para procesamiento de vídeo. Este método incluye realizar una conversión entre una unidad de vídeo y una representación
de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde la información perteneciente a una misma unidad de codificación de luminancia se usa en el filtro de desbloqueo y para derivar un desplazamiento de QP de crominancia.
[0034] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar otro método para procesamiento de vídeo. Este método incluye realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde un la indicación de habilitar el uso de los desplazamientos de QP de crominancia se señaliza en la representación de flujo de bits.
[0036] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar otro método para procesamiento de vídeo. Este método incluye realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde el los desplazamientos de QP de crominancia usados en el filtro de desbloqueo son idénticos a si se aplica el método de codificación de JCCR en un límite de la unidad de vídeo o si se aplica un método diferente del método de codificación de JCCR en el límite de la unidad de vídeo.
[0038] En otro aspecto representativo, la tecnología desvelada puede usarse para proporcionar otro método para procesamiento de vídeo. Este método incluye realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde un la intensidad del límite (BS) del filtro de desbloqueo se calcula sin comparar imágenes de referencia y/o un número de vectores de movimiento (MV) asociados con la unidad de vídeo en un límite de lado P con imágenes de referencia de la unidad de vídeo en un límite de lado Q.
[0040] Además, en un aspecto representativo, se divulga un aparato en un sistema de vídeo que comprende un procesador y una memoria no transitoria con instrucciones en el mismo. Las instrucciones tras su ejecución por el procesador, hacen que el procesador implemente uno cualquiera o más de los métodos divulgados.
[0042] Adicionalmente, en un aspecto representativo, un aparato de decodificación de vídeo que comprende un procesador configurado para implementar uno cualquiera o más de los métodos divulgados.
[0044] En otro aspecto representativo, un aparato de codificación de vídeo que comprende un procesador configurado para implementar uno cualquiera o más de los métodos divulgados.
[0046] También, se divulga un producto de programa informático almacenado en un medio legible por ordenador no transitorio, incluyendo el producto de programa informático el código de programa para llevar a cabo uno cualquiera o más de los métodos divulgados.
[0048] Los aspectos y características anteriores y otros de la tecnología desvelada se describen con mayor detalle en la descripción y los dibujos.
[0050] Breve descripción de los dibujos
[0052] La FIG. 1 muestra un ejemplo de un flujo de procesamiento global de un proceso de filtro de desbloqueo de bloqueo.
[0053] La FIG. 2 muestra un diagrama de flujo de un cálculo de Bs.
[0054] La FIG. 3 muestra un ejemplo de una información referida para el cálculo de Bs en el límite de CTU.
[0055] La FIG. 4 muestra un ejemplo de píxeles implicados en la decisión de activación/desactivación del filtro y la selección de filtro fuerte/débil.
[0056] La FIG. 5 muestra un ejemplo de un flujo de procesamiento global del proceso de filtro de desbloqueo en VVC. La FIG. 6 muestra un ejemplo de un proceso de filtro de desbloqueo de luminancia en VVC.
[0057] La FIG. 7 muestra un ejemplo de un proceso de filtro de desbloqueo de crominancia en VVC
[0058] La FIG. 8 muestra un ejemplo de una determinación de longitud de filtro para límites de sub PU.
[0059] La FIG. 9A muestra un ejemplo de posiciones centrales de un bloque de crominancia.
[0060] La FIG. 9B muestra otro ejemplo de posiciones centrales de un bloque de crominancia.
[0061] La FIG. 10 muestra ejemplos de bloques en el lado P y el lado Q.
[0062] La FIG. 11 muestra ejemplos de uso de la información decodificada de un bloque de luminancia.
[0063] La FIG. 12 es un diagrama de bloques de un ejemplo de una plataforma de hardware para implementar una decodificación de medios visuales o una técnica de codificación de medios visuales descrita en el presente documento.
[0064] La FIG. 13 muestra un diagrama de flujo de un método de ejemplo para la codificación de vídeo.
[0065] La FIG. 14 es un diagrama de bloques de un sistema de procesamiento de vídeo de ejemplo en el que pueden
implementarse técnicas divulgadas.
[0066] La FIG. 15 es una representación de diagrama de flujo de un método de procesamiento de vídeo de acuerdo con la presente tecnología.
[0067] La FIG. 16 es una representación de diagrama de flujo de otro método de procesamiento de vídeo de acuerdo con la presente tecnología.
[0068] La FIG. 17 es una representación de diagrama de flujo de otro método de procesamiento de vídeo de acuerdo con la presente tecnología.
[0069] La FIG. 18 es una representación de diagrama de flujo de otro método de procesamiento de vídeo de acuerdo con la presente tecnología.
[0070] La FIG. 19 es una representación de diagrama de flujo de otro método de procesamiento de vídeo de acuerdo con la presente tecnología.
[0071] La FIG. 20 es una representación de diagrama de flujo de otro método de procesamiento de vídeo de acuerdo con la presente tecnología.
[0072] La FIG. 21 es una representación de diagrama de flujo de otro método de procesamiento de vídeo de acuerdo con la presente tecnología.
[0073] La FIG. 22 es una representación de diagrama de flujo de otro método de procesamiento de vídeo de acuerdo con la presente tecnología.
[0074] La FIG. 23 es una representación de diagrama de flujo de otro método más de procesamiento de vídeo de acuerdo con la presente tecnología.
[0075] La FIG. 24 es un diagrama de bloques que ilustra un sistema de codificación de vídeo de ejemplo.
[0076] La FIG. 25 es un diagrama de bloques que ilustra un codificador de acuerdo con algunas realizaciones de la presente divulgación.
[0077] La FIG. 26 es un diagrama de bloques que ilustra un decodificador de acuerdo con algunas realizaciones de la presente divulgación.
[0079] Descripción detallada
[0081] 1. Codificación de vídeo en HEVC/H.265
[0083] Las normas de codificación de vídeo han evolucionado principalmente a través del desarrollo de las bien conocidas normas ITU-T e ISO/IEC. La ITU-T produjo H.261 y H.263, ISO/IEC produjo MPEG-1 y MPEG-4 Visual, y las dos organizaciones produjeron conjuntamente las normas H.262/MPEG-2 vídeo y H.264/MPEG-4 codificación de vídeo avanzada (AVC) y H.265/HEVC. Desde H.262, las normas de codificación de vídeo se basan en la estructura de codificación de vídeo híbrida en donde se usa predicción temporal más codificación de transformada. Para explorar las futuras tecnologías de codificación de vídeo más allá en HEVC, el Equipo Mixto de Exploración de Vídeo (JVET) fue fundado por VCEG y MPEG conjuntamente en 2015. Desde entonces, JVET ha adoptado muchos métodos nuevos y los ha puesto en el software de referencia denominado Modelo de Exploración Mixta (JEM). En abril de 2018, se creó el Equipo Mixto de Expertos en Vídeo (JVET) entre VCEG (Q6/16) e ISO/IEC JTC1 SC29/WG11 (MPEG) para trabajar en el estándar de VVC que tiene como objetivo una reducción de tasa de bits del 50 % en comparación con HEVC.
[0085] 2.1. Esquema de desbloqueo en HEVC
[0087] Se realiza un proceso de filtro de desbloqueo para cada CU en el mismo orden que el proceso de decodificación. En primer lugar, se filtran los bordes verticales (filtrado horizontal), a continuación se filtran los bordes horizontales (filtrado vertical). El filtrado se aplica a límites de bloque de 8x8 que se determina que se filtrarán, tanto para componentes de luminancia como de crominancia. Los límites de bloque de 4x4 no se procesan para reducir la complejidad.
[0089] La FIG. 1 ilustra el flujo de procesamiento global del proceso de filtro de desbloqueo. Un límite puede tener tres estados de filtrado: sin filtrado, filtrado débil y filtrado fuerte. Cada decisión de filtrado se basa en la intensidad del límite, Bs, y los valores umbral, • y tc.
[0091] Pueden estar implicados tres tipos de límites en el proceso de filtrado: límite de CU, límite de TU y límite de PU. Los límites de CU, que son bordes exteriores de CU, están siempre implicados en el filtrado ya que los límites de CU son siempre también el límite de TU o el límite de PU. Cuando la forma de PU es 2NxN (N > 4) y la profundidad de RQT es igual a 1, el límite de TU en la cuadrícula de bloque de 8x8 y el límite de PU entre cada PU dentro de CU están implicados en el filtrado. Una excepción es que cuando el límite de PU está dentro de la TU, el límite no se filtra.
[0093] 2.1.1. Cálculo de la intensidad del límite
[0095] En términos generales, la intensidad del límite (Bs) refleja qué tan fuerte se necesita el filtrado para el límite. Si Bs es grande, debería considerarse un filtrado fuerte.
[0097] Siendo P y Q definidos como bloques que están implicados en el filtrado, donde P representa el bloque ubicado en el lado izquierdo (caso de borde vertical) o por encima (caso de borde horizontal) del límite y Q representa el bloque ubicado en el lado derecho (caso de borde vertical) o por encima (caso de borde horizontal) del lado del límite. La FIG.
[0098] 2 ilustra cómo se calcula el valor de Bs basándose en el modo de intra codificación, existencia de coeficientes de transformada distintos de cero e información de movimiento, imagen de referencia, número de vectores de movimiento y diferencia de vector de movimiento.
[0100] Bs se calcula sobre una base de bloque de 4x4, pero se vuelve a correlacionar con una cuadrícula de 8x8. El máximo de los dos valores de Bs que corresponden a 8 píxeles que consisten en una línea en la cuadrícula de 4x4 se selecciona como los Bs para límites en la cuadrícula de 8x8.
[0102] Para reducir el requisito de memoria intermedia de línea, solo para el límite de CTU, la información en cada segundo bloque (cuadrícula 4x4) en el lado izquierdo o superior se reutiliza como se representa en la FIG. 3.
[0104] 2.1.2. Decisión de • y tC
[0106] Los valores umbral • y to que implican la decisión de activación/desactivación del filtro, la selección de filtro fuerte y débil y el proceso de filtrado débil se derivan basándose en el parámetro de cuantificación de luminancia de los bloques P y Q, QPp y QPq , respectivamente. Q usado para derivar • y tc se calcula como sigue. Q = ( ( QPp QPq 1 ) >> 1 ).
[0108] Se deriva una variable • como se muestra en la Tabla 1, basándose en Q. Si Bs es mayor que 1, la variable tc se especifica como la Tabla 1 con Clip3(0, 55, Q 2) como entrada. En caso contrario (BS es igual o menor que 1), la variable tc se especifica como la Tabla 1 con Q como entrada.
[0110] T l 1 D riv i n l v ri l m r l • rir ^ l n r
[0113]
[0116] 2.1.3. Decisión de activación/desactivación del filtro para 4 líneas
[0118] La decisión de activación/desactivación del filtro se realiza para cuatro líneas como una unidad. La FIG. 4 ilustra los píxeles que implican una decisión de activación/desactivación del filtro. Los 6 píxeles en los dos recuadros rojos para las primeras cuatro líneas se usan para determinar la activación/desactivación del filtro para 4 líneas. Los 6 píxeles en dos cajas rojas para las segundas 4 líneas se usan para determinar la activación/desactivación del filtro para las segundas cuatro líneas.
[0120] Si dp0+dq0+dp3+dq3 < •, se activa el filtrado para las primeras cuatro líneas y se aplica un proceso de selección de filtro fuerte/débil. Cada variable se deriva de la siguiente manera.
[0122]
[0124] Si no se cumple la condición, no se realiza filtrado para las primeras 4 líneas. Adicionalmente, si se cumple la condición, se derivan dE, dEp1 y dEp2 para un proceso de filtrado débil. La variable dE se establece igual a 1. Si dp0 dp3 < (• ( • >> 1 )) >> 3, la variable dEp1 se establece igual a 1. Si dq0 dq3 < (• ( • >> 1 )) >> 3, la variable dEq1 se establece igual a 1.
[0126] Para las segundas cuatro líneas, la decisión se toma de la misma manera que anteriormente.
[0128] 2.1.4. Selección de filtro fuerte/débil para 4 líneas
[0130] Después de que se determina que las primeras cuatro líneas filtran activadas en la decisión de activación/desactivación del filtro, si se cumplen las siguientes dos condiciones, se usa un filtro fuerte para e filtrado de las primeras cuatro líneas. En caso contrario, se usa un filtro débil para el filtrado. Los píxeles implicados son los mismos que los usados para la decisión de activación/desactivación del filtro como se representa en la FIG. 4.
[0132]
[0133] De la misma manera, si se cumplen las siguientes dos condiciones, se usa un
filtro fuerte para filtrar las líneas. En caso contrario, se usa un filtro débil para el filtrado.
[0135]
[0136] 2.1.4.1. Filtrado fuerte
[0137] Para un filtrado fuerte, los valores de píxel filtrados se obtienen mediante las siguientes ecuaciones. Vale la pena señalar que se modifican tres píxeles usando cuatro píxeles como una entrada para cada bloque P y Q, respectivamente.
[0140]
[0142] 2.I.4.2. Filtrado débil
[0143] Definamos • como sigue.
[0146]
[0148] Cuando abs(^) es menor que tc *10,
[0151]
[0153] Si dEp1 es igual a 1,
[0156]
[0158] Si dEq1 es igual a 1,
[0161]
[0163] Vale la pena señalar que se modifican un máximo de dos píxeles usando tres píxeles como una entrada para cada bloque P y Q, respectivamente.
[0164] 2.I.4.3. Filtrado de crominancia
[0165] La Bs del filtrado de crominancia se hereda de la luminancia. Si Bs > 1 o si existe el caso de coeficiente de crominancia codificado, se realiza filtrado de crominancia. No hay otra decisión de filtrado. Y solo se aplica un filtro para la crominancia. No se usa ningún proceso de selección de filtro para crominancia. Los valores de muestra filtrados pü’ y qü' se derivan de la siguiente manera.
[0168]
[0169]
[0171] 2.2 Esquema de desbloqueo en VVC
[0172] En el VTM6, el proceso de filtrado de desbloqueo es en su mayoría el mismo que en HEVC. Sin embargo, se añaden las siguientes modificaciones.
[0173] A) La intensidad de filtro del filtro de desbloqueo depende del nivel de luminancia medio de las muestras reconstruidas.
[0174] B) Ampliación de tabla de tC de desbloqueo y adaptación a vídeo de 10 bits.
[0175] C) Desbloqueo en cuadrícula 4x4 para luminancia.
[0176] D) Filtro de desbloqueo más fuerte para luminancia.
[0177] E) Filtro de desbloqueo más fuerte para crominancia.
[0178] F) Filtro de desbloqueo para límite de subbloque.
[0179] G) Decisión de desbloqueo adaptada a una menor diferencia de movimiento.
[0180] La FIG. 5 representa un diagrama de flujo del proceso de filtros de desbloqueo en VVC para una unidad de codificación.
[0181] 2.2.1. La intensidad del filtro depende de la luminancia promedio reconstruida
[0182] En HEVC, la intensidad de filtro del filtro de desbloqueo está controlada por las variables • y tc que se derivan de los parámetros de cuantificación medios qPL. En el VTM6, el filtro de desbloqueo controla la intensidad del filtro de desbloqueo añadiendo desplazamiento a qPLde acuerdo con el nivel de luminancia de las muestras reconstruidas si la indicación SPS de este método es verdadera. El nivel de luminancia reconstruido LL se deriva de la siguiente manera:
[0185]
[0187] donde, los valores de muestra pi, ky qi, kcon i = 0..3 y k = 0 y 3 se pueden derivar. A continuación, se usa LL para decidir el desplazamiento qpOffset basándose en el umbral señalizado en SPS. Después de eso, qPL, que se deriva de la siguiente manera, se emplea para derivar • y tc.
[0190]
[0192] donde Qpoy QpPindican los parámetros de cuantificación de las unidades de codificación que contienen la muestra q0,0 y p0,0, respectivamente. En el VVC actual, este método solo se aplica en el proceso de desbloqueo de luminancia.
[0193] 2.2.2. Cuadrícula de desbloqueo 4x4 para luminancia
[0194] HEVC usa una cuadrícula de desbloqueo de 8x8 tanto para luminancia como para crominancia. En VTM6, se introdujo el desbloqueo en una cuadrícula de 4x4 para límites de luminancia para manejar artefactos de bloqueo de formas de transformada rectangulares. El desbloqueo de luminancia amigable paralelo en una cuadrícula de 4x4 se logra restringiendo el número de muestras a desbloquear a 1 muestra en cada lado de un límite de luminancia vertical donde un lado tiene un ancho de 4 o menos o a 1 muestra en cada lado de una horizontal límite de luminancia donde un lado tiene una altura de 4 o menos.
[0195] 2.2.3. Derivación de la intensidad del límite para luminancia
[0196] La derivación detallada de la intensidad del límite podría encontrarse en la Tabla 2. Las condiciones en la Tabla 2 se comprueban secuencialmente.
[0197] Tabla 2 Derivación de la intensidad del límite
[0199]
[0200] continuación
[0202]
[0204] 2.2.4. Filtro de desbloqueo más fuerte para luminancia
[0205] La propuesta usa un filtro bilineal cuando las muestras en cualquier lado de un límite pertenecen a un bloque grande. Una muestra que pertenece a un bloque grande se define como cuando la anchura >= 32 para un borde vertical, y cuando la altura >= 32 para un borde horizontal.
[0206] El filtro bilineal se enumera a continuación.
[0207] Las muestras de límite de bloque pi para i=0 a Sp-1 y qi para j=0 a Sq-1 (pi y qi siguen las definiciones en el desbloqueo en HEVC descritas anteriormente) se reemplazan a continuación por interpolación lineal como sigue:
[0210]
[0211] donde tcPDi y tcPDj el término es un recorte dependiente de la posición descrito en la Sección 2.2.5 y g¡, fi, Middles, t, Ps y Qs se dan a continuación:
[0213]
[0215] 2.2.5. Control de desbloqueo para luminancia
[0216] El proceso de decisión de desbloqueo se describe en esta subsección.
[0217] Los filtros de luminancia más anchos y más fuertes se usan solo si todas de la Condiciónl, Condición2 y Condición 3 son VERDADERAS.
[0218] La condición 1 es la "condición de bloque grande". Esta condición detecta si las muestras en el lado P y el lado Q pertenecen a bloques grandes, que se representan por la variable bSidePisLargeBlk y bSideQisLargeBlk respectivamente. bSidePisLargeBlk y bSideQisLargeBlk se definen como sigue.
[0219] ¿bSidePisLargeBlk = ((el tipo de borde es vertical y p0pertenece a CU con ancho >= 32) • (el tipo de borde es horizontal y p0pertenece a CU con altura >= 32))? VERDADERO: FALSO
[0220] ¿bSideQisLargeBlk = ((el tipo de borde es vertical y q0pertenece a CU con ancho >= 32) • (el tipo de borde es horizontal y q0pertenece a Cu con altura >= 32))? v Er d Ad ERO: FALSO
[0221] Basándose en bSidePisLargeBlk y bSideQisLargeBlk, la condición 1 se define como sigue.
[0222] C onditionl = (bSidePisLargeBlk || bSidePisLargeBlk) ? TRUE: FALSE
[0223] A continuación, si la Condición 1 es verdadera, la condición 2 se comprobará adicionalmente. En primer lugar, se derivan las siguientes variables:
[0224] dp0, dp3, dq0, dq3 se derivan primero como en HEVC
[0225] si (el lado p es mayor o igual a 32)
[0228]
[0230] si (el lado q es mayor o igual a 32)
[0233]
[0235] dpq0, dpq3, dp, dq, d se derivan entonces como en HEVC.
[0236] Entonces la condición 2 se define como sigue.
[0239]
[0241] Donde d=dp0+dq0+dp3+dq3, como se muestra en la sección 2.1.4.
[0242] Si la Condición1 y la Condición2 son válidas, se comprueba si alguno de los bloques usa subbloques:
[0245]
[0247] Finalmente, si tanto la Condición 1 como la Condición 2 son válidas, el método de desbloqueo propuesto comprobará la condición 3 (la condición de filtro Fuerte de bloque grande), que se define como sigue.En la Condición3StrongFilterCondition, se derivan las siguientes variables:
[0248] dpq se deriva como en HEVC.
[0251]
[0252]
[0254] Como en la derivación en HEVC, ¿StrongFilterCondition = (dpq es menor que ( • >> 2), sp3 sq3 es menor que ( 3** >> 5 ), y Abs( p0 - q0 ) es menor que ( 5 * tC 1 ) >> 1)? VERDADERO: FALSO
[0255] La FIG. 6 representa el diagrama de flujo del proceso de filtro de desbloqueo de luminancia.
[0256] 2.2.6. Filtro de desbloqueo fuerte para crominancia
[0257] Se define el siguiente filtro de desbloqueo fuerte para crominancia:
[0260]
[0262] El filtro de crominancia propuesto realiza el desbloqueo en una cuadrícula de muestra de crominancia de 4x4.
[0263] 2.2.7. Control de desbloqueo para crominancia
[0264] El filtro de crominancia anterior realiza el desbloqueo en una cuadrícula de muestra de crominancia de 8x8. Los filtros de crominancia fuerte se usan en ambos lados del límite de bloque. En este punto, el filtro de crominancia se selecciona cuando ambos lados del borde de crominancia son mayores que o iguales a 8 (en unidad de muestra de crominancia), y se satisface la siguiente decisión con tres condiciones. La primera es para la decisión de la intensidad del límite, así como para el bloque grande. La segunda y la tercera son básicamente las mismas que para la decisión de luminancia en HEVC, que son decisión de activación/desactivación y decisión de filtro fuerte, respectivamente.
[0265] La FIG. 7 representa el diagrama de flujo del proceso de filtro de desbloqueo de crominancia.
[0266] 2.2.8. Recorte dependiente de la posición
[0267] La propuesta también introduce un recorte dependiente de la posición tcPD que se aplica a las muestras de salida del proceso de filtrado de luminancia que implica filtros fuertes y largos que están modificando 7, 5 y 3 muestras en el límite. Suponiendo una distribución de error de cuantificación, se propone aumentar el valor de recorte para muestras que se espera que tengan un ruido de cuantificación más alto, por lo que se espera que tengan una desviación más alta del valor de muestra reconstruido del valor de muestra verdadero.
[0268] Para cada límite P o Q filtrado con filtro asimétrico propuesto, dependiendo del resultado del proceso de toma de decisiones descrito en la Sección 2.2, se selecciona la tabla de umbrales dependientes de la posición de las tablas Tc7 y Tc3 que se proporcionan al decodificador como una información secundaria:
[0271]
[0273] Para los límites P o Q que se filtran con un filtro simétrico corto, se aplica un umbral dependiente de la posición de menor magnitud:
[0276]
[0278] Después de definir el umbral, los valores de muestra p'i y q'i filtrados se recortan de acuerdo con los valores de recorte tcP y tcQ:
[0279]
[0282] dondep'yq'¡son valores de muestra filtrados,p"iyq"json el valor de muestra de salida después del recorte yTCP, TCPison umbrales de recorte que se derivan del parámetro tc de VVC ytcPDytcQD.El término clip3 es una función de recorte como se especifica en VVC.
[0284] 2.2.9. Ajuste de desbloqueo de subbloque
[0286] Para habilitar el desbloqueo compatible en paralelo usando tanto filtros largos como desbloqueo de subbloques, los filtros largos están restringidos para modificar como máximo 5 muestras en un lado que usa desbloqueo de subbloques (AFFINE o ATMVP) como se muestra en el control de luminancia para filtros largos. Adicionalmente, el desbloqueo de subbloque se ajusta de tal manera que los límites de subbloque en una cuadrícula de 8x8 que están cerca de un límite de CU o de TU implícito están restringidos para modificar como máximo dos muestras en cada lado.
[0288] Lo siguiente se aplica a límites de subbloque que no están alineados con el límite de CU.
[0291]
[0294] Donde el borde igual a 0 corresponde al límite de CU, el borde igual a 2 o igual a orthogonalLength-2 corresponde al límite de subbloque 8 muestras de un límite de CU, etc. Donde TU implícita es verdadera si se usa división implícita de TU. La FIG. 8 muestra los diagramas de flujo del proceso de determinación para límites de TU y límites de sub-PU.
[0295] El filtrado del límite horizontal limita Sp= 3 para luminancia, Sp=1 y Sq=1 para crominancia, cuando el límite horizontal está alineado con el límite de CTU.
[0297] 2.2.10. Decisión de desbloqueo adaptada a una menor diferencia de movimiento
[0299] HEVC habilita el desbloqueo de un límite de unidad de predicción cuando la diferencia en al menos una componente de vector de movimiento entre bloques en el lado respectivo del límite es igual o mayor que un umbral de 1 muestra. En VTM6, se introduce un umbral de una media muestra de luminancia para posibilitar también la eliminación de artefactos de bloqueo que se originan a partir de límites entre unidades de inter predicción que tienen una pequeña diferencia en vectores de movimiento.
[0301] 2.3. Inter e intra predicción combinada (CIIP)
[0303] En VTM6, cuando una CU se codifica en modo de fusión, si la CU contiene al menos 64 muestras de luma (es decir, la anchura de CU por la altura de CU es igual a o mayor que 64), y si tanto la anchura de CU como la altura de CU son menores que 128 muestras de luma, se señaliza una bandera adicional para indicar si se aplica el modo de inter/intra predicción combinada (CIIP) a la CU actual. Como su nombre indica, la predicción CIIP combina una señal de inter predicción con una señal de intra predicción. La señal de inter predicción en el modo CIIPPnterse deriva usando el mismo proceso de inter predicción aplicado al modo de fusión regular; y la señal de intra predicciónPintrase deriva siguiendo el proceso de intra predicción regular con el modo planar. Entonces, las señales de intra e inter predicción se combinan usando promediado ponderado, en donde el valor de peso se calcula dependiendo de los modos de codificación de los bloques vecinos de arriba e izquierdo como sigue:
[0305] - Si el vecino de arriba está disponible e intra codificado, entonces establecer isIntraTop a 1, en caso contrario establecer isIntraTop a 0;
[0306] - Si el vecino izquierdo está disponible e intra codificado, entonces establecer isIntraLeft a 1, en caso contrario establecer isIntraLeft a 0;
[0307] - Si (isIntraLeft isIntraLeft) es igual a 2, entonces wt se establece en 3;
[0308] - En caso contrario, si (isIntraLeft isIntraLeft) es igual a 1, entonces wt se establece en 2;
[0309] - En caso contrario, establecer wt en 1.
[0311] La predicción CIIP se forma como sigue:
[0314]
[0317] 2.4. Diseño de tabla de QP de crominancia en VTM-6.0
[0319] En algunas realizaciones, se usa una tabla de QP de crominancia. En algunas realizaciones, se usa un mecanismo de señalización para tablas de QP de crominancia, que permite que sea flexible proporcionar a los codificadores la oportunidad de optimizar la tabla para contenido de SDR y HDR. Admite la señalización de las tablas por separado para los componentes Cb y Cr. El mecanismo propuesto señaliza la tabla de QP de crominancia como una función lineal por partes.
[0321] 2.5. Salto de transformada (TS)
[0323] Como en HEVC, el residual de un bloque puede codificarse con modo de salto de transformada. Para evitar la redundancia de codificación de sintaxis, la indicación de salto de transformada no se señaliza cuando el nivel de CU MTS_CU_flag no es igual a cero. La limitación de tamaño de bloque para el salto de transformada es la misma que para MTS en JEM4, que indica que el salto de transformada es aplicable para una CU cuando tanto la anchura como la altura de bloque son iguales o menores que 32. Obsérvese que la transformada de MTS implícita se establece a DCT2 cuando se activa LFNST o MIP para la CU actual. También el MTS implícito aún puede habilitarse cuando el MTS está habilitado para bloques inter codificados.
[0325] Además, para el bloque de salto de transformada, el parámetro de cuantificación (QP) mínimo permitido se define como 6*(internalBitDepth - inputBitDepth) 4.
[0327] 2.6. Codificación conjunta de residuales de crominancia (JCCR)
[0329] En algunas realizaciones, los residuales de crominancia se codifican conjuntamente. El uso (activación) de un modo de codificación de crominancia conjunto se indica mediante una indicación de nivel de TUtu_joint_cbct_residual_flagy el modo seleccionado se indica implícitamente por los CBF de crominancia. La indicacióntu_joint_cbcr_residual_flagestá presente si uno o ambos CBF de crominancia para una TU son iguales a 1. En el PPS y la cabecera del corte, se señalizan valores de desplazamiento de QP de crominancia para el modo de codificación residual de crominancia conjunta para diferenciarse de los valores de desplazamiento de QP de crominancia habituales señalizados para el modo de codificación residual de crominancia regular. Estos valores de desplazamiento de QP de crominancia se usan para derivar los valores de QP de crominancia para aquellos bloques codificados usando el modo de codificación residual de crominancia conjunta. Cuando un modo de codificación de crominancia conjunta correspondiente (modos 2 en la Tabla 3) está activo en una TU, este desplazamiento de QP de crominancia se añade al QP de crominancia derivado de luminancia aplicado durante la cuantificación y decodificación de esa TU. Para los otros modos (modos 1 y 3 en la Tabla 3), los QP de crominancia se derivan de la misma manera que para los bloques Cb o Cr convencionales. El proceso de reconstrucción de los residuales de crominancia (resCb y resCr) de los bloques de transformada transmitidos se representa en la Tabla 3. Cuando se activa este modo, se señaliza un único bloque residual de crominancia conjunto (resJointC[x][y] en la Tabla 3), y el bloque residual para Cb (resCb) y el bloque residual para Cr (resCr) se derivan considerando información tal como tu_cbf_cb, tu_cbf_cr y CSign, que es un valor de signo especificado en la cabecera del corte.
[0331] En el lado del codificador, los componentes de crominancia conjuntos se derivan como se explica a continuación. Dependiendo del modo (enumerado en las tablas anteriores), el codificador genera resJointC{1,2} como sigue:
[0332] - Si el modo es igual a 2 (residual único con reconstrucción Cb = C, Cr = CSign * C), el residual conjunto se determina de acuerdo con
[0335]
[0338] - En caso contrario, si el modo es igual a 1 (residual único con reconstrucción Cb = C, Cr = (CSign * C) / 2), el residual conjunto se determina de acuerdo con
[0341]
[0344] - En caso contrario (el modo es igual a 3, es decir, residual único, reconstrucción Cr = C, Cb = (CSign * C) / 2), el residual conjunto se determina de acuerdo con
[0345]
[0347] Tabla 3 Reconstrucción de residuales de crominancia. El valor CSign es un valor de signo (+1 o -1), que se ifi n^ l r l r r in l r i l r n mii .
[0349]
[0351] Se utilizan diferentes QP en los tres modos anteriores. Para el modo 2, se aplica el desplazamiento de QP señalizado en PPS para bloque codificado de JCCR, mientras que para otros dos modos, no se aplica, en su lugar, se aplica el desplazamiento de QP señalizado en PPS para bloque no codificado de JCCR.
[0352] La especificación correspondiente es como sigue:
[0353] 8.7.1 Proceso de derivación para parámetros de cuantificación
[0354] La variable Qpy se deriva de la siguiente manera:
[0356]
[0358] El parámetro de cuantificación de luminancia QpV se deriva de la siguiente manera:
[0360]
[0362] Cuando ChromaArrayType no es igual a 0 y treeType es igual a SINGLE_TREE o DUAL_TREE_CHROMA, se aplica lo siguiente:
[0363] - Cuando treeType es igual a DUAL_TREE_CHROMA, la variable QpYse establece igual al parámetro de cuantificación de luminancia QpYde la unidad de codificación de luminancia que cubre la ubicación de luminancia ( xCb cbWidth / 2, yCb cbHeight / 2 ).
[0364] - Las variables qPob, qPory qPoborse derivan de la siguiente manera:
[0367]
[0369] - Los parámetros de cuantificación de crominancia para los componentes Cb y Cr, Qp'oby Qp'or, y codificación conjunta Cb-Cr Qp'oborse derivan de la siguiente manera:
[0372]
[0374] 8.7.3 Proceso de escalado para coeficientes de transformada
[0375] Las entradas a este proceso son:
[0376] - una ubicación de luminancia ( xTbY, yTbY ) que especifica la muestra superior izquierda del bloque de transformada de luminancia actual en relación con la muestra de luminancia superior izquierda de la imagen actual, - una variable nTbW que especifica el ancho de bloque de transformada,
[0377] - una variable nTbH que especifica la altura del bloque de transformada,
[0378] - una variable cldx que especifica la componente de color del bloque actual,
[0379] - una variable bitDepth que especifica la profundidad de bits del componente de color actual.
[0381] La salida de este proceso es la matriz (nTbW)x(nTbH) d de coeficientes de transformada escalados con elementos d[ x ][ y ].
[0383] El parámetro de cuantificación qP se deriva de la siguiente manera:
[0385] - Si cldx es igual a 0 y transform_skip_flag[ xTbY ][ yTbY ] es igual a 0, se aplica lo siguiente:
[0388]
[0391] - En caso contrario, si cIdx es igual a 0 (y transform_skip_flag[ xTbY ][ yTbY ] es igual a 1), se aplica lo siguiente:
[0394]
[0396] - En caso contrario, si TuCResMode[ xTbY ][ yTbY ] es igual a 2, se aplica lo siguiente:
[0399]
[0401] - En caso contrario, si cIdx es igual a 1, se aplica lo siguiente:
[0404]
[0406] - En caso contrario (cIdx es igual a 2), se aplica lo siguiente:
[0409]
[0411] 3. Inconvenientes de las implementaciones existentes
[0413] DMVR y BIO no implican la señal original durante el perfeccionamiento de los vectores de movimiento, lo que puede dar como resultado bloques de codificación con información de movimiento inexacta. También, DMVR y BIO a veces emplean los vectores de movimiento fraccionarios después de los refinamientos de movimiento mientras que los vídeos de pantalla normalmente tienen vectores de movimiento enteros, lo que hace que la información de movimiento actual sea más inexacta y empeore el rendimiento de codificación.
[0415] 1. La interacción entre la tabla de QP de crominancia y el desbloqueo de crominancia puede tener problemas, por ejemplo, la tabla de QP de crominancia debe aplicarse a los QP individuales, pero no a la suma ponderada de los QP.
[0416] 2. La lógica del proceso de filtrado de desbloqueo de luminancia es complicada para el diseño de hardware. 3. La lógica de la derivación de la resistencia de límite es demasiado complicada tanto para el diseño de software como de hardware.
[0417] 4. En el proceso de decisión de BS, JCCR se trata por separado de aquellos bloques codificados sin aplicar JCCT. Sin embargo, JCCR es solo una forma especial de codificar el residual. Por lo tanto, tal diseño puede aportar una complejidad adicional sin beneficios claros.
[0418] 5. En la decisión de borde de crominancia, Qpoy QpPse establecen iguales a los valores Qpyde las unidades de codificación que incluyen los bloques de codificación que contienen la muestra q0,0 y p0,0, respectivamente. Sin embargo, en el proceso de cuantificación/descuantificación, el QP para una muestra de crominancia se deriva del QP del bloque de luminancia que cubre la correspondiente muestra de luminancia de la posición central de la CU de crominancia actual. Cuando se habilita el árbol dual, las diferentes ubicaciones de bloques de luminancia pueden dar como resultado diferentes QP. Por lo tanto, en el proceso de desbloqueo de crominancia, pueden usarse QP incorrectos para la decisión de filtro. Una desalineación de este tipo puede dar como resultado artefactos visuales. Se muestra un ejemplo en la FIG. 9, incluyendo la Figura 9(a) y la Figura 9(b). En la FIG. 9, el lado izquierdo (Figura 9(a)) es la subdivisión de CTB correspondiente para bloque de luminancia y el lado derecho (Figura 9(b)) en la subdivisión de CTB de crominancia bajo árbol dual. Cuando se determina el Q<p>para el bloque de crominancia, indicado por CUc1, la posición central de CUc1 se deriva en primer lugar. A continuación, la muestra de luminancia correspondiente de la posición central de CUc1 se identifica y la luminancia QP se asocia con la luminancia CU que cubre la correspondiente muestra de luminancia, es decir, CU<s>3 se actualiza para derivar el QP para CUc1. Sin embargo, cuando se toman decisiones de filtro para las tres muestras representadas (con círculos sólidos), se seleccionan los QP de las CU que cubren las 3 muestras correspondientes. Por lo tanto, par ala 1a, 2a y 3a muestras de crominancia (representadas en la Figura 9 (b)), los QP de CU<y>2, CU<y>3, CU<y>4 se utilizan, respectivamente. Es decir, las muestras de crominancia en la misma CU pueden usar diferentes QP para decisión de filtro que pueden dar como resultado decisiones incorrectas.
[0419] 6. Se aplica un desplazamiento de QP de nivel de imagen diferente (es decir, pps_joint_cbcr_qp_offset) a bloques
codificados de JCCR que es diferente de los desplazamientos de nivel de imagen para Cb/Cr (por ejemplo, pps_cb_qp_offset y pps_cr_qp_offset) aplicados a bloques no codificados de JCCR. Sin embargo, en el proceso de decisión de filtro de desbloqueo de crominancia, únicamente se utilizan aquellos desplazamientos para bloques codificados no de JCCR. La falta de consideración de modos codificados puede dar como resultado una decisión de filtro incorrecta.
[0420] 7. Los bloques codificados de TS y sin TS emplean diferentes QP en el proceso de descuantificación, que también pueden considerarse en el proceso de desbloqueo.
[0421] 8. Se usan diferentes QP en el proceso de escalado (cuantificación/descuantificación) para bloques codificados de JCCR con diferentes modos. Tal diseño no es consistente.
[0423] 4. Ejemplos de técnicas y realizaciones
[0425] Las realizaciones detalladas que se describen a continuación deben considerarse como ejemplos para explicar conceptos generales. Estas realizaciones no deberían interpretarse de manera restringida. Asimismo, estas realizaciones se pueden combinar de cualquier manera.
[0427] Los métodos descritos a continuación pueden ser también aplicables a otras tecnologías de derivación de información de movimiento del decodificador además de las DMVR y BIO mencionadas a continuación.
[0429] En los siguientes ejemplos, MVM[i].x y MVM[i].y indican la componente horizontal y vertical del vector de movimiento en la lista de imágenes de referencia i (siendo i 0 o 1) del bloque en M (siendo M P o Q) lado. Abs indica la operación para obtener el valor absoluto de una entrada, y "&&" y "•" indican la operación lógica AND y OR. Haciendo referencia a la FIG. 10, P puede indicar las muestras en el lado P y Q puede indicar las muestras en el lado Q. Los bloques en el lado P y el lado Q pueden indicar el bloque marcado por las líneas discontinuas.
[0431] Con respecto al QP de crominancia en el desbloqueo
[0433] 1. Cuando se usa la tabla de QP de crominancia para derivar parámetros para controlar el desbloqueo de crominancia (por ejemplo, en el proceso de decisión para bordes de bloque de crominancia), pueden aplicarse desplazamientos de QP de crominancia después de aplicar la tabla de QP de crominancia.
[0435] a. En un ejemplo, los desplazamientos de QP de crominancia pueden añadirse al valor emitido por una tabla de QP de crominancia.
[0436] b. Como alternativa, los desplazamientos de QP de crominancia pueden no considerarse como entrada a una tabla de QP de crominancia.
[0437] c. En un ejemplo, los desplazamientos de QP de crominancia pueden ser el desplazamiento del parámetro de cuantificación de crominancia a nivel de imagen u otro nivel de unidad de vídeo (corte/pieza/mosaico/subimagen) (por ejemplo,pps_cb_qp_ offset, pps_cr_qp_ offseten la memoria descriptiva).
[0439] 2. El recorte de QP puede no aplicarse a la entrada de una tabla de QP de crominancia.
[0441] 3. Se propone considerar los desplazamientos del parámetro de cuantificación de nivel de imagen/corte/pieza/mosaico/subimagen usados para diferentes métodos de codificación en el proceso de decisión de filtro de desbloqueo.
[0443] a. En un ejemplo, la selección de desplazamientos del parámetro de cuantificación de nivel de imagen/corte/pieza/mosaico/subimagen para la decisión de filtro (por ejemplo, la decisión de borde de crominancia en el proceso de filtro de desbloqueo) puede depender de los métodos codificados para cada lado. b. En un ejemplo, el proceso de filtrado (por ejemplo, el proceso de decisión de borde de crominancia) que requiere usar los parámetros de cuantificación para bloques de crominancia puede depender de si los bloques usan JCCR.
[0445] i. Como alternativa, asimismo, los desplazamientos de QP de nivel de imagen/corte (por ejemplo,pps_joint_cber_qp_offset)aplicados a bloques codificados de JCCR pueden tenerse en cuenta adicionalmente en el proceso de filtrado de desbloqueo.
[0446] ii. En un ejemplo, elcQpPicOffsetque se usa para decidir los ajustes de Tc y • se pueden establecer enpps_joint_cbcr_qp_offseten lugar de pps_cb_qp_offset o pps_cr_qp_offset bajo ciertas condiciones:
[0447] 1. En un ejemplo, cuando cualquier bloque en los lados P o Q usa JCCR.
[0448] 2. En un ejemplo, cuando ambos bloques en los lados P o Q usan JCCR.
[0450] 4. El proceso de filtrado de crominancia (por ejemplo, el proceso de decisión de borde de crominancia) que requiere acceder a la información decodificada de un bloque de luminancia puede utilizar la información asociada con el mismo bloque de codificación de luminancia que se usa para derivar el QP de crominancia en el proceso de descuantificación/cuantificación.
[0451] a. En un ejemplo, el proceso de filtrado de crominancia (por ejemplo, el proceso de decisión de borde de crominancia) que requiere usar los parámetros de cuantificación para bloques de luminancia puede utilizar la unidad de codificación de luminancia que cubre la correspondiente muestra de luminancia de la posición central de la CU de crominancia actual.
[0452] b. En la Figura 9 se representa un ejemplo en el que la información decodificada de CU<y>3 puede usarse para filtrar la decisión de las tres muestras de crominancia (1a, 2a y 3a) en la FIG. 9 (b).
[0453] 5. El proceso de filtrado de crominancia (por ejemplo, el proceso de decisión de borde de crominancia) puede depender del parámetro de cuantificación aplicado al proceso de escalado del bloque de crominancia (por ejemplo, cuantificación/descuantificación).
[0454] a. En un ejemplo, el QP usado para derivar • y Tc puede depender del QP aplicado al proceso de escalado del bloque de crominancia.
[0455] b. Como alternativa, además, el QP usado para el proceso de escalado del bloque de crominancia puede haber tenido en cuenta el desplazamiento de QP de nivel de CU de crominancia.
[0456] 6. La decisión de invocar los puntos anteriores puede depender de si la muestra que se va a filtrar está en el bloque del lado P o del lado Q.
[0457] a. Por ejemplo, si usar la información del bloque de codificación de luminancia que cubre la muestra de luminancia correspondiente de la muestra de crominancia actual o usar la información del bloque de codificación de luminancia que cubre la muestra de luminancia correspondiente de la posición central del bloque de codificación de crominancia que cubre la muestra de crominancia actual puede depender de la posición de bloque.
[0458] i. En un ejemplo, si la muestra de crominancia actual está en el bloque en el lado Q, puede usarse información de QP del bloque de codificación de luminancia que cubre la muestra de luminancia correspondiente de la posición central del bloque de codificación de crominancia que cubre la muestra de crominancia actual.
[0459] ii. En un ejemplo, si la muestra de crominancia actual está en el bloque en el lado P, puede usarse información de QP del bloque de codificación de luminancia que cubre la muestra de luminancia correspondiente de la muestra de crominancia.
[0460] Con respecto a los ajustes de QP
[0461] 7. Se propone señalizar la indicación de habilitación del desplazamiento de QP de crominancia a nivel de bloque (por ejemplo, rebanada _cu_chroma_qp_offset_enabled_flag) al nivel de corte/pieza/mosaico/subimagen. a. Como alternativa, la señalización de una indicación de este tipo puede señalizarse condicionalmente. i. En un ejemplo, puede señalizarse bajo la condición de indicación de habilitación de JCCR.
[0462] ii. En un ejemplo, puede señalizarse bajo la condición de indicación de habilitación de desplazamiento de QP de crominancia a nivel de bloque al nivel de imagen.
[0463] iii. Como alternativa, puede derivarse una indicación de este tipo en su lugar.
[0464] b. En un ejemplo, el slice_cu_chroma_qp_offset_enabled_flag puede señalizarse únicamente cuando la indicación de PPS del desplazamiento de QP de crominancia (por ejemplo, slice_cu_chroma_qp_offset_enabled_flag) es verdadera.
[0465] c. En un ejemplo, el slice_cu_chroma_qp_offset_enabled_flag puede inferirse a falso únicamente cuando la indicación de PPS del desplazamiento de Qp de crominancia (por ejemplo, slice_cu_chroma_qp_offset_enabled_flag) es falsa.
[0466] d. En un ejemplo, si usar el desplazamiento de QP de crominancia en un bloque puede basarse en las banderas de desplazamiento de QP de crominancia a nivel de PPS y/o nivel de corte.
[0467] 8. Se usa el mismo método de derivación de QP en el proceso de escalado (cuantificación/descuantificación) para bloques codificados de JCCR con diferentes modos.
[0468] a. En un ejemplo, para JCCR con modo 1 y 3, el QP depende del desplazamiento de QP señalizado al nivel de imagen/corte (por ejemplo, pps_cbcr_qp_offset, slice_cbcr_qp_offset).
[0469] Procedimientos de filtrado
[0470] 9. El desbloqueo para todos los componentes de color excepto para el primer componente de color puede seguir el proceso de desbloqueo para el primer componente de color.
[0471] a. En un ejemplo, cuando el formato de color es 4:4:4, el proceso de desbloqueo para el segundo y tercer componentes puede seguir al proceso de desbloqueo para el primer componente.
[0472] b. En un ejemplo, cuando el formato de color es 4:4:4 en el espacio de color RGB, el proceso de desbloqueo para el segundo y tercer componentes puede seguir el proceso de desbloqueo para el primer componente. c. En un ejemplo, cuando el formato de color es 4:2:2, el proceso de desbloqueo vertical para el segundo y tercer componentes puede seguir el proceso de desbloqueo vertical para el primer componente.
[0473] d. En los ejemplos anteriores, el proceso de desbloqueo puede referirse a proceso de decisión de desbloqueo y/o proceso de filtrado de desbloqueo.
[0475] Con respecto a la derivación de la intensidad del límite
[0477] 10. Se propone tratar bloques codificados de JCCR como aquellos bloques no codificados de JCCR en el proceso de decisión de intensidad del límite.
[0479] a. En un ejemplo, la determinación de la intensidad del límite (BS) puede ser independiente de la comprobación del uso de JCCR para dos bloques en los lados P y Q.
[0480] a. En un ejemplo, la intensidad del límite (BS) para un bloque puede determinarse independientemente de si el bloque está codificado con JCCR o no.
[0482] 11. Se propone derivar la intensidad del límite (BS) sin comparar las imágenes de referencia y/o el número de MV asociadas con el bloque en el lado P con las imágenes de referencia del bloque en el lado Q.
[0484] b. En un ejemplo, el filtro de desbloqueo puede desactivarse incluso cuando dos bloques están con diferentes imágenes de referencia.
[0485] c. En un ejemplo, el filtro de desbloqueo puede desactivarse incluso cuando dos bloques tienen un número diferente de MV (por ejemplo, uno es uni-previsto y el otro es bi-previsto).
[0486] d. En un ejemplo, el valor de BS puede establecerse a 1 cuando las diferencias de vector de movimiento para una o todas las listas de imágenes de referencia entre los bloques en el lado P y el lado Q son mayores que o iguales a un umbral Th.
[0488] i. Como alternativa, además, el valor de BS puede establecerse a 0 cuando las diferencias de vector de movimiento para una o todas las listas de imágenes de referencia entre los bloques en el lado P y el lado Q son menores que o iguales a un umbral Th.
[0490] e. En un ejemplo, la diferencia de los vectores de movimiento de dos bloques que son mayores que un umbral Th puede definirse como(4bs(MVP[0].x - MVQ[0].x) >Th •Abs(MVP[0].y - MVQ[0].y)> Th •Abs(MVP[1].x -MVQ[1].x)> Th) •Abs(MVP[1].y -MVQ[1].y)> Th)
[0492] i. Como alternativa, la diferencia de los vectores de movimiento de dos bloques que son mayores que un umbral Th puede definirse como(4bs(MVP[0].x -MVQ[0].x)> Th &&Abs(MVP[0].y - MVQ[0].y)> Th&& Abs(MVP[1].x - MVQ[1].x)> Th) &&Abs(MVP[1].y - MVQ[1].y)> Th)
[0493] ii. Como alternativa, en un ejemplo, la diferencia de los vectores de movimiento de dos bloques que son mayores que un umbral Th puede definirse como(Abs(MVP[0].x - MVQ[0].x)> Th •Abs(MVP[0].y -MVQ[0].y)> Th ) &&(Abs(MVP[1].x - MVQ[1].x)> Th) •Abs(MVP[1].y - MVQ[1].y) >Th
[0494] iii. Como alternativa, en un ejemplo, la diferencia de los vectores de movimiento de dos bloques que son mayores que un umbral Th puede definirse como(Abs(MVP[0].x - MVQ[0].x)> Th&& Abs(MVP[0].y -MVQ[0].y)> Th ) •(Abs(MVP[1].x - MVQ[1].x)> Th) &&Abs(MVP[1].y - MVQ[1].y)> Th)
[0496] f. En un ejemplo, un bloque que no tiene un vector de movimiento en una lista dada puede tratarse como si tuviera un vector de cero movimiento en esa lista.
[0497] g. En los ejemplos anteriores, Th es un número entero (por ejemplo, 4, 8 o 16).
[0498] h. En los ejemplos anteriores, Th puede depender de
[0500] i. Contenidos de vídeo (por ejemplo, contenidos de pantalla o contenidos naturales)
[0501] ii. Un mensaje señalizado en la DPS/SPS/VPS/PPS/APS/cabecera de imagen/cabecera de corte/cabecera de grupo de piezas/unidad de codificación más grande (LCU)/unidad de codificación (CU)/fila de LCU/grupo de LCU/TU/bloque de PU/unidad de codificación de vídeo
[0502] iii. Posición de CU/PU/TU/bloque/unidad de codificación de vídeo
[0503] iv. Modos codificados de bloques que contienen las muestras a lo largo de los bordes
[0504] v. Matrices de transformada aplicadas a los bloques que contienen las muestras a lo largo de los bordes vi. Dimensión de bloque/forma de bloque del bloque actual y/o sus bloques vecinos
[0505] vii. Indicación del formato de color (tal como 4:2:0, 4:4:4, r Gb o YUV)
[0506] viii. Estructura de árbol de codificación (tal como árbol dual o árbol único)
[0507] ix. Tipo de grupo de corte/pieza y/o tipo de imagen
[0508] x. Componente de color (por ejemplo, solo puede aplicarse sobre Cb o Cr)
[0509] xi. ID de capa temporal
[0510] xii. Perfiles/niveles/estratos de una norma
[0511] xiii. Como alternativa, Th puede señalizarse al decodificador.
[0513] i. Los ejemplos anteriores pueden aplicarse bajo ciertas condiciones.
[0515] i. En un ejemplo, la condición es queblkPyblkQno sean codificados con intra modos.
[0516] ii. En un ejemplo, la condición es queblkPyblkQtengan coeficientes de cero en la componente de luminancia.
[0517] iii. En un ejemplo, la condición es queblkPyblkQno sean codificados con el modo CIIP.
[0518] iv. En un ejemplo, la condición es queblkPyblkQsean codificados con un mismo modo de predicción (por ejemplo, iBc o Inter).
[0520] Con respecto al proceso de filtrado de desbloqueo de luminancia
[0522] 12. El desbloqueo puede usar diferentes QP para bloques codificados de TS y bloques no codificados de TS.
[0523] a. En un ejemplo, el QP para TS puede usarse en bloques codificados de TS mientras que el QP para no TS puede usarse en bloques codificados sin TS.
[0525] 13. El proceso de filtrado de luminancia (por ejemplo, el proceso de decisión de borde de luminancia) puede depender del parámetro de cuantificación aplicado al proceso de escalado del bloque de luminancia.
[0527] a. En un ejemplo, el QP usado para derivar beta y Tc puede depender del intervalo de recorte del salto de transformada, por ejemplo como se indica por QpPrimeTsMin.
[0529] 14. Se propone usar un cálculo de gradiente idéntico para límites de bloque grandes y límites de bloque más pequeños.
[0531] a. En un ejemplo, la decisión de activación/desactivación del filtro de desbloqueo descrita en la sección 2.1.4 puede aplicarse también para límite de bloque grande.
[0533] i. En un ejemplo, el umbralbetaen la decisión puede modificarse para un límite de bloque grande.
[0535] 1. En un ejemplo,betapuede depender del parámetro de cuantificación.
[0536] 2. En un ejemplo,betautilizado para la decisión de activación/desactivación del filtro de desbloqueo para límites de bloque grandes puede ser menor que para límites de bloque más pequeños.
[0537] a. Como alternativa, en un ejemplo,betautilizado para la decisión de activación/desactivación del filtro de desbloqueo para límites de bloque grandes puede ser mayor que para límites de bloque más pequeños.
[0538] b. Como alternativa, en un ejemplo,betautilizado para la decisión de activación/desactivación del filtro de desbloqueo para límites de bloque grandes puede ser igual a la de límites de bloque más pequeños.
[0540] 3. En un ejemplo,betaes un número entero y puede basarse en
[0542] a. Contenidos de vídeo (por ejemplo, contenidos de pantalla o contenidos naturales) b. Un mensaje señalizado en la DPS/SPS/VPS/PPS/APS/cabecera de imagen/cabecera de corte/cabecera de grupo de piezas/unidad de codificación más grande (LCU)/unidad de codificación (CU)/fila de LCU/grupo de LCU/TU/bloque de PU/unidad de codificación de vídeo c. Posición de CU/PU/TU/bloque/unidad de codificación de vídeo
[0543] d. Modos codificados de bloques que contienen las muestras a lo largo de los bordes e. Matrices de transformada aplicadas a los bloques que contienen las muestras a lo largo de los bordes
[0544] f. Dimensión de bloque del bloque actual y/o sus bloques vecinos
[0545] g. Forma de bloque del bloque actual y/o sus bloques vecinos
[0546] h. Indicación del formato de color (tal como 4:2:0, 4:4:4, RGB o YUV)
[0547] i. Estructura de árbol de codificación (tal como árbol dual o árbol único)
[0548] j. Tipo de grupo de corte/pieza y/o tipo de imagen
[0549] k. Componente de color (por ejemplo, solo puede aplicarse sobre Cb o Cr)
[0550] l. ID de capa temporal
[0551] m. Perfiles/niveles/estratos de una norma
[0552] n. Como alternativa,betapuede señalizarse al decodificador.
[0554] En general
[0555] 15. Los métodos propuestos anteriormente pueden aplicarse bajo ciertas condiciones.
[0557] a. En un ejemplo, la condición es que el formato de color sea 4:2:0 y/o 4:2:2.
[0559] i. Como alternativa, además, para formato de color 4:4:4, cómo aplicar filtro de desbloqueo a los dos componentes de crominancia de color puede seguir el diseño actual.
[0561] b. En un ejemplo, la indicación de uso de los métodos anteriores puede señalizarse en secuencia/imagen/corte/pieza/mosaico/un nivel de región de vídeo, tal como SPS/PPS/cabecera de imagen/cabecera de corte.
[0562] c. En un ejemplo, el uso de los métodos anteriores puede depender de
[0564] ii. Contenidos de vídeo (por ejemplo, contenidos de pantalla o contenidos naturales)
[0565] iii. Un mensaje señalizado en la DPS/SPS/VPS/PPS/APS/cabecera de imagen/cabecera de corte/cabecera de grupo de piezas/unidad de codificación más grande (LCU)/unidad de codificación (CU)/fila de LCU/grupo de LCU/TU/bloque de PU/unidad de codificación de vídeo
[0566] iv. Posición de CU/PU/TU/bloque/unidad de codificación de vídeo
[0567] v. Modos codificados de bloques que contienen las muestras a lo largo de los bordes
[0568] vi. Matrices de transformada aplicadas a los bloques que contienen las muestras a lo largo de los bordes vii. Dimensión de bloque del bloque actual y/o sus bloques vecinos
[0569] viii. Forma de bloque del bloque actual y/o sus bloques vecinos
[0570] ix. Indicación del formato de color (tal como 4:2:0, 4:4:4, RGB o YUV)
[0571] x. Estructura de árbol de codificación (tal como árbol dual o árbol único)
[0572] xi. Tipo de grupo de corte/pieza y/o tipo de imagen
[0573] xii. Componente de color (por ejemplo, solo puede aplicarse sobre Cb o Cr)
[0574] xiii. ID de capa temporal
[0575] xiv. Perfiles/niveles/estratos de una norma
[0576] xv. Como alternativa, m y/o n pueden señalizarse al decodificador.
[0578] 5. Realizaciones adicionales
[0580] Los textos recién añadidos se muestran en fuente subrayada en negrita y cursiva. Los textos eliminados se marcan con [[]].
[0582] 5,1. Realización n.° 1 sobre QP de crominancia en desbloqueo 8.8.3.6 Proceso de filtrado de bordes para una dirección ...
[0584] - En caso contrario (cIdx no es igual a 0), el proceso de filtrado para bordes en el bloque de codificación de crominancia de la unidad de codificación actual especificada por cIdx consiste en las siguientes etapas ordenadas:
[0586] 1. La variable cQpPicOffset se deriva de la siguiente manera:
[0589]
[0592] 1.
[0593] 8.8.3.6.3 Proceso de decisión para bordes de bloque de crominancia ...
[0595] Las variables Qpo y QpP se establecen iguales a los valores Qpy de las unidades de codificación que incluyen los bloques de codificación que contienen la muestra q<0,0>y p<0>,<0>, respectivamente.
[0597] La variable Qpo se deriva de la siguiente manera:
[0600]
[0602] OBSÉRVESE- La variable cQpPicOffset proporciona un ajuste para el valor de pps_cb_qp_offset o pps_cr_qp_offset, según si la componente de crominancia filtrado es la componente Cb o Cr. Sin embargo, para evitar la necesidad de variar la cantidad del ajuste dentro de la imagen, el proceso de filtrado no incluye un ajuste para el valor de slice_cb_qp_offset o slice_cr_qp_offset ni (cuando cu_chroma_qp_offset_enabled_flag es igual a 1) para el valor de CuQpOffsefcb, CuQpOffsefcro CuQpOffsetCbCr.
[0604] El valor de la variable • ' se determina como se especifica en la Tabla 8-18 basándose en el parámetro de cuantificación
Q derivado como sigue:
[0607]
[0609] donde slice_beta_offset_div2 es el valor del elemento de sintaxis slice_beta_offset_div2 para el corte que contiene la muestra q<0>,<0>.
[0611] La variable • se deriva de la siguiente manera:
[0614]
[0616] El valor de la variable te' se determina como se especifica en la Tabla 8-18 basándose en el parámetro de cuantificación Q de crominancia derivado como sigue:
[0619]
[0621] donde slice_tc_offset_div2 es el valor del elemento de sintaxis slice_tc_offset_div2 para el corte que contiene la muestra q0,0. La variable tese deriva de la siguiente manera:
[0624]
[0626] 5.2. Realización n.° 2 sobre la derivación de la intensidad del límite
[0628] 8.8.3.5 Proceso de derivación de la intensidad del límite de filtrado
[0630] Las entradas a este proceso son:
[0632] - una matriz de muestra de imagen recPicture,
[0633] - una ubicación ( xCb, yCb ) que especifica la muestra superior izquierda del bloque de codificación actual en relación con la muestra superior izquierda de la imagen actual,
[0634] - una variable nCbW que especifica la anchura del bloque de codificación actual,
[0635] - una variable nCbH que especifica la altura del bloque de codificación actual,
[0636] - una variable edgeType que especifica si se filtra un borde vertical (EDGE_VER) u horizontal (EDGE_HOR), - una variable cldx que especifica la componente de color del bloque de codificación actual,
[0637] - una matriz bidimensional (nCbW)x(nCbH) edgeFlags.
[0639] La salida de este proceso es una matriz bidimensional (nCbW)x(nCbH) bS que especifica la intensidad del límite de filtrado. ...
[0641] Para xDicon i = 0..xN y yDjcon j = 0..yN, se aplica lo siguiente:
[0643] - Si edgeFlags[ xDi][ yDj] es igual a 0, la variable bS[ xDi] [ yDj]se establece igual a 0.
[0644] - En caso contrario, se aplica lo siguiente:
[0646] - La variable bS[ xDi][ yDj] se deriva de la siguiente manera:
[0648] - Si cldx es igual a 0 y ambas muestras p0 y q0 están en un bloque de codificación con intra_bdpcm_flag igual a 1, bS[ xDi][ yDj] se establece igual a 0.
[0649] - En caso contrario, si la muestra p0 o q0 está en el bloque de codificación de una unidad de codificación codificada con modo de intra predicción, bS[ xDi] [ yDj] se establece igual a 2.
[0650] - En caso contrario, si el borde de bloque también es un borde de bloque de transformada y la muestra p0 o q0 está en un bloque de codificación con ciip_flag igual a 1, bS[ xDi][ yDj] se establece igual a 2.
[0651] - En caso contrario, si el borde de bloque también es un borde de bloque de transformada y la muestra p0 o q0 está en un bloque de transformada que contiene uno o más niveles de coeficiente de transformada distintos de cero, bS[ xDi][ yDj] se establece igual a 1.
[0652] - En caso contrario, si el borde de bloque también es un borde de bloque de transformada, cldx es mayor que 0, y la muestra p0 o q0 está en una unidad de transformada con tu_joint_cbcr_residual_flag igual a 1, bS[ xDi][ yDj] se establece igual a 1.
[0653] - En caso contrario, si el modo de predicción del subbloque de codificación que contiene la muestra p0 es diferente del modo de predicción del subbloque de codificación que contiene la muestra q0 (es decir, uno del subbloque de codificación se codifica en modo de predicción de IBC y el otro se codifica en modo de inter predicción), bS[ xDi][ yDj] se establece igual a 1.
[0654] - En caso contrario, si cldx es igual a 0 y una o más de las siguientes condiciones son verdaderas, bS[ xDi][
yDj ] se establece igual a 1:
[0656] -La diferencia absoluta entre la componente horizontal o vertical de los vectores de movimiento de la lista 0 usados en la predicción de los dos subblogues de codificación es mayor o igual que 8 en 1116 muestras de luminancia, o la diferencia absoluta entre la componente horizontal o vertical de los vectores de movimiento de la lista 1 usados en la predicción de los dos subbloques de codificación es mayor o igual que 8 en unidades de 1116 muestras de luminancia.
[0657] - [[El subbloque de codificación que contiene la muestra p<0>y el subbloque de codificación que contiene la muestra q<0>se codifican ambos en modo de predicción de IBC, y la diferencia absoluta entre la componente horizontal o vertical de los vectores de bloque usados en la predicción de los dos subbloques de codificación es mayor o igual que 8 en unidades de 1/16 muestras de luminancia. - Para la predicción del subbloque de codificación que contiene la muestra p<0>se usan imágenes de referencia diferentes o un número diferente de vectores de movimiento que para la predicción del subbloque de codificación que contiene la muestra q<0>.
[0659] NOTA 1 - La determinación de si las imágenes de referencia usadas para los dos subbloques de codificación son iguales o diferentes se basa únicamente en qué imágenes se toman como referencia, sin tener en cuenta si se forma una predicción usando un índice en la lista de imágenes de referencia 0 o un índice en la lista de imágenes de referencia 1, y también sin tener en cuenta si la posición de índice dentro de una lista de imágenes de referencia es diferente.
[0660] NOTA 2 - El número de vectores de movimiento que se usan para la predicción de un subbloque de codificación con cobertura de muestra superior izquierda (xSb, ySb), es igual a PredFlagL0[ xSb ][ ySb ] PredFlagL1[ xSb ][ ySb ].
[0662] - Se usa un vector de movimiento para predecir el subbloque de codificación que contiene la muestra p0 y se usa un vector de movimiento para predecir el subbloque de codificación que contiene la muestra q0, y la diferencia absoluta entre la componente horizontal o vertical de los vectores de movimiento usados es mayor o igual a 8 en unidades de 1/16 muestras de luminancia.
[0663] - Se usan dos vectores de movimiento y dos imágenes de referencia diferentes para predecir el subbloque de codificación que contiene la muestra p<0>, se usan dos vectores de movimiento para las mismas dos imágenes de referencia para predecir el subbloque de codificación que contiene la muestra q<0>y la diferencia absoluta entre la componente horizontal o vertical de los dos vectores de movimiento usados en la predicción de los dos subbloques de codificación para la misma imagen de referencia es mayor o igual que 8 en unidades de 1/16 muestras de luminancia.
[0664] - Se usan dos vectores de movimiento para la misma imagen de referencia para predecir el subbloque de codificación que contiene la muestra p<0>, se usan dos vectores de movimiento para la misma imagen de referencia para predecir el subbloque de codificación que contiene la muestra q<0>y ambas de las siguientes condiciones son verdaderas:
[0666] - La diferencia absoluta entre la componente horizontal o vertical de los vectores de movimiento de la lista 0 usados en la predicción de los dos subbloques de codificación es mayor o igual que 8 en 1/16 muestras de luminancia, o la diferencia absoluta entre la componente horizontal o vertical de los vectores de movimiento de la lista 1 usados en la predicción de los dos subbloques de codificación es mayor o igual que 8 en unidades de 1/16 muestras de luminancia.
[0667] - La diferencia absoluta entre la componente horizontal o vertical del vector de movimiento de lista 0 usado en la predicción del subbloque de codificación que contiene la muestra p<0>y el vector de movimiento de la lista 1 usado en la predicción del subbloque de codificación que contiene la muestra q<0>es mayor o igual que 8 en unidades de 1/16 muestras de luminancia, o la diferencia absoluta entre la componente horizontal o vertical del vector de movimiento de la lista 1 usado en la predicción del subbloque de codificación que contiene la muestra p<0>y el vector de movimiento de la lista 0 usado en la predicción del subbloque de codificación que contiene la muestra q<0>es mayor o igual que 8 en unidades de 1/16 muestras de luminancia.]]
[0669] - En caso contrario, la variable bS[ xDi ][ yDj ] se establece igual a 0.
[0671] 5.3. Realización n.° 3 sobre la derivación de la intensidad del límite
[0673] 8.8.3.5 Proceso de derivación de la intensidad del límite de filtrado
[0675] Las entradas a este proceso son:
[0677] - una matriz de muestra de imagen recPicture,
[0678] - una ubicación ( xCb, yCb ) que especifica la muestra superior izquierda del bloque de codificación actual en relación con la muestra superior izquierda de la imagen actual,
[0679] - una variable nCbW que especifica la anchura del bloque de codificación actual,
[0680] - una variable nCbH que especifica la altura del bloque de codificación actual,
[0681] - una variable edgeType que especifica si se filtra un borde vertical (EDGE_VER) u horizontal (EDGE _HOR), - una variable cldx que especifica la componente de color del bloque de codificación actual,
[0682] - una matriz bidimensional (nCbW)x(nCbH) edgeFlags.
[0684] La salida de este proceso es una matriz bidimensional (nCbW)x(nCbH) bS que especifica la intensidad del límite de filtrado. ...
[0686] Para xDi con i = 0..xN y yDj con j = 0..yN, se aplica lo siguiente:
[0688] - Si edgeFlags[ xDi ][ yDj ] es igual a 0, la variable bS[ xDi ][ yDj ]se establece igual a 0.
[0689] - En caso contrario, se aplica lo siguiente:
[0691] - La variable bS[ xDi ][ yDj ] se deriva de la siguiente manera:
[0693] - Si cldx es igual a 0 y ambas muestras p<0>y q<0>están en un bloque de codificación con intra_bdpcm_flag igual a 1, bS[ xDi ][ yDj ] se establece igual a 0.
[0694] - En caso contrario, si la muestra p<0>o q<0>está en el bloque de codificación de una unidad de codificación codificada con modo de intra predicción, bS[ xDi ] [ yDj ] se establece igual a 2.
[0695] - En caso contrario, si el borde de bloque también es un borde de bloque de transformada y la muestra p<0>o q<0>está en un bloque de codificación con ciip_flag igual a 1, bS[ xDi ][ yDj ] se establece igual a 2.
[0696] - En caso contrario, si el borde de bloque también es un borde de bloque de transformada y la muestra p<0>o q<0>está en un bloque de transformada que contiene uno o más niveles de coeficiente de transformada distintos de cero, bS[ xDi ][ yDj ] se establece igual a 1.
[0697] - [[En caso contrario, si el borde de bloque también es un borde de bloque de transformada, cIdx es mayor que 0, y la muestra p<0>o q<0>está en una unidad de transformada con tu_joint_cbcr_residual_flag igual a 1, bS[ xDi ][ yDj ] se establece igual a 1.]]
[0698] - En caso contrario, si el modo de predicción del subbloque de codificación que contiene la muestra p<0>es diferente del modo de predicción del subbloque de codificación que contiene la muestra q<0>(es decir, uno del subbloque de codificación se codifica en modo de predicción de IBC y el otro se codifica en modo de inter predicción), bS[ xDi ][ yDj ] se establece igual a 1.
[0699] - En caso contrario, si cldx es igual a 0 y una o más de las siguientes condiciones son verdaderas, bS[ xDi ][ yDj ] se establece igual a 1:
[0701] - El subbloque de codificación que contiene la muestra p<0>y el subbloque de codificación que contiene la muestra q<0>se codifican ambos en modo de predicción de IBC, y la diferencia absoluta entre la componente horizontal o vertical de los vectores de bloque usados en la predicción de los dos subbloques de codificación es mayor o igual que 8 en unidades de 1/16 muestras de luminancia. - Para la predicción del subbloque de codificación que contiene la muestra p<0>se usan imágenes de referencia diferentes o un número diferente de vectores de movimiento que para la predicción del subbloque de codificación que contiene la muestra q<0>.
[0703] NOTA 1 - La determinación de si las imágenes de referencia usadas para los dos subbloques de codificación son iguales o diferentes se basa únicamente en qué imágenes se toman como referencia, sin tener en cuenta si se forma una predicción usando un índice en la lista de imágenes de referencia 0 o un índice en la lista de imágenes de referencia 1, y también sin tener en cuenta si la posición de índice dentro de una lista de imágenes de referencia es diferente.
[0704] NOTA 2 - El número de vectores de movimiento que se usan para la predicción de un subbloque de codificación con cobertura de muestra superior izquierda (xSb, ySb), es igual a PredFlagL0[ xSb ][ ySb ] PredFlagL 1[ xSb ][ ySb ].
[0706] - Se usa un vector de movimiento para predecir el subbloque de codificación que contiene la muestra p<0>y se usa un vector de movimiento para predecir el subbloque de codificación que contiene la muestra q<0>, y la diferencia absoluta entre la componente horizontal o vertical de los vectores de movimiento usados es mayor o igual a 8 en unidades de 1/16 muestras de luminancia.
[0707] - Se usan dos vectores de movimiento y dos imágenes de referencia diferentes para predecir el subbloque de codificación que contiene la muestra p<0>, se usan dos vectores de movimiento para las mismas dos imágenes de referencia para predecir el subbloque de codificación que contiene la muestra q<0>y la diferencia absoluta entre la componente horizontal o vertical de los dos vectores de movimiento usados en la predicción de los dos subbloques de codificación para la misma imagen de referencia es mayor o igual que 8 en unidades de 1/16 muestras de luminancia.
[0708] - Se usan dos vectores de movimiento para la misma imagen de referencia para predecir el subbloque de codificación que contiene la muestra p<0>, se usan dos vectores de movimiento para la misma imagen de referencia para predecir el subbloque de codificación que contiene la muestra q<0>y ambas de las
siguientes condiciones son verdaderas:
[0709] - La diferencia absoluta entre la componente horizontal o vertical de los vectores de movimiento de la lista 0 usados en la predicción de los dos subbloques de codificación es mayor o igual que 8 en 1/16 muestras de luminancia, o la diferencia absoluta entre la componente horizontal o vertical de los vectores de movimiento de la lista 1 usados en la predicción de los dos subbloques de codificación es mayor o igual que 8 en unidades de 1/16 muestras de luminancia.
[0710] - La diferencia absoluta entre la componente horizontal o vertical del vector de movimiento de lista 0 usado en la predicción del subbloque de codificación que contiene la muestra p<0>y el vector de movimiento de la lista 1 usado en la predicción del subbloque de codificación que contiene la muestra q<0>es mayor o igual que 8 en unidades de 1/16 muestras de luminancia, o la diferencia absoluta entre la componente horizontal o vertical del vector de movimiento de la lista 1 usado en la predicción del subbloque de codificación que contiene la muestra p<0>y el vector de movimiento de la lista 0 usado en la predicción del subbloque de codificación que contiene la muestra q<0>es mayor o igual que 8 en unidades de 1/16 muestras de luminancia.
[0711] - En caso contrario, la variable bS[ xDi ][ yDj ] se establece igual a 0.
[0712] 5.4. Realización n.° 4 sobre el proceso de filtrado de desbloqueo de luminancia
[0713] 8.8.3.6.1 Proceso de decisión para bordes de bloque de luminancia
[0714] Las entradas a este proceso son:
[0715] - una matriz de muestra de imagen recPicture,
[0716] - una ubicación ( xCb, yCb ) que especifica la muestra superior izquierda del bloque de codificación actual en relación con la muestra superior izquierda de la imagen actual,
[0717] - una ubicación (xBl, yBl) que especifica la muestra superior izquierda del bloque actual en relación con la muestra superior izquierda del bloque de codificación actual,
[0718] - una variable edgeType que especifica si se filtra un borde vertical (EDGE _VER) u horizontal (EDGE_HOR), - una variable bS que especifica la intensidad del límite de filtrado,
[0719] - una variable maxFilterLengthP que especifica la longitud máxima del filtro,
[0720] - una variable maxFilterLengthQ que especifica la longitud máxima del filtro.
[0721] Las salidas de este proceso son:
[0722] - las variables dE, dEp y dEq que contienen decisiones,
[0723] - las variables de longitud de filtro modificadas maxFilterLengthP y maxFilterLengthQ,
[0724] - la variable te.
[0726] Se aplican las siguientes etapas ordenadas: ...
[0727] 1. Cuando sidePisLargeBlk o sideQisLargeBlk es mayor que 0, se aplica lo siguiente:
[0728] a. Las variables dp0L, dp3L se derivan y maxFilterLengthP se modifica como sigue:
[0729] - [[Si sidePisLargeBlk es igual a 1, se aplica lo siguiente:
[0730] dpOL = ( dpü Abs( p5.u~ 2 *p4.o p3,o ) 1 ) » 1 (8-1087) dp3L = ( dp3 Abs( p5.j- 2 *p4.3+ p3>3) 1 ) » 1 (8-1088)- En caso contrario, se aplica lo siguiente:]]
[0731] dpOL - dpü (8-1089)
[0732] dp3L = dp3 (8-1090) [[maxFillerLengtliP = 3 (8-1091)]] ¿ maxFilterLengthP = sidePisLargeBlk ? maxFilterLengthP: 3
[0733] b. Las variables dq0L y dq3L se derivan de la siguiente manera:
[0734] - [[Si sideQisLargeBIk es igual a 1, se aplica lo siguiente:
[0737]
[0739] ¿maxFilterLengthQ = sidePisLargeBIk ? maxFilterLengthQ : 3
[0741] 2. Las variables dE, dEp y dEq se derivan de la siguiente manera:
[0743] 5.5. Realización n.° 5 sobre el proceso de filtrado de desbloqueo de crominancia
[0744] 8.8.3.6.3 Proceso de decisión para bordes de bloque de crominancia
[0745] Este proceso solo se invoca cuando ChromaArrayType no es igual a 0.
[0746] Las entradas a este proceso son:
[0747] - una matriz de muestras de imágenes de crominancia recPicture,
[0748] - una ubicación de crominancia ( xCb, yCb ) que especifica la muestra superior izquierda del bloque de codificación de crominancia actual en relación con la muestra de crominancia superior izquierda de la imagen actual, - una ubicación de crominancia (xBl, yBl) que especifica la muestra superior izquierda del bloque de crominancia actual en relación con la muestra superior izquierda del bloque de codificación de crominancia actual,
[0749] - una variable edgeType que especifica si se filtra un borde vertical (EDGE _VER) u horizontal (EDGE_HOR), - una variable cldx que especifica el índice de componente de color,
[0750] - una variable cQpPicOffset que especifica el desplazamiento del parámetro de cuantificación de crominancia a nivel de imagen,
[0751] - una variable bS que especifica la intensidad del límite de filtrado,
[0752] - una variable maxFilterLengthCbCr.
[0753] Las salidas de este proceso son
[0754] - la variable modificada maxFilterLengthCbCr,
[0755] - la variable te.
[0756] La variable maxK se deriva de la siguiente manera:
[0757] - Si edgeType es igual a EDGE_VER, se aplica lo siguiente:
[0760]
[0762] - En caso contrario (edgeType es igual a EDGE_HOR), se aplica lo siguiente:
[0764]
[0766] Los valores pi y qi con i = 0.. maxFilterLengthCbCr y k = 0..maxK se derivan de la siguiente manera:
[0767] - Si edgeType es igual a EDGE_VER, se aplica lo siguiente:
[0770]
[0772] - En caso contrario (edgeType es igual a EDGE_HOR), se aplica lo siguiente:
[0773]
[0776] Cuando ChromaArravTvoe no es igual a 0 y treeType es igual a SINGLE TREE o DUAL TREE CHROMA, se aplica lo siguiente:
[0778] - Cuando treeType es igual a DUAL TREE CHROMA, la variable Qpy se establece igual al parámetro de cuantificación de luminancia Qpy de la unidad de codificación de luminancia que cubre la ubicación de luminancia ( xCb cbWidth / 2, yCb cbHeight / 2 ).
[0779] -Las variables qPCb, qPCr y qPCbCr se derivan de la siguiente manera:
[0782]
[0784] - Los parámetros de cuantificación de crominancia para los componentes Cb y Cr, Qp'Cb y Qp'Cr, y codificación conjunta Cb-Cr Qp'CbCrse derivan de la siguiente manera:
[0787]
[0790] Las variables Odo y Qdp se establecen iguales a los correspondientes Qp'Cb o Qp tCrQm O d 'CbCr valores de las unidades de codificación que incluyen los bloques de codificación que contienen la muestra qoo y doo, respectivamente. La variable Opc se deriva de la siguiente manera:
[0792] Qdc = ( Qdo + Qdp + 1 )
>>1 (8-1133)
[0794] El valor de la variable • ' se determina como se especifica en la Tabla t-18 basándose en el parámetro de cuantificación Q derivado como sigue:
[0797]
[0800] donde slice_beta_offset_div2 es el valor del elemento de sintaxis slice_beta_offset_div2 para el corte que contiene la muestra q0,0.
[0802] La variable • se deriva de la siguiente manera:
[0805]
[0807] El valor de la variable te' se determina como se especifica en la Tabla 8-18 basándose en el parámetro de cuantificación Q de crominancia derivado como sigue:
[0809]
[0811] donde slice_tc_offset_div2 es el valor del elemento de sintaxis slice_tc_offset_div2 para el corte que contiene la muestra q0,0. La variable tese deriva de la siguiente manera:
[0812] U: = (B ilDepthc< 10 ) 7 ( Le' 2 ) » ( 10 -B itDeptbc) :tcr* (1 « (BilDeptlic-8))(8-l137)
[0813] Cuando maxFilterLengthCbCr es igual a 1 y bS no es igual a 2, maxFilterLengthCbCr se establece igual a 0.
[0815] 5.6. Realización n.° 6 sobre QP de crominancia en desbloqueo
[0817] 8.8.3.6.3 Proceso de decisión para bordes de bloque de crominancia
[0819] Este proceso solo se invoca cuando ChromaArrayType no es igual a 0.
[0821] Las entradas a este proceso son:
[0823] - una matriz de muestras de imágenes de crominancia recPicture,
[0824] - una ubicación de crominancia ( xCb, yCb ) que especifica la muestra superior izquierda del bloque de codificación de crominancia actual en relación con la muestra de crominancia superior izquierda de la imagen actual, - una ubicación de crominancia (xBl, yBl) que especifica la muestra superior izquierda del bloque de crominancia actual en relación con la muestra superior izquierda del bloque de codificación de crominancia actual,
[0825] - una variable edgeType que especifica si se filtra un borde vertical (EDGE _VER) u horizontal (EDGE _HOR), - una variable cldx que especifica el índice de componente de color,
[0826] - una variable cQpPicOffset que especifica el desplazamiento del parámetro de cuantificación de crominancia a nivel de imagen,
[0827] - una variable bS que especifica la intensidad del límite de filtrado,
[0828] - una variable maxFilterLengthCbCr.
[0830] Las salidas de este proceso son
[0832] - la variable modificada maxFilterLengthCbCr,
[0833] - la variable te.
[0835] La variable maxK se deriva de la siguiente manera:
[0837] - Si edgeType es igual a EDGE_VER, se aplica lo siguiente:
[0840]
[0842] - En caso contrario (edgeType es igual a EDGE_HOR), se aplica lo siguiente:
[0845]
[0847] - Los valores pi y qi con i = 0.. maxFilterLengthCbCr y k = 0..maxK se derivan de la siguiente manera:
[0849] - Si edgeType es igual a EDGE _VER, se aplica lo siguiente:
[0852]
[0855] - En caso contrario (edgeType es igual a EDGE_HOR), se aplica lo siguiente:
[0858]
[0861] Las variables Qpo y Qpp se establecen iguales a los valores Qpy de las unidades de codificación que incluyen los bloques de codificación que contienen la muestra q<0,0>y p<0>,<0>, respectivamente.
[0863] Las variables jccr flagp y jccr flaao se establecen iguales que los valores de tu joint cbcr residual flag de las unidades de codificación que incluyen los bloques de codificación que contienen la muestra ann y Poo, respectivamente.
[0864] La variable Qpcse deriva de la siguiente manera:
[0867]
[0869] ¿ qPi = Clip3( 0, 63, ( ( Qpo
+(jccr flagp ? pps joint cbcr qp offset: ¿ cQpPicOffset) Qpp
+(jccr flago ? pps joint cbcr qp offset: cQpPicOffset)
+1)>>m
[0872]
[0874] OBSÉRVESE- La variable cQpPicOffset proporciona un ajuste para el valor de pps_cb_qp_offset o pps_cr_qp_offset, según si la componente de crominancia filtrado es la componente Cb o Cr. Sin embargo, para evitar la necesidad de variar la cantidad del ajuste dentro de la imagen, el proceso de filtrado no incluye un ajuste para el valor de slice_cb_qp_offset o slice_cr_qp_offsetni (cuando cu_chroma_qp_offset_enabled_flag es igual a 1) para el valor de CuQpOffsetCb, CuQpOffsetCr, o CuQpOffsefcbCr.
[0876] 5.7. Realización n.° 7 sobre QP de crominancia en desbloqueo
[0877] 8.8.3.6.3 Proceso de decisión para bordes de bloque de crominancia
[0878] Este proceso solo se invoca cuando ChromaArrayType no es igual a 0.
[0879] Las entradas a este proceso son:
[0880] - una matriz de muestras de imágenes de crominancia recPicture,
[0881] - una ubicación de crominancia ( xCb, yCb ) que especifica la muestra superior izquierda del bloque de codificación de crominancia actual en relación con la muestra de crominancia superior izquierda de la imagen actual,
[0883] Las salidas de este proceso son
[0884] - la variable modificada maxFilterLengthCbCr,
[0885] - la variable tC.
[0886] La variable maxK se deriva de la siguiente manera:
[0887] - Si edgeType es igual a EDGE_VER, se aplica lo siguiente:
[0889]
[0891] - En caso contrario (edgeType es igual a EDGE_HOR), se aplica lo siguiente:
[0893]
[0895] Los valores pi y qi con i = 0.. maxFilterLengthCbCr y k = 0..maxK se derivan de la siguiente manera:
[0896] - Si edgeType es igual a EDGE _VER, se aplica lo siguiente:
[0899]
[0901] En caso contrario (edgeType es igual a EDGE_HOR), se aplica lo siguiente:
[0904]
[0906] [[Las variables QpQ y QpP se establecen iguales a los valores QpY de las unidades de codificación que incluyen los bloques de codificación que contienen la muestra q<0,0>y p<0>,<0>, respectivamente.]]
[0907] La variable Qpo se establece igual al parámetro de cuantificación de luminancia Qps de la unidad de codificación de luminancia que cubre la ubicación de luminancia (xCb
+cbWidth /2, yCb+cbHeight/2 ) en donde chWidth especifica la anchura del bloque de codificación de crominancia actual en muestras de luminancia, y cbHeight especifica la altura del bloque de codificación de crominancia actual en muestras de luminancia.
[0908] La variable Qpp se establece igual al parámetro de cuantificación de luminancia Ops de la unidad de codificación de luminancia que cubre la ubicación de luminancia (xCb'
+cbWidth' /2, yCb'+cbHeight'/2 ) en donde (xCb'. yCb') es la muestra superior izquierda del bloque de codificación de crominancia que cubre ap.Q con respecto a la muestra de crominancia superior izquierda de la imagen actual, cbWidth' especifica la anchura del bloque de codificación de crominancia actual en muestras de luminancia. y cbHeight especifica la altura del bloque de codificación de crominancia actual en muestras de luminancia.
[0909] La variable Qpcse deriva de la siguiente manera:
[0912]
[0914] OBSÉRVESE- La variable cQpPicOffset proporciona un ajuste para el valor de pps_cb_qp_offset o pps_cr_qp_offset, según si la componente de crominancia filtrado es la componente Cb o Cr. Sin embargo, para evitar la necesidad de variar la cantidad del ajuste dentro de la imagen, el proceso de filtrado no incluye un ajuste para el valor de slice_cb_qp_offset o slice_cr_qp_offset ni (cuando cu_chroma_qp_offset_enabled_flag es igual a 1) para el valor de CuQpOffsetCb, CuQpOffsetCr, o CuQpOffsefcbCr.
[0915] El valor de la variable • ' se determina como se especifica en la Tabla 8-18 basándose en el parámetro de cuantificación Q derivado como sigue:
[0918]
[0920] donde slice_beta_offset_div2 es el valor del elemento de sintaxis slice_beta_offset_div2 para el corte que contiene la muestra q0,0.
[0921] La variable • se deriva de la siguiente manera:
[0924]
[0926] El valor de la variable te se determina como se especifica en la Tabla 8-18 basándose en el parámetro de cuantificación Q de crominancia derivado como sigue:
[0929]
[0931] donde slice_tc_offset_div2 es el valor del elemento de sintaxis slice_tc_offset_div2 para el corte que contiene la muestra q<0>,<0>.
[0932] 5.8. Realización n.° 8 sobre QP de crominancia en desbloqueo
[0933] Cuando se toman decisiones de filtro para las tres muestras representadas (con círculos sólidos), se seleccionan los QP de la CU de luminancia que cubre la posición central de la CU de crominancia que incluye las tres muestras. Por lo tanto, para la 1a, 2a y 3a muestras de crominancia (representadas en la FIG. 11), solo el QP de CU<y>3 se utiliza, respectivamente.
[0934] De esta manera, cómo seleccionar la CU de luminancia para el proceso de cuantificación/descuantificación de crominancia se alinea con la del proceso de decisión de filtro de crominancia.
[0935] 5.9. Realización n.° 9 en QP usado para bloques codificados de JCCR
[0936] 8.7.3 Proceso de escalado para coeficientes de transformada
[0937] Las entradas a este proceso son:
[0938] - una ubicación de luminancia ( xTbY, yTbY ) que especifica la muestra superior izquierda del bloque de transformada de luminancia actual en relación con la muestra de luminancia superior izquierda de la imagen actual, - una variable nTbW que especifica el ancho de bloque de transformada,
[0939] - una variable nTbH que especifica la altura del bloque de transformada,
[0940] - una variable cldx que especifica la componente de color del bloque actual,
[0941] - una variable bitDepth que especifica la profundidad de bits del componente de color actual.
[0942] La salida de este proceso es la matriz (nTbW)x(nTbH) d de coeficientes de transformada escalados con elementos d[ x ][ y ].
[0943] El parámetro de cuantificación qP se deriva de la siguiente manera:
[0944] - Si cldx es igual a 0 y transform_skip_flag[ xTbY ][ yTbY ] es igual a 0, se aplica lo siguiente:
[0947]
[0949] - En caso contrario, si cIdx es igual a 0 (y transform_skip_flag[ xTbY ][ yTbY ] es igual a 1), se aplica lo siguiente:
[0952]
[0954] En caso contrario, si TuCResMode[ xTbY ][ yTbY ] esdistinto de 0[[igual a 2]], se aplica lo siguiente:
[0956]
[0958] En caso contrario, si cIdx es igual a 1, se aplica lo siguiente:
[0961]
[0963] En caso contrario (cIdx es igual a 2), se aplica lo siguiente:
[0966]
[0968] 6. Ejemplos de implementaciones de la tecnología divulgada
[0969] La FIG. 12 es un diagrama de bloques de un aparato de procesamiento de vídeo 1200. El aparato 1200 se puede usar para implementar uno o más de los métodos descritos en el presente documento. El aparato 1200 se puede incorporar en un teléfono inteligente, tableta, ordenador, receptor de Internet de las Cosas (IoT), y así sucesivamente. El aparato 1200 puede incluir uno o más procesadores 1202, una o más memorias 1204 y hardware de procesamiento de vídeo 1206. El procesador o procesadores 1202 se pueden configurar para implementar uno o más métodos descritos en el presente documento. La memoria (memorias) 1204 se puede usar para almacenar datos y código usado para implementar los métodos y técnicas descritos en el presente documento. El hardware de procesamiento de vídeo 1206 puede usarse para implementar, en circuitería de hardware, algunas técnicas descritas en el presente documento, y puede ser en parte o en su totalidad una parte de los procesadores 1202 (por ejemplo, GPU de núcleo de procesador de gráficos u otra circuitería de procesamiento de señal).
[0970] En el presente documento, la expresión "procesamiento de vídeo" puede referirse a codificación de vídeo, decodificación de vídeo, compresión de vídeo o descompresión de vídeo. Por ejemplo, pueden aplicarse algoritmos de compresión de vídeo durante la conversión desde la representación de píxeles de un vídeo a una representación de flujo de bits correspondiente o viceversa. La representación de flujo de bits de un bloque de vídeo actual puede corresponder, por ejemplo, a bits que están ubicados conjuntamente o extendidos en diferentes lugares dentro del flujo de bits, como se define por la sintaxis. Por ejemplo, un macrobloque puede codificarse en términos de valores residuales de error transformados y codificados y también usando bits en cabeceras y otros campos en el flujo de bits. Se apreciará que los métodos y técnicas desvelados beneficiarán a las realizaciones de codificador y/o descodificador de vídeo incorporadas dentro de dispositivos de procesamiento de vídeo tales como teléfonos inteligentes, portátiles, ordenadores de sobremesa y dispositivos similares permitiendo el uso de las técnicas desveladas en el presente documento.
[0971] La FIG. 13 es un diagrama de flujo para un método de ejemplo 1300 de procesamiento de vídeo. El método 1300 incluye, en 1310, realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que cuando se usa una tabla de parámetros de cuantificación de crominancia (QP) para derivar parámetros del filtro de desbloqueo, el procesamiento por la tabla de QP de crominancia se realiza en valores de QP de crominancia individuales.
[0972] Algunas realizaciones pueden describirse usando el siguiente formato basado en cláusulas.
[0973] Estas cláusulas no representan reivindicaciones legales y se han proporcionado únicamente con fines ilustrativos. No
definen el alcance de la invención protegida.
[0975] 1. Un método de procesamiento de vídeo, que comprende:
[0976] realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que cuando se usa una tabla de parámetros de cuantificación de crominancia (QP) para derivar parámetros del filtro de desbloqueo, el procesamiento por la tabla de QP de crominancia se realiza en valores de QP de crominancia individuales.
[0977] 2. El método de la cláusula 1, en donde se añaden desplazamientos de QP de crominancia a los valores de QP de crominancia individuales después del procesamiento por la tabla de QP de crominancia.
[0978] 3. El método de cualquiera de las cláusulas 1-2, en donde los desplazamientos de QP de crominancia se añaden a valores emitidos por la tabla de QP de crominancia.
[0979] 4. El método de cualquiera de las cláusulas 1-2, en donde los desplazamientos de QP de crominancia no se consideran como entradas a la tabla de QP de crominancia.
[0980] 5. El método de la cláusula 2, en donde los desplazamientos de QP de crominancia están a un nivel de imagen o a un nivel de unidad de vídeo.
[0981] 6. Un método de procesamiento de vídeo, que comprende:
[0982] realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde el los desplazamientos de QP de crominancia están a nivel de imagen/corte/pieza/mosaico/subimagen.
[0983] 7. El método de la cláusula 6, en donde los desplazamientos de QP de crominancia usados en el filtro de desbloqueo están asociados con un método de codificación aplicado en un límite de la unidad de vídeo.
[0984] 8. El método de la cláusula 7, en donde el método de codificación es un método de codificación conjunta de residuales de crominancia (JCCR).
[0985] 9. Un método de procesamiento de vídeo, que comprende:
[0986] realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde la información perteneciente a una misma unidad de codificación de luminancia se usa en el filtro de desbloqueo y para derivar un desplazamiento de QP de crominancia.
[0987] 10. El método de la cláusula 9, en donde la misma unidad de codificación de luminancia cubre una muestra de luminancia correspondiente de una posición central de la unidad de vídeo, en donde la unidad de vídeo es una unidad de codificación de crominancia.
[0988] 11. El método de la cláusula 9, en donde se aplica un proceso de ajuste a escala a la unidad de vídeo, y en donde uno o más parámetros del filtro de desbloqueo dependen al menos en parte de los parámetros de cuantificación/descuantificación del proceso de escalado.
[0989] 12. El método de la cláusula 11, en donde los parámetros de cuantificación/descuantificación del proceso de escalado incluyen el desplazamiento de QP de crominancia.
[0990] 13. El método de cualquiera de las cláusulas 9-12, en donde la muestra de luminancia en la unidad de vídeo está en el lado P o lado Q.
[0991] 14. El método de la cláusula 13, en donde la información que pertenece a la misma unidad de codificación de luminancia depende de una posición relativa de la unidad de codificación con respecto a la misma unidad de codificación de luminancia.
[0992] 15. Un método de procesamiento de vídeo, que comprende:
[0993] realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde un la indicación de habilitar el uso de los desplazamientos de QP de crominancia se señaliza en la representación de flujo de bits.
[0994] 16. El método de la cláusula 15, en donde la indicación se señaliza condicionalmente en respuesta a la detección de una o más banderas.
[0995] 17. El método de la cláusula 16, en donde la una o más banderas están relacionadas con una indicación de habilitación de JCCR o una indicación de habilitación de desplazamiento de QP de crominancia.
[0996] 18. El método de la cláusula 15, en donde la indicación se señaliza basándose en una derivación.
[0997] 19. Un método de procesamiento de vídeo, que comprende:
[0998] realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde el los desplazamientos de QP de crominancia usados en el filtro de desbloqueo son idénticos a si se aplica el método de codificación de JCCR en un límite de la unidad de vídeo o si se aplica un método diferente del método de codificación de JCCR en el límite de la unidad de vídeo.
[0999] 20. Un método de procesamiento de vídeo, que comprende:
[1000] realizar una conversión entre una unidad de vídeo y una representación de flujo de bits de la unidad de vídeo, en donde, durante la conversión, se usa un filtro de desbloqueo en los límites de la unidad de vídeo de tal manera que se usan desplazamientos de QP de crominancia en el filtro de desbloqueo, en donde un la intensidad del límite (BS) del filtro de desbloqueo se calcula sin comparar imágenes de referencia y/o un número de vectores de
movimiento (MV) asociados con la unidad de vídeo en un límite de lado P con imágenes de referencia y/o un número de vectores de movimiento (MV) asociados con la unidad de video en un lado Q.
[1001] 21. El método de la cláusula 20, en donde el filtro de desbloqueo está deshabilitado bajo una o más condiciones.
[1002] 22. El método de la cláusula 21, en donde la una o más condiciones están asociadas con: una magnitud de los vectores de movimiento (MV) o un valor umbral.
[1003] 23. El método de la cláusula 22, en donde el valor umbral está asociado con al menos uno de: i. contenido de la unidad de vídeo, ii. un mensaje señalizado en DPS/SPS/VPS/PPS/APS/cabecera de imagen/cabecera de corte/cabecera de grupo de piezas/unidad de codificación más grande (LCU)/unidad de codificación (CU)/fila de LCU/grupo de LCU/TU/bloque de PU/vídeo unidad de codificación, iii. una posición de CU/PU/TU/bloque/unidad de codificación de vídeo, iv. un modo codificado de bloques con muestras a lo largo de los límites, v. una matriz de transformada aplicada a las unidades de vídeo con muestras a lo largo de los límites, vi. una forma o dimensión de la unidad de vídeo, vii. una indicación de un formato de color, viii. una estructura de árbol de codificación, ix. un tipo de grupo de corte/pieza y/o tipo de imagen, x. una componente de color, xi. un ID de capa temporal, o xii. un perfil/nivel/nivel de una norma.
[1004] 24. El método de la cláusula 20, en donde se usan diferentes desplazamientos de QP para unidades de vídeo codificadas de TS y unidades de vídeo no codificadas de TS.
[1005] 25. El método de la cláusula 20, en donde un QP usado en una etapa de filtrado de luminancia está relacionado con un QP usado en un proceso de escalado de un bloque de luminancia.
[1006] 26. Un aparato de decodificación de vídeo que comprende un procesador configurado para implementar un método mencionado en una o más de las cláusulas 1 a 25.
[1007] 27. Un aparato de codificación de vídeo que comprende un procesador configurado para implementar un método mencionado en una o más de las cláusulas 1 a 25.
[1008] 28. Un producto de programa informático que tiene código informático almacenado en el mismo, el código, cuando se ejecuta por un procesador, hace que el procesador implemente un método mencionado en cualquiera de las cláusulas 1 a 25.
[1009] 29. Un método, aparato o sistema descrito en el presente documento.
[1011] La FIG. 14 es un diagrama de bloques que muestra un sistema de procesamiento de vídeo 1400 de ejemplo en el que se pueden implementar diversas técnicas divulgadas en el presente documento. Diversas implementaciones pueden incluir algunos o todos los componentes del sistema 1400. El sistema 1400 puede incluir la entrada 1402 para recibir contenido de vídeo. El contenido de vídeo se puede recibir en un formato sin procesar o sin comprimir, por ejemplo, valores de píxel de múltiples componentes de 8 o 10 bits, o puede estar en un formato comprimido o codificado. La entrada 1902 puede representar una interfaz de red, una interfaz de bus periférico o una interfaz de almacenamiento. Ejemplos de interfaz de red incluyen interfaces cableadas tales como Ethernet, red óptica pasiva (PON), etc. e interfaces inalámbricas tales como Wi-Fi o interfaces celulares.
[1013] El sistema 1400 puede incluir una componente de codificación 1404 que puede implementar los diversos métodos de codificación descritos en el presente documento. El componente de codificación 1404 puede reducir la tasa de bits promedio de vídeo desde la entrada 1402 a la salida del componente de codificación 1404 para producir una representación de flujo de bits del vídeo. Por lo tanto, las técnicas de codificación a veces se denominan técnicas de compresión de vídeo o transcodificación de vídeo. La salida del componente de codificación 1404 se puede almacenar o transmitir a través de una comunicación conectada, como se representa por la componente 1406. La representación de flujo de bits almacenada o comunicada (o codificada) del vídeo recibido en la entrada 1402 se puede usar por la componente 1408 para generar valores de píxel o vídeo visualizable que se envía a una interfaz de visualización 1410. El proceso de generación de vídeo visible por el usuario a partir de la representación de flujo de bits se denomina en ocasiones descompresión de vídeo. Además, aunque ciertas operaciones de procesamiento de vídeo se denominan como operaciones o herramientas de "codificación", se apreciará que las herramientas u operaciones de codificación se usan en un codificador y las correspondientes herramientas u operaciones de descodificación que invierten los resultados de la codificación se realizarán por un descodificador.
[1015] Ejemplos de una interfaz de bus periférico o una interfaz de visualización pueden incluir bus serie universal (USB) o interfaz multimedia de alta definición (HDMI) o Displayport, y así sucesivamente. Los ejemplos de interfaces de almacenamiento incluyen interfaz SATA (conexión de tecnología avanzada en serie), PCI, IDE y similares. Las técnicas descritas en el presente documento se pueden incorporar en diversos dispositivos electrónicos tales como teléfonos móviles, ordenadores portátiles, teléfonos inteligentes u otros dispositivos que son capaces de realizar procesamiento de datos digitales y/o visualización de vídeo.
[1017] La FIG. 15 es una representación de diagrama de flujo de un método 1500 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 1500 incluye, en la operación 1510, realizar una conversión entre un bloque de una componente de crominancia de un vídeo y una representación de flujo de bits del vídeo. Durante la conversión, se aplica un proceso de filtrado de desbloqueo a al menos algunas muestras a lo largo de un borde del bloque, y se añaden desplazamientos del parámetro de cuantificación de crominancia (QP) a salidas de una tabla de QP de crominancia para determinar parámetros para el proceso de filtro de desbloqueo.
[1019] En algunas realizaciones, los desplazamientos de QP de crominancia se indican mediante elementos de sintaxis al menos en un nivel de imagen o un nivel de unidad de vídeo en la representación de flujo de bits. En algunas
realizaciones, la unidad de vídeo comprende un corte, una losa, un bloque, una subimagen o un bloque. En algunas realizaciones, los desplazamientos de QP de crominancia comprenden al menos ppscb_qp_offset y/o pps_cr_qp_offset. En algunas realizaciones, se deshabilita un proceso de recorte de QP para una entrada de la tabla de QP de crominancia. En algunas realizaciones, la componente de crominancia incluye una componente Cr del vídeo. En algunas realizaciones, la componente de crominancia incluye una componente Cb del vídeo.
[1021] La FIG. 16 es una representación de diagrama de flujo de un método 1600 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 1600 incluye, en la operación 1610, determinar, para una conversión entre un bloque de un componente de crominancia de un vídeo y una representación de flujo de bits del vídeo, si o cómo aplicar un proceso de filtrado a un borde del bloque basándose en una primera información de cuantificación para una primera región de vídeo que comprende muestras en un lado del borde y/o una segunda información de cuantificación para una segunda región de vídeo que comprende muestras en el otro lado del borde de acuerdo con una regla. La regla se basa en un modo de codificación aplicable al bloque para codificar las muestras en un lado o las muestras en el otro lado del borde. La regla especifica que se usan múltiples desplazamientos de QP en diferentes niveles de unidad de vídeo para determinar la primera información de cuantificación o la segunda información de cuantificación. El método<16 0 0>también incluye, en la operación 1620, realizar la conversión basándose en la determinación.
[1023] En algunas realizaciones, en donde los diferentes niveles de unidad de vídeo comprenden al menos un nivel de imagen, un nivel de corte, un nivel de pieza, un nivel de bloque o un nivel de subimagen. En algunas realizaciones, los múltiples desplazamientos de QP comprenden desplazamientos para una componente Cb del vídeo. En algunas realizaciones, los múltiples desplazamientos de QP comprenden desplazamientos para una componente de Cr del vídeo.
[1025] En algunas realizaciones, la regla especifica que la selección de los múltiples desplazamientos de QP se basa en el modo de codificación. En algunas realizaciones, el modo de codificación comprende una codificación conjunta del modo de codificación de residuales de crominancia (JCCR). En algunas realizaciones, en caso de que el bloque se codifique en el modo de codificación de JCCR, los múltiples desplazamientos de QP comprenden al menos un desplazamiento de QP de nivel de imagen o un desplazamiento de QP de nivel de corte. En algunas realizaciones, los múltiples desplazamientos de QP que se usan para determinar los valores umbral • y tC para el proceso de filtrado incluyen un valor de desplazamiento de QP para el modo de codificación de JCCR en caso de que al menos una de la primera región de vídeo o la segunda región de vídeo se codifique usando el modo de codificación de JCCR.
[1026] En algunas realizaciones, se usa información de un bloque correspondiente de una componente de luminancia para determinar la primera información de cuantificación para la primera región de vídeo o la segunda información de cuantificación para la segunda región de vídeo. En algunas realizaciones, para filtrar una muestra de crominancia actual en el bloque del componente de crominancia, se usa información de una unidad de codificación de luminancia que cubre una muestra de luminancia correspondiente a la muestra de crominancia actual para determinar la primera información de cuantificación para la primera región de vídeo o la segunda información de cuantificación para la segunda región de vídeo.
[1028] En algunas realizaciones, si o cómo aplicar el proceso de filtrado se basa en un proceso de escalado aplicable al bloque. En algunas realizaciones, la primera información de cuantificación para la primera región de vídeo o la segunda información de cuantificación para la segunda región de vídeo usada para determinar valores umbral • y tC se basa en información de cuantificación usada en el proceso de escalado. En algunas realizaciones, se usan uno o más desplazamientos de QP de nivel de unidad de codificación para determinar la información de cuantificación usada en el proceso de escalado.
[1030] En algunas realizaciones, la aplicabilidad del método se basa en si el bloque está en un lado del borde o en el otro lado del borde. En algunas realizaciones, si se usa información del bloque correspondiente del componente de luminancia para el proceso de filtrado se basa en una posición del bloque. En algunas realizaciones, en caso de que el bloque esté en el otro lado del borde, la información del bloque correspondiente del componente de luminancia se usa para el proceso de filtrado. En algunas realizaciones, en caso de que el bloque esté en un lado del borde, la información del bloque correspondiente del componente de luminancia se usa para el proceso de filtrado.
[1032] La FIG. 17 es una representación de diagrama de flujo de un método 1700 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 1700 incluye, en la operación 1710, determinar, para una conversión entre un bloque actual de un vídeo y una representación de flujo de bits del vídeo, si habilitar el uso de un desplazamiento del parámetro de cuantificación de crominancia (QP) para el bloque actual de acuerdo con un elemento de sintaxis en un nivel de una unidad de vídeo. La unidad de vídeo incluye el bloque actual y un segundo bloque del vídeo. El método 1700 también incluye, en la operación 1720, realizar la conversión basándose en la determinación.
[1034] En algunas realizaciones, la unidad de vídeo comprende un corte. En algunas realizaciones, la unidad de vídeo comprende adicionalmente una losa, un bloque o una subimagen.
[1036] En algunas realizaciones, el elemento de sintaxis se incluye condicionalmente en la representación de flujo de bits al nivel de la unidad de vídeo. En algunas realizaciones, el elemento de sintaxis se incluye condicionalmente en la
representación de flujo de bits basándose en si se habilita una codificación conjunta de modo de residuales de crominancia. En algunas realizaciones, el elemento de sintaxis se incluye en la representación de flujo de bits al nivel de la unidad de vídeo basándose en un segundo elemento de sintaxis a nivel de imagen que indica el uso del desplazamiento del parámetro de cuantificación de crominancia (QP) a un nivel de bloque. En algunas realizaciones, el elemento de sintaxis se omite en la representación de flujo de bits, y se determina que el uso del desplazamiento del parámetro de cuantificación de crominancia (QP) a un nivel de bloque está deshabilitado en caso de que un segundo elemento de sintaxis a un nivel de imagen indique que el uso del desplazamiento del parámetro de cuantificación de crominancia (QP) a un nivel de bloque está deshabilitado. En algunas realizaciones, el uso del desplazamiento del parámetro de cuantificación de crominancia (QP) para el bloque actual se determina basándose tanto en el elemento de sintaxis al nivel de corte como en el segundo elemento de sintaxis al nivel de imagen.
[1038] La FIG. 18 es una representación de diagrama de flujo de un método 1800 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 1800 incluye, en la operación 1810, realizar una conversión entre un vídeo que comprende un primer componente de crominancia y un segundo componente de crominancia y una representación de flujo de bits del vídeo. Los residuales de un primer bloque de crominancia del primer componente de crominancia y un segundo bloque de crominancia del segundo componente de crominancia se codifican conjuntamente en la representación de flujo de bits usando un modo de codificación de acuerdo con una regla. La regla especifica que una manera de derivar un parámetro de cuantificación (QP) para la conversión es independiente del modo de codificación. En algunas realizaciones, el QP para la conversión se deriva basándose en un desplazamiento de QP señalizado a un nivel de imagen o un nivel de corte en la representación de flujo de bits.
[1040] La FIG. 19 es una representación de diagrama de flujo de un método 1900 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 1900 incluye, en la operación 1910, realizar una conversión entre un primer bloque de un vídeo y una representación de flujo de bits del vídeo. El vídeo tiene un formato de color de múltiples componentes de color y el primer bloque está asociado con un primer componente de color del vídeo. Durante la conversión, se aplica un proceso de filtrado de desbloqueo a al menos algunas muestras a lo largo de un borde del primer bloque. El método 1900 incluye, en la operación 1920, realizar conversiones posteriores entre bloques asociados con componentes de color restantes del vídeo y la representación de flujo de bits del vídeo. Durante las conversiones posteriores, el proceso de filtro de desbloqueo se aplica a al menos algunas muestras a lo largo de un borde de cada uno de los bloques de la misma manera que la conversión del primer bloque.
[1042] En algunas realizaciones, el formato de color es 4:4:4. En algunas realizaciones, el formato de color es 4:4:4 en espacio de color rojo-verde-azul (RGB). En algunas realizaciones, el formato de color es 4:2:2, y el proceso de filtro de desbloqueo se aplica en una dirección vertical. En algunas realizaciones, el proceso de filtro de desbloqueo comprende un proceso de decisión y/o un proceso de filtrado.
[1044] La FIG. 20 es una representación de diagrama de flujo de un método 2000 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 2000 incluye, en la operación 2010, determinar, para una conversión entre un vídeo y una representación de flujo de bits del vídeo, una intensidad del límite de un límite entre dos bloques de un vídeo. La intensidad del límite se determina independientemente de si uno cualquiera de los dos bloques se codifica en un modo de codificación conjunta de residuales de crominancia (JCCR). El método 2000 incluye, en la operación 2020, realizar la conversión basándose en la determinación.
[1046] En algunas realizaciones, en caso de que un bloque de los dos bloques se codifique en el modo de JCCR, el bloque se trata como codificado en un modo no de JCCR para determinar la intensidad del límite. En algunas realizaciones, la intensidad del límite se determina independientemente del uso del JCCR para los dos bloques.
[1048] La FIG. 21 es una representación de diagrama de flujo de un método 2100 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 2100 incluye, en la operación 2110, determinar, para una conversión entre un vídeo y una representación de flujo de bits del vídeo, una intensidad del límite de un límite entre un primer bloque y un segundo bloque. La determinación se realiza sin comparar información del primer bloque con información correspondiente del segundo bloque. La información comprende una imagen de referencia y/o un número de vectores de movimiento de un bloque correspondiente, y la intensidad del límite se usa para determinar si un proceso de filtración de desbloqueo es aplicable al límite. El método 2100 también incluye, en la operación 2120, realizar la conversión basándose en la determinación.
[1050] En algunas realizaciones, la intensidad del límite indica que el proceso de filtrado de desbloqueo está deshabilitado en caso de que la imagen de referencia del primer bloque sea diferente de la imagen de referencia del segundo bloque. En algunas realizaciones, la intensidad del límite indica que el proceso de filtrado de desbloqueo está deshabilitado en caso de que el número de vectores de movimiento del primer bloque sea diferente del número de vectores de movimiento del segundo bloque.
[1052] En algunas realizaciones, la intensidad del límite se establece a 1 en caso de que una diferencia entre uno o más vectores de movimiento del primer bloque y uno o más vectores de movimiento del segundo bloque sea mayor o igual que un umbral, siendo el umbral un número entero. En algunas realizaciones, el uno o más vectores de movimiento del primer bloque se indican como MVP[0] y MVP[1], y el uno o más vectores de movimiento del segundo bloque se
indican como MVQ[0] y MVQ[1]. La diferencia es mayor o igual que el umbral Th en caso de (Abs(MVP[0].x - MVQ[0].x) > Th • Abs(MVP[0].y - MVQ[0].y) > Th • Abs(MVP[1].x - MVQ[1].x) > Th) • Abs(MVP[1].y - MVQ[1].y) > Th). En algunas realizaciones, la diferencia es mayor o igual que el umbral Th en caso de (Abs(MVP[0].x - MVQ[0].x) > Th && Abs(MVP[0].y - MVQ[0].y) > Th && Abs(MVP[1].x - MVQ[1].x) > Th) && Abs(MVP[1].y - MVQ[1].y) > Th). En algunas realizaciones, la diferencia es mayor o igual que el umbral Th en caso de (Abs(MVP[0].x - MVQ[0].x) > Th • Abs(MVP[0].y - MVQ[0].y) > Th ) && (Abs(MVP[1].x - MVQ[1].x) > Th) • Abs(MVP[1].y - MVQ[1].y) > Th). En algunas realizaciones, la diferencia es mayor o igual que el umbral Th en caso de (Abs(MVP[0].x - MVQ[0].x) > Th && Abs(MVP[0].y - MVQ[0].y) > Th ) • (Abs(MVP[1].x - MVQ[1].x) > Th) && Abs(MVP[1].y - MVQ[1].y) > Th). En algunas realizaciones, la intensidad del límite se establece a 0 en caso de que una diferencia entre un vector de movimiento del primer bloque y un vector de movimiento del segundo bloque sea menor o igual que un umbral, siendo el umbral un número entero. En algunas realizaciones, el umbral es 4, 8 o 16. En algunas realizaciones, el umbral se basa en una característica del vídeo.
[1054] En algunas realizaciones, la aplicabilidad del método se determina basándose en una condición. En algunas realizaciones, el método es aplicable en caso de que el primer bloque y el segundo bloque no estén codificados con un modo de intra predicción. En algunas realizaciones, el método es aplicable en caso de que el primer bloque y el segundo bloque tengan coeficientes de cero para una componente de luminancia. En algunas realizaciones, el método es aplicable en caso de que el primer bloque y los segundos bloques no estén codificados con un modo de inter e intra predicción combinado. En algunas realizaciones, el método es aplicable en caso de que el primer bloque y el segundo bloque se codifiquen con un mismo modo de predicción, siendo el mismo modo de predicción un modo de predicción de copia de intra bloque o un modo de inter predicción.
[1056] La FIG. 22 es una representación de diagrama de flujo de un método 2200 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 2200 incluye, en la operación 2210, determinar, para una conversión entre un bloque de vídeo de un vídeo y una representación de flujo de bits del vídeo, un parámetro de cuantificación (QP) usado para aplicar un filtrado de desbloqueo en el bloque de vídeo de acuerdo con una regla. La regla especifica que se usa un primer QP para determinar en caso de que el bloque de vídeo se codifica usando un modo de salto de transformada (TS) en el que un residual del bloque de vídeo se codifica en la representación de flujo de bits saltando la aplicación de una transformada. Se usa un segundo QP que es diferente del primer QP para determinar en caso de que el bloque de vídeo se codifica usando un modo de salto sin transformada en el que el residual del bloque de vídeo se codifica en la representación de flujo de bits después de aplicar la transformada. El método 2200 también incluye, en la operación 2220, realizar la conversión basándose en la determinación.
[1058] En algunas realizaciones, para una conversión de un bloque de luminancia, un proceso de filtrado aplicable al bloque de luminancia se basa en un QP aplicado a un proceso de escalado del bloque de luminancia. En algunas realizaciones, el QP usado para determinar si el proceso de filtrado es aplicable al bloque de luminancia se determina basándose en un intervalo de recorte del modo de TS.
[1060] La FIG. 23 es una representación de diagrama de flujo de un método 2300 de procesamiento de vídeo de acuerdo con la presente tecnología. El método 2300 incluye, en la operación 2310, determinar, para una conversión entre un bloque de vídeo de un vídeo y una representación de flujo de bits del vídeo, un gradiente para determinar la aplicabilidad de un proceso de filtración de desbloqueo a al menos algunas muestras de un borde del bloque de vídeo de acuerdo con una regla. La regla especifica que una manera en la que se determina el gradiente es independiente de un tamaño del bloque de vídeo. El método 2300 también incluye, en la operación 2320, realizar la conversión basándose en la determinación.
[1062] En algunas realizaciones, un umbral para determinar si el proceso de filtrado de desbloqueo está habilitado se ajusta para bloques que tienen diferentes tamaños de límite, siendo el umbral un número entero. En algunas realizaciones, el umbral se basa en un parámetro de cuantificación determinado para el proceso de filtrado de desbloqueo. En algunas realizaciones, el umbral para el bloque que tiene un límite grande es menor que un segundo umbral para un bloque que tiene un límite pequeño. En algunas realizaciones, el umbral para el bloque que tiene un límite grande es mayor que un segundo umbral para un bloque que tiene un límite pequeño. En algunas realizaciones, el umbral para el bloque que tiene un límite grande es igual a un segundo umbral para un bloque que tiene un límite pequeño. En algunas realizaciones, el umbral se basa en una característica del vídeo.
[1064] En algunas realizaciones, la aplicabilidad de uno o más de los métodos anteriores se basa en una característica del vídeo. En algunas realizaciones, la característica del vídeo comprende un contenido del vídeo. En algunas realizaciones, la característica del vídeo comprende información señalizada en un conjunto de parámetros de decodificador, un conjunto de parámetros de corte, un conjunto de parámetros de vídeo, un conjunto de parámetros de imagen, un conjunto de parámetros de adaptación, una cabecera de imagen, una cabecera de corte, una cabecera de grupo de piezas, una unidad de codificación más grande (LCU), una unidad de codificación, una fila de LCU, un grupo de LCU, una unidad de transformada, una unidad de imagen o una unidad de codificación de vídeo en la representación de flujo de bits. En algunas realizaciones, la característica del vídeo comprende una posición de una unidad de codificación, una unidad de imagen, una unidad de transformada, un bloque o una unidad de codificación de vídeo dentro del vídeo. En algunas realizaciones, la característica del vídeo comprende un modo de codificación de un bloque que incluye al menos algunas muestras a lo largo del borde. En algunas realizaciones, la característica
del vídeo comprende una matriz de transformada que se aplica a un bloque que incluye al menos algunas muestras a lo largo del borde. En algunas realizaciones, la característica de un bloque actual o bloques vecinos del bloque actual comprende una dimensión del bloque actual o una dimensión del bloque vecino del bloque actual. En algunas realizaciones, la característica de un bloque actual o bloques vecinos del bloque actual comprende una forma del bloque actual o una forma del bloque vecino del bloque actual. En algunas realizaciones, la característica del vídeo comprende una indicación de un formato de color del vídeo. En algunas realizaciones, la característica del vídeo comprende una estructura de árbol de codificación aplicable al vídeo. En algunas realizaciones, la característica del vídeo comprende un tipo de corte, un tipo de grupo de piezas o un tipo de imagen del vídeo. En algunas realizaciones, la característica del vídeo comprende una componente de color del vídeo. En algunas realizaciones, la característica del vídeo comprende un identificador de capa temporal del vídeo. En algunas realizaciones, la característica del vídeo comprende un perfil, un nivel o una capa de una norma de vídeo.
[1066] En algunas realizaciones, la conversión incluye codificar el vídeo en la representación de flujo de bits. En algunas realizaciones, la conversión incluye decodificar la representación de flujo de bits en el vídeo.
[1068] La FIG. 24 es un diagrama de bloques que ilustra un sistema de codificación de vídeo 100 de ejemplo que puede utilizar las técnicas de esta divulgación.
[1070] Como se muestra en la FIG. 24, el sistema de codificación de video 100 puede incluir un dispositivo fuente 110 y un dispositivo de destino 120. El dispositivo fuente 110 genera datos de vídeo codificados que pueden denominarse como un dispositivo de codificación de vídeo. El dispositivo de destino 120 puede decodificar los datos de vídeo codificados generados por el dispositivo fuente 110 que puede denominarse como un dispositivo de decodificación de vídeo.
[1071] El dispositivo fuente 110 puede incluir una fuente de vídeo 112, un codificador de vídeo 114 y una interfaz de entrada/salida (E/S) 116.
[1073] La fuente de vídeo 112 puede incluir una fuente tal como un dispositivo de captura de vídeo, una interfaz para recibir datos de vídeo desde un proveedor de contenido de vídeo y/o un sistema de gráficos por ordenador para generar datos de vídeo, o una combinación de tales fuentes. Los datos de vídeo pueden comprender una o más imágenes. El codificador de vídeo 114 codifica los datos de vídeo desde la fuente 112 de vídeo para generar un flujo de bits. El flujo de bits puede incluir una secuencia de bits que forman una representación codificada de los datos de vídeo. El flujo de bits puede incluir imágenes codificadas y datos asociados. La imagen codificada es una representación codificada de una imagen. Los datos asociados pueden incluir conjuntos de parámetros de secuencia, conjuntos de parámetros de imagen y otras estructuras de sintaxis. La interfaz de E/S 116 puede incluir un modulador/demodulador (módem) y/o un transmisor. Los datos de vídeo codificados pueden transmitirse directamente al dispositivo de destino 120 a través de la interfaz de E/S 116 a través de la red 130a. Los datos de vídeo codificados también pueden almacenarse en un medio de almacenamiento/servidor 130b para acceso por el dispositivo de destino 120.
[1075] El dispositivo de destino 120 puede incluir una interfaz de E/S 126, un decodificador de vídeo 124 y un dispositivo de visualización 122.
[1077] La interfaz de E/S 126 puede incluir un receptor y/o un módem. La interfaz de E/S 126 puede adquirir datos de vídeo codificados desde el dispositivo fuente 110 o el medio de almacenamiento/servidor 130b. El decodificador de vídeo 124 puede decodificar los datos de vídeo codificados. El dispositivo de visualización 122 puede visualizar los datos de vídeo decodificados a un usuario. El dispositivo de visualización 122 puede estar integrado con el dispositivo de destino 120, o puede ser externo al dispositivo de destino 120 que está configurado para interactuar con un dispositivo de visualización externo.
[1079] El codificador de vídeo 114 y el decodificador de vídeo 124 pueden operar de acuerdo con una norma de compresión de vídeo, tal como el estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), el estándar de Codificación de Vídeo Versátil (VVC) y otras normas actuales y/o adicionales.
[1081] La FIG. 25 es un diagrama de bloques que ilustra un ejemplo de codificador de vídeo 200, que puede ser el codificador de vídeo 114 en el sistema 100 ilustrado en la FIG. 24.
[1083] El codificador de vídeo 200 puede configurarse para realizar cualquiera o todas las técnicas de esta divulgación. En el ejemplo de la FIG. 25, el codificador de vídeo 200 incluye una pluralidad de componentes funcionales. Las técnicas descritas en esta divulgación pueden compartirse entre los diversos componentes del codificador de vídeo 200. En algunos ejemplos, un procesador de este tipo puede configurarse para realizar cualquiera o todas de las técnicas descritas en esta divulgación.
[1085] Los componentes funcionales del codificador de vídeo 200 pueden incluir una unidad de división 201, una unidad de predicción 202 que puede incluir una unidad de selección de modo 203, una unidad de estimación de movimiento 204, una unidad de compensación de movimiento 205 y una unidad de intra predicción 206, una unidad de generación de residuales 207, una unidad de transformada 208, una unidad de cuantificación 209, una unidad de cuantificación inversa 210, una unidad de transformada inversa 211, una unidad de reconstrucción 212, una memoria intermedia 213
y una unidad de codificación por entropía 214.
[1087] En otros ejemplos, el codificador de vídeo 200 puede incluir más, menos o diferentes componentes funcionales. En un ejemplo, la unidad de predicción 202 puede incluir una unidad de copia intra bloque (IBC). La unidad de IBC puede realizar predicción en un modo de IBC en el que al menos una imagen de referencia es una imagen donde se encuentra el bloque de vídeo actual.
[1089] Además, algunos componentes, tales como la unidad de estimación de movimiento 204 y la unidad de compensación de movimiento 205 pueden estar altamente integrados, pero se representan en el ejemplo de la FIG. 5 por separado para fines de explicación.
[1091] La unidad de división 201 puede dividir una imagen en uno o más bloques de vídeo. El codificador de vídeo 200 y el decodificador de vídeo 300 pueden soportar diversos tamaños de bloque de vídeo.
[1093] La unidad de selección de modo 203 puede seleccionar uno de los modos de codificación, intra o inter, por ejemplo, basándose en resultados de error, y proporcionar el bloque intra o inter codificado resultante a una unidad de generación de residuales 207 para generar datos de bloque residuales y a una unidad de reconstrucción 212 para reconstruir el bloque codificado para su uso como una imagen de referencia. En algún ejemplo, la unidad de selección de modo 203 puede seleccionar una combinación de modo de intra e inter predicción (CIIP) en la que la predicción se basa en una señal de inter predicción y una señal de intra predicción. La unidad de selección de modo 203 también puede seleccionar una resolución para un vector de movimiento (por ejemplo, una precisión de subpíxel o píxel entero) para el bloque en el caso de inter-predicción.
[1095] Para realizar inter predicción en un bloque de vídeo actual, la unidad de estimación de movimiento 204 puede generar información de movimiento para el bloque de vídeo actual comparando uno o más fotogramas de referencia de la memoria intermedia 213 con el bloque de vídeo actual. La unidad de compensación de movimiento 205 puede determinar un bloque de vídeo previsto para el bloque de vídeo actual basándose en la información de movimiento y muestras decodificadas de imágenes de la memoria intermedia 213 distintas de la imagen asociada con el bloque de vídeo actual.
[1097] La unidad de estimación de movimiento 204 y la unidad de compensación de movimiento 205 pueden realizar diferentes operaciones para un bloque de vídeo actual, por ejemplo, dependiendo de si el bloque de vídeo actual está en un corte I, un corte P o un corte B.
[1099] En algunos ejemplos, la unidad de estimación de movimiento 204 puede realizar predicción unidireccional para el bloque de vídeo actual, y la unidad de estimación de movimiento 204 puede buscar imágenes de referencia de la lista 0 o lista 1 para un bloque de vídeo de referencia para el bloque de vídeo actual. La unidad de estimación de movimiento 204 puede generar a continuación un índice de referencia que indica la imagen de referencia en la lista 0 o la lista 1 que contiene el bloque de vídeo de referencia y un vector de movimiento que indica un desplazamiento espacial entre el bloque de vídeo actual y el bloque de vídeo de referencia. La unidad de estimación de movimiento 204 puede emitir el índice de referencia, un indicador de dirección de predicción y el vector de movimiento como la información de movimiento del bloque de vídeo actual. La unidad de compensación de movimiento 205 puede generar el bloque de vídeo previsto del bloque actual basándose en el bloque de vídeo de referencia indicado por la información de movimiento del bloque de vídeo actual.
[1101] En otros ejemplos, la unidad de estimación de movimiento 204 puede realizar una predicción bidireccional para el bloque de vídeo actual, la unidad de estimación de movimiento 204 puede buscar las imágenes de referencia en la lista 0 para un bloque de vídeo de referencia para el bloque de vídeo actual y también puede buscar las imágenes de referencia en lista 1 para otro bloque de vídeo de referencia para el bloque de vídeo actual. La unidad de estimación de movimiento 204 puede generar a continuación índices de referencia que indican las imágenes de referencia en la lista 0 y la lista 1 que contienen los bloques de vídeo de referencia y vectores de movimiento que indican desplazamientos espaciales entre los bloques de vídeo de referencia y el bloque de vídeo actual. La unidad de estimación de movimiento 204 puede emitir los índices de referencia y los vectores de movimiento del bloque de vídeo actual como la información de movimiento del bloque de vídeo actual. La unidad de compensación de movimiento 205 puede generar el bloque de vídeo previsto del bloque de vídeo actual basándose en los bloques de vídeo de referencia indicados por la información de movimiento del bloque de vídeo actual.
[1103] En algunos ejemplos, la unidad de estimación de movimiento 204 puede emitir un conjunto completo de información de movimiento para el procesamiento de decodificación de un decodificador.
[1105] En algunos ejemplos, la unidad de estimación de movimiento 204 puede no emitir un conjunto completo de información de movimiento para el vídeo actual. En su lugar, la unidad de estimación de movimiento 204 puede señalizar la información de movimiento del bloque de vídeo actual con referencia a la información de movimiento de otro bloque de vídeo. Por ejemplo, la unidad de estimación de movimiento 204 puede determinar que la información de movimiento del bloque de vídeo actual es suficientemente similar a la información de movimiento de un bloque de vídeo vecino.
[1106] En un ejemplo, la unidad de estimación de movimiento 204 puede indicar, en una estructura de sintaxis asociada con el bloque de vídeo actual, un valor que indica al decodificador de vídeo 300 que el bloque de vídeo actual tiene la misma información de movimiento que el otro bloque de vídeo.
[1107] En otro ejemplo, la unidad de estimación de movimiento 204 puede identificar, en una estructura de sintaxis asociada con el bloque de vídeo actual, otro bloque de vídeo y una diferencia de vector de movimiento (MVD). La diferencia de vector de movimiento indica una diferencia entre el vector de movimiento del bloque de vídeo actual y el vector de movimiento del bloque de vídeo indicado. El decodificador de vídeo 300 puede usar el vector de movimiento del bloque de vídeo indicado y la diferencia de vector de movimiento para determinar el vector de movimiento del bloque de vídeo actual.
[1108] Como se ha analizado anteriormente, el codificador de vídeo 200 puede señalizar predictivamente el vector de movimiento. Dos ejemplos de técnicas de señalización predictiva que pueden implementarse por el codificador de vídeo 200 incluyen predicción de vector de movimiento avanzada (AMVP) y señalización de modo de fusión.
[1109] La unidad de intra predicción 206 puede realizar intra predicción en el bloque de vídeo actual. Cuando la unidad de intra predicción<206>realiza intra predicción en el bloque de vídeo actual, la unidad de intra predicción 206 puede generar datos de predicción para el bloque de vídeo actual basándose en muestras decodificadas de otros bloques de vídeo en la misma imagen. Los datos de predicción para el bloque de vídeo actual pueden incluir un bloque de vídeo previsto y diversos elementos de sintaxis.
[1110] La unidad de generación de residuales 207 puede generar datos residuales para el bloque de vídeo actual sustrayendo (por ejemplo, indicado por el signo menos) el bloque o bloques de vídeo previstos del bloque de vídeo actual del bloque de vídeo actual. Los datos residuales del bloque de vídeo actual pueden incluir bloques de vídeo residuales que corresponden a diferentes componentes de muestra de las muestras en el bloque de vídeo actual.
[1111] En otros ejemplos, puede no haber datos residuales para el bloque de vídeo actual para el bloque de vídeo actual, por ejemplo en un modo de salto, y la unidad de generación de residuales 207 puede no realizar la operación de sustracción.
[1112] La unidad de procesamiento de transformada 208 puede generar uno o más bloques de vídeo de coeficiente de transformada para el bloque de vídeo actual aplicando una o más transformadas a un bloque de vídeo residual asociado con el bloque de vídeo actual.
[1113] Después de que la unidad de procesamiento de transformada 208 genera un bloque de vídeo de coeficiente de transformada asociado con el bloque de vídeo actual, la unidad de cuantificación 209 puede cuantificar el bloque de vídeo de coeficiente de transformada asociado con el bloque de vídeo actual basándose en uno o más valores de parámetro de cuantificación (QP) asociados con el vídeo actual bloque.
[1114] La unidad de cuantificación inversa 210 y la unidad de transformada inversa 211 pueden aplicar cuantificación inversa y transformadas inversas al bloque de vídeo de coeficiente de transformada, respectivamente, para reconstruir un bloque de vídeo residual a partir del bloque de vídeo de coeficiente de transformada. La unidad de reconstrucción 212 puede añadir el bloque de vídeo residual reconstruido a muestras correspondientes de uno o más bloques de vídeo previstos generados por la unidad de predicción 202 para producir un bloque de vídeo reconstruido asociado con el bloque actual para almacenamiento en la memoria intermedia 213.
[1115] Después de que la unidad de reconstrucción 212 reconstruya el bloque de vídeo, puede realizarse una operación de filtrado de bucle para reducir los artefactos de bloqueo de vídeo en el bloque de vídeo.
[1116] La unidad de codificación por entropía 214 puede recibir datos de otros componentes funcionales del codificador de vídeo 200. Cuando la unidad 214 de codificación por entropía recibe los datos, la unidad 214 de codificación por entropía puede realizar una o más operaciones de codificación por entropía para generar datos codificados por entropía y emitir un flujo de bits que incluye los datos codificados por entropía.
[1117] L FIG. 26 es un diagrama de bloques que ilustra un ejemplo de decodificador de vídeo 300 que puede ser el decodificador de vídeo 114 en el sistema 100 ilustrado en la FIG. 24.
[1118] El decodificador de vídeo 300 puede configurarse para realizar cualquiera o todas las técnicas de esta divulgación. En el ejemplo de la FIG. 26, el decodificador de vídeo 300 incluye una pluralidad de componentes funcionales. Las técnicas descritas en esta divulgación pueden compartirse entre los diversos componentes del decodificador de vídeo 300. En algunos ejemplos, un procesador de este tipo puede configurarse para realizar cualquiera o todas de las técnicas descritas en esta divulgación.
[1119] En el ejemplo de la FIG. 26, el decodificador de vídeo 300 incluye una unidad de decodificación por entropía 301, una unidad de compensación de movimiento 302, una unidad de intra predicción 303, una unidad de cuantificación inversa 304, una unidad de transformada inversa 305 y una unidad de reconstrucción 306 y una memoria intermedia 307. El
decodificador de vídeo 300 puede, en algunos ejemplos, realizar una pasada de decodificación generalmente recíproca a la pasada de codificación descrita con respecto al codificador de vídeo 200 (por ejemplo, la FIG. 25).
[1120] La unidad de decodificación por entropía 301 puede recuperar un flujo de bits codificado. El flujo de bits codificado puede incluir datos de vídeo codificados por entropía (por ejemplo, bloques codificados de datos de vídeo). La unidad de decodificación por entropía 301 puede decodificar los datos de vídeo codificados por entropía, y a partir de los datos de vídeo decodificados por entropía, la unidad de compensación de movimiento 302 puede determinar información de movimiento que incluye vectores de movimiento, precisión de vector de movimiento, índices de lista de imágenes de referencia y otra información de movimiento. La unidad de compensación de movimiento 302 puede, por ejemplo, determinar tal información realizando el AMVP y el modo de fusión.
[1122] La unidad de compensación de movimiento 302 puede producir bloques de movimiento compensado, posiblemente realizando interpolación basándose en filtros de interpolación. Los identificadores para filtros de interpolación a usar con precisión de subpíxel pueden incluirse en los elementos de sintaxis.
[1124] La unidad de compensación de movimiento 302 puede usar filtros de interpolación como se usan por el codificador de vídeo 20 durante la codificación del bloque de vídeo para calcular valores interpolados para píxeles subenteros de un bloque de referencia. La unidad de compensación de movimiento 302 puede determinar los filtros de interpolación usados por el codificador de vídeo 200 de acuerdo con la información de sintaxis recibida y usar los filtros de interpolación para producir bloques predictivos.
[1126] La unidad de compensación de movimiento 302 puede usar parte de la información de sintaxis para determinar los tamaños de los bloques usados para codificar fotograma(s) y/o corte(s) de la secuencia de vídeo codificada, información de división que describe cómo cada macrobloque de una imagen del vídeo codificado se subdivide la secuencia, indicando los modos cómo se codifica cada división, uno o más fotogramas de referencia (y listas de fotogramas de referencia) para cada bloque inter codificado, y otra información para decodificar la secuencia de vídeo codificada.
[1128] La unidad de intra predicción 303 puede usar modos de intra predicción, por ejemplo, recibidos en el flujo de bits para formar un bloque de predicción a partir de bloques espacialmente adyacentes. La unidad de cuantificación inversa 303 cuantifica inversamente, es decir, descuantifica, los coeficientes de bloque de vídeo cuantificados proporcionados en el flujo de bits y decodificados por la unidad de decodificación por entropía 301. La unidad de transformada inversa 303 aplica una transformada inversa.
[1130] La unidad de reconstrucción 306 puede sumar los bloques residuales con los correspondientes bloques de predicción generados por la unidad de compensación de movimiento 202 o la unidad de intrapredicción 303 para formar bloques decodificados. Si se desea, también se puede aplicar un filtro de desbloqueo para filtrar los bloques decodificados para eliminar artefactos de bloqueo. Los bloques de vídeo decodificados se almacenan a continuación en la memoria intermedia 307, que proporciona bloques de referencia para compensación de movimiento/intra predicción posterior y también produce vídeo decodificado para presentación en un dispositivo de visualización.
[1132] Algunas realizaciones de la tecnología divulgada incluyen tomar una decisión o determinación para habilitar una herramienta o modo de procesamiento de vídeo. En un ejemplo, cuando la herramienta o modo de procesamiento de vídeo está habilitado, el codificador usará o implementará la herramienta o modo en el procesamiento de un bloque de vídeo, pero puede no modificar necesariamente el flujo de bits resultante basándose en el uso de la herramienta o modo. Es decir, una conversión del bloque de vídeo a la representación de flujo de bits del vídeo usará la herramienta o modo de procesamiento de vídeo cuando se habilita basándose en la decisión o determinación. En otro ejemplo, cuando la herramienta o modo de procesamiento de vídeo está habilitado, el decodificador procesará el flujo de bits con el conocimiento de que el flujo de bits se ha modificado basándose en la herramienta o modo de procesamiento de vídeo. Es decir, se realizará una conversión de la representación de flujo de bits del vídeo al bloque de vídeo usando la herramienta o modo de procesamiento de vídeo que se habilitó basándose en la decisión o determinación.
[1133] Algunas realizaciones de la tecnología divulgada incluyen tomar una decisión o determinación para deshabilitar una herramienta o modo de procesamiento de vídeo. En un ejemplo, cuando la herramienta o el modo de procesamiento de vídeo está deshabilitado, el codificador no usará la herramienta o modo en la conversión del bloque de vídeo a la representación de flujo de bits del vídeo. En otro ejemplo, cuando la herramienta o el modo de procesamiento de vídeo está habilitado, el descodificador procesará el flujo de bits con el conocimiento de que el flujo de bits no se ha modificado usando la herramienta o modo de procesamiento de vídeo que se habilitó basándose en la decisión o determinación.
[1135] Las soluciones, ejemplos, realizaciones, módulos divulgados y otros, y las operaciones funcionales descritas en este documento pueden implementarse en circuitería electrónica digital, o en software, firmware o hardware informático, incluidas las estructuras divulgadas en el presente documento y sus equivalentes estructurales, o en combinaciones de uno o más de los mismos. Las realizaciones divulgadas y otras realizaciones pueden implementarse como uno o más productos de programas informáticos, es decir, uno o más módulos de instrucciones de programas informáticos codificados en un medio legible por ordenador para su ejecución por un aparato de procesamiento de datos o para
controlar su funcionamiento. El medio legible por ordenador puede ser un dispositivo de almacenamiento legible por máquina, un sustrato de almacenamiento legible por máquina, un dispositivo de memoria, una composición de materia que efectúa una señal propagada legible por máquina o una combinación de uno o más de ellos. La expresión "aparato de procesamiento de datos" abarca todos los aparatos, dispositivos y máquinas para procesar datos, incluyendo a modo de ejemplo un procesador programable, un ordenador o múltiples procesadores u ordenadores. El aparato puede incluir, además de hardware, código que crea un entorno de ejecución para el programa informático en cuestión, por ejemplo, código que constituye firmware de procesador, una pila de protocolos, un sistema de gestión de bases de datos, un sistema operativo o una combinación de uno o más de ellos. Una señal propagada es una señal generada artificialmente, por ejemplo, una señal eléctrica, óptica o electromagnética generada por máquina, que se genera para codificar información para su transmisión a un aparato receptor adecuado.
[1137] Un programa informático (también conocido como programa, software, aplicación de software, script o código) se puede escribir en cualquier forma de lenguaje de programación, incluyendo lenguajes compilados o interpretados, y se puede implementar en cualquier forma, incluyendo como un programa independiente o como un módulo, componente, subrutina u otra unidad adecuada para su uso en un entorno informático. Un programa informático no corresponde necesariamente a un archivo en un sistema de archivos. Un programa se puede almacenar en una porción de un archivo que contiene otros programas o datos (por ejemplo, uno o más scripts almacenados en un documento de lenguaje de marcado), en un único archivo dedicado al programa en cuestión o en múltiples archivos coordinados (por ejemplo, archivos que almacenan uno o más módulos, subprogramas o porciones de código). Un programa informático se puede desplegar para ejecutarse en un ordenador o en múltiples ordenadores que están ubicados en un sitio o distribuidos a través de múltiples sitios e interconectados por una red de comunicación.
[1139] Los procesos y flujos lógicos descritos en este documento se pueden realizar por uno o más procesadores programables que ejecutan uno o más programas informáticos para realizar funciones operando sobre datos de entrada y generando la salida. Los procesos y flujos lógicos también se pueden realizar y los aparatos se pueden implementar como circuitería lógica de propósito especial, por ejemplo, una FPGA (matriz de puertas programables en campo) o un ASIC (circuito integrado específico de la aplicación).
[1141] Los procesadores adecuados para la ejecución de un programa informático incluyen, a modo de ejemplo, microprocesadores de propósito tanto general como especial, y uno o más procesadores de cualquier tipo de ordenador digital. Generalmente, un procesador recibirá instrucciones y datos desde una memoria de solo lectura o una memoria de acceso aleatorio o ambas. Los elementos esenciales de un ordenador son un procesador para realizar instrucciones y uno o más dispositivos de memoria para almacenar instrucciones y datos. En general, un ordenador también incluirá, o estará acoplado operativamente para recibir datos de o transferir datos a, o ambos, uno o más dispositivos de almacenamiento masivo para almacenar datos, por ejemplo, discos magnéticos, magneto-ópticos u ópticos. Sin embargo, no es necesario que un ordenador tenga tales dispositivos. Los medios legibles por ordenador adecuados para almacenar instrucciones y datos de programas informáticos incluyen todas las formas de memoria no volátil, medios y dispositivos de memoria, incluyendo a modo de ejemplo dispositivos de memoria semiconductores, por ejemplo, EPROM, EEPROM y dispositivos de memoria flash; discos magnéticos, por ejemplo, discos duros internos o discos extraíbles; discos magneto-ópticos; y discos CD ROM y DVD-ROM. El procesador y la memoria pueden ser complementados por, o incorporarse en, circuitería lógica de propósito especial.
[1143] Si bien este documento de patente contiene muchos detalles específicos, estos no deben interpretarse como limitaciones al alcance de cualquier tema o de lo que se puede reivindicar, sino más bien como descripciones de características que pueden ser específicas de realizaciones concretas de técnicas concretas. Ciertas características que se describen en este documento de patente en el contexto de realizaciones separadas también pueden implementarse en combinación con una única realización. A la inversa, diversas características que se describen en el contexto de una única realización también pueden implementarse en múltiples realizaciones de manera separada o en cualquier subcombinación adecuada.
[1145] De manera similar, aunque en los dibujos se representan operaciones en un orden particular, esto no se debería entender como que requiere que, para lograr resultados deseables, tales operaciones se hayan de realizar en el orden particular mostrado o en orden secuencial, o que se hayan de realizar todas las operaciones ilustradas. Es más, la separación de diversos componentes del sistema en las realizaciones descritas en este documento de patente no debe entenderse como que requiere tal separación en todas las realizaciones.
[1147] Solo se describen unas pocas implementaciones y ejemplos y se pueden realizar otras implementaciones, mejoras y variaciones basándose en lo que se describe e ilustra en este documento de patente.
Claims (13)
1. REIVINDICACIONES
1. Un método de procesamiento de datos de vídeo, que comprende:
realizar una conversión entre un bloque de crominancia actual de un vídeo y un flujo de bits del vídeo, en donde, durante la conversión, se aplica un proceso de filtro de desbloqueo a un borde de bloque de crominancia del bloque de crominancia actual,
en donde los parámetros usados en un proceso de decisión para el borde de bloque de crominancia se determinan basándose en:
(1) determinar una salida de una operación de la tabla de parámetros de cuantificación de crominancia, en donde una entrada a la operación de la tabla de parámetros de cuantificación de crominancia se basa en una variable del parámetro de cuantificación de luminancia Qpy, y
(2) añadir desplazamientos del parámetro de cuantificación de crominancia a la salida de la operación de la tabla de parámetros de cuantificación de crominancia, comprendiendo los desplazamientos del parámetro de cuantificación de crominancia primeros desplazamientos del parámetro de cuantificación de crominancia a un nivel de imagen, segundos desplazamientos del parámetro de cuantificación de crominancia a un nivel de corte y terceros desplazamientos del parámetro de cuantificación de crominancia a un nivel de unidad de codificación.
2. El método de la reivindicación 1, en donde los primeros desplazamientos del parámetro de cuantificación de crominancia al nivel de imagen se indican mediante un primer elemento de sintaxis incluido en un conjunto de parámetros de imagen, en donde el primer elemento de sintaxis indica desplazamientos al nivel de imagen en relación con una variable del parámetro de cuantificación de luminancia usada para derivar una variable del parámetro de cuantificación de crominancia.
3. El método de las reivindicaciones 1 o 2, en donde los segundos desplazamientos del parámetro de cuantificación de crominancia al nivel de corte se indican mediante un segundo elemento de sintaxis incluido en una cabecera de corte, en donde el segundo elemento de sintaxis indica desplazamientos al nivel de corte para una variable del parámetro de cuantificación de luminancia usada para derivar una variable del parámetro de cuantificación de crominancia.
4. El método de una cualquiera de las reivindicaciones 1-3, en donde los terceros desplazamientos del parámetro de cuantificación de crominancia al nivel de unidad de codificación indican desplazamientos al nivel de unidad de codificación para una variable del parámetro de cuantificación de luminancia usada para derivar una variable del parámetro de cuantificación de crominancia.
5. El método de una cualquiera de las reivindicaciones 1-4, en donde se usa una variable del parámetro de cuantificación de crominancia en un proceso de escalado del bloque de crominancia actual, y
en donde el proceso de escalado comprende un proceso de cuantificación o un proceso de descuantificación.
6. El método de la reivindicación 6, en donde la entrada es igual a Clip3( -QpBdOffsetc, 63, Qpy ), donde QpBdOffsetc es un desplazamiento del rango de parámetros de cuantificación.
7. El método de una cualquiera de las reivindicaciones 1-6, en donde los parámetros usados en el proceso de decisión se determinan basándose en resultados en un lado P y un lado Q que han añadido los desplazamientos del parámetro de cuantificación de crominancia a la salida.
8. El método de una cualquiera de las reivindicaciones 1-7, en donde la conversión incluye codificar el vídeo en el flujo de bits.
9. El método de una cualquiera de las reivindicaciones 1-7, en donde la conversión incluye descodificar el vídeo del flujo de bits.
10. Un aparato para procesar datos de vídeo que comprende un procesador y una memoria no transitoria con instrucciones en la misma, en donde las instrucciones, tras su ejecución por el procesador, hacen que el procesador: realizar una conversión entre un bloque de crominancia actual de un vídeo y un flujo de bits del vídeo, en donde, durante la conversión, se aplica un proceso de filtro de desbloqueo a un borde de bloque de crominancia del bloque de crominancia actual,
en donde los parámetros usados en un proceso de decisión para el borde de bloque de crominancia se determinan basándose en:
(1) determinar una salida de una operación de la tabla de parámetros de cuantificación de crominancia, en donde una entrada a la operación de la tabla de parámetros de cuantificación de crominancia se basa en una variable del parámetro de cuantificación de luminancia Qpy, y
(2) añadir desplazamientos del parámetro de cuantificación de crominancia a la salida de la operación de la tabla de parámetros de cuantificación de crominancia, comprendiendo los desplazamientos del parámetro de
cuantificación de crominancia primeros desplazamientos del parámetro de cuantificación de crominancia a un nivel de imagen, segundos desplazamientos del parámetro de cuantificación de crominancia a un nivel de corte y terceros desplazamientos del parámetro de cuantificación de crominancia a un nivel de unidad de codificación.
11. El aparato de la reivindicación 10, en donde los primeros desplazamientos del parámetro de cuantificación de crominancia al nivel de imagen se indican mediante un primer elemento de sintaxis incluido en un conjunto de parámetros de imagen, en donde el primer elemento de sintaxis indica desplazamientos al nivel de imagen en relación con una variable del parámetro de cuantificación de luminancia usada para derivar una variable del parámetro de cuantificación de crominancia;
en donde los segundos desplazamientos del parámetro de cuantificación de crominancia al nivel de corte se indican mediante un segundo elemento de sintaxis incluido en una cabecera de corte, en donde el segundo elemento de sintaxis indica desplazamientos al nivel de corte para una variable del parámetro de cuantificación de luminancia usada para derivar una variable del parámetro de cuantificación de crominancia; y
en donde los terceros desplazamientos del parámetro de cuantificación de crominancia al nivel de unidad de codificación indican desplazamientos al nivel de unidad de codificación para una variable del parámetro de cuantificación de luminancia usada para derivar una variable del parámetro de cuantificación de crominancia.
12. Un medio de almacenamiento legible por ordenador no transitorio que almacena instrucciones que hacen que un procesador:
realice una conversión entre un bloque de crominancia actual de un vídeo y un flujo de bits del vídeo, en donde, durante la conversión, se aplica un proceso de filtro de desbloqueo a un borde de bloque de crominancia del bloque de crominancia actual,
en donde los parámetros usados en un proceso de decisión para el borde de bloque de crominancia se determinan basándose en:
(1) determinar una salida de una operación de la tabla de parámetros de cuantificación de crominancia, en donde una entrada a la operación de la tabla de parámetros de cuantificación de crominancia se basa en una variable del parámetro de cuantificación de luminancia Qpy, y
(2) añadir desplazamientos del parámetro de cuantificación de crominancia a la salida de la operación de la tabla de parámetros de cuantificación de crominancia, comprendiendo los desplazamientos del parámetro de cuantificación de crominancia primeros desplazamientos del parámetro de cuantificación de crominancia a un nivel de imagen, segundos desplazamientos del parámetro de cuantificación de crominancia a un nivel de corte y terceros desplazamientos del parámetro de cuantificación de crominancia a un nivel de unidad de codificación.
13. El método de la reivindicación 1, que comprende además:
almacenar el flujo de bits en un medio de grabación legible por ordenador no transitorio.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2019105831 | 2019-09-14 | ||
| PCT/US2020/050638 WO2021051044A1 (en) | 2019-09-14 | 2020-09-14 | Quantization parameter offset for chroma deblocking filtering |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3048492T3 true ES3048492T3 (en) | 2025-12-10 |
Family
ID=74866030
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20862628T Active ES3048492T3 (en) | 2019-09-14 | 2020-09-14 | Quantization parameter offset for chroma deblocking filtering |
Country Status (10)
| Country | Link |
|---|---|
| US (4) | US11985329B2 (es) |
| EP (3) | EP4014495A4 (es) |
| JP (4) | JP7322285B2 (es) |
| KR (3) | KR102799921B1 (es) |
| CN (4) | CN114402611B (es) |
| BR (1) | BR112022004668A2 (es) |
| ES (1) | ES3048492T3 (es) |
| MX (1) | MX2022002815A (es) |
| PL (1) | PL4014492T3 (es) |
| WO (3) | WO2021051044A1 (es) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114128275A (zh) * | 2019-07-12 | 2022-03-01 | 交互数字Vc控股法国有限公司 | 亮度到色度量化参数表信令 |
| EP4014495A4 (en) | 2019-09-14 | 2022-11-02 | ByteDance Inc. | CHROMINANCE QUANTIFICATION PARAMETER IN VIDEO CODING |
| CN114424554B (zh) * | 2019-09-23 | 2024-04-09 | 华为技术有限公司 | 色度qp偏移表指示和推导的方法和装置 |
| WO2021072177A1 (en) | 2019-10-09 | 2021-04-15 | Bytedance Inc. | Cross-component adaptive loop filtering in video coding |
| KR20220073746A (ko) * | 2019-10-14 | 2022-06-03 | 바이트댄스 아이엔씨 | 비디오 처리에서 크로마 양자화 파라미터 사용 |
| US12170777B2 (en) * | 2019-11-05 | 2024-12-17 | Lg Electronics Inc. | Video decoding method and device for coding chroma quantization parameter offset-related information |
| WO2021118977A1 (en) | 2019-12-09 | 2021-06-17 | Bytedance Inc. | Using quantization groups in video coding |
| CN114902657B (zh) | 2019-12-31 | 2025-06-13 | 字节跳动有限公司 | 视频编解码中的自适应颜色变换 |
| KR102750625B1 (ko) | 2020-01-05 | 2025-01-09 | 두인 비전 컴퍼니 리미티드 | 비디오 코딩을 위한 일반적인 제약 정보 |
| WO2021143896A1 (en) | 2020-01-18 | 2021-07-22 | Beijing Bytedance Network Technology Co., Ltd. | Adaptive colour transform in image/video coding |
| BR112022015242A2 (pt) * | 2020-02-04 | 2022-09-20 | Huawei Tech Co Ltd | Codificador, decodificador e métodos correspondentes sobre sinalização de sintaxe de alto nível |
| JP7550026B2 (ja) * | 2020-11-09 | 2024-09-12 | 株式会社日立製作所 | サイバー攻撃シナリオ生成方法、および装置 |
| CN121128182A (zh) * | 2023-04-23 | 2025-12-12 | 抖音视界有限公司 | 用于视频处理的方法、装置和介质 |
| US20240414339A1 (en) * | 2023-06-09 | 2024-12-12 | Qualcomm Incorporated | Quantization offsets for dependent quantization in video coding |
Family Cites Families (230)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5512953A (en) | 1994-08-09 | 1996-04-30 | At&T Corp. | Method and apparatus for conversion of compressed bit stream representation of video signal |
| US6016163A (en) | 1997-03-12 | 2000-01-18 | Scientific-Atlanta, Inc. | Methods and apparatus for comparing blocks of pixels |
| US7369612B2 (en) | 2000-12-11 | 2008-05-06 | Sony Corporation | Video decoder and method for using the same |
| US7123655B2 (en) | 2001-08-09 | 2006-10-17 | Sharp Laboratories Of America, Inc. | Method for reduced bit-depth quantization |
| US7190723B2 (en) * | 2002-03-27 | 2007-03-13 | Scientific-Atlanta, Inc. | Digital stream transcoder with a hybrid-rate controller |
| TW546796B (en) | 2002-06-10 | 2003-08-11 | Advanced Semiconductor Eng | Multichip package |
| US7227901B2 (en) | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
| KR20040052150A (ko) | 2002-12-13 | 2004-06-19 | 장영조 | Cmos 이미지센서와 칼라 보간 및 화이트 밸런스알고리즘을 이용한 영상처리 방법 및 장치. |
| US20040146108A1 (en) * | 2003-01-23 | 2004-07-29 | Shih-Chang Hsia | MPEG-II video encoder chip design |
| KR100624429B1 (ko) | 2003-07-16 | 2006-09-19 | 삼성전자주식회사 | 칼라 영상을 위한 비디오 부호화/복호화 장치 및 그 방법 |
| TWI285870B (en) | 2003-08-27 | 2007-08-21 | Chi Mei Optoelectronics Corp | Liquid crystal display and driving method |
| US7227585B1 (en) | 2003-12-30 | 2007-06-05 | Conexant Systems, Inc. | Luminance and chrominance separation system |
| CN1332563C (zh) | 2003-12-31 | 2007-08-15 | 中国科学院计算技术研究所 | 一种视频图像跳过宏块的编码方法 |
| US20070098799A1 (en) | 2005-10-28 | 2007-05-03 | Zimmer, Inc. | Mineralized Hydrogels and Methods of Making and Using Hydrogels |
| US20070162591A1 (en) | 2006-01-09 | 2007-07-12 | Utstarcom, Inc. | Network equipment restart indication |
| KR101348365B1 (ko) | 2006-08-02 | 2014-01-10 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 복호화 방법 및 장치 |
| US8953673B2 (en) | 2008-02-29 | 2015-02-10 | Microsoft Corporation | Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers |
| US9338475B2 (en) | 2008-04-16 | 2016-05-10 | Intel Corporation | Tone mapping for bit-depth scalable video codec |
| US7902540B2 (en) | 2008-05-21 | 2011-03-08 | International Business Machines Corporation | Fast P-I-N photodetector with high responsitivity |
| US9185426B2 (en) * | 2008-08-19 | 2015-11-10 | Broadcom Corporation | Method and system for motion-compensated frame-rate up-conversion for both compressed and decompressed video bitstreams |
| USD661490S1 (en) | 2010-03-31 | 2012-06-12 | Colgate-Palmolive Company | Oral care implement |
| KR20150013776A (ko) | 2010-04-09 | 2015-02-05 | 미쓰비시덴키 가부시키가이샤 | 동화상 부호화 장치 및 동화상 복호 장치 |
| US9094658B2 (en) | 2010-05-10 | 2015-07-28 | Mediatek Inc. | Method and apparatus of adaptive loop filtering |
| JP2011259362A (ja) | 2010-06-11 | 2011-12-22 | Sony Corp | 画像処理装置および方法 |
| US8163193B2 (en) | 2010-08-27 | 2012-04-24 | Tsinghua University | Modifier of lithium ion battery and method for making the same |
| KR20120035096A (ko) | 2010-10-04 | 2012-04-13 | 한국전자통신연구원 | 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치 |
| US8527704B2 (en) | 2010-11-11 | 2013-09-03 | International Business Machines Corporation | Method and apparatus for optimal cache sizing and configuration for large memory systems |
| CN106162186B (zh) | 2011-01-03 | 2020-06-23 | 寰发股份有限公司 | 基于滤波单元的回路滤波方法 |
| US8891617B2 (en) | 2011-01-18 | 2014-11-18 | Google Inc. | Method and system for processing video data |
| US10409892B2 (en) | 2011-01-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Formatting data by example |
| US9001883B2 (en) | 2011-02-16 | 2015-04-07 | Mediatek Inc | Method and apparatus for slice common information sharing |
| US9363509B2 (en) * | 2011-03-03 | 2016-06-07 | Electronics And Telecommunications Research Institute | Method for determining color difference component quantization parameter and device using the method |
| US9438906B2 (en) | 2011-03-03 | 2016-09-06 | Sun Patent Trust | Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof |
| GB2488816A (en) | 2011-03-09 | 2012-09-12 | Canon Kk | Mapping motion vectors from a plurality of reference frames to a single reference frame |
| TWI476483B (zh) | 2011-03-31 | 2015-03-11 | Chi Mei Materials Technology Corp | 顯示裝置及液晶顯示裝置 |
| WO2012177202A1 (en) | 2011-06-23 | 2012-12-27 | Saab Ab | Best quality given a maximum bit rate |
| JP5936939B2 (ja) * | 2011-07-14 | 2016-06-22 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法および画像復号化方法 |
| US8964833B2 (en) | 2011-07-19 | 2015-02-24 | Qualcomm Incorporated | Deblocking of non-square blocks for video coding |
| US11496760B2 (en) * | 2011-07-22 | 2022-11-08 | Qualcomm Incorporated | Slice header prediction for depth maps in three-dimensional video codecs |
| WO2013042884A1 (ko) * | 2011-09-19 | 2013-03-28 | 엘지전자 주식회사 | 영상 부호화/복호화 방법 및 그 장치 |
| US9510020B2 (en) | 2011-10-20 | 2016-11-29 | Qualcomm Incorporated | Intra pulse code modulation (IPCM) and lossless coding mode deblocking for video coding |
| US9807403B2 (en) | 2011-10-21 | 2017-10-31 | Qualcomm Incorporated | Adaptive loop filtering for chroma components |
| US9161046B2 (en) | 2011-10-25 | 2015-10-13 | Qualcomm Incorporated | Determining quantization parameters for deblocking filtering for video coding |
| US20130107973A1 (en) | 2011-10-28 | 2013-05-02 | Qualcomm Incorporated | Loop filtering control over tile boundaries |
| US9807401B2 (en) | 2011-11-01 | 2017-10-31 | Qualcomm Incorporated | Transform unit partitioning for chroma components in video coding |
| US20140321552A1 (en) | 2011-11-18 | 2014-10-30 | Dolby Laboratories Licensing Corporation | Optimization of Deblocking Filter Parameters |
| US9538200B2 (en) | 2012-01-19 | 2017-01-03 | Qualcomm Incorporated | Signaling of deblocking filter parameters in video coding |
| CN108449602A (zh) | 2012-01-19 | 2018-08-24 | 寰发股份有限公司 | 编码块旗标的编码及视频比特流的解码方法与装置 |
| US9451258B2 (en) * | 2012-04-03 | 2016-09-20 | Qualcomm Incorporated | Chroma slice-level QP offset and deblocking |
| WO2013152736A1 (en) | 2012-04-12 | 2013-10-17 | Mediatek Singapore Pte. Ltd. | Method and apparatus for block partition of chroma subsampling formats |
| US9270986B2 (en) | 2012-04-13 | 2016-02-23 | Qualcomm Incorporated | Level decision in rate distortion optimized quantization |
| JPWO2013154028A1 (ja) | 2012-04-13 | 2015-12-17 | ソニー株式会社 | 画像処理装置および方法 |
| AU2013248857B2 (en) | 2012-04-16 | 2015-11-05 | Hfi Innovation Inc. | Method and apparatus for loop filtering across slice or tile boundaries |
| US20130272390A1 (en) | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Uniform granularity for quantization matrix in video coding |
| GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
| US20130294524A1 (en) * | 2012-05-04 | 2013-11-07 | Qualcomm Incorporated | Transform skipping and lossless coding unification |
| GB2503486A (en) | 2012-06-28 | 2014-01-01 | Ibm | Managing changes to files |
| US9591302B2 (en) | 2012-07-02 | 2017-03-07 | Microsoft Technology Licensing, Llc | Use of chroma quantization parameter offsets in deblocking |
| US9414054B2 (en) | 2012-07-02 | 2016-08-09 | Microsoft Technology Licensing, Llc | Control and use of chroma quantization parameter values |
| US10448032B2 (en) | 2012-09-04 | 2019-10-15 | Qualcomm Incorporated | Signaling of down-sampling location information in scalable video coding |
| GB2506852B (en) | 2012-09-28 | 2015-09-30 | Canon Kk | Method and device for determining the value of a quantization parameter |
| TWI610574B (zh) | 2012-09-29 | 2018-01-01 | 微軟技術授權有限責任公司 | 於解塊中色度量化參數偏移之使用 |
| JP2014116733A (ja) | 2012-12-07 | 2014-06-26 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
| AU2013200051B2 (en) | 2013-01-04 | 2016-02-11 | Canon Kabushiki Kaisha | Method, apparatus and system for de-blocking video data |
| US10321130B2 (en) | 2013-01-07 | 2019-06-11 | Vid Scale, Inc. | Enhanced deblocking filters for video coding |
| US9225991B2 (en) | 2013-05-30 | 2015-12-29 | Apple Inc. | Adaptive color space transform coding |
| US11323747B2 (en) | 2013-06-05 | 2022-05-03 | Qualcomm Incorporated | Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans |
| US20140376611A1 (en) | 2013-06-21 | 2014-12-25 | Qualcomm Incorporated | Adaptive color transforms for video coding |
| US10440365B2 (en) | 2013-06-28 | 2019-10-08 | Velos Media, Llc | Methods and devices for emulating low-fidelity coding in a high-fidelity coder |
| WO2015015058A1 (en) | 2013-07-31 | 2015-02-05 | Nokia Corporation | Method and apparatus for video coding and decoding |
| US9294766B2 (en) | 2013-09-09 | 2016-03-22 | Apple Inc. | Chroma quantization in video coding |
| JP6359101B2 (ja) | 2013-10-14 | 2018-07-18 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴 |
| CN105659602B (zh) | 2013-10-14 | 2019-10-08 | 微软技术许可有限责任公司 | 用于视频和图像编码的帧内块复制预测模式的编码器侧选项 |
| CN105981386B (zh) | 2013-12-06 | 2019-02-26 | 华为技术有限公司 | 图像解码装置、图像编码装置及编码数据变换装置 |
| US9930929B2 (en) | 2013-12-27 | 2018-04-03 | Nike, Inc. | Sole structure for an article of footwear with abrasion resistant outsole and method of manufacturing same |
| CA2939434C (en) | 2014-03-04 | 2021-02-16 | Microsoft Techology Licensing, Llc | Adaptive switching of color spaces, color sampling rates and/or bit depths |
| US9736481B2 (en) | 2014-03-14 | 2017-08-15 | Qualcomm Incorporated | Quantization parameters for color-space conversion coding |
| KR101947151B1 (ko) | 2014-03-14 | 2019-05-10 | 브이아이디 스케일, 인크. | Rgb 비디오 코딩 향상을 위한 시스템 및 방법 |
| CN106170980A (zh) | 2014-04-25 | 2016-11-30 | 夏普株式会社 | 图像解码装置、图像编码装置以及编码数据变换装置 |
| WO2015176685A1 (en) | 2014-05-23 | 2015-11-26 | Mediatek Inc. | Methods for palette size signaling and conditional palette escape flag signaling |
| US10038919B2 (en) | 2014-05-29 | 2018-07-31 | Apple Inc. | In loop chroma deblocking filter |
| AU2014202921B2 (en) | 2014-05-29 | 2017-02-02 | Canon Kabushiki Kaisha | Method, apparatus and system for de-blocking a block of video samples |
| US10142642B2 (en) * | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
| US10136141B2 (en) * | 2014-06-11 | 2018-11-20 | Qualcomm Incorporated | Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding |
| US9924175B2 (en) | 2014-06-11 | 2018-03-20 | Qualcomm Incorporated | Determining application of deblocking filtering to palette coded blocks in video coding |
| US20150373327A1 (en) | 2014-06-20 | 2015-12-24 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
| BR112017004886A2 (pt) | 2014-09-12 | 2017-12-05 | Vid Scale Inc | dispositivo de codificação de vídeo e método de codificação de vídeo |
| RU2562414C1 (ru) | 2014-09-24 | 2015-09-10 | Закрытое акционерное общество "Элекард наноДевайсез" | Способ быстрого выбора режима пространственного предсказания в системе кодирования hevc |
| WO2016049894A1 (en) | 2014-09-30 | 2016-04-07 | Mediatek Inc. | Scaling in color transform |
| CA2961681C (en) | 2014-09-30 | 2022-08-09 | Hfi Innovation Inc. | Method of adaptive motion vetor resolution for video coding |
| GB2531004A (en) | 2014-10-06 | 2016-04-13 | Canon Kk | Residual colour transform signalled at sequence level for specific coding modes |
| EP3205098B1 (en) | 2014-10-06 | 2020-01-08 | Telefonaktiebolaget LM Ericsson (publ) | Coding and deriving quantization parameters |
| US10057578B2 (en) | 2014-10-07 | 2018-08-21 | Qualcomm Incorporated | QP derivation and offset for adaptive color transform in video coding |
| WO2016054765A1 (en) | 2014-10-08 | 2016-04-14 | Microsoft Technology Licensing, Llc | Adjustments to encoding and decoding when switching color spaces |
| US20160179521A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Method and apparatus for expanding a mask to a vector of mask values |
| US9854201B2 (en) | 2015-01-16 | 2017-12-26 | Microsoft Technology Licensing, Llc | Dynamically updating quality to higher chroma sampling rate |
| CN107211122B (zh) | 2015-01-29 | 2020-05-05 | 佳能株式会社 | 对自包含式编码结构进行编码或解码时的调色板预测结果初始化程序 |
| US9986248B2 (en) | 2015-01-29 | 2018-05-29 | Qualcomm Incorporated | Palette mode coding for video coding |
| US10158836B2 (en) | 2015-01-30 | 2018-12-18 | Qualcomm Incorporated | Clipping for cross-component prediction and adaptive color transform for video coding |
| US10057574B2 (en) | 2015-02-11 | 2018-08-21 | Qualcomm Incorporated | Coding tree unit (CTU) level adaptive loop filter (ALF) |
| CN107534783B (zh) | 2015-02-13 | 2020-09-08 | 联发科技股份有限公司 | 图像中区块的调色板索引图编解码方法 |
| WO2016131408A1 (en) | 2015-02-16 | 2016-08-25 | Mediatek Inc. | Method and apparatus for palette predictor initialization for palette coding in video and image compression |
| US20160286226A1 (en) * | 2015-03-24 | 2016-09-29 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
| CN112235575B (zh) | 2015-04-08 | 2024-01-12 | 寰发股份有限公司 | 编码方法、编码装置和相应地计算机可读存储介质 |
| US20180115787A1 (en) | 2015-04-12 | 2018-04-26 | Lg Electronics Inc. | Method for encoding and decoding video signal, and apparatus therefor |
| TW201642655A (zh) * | 2015-04-21 | 2016-12-01 | Vid衡器股份有限公司 | 基於藝術意向之視訊編碼 |
| US10200713B2 (en) | 2015-05-11 | 2019-02-05 | Qualcomm Incorporated | Search region determination for inter coding within a particular picture of video data |
| EP3304906A4 (en) | 2015-06-03 | 2019-04-17 | MediaTek Inc. | METHOD AND APPARATUS FOR ERROR TREATMENT FOR VIDEO CODING BY INTRABLOCK COPY MODE |
| EP3308540B1 (en) | 2015-06-09 | 2020-04-15 | Microsoft Technology Licensing, LLC | Robust encoding/decoding of escape-coded pixels in palette mode |
| US9652344B2 (en) | 2015-06-11 | 2017-05-16 | International Business Machines Corporation | In-memory data store replication through remote memory sharing |
| CN105472388B (zh) | 2015-12-08 | 2018-08-07 | 浙江大华技术股份有限公司 | 一种颜色滤波阵列图像的编解码方法、装置和系统 |
| JP6651005B2 (ja) * | 2015-09-23 | 2020-02-19 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | Qp値の決定 |
| US20170105014A1 (en) | 2015-10-08 | 2017-04-13 | Qualcomm Incorporated | Luma-driven chroma scaling for high dynamic range and wide color gamut contents |
| JP6593122B2 (ja) | 2015-11-20 | 2019-10-23 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、及びプログラム |
| WO2017093189A1 (en) | 2015-11-30 | 2017-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Encoding of pictures in a video |
| US11405611B2 (en) | 2016-02-15 | 2022-08-02 | Qualcomm Incorporated | Predicting filter coefficients from fixed filters for video coding |
| US20170310969A1 (en) | 2016-04-20 | 2017-10-26 | Mediatek Inc. | Image encoding method and apparatus with color space transform performed upon predictor and associated image decoding method and apparatus |
| US10419755B2 (en) | 2016-05-16 | 2019-09-17 | Qualcomm Incorporated | Confusion of multiple filters in adaptive loop filtering in video coding |
| US11089323B2 (en) | 2016-05-28 | 2021-08-10 | Mediatek Inc. | Method and apparatus of current picture referencing for video coding |
| CN112689147B (zh) | 2016-05-28 | 2023-10-13 | 寰发股份有限公司 | 视频数据处理方法以及装置 |
| WO2017210915A1 (en) | 2016-06-09 | 2017-12-14 | Intel Corporation | Method and system of motion estimation with neighbor block pattern for video coding |
| WO2018018486A1 (en) | 2016-07-28 | 2018-02-01 | Mediatek Inc. | Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure |
| US20180041778A1 (en) | 2016-08-02 | 2018-02-08 | Qualcomm Incorporated | Geometry transformation-based adaptive loop filtering |
| US10200698B2 (en) | 2016-08-09 | 2019-02-05 | Intel Corporation | Determining chroma quantization parameters for video coding |
| US10419757B2 (en) | 2016-08-31 | 2019-09-17 | Qualcomm Incorporated | Cross-component filter |
| US20190208206A1 (en) | 2016-09-12 | 2019-07-04 | Sony Corporation | Image processing apparatus, image processing method, and program |
| AU2016231584A1 (en) | 2016-09-22 | 2018-04-05 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
| US20180091812A1 (en) | 2016-09-23 | 2018-03-29 | Apple Inc. | Video compression system providing selection of deblocking filters parameters based on bit-depth of video data |
| US10574989B2 (en) | 2016-10-17 | 2020-02-25 | Arris Enterprises Llc | Temporal local activity for quantization parameter (QP) offset for video coding |
| CN116320498A (zh) | 2016-11-28 | 2023-06-23 | 韩国电子通信研究院 | 用于滤波的方法和装置 |
| US10506230B2 (en) | 2017-01-04 | 2019-12-10 | Qualcomm Incorporated | Modified adaptive loop filter temporal prediction for temporal scalability support |
| US20180199057A1 (en) | 2017-01-12 | 2018-07-12 | Mediatek Inc. | Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding |
| US10554974B2 (en) | 2017-01-13 | 2020-02-04 | Mediatek Inc. | Method and apparatus enabling adaptive multiple transform for chroma transport blocks using control flags |
| US10708591B2 (en) | 2017-03-20 | 2020-07-07 | Qualcomm Incorporated | Enhanced deblocking filtering design in video coding |
| EP3571844A1 (en) | 2017-03-23 | 2019-11-27 | Huawei Technologies Co., Ltd. | Apparatus and method for de-blocking filtering |
| US10212456B2 (en) | 2017-06-02 | 2019-02-19 | Apple Inc. | Deblocking filter for high dynamic range (HDR) video |
| RU2759218C2 (ru) * | 2017-06-21 | 2021-11-11 | Вид Скейл, Инк. | Адаптивное квантование для кодирования 360-градусного видео |
| FR3067918B1 (fr) | 2017-06-23 | 2019-07-19 | Laboratoires M&L | Capsule deformable a usage unique comprenant une quantite predeterminee d'une phase d'un produit cosmetique |
| EP3649782A4 (en) | 2017-07-05 | 2021-04-14 | Telefonaktiebolaget LM Ericsson (PUBL) | DECODING A BLOCK OF VIDEO SAMPLE |
| US10778974B2 (en) | 2017-07-05 | 2020-09-15 | Qualcomm Incorporated | Adaptive loop filter with enhanced classification methods |
| EP3425911A1 (en) | 2017-07-06 | 2019-01-09 | Thomson Licensing | A method and a device for picture encoding and decoding |
| CN108701363B (zh) | 2017-07-07 | 2021-06-29 | 广东虚拟现实科技有限公司 | 使用多相机识别和追踪对象的方法、设备和系统 |
| US11019339B2 (en) * | 2017-07-12 | 2021-05-25 | Futurewei Technologies, Inc. | Fractional quantization parameter offset in video compression |
| EP3457698A1 (en) * | 2017-09-18 | 2019-03-20 | Thomson Licensing | Method and apparatus for coding of omnidirectional video |
| US10523968B2 (en) | 2017-09-18 | 2019-12-31 | Google Llc | Coding of last significant coefficient flags |
| WO2019065487A1 (ja) | 2017-09-28 | 2019-04-04 | シャープ株式会社 | 値制限フィルタ装置、動画像符号化装置および動画像復号装置 |
| JP2021010046A (ja) | 2017-10-06 | 2021-01-28 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
| GB2575090A (en) | 2018-06-28 | 2020-01-01 | Canon Kk | Method and apparatus for deblocking filtering a block of pixels |
| US10616577B2 (en) * | 2017-10-16 | 2020-04-07 | Intel Corporation | Adaptive video deblocking |
| US10812798B2 (en) * | 2017-10-19 | 2020-10-20 | Qualcomm Incorporated | Chroma quantization parameter (QP) offset |
| EP4676052A3 (en) | 2017-11-01 | 2026-03-25 | InterDigital VC Holdings, Inc. | Methods for simplifying adaptive loop filter in video coding |
| KR102432486B1 (ko) | 2017-11-22 | 2022-08-12 | 삼성전자주식회사 | 비디오 복호화 장치 및 이를 포함하는 컴퓨팅 시스템 및 비디오 복호화 방법 |
| US10972729B2 (en) | 2018-01-20 | 2021-04-06 | Qualcomm Incorporated | Deblocking filter selection and application in video coding |
| MX2020007868A (es) | 2018-01-26 | 2020-09-07 | Interdigital Vc Holdings Inc | Metodo y aparato para codificacion y decodificacion de video basado en un modelo lineal receptivo a muestras vecinas. |
| US20190238845A1 (en) | 2018-01-26 | 2019-08-01 | Qualcomm Incorporated | Adaptive loop filtering on deblocking filter results in video coding |
| US10638133B2 (en) | 2018-01-31 | 2020-04-28 | Qualcomm Incorporated | Delta quantization parameter (QP) coding options for video |
| MX2020010140A (es) | 2018-03-30 | 2020-10-20 | Sharp Kk | Sistemas y metodos para aplicar filtros de suavizamiento a datos de video reconstruidos. |
| US10708592B2 (en) | 2018-04-02 | 2020-07-07 | Qualcomm Incorporated | Deblocking filter for video coding and processing |
| US20190306502A1 (en) | 2018-04-02 | 2019-10-03 | Qualcomm Incorporated | System and method for improved adaptive loop filtering |
| EP3554074A1 (en) | 2018-04-13 | 2019-10-16 | Thomson Licensing | Methods and apparatus for depth encoding and decoding |
| CN118660162A (zh) * | 2018-05-31 | 2024-09-17 | 夏普株式会社 | 视频数据解码设备、视频数据编码设备以及方法 |
| KR101997681B1 (ko) | 2018-06-11 | 2019-07-08 | 광운대학교 산학협력단 | 양자화 파라미터 기반의 잔차 블록 부호화/복호화 방법 및 장치 |
| US11051036B2 (en) * | 2018-07-14 | 2021-06-29 | Mediatek Inc. | Method and apparatus of constrained overlapped block motion compensation in video coding |
| BR112021000667A8 (pt) * | 2018-07-14 | 2023-02-07 | Mediatek Inc | Método e aparelho de processamento de vídeo em um sistema de codificação de vídeo para codificar ou decodificar imagens de vídeo com uma restrição de partição e meio legível por computador não transitório |
| US10798376B2 (en) | 2018-07-17 | 2020-10-06 | Tencent America LLC | Method and apparatus for video coding |
| US11438590B2 (en) * | 2018-08-16 | 2022-09-06 | Hfi Innovation Inc. | Methods and apparatuses of chroma quantization parameter derivation in video processing system |
| US20200213570A1 (en) | 2019-01-02 | 2020-07-02 | Mediatek Inc. | Method for processing projection-based frame that includes at least one projection face and at least one padding region packed in 360-degree virtual reality projection layout |
| CN111416976B (zh) | 2019-01-08 | 2023-12-08 | 浙江大学 | 视频解码方法、视频编码方法、装置、设备及存储介质 |
| WO2020143824A1 (en) | 2019-01-13 | 2020-07-16 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between lut and shared merge list |
| KR20240058982A (ko) | 2019-02-27 | 2024-05-03 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인코더, 디코더 및 대응하는 방법 |
| KR20210130735A (ko) | 2019-03-02 | 2021-11-01 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 인-루프 필터링에 대한 제한들 |
| CN117499644A (zh) | 2019-03-14 | 2024-02-02 | 北京字节跳动网络技术有限公司 | 环路整形信息的信令和语法 |
| WO2020192645A1 (en) | 2019-03-24 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | Multi-parameter adaptive loop filtering in video processing |
| CN113647108B (zh) | 2019-03-27 | 2024-11-19 | 北京字节跳动网络技术有限公司 | 基于历史的运动矢量预测 |
| US11546587B2 (en) | 2019-04-11 | 2023-01-03 | Mediatek Inc. | Adaptive loop filter with adaptive parameter set |
| WO2020211770A1 (en) | 2019-04-15 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Temporal prediction of parameters in non-linear adaptive loop filter |
| WO2020211810A1 (en) | 2019-04-16 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | On adaptive loop filtering for video coding |
| EP3959883A4 (en) | 2019-04-25 | 2022-07-20 | OP Solutions, LLC | Global motion constrained motion vector in inter prediction |
| CN113785577B (zh) | 2019-04-26 | 2023-06-27 | 华为技术有限公司 | 用于指示色度量化参数映射函数的方法和装置 |
| EP4738833A2 (en) | 2019-05-28 | 2026-05-06 | Dolby Laboratories Licensing Corporation | Quantization parameter signaling |
| CN115567707B (zh) | 2019-05-30 | 2025-05-13 | 抖音视界有限公司 | 一种处理视频数据的方法、装置、介质 |
| US11070825B2 (en) | 2019-06-13 | 2021-07-20 | Mediatek Inc. | Method and apparatus of encoding or decoding video data with adaptive colour transform |
| JP7440544B2 (ja) | 2019-06-18 | 2024-02-28 | エルジー エレクトロニクス インコーポレイティド | 画像デコード方法及びその装置 |
| WO2020256389A1 (ko) | 2019-06-18 | 2020-12-24 | 엘지전자 주식회사 | Bdpcm 기반 영상 디코딩 방법 및 그 장치 |
| US11032548B2 (en) | 2019-06-24 | 2021-06-08 | Tencent America LLC | Signaling for reference picture resampling |
| US11350131B2 (en) | 2019-06-28 | 2022-05-31 | Hfi Innovation Inc. | Signaling coding of transform-skipped blocks |
| US11381819B2 (en) * | 2019-07-05 | 2022-07-05 | Qualcomm Incorporated | Chroma delta quantization parameter (QP) in video coding |
| US11616962B2 (en) | 2019-07-15 | 2023-03-28 | Tencent America LLC | Method and apparatus for video coding |
| WO2021015523A1 (ko) | 2019-07-19 | 2021-01-28 | 주식회사 윌러스표준기술연구소 | 비디오 신호 처리 방법 및 장치 |
| CN114616826B (zh) | 2019-08-06 | 2026-04-28 | Op方案有限责任公司 | 基于帧类型的自适应分辨率管理的隐式标识 |
| EP4014503A1 (en) | 2019-08-16 | 2022-06-22 | Apple Inc. | Adaptive bilateral filtering using look-up tables |
| US12096033B2 (en) | 2019-08-21 | 2024-09-17 | Sharp Kabushiki Kaisha | Systems and methods for signaling buffering period information in video coding |
| EP3881530B1 (en) | 2019-08-23 | 2024-12-18 | Tencent America LLC | Method and apparatus for video coding |
| JP7343596B6 (ja) | 2019-08-23 | 2024-02-26 | 華為技術有限公司 | 合同クロマ符号化を使用するブロックについてクロマ・ブロッキング解除を実行するためのエンコーダ、デコーダおよび対応する方法 |
| HRP20241490T1 (hr) | 2019-08-29 | 2025-01-03 | Lg Electronics Inc. | Aparati i metode za kodiranje slike |
| CN114600466B (zh) | 2019-08-29 | 2025-01-17 | Lg电子株式会社 | 基于交叉分量滤波的图像编码设备和方法 |
| KR20250161058A (ko) | 2019-08-29 | 2025-11-14 | 엘지전자 주식회사 | 인루프 필터링 기반 영상 코딩 장치 및 방법 |
| US20210076032A1 (en) | 2019-09-09 | 2021-03-11 | Qualcomm Incorporated | Filter shapes for cross-component adaptive loop filter with different chroma formats in video coding |
| US12022123B2 (en) | 2019-09-11 | 2024-06-25 | Sharp Kabushiki Kaisha | Systems and methods for signaling subpicture information in video coding |
| EP4014495A4 (en) | 2019-09-14 | 2022-11-02 | ByteDance Inc. | CHROMINANCE QUANTIFICATION PARAMETER IN VIDEO CODING |
| US11395014B2 (en) | 2019-09-18 | 2022-07-19 | Qualcomm Incorporated | Transform unit design for video coding |
| JP7416921B2 (ja) | 2019-09-24 | 2024-01-17 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 解像度変更のためのデコードされたピクチャバッファ動作 |
| US11310533B2 (en) | 2019-09-27 | 2022-04-19 | Qualcomm Incorporated | Quantization parameter signaling for joint chroma residual mode in video coding |
| WO2021072177A1 (en) | 2019-10-09 | 2021-04-15 | Bytedance Inc. | Cross-component adaptive loop filtering in video coding |
| KR20220073746A (ko) | 2019-10-14 | 2022-06-03 | 바이트댄스 아이엔씨 | 비디오 처리에서 크로마 양자화 파라미터 사용 |
| HUE072798T2 (hu) | 2019-10-28 | 2025-12-28 | Lg Electronics Inc | Eljárás kép kódolására/dekódolására színtér konverzió alkalmazásával, és eljárás bitfolyam átvitelére |
| US11483549B2 (en) | 2019-11-21 | 2022-10-25 | Hfi Innovation Inc. | Methods and apparatuses for transform skip mode information signaling |
| MX2022006190A (es) | 2019-11-22 | 2022-09-07 | Lg Electronics Inc | Metodo y dispositivo de codificacion/decodificacion de imagenes usando transformacion de color sin perdidas y metodo para transmitir flujo de bits. |
| KR20220100599A (ko) | 2019-11-26 | 2022-07-15 | 주식회사 윌러스표준기술연구소 | 적응적 컬러 공간 변환을 이용하는 비디오 신호 처리 방법 및 장치 |
| JP2023011955A (ja) | 2019-12-03 | 2023-01-25 | シャープ株式会社 | 動画像符号化装置、動画像復号装置 |
| US11432016B2 (en) | 2019-12-05 | 2022-08-30 | Hfi Innovation Inc. | Methods and apparatuses of syntax signaling constraint for cross-component adaptive loop filter in video coding system |
| CN114830670B (zh) | 2019-12-05 | 2023-03-31 | 阿里巴巴(中国)有限公司 | 用于色度采样的方法和装置 |
| US11463688B2 (en) | 2019-12-09 | 2022-10-04 | Qualcomm Incorporated | Joint chroma residual video coding |
| WO2021118977A1 (en) | 2019-12-09 | 2021-06-17 | Bytedance Inc. | Using quantization groups in video coding |
| MX2022006967A (es) | 2019-12-12 | 2022-09-19 | Lg Electronics Inc | Codificacion de video o imagen empleando filtro de bucle adaptivo. |
| TW202139698A (zh) | 2019-12-18 | 2021-10-16 | 日商索尼股份有限公司 | 影像處理裝置及方法 |
| WO2021125145A1 (en) | 2019-12-18 | 2021-06-24 | Sharp Kabushiki Kaisha | Systems and methods for signaling picture output resolution in video coding |
| WO2021121419A1 (en) | 2019-12-19 | 2021-06-24 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between adaptive color transform and quantization parameters |
| WO2021129690A1 (en) | 2019-12-23 | 2021-07-01 | Huawei Technologies Co., Ltd. | Cross-component adaptive loop filtering for video coding |
| US11375200B2 (en) | 2019-12-24 | 2022-06-28 | Tencent America LLC | Video coding method and device for controlling color component processing |
| US12309406B2 (en) | 2019-12-30 | 2025-05-20 | Sharp Kabushiki Kaisha | Systems and methods for signaling subpicture information in video coding |
| CN114902657B (zh) | 2019-12-31 | 2025-06-13 | 字节跳动有限公司 | 视频编解码中的自适应颜色变换 |
| KR102750625B1 (ko) | 2020-01-05 | 2025-01-09 | 두인 비전 컴퍼니 리미티드 | 비디오 코딩을 위한 일반적인 제약 정보 |
| US11303914B2 (en) | 2020-01-08 | 2022-04-12 | Tencent America LLC | Method and apparatus for video coding |
| WO2021139707A1 (en) | 2020-01-08 | 2021-07-15 | Beijing Bytedance Network Technology Co., Ltd. | Joint coding of chroma residuals and adaptive color transforms |
| WO2021143802A1 (en) | 2020-01-15 | 2021-07-22 | Beijing Bytedance Network Technology Co., Ltd. | Deblocking filtering using quantization parameter information |
| WO2021153475A1 (en) | 2020-01-28 | 2021-08-05 | Sharp Kabushiki Kaisha | Systems and methods for signaling picture information in a slice header in video coding |
| US11303897B2 (en) | 2020-02-25 | 2022-04-12 | Tencent America LLC | Method and apparatus for signaling of chroma quantization parameters |
| US12231685B2 (en) | 2020-02-25 | 2025-02-18 | Hfi Innovation Inc. | Methods and apparatus for secondary transform signaling in video coding |
| US11470358B2 (en) | 2020-04-02 | 2022-10-11 | Sharp Kabushiki Kaisha | Systems and methods for signaling scaling window information in video coding |
-
2020
- 2020-09-14 EP EP20862153.2A patent/EP4014495A4/en active Pending
- 2020-09-14 PL PL20862628.3T patent/PL4014492T3/pl unknown
- 2020-09-14 CN CN202080064322.6A patent/CN114402611B/zh active Active
- 2020-09-14 KR KR1020227005307A patent/KR102799921B1/ko active Active
- 2020-09-14 MX MX2022002815A patent/MX2022002815A/es unknown
- 2020-09-14 KR KR1020227005302A patent/KR20220058889A/ko active Pending
- 2020-09-14 CN CN202311506464.5A patent/CN117294846A/zh active Pending
- 2020-09-14 ES ES20862628T patent/ES3048492T3/es active Active
- 2020-09-14 JP JP2022515999A patent/JP7322285B2/ja active Active
- 2020-09-14 CN CN202080064523.6A patent/CN114402601B/zh active Active
- 2020-09-14 WO PCT/US2020/050638 patent/WO2021051044A1/en not_active Ceased
- 2020-09-14 EP EP20862629.1A patent/EP4014497A4/en active Pending
- 2020-09-14 CN CN202080064524.0A patent/CN114402609B/zh active Active
- 2020-09-14 JP JP2022516001A patent/JP7321365B2/ja active Active
- 2020-09-14 JP JP2022516000A patent/JP7321364B2/ja active Active
- 2020-09-14 WO PCT/US2020/050644 patent/WO2021051046A1/en not_active Ceased
- 2020-09-14 WO PCT/US2020/050649 patent/WO2021051047A1/en not_active Ceased
- 2020-09-14 KR KR1020227005294A patent/KR102802288B1/ko active Active
- 2020-09-14 EP EP20862628.3A patent/EP4014492B1/en active Active
- 2020-09-14 BR BR112022004668A patent/BR112022004668A2/pt active Search and Examination
-
2022
- 2022-03-14 US US17/694,008 patent/US11985329B2/en active Active
- 2022-03-14 US US17/694,253 patent/US11973959B2/en active Active
- 2022-03-14 US US17/694,305 patent/US12382060B2/en active Active
-
2023
- 2023-07-26 JP JP2023121508A patent/JP7622153B2/ja active Active
- 2023-10-31 US US18/498,665 patent/US12581090B2/en active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3048492T3 (en) | Quantization parameter offset for chroma deblocking filtering | |
| AU2020226567B2 (en) | Joint coding of palette mode usage indication | |
| CN114902657B (zh) | 视频编解码中的自适应颜色变换 | |
| CN114651442B (zh) | 视频编解码中的跨分量适应性回路滤波 | |
| EP4029264A1 (en) | Joint coding of chroma residual and filtering in video processing | |
| CN114788279B (zh) | 视频编解码中使用的量化组 | |
| AU2020316506B2 (en) | Quantization process for palette mode | |
| CN114946185B (zh) | 用于视频编解码的跨分量自适应环路滤波 | |
| CN114503597B (zh) | 视频编解码中的色度去方块方法 | |
| RU2822510C1 (ru) | Параметр квантования для деблокирующей фильтрации цветности | |
| RU2803621C2 (ru) | Процедура квантования для режима палитры | |
| RU2810950C2 (ru) | Совместное кодирование индикации использования режима палитры | |
| BR112022001079B1 (pt) | Método e aparelho para processar dados de vídeo, meio de armazenamento e meio de gravação não transitórios legíveis por computador |