ES2967482T3 - Mejoras de desacoplamiento en el desplazamiento adaptativo de muestra (SAO) para codificador de vídeo de alta eficiencia (HEVC) - Google Patents

Mejoras de desacoplamiento en el desplazamiento adaptativo de muestra (SAO) para codificador de vídeo de alta eficiencia (HEVC)

Info

Publication number
ES2967482T3
ES2967482T3 ES21184850T ES21184850T ES2967482T3 ES 2967482 T3 ES2967482 T3 ES 2967482T3 ES 21184850 T ES21184850 T ES 21184850T ES 21184850 T ES21184850 T ES 21184850T ES 2967482 T3 ES2967482 T3 ES 2967482T3
Authority
ES
Spain
Prior art keywords
sao
type
band
offset
sao type
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
ES21184850T
Other languages
English (en)
Inventor
Ali Tabatabai
Jun Xu
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.)
Sony Group Corp
Original Assignee
Sony Group 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
Priority claimed from US13/801,553 external-priority patent/US10623759B2/en
Application filed by Sony Group Corp filed Critical Sony Group Corp
Application granted granted Critical
Publication of ES2967482T3 publication Critical patent/ES2967482T3/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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • H03M7/3044Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
    • H03M7/3046Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM] adaptive, e.g. adaptive differential pulse code modulation [ADPCM]
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Optical Transform (AREA)

Abstract

Se describe un codificador/descodificador que utiliza mecanismos de señalización mejorados y parámetros SAO. Los diversos parámetros se señalan de diversas maneras según diferentes realizaciones de la invención. En una primera realización (realización A), el encendido/apagado de SAO está desacoplado de la codificación de tipo SAO, estando codificados conjuntamente los indicadores de encendido/apagado de SAO para todos los componentes de color. La segunda realización (realización B) es similar a la realización A, pero modificada para su aplicación a JCTVC-J0268. En una tercera realización, se proporciona señalización separada para SAO activado/desactivado, tipos de SAO BO y EO, y para información lateral de BO y EO (clases o posición de banda). Cada uno de estos mecanismos de señalización SAO mejorados proporciona una eficiencia de codificación mejorada. (Traducción automática con Google Translate, sin valor legal)

Description

d es c r ip c ió n
Mejoras de desacoplamiento en el desplazamiento adaptativo de muestra (SAO) para codificador de vídeo de alta eficiencia (HEVC)
a n t e c e d e n t e s de la in v e n c ió n
1. Campo de la Invención
Esta invención se refiere en general a la codificación y decodificación de vídeo y, más particularmente, a mejoras de señalización mejorada para desplazamientos adaptativos de muestra (SAO) dentro de sistemas de codificación de vídeo de alta eficiencia (HEVC).
2. Descripción de la técnica relacionada
Continúa una demanda importante y continua de codificación de vídeo de alta eficiencia (HEVC) hacia una compresión de vídeo más óptima y escalable. El Equipo Colaborativo Conjunto sobre Codificación de Vídeo (JCT-VC) del UIT-T y ISO/IEC MPEG continúa mejorando un estándar de codificación de vídeo de alta eficiencia (HEVC).
En HEVC, los fotogramas se dividen en bloques de árbol de codificación (CTB) que se pueden subdividir en unidades de codificación (CU), como por ejemplo mediante la segmentación de cuatro árboles. Una unidad de codificación (CU) puede tener tamaños variables dependiendo del contenido de vídeo para lograr la eficiencia de codificación deseada. Las CU suelen incluir un componente de luminancia Y y dos componentes de croma, U y V. El tamaño de los componentes U y V se relaciona con el número de muestras y puede ser igual o diferente al del componente Y, según depende del formato de muestreo de video. Las CU se pueden subdividir además en particiones de unidades de predicción (PU) durante la intrapredicción y la interpredicción, así como en unidades de transformación (TU) definidas para transformación y cuantificación. Las unidades de transformación (TU) generalmente se refieren a un bloque de datos residuales al que se aplica una transformación al generar coeficientes de transformación.
La HEVC introduce nuevos elementos respecto a los sistemas de codificación de vídeo actuales, como H.264/AVC y códecs similares. Por ejemplo, aunque la HEVC todavía implica interpredicciones, transformaciones y codificación de entropía con desplazamiento de movimiento, utiliza codificación aritmética o codificación de longitud variable. Además, después del filtro de desbloqueo hay un filtro de desplazamiento adaptativo de muestra (SAO). La unidad de filtro de SAO funciona una vez por cada píxel del CTB. Para cada CTB, se codifican un tipo de filtro y valores de desplazamiento en el flujo de bits. Hay dos tipos de filtros, específicamente, filtros de borde y de banda. La banda de una muestra determinada son simplemente los 5 bits superiores de su valor. Luego se transmite un índice de banda, junto con los cuatro desplazamientos, que identifica cuatro bandas adyacentes. Entonces, si el índice de banda es 4, significa bandas 4, 5, 6 y 7. Si un píxel cae en una de estas bandas, se le agrega el desplazamiento correspondiente. En un filtro de borde se transmite un modo de borde (por ejemplo, 0, 90, 45, 135 grados). El codificador selecciona los desplazamientos y los modos de filtro para hacer que el CTB coincida más con la imagen de origen.
El filtro de SAO considera el marco completo como un árbol cuádruple jerárquico. Los cuadrantes en este árbol cuádruple son activados por el SAO que transmite valores de sintaxis, cada uno de los cuales representa una banda de intensidad de valores de píxeles denominada desplazamiento de banda (BO) o la diferencia en comparación con las intensidades de píxeles vecinos denominada desplazamiento de borde (EO). Para cada tipo en SAO (BO y EO), los valores de desplazamiento transmitidos denominados desplazamiento SAO se agregan a los píxeles correspondientes.
Por ejemplo, el documento de trabajo 7 de HEVC (WD 7) proporciona activación/desactivación de SAO, 4 clases de desplazamiento de borde (EO) y un desplazamiento de banda (BO). Estos tipos de SAO se señalan al decodificador utilizando un código unario con dos contextos para la codificación de codificación aritmética binaria adaptativa al contexto (CABAC), uno en el primer contenedor y otro para el resto de los contenedores. Además, para el tipo de BO, la posición de la banda se transmite utilizando códigos FL. Los contenedores codificados por contexto y los contenedores codificados de derivación están intercalados, lo que limita el rendimiento del motor CABAC.
La presente invención proporciona formas de desacoplamiento de tipos que mejoran la eficiencia de la señalización de SAO dentro de un sistema de codificación de vídeo.
Los arreglos propuestos anteriormente se describen en Maani, E. et al.: "SAO Type Coding Simplification", JCTVC-I0246; Sole, J. et al.: "AhG6: Bypass bins grouping in SAO", JCTVC-J0054; Minezawa, A. et al.: "Non-CE1: Improved edge offset coding for SAO", JCTVC-I0066; Bici, O. et al.: "Context reduction for merge index coding", JCTVC-H0251; and Seregin, V. et al.: "Bypass bins for reference index and delta QP coding", JCTVC-I0594.
b r eve s u m a r io de la in ven c ió n
La presente divulgación está definida por las reivindicaciones adjuntas de acuerdo con la realización C a continuación. Las realizaciones A y B no están abarcadas por la redacción de las reivindicaciones pero se consideran útiles para comprender la invención.
b r eve d e s c r ip c ió n de la s v a r ia s v is t a s d e l (lo s ) d ib u jo (S)
La invención se comprenderá mejor con referencia a los siguientes dibujos, que tienen únicamente fines ilustrativos:
La figura 1 es un esquema de un codificador de vídeo.
La figura 2 es un esquema de un decodificador de vídeo.
La figura 3 es un diagrama de flujo de una sintaxis de SAO de tipo primero (realización C) según una realización de la presente invención.
d e s c r ip c ió n d e t a l l a d a de la in v e n c ió n
El aparato y método inventivos mejoran el funcionamiento de SAO en codificadores y decodificadores HEVC, al tiempo que superan las deficiencias de los métodos de señalización de SAO existentes y propuestos. En el modelo de prueba estándar HM 7.0 de codificación de video de alta eficiencia (HEVC) en desarrollo, cada componente de color tiene un tipo de desplazamiento adaptativo de muestra (SAO) que incluye activación/desactivación, tipos de EO y BO. Sin embargo, puede ser deseable mejorar la señalización de parámetros SAO.
Introducción.
La figura 1 ilustra una realización ilustrativa de un aparato de codificación que comprende un codificador 10 con desplazamientos adaptativos de muestra (SAO) mejorados.
El codificador 10 se muestra con elementos de codificación 12 ejecutados por un medio informático 46 ejemplificado con uno o más procesadores 48, junto con uno o más dispositivos de memoria 50. Se apreciará que los elementos de la presente invención se pueden implementar como programación almacenada en un medio, al que se puede acceder para su ejecución mediante una CPU para un codificador y/o decodificador.
En el ejemplo, la entrada de fotograma de vídeo 14 se muestra junto con los fotogramas de referencia 16 y la salida de fotograma 18. La interpredicción 20 se representa con la estimación de movimiento (ME) 22 y la compensación de movimiento (MC) 24. La intrapredicción 26 se muestra con el cambio 25 representado entre interpredicción e intrapredicción. Se muestra una unión de suma 28 con salida a una transformación directa 30 que se realiza basándose en las predicciones para generar coeficientes de transformación de datos residuales. La cuantificación de los coeficientes de transformación se realiza en la etapa de cuantificación 32, a la que sigue la codificación de entropía 34. Las operaciones de cuantificación inversa 36 y transformación inversa 38 se muestran acopladas a una unión sumadora 40.
La salida de la unión sumadora 40 es una señal de vídeo decodificada que es recibida por un filtro de desbloqueo 42, el filtro de desplazamiento adaptativo de muestra (SAO) con señalización mejorada inventiva (+ES) 44 para producir una salida 18. La señalización mejorada se puede proporcionar utilizando cualquiera de las tres realizaciones que se describen en detalle en las siguientes secciones.
La figura 2 ilustra una realización ilustrativa 70 de un decodificador, mostrado con bloques de proceso 72 y un medio de procesamiento asociado 102. Se observará que el decodificador es sustancialmente un subconjunto de los elementos contenidos en el codificador 10 de la figura 1, operando en fotogramas de referencia 74 y emitiendo una señal de video 100. Los bloques decodificadores reciben una señal de vídeo codificada 76 que se procesa a través del decodificador de entropía 78, la cuantificación inversa 80, la transformada inversa 82 y la suma 84 entre la salida de la transformada inversa 82 y la selección 92 entre la interpredicción 86 mostrada con desplazamiento de movimiento 88 y un bloque de intrapredicción separado 90. La salida de la unión sumadora 84 es recibida por un filtro de desbloqueo 94, seguido por el módulo SAO con señalización mejorada (+ES) inventiva 96 para producir una salida de video 98.
Debe apreciarse que el decodificador puede implementarse con un medio de procesamiento 100 que comprende al menos un dispositivo de procesamiento 102 y al menos una memoria 104 para ejecutar la programación asociada con la decodificación. Además, se observará que los elementos de la presente invención se pueden implementar como programación almacenada en un medio, en el que se puede acceder a dicho medio para su ejecución mediante el dispositivo de procesamiento (CPU) 102.
Se reconocerá que los elementos 10 y 70 se implementan para su ejecución mediante un medio de procesamiento 46 y 100, tal como en respuesta a la programación residente en la memoria 50 y 104 que es ejecutable en el procesador de ordenador (CPU) 48 y 102. Además, se apreciará que los elementos de la presente invención se pueden implementar como programación almacenada en un medio, en donde se puede acceder a dicho medio para su ejecución por la CPU 48 y/o 102.
También se debe apreciar que la programación anterior se puede ejecutar desde la memoria, que es un medio tangible (físico) legible por ordenador que no es transitorio en el sentido de que no constituye meramente una señal de propagación transitoria, sino que en realidad es capaz de retener programación, tal como dentro de cualquier forma y número deseados de dispositivos de memoria estática o dinámica. No es necesario implementar estos dispositivos de memoria para mantener los datos en todas las condiciones (por ejemplo, corte de energía) para que se consideren en el presente documento medios no transitorios.
A. Realización A: Simplificación de JCTVC-10193.
La mejora del desacoplamiento de activación/desactivación y tipos de SAO se puede realizar en dos variaciones diferentes. En las dos primeras variaciones, la activación/desactivación de SAO está desacoplada de la codificación de tipo de SAO, y los indicadores de activación/desactivación de SAO se codifican conjuntamente para todos los componentes de color.
En esta primera variación, se proporciona una realización JCTVC-I0193 simplificada que combina indicadores SAO con los siguientes cambios. (1) Se reemplaza la tabla de consulta (por ejemplo, Tabla 1) y se genera un índice de código con una ecuación de la siguiente manera:
índice de-código =-(lcu_sao_enable_flagCr«2) 11
(lcu_sao_enable_flagCb«1) -lcu_sao_enable_flagYH
En la ecuación anterior, se utiliza binarización unaria truncada para el índice de código. Sólo el primer contenedor está codificado en contexto y los demás contenedores se codifican en el modo de derivación.
La codificación de tipo, que se ve en la Tabla 2, y la codificación de desplazamiento siguen siendo las mismas que JCTVC-I0193 ampliado a HM7.0.
La Tabla 3 ilustra un ejemplo de sintaxis de datos de segmento.
La Tabla 4 ilustra la sintaxis del parámetro SAO con descriptor.
La Tabla 5 ilustra información de tipo para BO y EO. El valor sao_band_position [ cIdx ][ rx ][ ry ] indica el desplazamiento del desplazamiento de banda del rango de píxeles cuando sao_type_idx [ cIdx ][ rx ][ ry ] es igual a 4. El valor sao_offset_sign[ cIdx ][ rx ][ ry ][ i ] especifica el signo de sao_offset[ cIdx ][ rx ][ ry ][ i ] cuando sao_type_index es igual a 4. El signo de desplazamiento variable se deriva de la siguiente manera. Si sao_type_idx [ cIdx ][ rx ][ ry ] es menor que 4 y i es mayor que 1, el signo de desplazamiento se establece en -1. De lo contrario (sao_type_idx [ cIdx ][ rx ][ ry ] es igual a 4 o i es menor que 2), el signo de desplazamiento se establece en 1.
La Tabla 6 ilustra cómo lcu_sao enable idx especifica los valores del indicador de habilitación de LCU SAO de tres componentes de color.
B. Realización B: JCTVC-J0268 Simplificación de JCTVC-10193.
En esta realización, la solución simplificada anterior se combina con la solución de JCTVC-J0268 sobre señalización SAO para proporcionar una estructura de señalización mejorada para SAO. Esto da como resultado un pequeño cambio en el tipo de SAO debido al desacoplamiento de activación/desactivación de SAO en la simplificación de JCTVC-I0193 descrito anteriormente. La señalización de SAO de la solución combinada se enumera en el orden siguiente: (1) En primer lugar, se señala el índice de activación/desactivación de SAO para tres indicadores de activación/desactivación de todos los componentes de color. El índice se binariza mediante código unario truncado. Sólo el primer contenedor está codificado por contexto con un contexto dedicado. El resto de contenedores están codificados en modo derivación. Para cada componente de color, si SAO está habilitado, el proceso pasa a la siguiente etapa (etapa 2); de lo contrario, finaliza la señalización SAO. (2) El tipo de SAO como se muestra en la Tabla 7 está codificado con un contexto. (3) Los desplazamientos que incluyen valores absolutos y signos se codifican como lo hace HM7.0. (4) Si el tipo de SAO es EO, entonces las clases de EO se señalan utilizando sao_eo_class como se muestra en la Tabla 8, que está codificada por FLC con derivación. (5) Si el tipo de SAO es BO, las posiciones de las bandas se señalan como lo hace HM7.0.
La Tabla 9 ilustra una especificación de la sintaxis de datos de segmento.
La Tabla 10 proporciona un ejemplo de sintaxis de parámetros SAO para esta realización.
La Tabla 11 ilustra la especificación del tipo de SAO.
La Tabla 12 ilustra cómo lcu_sao_enable_idx indica los valores LcuSaoEnableFlag de tres componentes de color. La Tabla 13 ejemplifica el parámetro sao_eo_class[ cIdx ][ rx ][ ry ] que indica el tipo de desplazamiento de borde del bloque de árbol de codificación actual en la posición rx y ry para el componente de color cldx. Cuando sao_eo_class [ cIdx ][ rx ][ ry ] no está presente, se infiere de la siguiente manera.
Si sao_merge_left_flag es igual a 1, entonces
sao_eo_class[ cldx ][ rx ][ry ]
se iguala a
sao_eo_class [ cldx ][ rx - 1 ][ ry ].
De lo contrario, si sao_merge_up_flag es igual a 1, entonces
sao_eo_class[ cldx ][ rx ][ry]
se iguala a
sao eo class [ cldx ][ rx ][ ry — i ].
De lo contrario, sao_merge_up_flag no es igual a 1, por lo que sao_eo_class [ cIdx ][ rx ][ ry ] se establece en 0. El parámetro sao_band_position[ cIdx ][ rx ][ ry ] indica el desplazamiento del desplazamiento de banda del rango de píxeles cuando sao_type_idx[ cIdx ][ rx ][ ry ] es igual a 0.
El parámetro sao_offset_sign[ cIdx ][ rx ][ ry ][ i ] especifica el signo de sao_offset[ cIdx ][ rx ][ ry ][ i ] cuando sao_type_index es igual a 0.
La variable offsetSign se deriva de la siguiente manera.
Si sao_type_idx[ cIdx ][ rx ][ ry ] es igual a 1 y i es mayor que 1, offsetSign se establece en -1.
De lo contrario, si sao_type_idx[ cIdx ][ rx ][ ry ] es igual a 1 e i es menor que 2, offsetSign se establece en 1.
C. Realización C: Tipo primera codificación SAO.
En esta realización, la codificación de tipo de SAO se reconfigura para tener señalización separada para Encendido/Apagado de SAO, tipo de SAO BO e información lateral de EO y EO/BO (clases o posiciones de banda). La realización también agrupa contenedores codificados por contexto y contenedores codificados de derivación para mejorar el rendimiento de la codificación aritmética binaria adaptativa basada en el contexto (CABAC).
La figura La figura 3 ilustra una realización ilustrativa 110 de otro mecanismo de señalización mejorado de SAO según la presente invención distribuido en contexto y codificación de derivación. Se muestran dos variaciones según qué porciones están codificadas por contexto o codificadas por derivación. El tipo de SAO se selecciona 112, con valores absolutos codificados para el desplazamiento de banda (BO) 114 o, alternativamente, el desplazamiento de borde (EO) 120. Los signos de desplazamiento de codificación se pasan 116 para BO seguido de la posición 118 de la banda BO. Para la codificación de desplazamiento de borde, la clase de EO se envía 122.
Se ven dos líneas discontinuas 124, 126 en el diagrama de flujo que representan dos separaciones diferentes de codificación de contexto (operaciones vistas encima de la línea), versus codificación de derivación (operaciones vistas debajo de la línea). Por ejemplo, en una variación, las etapas del diagrama de flujo encima de la línea discontinua 124 representan etapas codificadas por contexto, mientras que las etapas debajo de la línea 124 representan etapas codificadas con codificación de derivación. Por ejemplo, el tipo 112 de SAO y los valores absolutos de desplazamiento para BO y EO se representan arriba de la línea 124 y, por lo tanto, están codificados en contexto. La codificación de las señales de desplazamiento 116, la posición de la banda de BO 118 y la clase de EO 122 están codificadas en derivación.
Considerando la posición de la línea discontinua 126 vista pasando a través del bloque de tipo de SAO 112, aquí una parte (por ejemplo, el primer contenedor) del SAO está codificada en contexto mientras que los contenedores restantes están codificados en bloque. En cualquier caso, se puede ver en el diagrama de flujo que la realización C proporciona una estructura de señalización equilibrada para EO y BO.
Los tipos de SAO actuales (en HEVC WD 7) consisten en activación/desactivación de SAO, 4 clases de Desplazamiento de borde (EO) y un Desplazamiento de banda (BO). Estas opciones (tipos SAO) se señalan al decodificador utilizando un código unario con dos contextos (por ejemplo, codificación CABAC), uno en el primer contenedor y otro para el resto de los contenedores. Además, para el tipo de BO, la posición de la banda se transmite utilizando códigos FL.
La presente invención considera que, al proporcionar una estructura más regularizada, el proceso se puede mejorar en al menos cuatro formas diferentes, como se describe. (1) Si bien solo hay dos tipos reales en SAO (a saber, EO y BO), los tipos de SAO en el diseño actual constan de 4 clases de EO, pero solo 1 BO. Por lo tanto, el contexto adicional en el modo CABAC no puede rastrear las estadísticas de EO versus BO. (2) Las cuatro clases de EO corresponden a 4 direcciones pero tienen longitudes de código muy diferentes. Lógicamente, debido a la simetría en un conjunto de imágenes suficientemente grande, una dirección no debería tener ventaja sobre el resto. Esto se ha confirmado incluso en el equipo de prueba HEVC, que es un equipo de prueba mucho más pequeño. El número de apariciones de las cuatro direcciones se distribuye casi uniformemente, por lo que se utilizan códigos FL. (3) La información adicional se transmite únicamente en BO. La información adicional para las clases de EO (direcciones), sin embargo, está codificada con el tipo de SAO y el interruptor de activación/desactivación. (4) Los contenedores codificados por contexto y los contenedores codificados de derivación están intercalados en el WM 7 actual, porque las posiciones de banda de BO se codifican en modo de derivación antes de que los desplazamientos se codifiquen con contextos.
En esta realización de la invención, primero se señala el tipo de SAO y la información secundaria (es decir, clases de EO y posición de la banda de BO) se señala por separado. Esta configuración proporciona una estructura equilibrada, ramas reducidas y un rendimiento mejorado. Estos cambios se detallan a continuación. (a) El tipo de SAO (sao_type_idx) se reduce para indicar solo activación/desactivación de SAO, BO y EO como se muestra en la Tabla 14. (b) El parámetro sao_type_idx se binariza utilizando unario truncado. En un contexto alternativo, el modelado se codifica con un solo contexto para el primer contenedor y se omite la codificación para el segundo contenedor, o se codifica con dos contextos: uno para el primer contenedor y el otro para el segundo contenedor. (c) Las clases de EO se señalan utilizando sao_eo_class como se muestra en la Tabla 10, que está codificada por FLC con derivación. (d) Reordenamiento de la sintaxis para evitar el entrelazado de contenedores codificados por contexto y contenedores codificados por derivación.
Estos cambios funcionan para reducir la cantidad de contenedores codificados por contexto para la sintaxis de SAO (incluido el tipo de SAO y la información BO/EO).
A continuación se describen aspectos de la semántica del parámetro SAO que se muestran en la Tabla 14. El parámetro sao_eo_class[ cIdx ][ rx ][ ry ] indica el tipo de desplazamiento de borde como se especifica en la Tabla 15 del bloque de árbol de codificación actual en la posición rx y ry para el componente de color cldx.
La Tabla 16 proporciona ejemplos de inicialización de variables para sao_Type_Idx ctxldx.
La Tabla 17 ilustra los tipos de sintaxis y binarización para variables seleccionadas.
Problema de entrelazado.
En los HEVC WD7 y JCTVC-I0246 actuales, los contenedores codificados por contexto y los contenedores codificados por derivación están entrelazados. Este entrelazado limita el rendimiento del motor CABAC. Para resolver el problema del entrelazado, un elemento de la presente invención reordena la sintaxis para agrupar cada categoría y tener el grupo de contenedores codificado por contexto antes del grupo de contenedores codificado por derivación.
Las realizaciones de la presente invención se pueden describir con referencia a ilustraciones de diagramas de flujo de métodos y sistemas según realizaciones de la invención, así como algoritmos, fórmulas u otras representaciones computacionales, que también se pueden implementar como productos de programas informáticos. A este respecto, cada bloque o etapa de un diagrama de flujo, y combinaciones de bloques (etapas, o una combinación de los mismos) en un diagrama de flujo, algoritmo, fórmula o representación computacional se pueden implementar por diversos medios, tales como hardware, firmware, software que incluye una o más instrucciones de un programa de ordenador incorporadas en una lógica de código de programa legible por ordenador. Como se apreciará, cualquiera de dichas instrucciones de programa informático se puede cargar en un ordenador, incluyendo, entre otras, un ordenador de uso general o un ordenador de propósito especial, u otro aparato de procesamiento programable para producir una máquina, de modo que las instrucciones del programa de ordenador que se ejecutan en el ordenador u otro aparato de procesamiento programable crean medios para implementar las funciones especificadas en el(los) bloque(s) del(los) diagrama(s) de flujo.
Por consiguiente, los bloques de los diagramas de flujo, algoritmos, fórmulas o representaciones computacionales soportan combinaciones de medios para realizar las funciones especificadas, combinaciones de pasos para realizar las funciones especificadas e instrucciones de programas informáticos, tales como las incorporadas en medios lógicos de códigos de programas legibles por ordenador para realizar las funciones especificadas. También se entenderá que cada bloque de las ilustraciones del diagrama de flujo, algoritmos, fórmulas o representaciones computacionales y combinaciones de los mismos descritos en el presente documento, puede implementarse mediante sistemas informáticos basados en hardware de propósito especial que realizan las funciones o etapas especificadas, o combinaciones de hardware de propósitos especiales y medios lógicos de código de programa legibles por ordenador.
Además, estas instrucciones de programas de ordenador, tales como las incorporadas en la lógica de código de programa legible por ordenador, también pueden almacenarse en una memoria legible por ordenador que puede dirigir un ordenador u otro aparato de procesamiento programable para que funcione de una manera particular, de modo que las instrucciones almacenadas en la memoria legible por ordenador producen un artículo de fabricación que incluye medios de instrucción que implementan la función especificada en el(los) bloque(s) del(los) diagrama(s) de flujo. Las instrucciones del programa de ordenador también pueden cargarse en un ordenador u otro aparato de procesamiento programable para provocar que se realicen una serie de etapas operativas en el ordenador u otro aparato de procesamiento programable para producir un proceso implementado por ordenador de manera que las instrucciones que se ejecutan en el ordenador u otro aparato de procesamiento programable proporciona etapas para implementar las funciones especificadas en el(los) bloque(s) del(los) diagrama(s) de flujo, algoritmo(s), fórmula(e) o representación(es) computacional(es).
Tabla 1
Tabla 2
Tabla 3
Tabla 4
Tabla 5
Tabla 6
Tabla 7
Tabla 8
Tabla 9
Tabla 10
Tabla 11
Tabla 12
Tabla 13
Tabla 14
Tabla 15
Tabla 16
Tabla 17
Realización C: Tipos de sintaxis y binarización para variables seleccionadasElemento de tipo de
sintaxis inicio Tipo de binarización maxBmld IdxTabla ctxIdxDesplazamiento- na - - na - - na - *
- na- - na- - na - *
* -- utiliza Derivación Decodificación

Claims (3)

r e iv in d ic a c io n e s
1. Un aparato de codificación (10) que comprende uno o más procesadores configurados:
para codificar una secuencia de parámetros de desplazamiento adaptativo de muestra (SAO) como:
a) tipo de SAO, que comprende uno de No aplicado, Desplazamiento de banda (BO) y Desplazamiento de borde (EO) como tipo de SAO;
b) en caso de que se aplique procesamiento SAO, valores absolutos para Desplazamiento de banda (BO) o Desplazamiento de borde (EO); y
c) en caso de que se establezca BO como tipo de SAO, signo de desplazamiento y posición de la banda de BO; o d) en el caso de que se establezca Desplazamiento de borde (EO) como tipo de SAO, clase de EO, en la que la clase de EO representa una de las cuatro clases que indican la dirección; y
para transmitir la secuencia de parámetros SAO como un flujo de bits codificado;
en donde los uno o más procesadores están configurados para binarizar el tipo de SAO usando binarización unaria truncada y para codificar un primer contenedor del tipo de SAO usando un modo de contexto y un segundo contenedor del tipo de SAO usando un modo de derivación;
en donde los uno o más procesadores están configurados para binarizar la clase de EO usando un código de longitud fija y codificar la clase de EO usando un modo de derivación en el caso de que el tipo de SAO sea EO, o para binarizar la posición de la banda de BO usando un código de longitud fija y codificar la posición de la banda de BO usando un modo de derivación en el caso de que el tipo de SAO sea BO; y
en donde los uno o más procesadores están configurados para ordenar, en el flujo de bits codificado, el primer contenedor del tipo de SAO codificado usando el modo de contexto antes del segundo contenedor del tipo de SAO y los contenedores de parámetros SAO codificados usando el modo de derivación.
2. Un método que comprende:
codificar una secuencia de parámetros de desplazamiento adaptativo de muestra (SAO) como:
a) tipo de SAO, que comprende uno de No Aplicado, Desplazamiento de banda (BO) y Desplazamiento de borde (EO) como el tipo de SAO, en donde el método comprende binarizar el tipo de SAO usando binarización unaria truncada y codificar un primer contenedor del tipo de SAO usando un modo de contexto y los contenedores restantes del tipo de SAO utilizando un modo de derivación;
b) en caso de que se aplique procesamiento SAO, valores absolutos para Desplazamiento de banda (BO) o Desplazamiento de borde (EO); y
c) en el caso de que se establezca BO como el tipo de SAO, signo de desplazamiento y posición de la banda de BO, en cuyo caso el método comprende binarizar la posición de la banda de BO usando un código de longitud fija y codificar la posición de la banda de BO usando un modo de derivación; o
d) en el caso de que se establezca Desplazamiento de borde (EO) como el tipo de SAO, clase de EO, en la que la clase de EO representa una de las cuatro clases que indican dirección, en cuyo caso el método comprende binarizar la clase de EO usando un código de longitud fija y codificar la clase de EO usando un modo de derivación; y transmitir la secuencia de parámetros SAO;
en donde la etapa de transmisión comprende ordenar, en el flujo de bits codificado, el primer contenedor del tipo de SAO codificado usando el modo de contexto antes del segundo contenedor del tipo de SAO y los contenedores de parámetros SAO codificados usando el modo de derivación.
3. Software informático que, cuando se ejecuta en un ordenador, hace que el ordenador realice el método de la reivindicación 2.
ES21184850T 2012-07-02 2013-06-27 Mejoras de desacoplamiento en el desplazamiento adaptativo de muestra (SAO) para codificador de vídeo de alta eficiencia (HEVC) Active ES2967482T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261667331P 2012-07-02 2012-07-02
US201261667321P 2012-07-02 2012-07-02
US201261670454P 2012-07-11 2012-07-11
US13/801,553 US10623759B2 (en) 2012-06-13 2013-03-13 Decoupling enhancements in sample adaptive offset (SAO) for high efficiency video encoder (HEVC)

Publications (1)

Publication Number Publication Date
ES2967482T3 true ES2967482T3 (es) 2024-04-30

Family

ID=49882434

Family Applications (1)

Application Number Title Priority Date Filing Date
ES21184850T Active ES2967482T3 (es) 2012-07-02 2013-06-27 Mejoras de desacoplamiento en el desplazamiento adaptativo de muestra (SAO) para codificador de vídeo de alta eficiencia (HEVC)

Country Status (13)

Country Link
EP (6) EP3917149A1 (es)
JP (5) JP6074566B2 (es)
KR (4) KR102010210B1 (es)
CN (7) CN107172440B (es)
DK (1) DK3917148T3 (es)
ES (1) ES2967482T3 (es)
FI (1) FI3917148T3 (es)
HU (1) HUE064164T2 (es)
LT (1) LT3917148T (es)
PL (1) PL3917148T3 (es)
PT (1) PT3917148T (es)
SI (1) SI3917148T1 (es)
WO (1) WO2014008109A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013175736A1 (ja) 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
EP4149113A1 (en) * 2012-05-25 2023-03-15 Sun Patent Trust Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
WO2013183232A1 (ja) 2012-06-04 2013-12-12 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
RU2628315C2 (ru) 2012-06-08 2017-08-15 Сан Пэтент Траст Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений
MY167294A (en) * 2012-06-27 2018-08-16 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
EP3138293A4 (en) 2014-04-29 2017-05-24 Microsoft Technology Licensing, LLC Encoder-side decisions for sample adaptive offset filtering
WO2019075638A1 (zh) * 2017-10-17 2019-04-25 北京金山云网络技术有限公司 编码和解码方法、装置、编码器、解码器及存储介质
WO2019082291A1 (ja) * 2017-10-25 2019-05-02 株式会社ソシオネクスト 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
CN113452998B (zh) * 2020-03-25 2022-05-31 杭州海康威视数字技术股份有限公司 一种解码、编码、编解码方法、装置及其设备
CN114567596B (zh) * 2022-01-24 2024-04-05 浙江数秦科技有限公司 一种用于区块链的数据快速交换方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9201594A (nl) * 1992-09-14 1994-04-05 Nederland Ptt Systeem omvattende ten minste één encoder voor het coderen van een digitaal signaal en ten minste één decoder voor het decoderen van een gecodeerd digitaal signaal, en encoder en decoder voor toepassing in het systeem.
US20050225671A1 (en) * 2004-04-09 2005-10-13 Scott Jen Method of Processing Fields of Images and Related Device for Data Lines Similarity Detection
CN100578618C (zh) * 2006-12-04 2010-01-06 华为技术有限公司 一种解码方法及装置
KR101473026B1 (ko) * 2007-01-11 2014-12-16 톰슨 라이센싱 Mpeg-4 avc 하이 레벨 코딩에 있어서 cavlc 4:4:4 인트라 프로파일, high 4:4:4 인트라 프로파일, 및 high 4:4:4 예측 프로파일에 대하여 coded_block_flag 신택스 엘리먼트 및 coded_block_pattern 신택스 엘리먼트의 신택스를 사용하는 방법 및 장치
CN101399040B (zh) * 2007-09-27 2011-08-10 中兴通讯股份有限公司 一种帧错误隐藏的谱参数替换方法
US8208560B2 (en) * 2007-10-15 2012-06-26 Intel Corporation Bit depth enhancement for scalable video coding
WO2011075570A1 (en) 2009-12-18 2011-06-23 Waters Technologies Corporation Thermal-based flow sensing apparatuses and methods for high-performance liquid chromatography
US8660174B2 (en) * 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
US20110293019A1 (en) * 2010-05-27 2011-12-01 Freescale Semiconductor Inc. Video processing system, computer program product and method for decoding an encoded video stream
JP5165083B2 (ja) * 2010-06-15 2013-03-21 聯發科技股▲ふん▼有限公司 ビデオコーディングの適応オフセットに用いる装置および方法
JP5398667B2 (ja) * 2010-08-23 2014-01-29 株式会社東芝 画像処理装置
US9813738B2 (en) * 2010-10-05 2017-11-07 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering
CA2810897C (en) * 2010-10-05 2015-11-24 General Instrument Corporation Method and apparatus for feature based video coding
BR112013011053A2 (pt) * 2010-11-10 2016-08-23 Sony Corp dispositivo e método de processamento de imagem
US10070152B2 (en) 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
CN104303506B (zh) * 2012-05-29 2017-08-01 寰发股份有限公司 视频数据的自适应采样点偏移的处理装置及方法
RU2628315C2 (ru) * 2012-06-08 2017-08-15 Сан Пэтент Траст Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений
AU2012203828B2 (en) * 2012-06-28 2015-12-10 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a sample adaptive offset data of encoded video data

Also Published As

Publication number Publication date
JP2019033536A (ja) 2019-02-28
CN104396146A (zh) 2015-03-04
LT3917148T (lt) 2024-01-10
JP6610747B2 (ja) 2019-11-27
KR101670156B1 (ko) 2016-10-27
JP6439855B2 (ja) 2018-12-19
EP2853033A4 (en) 2016-03-16
HUE064164T2 (hu) 2024-02-28
KR20190000916A (ko) 2019-01-03
EP3917148B1 (en) 2023-10-18
EP2853033B1 (en) 2022-07-27
EP3301935A1 (en) 2018-04-04
KR102010210B1 (ko) 2019-08-12
CN104396146B (zh) 2017-07-07
CN107172439A (zh) 2017-09-15
CN107172439B (zh) 2020-11-03
DK3917148T3 (da) 2023-12-04
JP2017079479A (ja) 2017-04-27
JP2018082457A (ja) 2018-05-24
JP6274297B2 (ja) 2018-02-07
EP3591976A1 (en) 2020-01-08
KR20160124922A (ko) 2016-10-28
CN107172438A (zh) 2017-09-15
EP3917150A1 (en) 2021-12-01
PT3917148T (pt) 2023-12-05
KR20150024861A (ko) 2015-03-09
JP2015526967A (ja) 2015-09-10
EP3917149A1 (en) 2021-12-01
EP3591976B1 (en) 2021-03-03
CN107249132B (zh) 2020-09-15
CN107172437A (zh) 2017-09-15
JP6074566B2 (ja) 2017-02-08
SI3917148T1 (sl) 2024-02-29
EP3301935B1 (en) 2019-10-30
CN107249132A (zh) 2017-10-13
KR102077980B1 (ko) 2020-02-14
KR20190080980A (ko) 2019-07-08
JP2020010409A (ja) 2020-01-16
CN107172440B (zh) 2020-06-16
CN106936442B (zh) 2020-12-08
CN106936442A (zh) 2017-07-07
JP6828787B2 (ja) 2021-02-10
EP2853033A1 (en) 2015-04-01
CN107172437B (zh) 2020-04-24
KR101941348B1 (ko) 2019-01-22
WO2014008109A1 (en) 2014-01-09
EP3917148A1 (en) 2021-12-01
PL3917148T3 (pl) 2024-02-26
FI3917148T3 (fi) 2023-12-01
CN107172440A (zh) 2017-09-15
CN107172438B (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
ES2967482T3 (es) Mejoras de desacoplamiento en el desplazamiento adaptativo de muestra (SAO) para codificador de vídeo de alta eficiencia (HEVC)
US20210105489A1 (en) Method and System for Lossless Coding Mode in Video Coding
US20240146941A1 (en) Scalable Prediction Type Coding
ES2746072T3 (es) Parámetros de paletas máximos en codificación de vídeo basada en paletas
US10750197B2 (en) Enhancements in sample adaptive offset (SAO) for high efficiency video encoder (HEVC)
ES2705760T3 (es) Procedimiento para la codificación en modo de paleta
CA3000758C (en) Method and apparatus of palette index map coding for screen content coding