ES2962853T3 - Método y dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento - Google Patents

Método y dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento Download PDF

Info

Publication number
ES2962853T3
ES2962853T3 ES18164289T ES18164289T ES2962853T3 ES 2962853 T3 ES2962853 T3 ES 2962853T3 ES 18164289 T ES18164289 T ES 18164289T ES 18164289 T ES18164289 T ES 18164289T ES 2962853 T3 ES2962853 T3 ES 2962853T3
Authority
ES
Spain
Prior art keywords
aps
encoding
segment
parameters
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES18164289T
Other languages
English (en)
Inventor
Ming Li
Ping Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Application granted granted Critical
Publication of ES2962853T3 publication Critical patent/ES2962853T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

Se proporciona un método para codificar conjuntos de parámetros a nivel de segmento. El método incluye: cuando hay uno o más conjuntos de parámetros, en los que los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual, en los conjuntos de parámetros existentes, codificar los identificadores de los conjuntos de parámetros en el flujo de bits del segmento actual, en el que un conjunto de parámetros contiene información común de las herramientas de codificación utilizadas en el proceso de codificación/decodificación del segmento(s). De manera correspondiente, también se proporciona un método para decodificar conjuntos de parámetros a nivel de segmento y un dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento, que puede hacer uso completo de la información codificada del conjunto de parámetros cuando el encabezado de segmento se refiere a una pluralidad de conjuntos de parámetros. implementar una configuración flexible de las herramientas de codificación utilizadas en el proceso de codificación/decodificación de segmentos y reducir la redundancia de información. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método y dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento
Campo técnico
La presente invención se refiere a la tecnología de codificación de vídeo, y en particular al método y dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento.
Antecedentes
El conjunto de parámetros es la estructura de datos básica en los estándares de codificación de vídeo y contiene información común utilizada en el proceso de codificación/decodificación, tal como indicadores e información de parámetros comunes (por ejemplo, Perfil, Nivel, etc.). En general, los indicadores y los parámetros en los conjuntos de parámetros determinan el uso de herramientas de codificación/decodificación de un códec en cualquier momento. Algunos algoritmos importantes pueden verse como descripciones específicas de las operaciones lideradas por un determinado indicador. Por lo tanto, la estructura de datos, la codificación/decodificación y el método de referencia del conjunto de parámetros construye el marco básico y los estilos de organización de flujos de bits de todo el estándar de codificación de vídeo.
En la actualidad, el estándar de codificación de vídeo de alta eficiencia (HEVC) tiene tres tipos de conjuntos de parámetros: Conjunto de Parámetros de Secuencia (SPS), Conjunto de Parámetros de Imagen (PPS) y Conjunto de Parámetros de Adaptación (APS). El SPS contiene la información común utilizada para codificar/decodificar toda la secuencia de vídeo de entrada. El PPS contiene la información común utilizada en el proceso de codificación/decodificación de una o más imágenes. El APS es una estructura de datos que contiene la información común de las herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos. La codificación/decodificación y el método de referencia del SPS y del PPS son similares a los del actual estándar H.264/AVC (Codificación de Vídeo Avanzada). En el lado del codificador, la codificación y el método de referencia del APS pueden incluir los siguientes pasos.
Paso 1: el codificador determina, de acuerdo con el SPS y el PPS, las herramientas de codificación que se pueden utilizar en el proceso de codificación del segmento actual.
Paso 2: el codificador codifica el segmento actual, en donde un módulo de optimización del codificador determina las herramientas de codificación y los parámetros de la herramienta de codificación usados en el proceso de codificar el segmento.
Paso 3: el codificador detecta si los parámetros de la herramienta de codificación en un APS existente son completamente idénticos a los parámetros de la herramienta de codificación utilizados para el segmento actual; si es así, se ejecuta el Paso 4; de lo contrario, se ejecuta el Paso 5.
Paso 4: el codificador escribe el identificador del APS existente en el encabezado del segmento, y finaliza el proceso de codificación de la información del APS para el segmento actual.
Paso 5: el codificador genera un nuevo APS de acuerdo con los parámetros de la herramienta de codificación utilizados para el segmento actual y asigna un nuevo identificador a este APS. El codificador escribe el identificador del APS en el encabezado del segmento, y finaliza el proceso de codificación de la información del APS para el segmento actual.
En este caso, dicha herramienta de codificación puede referirse a una herramienta de codificación a nivel de imagen, y a un módulo de control común a nivel de imagen o de segmento. La herramienta de codificación a nivel de imagen puede incluir Compensación Adaptativa de Muestra (SAO), Filtro de Bucle Adaptativo (ALF), Predicción Ponderada (WP) y similares. El módulo de control común a nivel de imagen o a nivel de segmento puede incluir un módulo de gestión de Memoria Intermedia de Imágenes Decodificadas (DPB), un módulo de ajuste y marcado de imágenes de referencia, un módulo de construcción de listas de imágenes de referencia y similares. El parámetro de la herramienta de codificación puede incluir: indicador de Encendido/Apagado de la herramienta de codificación, parámetros necesarios de una herramienta de codificación para derivar y/o reconstruir uno o más píxeles, dichos parámetros pueden incluir, por ejemplo, el desplazamiento aditivo de cada subbanda para SAO, coeficientes de filtro para ALF, información de imagen de referencia para el módulo de control común a nivel de imagen o a nivel de segmento.
Además, el codificador puede usar un APS diferente para cada segmento, o usar el mismo APS para todos los segmentos en la misma imagen, o usar el mismo APS para múltiples segmentos (los cuales pueden no estar en la misma imagen).
En el decodificador, el método de decodificación y referencia del APS puede incluir los siguientes pasos:
Paso 1: el decodificador analiza el flujo de bits binario del encabezado del segmento, y determina el identificador APS utilizado en el proceso de decodificación del segmento actual.
Paso 2: el decodificador analiza el flujo de bits del APS correspondiente de acuerdo con el identificador APS obtenido mediante análisis, y determina las herramientas de codificación y los parámetros de la herramienta de codificación asociados utilizados en el proceso de decodificación del segmento actual.
Paso 3: el decodificador configura las herramientas de codificación de acuerdo con el APS y utiliza las herramientas de codificación configuradas para reconstruir los píxeles en el segmento, y finaliza el proceso de decodificación del segmento actual.
Los inconvenientes del método existente residen principalmente en los cuatro aspectos siguientes.
Primero, el codificador no puede hacer uso completo de la información APS codificada. El APS contiene los parámetros de múltiples herramientas de codificación simultáneamente, y solo se puede hacer referencia a un APS en el encabezado del segmento. Por lo tanto, sólo cuando los parámetros de la herramienta de codificación utilizados para codificar un segmento son completamente idénticos a los de un determinado APS existente, el codificador puede utilizar este APS directamente, sin generar un nuevo APS. Por lo tanto, en el proceso de codificación de un segmento, si los parámetros de la herramienta de codificación de una herramienta de codificación siempre se mantienen sin cambios a la vez que se cambian los parámetros de otras herramientas de codificación, el codificador debe generar nuevos APSs para los segmentos posteriores que se codificarán y no puede reutilizar el parámetros de la herramienta de codificación ya contenidos en el APS existente directamente.
En segundo lugar, existe redundancia de información en el método de codificación y referencia de APS. Como se describió anteriormente, en el nuevo APS generado, el codificador tiene que codificar repetidamente los parámetros de la herramienta de codificación que ya existen en un APS anterior, lo cual conduce a un coste adicional de bits de codificación.
En tercer lugar, el codificador no puede configurar de manera flexible las herramientas de codificación utilizando APS. Además de las situaciones anteriores, el codificador no puede implementar la configuración flexible de las herramientas de codificación utilizando el método de “configuración respectiva, y uso en combinación en el proceso de codificación a nivel de segmento” para las herramientas de codificación permitidas.
En cuarto lugar, el método para deshabilitar una herramienta de codificación a nivel de segmento provocaría una sobrecarga de bits relativamente grande. Para las herramientas de codificación que se pueden utilizar en el proceso de codificación/decodificación, si una o más herramientas de codificación no se utilizan en el proceso de codificación/decodificación real, tiene que generar uno o más conjuntos de parámetros separados, cada uno de los cuales contiene un Indicador “que deshabilita la herramienta de codificación en el proceso de codificación/decodificación a nivel de segmento” únicamente, y escribir el identificador de uno o más conjuntos de parámetros en el encabezado del segmento. Por lo tanto, para codificar la información de Indicador “deshabilitando la herramienta de codificación” (en general, el número de bits de cabecera es idéntico al número de indicadores), el codificador tiene que codificar otra información necesaria en la estructura del conjunto de parámetros y el identificador del conjunto de parámetros a nivel de segmento, lo cual conduce a una sobrecarga de bits de codificación relativamente grande.
Wenger S et al: “Adaptive Slice Parameter Set (APS)”, 6. Reunión JCT-VC; 97. Reunión MPEG, XP030009770 y Bross (Fraunhofer) B et al: “WD4: Working Draft 4 of High-Efficiency Video Coding”, 6. Reunión JCT-VC 20110714-20110722, XP030229353 son documentos relacionados de la técnica anterior.
Resumen
La invención se especifica mediante las reivindicaciones independientes. Las realizaciones preferidas se definen en las reivindicaciones dependientes. En la siguiente descripción, aunque numerosas características pueden designarse como opcionales, se reconoce no obstante que todas las características incluidas en las reivindicaciones independientes no deben leerse como opcionales. En vista de lo anterior, el objetivo principal de la presente invención es proporcionar un método y un dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento, los cuales puedan hacer uso completo de la información APS codificada, implementar una configuración flexible de las herramientas de codificación utilizadas en la proceso de codificación/decodificación de segmento(s) y reducir la redundancia de información.
Con el fin de implementar el objeto anterior, el esquema técnico de la presente invención se implementa de la siguiente manera.
La presente invención proporciona un método para codificar conjuntos de parámetros a nivel de segmento, que incluye: cuando hay uno o más conjuntos de parámetros, en los cuales algunos parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual, codificar uno o más identificadores de uno o más conjuntos de parámetros en un flujo de bits del segmento actual; en donde dicho conjunto de parámetros es una estructura de datos que contiene información común de una o más herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos.
Preferiblemente, el método incluye además: generar uno o más conjuntos de parámetros y codificar en uno o más conjuntos de parámetros los parámetros de la herramienta de codificación de la otra parte de las herramientas de codificación utilizadas para el segmento actual, asignar un identificador a cada conjunto de parámetros generado, y codificar el identificador de cada conjunto de parámetros generado en el flujo de bits del segmento actual.
Preferiblemente, generar uno o más conjuntos de parámetros y codificar en uno o más conjuntos de parámetros los parámetros de la herramienta de codificación de la otra parte de las herramientas de codificación para el segmento actual que incluye:
cuando la otra parte de las herramientas de codificación para el segmento actual incluye dos o más herramientas de codificación, generar uno o más conjuntos de parámetros y codificar en cada conjunto de parámetros los parámetros de codificación de una o más herramientas de codificación.
Preferiblemente, generar uno o más conjuntos de parámetros y codificar en uno o más conjuntos de parámetros los parámetros de la herramienta de codificación de la otra parte de las herramientas de codificación para el segmento actual incluye: cuando la otra parte de las herramientas de codificación para el segmento actual incluye dos o más herramientas de codificación, generar por separado conjuntos de parámetros para cada herramienta de codificación respectivamente, codificar en cada conjunto de parámetros los parámetros de la herramienta de codificación de una herramienta de codificación, y asignar un identificador del conjunto de parámetros a cada conjunto de parámetros generado, y codificar el identificador de cada conjunto de parámetros generado en el flujo de bits del segmento actual;
o, cuando la otra parte de las herramientas de codificación utilizadas para el segmento actual incluye dos o más herramientas de codificación, generar un conjunto de parámetros, codificar en el conjunto de parámetros la herramienta de codificación parámetros de las dos o más herramientas de codificación y asignar un identificador del conjunto de parámetros al conjunto de parámetros generado, y codificar el identificador del conjunto de parámetros en el flujo de bits del segmento actual.
Preferiblemente, asignar el identificador del conjunto de parámetros al conjunto de parámetros incluye: determinar identificadores candidatos con base en un modo de sobrescritura de conjunto de múltiples parámetros adoptado para el segmento actual, seleccionando uno de los identificadores candidatos determinados, y asignando el identificador seleccionado al conjunto de parámetros.
En la solución anterior, el método de codificación se realiza como: preconfiguración de identificadores para los conjuntos de parámetros correspondientes a diferentes herramientas de codificación; cuando hay uno o más conjuntos de parámetros, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación para el segmento actual, establecer los valores de los identificadores de los respectivos conjuntos de parámetros a los valores de los identificadores preconfigurados de los conjuntos de parámetros correspondientes a las herramientas de codificación, y luego codificar los identificadores de los respectivos conjuntos de parámetros en el flujo de bits del segmento actual.
Preferiblemente, el método incluye además: determinar si hay uno o más conjuntos de parámetros existentes, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual.
Preferiblemente, las herramientas de codificación incluyen: una herramienta de codificación a nivel de imagen y/o un módulo de gestión a nivel de imagen o de segmento, en donde
la herramienta de codificación a nivel de imagen incluye: Compensación Adaptativa de Muestra (SAO), Filtro de Bucle Adaptativo (ALF), Predicción Ponderada (WP);
el módulo de gestión a nivel de imagen o a nivel de segmento incluye: módulo de gestión de Memoria Intermedia de Imágenes Decodificadas (DPB), módulo de ajuste y marcado de imágenes de referencia, módulo de construcción de listas de imágenes de referencia.
La presente invención también proporciona un método para decodificar conjuntos de parámetros a nivel de segmento, que incluye:
decodificar una pluralidad de conjuntos de parámetros a los que hace referencia un segmento actual de acuerdo con identificadores del conjunto de parámetros en el flujo de bits del segmento actual, determinar los parámetros de la herramienta de codificación usados en el proceso de decodificar el segmento actual, y asignar los valores determinados de los parámetros de la herramienta de codificación a las variables correspondientes en una estructura de datos del segmento actual; en donde
dicho conjunto de parámetros es una estructura de datos que contiene información común de una o más herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos.
Preferiblemente, la determinación de los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual incluye: para cada herramienta de codificación, si hay sólo un conjunto de parámetros, en el cual un indicador de Encendido/Apagado de la herramienta de codificación es 1, en la pluralidad de conjuntos de parámetros a los que hace referencia el segmento actual, determinando luego que los parámetros de la herramienta de codificación de la herramienta de codificación en el conjunto de parámetros se utilizan en el proceso de decodificación del segmento actual.
Preferiblemente, determinar el parámetro de la herramienta de codificación usado en el proceso de decodificar el segmento actual incluye: determinar los parámetros de la herramienta de codificación de las herramientas de codificación usadas en el proceso de decodificar el segmento actual, de acuerdo con una relación correspondiente preconfigurada entre un identificador del conjunto de parámetros y una herramienta de codificación.
Preferiblemente, determinar el parámetro de la herramienta de codificación usado en el proceso de decodificar el segmento actual incluye: determinar los parámetros de la herramienta de codificación usados en el proceso de decodificación el segmento actual, de acuerdo con un modo de sobrescritura del conjunto de parámetros múltiples preestablecido.
Preferiblemente, determinar los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual de acuerdo con el modo de sobrescritura del conjunto de parámetros múltiples preestablecido incluye: para cada herramienta de codificación, si, en el conjunto de parámetros con su identificador igual a ps_id[n], un indicador utilizado para indicar que el conjunto de parámetros contiene información de los parámetros de la herramienta de codificación es 1, sobrescribir los parámetros de la herramienta de codificación de la herramienta de codificación previamente determinados para decodificar el segmento actual con los parámetros de la herramienta de codificación de la herramienta de codificación en el conjunto de parámetros con su identificador igual a ps_id[n], donde n es un número entero, no menor que 1 pero no mayor que el número de conjuntos de parámetros a los que hace referencia el segmento actual.
Preferiblemente, determinar el parámetro de la herramienta de codificación utilizado en el proceso de decodificación del segmento actual de acuerdo con el modo de sobrescritura del conjunto de parámetros múltiples preestablecido incluye: de acuerdo con el indicador utilizado para indicar el modo de sobrescritura del conjunto de parámetros múltiples adoptado actualmente, determinar el modo de sobrescritura del conjunto de parámetros múltiples utilizado en el proceso de decodificar el segmento actual, y determinar los parámetros de la herramienta de codificación utilizados en el proceso de decodificación el segmento actual con base en el modo de sobrescritura del conjunto de parámetros múltiples determinado.
Preferiblemente, la representación binaria del indicador usado para indicar el modo de sobrescritura de conjuntos de múltiples parámetros actualmente adoptado contiene uno o más bits, en donde cada bit indica el modo de sobrescritura de conjuntos de múltiples parámetros para una herramienta de codificación.
Preferiblemente, el indicador utilizado para indicar el modo de sobrescritura del conjunto de parámetros múltiples actualmente adoptado se obtiene con base en una diferencia absoluta entre los identificadores del conjunto de parámetros dados por ps_id[i] y ps[i-1], donde i es un número entero, no menor que 1 pero no mayor que el número de conjuntos de parámetros mencionados en el proceso de decodificación del segmento actual.
Preferiblemente, las herramientas de codificación incluyen: una herramienta de codificación a nivel de imagen y/o un módulo de gestión a nivel de imagen o de segmento, en donde la herramienta de codificación a nivel de imagen incluye: Compensación Adaptativa de Muestra (SAO), Filtro de Bucle Adaptativo (ALF), Predicción Ponderada (WP); el módulo de gestión a nivel de imagen o a nivel de segmento incluye: módulo de gestión de Memoria Intermedia de Imágenes Decodificadas (DPB), módulo de ajuste y marcado de imágenes de referencia, módulo de construcción de listas de imágenes de referencia.
La presente invención también proporciona un codificador para codificar conjuntos de parámetros a nivel de segmento, que incluye: un módulo de determinación y un módulo de codificación, en donde
el módulo de determinación está configurado para: al determinar que hay uno o más conjuntos de parámetros, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual, en los conjuntos de parámetros existentes, notificar al módulo de codificación para hacer referencia a los conjuntos de parámetros;
el módulo de codificación está configurado para codificar los identificadores de los conjuntos de parámetros en un flujo de bits del segmento actual cuando se recibe la notificación del módulo de determinación; en donde
dicho conjunto de parámetros es una estructura de datos que contiene información común de una o más herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos.
Preferiblemente, el módulo de codificación está configurado además para: generar uno o más conjuntos de parámetros y codificar en uno o más conjuntos de parámetros los parámetros de la herramienta de codificación de la otra parte de las herramientas de codificación utilizadas para el segmento actual, asignar un identificador a cada conjunto de parámetros generado y codificar el identificador de cada conjunto de parámetros generado en el flujo de bits del segmento actual.
Preferiblemente, el módulo de codificación está configurado además para establecer el identificador del conjunto de parámetros para que sea el identificador preconfigurado del conjunto de parámetros correspondiente a la herramienta de codificación, y luego codificar el identificador del conjunto de parámetros en el flujo de bits del segmento actual.
Preferiblemente, el módulo de determinación está configurado además para determinar si hay son uno o más conjuntos de parámetros existentes, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual.
La presente invención también proporciona un decodificador para decodificar un conjunto de parámetros a nivel de segmento, que incluye: un módulo de decodificación, un módulo de determinación y un módulo de asignación de valor, en donde
el módulo de decodificación está configurado para decodificar una pluralidad de conjuntos de parámetros a los que hace referencia el segmento actual de acuerdo con los identificadores del conjunto de parámetros decodificados de un flujo de bits del segmento actual;
el módulo de determinación está configurado para determinar los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual, de acuerdo con los parámetros de la herramienta de codificación en la pluralidad de conjuntos de parámetros obtenidos cuando el módulo de decodificación decodifica la pluralidad de conjuntos de parámetros a los que hace referencia el segmento actual;
el módulo de asignación de valores está configurado para asignar los valores de los parámetros de la herramienta de codificación determinados por el módulo de determinación a las variables correspondientes en una estructura de datos del segmento actual; en donde
dicho conjunto de parámetros es una estructura de datos que contiene información común de una o más herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos.
Preferiblemente, el módulo de determinación está configurado para: para cada herramienta de codificación, si hay sólo un conjunto de parámetros, en el cual un indicador de Encendido/Apagado de la herramienta de codificación es 1, en la pluralidad de conjuntos de parámetros a los que hace referencia el segmento actual, determinar que los parámetros de la herramienta de codificación de la herramienta de codificación en el conjunto de parámetros se utilizan en el proceso de decodificación del segmento actual.
Preferiblemente, el módulo de determinación está configurado para determinar los parámetros de las herramientas de codificación utilizados en el proceso de decodificación del segmento actual, de acuerdo con una relación correspondiente preconfigurada entre un identificador del conjunto de parámetros y una herramienta de codificación.
Preferiblemente, el módulo de determinación está configurado para determinar los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual, de acuerdo con un modo de sobrescritura de conjunto de múltiples parámetros preestablecido.
La presente invención también proporciona un dispositivo electrónico, que incluye el codificador y el decodificador descritos anteriormente.
Con el método y el dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento en la presente invención, cuando existen uno o más conjuntos de parámetros, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual, los identificadores de uno o más conjuntos de parámetros se codifican en el flujo de bits del segmento actual. De esta manera, cuando el segmento se ha referido a una pluralidad de conjuntos de parámetros, la información codificada del conjunto de parámetros se puede utilizar completamente, implementando de este modo configuraciones flexibles de las herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos y reduciendo la redundancia de información.
Además, el método y el dispositivo descritos en la presente invención pueden generar uno o más conjuntos de parámetros de acuerdo con las necesidades reales y codificar en cada conjunto de parámetros los parámetros de la herramienta de codificación de una o más herramientas de codificación, no sólo facilitando los segmentos posteriores para hacer referencia a los conjuntos de parámetros generados en el proceso de codificación/decodificación, sino también ayudando a reducir la sobrecarga de bits de codificación.
Breve descripción de los dibujos
La Figura 1 muestra un diagrama de flujo de implementación de un método para decodificar conjuntos de parámetros a nivel de segmento de acuerdo con un ejemplo de la presente invención;
La Figura 2 muestra un diagrama de flujo de implementación para decodificar un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 1;
La Figura 3 muestra un diagrama de flujo de implementación del proceso de determinación de los parámetros de la herramienta de codificación SAO en el Paso 209 que se muestra en la Figura 2;
La Figura 4 muestra un diagrama de flujo de implementación del proceso de determinación de los parámetros de la herramienta de codificación ALF en el Paso 209 que se muestra en la Figura 2;
La Figura 5 muestra un diagrama de flujo de implementación de la codificación de un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 1;
La Figura 6 muestra un diagrama de flujo de la implementación del Paso 505 que se muestra en la Figura 5;
La Figura 7 muestra un diagrama de flujo de implementación para decodificar un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 2;
La Figura 8 muestra un diagrama de flujo de implementación de codificación de un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 2;
La Figura 9 muestra un diagrama de flujo de la implementación del Paso 806 que se muestra en la Figura 8;
La Figura 10 muestra un diagrama de flujo de implementación para decodificar un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 3;
La Figura 11 muestra un diagrama de flujo de implementación de codificación de un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 3;
La Figura 12 muestra un diagrama de flujo de implementación del proceso de decodificación de APS de acuerdo con una Realización 1 de la presente invención;
La Figura 13 muestra un diagrama de flujo de implementación del proceso de codificación APS de acuerdo con una Realización 1 de la presente invención;
La Figura 14 muestra un diagrama de flujo de implementación para decodificar un flujo de bits multi-APS a nivel de segmento de acuerdo con la Realización p1 de la presente invención;
La Figura 15 muestra un diagrama de flujo de la implementación del Paso 1408 que se muestra en la Figura 14; La Figura 16 muestra un diagrama de flujo de implementación de codificación de un flujo de bits multi-APS a nivel segmento de acuerdo con el Ejemplo 1;
La Figura 17 muestra un diagrama de flujo de la implementación del Paso 1605 que se muestra en la Figura 16; La Figura 18 muestra un diagrama de flujo de implementación de codificación de un flujo de bits multi-APS a nivel segmento de acuerdo con la Realización 1 de la presente invención;
La Figura 19 muestra un diagrama de flujo de implementación para decodificar un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 5;
La Figura 20 muestra un diagrama de flujo de implementación para codificar un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 5;
La Figura 21 muestra un diagrama de flujo de implementación para decodificar un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 6;
La Figura 22 muestra un diagrama de flujo de la implementación del Paso 2108 que se muestra en la Figura 21;
La Figura 23 muestra un diagrama de flujo de implementación para codificar un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 6;
La Figura 24 muestra un diagrama de flujo de la implementación del Paso 2305 que se muestra en la Figura 23;
La Figura 25 muestra un diagrama de flujo de implementación del proceso de decodificación APS de acuerdo con Ejemplo 7;
La Figura 26 muestra un diagrama de flujo de implementación del proceso de codificación APS de acuerdo con el Ejemplo 7;
La Figura 27 muestra un diagrama de flujo de implementación para decodificar un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 7;
La Figura 28 muestra un diagrama de flujo de implementación de codificación de un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 7;
La Figura 29 muestra un diagrama de flujo de implementación de codificación de un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 9; y
La Figura 30 muestra un diagrama de flujo de implementación de codificación de un flujo de bits multi-APS a nivel de segmento de acuerdo con el Ejemplo 1.
Descripción detallada de los ejemplos y la realización
La idea básica de las realizaciones de la presente invención incluye: en el proceso de codificación/decodificación del segmento actual, cuando el número de conjuntos de parámetros a los que hace referencia el segmento actual es mayor que 1, si hay uno o más conjuntos de parámetros existentes en los cuales los parámetros de la herramienta de codificación son idénticos a uno o más parámetros de la herramienta de codificación utilizados en el proceso de decodificar el segmento actual, el segmento se refiere a uno o más parámetros existentes para obtener los parámetros de la herramienta de codificación para codificar el segmento actual o decodificar el flujo de bits del segmento actual.
Un método para codificar conjuntos de parámetros a nivel de segmento de acuerdo con una realización de la presente invención incluye principalmente: cuando hay uno o más conjuntos de parámetros existentes, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual, uno o más identificadores de uno o más conjuntos de parámetros se codifican en un flujo de bits del segmento actual, en donde dicho conjunto de parámetros se refiere a una estructura de datos que contiene información común de una o más herramientas de codificación utilizadas en el proceso de codificar/decodificar uno o más segmentos, es decir, el conjunto de parámetros puede ser el APS mencionado en el siguiente contenido.
El método incluye además: generar uno o más APSs y codificar en uno o más APSs los parámetros de la herramienta de codificación de la otra parte de las herramientas de codificación utilizadas para el segmento actual, asignar un identificador a cada APS generado, y codificar el identificador de cada APS generado en el flujo de bits del segmento actual.
Generar uno o más APSs y codificar en uno o más APSs los parámetros de la herramienta de codificación de la otra parte de las herramientas de codificación utilizadas para el segmento actual incluyen:
cuando la otra parte de las herramientas de codificación utilizadas para el segmento actual incluye dos o más herramientas de codificación, generar uno o más APSs y codificar en un APS los parámetros de codificación de una o más herramientas de codificación.
Preferiblemente, generar uno o más APSs y codificar en uno o más APSs los parámetros de la herramienta de codificación de la otra parte de las herramientas de codificación utilizadas para el segmento actual incluyen: cuando la otra parte de las herramientas de codificación utilizadas para el segmento actual incluye dos o más herramientas de codificación, generar por separado APSs correspondientes a cada herramienta de codificación respectivamente, codificar en un APS los parámetros de la herramienta de codificación de una herramienta de codificación y asignar un identificador de APS a cada APS, y codificar el identificador de cada APS en el flujo de bits del segmento actual;
o, cuando la otra parte de las herramientas de codificación utilizadas para el segmento actual incluye dos o más herramientas de codificación, generar un APS, codificar en este APS los parámetros de la herramienta de codificación de las dos o más herramientas de codificación y asignar un identificador de APS al APS, y codificar el identificador del APS en el flujo de bits del segmento actual.
Asignar un identificador de APS al APS incluye: determinar identificadores candidatos de acuerdo con el modo de sobrescritura de múltiples APSs adoptado en el proceso de codificación/decodificación del segmento actual, seleccionar uno de los identificadores candidatos determinados, y asignar el identificador seleccionado al APS.
Preferiblemente, el método incluye además: determinar si hay uno o más APSs existentes, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para codificar/decodificar el segmento actual.
Durante la aplicación práctica, el método de codificación puede realizarse como: preconfigurar los identificadores para los conjuntos de parámetros correspondientes a diferentes herramientas de codificación; cuando hay uno o más conjuntos de parámetros existentes, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual, establecer el valor del identificador del conjunto de parámetros en el valor del identificador del conjunto de parámetros preconfigurados del conjunto de parámetros correspondiente a las herramientas de codificación, y luego codificar el identificador del conjunto de parámetros en el flujo de bits del segmento actual.
Un método para decodificar conjuntos de parámetros a nivel de segmento de acuerdo con un ejemplo, como se muestra en la Figura 1, incluye principalmente los siguientes pasos.
Paso 101: una pluralidad de APSs a los que hace referencia el segmento actual se decodifican de acuerdo con los identificadores de APS en el flujo de bits del segmento actual.
Paso 102: se determinan los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual, y los valores de los parámetros de la herramienta de codificación determinados se asignan a las variables correspondientes en la estructura de datos del segmento actual.
Preferiblemente, la determinación de los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual puede incluir:
para cada herramienta de codificación, si solo hay un APS, en el cual el indicador Encendido/Apagado de la herramienta de codificación es 1 (es decir, Encendido), en la pluralidad de APSs a los que hace referencia el segmento actual, entonces se determina que los parámetros de la herramienta de codificación en este APS se utilizan en el proceso de decodificación del segmento actual.
Preferiblemente, determinar los parámetros de la herramienta de codificación usados en el proceso de decodificar el segmento actual puede incluir: determinar los parámetros de la herramienta de codificación de la herramienta de codificación usada en el proceso de decodificar el segmento actual, de acuerdo con una relación correspondiente preconfigurada entre el identificador del conjunto de parámetros y la herramienta de codificación.
Preferiblemente, la determinación de los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual puede incluir además: determinar los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual, de acuerdo con un modo de sobrescritura multi-APS preestablecido.
La determinación del parámetro de la herramienta de codificación utilizado en el proceso de decodificación del segmento actual de acuerdo con el modo de sobrescritura multi-APS preestablecido puede incluir:
para cada herramienta de codificación, si en el APS con su identificador igual a aps_id[n], el indicador utilizado para indicar que este APS contiene la información de los parámetros de la herramienta de codificación es 1, se sobrescriben los parámetros de la herramienta de codificación previamente determinados para decodificar el segmento actual con los parámetros de la herramienta de codificación de la herramienta de codificación en este APS, en donde n es un número entero, no menor que 1 pero no mayor que el número de APS a las que hace referencia el segmento actual;
o, de acuerdo con un indicador usado para indicar el modo de sobrescritura de múltiples APSs adoptado usado para decodificar el segmento actual, determinar el modo de sobrescritura de múltiples APSs necesario en el proceso de decodificar el segmento actual, y determinar los parámetros de la herramienta de codificación usados en el proceso de decodificar el segmento actual con base en el modo de sobrescritura multi-APS determinado.
La representación binaria del indicador usado para indicar el modo de sobrescritura de múltiples APSs adoptado incluye uno o más bits, en donde cada bit indica el modo de sobrescritura de múltiples APSs para el proceso de determinación de los parámetros de codificación de una herramienta de codificación.
El indicador utilizado para indicar el modo de sobrescritura multi-APS adoptado se obtiene con base en una diferencia absoluta entre los identificadores de APS dados por aps_id[i] y aps[i-1], en donde i es un número entero, no menor que 1 pero no mayor que el número de APSs a los que se hace referencia en el proceso de decodificación del segmento actual.
De manera correspondiente, un ejemplo también proporciona un codificador para codificar conjuntos de parámetros a nivel de segmento. El codificador incluye un módulo de determinación y un módulo de codificación, en donde el módulo de determinación está configurado para: al determinar que hay uno o más APSs existentes, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual, notificar al módulo de codificación para hacer referencia al uno o más APSs; el módulo de codificación está configurado para codificar uno o más identificadores de uno o más APSs en el flujo de bits del segmento actual cuando se recibe la notificación del módulo de determinación.
El módulo de codificación puede configurarse además para: generar uno o más APSs y codificar en uno o más APSs los parámetros de la herramienta de codificación de la otra parte de las herramientas de codificación utilizadas para el segmento actual, asignar un identificador a cada APS generado, y codificar el identificador de cada APS generado en el flujo de bits del segmento actual.
El módulo de codificación puede configurarse además para establecer el identificador del conjunto de parámetros en un identificador preconfigurado del conjunto de parámetros correspondiente a la herramienta de codificación, y luego codificar el identificador del conjunto de parámetros en el flujo de bits del segmento actual.
El módulo de determinación puede configurarse además para determinar si hay uno o más APSs existentes, en los cuales los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual. Aquí, al determinar que no existe ningún APS existente, en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual, el módulo de determinación notifica al módulo de codificación que no existe ningún APS existente en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de una parte de las herramientas de codificación utilizadas para el segmento actual. Después de recibir la notificación, el módulo de codificación genera uno o más APSs, codifica en cada APS generado los parámetros de la herramienta de codificación de las herramientas de codificación utilizadas para el segmento actual, asigna un identificador a cada APS generado, y codifica el identificador de cada APS generado en el flujo de bits del segmento actual.
De manera correspondiente, un ejemplo proporciona un decodificador para decodificar conjuntos de parámetros a nivel de segmento. El decodificador incluye un módulo de decodificación, un módulo de determinación y un módulo de asignación de valor, en donde el módulo de decodificación está configurado para decodificar una pluralidad de APSs a los que hace referencia el segmento actual de acuerdo con los identificadores de APS en el flujo de bits del segmento actual; el módulo de determinación está configurado para determinar los parámetros de la herramienta de codificación usados en el proceso de decodificar el segmento actual, de acuerdo con los parámetros de la herramienta de codificación en la pluralidad de APSs obtenidos cuando el módulo de decodificación decodifica la pluralidad de APSs a los que hace referencia el segmento actual; el módulo de asignación de valores está configurado para asignar los valores de los parámetros de la herramienta de codificación determinados por el módulo de determinación a las variables correspondientes en la estructura de datos del segmento actual.
Preferiblemente, el módulo de determinación puede configurarse para: para cada herramienta de codificación, si solo hay un APS, en el cual el indicador de Encendido/Apagado de la herramienta de codificación es 1 (es decir, Encendido), en la pluralidad de APSs a los que hace referencia el segmento actual, determinar que los parámetros de la herramienta de codificación de las herramientas de codificación en este APS se utilizan en el proceso de decodificación del segmento actual.
Preferiblemente, el módulo de determinación puede configurarse para determinar los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual, de acuerdo con una relación correspondiente preconfigurada entre el identificador del conjunto de parámetros y la herramienta de codificación.
Preferiblemente, el módulo de determinación puede configurarse para determinar los parámetros de la herramienta de codificación usados en el proceso de decodificación del segmento actual, de acuerdo con un modo de sobrescritura multi-APS preestablecido.
De manera correspondiente, un ejemplo proporciona un dispositivo electrónico, el cual como se muestra en la Figura 2, incluye el codificador y el decodificador descritos anteriormente.
La herramienta de codificación en los ejemplos puede incluir: una herramienta de codificación a nivel de imagen y/o un módulo de gestión a nivel de imagen o de segmento, en donde la herramienta de codificación a nivel de imagen incluye: SAO, ALF, WP y similares; el módulo de gestión a nivel de imagen o a nivel de segmento incluye: módulo de gestión DPB, módulo de ajuste y marcado de imágenes de referencia, módulo de construcción de listas de imágenes de referencia y similares.
Los Ejemplos 1 a 6 y la Realización de la presente invención se describen tomando como ejemplo las herramientas de codificación a nivel de imagen SAO y ALF. Los Ejemplos 7 a 10 describen con más detalle la implementación de realizar codificación/decodificación utilizando la herramienta de codificación a nivel de imagen así como el módulo de gestión a nivel de imagen o de segmento sobre la base de los Ejemplos 1 a 6 y la Realización. En cada ejemplo descrito a continuación, se supone que tanto SAO como ALF están permitidos en el proceso de codificación/decodificación.
En cada ejemplo o realización que se describe a continuación, cuando se utilizan múltiples APSs, el codificador necesita garantizar que el decodificador pueda obtener los parámetros de una herramienta de codificación a nivel de imagen consistente con la utilizada por el codificador de acuerdo con el proceso de análisis del flujo de bits multi-APS de nivel de segmento del decodificador en este ejemplo o realización.
En cada ejemplo o realización descrito a continuación, la implementación del codificador es una de las posibles implementaciones del codificador como se describe en este ejemplo o realización, cualquier implementación del codificador la cual pueda generar un flujo de bits que cumpla con el requisito del proceso de análisis del flujo de bits del decodificador puede servir como posible implementación del codificador en este ejemplo o realización.
Ejemplo 1
En este ejemplo, la estructura del flujo de bits APS utilizado es la que se muestra en la Tabla 1.
Tabla 1
En la Tabla 1, la columna Descriptor proporciona la representación binaria del valor de cada elemento de sintaxis. El codificador codifica un elemento de sintaxis relacionado utilizando una representación binaria correspondiente y el decodificador decodifica un elemento de sintaxis relacionado utilizando una representación binaria correspondiente. En los procesos de codificación y decodificación, tanto el codificador como el decodificador pueden reservar una copia de los parámetros de APS a nivel de segmento, en donde los parámetros de APS a nivel de segmento pueden derivarse de un único APS o de múltiples APSs.
Este ejemplo permite que un segmento haga referencia a los parámetros de la herramienta de codificación proporcionados en múltiples APSs. El método de indicación de las múltiples APSs en el encabezado del segmento se muestra en la Tabla 2. Este ejemplo señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en la Línea 6 a la Línea 13 en la Tabla 2.
Tabla 2
En la Tabla 2, number_valid_aps indica el número de APS al que se hace referencia en el proceso de codificación/decodificación del segmento actual y es un número entero en el rango de [0, MaxNumberValidAps]. Si el número de elemento de sintaxis aps válido no se proporciona en el flujo de bits, se infiere que el valor es 0 de forma predeterminada. El límite superior MaxNumberValidAps del número valid_aps se puede determinar de acuerdo con la cantidad de herramientas de codificación a nivel de imagen disponibles en el perfil/nivel.
En la Tabla 2, aps_id[i] indica el identificador del APS al que se hace referencia en el proceso de codificación/decodificación del segmento actual, donde i es un número entero en el rango de [0, number_valid_aps-1].
Cuando el valor de number_valid_aps es 0, indica que no se hace referencia a ningún APS en el proceso de codificación/decodificación del segmento actual, es decir, ninguno de los APSs se aplica al proceso de codificación/decodificación del segmento actual.
Cuando el valor de number_valid_aps es 1, indica que se hace referencia a un APS en el proceso de codificación/decodificación del segmento actual, y en este momento el identificador del APS es aps_id[0]; los parámetros de las herramientas de codificación de SAO y ALF se dan en el APS con su identificador igual a aps_id[0]. En este caso, de acuerdo con los valores del indicador SAO Encendido/Apagado aps_sample_adaptive_offset_flag y el indicador ALF Encendido/Apagado aps_adaptive_loop_filter_flag en el APS, el decodificador establece los valores de aps_sample_adaptive_offset_flag y el aps_adaptive_loop_filter_flag en la estructura de datos a nivel de segmento.
Cuando el valor de number_valid_aps es mayor que 1, indica que se hace referencia a múltiples APSs en el proceso de codificación/decodificación del segmento actual, y los identificadores de los APSs a los que hace referencia el segmento actual se identifican mediante aps_id[0], aps_id[1],...,aps_id[number_valid_aps-1] respectivamente. Cuando solo hay un APS, en el cual el valor de aps_sample_adaptive_offset_flag es 1, en los múltiples APSs, se utiliza SAO en el proceso de decodificación del segmento actual y los parámetros de la herramienta de codificación SAO se proporcionan en este APS; cuando solo hay un APS, en el cual el valor de aps_adaptive_loop_filter_flag es 1, en los múltiples APSs, ALF se utiliza en el proceso de decodificación del segmento actual y los parámetros de la herramienta de codificación ALF se proporcionan en este APS. Si hay diversos APSs en los cuales el valor de aps_sample_adaptive_offset_flag es 1, el decodificador no utiliza SAO en el proceso de decodificación del segmento actual y el decodificador establece el valor de aps_sample_adaptive_offset_flag en 0 en la estructura de datos a nivel de segmento. Si hay diversos APSs en los cuales el valor de aps_adaptive_loop_filter_flag es 1, el decodificador no utiliza ALF en el proceso de decodificación del segmento actual y el decodificador establece el valor del aps_adaptive_loop_filter_flag en 0 en la estructura de datos a nivel de segmento.
En correspondencia con la Tabla 2, el proceso mediante el cual el decodificador decodifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 2, puede incluir los siguientes pasos.
Paso 201: el decodificador analiza un flujo de bits SPS al que hace referencia el segmento actual, y obtiene los valores de sample_adaptive_offset_enabled_flag y adaptive_loop_filter_enabled_flag usando el método de decodificación correspondiente a u(1).
Aquí, tanto sample_adaptive_offset_enabled_flag como adaptive_loop_filter_enabled_flag son indicadores contenidos en la estructura de datos a nivel de segmento, en donde el sample_adaptive_offset_enabled_flag indica si se permite usar SAO en el proceso de codificación/decodificación del segmento actual, y adaptive_loop_filter_enabled_flag indica si ALF puede utilizarse en el proceso de codificación/decodificación del segmento actual.
Paso 202: el decodificador determina si el valor de (sample_adaptive_offset_enabled_flag || adaptive_loop_filter_enabled_flag) es VERDADERO; si es VERDADERO, se ejecuta el Paso 203; si es FALSO, el proceso de decodificación actual finaliza.
Paso 203: el decodificador analiza el encabezado del segmento y obtiene el valor de number_valid_aps usando el método de decodificación correspondiente a u(v).
Paso 204: si el valor de number_valid_aps es igual a 0, se ejecuta el Paso 205; si el valor de number_valid_aps no es igual a 0, se ejecuta el Paso 206.
Paso 205: no se hace referencia a ningún APS en el proceso de decodificación del segmento actual, no se usa ni SAO ni ALF en el proceso de decodificación, tanto aps_sample_adaptive_offset_flag como aps_adaptive_loop_filter_flag se establecen en 0 en la estructura de datos a nivel de segmento. El proceso de decodificación actual finaliza.
Paso 206: si el valor de number_valid_aps es igual a 1, se ejecuta el Paso 207; si el valor de number_valid_aps no es igual a 1, se ejecuta el Paso 208.
Paso 207: sólo se hace referencia a un APS en el proceso de decodificación del segmento actual; el decodificador obtiene el valor de aps_id[0] usando el método de decodificación correspondiente a ue(v), analiza los parámetros de las herramientas de codificación de SAO y ALF en el APS con su identificador igual a aps_id[0], y asigna los valores de los parámetros de la herramienta de codificación SAO a las variables correspondientes en la estructura de datos SAO a nivel de segmento, y asigna los valores de los parámetros de la herramienta de codificación ALF a las variables correspondientes en la estructura de datos ALF. El proceso de decodificación actual finaliza.
Paso 208: se hace referencia a múltiples APSs en el proceso de decodificar el segmento actual; el decodificador analiza múltiples APSs, obtiene los valores de aps_id[0], aps_id[1],...,aps_id[number_valid_aps-1] utilizando el método de decodificación correspondiente a ue(v), y analiza los parámetros de las herramientas de codificación de SAO y ALF en los múltiples APSs con sus identificadores iguales a aps_id[0], aps_id[1],...,aps_id[number_valid_aps-1] respectivamente.
Paso 209: el decodificador determina los parámetros de las herramientas de codificación de SAO y ALF utilizadas en el proceso de decodificar el segmento actual de acuerdo con los parámetros de las herramientas de codificación de SAO y ALF obtenidos al decodificar los múltiples APSs, y asigna los valores de los parámetros de los valores determinados de los parámetros de la herramienta de codificación SAO a las variables correspondientes en la estructura de datos SAO en la estructura de datos a nivel de segmento y asigna los valores de los parámetros de los valores determinados de los parámetros de la herramienta de codificación ALF a las variables correspondientes en la estructura de datos ALF en la estructura de datos a nivel de segmento. El proceso de decodificación actual finaliza.
Como se muestra en la Figura 3, el proceso de determinar y asignar los parámetros de la herramienta de codificación SAO en el Paso 209 incluye los siguientes pasos.
Paso 301: si el valor de cada aps_sample_adaptive_offset_flag obtenido cuando el decodificador decodifica los múltiples APSs es 0, se ejecuta el Paso 302; en caso contrario, se ejecuta el Paso 303.
Paso 302: el decodificador no utiliza SAO en el proceso de decodificar el segmento actual, y establece el valor de aps_sample_adaptive_offset_flag en 0 en la estructura de datos a nivel de segmento. Finaliza el proceso actual.
Paso 303: si sólo uno de los aps_sample_adaptive_offset_flag obtenidos cuando el decodificador decodifica los múltiples APSs toma un valor de 1, se ejecuta el Paso 304; si dos o más de los aps_sample_adaptive_offset_flag obtenidos cuando el decodificador decodifica los múltiples APSs toman un valor de 1, se ejecuta el Paso 305.
Paso 304: el decodificador usa SAO en el proceso de decodificar el segmento actual, establece el valor de aps_sample_adaptive_offset_flag en 1 en la estructura de datos a nivel de segmento, y asigna los valores de los parámetros de la herramienta de codificación SAO en el APS en el cual el valor de aps_sample_adaptive_offset_flag es 1 para las variables correspondientes en la estructura de datos SAO a nivel de segmento. Finaliza el proceso actual.
Paso 305: el decodificador no utiliza SAO en el proceso de decodificar el segmento actual, y establece el valor de aps_sample_adaptive_offset_flag en 0 en la estructura de datos a nivel de segmento. Finaliza el proceso actual.
Como se muestra en la Figura 4, el proceso de determinar y asignar los valores de los parámetros de la herramienta de codificación ALF en el Paso 209 incluye los siguientes pasos.
Paso 401: si el valor de cada aps_adaptive_loop_filter_flag obtenido cuando el decodificador decodifica los múltiples APSs es 0, se ejecuta el Paso 402; en caso contrario, se ejecuta el Paso 403.
Paso 402: el decodificador no usa ALF en el proceso de decodificar el segmento actual, y establece el valor de aps_adaptive_loop_filter_flag en 0 en la estructura de datos a nivel de segmento. Finaliza el proceso actual.
Paso 403: si sólo uno de los aps_adaptive_loop_filter_flag obtenidos cuando el decodificador decodifica los múltiples APSs toma un valor de 1, se ejecuta el Paso 404; si dos o más de los aps_adaptive_loop_filter_flag obtenidos cuando el decodificador decodifica los múltiples APSs toman un valor de 1, se ejecuta el Paso 405.
Paso 404: el decodificador usa ALF en el proceso de decodificar el segmento actual, establece el valor de aps_adaptive_loop_filter_flag en 1 en la estructura de datos a nivel de segmento, y asigna los valores de los parámetros de la herramienta de codificación ALF en el APS en el cual el valor de aps_adaptive_loop_filter_flag es 1 para las variables correspondientes en la estructura de datos ALF a nivel de segmento. Finaliza el proceso actual.
Paso 405: el decodificador no usa ALF en el proceso de decodificar el segmento actual, y establece el valor de aps_adaptive_loop_filter_flag en 0 en la estructura de datos a nivel de segmento. Finaliza el proceso actual.
En consecuencia, el proceso mediante el cual el codificador codifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 5, puede incluir los siguientes pasos.
Paso 501: el codificador determina las herramientas de codificación a nivel de imagen que se permiten usar en el proceso de codificación del segmento actual, de acuerdo con SPS y PPS.
Preferiblemente, el codificador puede determinar si se permite utilizar una herramienta de codificación a nivel de imagen en el proceso de codificación del segmento actual, de acuerdo con el valor del indicador en SPS que indica si se permite la herramienta de codificación a nivel de imagen. Por ejemplo, en SPS, si el valor de sample_adaptive_offset_enabled_flag es 1, se permite usar SAO en el proceso de codificación y, si el valor de sample_adaptive_offset_enabled_flag es 0, no se permite usar SAO en el proceso de codificación.
Paso 502: el codificador determina la herramienta a nivel de imagen realmente utilizada en el proceso de codificación del segmento actual y los parámetros de la herramienta de codificación de la herramienta a nivel de imagen.
El codificador puede determinar si se debe utilizar una herramienta de codificación a nivel de imagen en el proceso de codificación del segmento actual usando el método de cálculo de parámetros de cada herramienta de codificación a nivel de imagen junto con el método de optimización de velocidad de distorsión, y determinar, en la condición de que se utiliza la herramienta de codificación a nivel de imagen, otros parámetros de la herramienta de codificación. La implementación específica puede hacer referencia a la técnica convencional, no se necesita descripción adicional aquí.
Paso 503: si los parámetros de la herramienta de codificación de la herramienta de codificación a nivel de imagen usada para codificar el segmento actual son completamente idénticos a los parámetros de la herramienta de codificación de la misma herramienta de codificación a nivel de imagen que ya están contenidos en un APS existente, se ejecuta el Paso 504; en caso contrario, se ejecuta el Paso 505.
Paso 504: el codificador establece el valor de number_valid_aps en 1 en la estructura de datos a nivel de segmento y escribe el valor de number_valid_aps en el flujo de bits usando un método de codificación correspondiente a u(v), adquiere el identificador del APS en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación correspondientes al segmento actual, asigna el valor del identificador APS a aps_id[0] en la estructura de datos a nivel de segmento, y escribe el valor de aps_id[0] en el flujo de datos utilizando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 506.
Paso 505: el codificador genera un nuevo APS, asigna un identificador al nuevo APS, y codifica en el nuevo APS los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizadas para el segmento actual, y escribe el valor del identificador del nuevo APS en el flujo de bits del encabezado del segmento del segmento actual. Luego, se ejecuta el Paso 506.
Paso 506: el codificador escribe otros datos de codificación del segmento actual en el flujo de bits, y finaliza el proceso de codificación del flujo de bits multi-APS del segmento actual.
Cuando se utilizan múltiples APSs, el codificador debe garantizar que el decodificador pueda realizar la decodificación correspondiente de acuerdo con el proceso anterior de decodificar el flujo de bits multi-APS a nivel de segmento, es decir, para garantizar que el decodificador pueda obtener los mismos parámetros de herramienta de las herramientas de codificación a nivel de imagen como codificador.
En el Paso 505, el codificador puede determinar el método de generación del nuevo APS y el método de codificación del identificador de este nuevo APS, de acuerdo con si el segmento actual usa una herramienta de codificación a nivel de segmento, si los parámetros de la herramienta de codificación de una o más herramientas de codificación a nivel de imagen en las herramientas utilizadas para el segmento actual son idénticas a los parámetros de la herramienta de codificación de las correspondientes una o más herramientas de codificación a nivel de imagen que ya están contenidas en uno o más APSs existentes, y si las herramientas de codificación a nivel de imagen utilizadas para el segmento actual se aplicarán al proceso de codificación de segmentos posteriores.
La implementación de generar un nuevo APS, asignar un identificador al nuevo APS y escribir el valor del identificador de APS en el encabezado del segmento en el Paso 505, como se muestra en la Figura 6, puede incluir los siguientes pasos.
Paso 601: se determina si el codificador no utiliza herramientas de codificación a nivel de imagen en el proceso de codificación del segmento actual; de ser así, se ejecuta el Paso 602; en caso contrario, se ejecuta el Paso 603.
Paso 602: el codificador establece el valor de number_valid_aps en 0 en la estructura de datos a nivel de segmento, y escribe el valor del number_valid_aps en el flujo de bits usando el método de codificación correspondiente a u(v). Finaliza el proceso actual.
Paso 603: si el codificador utiliza sólo una herramienta de codificación a nivel de imagen de SAO o ALF en el proceso de codificación del segmento actual, se ejecuta el Paso 604; si el codificador utiliza ambas herramientas de codificación a nivel de imagen de SAO y ALF en el proceso de codificación del segmento actual, se ejecuta el Paso 605.
Paso 604: el codificador establece el valor de number_valid_aps en 1 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits usando el método de codificación correspondiente a u(v), genera un nuevo APS, codifica en este nuevo APS los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizadas en el proceso de codificación del segmento actual, asigna un identificador al APS generado, asigna el valor del identificador del nuevo APS a aps_id[0], y escribe el valor de aps_id[0] en el flujo de bits usando el método de codificación correspondiente a ue(v). Finaliza el proceso actual.
Paso 605: el codificador determina si existe un APS, en el cual sólo el valor de aps_sample_adaptive_offset_flag o aps_adaptive_loop_filter_flag es 1 y los parámetros de la herramienta de codificación correspondientes son idénticos a los parámetros de la herramienta de codificación SAO o a los parámetros de la herramienta de codificación ALF usada para el segmento actual; si es así, se ejecuta el Paso 606; en caso contrario, se ejecuta el Paso 607.
Paso 606: el codificador establece el valor de number_valid_aps en 2 en la estructura de datos a nivel de segmento, escribe el valor del number_valid_aps en el flujo de bits usando el método correspondiente a u(v), asigna a aps_id[0] el valor del identificador del APS en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación SAO o a los parámetros de la herramienta de codificación ALF utilizados para el segmento actual, genera un nuevo APS y codifica en este nuevo APS a los, cuales no son idénticos a los de este APS existente, en los parámetros de la herramienta de codificación SAO y los parámetros de la herramienta de codificación ALF utilizados para el segmento actual, y asigna el valor del identificador del nuevo APS a aps_id[1], escribe aps_id[0] y aps_id[1] en el flujo de bits usando el método de codificación correspondiente a ue(v). Finaliza el proceso actual.
Paso 607: el codificador determina si es necesario usar el SAO o ALF que tiene los mismos parámetros de herramienta de codificación que el SAO o ALF usado para el segmento actual en el proceso de codificar segmentos posteriores; si es así, se ejecuta el Paso 608; en caso contrario, se ejecuta el Paso 609.
Paso 608: el codificador establece el valor de number_valid_aps en 2 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits usando el método correspondiente a u(v), genera dos nuevos APSs y codifica en un nuevo APS los parámetros de la herramienta de codificación SAO utilizada para el segmento actual y en el otro nuevo APS los parámetros de la herramienta de codificación ALF utilizada para el segmento actual, asigna diferentes identificadores de APS a los dos nuevos APS generados, asigna los valores de los identificadores de los dos nuevos APSs en aps_id[0] y aps_id[1] respectivamente, y escribe los valores de aps_id[0] y aps_id[1] en el flujo de bits usando el método de codificación correspondiente a ue(v) respectivamente. Finaliza el proceso actual.
Aquí, cuando el codificador genera un APS separado para una herramienta de codificación a nivel de imagen, en este APS generado, los indicadores Encendido/Apagado de otras herramientas de codificación a nivel de imagen se establecen en 0 (es decir, Apagado); y los parámetros auxiliares utilizados para otras herramientas de codificación a nivel de imagen no están contenidos en este APS generado.
Paso 609: el codificador establece el valor de number_valid_aps en 1 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits usando el método de codificación correspondiente a u(v), genera un nuevo APS y codifica en este nuevo APS los parámetros de las herramientas de codificación de SAO y ALF utilizadas para el segmento actual, asigna un identificador al nuevo APS, asigna el valor del identificador del nuevo APS a aps_id[0] y escribe el valor de aps_id[0] en el flujo de datos utilizando el método de codificación correspondiente a ue(v). Finaliza el proceso actual.
Ejemplo 2
La estructura de flujo de bits APS utilizada en este ejemplo es completamente idéntica a la utilizada en el Ejemplo 1.
Este ejemplo permite que un segmento haga referencia a herramientas de codificación dadas en múltiples APSs, y el método de indicación de los múltiples APSs en el encabezado del segmento es como se muestra en la Tabla 2 en el Ejemplo 1, en donde el number_valid_aps y la implicación y el valor de number_valid_aps son idénticos a los del Ejemplo 1, y la única diferencia radica en que: cuando el valor de number_valid_aps es mayor que 1, el segmento actual se refiere a múltiples APSs simultáneamente; el decodificador configura el ALF utilizado en el proceso de decodificación del segmento actual usando los parámetros de la herramienta de codificación ALF proporcionada en el APS con su identificador igual a aps_id[0], y configura el SAO usado en el proceso de decodificación del segmento actual usando los parámetros de la herramienta de codificación SAO indicados en el APS con su identificador igual a aps_id[1].
Como se muestra en la Figura 7, el proceso mediante el cual el decodificador decodifica un flujo de bits multi-APS a nivel de segmento en este ejemplo puede incluir los siguientes pasos.
Paso 701 es completamente idéntico al Paso 201.
Paso 702 es completamente idéntico al Paso 202.
Paso 703 es completamente idéntico al Paso 203.
Paso 704 es completamente idéntico al Paso 204.
Paso 705 es completamente idéntico al Paso 205.
Paso 706 es completamente idéntico al Paso 206.
Paso 707 es completamente idéntico al Paso 207.
Paso 708 es completamente idéntico al Paso 208.
Paso 709: el decodificador establece los parámetros de la herramienta de codificación ALF en la estructura de datos a nivel de segmento utilizada en el proceso de decodificación del segmento actual, usando los parámetros de la herramienta de codificación ALF en el APS con su identificador igual a aps_id[0]; y el decodificador establece los parámetros de la herramienta de codificación SAO en la estructura de datos a nivel de segmento utilizada en el proceso de decodificación del segmento actual, usando los parámetros de la herramienta de codificación SAO en el APS con su identificador igual a aps_id[1]. Finaliza el proceso de decodificación del flujo de bits multi-APS del segmento actual.
Correspondiente al proceso de decodificación que se muestra en la Figura 7, el proceso que realiza el codificador codifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 8, puede incluir los siguientes pasos.
Paso 801 es completamente idéntico al Paso 501.
Paso 802 es completamente idéntico al Paso 502.
Paso 803: si el codificador no utiliza herramientas de codificación a nivel de imagen en el proceso de codificación del segmento actual, se ejecuta el Paso 804; en caso contrario, se ejecuta el Paso 805.
Paso 804: el codificador establece el valor de number_valid_aps en 0 en la estructura de datos a nivel de segmento, y escribe el valor de number_valid_aps en el flujo de bits del encabezado del segmento actual usando el método de codificación correspondiente a u(v). Luego, se ejecuta el Paso 811.
Paso 805: si el codificador utiliza tanto SAO como ALF en el proceso de codificación del segmento actual, se ejecuta el Paso 806; si el codificador utiliza sólo una herramienta de codificación a nivel de imagen de SAO o ALF en el proceso de codificación del segmento actual, se ejecuta el Paso 807.
Paso 806: de acuerdo con los parámetros de la herramienta de codificación contenidos en el APS existente, el codificador determina el APS al que hace referencia el segmento actual y codifica en el encabezado del segmento. Luego, se ejecuta el Paso 811.
Paso 807: el codificador determina si existe un APS que cumple las siguientes condiciones: los parámetros de herramienta de todas las herramientas de codificación a nivel de imagen en este APS son completamente idénticos a los parámetros de herramienta de todas las herramientas de codificación a nivel de imagen para codificar el segmento actual; si es así, existe un APS al cual puede hacer referencia directamente el segmento actual, entonces se ejecuta el Paso 808; de lo contrario, no existe ningún APS, al cual pueda hacer referencia directamente el segmento actual, entonces el codificador necesita generar un nuevo APS y se ejecuta el Paso 809.
Paso 808: el codificador establece el number_valid_aps en 1 en la estructura de datos a nivel de segmento y escribe el valor de number_valid_aps en el flujo de bits usando el método de codificación correspondiente a u(v), y establece el valor del identificador del APS en aps_id[0] en el cual los parámetros correspondientes de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación utilizados para codificar el segmento actual y escribe el valor de aps_id[0] en el flujo de bits utilizando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 811.
Paso 809: el codificador genera un nuevo APS y codifica en este nuevo APS los parámetros de la herramienta de codificación utilizados para codificar el segmento actual, y asigna un identificador al nuevo APS.
Paso 810: el codificador establece el number_valid_aps en 1 en la estructura de datos a nivel de segmento y escribe el valor de number_valid_aps en el flujo de bits usando el método de codificación correspondiente a u(v), y establece el valor en aps_id[0] del identificador del nuevo APS y escribe el valor de aps_id[0] en el flujo de bits utilizando el método de codificación correspondiente a ue(v).
Paso 811: el codificador escribe otros datos de codificación del segmento en el flujo de bits. El proceso de codificación del segmento finaliza.
En el Paso 806, el codificador puede determinar el APS al que hace referencia el segmento actual y codificar en el encabezado del segmento, de acuerdo con si el segmento actual usa una herramienta de codificación a nivel de segmento, si los parámetros de herramienta de una o más de las herramientas de codificación usadas son idénticos a los parámetros de herramienta de las herramientas correspondientes que ya están contenidas en un APS existente, y si las herramientas de codificación a nivel de imagen para el segmento actual se van a aplicar al proceso de codificación de segmentos posteriores. Una implementación del Paso 806, como se muestra en la Figura 9, puede incluir los siguientes pasos.
Paso 901: si existe un APS, el cual incluye ambos parámetros de las herramientas de codificación de SAO y ALF que son idénticos a los parámetros de las herramientas de codificación de SAO y ALF utilizadas para codificar el segmento actual, se ejecuta el Paso 902; en caso contrario, se ejecuta el Paso 903.
Paso 902: el codificador establece el valor de number_valid_aps en 1 en la estructura de datos a nivel de segmento, escribe el valor del number_valid_aps en el flujo de bits utilizando el método de codificación correspondiente a u(v), asigna a aps_id[0] el valor del identificador del APS en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación utilizada para el segmento actual, y escribe el valor de aps_id[0] en el flujo de bits del encabezado del segmento utilizando el método correspondiente a ue(v). Finaliza el proceso actual.
Paso 903: sí, en los APS existentes, hay un APS en el cual los parámetros de la herramienta de codificación ALF son idénticos a los parámetros de la herramienta de codificación ALF utilizada para el segmento actual y un APS en el cual los parámetros de la herramienta de codificación SAO son idénticos a los parámetros de la herramienta de codificación SAO utilizada para el segmento actual, se ejecuta el Paso 904; en caso contrario, se ejecuta el Paso 905.
Paso 904: el codificador establece el valor del number_valid_aps en 2 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits usando el método de codificación correspondiente a u(v), asigna a aps_id[0] el valor del identificador del APS en el cual los parámetros de la herramienta de codificación ALF son idénticos a los parámetros de la herramienta de codificación ALF del segmento actual, y asigna a aps_id[1] el valor del identificador del APS en el cual los parámetros de la herramienta de codificación SAO son idénticos a los parámetros de la herramienta de codificación SAO utilizada para el segmento actual, escribe los valores de aps_id[0] y aps_id[1] en el flujo de bits del encabezado del segmento usando el método correspondiente a ue(v) respectivamente. Finaliza el proceso actual.
Paso 905: si hay un APS existente, en el cual los parámetros de la herramienta de codificación correspondientes son idénticos a los parámetros de la herramienta de codificación ALF o a los parámetros de la herramienta de codificación SAO utilizada para el segmento actual, se ejecuta el Paso 906; de lo contrario, es necesario generar un nuevo conjunto de parámetros para los parámetros de la herramienta de codificación SAO y los parámetros de la herramienta de codificación ALF usados para el segmento actual, y se ejecuta el Paso 908.
Paso 906: el codificador genera un nuevo APS y codifica en este APS los, cuales no son idénticos a los de este APS existente, en los parámetros de la herramienta de codificación ALF y los parámetros de la herramienta de codificación SAO utilizados para el segmento actual y asigna un identificador a este nuevo APS.
Paso 907: el codificador establece el valor de number_valid_aps en 2 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits utilizando el método de codificación correspondiente a u(v), asigna a aps_id[0] el valor del identificador del APS en el cual los parámetros de la herramienta de codificación ALF son idénticos a los parámetros de la herramienta de codificación ALF utilizados para el segmento actual, y asigna a aps_id[1] el valor del identificador del APS en el cual los parámetros de la herramienta de codificación SAO son idénticos a los parámetros de la herramienta de codificación SAO utilizada para el segmento actual, escribe los valores de aps_id[0] y aps_id[1] en el flujo de bits del encabezado del segmento usando el método correspondiente a ue(v) respectivamente. Finaliza el proceso actual.
Paso 908: si es necesario aplicar los parámetros de las herramientas de codificación de SAO y ALF utilizadas para el segmento actual al proceso de codificación de segmentos posteriores, se ejecuta el Paso 909; en caso contrario, se ejecuta el Paso 910.
Paso 909: el codificador genera dos nuevos APSs, codifica en un nuevo APS los parámetros de la herramienta de codificación SAO utilizada para el segmento actual y en el otro nuevo APS los parámetros de la herramienta de codificación ALF utilizada para el segmento actual, asigna diferentes identificadores de APS a los dos nuevos APSs, establece el valor del number_valid_aps en 2 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits utilizando el método de codificación correspondiente a u(v), asigna a aps_id[0] el valor del identificador del nuevo APS que contiene los parámetros de la herramienta de codificación ALF utilizada para el segmento actual, asigna a aps_id[1] el valor del identificador del nuevo APS que contiene los parámetros de la herramienta de codificación SAO utilizada para el segmento actual y escribe los valores de aps_id[0] y aps_id[1] en el flujo de bits del encabezado del segmento utilizando el método correspondiente a ue(v) respectivamente. Finaliza el proceso actual.
Paso 910: el codificador genera un nuevo APS, codifica en este APS los parámetros de las herramientas de codificación de SAO y ALF utilizadas para el segmento actual, asigna un identificador al nuevo APS, establece el valor de number_valid_aps en 1 en el nivel de segmento estructura de datos, escribe el valor de number_valid_aps en el flujo de bits utilizando el método de codificación correspondiente a u(v) y asigna el valor del identificador del nuevo<a>P<s>a aps_id[0], y escribe aps_id[0] en el flujo de datos del encabezado del segmento usando el método correspondiente a ue(v). Finaliza el proceso actual.
Ejemplo 3
La estructura de flujo de bits APS utilizada en este ejemplo es completamente idéntica a la utilizada en el Ejemplo 1.
Este ejemplo permite que un segmento haga referencia a múltiples APSs para obtener parámetros de la herramienta de codificación; el método de indicación de múltiples APSs en el encabezado del segmento es como se muestra en la Tabla 3. Este ejemplo señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en las líneas 6 a 16 que se muestran en la Tabla 3.
Tabla 3
En la Tabla 3, el valid_aps_exist_flag indica si se hace referencia a APS en el proceso de codificación/decodificación del segmento actual para obtener los parámetros de las herramientas de codificación. Cuando el valid_aps_exist_flag es igual a 1, indica que se utiliza una herramienta de codificación a nivel de imagen en el proceso de decodificación del segmento actual y que la herramienta de codificación a nivel de imagen se configura con referencia a APS. Cuando el valid_aps_exist_flag es igual a 0, indica que no se utilizan herramientas de codificación a nivel de imagen en el proceso de decodificación del segmento actual, y que no se utilizan herramientas de codificación a nivel de imagen en el proceso de decodificación del segmento actual.
aps_id_sao indica el identificador del APS al que hace referencia SAO en el proceso de decodificar el segmento, y los parámetros de la herramienta de codificación SAO utilizada en el proceso de decodificación del segmento se adquieren de este APS.
aps_id_alf indica el identificador del APS utilizado por ALF en el proceso de decodificación del segmento, y los parámetros de la herramienta de codificación ALF utilizada en el proceso de decodificación del segmento se adquieren de este APS.
Con base en la Tabla 3, el proceso mediante el cual el decodificador decodifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 10, puede incluir los siguientes pasos.
Paso 1001 es completamente idéntico al Paso 201.
Paso 1002: el decodificador determina si el valor de (sample_adaptive_offset_enabled_flag || adaptive_loop_filter_enabled_flag) es VERDADERO; si es VERDADERO, se ejecuta el Paso 1003; si es FALSO, el proceso de decodificación actual finaliza.
Paso 1003: el decodificador analiza el encabezado del segmento y obtiene el valor del indicador de valid_aps_exist_flag usando el método de decodificación correspondiente a u(1).
Paso 1004: si el valor de valid_aps_exist_flag es igual a 1, se ejecuta el Paso 1005; de lo contrario, el decodificador no utiliza herramientas de codificación a nivel de imagen en el proceso de decodificar el segmento actual, y establece aps_sample_adaptive_offset_flag y aps_adaptive_loop_filter_flag en 0 en la estructura de datos a nivel de segmento. Finaliza el proceso actual.
Paso 1005: si el valor de sample_adaptive_offset_enabled_flag es igual a 1, se ejecuta el Paso 1006; de lo contrario, SAO no se utiliza en el proceso de decodificación del segmento, y el decodificador establece aps_sample_adaptive_offset_flag en 0 en la estructura de datos a nivel de segmento, luego se ejecuta el Paso 1007.
Paso 1006: el decodificador obtiene el valor de aps_id_sao usando el método de decodificación correspondiente a ue(v); el decodificador lee los parámetros de la herramienta de codificación SAO del APS con su identificador igual a aps_id_sao y asigna los valores de los parámetros de la herramienta de codificación SAO a la estructura de datos de los parámetros de la herramienta de codificación SAO en la estructura de datos a nivel de segmento, entonces se ejecuta el Paso 1007.
Paso 1007: si el valor de adaptive_loop_filter_enabled_flag es igual a 1, se ejecuta el Paso 1008; de lo contrario, ALF no se utiliza en el proceso de decodificación del segmento, y el decodificador establece aps_adaptive_loop_filter_flag en 0 en la estructura de datos a nivel de segmento. Finaliza el proceso actual.
Paso 1008: el decodificador obtiene el valor de aps_id_alf usando el método de decodificación correspondiente a ue(v); el decodificador lee los parámetros de la herramienta de codificación ALF del APS con su identificador igual a aps_id_alf, y asigna los valores de los parámetros de la herramienta de codificación ALF a la estructura de datos de los parámetros de la herramienta de codificación ALF en estructura de datos de nivel de segmento. Finaliza el proceso actual.
En correspondencia con el proceso de decodificación anterior, el proceso en donde el codificador codifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 11, puede incluir los siguientes pasos.
Paso 1101 es completamente idéntico al Paso 501.
Paso 1102 es completamente idéntico al Paso 502.
Paso 1103: si el codificador no utiliza herramientas de codificación a nivel de imagen en el proceso de codificación del segmento actual, se ejecuta el Paso 1104; de lo contrario, el codificador establece el valid_aps_exist_flag en 1 en la estructura de datos a nivel de segmento, y escribe el indicador de valid_aps_exist_flag en el flujo de bits usando el método de codificación correspondiente a u(1), luego se ejecuta el Paso 1105.
Paso 1104: el codificador establece el valid_aps_exist_flag en 0 en la estructura de datos a nivel de segmento, y escribe el valor de valid_aps_exist_flag en el flujo de bits usando el método de codificación correspondiente a u(1), luego se ejecuta el Paso 1112.
Paso 1105: si el codificador determina que existe un APS, el cual incluye los mismos parámetros de herramienta que los parámetros de la herramienta de codificación SAO y los parámetros de la herramienta de codificación ALF usados para el segmento actual, es decir, hay un APS existente, al cual puede hacer referencia directamente el segmento actual, se ejecuta el Paso 1106; en caso contrario, se ejecuta el Paso 1107.
Paso 1106: el codificador asigna a aps_id_sao en la estructura de datos a nivel de segmento el valor del identificador del APS en el cual los parámetros de la herramienta de codificación SAO son idénticos a los parámetros de la herramienta de codificación SAO usada para el segmento actual, y asigna en aps_id_alf en la estructura de datos a nivel de segmento, el valor del identificador del APS en el cual los parámetros de la herramienta de codificación ALF son idénticos a los parámetros de la herramienta de codificación ALF utilizada para el segmento actual, y escribe los valores de aps_id_sao y el aps_id_alf en el flujo de bits usando un método de codificación correspondiente a ue(v) respectivamente; luego, se ejecuta el Paso 1112.
Paso 1107: si el codificador determina que, en los APSs existentes, solo hay un APS que incluye los mismos parámetros que los parámetros de codificación SAO usados para el segmento actual pero no hay un APS que incluye los mismos parámetros que los parámetros de codificación ALF usados para el segmento actual, es decir, sólo la codificación de los parámetros de la herramienta SAO puede hacer referencia directamente al APS existente, entonces se ejecuta el Paso 1108; en caso contrario, se ejecuta el Paso 1109.
Paso 1108: el codificador asigna a aps_id_sao en la estructura de datos a nivel de segmento el valor del identificador del APS en el cual los parámetros de la herramienta de codificación SAO son idénticos a los parámetros de la herramienta de codificación SAO utilizada para el segmento actual. El codificador genera un nuevo APS y asigna un identificador al APS generado, codifica en este APS los parámetros de la herramienta ALF y asigna el valor del identificador de este APS generado a aps_id_alf en la estructura de datos a nivel de segmento. El codificador escribe los valores de aps_id_sao y aps_id_alf en el flujo de bits utilizando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 1112.
Paso 1109: si el codificador determina que, en los APSs existentes, sólo hay un APS que incluye los mismos parámetros que los parámetros de codificación ALF usados para el segmento actual pero no hay un APS que incluya los mismos parámetros que los parámetros de codificación SAO usados para el segmento actual, es decir, sólo la codificación de los parámetros de codificación ALF puede hacer referencia directamente al APS existente, entonces se ejecuta el Paso 1110; en caso contrario, se ejecuta el Paso 1111.
Paso 1110: el codificador asigna a aps_id_alf en la estructura de datos a nivel de segmento el valor del identificador del APS en el cual los parámetros de la herramienta de codificación ALF son idénticos a los parámetros de la herramienta de codificación ALF utilizada para el segmento actual. El codificador genera un nuevo APS y asigna un identificador al APS generado, codifica en este APS los parámetros de la herramienta SAO y asigna el valor del identificador de este APS al aps_id_sao en la estructura de datos a nivel de segmento. El codificador escribe los valores aps_id_sao y aps_id_alf en el flujo de bits utilizando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 1112.
Paso 1111: el codificador genera un nuevo APS, asigna un identificador a este APS, y codifica en este APS los parámetros de la herramienta SAO y los parámetros de la herramienta ALF. El codificador asigna el valor del identificador de este APS a aps_id_sao y aps_id_alf en la estructura de datos a nivel de segmento, y escribe los valores de aps_id_sao y aps_id_alf en el flujo de bits usando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 1112.
Paso 1112: el codificador escribe otros datos de codificación del segmento en el flujo de bits. El proceso de codificación del segmento finaliza.
Realización 1
La estructura de flujo de bits de APS utilizada en esta realización es como se muestra en la Tabla 4, en donde la Línea 3 a la Línea 4, la Línea 13 a la Línea 15, la Línea 20, la Línea 23 a la Línea 25, la Línea 30 a la Línea 31 en la Tabla 4 son todos nuevos elementos de sintaxis añadidos en esta realización con base en la estructura de flujo de bits APS existente.
Tabla 4
En la Tabla 4, el aps_sample_adaptive_offset_data_present_flag indica si el APS actual contiene los parámetros de la herramienta de codificación SAO. Cuando el valor de aps_sample_adaptive_offset_data_present_flag es igual a 1, indica que el APS actual contiene los parámetros de la herramienta de codificación SAO; cuando el valor del aps_sample_adaptive_offset_data_present_flag es igual a 0, indica que el APS actual no contiene los parámetros de la herramienta de codificación SAO. En una aplicación práctica, el valor predeterminado de aps_sample_adaptive_offset_flag es 0.
En la Tabla 4, el aps_adaptive_loop_filter_data_present_flag indica si el APS actual contiene los parámetros de la herramienta de codificación ALF. Cuando el valor de aps_adaptive_loop_filter_data_present_flag es igual a 1, indica que el APS actual contiene los parámetros de la herramienta de codificación ALF; cuando el valor de aps_adaptive_loop_filter_data_present_flag es igual a 0, indica que el APS actual no contiene los parámetros de la herramienta de codificación ALF. En aplicaciones prácticas, el valor predeterminado de aps_adaptive_loop_filter_flag es 0.
Con base en la estructura del flujo de bits APS que se muestra en la Tabla 4, el proceso correspondiente de decodificación del flujo de bits APS, como se muestra en la Figura 12, puede incluir los siguientes pasos.
Paso 1201: el decodificador lee el flujo de bits de APS, y analiza el flujo de bits de APS para obtener los valores de aps_sample_adaptive_offset_data_present_flag y aps_adaptive_loop_filter_data_present_flag usando el método de decodificación correspondiente a u(1).
Paso 1202: el decodificador continúa analizando el llenado de información relacionada con la codificación de entropía en el APS.
Paso 1203: si el valor de aps_sample_adaptive_offset_data_present_flag es igual a 1, se ejecuta el Paso 1204; de lo contrario, indica que el APS actual no contiene los parámetros de la herramienta de codificación SAO, entonces se ejecuta el Paso 1207.
Paso 1204: el decodificador analiza el flujo de bits APS para obtener el valor de aps_sample_adaptive_offset_flag usando el método de decodificación correspondiente a u(1).
Paso 1205: si el valor de aps_sample_adaptive_offset_flag es igual a 1, se ejecuta el Paso 1206; en caso contrario, se ejecuta el Paso 1207.
Paso 1206: el decodificador decodifica los parámetros del filtro SAO y otros parámetros de control relevantes; luego se ejecuta el Paso 1207.
Paso 1207: si el valor de aps_adaptive_loop_filter_data_present_flag es igual a 1, se ejecuta el Paso 1208; de lo contrario, indica que el APS actual no contiene los parámetros de la herramienta de codificación ALF, entonces se ejecuta el Paso 1211.
Paso 1208: el decodificador analiza el flujo de bits APS para obtener el valor de aps_adaptive_loop_filter_flag usando el método de decodificación correspondiente a u(1).
Paso 1209: si el valor de aps_adaptive_loop_filter_flag es igual a 1, se ejecuta el Paso 1210; en caso contrario, se ejecuta el Paso 1211.
Paso 1210: el decodificador decodifica los parámetros del filtro ALF y otros parámetros de control relevantes; luego se ejecuta el Paso 1211.
Paso 1211: el decodificador decodifica otros elementos de sintaxis en el APS. El proceso de decodificación actual finaliza.
En correspondencia con el proceso de decodificación del flujo de bits APS que se muestra en la Figura 12, el proceso de codificación del flujo de bits APS en esta realización, como se muestra en la Figura 13, puede incluir los siguientes pasos.
Paso 1301: el codificador genera un APS, asigna un identificador al APS generado y escribe el identificador del APS en el flujo de bits usando el método de codificación correspondiente a ue(v).
Paso 1302: el codificador determina el valores de aps_sample_adaptive_offset_data_present_flag y aps_adaptive_loop_filter_data_present_flag en el APS de acuerdo con la codificación a nivel de imagen herramientas realmente utilizadas en el proceso de codificación del segmento, escribe aps_sample_adaptive_offset_data_present_flag y aps_adaptive_loop_filter_data_present_flag en el flujo de bits usando el método correspondiente a u(1), y codifica la información de llenado relacionada con la codificación de entropía.
Paso 1303: si el valor de aps_sample_adaptive_offset_data_present_flag es igual a 1, se ejecuta el Paso 1304; en caso contrario, se ejecuta el Paso 1305.
Paso 1304: el codificador codifica los parámetros de la herramienta de codificación SAO, que incluyen: indicador de Encendido/Apagado de SAO, coeficientes de filtro de SAO y parámetros de control relevantes; luego se ejecuta el Paso 1305.
Paso 1305: si el valor del aps_adaptive_loop_filter_data_present_flag es igual a 1, se ejecuta el Paso 1306; en caso contrario, se ejecuta el Paso 1307.
Paso 1306: el codificador codifica los parámetros de la herramienta de codificación ALF, que incluyen: indicador de Encendido/Apagado de ALF, coeficientes de filtro de ALF y parámetros de control relevantes; luego se ejecuta el Paso 1307.
Paso 1307: el codificador codifica otros elementos de sintaxis en el APS. El proceso de codificación actual finaliza. Cabe señalar que el proceso de decodificación de la Figura 12 y el proceso de codificación de la Figura 13 contienen únicamente los pasos de decodificación o los pasos de codificación de los nuevos elementos de sintaxis; los pasos de decodificación o codificación de otros elementos de sintaxis pueden implementarse mediante una técnica relacionada, y no se necesita descripción adicional en el presente documento.
Esta realización permite que un segmento haga referencia a los parámetros de la herramienta de codificación proporcionados en múltiples APSs. El método de indicación de múltiples APSs en el encabezado del segmento se muestra en la Tabla 5. Esta realización señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en la Línea 6 a la Línea 11 en la Tabla 5.
Tabla 5
En la Tabla 5, las implicaciones del número de aps y aps_id[i] válidos son idénticas a las de la Tabla 2 en el Ejemplo 1; la diferencia radica en que, cuando el valor de number_valid_aps es mayor que 1, el segmento actual se refiere a múltiples APSs simultáneamente; los identificadores de los APS a los que hace referencia el segmento actual están señalados por aps_id[0], aps_id[1],...,aps_id[number_valid_aps-1] respectivamente.
El decodificador determina los parámetros de las herramientas de codificación a nivel de imagen utilizadas para el segmento actual usando un modo de sobrescritura de múltiples APSs, específicamente, cuando aps_sample_adaptive_offset_data_present_flag es 1 en el APS con su identificador igual a aps_id[n] (1<n< number_valid_aps-1), el decodificador sobrescribe los parámetros anteriores de la herramienta de codificación SAO utilizada para decodificar el segmento actual determinado de acuerdo con aps_id[0], aps_id[1],...,aps_id[n-1] con los parámetros de la herramienta de codificación SAO en este APS; cuando el valor de aps_adaptive_loop_filter_data_present_flag es 1 en el APS con su identificador igual a aps_id[n] (1<n<number_valid_aps-1), el decodificador sobrescribe los parámetros anteriores de la herramienta de codificación ALF utilizada para decodificar el segmento actual determinado de acuerdo con aps_id[0], aps_id[1],...,aps_id[n-1] con los parámetros de la herramienta de codificación ALF en este APS.
En esta realización, el proceso en donde el decodificador analiza un flujo de bits multi-APS a nivel de segmento, como se muestra en la Figura 14, incluye los siguientes pasos.
Paso 1401 es completamente idéntico al Paso 201.
Paso 1402 es completamente idéntico al Paso 202.
Paso 1403 es completamente idéntico al Paso 203.
Paso 1404 es completamente idéntico al Paso 204.
Paso 1405 es completamente idéntico al Paso 205.
Paso 1406: si el valor de number_valid_aps es igual a 1, se ejecuta el Paso 1407; si el valor de number_valid_aps no es igual a 1, se ejecuta el Paso 1408.
Paso 1407 es completamente idéntico al Paso 207.
Paso 1408: el decodificador analiza múltiples APSs, determina los parámetros de las herramientas de codificación de SAO y ALF utilizadas en el proceso de decodificar el segmento actual de acuerdo con los parámetros de las herramientas de codificación de SAO y ALF obtenidos al decodificar múltiples APSs a través del método de sobrescritura multi-APS, asigna los valores de parámetros de los valores determinados de los parámetros de la herramienta de codificación SAO y los valores determinados de los parámetros de la herramienta de codificación ALF a las variables correspondientes a SAO y las variables correspondientes a ALF en la estructura de datos a nivel de segmento respectivamente. Finaliza el proceso actual.
Aquí, el proceso de determinar los parámetros de las herramientas de codificación de SAO y ALF utilizadas en el proceso de decodificar el segmento actual en el Paso 1408, como se muestra en la Figura 15, puede incluir los siguientes pasos.
Paso 1501: el decodificador inicializa una variable i:=0.
Paso 1502: el decodificador determina si la variable i es menor que number_valid_aps; de ser así, se ejecuta el Paso 1503; en caso contrario, se ejecuta el Paso 1513.
Paso 1503: el decodificador decodifica el flujo de bits APS con su identificador igual a aps_id[i] usando el método de decodificación de flujo de bits APS anterior.
Paso 1504: si el valor de aps_sample_adaptive_offset_data_present_flag es 1, se ejecuta el Paso 1505; en caso contrario, se ejecuta el Paso 1506.
Paso 1505: el decodificador sobrescribe los parámetros anteriores de la herramienta de codificación SAO determinados para decodificar el segmento actual con los parámetros de la herramienta de codificación SAO obtenidos al decodificar el APS con su identificador igual a aps_id[i], luego se ejecuta el Paso 1508.
Paso 1506: el decodificador determina si el valor de la variable i es igual a 0, de ser así, se ejecuta el Paso 1507; en caso contrario, se ejecuta el Paso 1508.
Paso 1507: el decodificador establece aps_sample_adaptive_offset_flag del nivel de segmento en 0; luego se ejecuta el Paso 1508.
Paso 1508: si el valor de aps_adaptive_loop_filter_data_present_flag es 1, se ejecuta el Paso 1509; en caso contrario, se ejecuta el Paso 1510.
Paso 1509: el decodificador sobrescribe los parámetros anteriores de la herramienta de codificación ALF determinados para decodificar el segmento actual con los parámetros de la herramienta de codificación ALF obtenidos al decodificar el APS con el identificador de aps_id[i], luego se ejecuta el Paso 1512.
Paso 1510: el decodificador determina si el valor de la variable cíclica i es igual a 0, de ser así, se ejecuta el Paso 15011; en caso contrario, se ejecuta el Paso 1512.
Paso 1511: el decodificador establece aps_adaptive_loop_filter_flag del segmento en 0; luego se ejecuta el Paso 1512.
Paso 1512: el decodificador actualiza la variable i:=i+1; vuelve al Paso 1502.
Paso 1513: el decodificador decodifica el flujo de bits del segmento actual usando los parámetros finalmente determinados de la herramienta de codificación SAO y los parámetros de la herramienta de codificación ALF. Finaliza el proceso actual.
Cabe señalar que: para la implementación del Paso 1408, el APS con su identificador igual a aps_id[0] puede tomarse como un APS básico, y los APSs con sus identificadores iguales a aps_id[1], aps_id[2]. ..,aps_id[number_valid_aps-1] se puede tomar como parche APSs; el decodificador decodifica el APS básico y establece primero los parámetros iniciales de las herramientas de codificación a nivel de imagen, y luego decodifica cada APS de parche y determina, utilizando el modo de sobrescritura multi-APS que se muestra en la Figura 15, los parámetros de herramienta de codificación de las herramientas de codificación de nivel de imagen finalmente utilizadas para decodificar el segmento actual.
En consecuencia, el proceso mediante el cual el codificador codifica un flujo de bits multi-APS a nivel de segmento en esta realización, como se muestra en la Figura 16, puede incluir los siguientes pasos.
Los Pasos 1601 y 1602 son completamente idénticos al Paso 501 al Paso 502, respectivamente.
Paso 1603: si el segmento actual usa una herramienta de codificación a nivel de imagen, y los parámetros de la herramienta de codificación a nivel de imagen son idénticos a los parámetros de la herramienta de codificación de la misma herramienta de codificación a nivel de imagen que ya están contenidos en un APS existente, se ejecuta el Paso 1604; en caso contrario, se ejecuta el Paso 1605.
Paso 1604: el codificador escribe el valor del identificador del APS en el flujo de bits del encabezado del segmento; luego se ejecuta el Paso 1606.
Si el codificador detecta un APS existente en el cual los parámetros de las herramientas de codificación a nivel de imagen son completamente idénticos a los parámetros de herramienta de todas las herramientas de codificación a nivel de imagen utilizadas para el segmento actual, el codificador establece el valor de number_valid_aps en 1 en la estructura de datos a nivel de segmento, escribe el número_valid_aps en el flujo de bits utilizando el método de codificación correspondiente a u(v), adquiere el valor del identificador del APS en el cual los parámetros de la herramienta de codificación correspondientes son idénticos a los parámetros de la herramienta de codificación utilizados para el segmento actual, asigna el valor del identificador del APS a aps_id[0] en la estructura de datos a nivel de segmento, y escribe el valor de aps_id[0] en el flujo de bits utilizando el método de codificación correspondiente a ue(v).
Si el codificador detecta múltiples APSs existentes, el decodificador puede obtener los mismos parámetros de herramienta que los de las herramientas de codificación a nivel de imagen utilizadas para el segmento actual de acuerdo con el método de sobrescritura multi-APS, luego el codificador se establece en el valor de number_valid_aps en la estructura de datos a nivel de segmento el número de APSs utilizados, y escriben el valor de number_valid_aps en el flujo de bits utilizando el método de codificación correspondiente a u(v). El codificador asigna los valores de los identificadores de los APSs utilizados a aps_id[0], aps_id[1],..., aps_id[number_valid_aps-1] en la estructura de datos a nivel de segmento, respectivamente, de acuerdo con el método de sobrescritura multi-APS, y escribe aps_id[0], aps_id[1],..., aps_id[number_valid_aps-1] en el flujo de bits usando el método de codificación correspondiente a ue(v).
Paso 1605: el codificador genera un nuevo APS, asigna un identificador al nuevo APS y escribe el valor del identificador del nuevo APS en el encabezado del segmento. Luego, se ejecuta el Paso 1606.
El codificador puede generar por separado nuevos APS para cada herramienta de codificación a nivel de imagen utilizada para el segmento actual, y codificar los parámetros de la herramienta de codificación correspondientes en el nuevo a Ps correspondiente a cada herramienta de codificación a nivel de imagen.
El codificador también puede generar un único APS, codificar en este APS los parámetros de la herramienta de codificación de todas las herramientas de codificación utilizadas para el segmento actual, y escribir el valor del identificador de este APS en el flujo de bits del encabezado del segmento.
Aquí, el codificador también puede determinar el número de nuevos APS generados, de acuerdo con si las herramientas de codificación a nivel de imagen utilizadas para el segmento actual se van a aplicar al proceso de codificación de segmentos posteriores, en donde un APS puede contener los parámetros de la herramienta de codificación de una o más herramientas de codificación a nivel de imagen.
Si en las herramientas de codificación a nivel de imagen utilizadas para el segmento actual hay una o más herramientas de codificación a nivel de imagen cuyos parámetros de herramienta son idénticos a los parámetros de herramienta de codificación correspondientes que ya están contenidos en un APS existente, entonces, el codificador puede generar un APS sólo para otras herramientas de codificación a nivel de imagen cuyos parámetros de herramienta son diferentes de todos los parámetros de herramienta de codificación correspondientes contenidos en todos los APS existentes.
El codificador escribe el valor del identificador del APS en el flujo de bits del encabezado de segmento, lo que garantiza que el decodificador que utiliza el método de sobrescritura multi-APS pueda obtener correctamente los parámetros de las herramientas de codificación a nivel de imagen después de analizar el flujo de bits.
Lo anterior es solo un método simple para optimizar los procesos del codificador generando un nuevo APS, usando un APS existente, y permitiendo el proceso de codificación de los segmentos posteriores para reutilizar los APSs para el segmento actual. Cualquier codificador, método de codificación APS y método de codificación APS a nivel de segmento el cual pueda generar un flujo de bits APS a nivel de segmento proporcionado a un decodificador que pueda ser analizado correctamente mediante el método en esta realización se considera incluido en la cobertura del Paso 1605 en esta realización.
Paso 1606: el codificador escribe otros datos de codificación del segmento en el flujo de bits. El proceso de codificación del segmento finaliza.
La implementación del codificador que genera un nuevo APS, asigna un identificador al nuevo APS y escribe el identificador del nuevo APS en el encabezado del segmento en el Paso 1605, como se muestra en la Figura 17, incluye los siguientes pasos.
Paso 1701 es completamente idéntico al Paso 601.
Paso 1702 es completamente idéntico al Paso 602.
Paso 1703 es completamente idéntico al Paso 603.
Paso 1704 es completamente idéntico al Paso 604.
Paso 1705: si existe un APS en el cual los parámetros de herramienta correspondientes son idénticos a los parámetros de herramienta de SAO o ALF para el segmento actual, se ejecuta el Paso 1706; en caso contrario, se ejecuta el Paso 1707.
Paso 1706 es completamente idéntico al Paso 606.
Paso 1707: un módulo de optimización del codificador determina si el codificador utilizará por separado SAO o ALF con los mismos parámetros de herramienta de codificación que los del segmento actual en el proceso de codificación de los segmentos posteriores; de ser así, se ejecuta el Paso 1708; en caso contrario, se ejecuta el Paso 1709.
Paso 1708 es completamente idéntico al Paso 608.
Paso 1709 es completamente idéntico al Paso 609.
Ejemplo 5
La estructura de flujo de bits APS utilizada en este ejemplo es completamente idéntica a la utilizada en el Ejemplo 1. Este ejemplo permite que un segmento haga referencia a los parámetros de la herramienta de codificación proporcionados en múltiples APSs; el método de indicación de múltiples APSs en el encabezado del segmento es como se muestra en la Tabla 2. Este ejemplo señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en las líneas 6 a 16 que se muestran en la Tabla 6.
Tabla 6
En la Tabla 6, las implicaciones de number_valid_aps y aps_id[i] son completamente idénticas a las del Ejemplo 1. En la Tabla 6, aps_overwriting_pattern[i] indica un modo de sobrescritura multi-APSs cuando el valor de number_valid_aps es mayor que 1. El modo de sobrescritura multi-APSs utilizado en este ejemplo y los métodos de operación específicos se muestran en la Tabla 7.
Tabla 7
En la Tabla 7, la representación binaria de aps_overwriting_pattern[i1 incluye dos bits, en donde el primer bit indica si se sobrescriben los parámetros de la herramienta de codificación ALF y el segundo bit indica si se sobrescriben los parámetros de la herramienta de codificación SAO. Además se definen las correspondientes operaciones de sobrescritura. Este método se puede ampliar directamente agregando modos de sobrescritura multi-ApSs similares y las operaciones correspondientes cuando la cantidad de herramientas de codificación a nivel de imagen disponibles es mayor que 2.
En este ejemplo, el proceso en donde el decodificador decodifica un flujo de bits multi-APS a nivel de segmento, como se muestra en la Figura 18, puede incluir los siguientes pasos.
Paso 1801 es completamente idéntico al Paso 201.
Paso 1802 es completamente idéntico al Paso 202.
Paso 1803 es completamente idéntico al Paso 203.
Paso 1804 es completamente idéntico al Paso 204.
Paso 1805 es completamente idéntico al Paso 205.
Paso 1806 es completamente idéntico al Paso 206.
Paso 1807 es completamente idéntico al Paso 207.
Paso 1808 es completamente idéntico al Paso 208.
Paso 1809: el decodificador analiza el índice del modo de sobrescritura de APS usando el método de decodificación correspondiente a u(2), y determina los parámetros de las herramientas de codificación de SAO y ALF usando el método de operación (que se muestra en la Tabla 8) correspondiente a cada modo de sobrescritura. Finaliza el proceso actual.
En consecuencia, el proceso mediante el cual el codificador codifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 19, puede incluir los siguientes pasos.
Paso 1901 es completamente idéntico al Paso 1601.
Paso 1902 es completamente idéntico al Paso 1602.
Paso 1903: si el codificador detecta que el segmento actual utiliza una herramienta de codificación a nivel de imagen y la herramienta utilizada tiene los mismos parámetros de herramienta que los de la herramienta a nivel de imagen en un APS existente, se ejecuta el Paso 1904; en caso contrario, se ejecuta el Paso 1905.
Paso 1904: el codificador escribe el valor del identificador del APS existente en el flujo de bits del encabezado del segmento; luego se ejecuta el Paso 1906.
Si el codificador detecta un APS existente en el cual los parámetros de las herramientas de codificación a nivel de imagen son completamente idénticos a los parámetros de herramienta de todas las herramientas de codificación a nivel de imagen utilizadas para el segmento actual, el codificador establece el valor de number_valid_aps en 1 en la estructura de datos a nivel de segmento, escribe el valor del number_valid_aps en el flujo de bits utilizando el método de codificación correspondiente a u(v), adquiere el valor del identificador del APS en el cual los parámetros correspondientes de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación utilizados para el segmento actual, asigna el valor del identificador de APS a aps_id[0] en la estructura de datos a nivel de segmento, y escribe el valor de aps_id[0] en el flujo de bits utilizando el método de codificación correspondiente a ue(v).
Si existe un APS en el cual los parámetros de la herramienta de codificación SAO son idénticos a los parámetros de la herramienta de codificación SAO utilizada para el segmento actual y un APS existente en el cual los parámetros de la herramienta de codificación ALF son diferentes de los parámetros de la herramienta de codificación ALF utilizada para el segmento actual, el codificador establece el valor de number_valid_aps en 2 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits usando el método correspondiente a u(v), asigna los valores de los identificadores de los dos APSs en aps_id[0] y aps_id[1] respectivamente, y escribe los valores de aps_id[0] y aps_id[1] en el flujo de bits usando el método de codificación correspondiente a ue(v); el codificador determina además el modo de sobrescritura multi-APSs necesario y asigna un valor a aps_overwriting_pattern, y escribe el valor de aps_overwriting_pattern en el flujo de bits usando un método de codificación correspondiente a u(2).
En el proceso de escribir los valores de los identificadores de múltiples APSs en el flujo de bits del encabezado del segmento, el codificador debe garantizar que, a través de los múltiples APSs, el decodificador en este ejemplo pueda obtener correctamente los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen que utilizan el método de decodificación de flujo de bits multi-APS y el modo de sobrescritura APS definido.
Paso 1905: el codificador genera un nuevo APS, asigna un identificador al nuevo APS, y escribe el valor del identificador del nuevo APS y el modo de sobrescritura multi-APS en el encabezado del segmento; luego, se ejecuta el Paso 1906.
En el proceso de escribir los identificadores de múltiples APSs en el flujo de bits del encabezado de segmento, el codificador debe garantizar que, a través del conjunto de múltiples APSs, el decodificador en este ejemplo pueda obtener correctamente los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizando el método de decodificación de flujo de bits multi-APS y el modo de sobrescritura de APS definido.
Paso 1906: el codificador escribe otros datos de codificación del segmento en el flujo de bits. El proceso de codificación del segmento finaliza.
La implementación de generar un nuevo APS en el Paso 1905, como se muestra en la Figura 20, puede incluir los siguientes pasos.
Paso 2001 es completamente idéntico al Paso 601.
Paso 2002 es completamente idéntico al Paso 602.
Paso 2003 es completamente idéntico al Paso 603.
Paso 2004 es completamente idéntico al Paso 604.
Paso 2005: el codificador determina si existe un APS existente, en el cual los parámetros de la herramienta de codificación correspondientes son idénticos a los parámetros de la herramienta de codificación SAO o los parámetros de la herramienta de codificación ALF usados para el segmento actual, en los APSs existentes; si es así, se ejecuta el Paso 2006; de lo contrario, se ejecuta el Paso 2007.
Paso 2006 es completamente idéntico al Paso 606.
Paso 2007: el codificador establece el modo de sobrescritura de APS para garantizar que el decodificador pueda obtener correctamente los parámetros de la herramienta de codificación a nivel de imagen, asigna un valor a aps_overwriting_pattern[0] en la estructura de datos a nivel de segmento con base en el modo de sobrescritura de APS establecido, y escribe el valor de aps_overwriting_pattern[0] en el flujo de bits usando un método de codificación correspondiente a u(2). Finaliza el proceso actual.
Paso 2008: el codificador determina si es necesario utilizar, en el proceso de codificación de segmentos posteriores, el SAO o ALF que tiene los mismos parámetros de herramienta de codificación que el SAO o ALF utilizados para el segmento actual; si es así, se ejecuta el Paso 2009; de lo contrario, se ejecuta el Paso 2011.
Paso 2009 es completamente idéntico al Paso 608.
Paso 2010: el codificador establece el modo de sobrescritura APS para garantizar que el decodificador pueda obtener correctamente los parámetros de la herramienta de codificación a nivel de imagen, asigna un valor a aps_overwriting_pattern[0] en la estructura de datos a nivel de segmento de acuerdo con el modo de sobrescritura establecido, y escribe el valor de aps_overwriting_pattern[0] en el flujo de bits usando el método de codificación correspondiente a u(2). Finaliza el proceso actual.
Paso 2011 es completamente idéntico al Paso 609.
Esta realización también puede utilizar la estructura de flujo de bits APS a la que se hace referencia en la Realización 1. En este momento, cuando el codificador genera un APS separado para una herramienta de codificación a nivel de imagen, en este APS generado, todos los indicadores para los parámetros de herramienta de otras herramientas de codificación a nivel de imagen en este APS se establecen en 0. Por ejemplo, en un APS independiente generado para los parámetros de la herramienta ALF, el codificador establece aps_sample_adaptive_offset_data_present_flag en 0.
Ejemplo 6
La estructura de flujo de bits APS utilizada en este ejemplo es idéntica a la utilizada en el Ejemplo 1.
Este ejemplo permite que un segmento haga referencia a los parámetros de la herramienta de codificación proporcionados en múltiples APSs; el método de indicación de múltiples APSs en el encabezado del segmento es como se muestra en la Tabla 2. Este ejemplo señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en la Línea 6 a la Línea 13 que se muestra en la Tabla 2.
El decodificador en este ejemplo determina los parámetros de la herramienta de codificación utilizados para decodificar el segmento actual usando el modo de sobrescritura APS. El modo de sobrescritura de APS utilizado en este ejemplo y los métodos de operación correspondientes se muestran en la Tabla 8. Cuando hay múltiples APSs en el encabezado del segmento, el decodificador determina el modo de sobrescritura de APS de acuerdo con la diferencia absoluta abs(x) entre los identificadores de APS dada por aps_id[i] y aps_id[i-1] (i=1, 2, number_valid_aps-1). En la Tabla 8, abs(x) devuelve el valor absoluto de un número real x.
Tabla 8
En este ejemplo, el proceso en donde el decodificador decodifica un flujo de bits multi-APS a nivel de segmento, como se muestra en la Figura 21, puede incluir los siguientes pasos.
Paso 2101 es completamente idéntico al Paso 201.
Paso 2102 es completamente idéntico al Paso 202.
Paso 2103 es completamente idéntico al Paso 203.
Paso 2104 es completamente idéntico al Paso 204.
Paso 2105 es completamente idéntico al Paso 205.
Paso 2106: si el valor del number_valid_aps es igual a 1, se ejecuta el Paso 2107; si el valor de number_valid_aps no es igual a 1 o 0, se ejecuta el Paso 2108.
Paso 2107 es completamente idéntico al Paso 207.
Paso 2108: el decodificador obtiene los valores de aps_id[0], aps_id[1],..., aps_id[number_valid_aps-1] usando el método de decodificación correspondiente a ue(v), decodifica los parámetros de las herramientas de codificación de SAO y ALF en múltiples APSs con sus identificadores iguales a aps_id[0], aps_id[1],..., aps_id[number_valid_aps-1] respectivamente, y determina los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual de acuerdo con el modo de sobrescritura APS definido. Finaliza el proceso actual. Aquí, el proceso de determinar los parámetros de la herramienta de codificación usados en el proceso de decodificar el segmento actual de acuerdo con el modo de sobrescritura de APS definido en el Paso 2108, como se muestra en la Figura 22, puede incluir los siguientes pasos.
Paso 2201: el decodificador decodifica el APS con su identificador igual a aps_id[0], y obtiene los parámetros de la herramienta de codificación del APS para las herramientas de codificación a nivel de imagen.
Paso 2202: el decodificador inicializa una variable: i:=1.
Paso 2203: si se cumple i<number_valid_aps, se ejecuta el Paso 2204; de lo contrario, el proceso actual finaliza.
Paso 2204: el decodificador decodifica el APS con su identificador igual a aps_id[i], y determina el modo de sobrescritura del APS de acuerdo con abs(aps_id[i]-aps_id[i-1]).
Paso 2205: el decodificador sobrescribe los parámetros de la herramienta de codificación previamente determinados correspondientes con los parámetros de la herramienta de codificación en el APS con su identificador igual a aps_id[i], de acuerdo con el modo de sobrescritura del APS determinado.
Paso 2206: el decodificador actualiza la variable: i:=i+1. Luego, se ejecuta el Paso 2203.
En consecuencia, el proceso mediante el cual el codificador codifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 23, puede incluir los siguientes pasos.
Paso 2301 es completamente idéntico al Paso 1901.
Paso 2302 es completamente idéntico al Paso 1902.
Paso 2303: si el segmento actual usa una herramienta de codificación a nivel de imagen, y los parámetros de la herramienta de codificación a nivel de imagen son idénticos a los parámetros de la herramienta de codificación de la misma herramienta de codificación a nivel de imagen que ya están contenidos en un APS existente, se ejecuta el Paso 2304; en caso contrario, se ejecuta el Paso 2305.
Paso 2304: el codificador escribe el valor del identificador del APS existente en el encabezado del segmento; luego se ejecuta el Paso 2306.
Si el codificador detecta un APS existente en el cual los parámetros de las herramientas de codificación a nivel de imagen son completamente idénticos a los parámetros de herramienta de todas las herramientas de codificación a nivel de imagen utilizadas para el segmento actual, el codificador establece el valor de number_valid_aps en 1 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits utilizando el método de codificación correspondiente a u(v), adquiere el valor del identificador del APS en el cual los parámetros correspondientes de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación utilizados para el segmento actual, asigna el valor del identificador de APS a aps_id[0] en la estructura de datos a nivel de segmento, y escribe el valor de aps_id[0] en el flujo de bits usando el método de codificación correspondiente a ue(v).
Si hay un APS existente en el cual los parámetros de la herramienta de codificación SAO son idénticos a los parámetros de la herramienta de codificación SAO utilizados para el segmento actual y un APS existente en el cual los parámetros de la herramienta de codificación ALF son idénticos a los parámetros del herramienta de codificación ALF utilizada para el segmento actual, y la relación entre los identificadores de los dos APSs satisface exactamente la necesidad de realizar el modo de sobrescritura de APS deseado, luego, el codificador establece el valor del number_valid_aps en 2 en la estructura de datos a nivel de segmento, escribe el valor de number_valid_aps en el flujo de bits usando el método correspondiente a u(v), asigna los valores de los identificadores de los dos APSs a aps_id[0] y aps_id[1] respectivamente, y escribe los valores de aps_id [0] y aps_id[1] en el flujo de bits usando el método de codificación correspondiente a ue(v).
Si hay un APS existente en el cual los parámetros de la herramienta de codificación SAO son idénticos a los parámetros de la herramienta de codificación SAO utilizada para el segmento actual y un APS existente en el cual los parámetros de la herramienta de codificación ALF son idénticos a los parámetros de la herramienta de codificación ALF utilizada para el segmento actual, pero la relación entre los identificadores de los dos APSs no satisface la necesidad de realizar el modo de sobrescritura de APS deseado, entonces, el codificador establece el valor de number_valid_aps en 2, asigna el identificador del APS que consume más bits a aps_id[0], genera un nuevo APS y codifica en este nuevo APS los parámetros de la herramienta de codificación de la otra herramienta de codificación a nivel de imagen, asigna un identificador a este APS de acuerdo con la necesidad de realizar el modo de sobrescritura de APS deseado, asigna el valor del identificador a aps_id[1], escribe el valor de number_valid_aps en el flujo de bits usando el método de codificación correspondiente a u(v), y escribe el valores de aps_id[0] y aps_id[1] en el flujo de bits utilizando el método de codificación correspondiente a ue(v).
En el proceso de escribir los identificadores de múltiples APSs en el flujo de bits del encabezado del segmento, el codificador debe garantizar que, a través de los múltiples APSs configurados, el decodificador en este ejemplo pueda obtener correctamente los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizando el método de decodificación de flujo de bits multi-APS y el modo de sobrescritura APS definido.
Paso 2305: el codificador genera un nuevo APS, asigna un identificador al nuevo APS, y escribe el identificador del nuevo APS y el modo de sobrescritura multi-APSs en el encabezado del segmento; luego, se ejecuta el Paso 2306.
Paso 2306: el codificador escribe otros datos de codificación del segmento en el flujo de bits. El proceso de codificación del segmento finaliza.
La implementación de generar un nuevo APS en el Paso 2305, como se muestra en la Figura 24, puede incluir los siguientes pasos.
El proceso de una implementación del Paso 2305 se muestra en la Figura 24.
Paso 2401 es completamente idéntico al Paso 601.
Paso 2402 es completamente idéntico al Paso 602.
Paso 2403: si el codificador utiliza sólo una herramienta de codificación a nivel de imagen de SAO o ALF en el proceso de codificación del segmento actual, se ejecuta el Paso 2404; si el codificador utiliza ambas herramientas de codificación a nivel de imagen de SAO y ALF en el proceso de codificación del segmento actual, se ejecuta el Paso 2405.
Paso 2404 es completamente idéntico al Paso 604.
Paso 2405: el codificador determina si existe un APS, en el cual los parámetros de la herramienta de codificación correspondientes son idénticos a los parámetros de la herramienta de codificación SAO o los parámetros de la herramienta de codificación ALF usados para el segmento actual; si es así, se ejecuta el Paso 2406; en caso contrario, se ejecuta el Paso 2410.
Paso 2406: el codificador determina el modo de sobrescritura de APS, y determina los identificadores candidatos del nuevo APS de acuerdo con el modo de sobrescritura de APS.
Paso 2407: el codificador juzga si se han asignado los identificadores candidatos determinados del nuevo APS; si es así, se ejecuta el Paso 2410; en caso contrario, se ejecuta el Paso 2408.
Paso 2408: el codificador selecciona un identificador de APS candidato disponible, genera un nuevo APS para los parámetros de herramienta de la otra herramienta de codificación, y asigna el valor del identificador del APS generado a aps_id[1].
Paso 2409: el codificador establece el number_valid_aps en 2 en la estructura de datos a nivel de segmento y escribe number_valid_aps en el flujo de bits usando un método correspondiente a u(v), asigna el valor del identificador del APS que tiene los mismos parámetros de herramienta a aps_id[0], y escribe aps_id[0] y aps [1] en el flujo de bits utilizando el método de codificación correspondiente a ue(v). Finaliza el proceso actual.
Paso 2410: el módulo de optimización del codificador determina si es necesario usar, en el proceso de codificación de segmentos posteriores, por separado el SAO o ALF que tiene los mismos parámetros de herramienta de codificación que el SAO o ALF usado para el segmento actual, si es así, se ejecuta el Paso 2411; en caso contrario, se ejecuta el Paso 2414.
Paso 2411: el codificador determina el modo de sobrescritura de los APSs que contienen los parámetros de herramienta de una herramienta de codificación a nivel de imagen, y determina los identificadores candidatos de los dos APSs de acuerdo con el modo de sobrescritura.
Paso 2412: el codificador determina si los identificadores candidatos del nuevo APS no han sido asignados a un APS existente; de ser así, se ejecuta el Paso 2413; en caso contrario, se ejecuta el Paso 2414.
Paso 2413: el codificador establece number_valid_aps en 2 en la estructura de datos a nivel de segmento, escribe el number_valid_aps en el flujo de bits utilizando el método correspondiente a u(v), genera dos APSs para SAO y ALF respectivamente, asigna identificadores candidatos disponibles a los dos APSs, asigna valores a aps_id[0] y aps_id[1] respectivamente, y escribe aps_id[0] y aps_id[1] en el flujo de bits usando el método de codificación correspondiente a ue(v). Finaliza el proceso actual.
Paso 2414 es completamente idéntico al Paso 609.
Ejemplo 7
En este ejemplo se describe en detalle la implementación de codificar/decodificar un flujo de bits multi-APS a nivel de segmento usando una herramienta de codificación a nivel de imagen y un módulo de control común a nivel de imagen o de segmento.
La estructura del flujo de bits APS utilizada en este ejemplo es la que se muestra en la Tabla 9.
Tabla 9
En la Tabla 9, el elemento de sintaxis aps_common_management_module_data_present_flag indica la categoría de los parámetros de la herramienta de codificación contenidos en un APS. Cuando el valor es igual a 1, los datos contenidos en el APS se refieren a los parámetros de la herramienta de codificación de las herramientas de codificación relacionadas con el módulo de control común a nivel de imagen o a nivel de segmento, en donde los parámetros de la herramienta de codificación incluyen indicadores y parámetros de operación, y los parámetros de la herramienta de codificación están contenidos en la estructura de datos de common_management_module_data(). Cuando el valor es igual a 0, los datos contenidos en el APS se refieren a los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen, en donde los parámetros de la herramienta de codificación incluyen indicadores de Encendido/Apagado y parámetros de operación, y los parámetros de la herramienta de codificación están contenidos en la estructura de datos de picture_level_coding_tool_data().
La estructura de datos picture_level_coding_tool_data() puede ser idéntica a la estructura de datos de los parámetros de la herramienta de codificación utilizados por el APS mencionado en el Ejemplo 1 al Ejemplo 6; la estructura de datos common_management_module_data() puede ser similar a la estructura de datos de los parámetros de la herramienta de codificación utilizados por el APS mencionado en el Ejemplo 1 al Ejemplo 6; por lo tanto, no se necesita ninguna descripción adicional en el presente documento.
Con base en la estructura de flujo de bits APS que se muestra en la Figura 9, el proceso de decodificación correspondiente, como se muestra en la Figura 25, puede incluir los siguientes pasos.
Paso 2501: el decodificador lee el flujo de bits de APS, y analiza el flujo de bits de APS para obtener el valor del elemento de sintaxis aps_common_management_module_data_present_flag usando el método de decodificación correspondiente a u(1).
Paso 2502: si el valor de aps_common_management_module_data_present_flag es igual a 1, se ejecuta el Paso 2503; si el valor de aps_common_management_module_data_present_flag es igual a 0, se ejecuta el Paso 2504.
Paso 2503: el decodificador lee el flujo de bits APS, y obtiene el valor de cada elemento de sintaxis de acuerdo con el método de decodificación correspondiente al elemento de sintaxis relevante del módulo de control común a nivel de imagen o de segmento. El proceso de decodificación actual finaliza.
Paso 2504: el decodificador lee el flujo de bits APS, y obtiene el valor de cada elemento de sintaxis de acuerdo con el método de decodificación correspondiente al elemento de sintaxis relevante de las herramientas de codificación a nivel de imagen. El proceso de decodificación actual finaliza.
Con base en la estructura de flujo de bits APS que se muestra en la Figura 9, el proceso de codificación correspondiente, como se muestra en la Figura 26, puede incluir los siguientes pasos.
Paso 2601: el módulo de optimización del codificador determina los parámetros de las herramientas de codificación utilizadas en el proceso de codificación del segmento actual.
El módulo de optimización del codificador está configurado para determinar las herramientas de codificación y los parámetros de la herramienta de codificación utilizados en el proceso de codificación de la unidad de codificación actual, por ejemplo, el módulo de optimización de distorsión de velocidad existente.
Paso 2602: el codificador escribe la información del módulo de gestión común a nivel de imagen o de segmento en el flujo de bits.
El codificador determina si la información del módulo de gestión común a nivel de imagen o de segmento utilizado actualmente es idéntica a la información relevante existente, o determina si la información del módulo de gestión común a nivel de imagen o de segmento utilizado actualmente se puede adquirir de un APS existente; si es así, el codificador no necesita codificar la información del módulo de gestión común a nivel de imagen o de segmento actualmente utilizado; de lo contrario, el codificador necesita codificar la información de la gestión común a nivel de imagen o de segmento actualmente utilizada.
Si el codificador necesita codificar la información del módulo de gestión común a nivel de imagen o de segmento actualmente utilizado, el codificador determina si es necesario escribir la información del módulo de gestión común a nivel de imagen o de segmento en el encabezado del segmento por separado; si es así, el codificador escribe la información del módulo de gestión común a nivel de imagen o de segmento en el encabezado del segmento actual por separado; en caso contrario, el codificador genera un nuevo APS, asigna un identificador de APS y codifica en este nuevo APS los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento.
Paso 2603: el codificador escribe los parámetros de la herramienta de codificación a nivel de imagen en el flujo de bits.
El codificador determina si los parámetros de la herramienta de codificación a nivel de imagen utilizados actualmente son idénticos a la información relevante existente, o determina si la información del módulo de gestión común a nivel de imagen o de segmento actualmente utilizada se puede adquirir de un APS existente; de ser así, el codificador no necesita codificar los parámetros de la herramienta a nivel de imagen utilizados actualmente; de lo contrario, el codificador debe codificar los parámetros de la herramienta a nivel de imagen utilizados actualmente.
Si el codificador necesita codificar los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizados actualmente, el codificador genera un nuevo APS, asigna un identificador de APS y codifica en este nuevo APS los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen.
Este ejemplo permite que un segmento haga referencia a los parámetros de la herramienta de codificación proporcionados en múltiples APSs. El método de indicación de múltiples APSs en el encabezado del segmento se muestra en la Tabla 10. Este ejemplo señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en las líneas 10 a 16 de la Tabla 10.
Tabla 10
En la Tabla 10, aps_id indica el identificador del APS al que se hace referencia en el proceso de decodificación del segmento actual. El decodificador configura las herramientas de codificación a nivel de imagen utilizadas en el proceso de decodificación del segmento actual, utilizando los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen en el APS con su identificador igual a aps_id.
En la Tabla 10, referring_to_aps_flag indica el origen de los parámetros de la herramienta de codificación utilizados para configurar el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de decodificación del segmento actual. Cuando el valor de referring_to_aps_flag es igual a 1, el decodificador configura el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de decodificación del segmento actual con los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en el APS; cuando el valor de referring_to_aps_flag es igual a 0, el decodificador configura el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de decodificación del segmento actual con los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en el encabezado del segmento, es decir, los parámetros contenidos en la estructura de datos common_management_module_data() en el encabezado del segmento.
En la Tabla 10, aps_id_management_module indica el identificador del APS aplicado al proceso de decodificación del segmento actual. El decodificador configura el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de decodificación del segmento actual, utilizando los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen en el APS con su identificador igual a aps_id_management_module.
En correspondencia con la Tabla 10, el proceso en donde el decodificador decodifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 27, puede incluir los siguientes pasos.
Paso 2701 es completamente idéntico al Paso 201.
Paso 2702: el decodificador determina si el valor de (sample_adaptive_offset_enabled_flag || adaptive_loop_filter_enabled_flag) es VERDADERO; si es VERDADERO, se ejecuta el Paso 2703; si es FALSO, se ejecuta el Paso 2704.
Paso 2703: el decodificador analiza el encabezado del segmento y obtiene el valor de aps_id usando el método de decodificación correspondiente a u(v), y configura las herramientas de codificación a nivel de imagen utilizadas en el proceso de decodificar el segmento actual con los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen en el APS con su identificador igual a aps_id. Luego, se ejecuta el Paso 2704.
Paso 2704: el decodificador analiza el encabezado del segmento y obtiene el valor de referring_to_aps_flag usando el método de decodificación correspondiente a u(1).
Paso 2705: el decodificador determina si el valor de referring_to_aps_flag es igual a 1; si es igual a 1, se ejecuta el Paso 2706; si es igual a 0, se ejecuta el Paso 2707.
Paso 2706: el decodificador analiza el encabezado del segmento y obtiene el valor de aps_id_management_module usando el método de decodificación correspondiente a ue(v), y configura el módulo de gestión común a nivel de imagen o de segmento usado en el proceso de decodificar el segmento actual a los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en el APS con su identificador igual a aps_id_management_module. Luego, se ejecuta el Paso 2708.
Paso 2707: el decodificador analiza los datos del common_management_module_data() en el encabezado del segmento, y configura el módulo de gestión común a nivel de imagen o a nivel de segmento usado en el proceso de decodificar el segmento actual a los valores de los elementos de sintaxis correspondientes en la estructura de datos common_management_module_data(). Luego, se ejecuta el Paso 2708.
Paso 2708: finaliza el proceso de decodificación del flujo de bits multi-APS a nivel de segmento; el decodificador continúa decodificando otros elementos de sintaxis en el encabezado del segmento.
En consecuencia, el proceso por el cual el codificador codifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 28, puede incluir los siguientes pasos.
Paso 2801 es completamente idéntico al Paso 501.
Paso 2802 es completamente idéntico al Paso 502.
Paso 2803: si los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizadas para el segmento actual son completamente idénticos a los parámetros de la herramienta de codificación de las mismas herramientas de codificación a nivel de imagen que ya están contenidas en un APS existente, se ejecuta el Paso 2804; en caso contrario, se ejecuta el Paso 2805.
Paso 2804: el codificador adquiere el identificador del APS en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación utilizados para el segmento actual, asigna el valor del identificador de APS a aps_id[0] en la estructura de datos a nivel de segmento, y escribe el valor de aps_id[0] en el flujo de bits utilizando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 2806.
Paso 2805: el codificador genera un nuevo APS, asigna un identificador al nuevo APS, y codifica en el nuevo APS los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizadas para el segmento actual, asigna el valor del identificador del nuevo APS a aps_id[0] en la estructura de datos a nivel de segmento, y escribe el valor de aps_id[0] en el flujo de bits utilizando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 2806.
Paso 2806: el codificador determina si es necesario codificar los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento con referencia a un APS; si es así, se ejecuta el Paso 2807; en caso contrario, se ejecuta el Paso 2811.
En una aplicación práctica, el codificador puede escribir directamente los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento utilizados para codificar el segmento actual en la estructura de datos del encabezado del segmento common_management_module_data(), también puede escribir los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento utilizados para codificar el segmento actual en la estructura de datos del encabezado del segmento common_management_module_data() con referencia a un APS.
Paso 2807: el codificador establece el valor del elemento de sintaxis a nivel de segmento referring_to_aps_flag en 1, y escribe el valor de referring_aps_flag en el flujo de bits usando el método de codificación correspondiente a u(1). Luego, se ejecuta el Paso 2808.
Paso 2808: si los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento usado para codificar el segmento actual son completamente idénticos a los parámetros de la herramienta de codificación correspondientes que ya están contenidos en un APS existente, se ejecuta el Paso 2809; en caso contrario, se ejecuta el Paso 2810.
Paso 2809: el codificador adquiere el valor de identificador del APS en el cual los parámetros de la herramienta de codificación correspondientes son idénticos a los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento para el segmento actual, asigna el valor de identificador de APS en aps_id_management_module en la estructura de datos a nivel de segmento, y escribe el valor de aps_id_management_module en el flujo de bits usando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 2812.
Paso 2810: el codificador genera un nuevo APS, codifica en este nuevo APS los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento para el segmento actual, asigna un identificador al nuevo APS, asigna el valor de identificador del APS a aps_id_management_module en la estructura de datos a nivel de segmento, y escribe el valor de aps_id_management_module en el flujo de bits utilizando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 2812.
Paso 2811: el codificador establece el valor del elemento de sintaxis de segmento que hace referring_to_aps_flag en 0, y escribe el valor de referring_to_aps_flag en el flujo de bits usando el método de codificación correspondiente a u(1), asigna los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento para el segmento actual a los elementos de sintaxis correspondientes en la estructura de datos de nivel de segmento common_management_module_data(), y escribe los valores de los elementos de sintaxis en el flujo de bits utilizando la codificación métodos correspondientes a los elementos de sintaxis en la estructura de datos common_management_module_data(). Luego, se ejecuta el Paso 2812.
Paso 2812: finaliza el proceso de codificación de múltiples APSs del segmento. El codificador continúa codificando otro encabezado de segmento.
Ejemplo 8
En este ejemplo se describe en detalle la implementación de codificar/decodificar un flujo de bits multi-APS a nivel de segmento usando una herramienta de codificación a nivel de imagen y un módulo de control común a nivel de imagen o de segmento.
La estructura de flujo de bits APS utilizada en este ejemplo es como se muestra en la Tabla 9 del Ejemplo 7.
Este ejemplo permite que un segmento haga referencia a los parámetros de la herramienta de codificación proporcionados en múltiples APS; el método de indicación de múltiples APSs en el encabezado del segmento es como se muestra en la Tabla 11; este ejemplo señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en las líneas 6 a 8 que se muestran en la Tabla 11.
Tabla 11
En la Tabla 11, picture_level_coding_tools_APS_data() es la estructura de la estructura de flujo de bits multi-APS a nivel de segmento para las herramientas de codificación a nivel de imagen. Esta estructura de flujo de bits puede utilizar la estructura de flujo de bits multi-APS a nivel de segmento descrita en el Ejemplo 1 al Ejemplo 6 en esta especificación. En la Tabla 11, common_management_module_APS() es la estructura de la estructura de flujo de bits multi-APS a nivel de segmento para el módulo de gestión común a nivel de imagen o a nivel de segmento, y la estructura específica es como se muestra en la Tabla 12.
Tabla 12
En la Tabla 12, el número valid_aps_management_module indica el número de APSs a los que hace referencia el segmento actual para decodificar los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento, y el valor toma un número entero en el rango de [0, MaxNumberValidApsManagementmodule]. Si el elemento de sintaxis number_valid_apsmanagement_module no está presente en el flujo de bits, se infiere que su valor es 0. El límite superior MaxNumberValidApsManagementmodule de number_valid_aps_management_module se puede determinar de acuerdo con el número de herramientas disponibles del módulo de gestión común a nivel de imagen o de segmento en perfil/nivel.
Cuando el valor de number_valid_aps_management_module es igual a 0, el decodificador no adquiere los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento con referencia a un APS.
En la Tabla 12, aps_id_management_module[i] indica el identificador del APS al que hace referencia el segmento actual para decodificar los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento, en donde i es un número entero en el rango de [0, number_valid_aps_management_module-1].
La Tabla 11 puede implementar el flujo de bits multi-APS a nivel de segmento relevante del módulo de gestión común a nivel de imagen o a nivel de segmento utilizando un método similar al del Ejemplo 1 al Ejemplo 6.
En este ejemplo, los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento no aparecen en un mismo APS; por lo tanto, el proceso de codificación y decodificación de un flujo de bits multi-APS a nivel de segmento en este ejemplo se puede deducir directamente del proceso de codificación y decodificación de un flujo de bits multi-APS a nivel de segmento descrito en el Ejemplo 1 al Ejemplo 6, y no se necesita más descripción en el presente documento.
El codificador puede determinar si es necesario codificar en el encabezado del segmento los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento usados para codificar el segmento actual, usando el método descrito en el Ejemplo 7; si es necesario, el codificador establece el valor del elemento de sintaxis number_valid_aps_management_module en el encabezado del segmento en 0, asigna los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento a los elementos de sintaxis correspondientes en la estructura de datos common_management_module_data(), escribe los valores de cada elemento de sintaxis en el flujo de bits usando los métodos de codificación correspondientes a los elementos de sintaxis; si no es necesario, el codificador determina el número de APSs a los que se hará referencia usando el método descrito en el Ejemplo 1 al Ejemplo 6, asigna el valor al elemento de sintaxis number_valid_aps_management_module, y codifica los valores de identificador de los APSs usados.
Ejemplo 9
En este ejemplo se describe en detalle la implementación de codificar/decodificar un flujo de bits multi-APS a nivel de segmento usando una herramienta de codificación a nivel de imagen y un módulo de control común a nivel de imagen o de segmento.
La estructura del flujo de bits APS utilizada en este ejemplo se muestra en la Tabla 13.
Tabla 13
En la Tabla 13, tool_A y tool_B se refieren a una herramienta de codificación a nivel de imagen, por ejemplo, SAO y ALF.
Las implicaciones de aps_tool_A_flag y aps_tool_B_flag pueden ser similares al indicador SAO Encendido/Apagado aps_sample_adaptive_offset_flag y al indicador ALF Encendido/Apagado aps_adaptive_loop_filter_flag en la Tabla 1 en el Ejemplo 1. Aps_tool_A_flag se puede definir como el indicador Encendido/Apagado de la herramienta A. Cuando el valor de aps_tool_A_flag es igual a 1, la herramienta A se utiliza en el proceso de decodificación del segmento y los parámetros de la herramienta de codificación de la herramienta A se proporcionan en este APS; cuando el valor de aps_tool_A_flag es igual a 0, la herramienta A no se utiliza en el proceso de decodificación del segmento y el APS actual no contiene los parámetros de la herramienta A. Aps_tool_B_flag se puede definir como el indicador de Encendido/Apagado de la herramienta B. Cuando el valor de aps_tool_B_flag es igual a 1, la herramienta B se utiliza en el proceso de decodificación del segmento y los parámetros de la herramienta de codificación de la herramienta B se proporcionan en este APS; cuando el valor de aps_tool_B_flag es igual a 0, la herramienta B no se utiliza en el proceso de decodificación del segmento y el APS actual no contiene los parámetros de la herramienta B.
Las implicaciones de aps_tool_A_flag y de aps_tool_B_flag también pueden ser similares a las implicaciones de aps_sample_adaptive_offset_data_present_flag y aps_adaptive_loop_filter_data_present_flag en la Tabla 4 en la Realización 1. El aps_tool_A_flag se puede definir para indicar si el APS actual incluye los parámetros de la herramienta de codificación de la herramienta A; cuando el valor de aps_tool_A_flag es igual a 1, el APS actual incluye parte o todos los parámetros de la herramienta de codificación de la herramienta A; cuando el valor de aps_tool_A_flag es igual a 0, el APS actual no contiene los parámetros de la herramienta de codificación de la herramienta A. El aps_tool_B_flag se puede definir para indicar si el APS actual incluye los parámetros de la herramienta de codificación de la herramienta B; cuando el valor de aps_tool_B_flag es igual a 1, el<a>P<s>actual incluye parte o todos los parámetros de la herramienta de codificación de la herramienta B; cuando el valor de aps_tool_B_flag es igual a 0, el APS actual no contiene los parámetros de la herramienta de codificación de la herramienta B.
La estructura de datos tool_A_param() incluye parte o todos los parámetros de la herramienta de codificación de la herramienta A; la estructura de datos tool_B_param() incluye parte o todos los parámetros de la herramienta de codificación de la herramienta B.
En la Tabla 13, aps_common_management_module_data_present_flag indica si el APS incluye los parámetros de la herramienta de codificación del módulo de control común a nivel de imagen o a nivel de segmento; cuando el valor de aps_common_management_module_data_present_flag es igual a 1, el APS incluye los parámetros de la herramienta de codificación del módulo de control común a nivel de imagen o a nivel de segmento, y los parámetros de la herramienta de codificación están contenidos en la estructura de datos de common_management_module_data().
Cuando el valor de aps_common_management_module_data_present_flag es igual a 0, el APS no contiene los parámetros de la herramienta de codificación del módulo de control común a nivel de imagen o de segmento. Aquí, la estructura de datos de common_management_module_data() incluye parte o todos los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento.
Con base en la Línea 9 a la Línea 15 de la Tabla 13, se puede ver que la estructura de flujo de bits del APS utilizada en este ejemplo permite que el APS contenga los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento simultáneamente.
Este ejemplo permite que un segmento haga referencia a los parámetros de la herramienta de codificación proporcionados en múltiples APSs. El método de indicación de múltiples APSs en el encabezado del segmento se muestra en la Tabla 14. Este ejemplo señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en la Línea 8, Línea 11 a Línea 19 en la Tabla 14.
Tabla 14
En la Tabla 14, referred_by_management_module indica si los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento utilizados en el proceso de codificación/decodificación del segmento actual se obtienen de un mismo APS; cuando el valor de referred_by_management_module es igual a 1, indica que los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento utilizados en el proceso de codificación/decodificación del segmento actual se obtiene de un mismo APS; cuando el valor de referred_by_management_module es igual a 0, indica que los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento utilizados en el proceso de codificación/decodificación del segmento actual proviene de diferentes APS. Si el referred_by_management_module no está presente en el flujo de bits (es decir, ambos valores de sample_adaptive_offset_enabled_flag y adaptive_loop_filter_enabled_flag son iguales a 0), se infiere que su valor es 0.
En la Tabla 14, aps_id indica el identificador del APS al que hace referencia el segmento actual para determinar las herramientas de codificación a nivel de imagen utilizadas en el proceso de codificación/decodificación del segmento actual, es decir, las herramientas de codificación a nivel de imagen utilizadas en el proceso de codificación/decodificación del segmento actual están configuradas para usar los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen en el APS con su identificador igual a aps_id.
Cuando el valor de referring_to_aps_flag es igual a 1, el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de codificación/decodificación del segmento actual se configura para usar los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en el APS; cuando el valor de referring_to_aps_flag es igual a 0, el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de codificación/decodificación del segmento actual se configura para usar los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en el encabezado del segmento (es decir, los parámetros contenidos en la estructura de datos de common_management_module_data()).
En la Tabla 14, aps_id_management_module indica el identificador del APS al que hace referencia el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de codificación/decodificación del segmento actual. El módulo de gestión común a nivel de imagen o a nivel de segmento utilizado en el proceso de codificación/decodificación del segmento actual está configurado para utilizar los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento en el APS con su identificador igual a aps_id_management_module.
En correspondencia con la Tabla 14, el proceso en donde el decodificador decodifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 29, puede incluir los siguientes pasos.
Paso 2901: el decodificador lee un flujo de bits SPS al que hace referencia el segmento actual.
Paso 2902: el decodificador analiza el flujo de bits SPS al que hace referencia el segmento actual, obtiene los valores de sample_adaptive_offset_enabled_flag y el adaptive_loop_filter_enabled_flag usando el método de decodificación correspondiente a u(1).
Paso 2903: el decodificador determina si el valor de (sample_adaptive_offset_enabled_flag || adaptive_loop_filter_enabled_flag) es VERDADERO; si es VERDADERO, se ejecuta el Paso 2904; si es FALSO, se ejecuta el Paso 2905.
Paso 2904: el decodificador analiza el encabezado del segmento, obtiene el valor de aps_id usando el método de decodificación correspondiente a u(v), y obtiene el valor del indicador referred_by_management_module usando el método de decodificación correspondiente a u(1); si el valor de referred_by_management_module es igual a 1, el decodificador configura las herramientas de codificación a nivel de imagen y el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de decodificación del segmento actual para utilizar los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en el APS con su identificador igual a aps_id; si el valor de referred_by_management_module es igual a 0, el decodificador solo configura las herramientas de codificación a nivel de imagen utilizadas en el proceso de decodificación del segmento actual para usar los parámetros de las herramientas de codificación a nivel de imagen en el APS con su identificador igual a aps_id. Luego, se ejecuta el Paso 2905.
Paso 2905: el decodificador determina si el valor de referred_by_management_module es igual a 0, si es así, se ejecuta el Paso 2906; si el valor de referred_by_management_module es igual a 1, se ejecuta el Paso 2910.
Paso 2906: el decodificador analiza el encabezado del segmento, y obtiene el valor de referring_to_aps_flag usando el método de decodificación correspondiente a u(1).
Paso 2907: el decodificador determina si el valor de referring_to_aps_flag es igual a 1; si es así, se ejecuta el Paso 2908; en caso contrario, se ejecuta el Paso 2909.
Paso 2908: el decodificador analiza el encabezado del segmento, obtiene el valor de aps_id_management_module usando el método de decodificación correspondiente a ue(v), y configura el módulo de gestión común a nivel de imagen o de segmento usado en el proceso de decodificación del segmento actual para usar los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en el APS con su identificador igual a aps_id_management_module. Luego, se ejecuta el Paso 2910.
Paso 2909: el decodificador analiza los datos del common_management_module_data() en el encabezado del segmento, y configura el módulo de gestión común a nivel de imagen o de segmento utilizado en el proceso de decodificación del segmento actual para usar el valor de los elementos de sintaxis en la estructura de datos de common_management_module_data(). Luego, se ejecuta el Paso 2910.
Paso 2910: finaliza el proceso de decodificación del flujo de bits multi-APS a nivel de segmento; el decodificador continúa analizando otros elementos de sintaxis en el encabezado del segmento.
En consecuencia, el proceso mediante el cual el codificador codifica un flujo de bits multi-APS a nivel de segmento en este ejemplo, como se muestra en la Figura 30, puede incluir los siguientes pasos.
Paso 3001 es completamente idéntico al Paso 501.
Paso 3002 es completamente idéntico al Paso 502.
Paso 3003: el módulo de optimización del codificador determina el valor de referred_by_management_module, de acuerdo con los requisitos de codificación de los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento en un mismo APS.
Cuando ambos valores de sample_adaptive_offset_enabled_flag y adaptive_loop_filter_enabled_flag son iguales a 0, el codificador establece el valor de referred_by_management_module en 0.
Cuando el codificador no necesita escribir los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento utilizado para el segmento actual en la estructura de datos del encabezado del segmento common_management_module_data() con referencia a un APS, el codificador establece el valor de referred_by_management_module a 0.
Cuando el módulo de optimización del codificador determina que es necesario utilizar el APS anterior en los segmentos posteriores, el codificador escribe los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento en un mismo APS, y establece el valor de referred_by_management_module en 1.
Cuando el módulo de optimización del codificador determina que es necesario utilizar los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en diferentes APSs en el proceso de codificación de los segmentos posteriores, o que es necesario utilizar sólo los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen o sólo los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento en el proceso de codificación de los segmentos posteriores, el codificador escribe los parámetros de la herramienta de codificación de la herramienta de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento en dos APSs diferentes, y establece el valor de referred_by_management_module en 0.
Paso 3004: si el codificador determina que el valor de referred_by_management_module es igual a 1, se ejecuta el Paso 3005; en caso contrario, se ejecuta el Paso 3008.
Paso 3005: si los parámetros de la herramienta de codificación de las herramientas de codificación utilizadas para codificar el segmento actual son completamente idénticos a los parámetros de la herramienta de codificación de las mismas herramientas de codificación que ya están contenidas en un APS existente, se ejecuta el Paso 3006; en caso contrario, se ejecuta el Paso 3007.
Paso 3006: el codificador adquiere el valor del identificador del APS en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación usados para el segmento actual, asigna el valor del identificador del APS al aps_id en la estructura de datos a nivel de segmento, y escribe el valor de aps_id en el flujo de bits usando el método de codificación correspondiente a ue(v), y escribe el referred_by_management_module (el valor es 1 en este momento) en el flujo de bits usando el método de codificación correspondiente a u(1). Luego, se ejecuta el Paso 3017.
Paso 3007: el codificador genera un nuevo APS, codifica en este nuevo APS los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento para el segmento actual, asigna un identificador al nuevo APS, asigna el valor del identificador del nuevo APS a aps_id en la estructura de datos a nivel de segmento, escribe el valor de aps_id en el flujo de bits usando el método de codificación correspondiente a ue(v), y escribe el referred_by_management_module (el valor es 1 en este momento) en el flujo de bits usando el método de codificación correspondiente a u(1). Luego, se ejecuta el Paso 3017.
Paso 3008: si los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizadas para el segmento actual son idénticos a los parámetros de la herramienta de codificación de las mismas herramientas de codificación a nivel de imagen que ya están contenidas en un APS existente, se ejecuta el Paso 3009; en caso contrario, se ejecuta el Paso 3010.
Paso 3009: el codificador adquiere el valor de identificador del APS en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen para codificar el segmento actual, asigna el valor del identificador de APS al aps_id en la estructura de datos a nivel de segmento, y escribe el valor de aps_id en el flujo de bits usando el método de codificación correspondiente a ue(v), y escribe el referred_by_management_module (el valor es 0 en este momento) en el flujo de bits usando el método de codificación correspondiente a u(1). Luego, se ejecuta el Paso 3011.
Paso 3010: el codificador genera un nuevo APS, codifica en este nuevo APS los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen utilizadas para el segmento actual, asigna un identificador al nuevo APS, asigna el valor de identificador del nuevo APS al aps_id en la estructura de datos a nivel de segmento, escribe el valor de aps_id en el flujo de bits usando el método de codificación correspondiente a ue(v), y escribe el referred_by_management_module (el valor es 0 en este momento) en el flujo de bits usando el método de codificación correspondiente a u(1). Luego, se ejecuta el Paso 3011.
Paso 3011: el codificador determina si puede codificar los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento con referencia a un APS; si es así, se ejecuta el Paso 3012; en caso contrario, se ejecuta el Paso 3016.
Paso 3012: el codificador establece el valor del elemento de sintaxis de segmento referring_to_aps_flag en 1, y escribe el valor de referring_to_aps_flag en el flujo de bits usando el método de codificación correspondiente a u(1); luego, se ejecuta el Paso 3013.
Paso 3013: si los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento para codificar el segmento actual son completamente idénticos a los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento que ya están contenidos en un APS existente, se ejecuta el Paso 3014; en caso contrario, se ejecuta el Paso 3015.
Paso 3014: el codificador adquiere el valor de identificador del APS en el cual los parámetros de la herramienta de codificación son idénticos a los parámetros de la herramienta de codificación del nivel de imagen o del nivel de segmento módulo de gestión común para codificar el segmento actual, asigna el valor del identificador APS a aps_id_management_module en la estructura de datos a nivel de segmento, y escribe el valor de aps_id_management_module en el flujo de bits usando el método de codificación correspondiente a ue(v). Luego, se ejecuta el Paso 3017.
Paso 3015: el codificador genera un nuevo APS, codifica en este nuevo APS los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento para codificar el segmento actual, asigna un identificador al nuevo APS, asigna el valor de identificador del nuevo APS en aps_id_management_module en la estructura de datos a nivel de segmento, y escribe el valor de aps_id_management_module en el flujo de bits utilizando el método de codificación correspondiente a ue(v). Se ejecuta el Paso 3017.
Paso 3016: el codificador establece el valor del elemento de sintaxis de segmento referring_to_aps_flag en 0, escribe el valor de referring_to_aps_flag en el flujo de bits usando el método de codificación correspondiente a u(1), asigna los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento a los elementos de sintaxis correspondientes en la estructura de datos de nivel de segmento del common_management_module_data(), y escribe el valor de los elementos de sintaxis en el flujo de bits utilizando los métodos de codificación correspondientes a los elementos de sintaxis en common_management_module_data().
Paso 3017: finaliza el proceso de codificación de múltiples APSs del nivel de segmento; el codificador continúa codificando otra información de encabezado a nivel de segmento.
En este ejemplo, también es aplicable combinar la estructura de flujo de bits de APS que se muestra en la Tabla 13 con el método de indicación de múltiples APSs en el encabezado de segmento que se muestra en la Tabla 10 en el Ejemplo 7, para implementar la codificación y decodificación de múltiples APSs en el segmento. La implementación específica es similar al proceso que se muestra en la Figura 29 y la Figura 30, y no se necesita más descripción en el presente documento.
Ejemplo 10
En este ejemplo se describe en detalle la implementación de codificar/decodificar un flujo de bits multi-APS a nivel de segmento usando una herramienta de codificación a nivel de imagen y un módulo de control común a nivel de imagen o de segmento.
La estructura del flujo de bits APS utilizada en este ejemplo es idéntica a la que se muestra en la Tabla 13 del Ejemplo 9.
Este ejemplo permite que un segmento haga referencia a los parámetros de la herramienta de codificación proporcionados en múltiples APSs. El método de indicación de múltiples APSs en el encabezado del segmento se muestra en la Tabla 11. Este ejemplo señala la información de indicación de APS en el encabezado del segmento, específicamente como se muestra en la Líneas 10 a la Línea 16 de la Tabla 11.
El método para codificar y decodificar múltiples APSs a nivel de segmento en este ejemplo es similar al del Ejemplo 8; la diferencia radica en que el proceso de codificación/decodificación y referencia de los múltiples APSs del segmento utiliza un indicador de APS similar al del Ejemplo 9.
Además, este ejemplo también puede adoptar el método de indicación de múltiples APSs en el encabezado del segmento que se muestra en la Tabla 15; este ejemplo envía la información de indicación de APS al encabezado del segmento, específicamente como se muestra en la Línea 6 a la Línea 7 y en la Línea 9 a la Línea 11 en la Tabla 15.
Tabla 15
En la Tabla 15, referred_by_management_module tiene la misma implicación que en la Tabla 14.
Alternativamente, referred_by_management_module puede adoptar la misma estructura de flujo de bits que se muestra en la Tabla 14 en el Ejemplo 9, es decir, se codifica después del identificador APS en la estructura de datos de picture_level_coding_tools_APS_data() de las herramientas de codificación a nivel de imagen. Cuando se aprende de las indicadores de SPS que todas las herramientas de codificación a nivel de imagen no están permitidas en el proceso de codificación/decodificación, se infiere que el valor de referred_by_management_module es 0.
En el proceso de codificación y decodificación de múltiples APSs a nivel de segmento en este ejemplo, el método de análisis del flujo de bits, el método de establecimiento del valor del indicador y el método de control correspondiente del valor del indicador relacionado con el referred_by_management_module son idénticos a los del Ejemplo 9. Es decir, cuando el valor de referred_by_management_module es igual a 1, tanto los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen como los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o a nivel de segmento se proporcionan en la estructura de datos de picture_level_coding_tools_APS_data(); cuando el valor de referred_by_management_module es igual a 0, los parámetros de la herramienta de codificación de las herramientas de codificación a nivel de imagen se proporcionan en la estructura de datos de picture_level_codingtools_APS_data(), y los parámetros de la herramienta de codificación del módulo de gestión común a nivel de imagen o de segmento se proporcionan en la estructura de datos de common_management_module_APS_data().
En el proceso de codificación y decodificación de múltiples APSs a nivel de segmento en este ejemplo, los procesos de codificación y decodificación correspondientes dependiendo de los valores de picture_level_coding_tools_APS_data() y common_management_module_APS_data() son idénticos a los procesos relevantes en el Ejemplo 8.
En este ejemplo, el proceso de codificación y decodificación de múltiples APSs de la capa de segmento es similar al Ejemplo 9 y no se necesita más descripción en el presente documento.
Ejemplo 11
Este ejemplo proporciona un dispositivo electrónico, el cual incluye el dispositivo de decodificación y el dispositivo de codificación anteriores, en donde el dispositivo de decodificación puede implementar la decodificación de un flujo de bits multi-APS a nivel de segmento descrito en el Ejemplo 1 al Ejemplo 10, y el dispositivo de codificación puede implementar la codificación de un flujo de bits multi-APS a nivel de segmento descrito en el Ejemplo 1 al Ejemplo 10.
El dispositivo electrónico proporcionado por este ejemplo puede ser un dispositivo de generación relevante o un dispositivo de recepción y reproducción relevante de flujos de bits de aplicaciones de comunicación por vídeo, por ejemplo, teléfono celular, ordenador, servidor, decodificador, terminal móvil de portal, televisión digital, cámara digital, etc.
Cabe señalar que el método en donde el decodificador deduce los parámetros de la herramienta de codificación utilizados en el proceso de decodificación del segmento actual y el método de codificación de acuerdo con múltiples APSs a los que hace referencia el segmento descrito en el Ejemplo 1 al Ejemplo 6 también son aplicables a las herramientas de codificación a nivel de imagen y el módulo de control común a nivel de imagen o de segmento. El ejemplo correspondiente a tres o más herramientas de codificación en este ejemplo se puede deducir directamente de los ejemplos anteriores y no se necesita más descripción en el presente documento.

Claims (8)

REIVINDICACIONES
1. Un método para analizar un flujo de bits, realizado por un decodificador, que comprende:
analizar un encabezado de segmento de un segmento actual para obtener un identificador de un conjunto de parámetros que comprende información sobre las herramientas de codificación utilizadas para decodificar el segmento actual, en donde las herramientas de codificación incluyen una herramienta de codificación de filtro de bucle adaptativo o una herramienta de codificación de compensación adaptativa de muestra o una herramienta de predicción ponderada, en donde se habilita un conjunto de parámetros existente para decodificar el segmento actual;
decodificar el segmento actual sobrescribiendo los parámetros de la herramienta de codificación del conjunto de parámetros existente con diferentes parámetros de la herramienta de codificación obtenidos al analizar el conjunto de parámetros y utilizando los parámetros de la herramienta de codificación obtenidos mediante la sobrescritura con base en un indicador en el conjunto de parámetros para la herramienta de codificación en caso de que el indicador tenga un primer valor;
decodificar el segmento actual usando los parámetros de la herramienta de codificación del conjunto de parámetros existente en caso de que el indicador tenga un segundo valor;
en donde el conjunto de parámetros es una estructura de datos que contiene información común de las herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos.
2. El método de acuerdo con la reivindicación 1, en donde los parámetros de la herramienta de codificación incluyen parámetros de filtro utilizados durante la decodificación.
3. Un decodificador para analizar un flujo de bits, que comprende:
un módulo configurado para analizar un encabezado de segmento de un segmento actual para obtener un identificador de un conjunto de parámetros que comprende información sobre las herramientas de codificación utilizadas para decodificar el segmento actual, en donde las herramientas de codificación incluyen una herramienta de codificación de filtro de bucle adaptativo o una herramienta de codificación de desplazamiento adaptativo de muestra o una herramienta de predicción ponderada, en donde un conjunto de parámetros existente está habilitado para decodificar el segmento actual;
un módulo configurado para decodificar el segmento actual sobrescribiendo los parámetros de la herramienta de codificación del conjunto de parámetros existente con los parámetros de la herramienta de codificación obtenidos al analizar el conjunto de parámetros y utilizando los parámetros de la herramienta de codificación obtenidos mediante la sobrescritura con base en un indicador en el conjunto de parámetros para la herramienta de codificación en caso de que el indicador tenga un primer valor;
estando configurado además el módulo para decodificar el segmento actual usando los parámetros de la herramienta de codificación del conjunto de parámetros existente en caso de que el indicador tenga un segundo valor; en donde
el conjunto de parámetros es una estructura de datos que contiene información común de las herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos.
4. El decodificador de acuerdo con la reivindicación 3, en donde los parámetros de la herramienta de codificación incluyen parámetros de filtro utilizados durante la decodificación.
5. Un método para generar un flujo de bits, realizado por un codificador, que comprende:
codificar un encabezado de segmento de un segmento actual para incluir un identificador de un conjunto de parámetros que comprende información sobre las herramientas de codificación utilizadas para codificar el segmento actual, en donde las herramientas de codificación incluyen una herramienta de codificación de filtro de bucle adaptativo o una herramienta de codificación de compensación adaptativa de muestra o una herramienta de predicción ponderada, en donde se habilita un conjunto de parámetros existente para codificar el segmento actual;
codificar el segmento actual sobrescribiendo los parámetros de la herramienta de codificación del conjunto de parámetros existente con diferentes parámetros de codificación del conjunto de parámetros identificado en el encabezado del segmento y usando los parámetros de la herramienta de codificación utilizados para la sobrescritura con base en un indicador en el conjunto de parámetros para la herramienta de codificación en caso de que el indicador tenga un primer valor;
codificar el segmento actual usando los parámetros de la herramienta de codificación del conjunto de parámetros existente en caso de que el indicador tenga un segundo valor;
en donde el conjunto de parámetros es una estructura de datos que contiene información común de las herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos.
6. El método de acuerdo con la reivindicación 5, en donde los parámetros de la herramienta de codificación incluyen parámetros de filtro utilizados durante la decodificación.
7. Un codificador para generar un flujo de bits, que comprende:
un módulo configurado para codificar un encabezado de segmento de un segmento actual para incluir un identificador de un conjunto de parámetros que comprende información sobre las herramientas de codificación utilizadas para codificar el segmento actual, en donde las herramientas de codificación incluyen una herramienta de codificación de filtro de bucle adaptativo o una herramienta de codificación de compensación adaptativa de muestra o una herramienta de predicción ponderada, en donde un conjunto de parámetros existente está habilitado para codificar el segmento actual;
un módulo configurado para codificar el segmento actual sobrescribiendo los parámetros de la herramienta de codificación del conjunto de parámetros existente con diferentes parámetros de codificación del conjunto de parámetros identificado en el encabezado del segmento y usando los parámetros de la herramienta de codificación usados para la sobrescritura con base en un indicador en el conjunto de parámetros para la herramienta de codificación en caso de que el indicador tenga un primer valor y esté configurado para codificar el segmento actual usando los parámetros de la herramienta de codificación del conjunto de parámetros existente en caso de que el indicador tenga un segundo valor;
en donde el conjunto de parámetros es una estructura de datos que contiene información común de las herramientas de codificación utilizadas en el proceso de codificación/decodificación de uno o más segmentos.
8. El codificador de acuerdo con la reivindicación 7, en donde los parámetros de la herramienta de codificación incluyen los parámetros de filtro utilizados durante la decodificación.
ES18164289T 2011-11-01 2012-07-24 Método y dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento Active ES2962853T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110340195.0A CN103096047B (zh) 2011-11-01 2011-11-01 一种分片层参数集解码及编码方法和装置

Publications (1)

Publication Number Publication Date
ES2962853T3 true ES2962853T3 (es) 2024-03-21

Family

ID=48191286

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18164289T Active ES2962853T3 (es) 2011-11-01 2012-07-24 Método y dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento

Country Status (8)

Country Link
US (3) US10298946B2 (es)
EP (2) EP3407605B1 (es)
JP (1) JP6172536B2 (es)
KR (1) KR101600056B1 (es)
CN (1) CN103096047B (es)
ES (1) ES2962853T3 (es)
FI (1) FI3407605T3 (es)
WO (1) WO2013063962A1 (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686179B (zh) * 2012-09-26 2019-05-07 中兴通讯股份有限公司 使用参数集的编码、解码方法及装置、电子设备
CN103702126B (zh) * 2013-12-10 2017-01-18 清华大学深圳研究生院 一种基于视频标准hevc的并行编码优化方法
CN112887735B (zh) * 2014-01-03 2024-04-02 康普英国有限公司 用于hevc扩展处理的条件解析扩展语法
CN106105218B (zh) * 2014-10-08 2019-04-09 Lg电子株式会社 在3维视频编码中处理相机参数的方法
US10506244B2 (en) 2015-03-06 2019-12-10 Qualcomm Incorporated Method and apparatus for video coding using adaptive tile sizes
CN104809100A (zh) * 2015-04-02 2015-07-29 上海新时达电气股份有限公司 文本编码、解码方法及所对应的编解码系统
CN105049853A (zh) * 2015-07-06 2015-11-11 深圳市云宙多媒体技术有限公司 一种基于片源分析的sao编码方法及系统
US10805611B2 (en) * 2016-10-18 2020-10-13 Mediatek Inc. Method and apparatus of constrained sequence header
EP3457698A1 (en) * 2017-09-18 2019-03-20 Thomson Licensing Method and apparatus for coding of omnidirectional video
WO2020175893A1 (ko) * 2019-02-28 2020-09-03 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
KR20230004921A (ko) * 2019-03-07 2023-01-06 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
WO2020181434A1 (en) * 2019-03-08 2020-09-17 Zte Corporation Parameter set signaling in digital video
KR102491959B1 (ko) * 2019-03-11 2023-01-27 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
US11683487B2 (en) * 2019-03-26 2023-06-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding
US11284114B2 (en) * 2019-04-23 2022-03-22 Qualcomm Incorporated Adaptive loop filter set index signaling
US20220256201A1 (en) * 2019-05-03 2022-08-11 Mediatek Inc. Methods and Apparatuses of Syntax Signaling and Referencing Constraint in Video Coding System
WO2020256510A1 (ko) * 2019-06-21 2020-12-24 현대자동차주식회사 코딩 툴들을 제어하는 방법 및 장치
FR3098070B1 (fr) * 2019-06-27 2022-02-18 S A Vitec Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat
US11190793B2 (en) * 2019-07-09 2021-11-30 Qualcomm Incorporated Memory constraint for adaptation parameter sets for video coding
EP4030762A4 (en) * 2019-09-10 2023-09-06 Samsung Electronics Co., Ltd. IMAGE DECODING DEVICE USING A SET OF TOOLS AND CORRESPONDING IMAGE DECODING METHOD, AND IMAGE ENCODING DEVICE AND CORRESPONDING IMAGE ENCODING METHOD
CN117615155A (zh) 2019-09-19 2024-02-27 北京字节跳动网络技术有限公司 视频编解码中的参考样点位置推导
WO2021052490A1 (en) 2019-09-19 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Scaling window in video coding
CN114710662A (zh) * 2019-09-20 2022-07-05 杭州海康威视数字技术股份有限公司 一种解码、编码方法、装置及其设备
EP4026336A4 (en) 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
KR102493125B1 (ko) * 2019-10-10 2023-01-30 삼성전자주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
WO2021071196A1 (ko) * 2019-10-10 2021-04-15 삼성전자 주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
JP7391203B2 (ja) 2019-10-12 2023-12-04 北京字節跳動網絡技術有限公司 ビデオコーディングツールを洗練する使用およびシグナリング
MX2022004200A (es) 2019-10-13 2022-05-02 Beijing Bytedance Network Tech Co Ltd Interaccion entre remuestreo de imagen de referencia y herramientas de codificacion de video.
CN114982231A (zh) * 2019-11-27 2022-08-30 Lg电子株式会社 图像解码方法及用于其的装置
CN114868392A (zh) * 2019-12-31 2022-08-05 华为技术有限公司 编码器、解码器及对应方法
AU2021207559A1 (en) * 2020-01-13 2022-09-08 Lg Electronics Inc. Method and device for weighted prediction for image/video coding
KR20230024340A (ko) * 2020-06-10 2023-02-20 엘지전자 주식회사 Aps에 대한 식별자를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
US20220109856A1 (en) * 2020-10-06 2022-04-07 Samsung Electronics Co., Ltd. Access of essential video coding (evc) slices in a file

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8406301B2 (en) * 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
US7724818B2 (en) * 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
US9560367B2 (en) * 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
JP2006203662A (ja) * 2005-01-21 2006-08-03 Toshiba Corp 動画像符号化装置・復号化装置及び符号化ストリーム生成方法
CN101217654B (zh) 2008-01-04 2010-04-21 华南理工大学 视频码流可伸缩性组织方法
US8325796B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
WO2010086500A1 (en) * 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
FR2947134A1 (fr) 2009-06-23 2010-12-24 France Telecom Procedes de codage et de decodages d'images, dispositifs de codage et de decodage, flux de donnees et programme d'ordinateur correspondants.
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
EP2684367A4 (en) * 2011-03-10 2014-09-24 Vidyo Inc MAINTENANCE OF A SET OF PARAMETERS IN A VIDEO CODING
US9277228B2 (en) * 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US8768079B2 (en) * 2011-10-13 2014-07-01 Sharp Laboratories Of America, Inc. Tracking a reference picture on an electronic device

Also Published As

Publication number Publication date
CN103096047A (zh) 2013-05-08
KR101600056B1 (ko) 2016-03-04
US20190273935A1 (en) 2019-09-05
WO2013063962A1 (zh) 2013-05-10
EP2753079A1 (en) 2014-07-09
FI3407605T3 (fi) 2023-12-13
EP3407605A1 (en) 2018-11-28
EP2753079A4 (en) 2016-04-27
US20210076056A1 (en) 2021-03-11
CN103096047B (zh) 2018-06-19
US10750196B2 (en) 2020-08-18
US10298946B2 (en) 2019-05-21
KR20140093255A (ko) 2014-07-25
US20140294067A1 (en) 2014-10-02
US11252428B2 (en) 2022-02-15
EP3407605B1 (en) 2023-10-11
JP6172536B2 (ja) 2017-08-02
JP2014535227A (ja) 2014-12-25

Similar Documents

Publication Publication Date Title
ES2962853T3 (es) Método y dispositivo para codificar y decodificar conjuntos de parámetros a nivel de segmento
ES2966479T3 (es) Un codificador, un decodificador y métodos correspondientes para la intrapredicción
US8401085B2 (en) Method and apparatus for decoding/encoding of a video signal
ES2946901T3 (es) Método y dispositivo de predicción de imágenes
JP5778339B2 (ja) ビデオコーディングにおける内部ビット深度増加
ES2686936T3 (es) Códec 3DVC basado en MVC que soporta el modo de predicción de movimiento de visualización interna (IVMP)
ES2626823T3 (es) Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen
JP2017528987A (ja) 予測符号化、復号化方法、対応するエンコーダ、デコーダ及び電子機器
ES2637166T3 (es) Filtrado adaptativo de muestra con corrimientos
US10171841B2 (en) Method and device for encoding/decoding video bitstream
CN114930858A (zh) 用于基于几何的点云压缩的高级语法
US20240031599A1 (en) Video encoding method and video decoding method
KR20190117686A (ko) 높은 동적 범위 이미지를 디코딩하기 위한 방법 및 디바이스
BR112021005557A2 (pt) método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
JP2023024970A (ja) ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング
US20220164993A1 (en) Processing missing points of a point cloud
CN114846789B (zh) 用于指示条带的图像分割信息的解码器及对应方法
US20220191519A1 (en) Processing the in-between points of a point cloud
CN103118250A (zh) 一种帧内划分标志的编解码方法及装置
KR20160002712A (ko) 비디오 신호 처리 방법 및 장치
CN104519356B (zh) 一种cabac编/解码方法
BR122023027041A2 (pt) Dispositivo de decodificação de sinal de vídeo, dispositivo de codificação de sinal de vídeo, meio legível por computador não transitório e método de decodificação de sinal de vídeo
BR122023027043A2 (pt) Dispositivo de decodificação de sinal de vídeo, dispositivo de codificação de sinal de vídeo, meio legível por computador não transitório e método de decodificação de sinal de vídeo
KR20230173162A (ko) 픽처 인코딩 및 디코딩 방법, 장치, 전자설비 및 저장매체
BR112018007891B1 (pt) Método e dispositivo para codificação por entropia de dados de vídeo,método e dispositivo para decodificação por entropia de dados de vídeo, e memória legível por computador