ES2937085T3 - Codificador y método de codificar una secuencia de fotogramas - Google Patents
Codificador y método de codificar una secuencia de fotogramas Download PDFInfo
- Publication number
- ES2937085T3 ES2937085T3 ES20731152T ES20731152T ES2937085T3 ES 2937085 T3 ES2937085 T3 ES 2937085T3 ES 20731152 T ES20731152 T ES 20731152T ES 20731152 T ES20731152 T ES 20731152T ES 2937085 T3 ES2937085 T3 ES 2937085T3
- Authority
- ES
- Spain
- Prior art keywords
- frame
- linearly transformed
- frames
- encoding
- encoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000013144 data compression Methods 0.000 claims abstract description 23
- 239000000872 buffer Substances 0.000 claims description 46
- 238000013139 quantization Methods 0.000 claims description 24
- 230000009466 transformation Effects 0.000 claims description 22
- 238000007906 compression Methods 0.000 claims description 21
- 230000006835 compression Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims 2
- 230000002441 reversible effect Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000000605 extraction Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 238000000844 transformation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012856 packing Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/647—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
Al codificar una secuencia de fotogramas (113), se aplica una transformada lineal (101), tal como, por ejemplo, una transformada wavelet (104), a las secuencias de fotogramas fotograma a fotograma. Al menos una parte de un cuadro transformado linealmente así obtenido se codifica en el modo inter sobre la base de una representación diferencial del cuadro transformado linealmente. La representación diferencial corresponde a una diferencia entre, por un lado, la parte del cuadro transformado linealmente y, por otro lado, una representación de una parte correspondiente de al menos otro cuadro transformado linealmente. A continuación, se aplica la compresión de datos (106, 107) a la representación diferencial de la parte del cuadro transformado linealmente. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Codificador y método de codificar una secuencia de fotogramas
Campo de la invención
Un aspecto de la invención se refiere a un codificador adaptado para codificar una secuencia de fotogramas. El codificador puede utilizarse, por ejemplo, para codificar un flujo de vídeo para una transmisión o almacenamiento eficientes, o ambos. Otros aspectos de la invención se refieren a un método de codificar una secuencia de fotogramas, un programa informático para un codificador, un decodificador y un método de decodificar una secuencia de fotogramas codificada.
Antecedentes de la invención
La patente US 9.332.258 menciona que la compresión de una imagen digital se consigue típicamente en 3 pasos: transformación decorrelativa, codificación de entropía y asignación de tasa. Una transformación decorrelativa reduce entropía: una imagen transformada puede tener menor entropía porque las probabilidades de ocurrencia se concentran en un pequeño subconjunto de valores de coeficiente. Las transformaciones decorrelativas comúnmente utilizadas en compresión de imágenes son la transformada de color, la inter/intra predicción, la DCT o las transformadas wavelet. La codificación de entropía reduce el tamaño de datos de la imagen transformada: una menor cantidad de datos puede representar la imagen transformada. Finalmente, la asignación de tasa selecciona los datos que formarán parte de un flujo de salida de imagen comprimida para lograr una relación de compresión deseada.
La patente US 9.332.258 describe una técnica para comprimir un flujo de datos de entrada en un flujo de datos de salida que tiene una eficiencia de compresión aceptable mientras minimiza la complejidad de codificador y decodificador. Una secuencia de palabras de m bits en el flujo de datos de entrada son agrupadas en grupos de n palabras de m bits, siendo n mayor o igual a 2. Para cada grupo, se detecta un valor de un Índice de Línea Codificada Más Grande (GCLI por sus siglas en inglés, Greatest Coded Line Index). El GCLI es el índice del bit no cero de mayor peso de entre los bits, excluyendo cualquier bit de signo, de las palabras del grupo. El flujo de datos de salida comprende entonces un grupo de n palabras de bits GCLI correspondientes a las n palabras de m bits del grupo en cuestión en el flujo de entrada. Los bits GCLI de cada palabra son los bits GCLI de menor peso de la palabra correspondiente en el flujo de entrada, y el valor del GCLI.
El documento EP 0 739 137 A2 divulga un fotograma inter-codificado en el dominio de transformación. El componente Y de un fotograma se divide en sub-bandas mediante una transformada wavelet. Los coeficientes transformados y cuantizados, obtenidos por una segunda transformada, se descuantifican y se realiza una transformada de bloque inversa antes de tomar la diferencia.
Resumen de la invención
Existe la necesidad de una solución mejorada que permita codificar una secuencia de fotogramas que cumpla mejor al menos uno de los siguientes criterios: alta compresión, buena calidad de imagen y coste moderado.
De acuerdo con un aspecto de la invención como se define en la reivindicación 1, se proporciona un codificador adaptado para codificar una secuencia de fotogramas.
De acuerdo con otros aspectos de la invención como se definen en las reivindicaciones 12, 13 y 14, se proporciona un método de codificar una secuencia de fotogramas, un programa informático para un codificador y un decodificador, respectivamente.
Una diferencia principal con esquemas de codificación convencionales es que, en el modo inter, se procesa la representación diferencial de al menos una porción del fotograma transformado linealmente en vez de una representación diferencial de un fotograma, o una porción del mismo, en su forma original. Esto permite implementaciones de menor complejidad en términos de hardware o software, o ambos, lo que, a su vez, permite implementaciones de bajo coste y bajo consumo de energía. Además, aplicar codificación en modo inter permite lograr alta compresión sin comprometer calidad de imagen significativamente.
El hecho de que se codifica una diferencia entre fotogramas transformados linealmente en vez de una diferencia entre fotogramas originales no afecta, en principio, de manera adversa a la calidad de imagen. Esto se debe a que una operación de sustracción posterior a una transformación lineal es equivalente a una operación de sustracción anterior a la transformación lineal. Aplicando una inversa de la transformada lineal a una representación diferencial obtenida por la operación de sustracción posterior a la transformada lineal, producirá una representación diferencial obtenida por la operación de sustracción anterior a la transformada lineal. En cambio, aplicando la transformada
lineal a la representación diferencial obtenida por la operación de sustracción anterior a la transformada lineal, producirá la representación diferencial obtenida por la operación de sustracción posterior a la transformada lineal.
Debe notarse que, en un codificador como el definido anteriormente, el conjunto de codificación no necesita llevar a cabo ninguna otra transformación, que puede ser decorrelativa. Así, en tal codificador, los fotogramas transformados linealmente no necesitan someterse a otra transformación que pueda reducir entropía. Más bien, la compresión de datos que se aplica a una representación diferencial como la descrita anteriormente puede consistir en aplicar directamente codificación de entropía a la representación diferencial para representar la representación diferencial con menos datos.
A efectos ilustrativos, algunas realizaciones de la invención se describen en detalle con referencia a los dibujos adjuntos. En esta descripción, se presentarán características adicionales, algunas de las cuales se definen en las reivindicaciones dependientes, y las ventajas serán evidentes.
Breve descripción de los dibujos
La FIG. 1 es un diagrama de bloques de un codificador de vídeo.
La FIG. 2 es un diagrama de frecuencias que ilustra las sub-bandas que define el codificador de vídeo. La FIG. 3 es un diagrama pictórico de un fotograma transformado linealmente producido en el codificador de vídeo.
La FIG. 4 es un diagrama de bloques de un módulo de selección de modo de codificación en el codificador de vídeo.
La FIG. 5 es un diagrama conceptual de una extracción de un valor GCLI de un grupo de cuatro muestras en el módulo de selección de modo de codificación.
La FIG. 6 es un diagrama pictórico del fotograma transformado linealmente indicando porciones que están codificadas en un modo intra y otras porciones que están codificadas en un modo inter.
La FIG. 7 es un diagrama de bloques de un conjunto búfer de fotograma de referencia en el codificador de vídeo.
La FIG. 8 es un diagrama de bloques de un decodificador de vídeo.
Descripción de algunas realizaciones
La FIG. 1 ilustra esquemáticamente un codificador de vídeo 100. La FIG. 1 proporciona un diagrama de bloques del codificador de vídeo 100. El codificador de vídeo 100 puede estar, por ejemplo, comprendido en un dispositivo de comunicación que puede capturar un vídeo, o que puede almacenar un vídeo, o ambos, como, por ejemplo, un teléfono inteligente. El codificador de vídeo 100 puede habilitar al dispositivo de comunicación para transferir eficientemente un vídeo a otro dispositivo de comunicación a través de un canal de comunicación que puede ser proporcionado por una red.
El codificador de vídeo 100 comprende un conjunto de transformada lineal 101 y un conjunto de codificación 102. El conjunto de transformada lineal 101 puede comprender un módulo de transformada de color reversible 103 y un módulo de transformada wavelet 104. El conjunto de codificación 102 puede comprender un módulo de selección de modo de codificación 105, un módulo de cuantificación 106, un módulo de codificación de entropía 107, un módulo de empaquetado de datos 108, un módulo de asignación de tasa 109, un módulo de descuantificación 110, un módulo de reconstrucción 111, y un conjunto de búfer de fotograma de referencia 112.
El codificador de vídeo 100 funciona básicamente como sigue. El codificador de vídeo 100 recibe un flujo de vídeo 113, que comprende una secuencia de fotogramas. En respuesta, el codificador de vídeo 100 emite un flujo de vídeo codificado 114, que puede tener una tasa de datos significativamente menor que el flujo de vídeo 113 recibido.
Un fotograma en el flujo de vídeo 113 recibido puede considerarse como una matriz de píxeles, que comprende líneas de píxeles y columnas de píxeles. Un píxel puede comprender tres componentes, los cuales, en combinación, transmiten información de brillo e información de color perteneciente al píxel. Los tres componentes se expresan de acuerdo con un sistema de coordenadas de color, tal como, por ejemplo, el sistema de coordenadas de color denominado RGB.
El módulo de transformación de color reversible 103 convierte los tres componentes de un píxel en tres componentes de otro sistema de coordenadas de color. Tal transformación de color reversible puede reducir la entropía. En consecuencia, el módulo de transformación de color reversible proporciona un fotograma transformado de color reversible, que puede tener menos entropía que el fotograma en su forma original. Esto contribuye a la compresión de imagen.
Por conveniencia y simplicidad, se asume que el fotograma transformado de color reversible es una matriz de píxeles, por el cual los píxeles tienen un componente solamente, tal como, por ejemplo, un componente de luminancia (Y) solamente. Es decir, se asume que el fotograma transformado de color reversible es una matriz única de muestras que representa un único componente mientras que, de hecho, el fotograma transformado de color reversible puede considerarse como un conjunto de tres matrices de muestras, cada una de las cuales representa un componente particular. Por ejemplo, el fotograma transformado de color reversible puede de hecho comprender una matriz de muestras que represente el componente de luminancia (Y), otra matriz de muestras que represente un primer componente de color (Cr) y todavía otra matriz de muestras que represente un segundo componente de color (Cb). Estas matrices de muestras pueden ser procesadas independientemente como se describe a continuación. Una muestra puede tener la forma de una palabra binaria que expresa un valor del componente en cuestión.
El módulo de transformada wavelet 104 aplica una transformada wavelet al fotograma transformado de color reversible. La transformada wavelet implica operaciones de filtrado y submuestreo. Estas operaciones producen un conjunto de respectivos fotogramas de sub banda que constituyen conjuntamente un fotograma transformado linealmente. Un fotograma de sub-banda representa el contenido espectral del fotograma transformado de color reversible en una banda espectral particular, que se denomina sub-banda. La transformada wavelet que el módulo de transformada wavelet 104 lleva a cabo puede ser similar a la de un esquema de codificación de imagen basado en wavelet existente, tal como, por ejemplo, el esquema de codificación de imagen conocido como JPEG-XS.
La FIG. 2 ilustra conceptualmente las respectivas sub-bandas 201-207 que el módulo de transformada wavelet 104 define. Las respectivas sub-bandas 201-207 se representan en un diagrama de frecuencia bidimensional, que tiene un eje horizontal que representa la frecuencia en dirección horizontal Fh, y un eje vertical que representa la frecuencia en dirección vertical Fv. El módulo de transformada wavelet 104 proporciona así respectivos fotogramas de sub-bandas para estas respectivas sub-bandas 201-207. Un fotograma de sub-banda puede considerarse como una matriz de coeficientes de sub-banda. La matriz de coeficientes de sub-banda tiene un tamaño con respecto al fotograma transformado de color reversible que depende de un factor de submuestreo que el módulo de transformada wavelet 104 ha aplicado para obtener el fotograma de sub-banda en cuestión.
La FIG. 3 ilustra esquemáticamente respectivos fotogramas de sub-banda 301-307 que constituyen conjuntamente un fotograma transformado linealmente. Los respectivos fotogramas de sub-banda 301-307 se representan en un diagrama pictórico. Un fotograma de sub-banda está asociado con una sub-banda específica ilustrada en la FIG.
2. La FIG. 3 indica la sub-banda específica a la que está asociado un fotograma de sub-banda mediante el signo de referencia asociado a esta sub-banda específica.
El fotograma transformado linealmente comprende cuatro fotogramas de sub-banda de baja frecuencia relativamente pequeños 301-304 y tres fotogramas de sub-banda de alta frecuencia relativamente grandes 305 307. Para los tres fotogramas de sub-banda de alta frecuencia 305-307, el factor de submuestreo es dos. Para los cuatro fotogramas de sub-banda de baja frecuencia 301-304, el factor de submuestreo es cuatro. Entre los cuatro fotogramas de sub-banda de baja frecuencia 301-304, hay un fotograma de sub-banda más bajo 301, que corresponde con una versión filtrada paso bajo y reducida de escala del fotograma transformado de color reversible. En este contexto, la reducción de escala equivale a un submuestreo.
Un fotograma de sub-banda comprende información espectral y espacial como puede entenderse de la FIG. 3. Esta propiedad se explota en el codificador de vídeo 100 ilustrado en la FIG. 1 y descrito con mayor detalle. A saber, una cierta porción de un fotograma de sub-banda puede ser asociada con una porción similarmente localizada en el fotograma transformado de color reversible, así como en el fotograma a codificar.
Refiriéndose de nuevo a la FIG. 1, el conjunto de codificación 102 puede codificar los respectivos fotogramas de sub-banda 301-307 independientemente, con la excepción de la asignación de tasa y el empaquetado de datos donde se combinan fotogramas de sub-banda comprimidos. Es decir, el módulo de selección de modo de codificación 105, el módulo de cuantificación 106, el módulo de descuantificación 110, así como el módulo de codificación de entropía 107 pueden procesar secuencialmente los respectivos fotogramas de sub-banda 301-307 independientemente. En una realización alternativa, el conjunto de codificación 102 puede operar de acuerdo con un esquema de procesamiento paralelo. En tal realización, el conjunto de codificación 102 puede comprender múltiples módulos del siguiente tipo: selección del modo de codificación, cuantificación, descuantificación y codificación de entropía. A saber, puede haber un módulo así para cada fotograma de sub-banda comprendido en el fotograma transformado linealmente. A continuación, se describe la codificación de un único fotograma de sub banda por razones de simplicidad y conveniencia. Otros fotogramas de sub-banda se codifican de forma similar.
Para codificar un fotograma de sub-banda, el conjunto de búfer de fotograma de referencia 112 comprende una representación de un fotograma de sub-banda correspondiente relacionado con otro fotograma en el flujo de vídeo 113 que ha sido codificado previamente. El término correspondiente expresa que ambos fotogramas de sub-banda mencionados están asociados a una misma sub-banda. La representación del fotograma de sub-banda
correspondiente relacionado con el fotograma que ha sido codificado previamente se denominará en lo sucesivo fotograma de sub-banda previo correspondiente por conveniencia y concisión. Más generalmente, para codificar un fotograma transformado linealmente, el conjunto de búfer de fotograma de referencia 112 puede comprender una representación de otro fotograma transformado linealmente que ha sido codificado previamente. Ambos fotogramas transformados linealmente antes mencionados comprenden respectivos fotogramas de sub-banda 301-307 como se ilustra en la FIG. 3.
El conjunto de codificación 102 puede codificar un fotograma de sub-banda porción a porción. Una porción de un fotograma de sub-banda a codificar puede comprender un grupo de 32 muestras en una misma línea. Dependiendo del factor de submuestreo, que puede ser 2 o 4 en esta realización, dicha porción de un fotograma de sub-banda puede corresponder con un bloque de 64 por 2 muestras o un bloque de 128 por 4 muestras, respectivamente, en el fotograma a codificar. Una porción del fotograma de sub-banda a codificar será referida de aquí en adelante como porción del fotograma de sub-banda en aras de la conveniencia y de la concisión.
Para codificar una porción del fotograma de sub-banda, el módulo de selección de modo de codificación 105 recupera del conjunto de búfer de fotograma de referencia 112 una porción correspondiente en el fotograma de sub-banda previo correspondiente. En esta realización, la porción correspondiente tiene una posición en el fotograma de sub-banda previo correspondiente que es similar a la de la porción del fotograma de sub-banda que se va a codificar. La porción correspondiente en el fotograma de sub-banda previo correspondiente será referida de aquí en adelante como porción de fotograma de sub-banda previo correspondiente en aras de la conveniencia y de la concisión.
La FIG. 4 ilustra esquemáticamente el módulo de selección de modo de codificación 105 en más detalle. La FIG.
4 proporciona un diagrama de bloques del módulo de selección de modo de codificación 105. El módulo de selección de modo de codificación 105 comprende un comparador 401, dos extractores de índice de línea codificada más grande 402, 403, un búfer de datos 404, una unidad de decisión de modo de codificación 405, y un multiplexor 406. Uno de los dos extractores de índice de línea codificada más grande se denominará en lo sucesivo extractor GCLI inter-modo 402 por razones de conveniencia. El otro extractor de índice de línea codificada más grande denominará en lo sucesivo extractor GCLI intra-modo 403.
El módulo de selección de modo de codificación 105 funciona básicamente como sigue. El comparador 401 proporciona una representación diferencial de la porción de fotograma de sub-banda a codificar. La representación diferencial se corresponde con una diferencia entre la porción de fotograma de sub-banda a codificar y la porción de fotograma de sub-banda previo correspondiente, que ha sido recuperada del conjunto de búfer de fotograma. El multiplexor 406 recibe la representación diferencial de la porción de fotograma de sub-banda a codificar en una entrada, y la propia porción de fotograma de sub-banda en otra entrada.
El módulo de selección de modo de codificación 105 hace que el conjunto de codificación 102 codifique la porción de fotograma de sub-banda en un modo intra o en un modo inter. En el modo intra, el multiplexor 406 pasa la porción de fotograma de sub-banda como está en el fotograma transformada linealmente al módulo de cuantificación 106 ilustrado en la FIG. 1. Por consiguiente, en el modo intra, la porción de fotograma de sub-banda como está en el fotograma transformado linealmente se codifica, lo que implica la compresión de datos por el módulo de cuantificación 106 y el módulo de codificación de entropía 107. En el modo inter, el multiplexor 406 pasa la representación diferencial de la porción de fotograma de sub-banda al cuantificador. En consecuencia, en el modo inter, la representación diferencial de la porción de fotograma de sub-banda es codificada, lo que igualmente involucra compresión de datos por el módulo de cuantificación 106 y el módulo de codificación de entropía 107.
Una diferencia principal con los esquemas de codificación convencionales es que, en el modo inter, se procesa la representación diferencial de al menos una porción del fotograma transformado linealmente en lugar de una representación diferencial de un fotograma, o una porción del mismo, en su forma original. Por consiguiente, un esquema de codificación de acuerdo con la presente divulgación no requiere aplicar una transformada lineal inversa a al menos una porción de un fotograma transformado linealmente, mientras que la aplicación de la transformada lineal inversa es necesaria en los esquemas de codificación convencionales. Por lo tanto, un esquema de codificación de acuerdo con la presente divulgación permite implementaciones de menor complejidad en términos de hardware o software, o ambos, lo que, a su vez, permite implementaciones de bajo coste y bajo consumo de energía.
El hecho de que se codifique una diferencia entre fotogramas transformados en lugar de una diferencia entre fotogramas originales no afecta, en principio, de manera adversa a la calidad de imagen. Esto se debe a que la transformada de color reversible y la transformada wavelet mencionadas anteriormente son lineales. Esto implica que una operación de sustracción posterior a estas transformaciones es equivalente a una operación de sustracción anterior a estas transformaciones. Aplicando una inversa de estas transformadas a una representación diferencial obtenida por la operación de sustracción posterior a estas transformadas, producirá una representación diferencial obtenida por la sustracción anterior a estas transformadas. En cambio, aplicando las correspondientes
transformaciones a la representación diferencial obtenida por la operación de sustracción antes de estas transformaciones, producirá la representación diferencial obtenida por la operación de sustracción posterior a estas transformaciones.
El módulo de selección de modo de codificación 105 decide codificar una porción de fotograma de sub-banda en el modo intra o en el modo inter de la siguiente manera. El extractor GCLI inter-modo 402 proporciona un conjunto de ocho valores GCLI pertenecientes a ocho grupos de cuatro muestras comprendidos en la representación diferencial de la porción de fotograma de sub-banda. Estos valores GCLI se denominarán en lo sucesivo valores GCLI inter-modo en aras de la conveniencia. El extractor GCLI intra-modo 403 también proporciona un conjunto de ocho valores GCLI pertenecientes a ocho grupos de cuatro muestras comprendidos en la porción de fotograma de sub-banda a codificar. En lo sucesivo se hará referencia a estos valores GCLI como valores GCLI intra-modo en aras de la conveniencia. El extractor GCLI inter-modo 402 y el extractor GCLI intra-modo 403 pueden operar cada uno de una manera que se describe en la patente US 9,332,258. Esta operación, que consiste en la extracción GCLI, se resumirá brevemente a continuación.
La FIG. 5 ilustra esquemáticamente la extracción de un valor GCLI de un grupo de cuatro muestras 501-504. La FIG. 5 proporciona un diagrama conceptual de esta extracción en el que se representan las cuatro muestras 501 504, que están en forma de palabras binarias. En este ejemplo, las palabras binarias comprenden cada una una pluralidad jerárquica de bits que definen un valor. Las palabras binarias pueden comprender además cada una un bit de signo, que no se representa en la FIG. 5 en aras de la simplicidad.
En la pluralidad jerárquica de bits, cada bit tiene un rango jerárquico particular, indicado por M,..5, 4, 3, 2, 1. M es un valor entero correspondiente al número de bits comprendidos en la pluralidad jerárquica de bits. El bit que tiene el rango jerárquico M más alto suele denominarse bit más significativo. El bit que tiene el rango jerárquico 1 más bajo suele denominarse bit menos significativo.
En el grupo de cuatro muestras, los bits que tienen el mismo rango jerárquico constituyen un denominado plano de bits. Así, el grupo de cuatro muestras comprende tantos planos de bits como bits hay en la pluralidad jerárquica de bits. Cada plano de bits tiene un rango jerárquico correspondiente al de los bits comprendidos en el plano de bits. Los bits más significativos constituyen un plano de bits más significativo, que es el rango jerárquico M más alto, mientras que los bits menos significativos constituyen un plano de bits menos significativo, que es el rango jerárquico 1 más bajo.
La extracción de un valor GCLI consiste en determinar qué plano de bits comprende al menos un bit no cero empezando por el plano de bits más significativo y yendo hacia el plano de bits menos significativo. El valor GCLI indica el rango jerárquico de este plano de bits. El valor GCLI puede corresponder, por ejemplo, a un valor entero que expresa el rango jerárquico en el que el valor entero 1 indica el plano de bits menos significativo y el valor entero M indica el plano de bits más significativo,
En el ejemplo ilustrado en la FIG. 5, los planos de bits de M a 5 comprenden cada uno solo bits cero. Tales planos de bit, que comprenden cero bits solamente, serán referidos de aquí en adelante como planos de bit cero por razones de conveniencia. En el ejemplo ilustrado en la FIG. 5, el plano de bit 4 es el plano de bit de mayor rango que comprende al menos un bit no cero. En este ejemplo, el valor GCLI puede por lo tanto ser 4.
El búfer almacena temporalmente los ocho valores GCLI que el extractor GCLI inter-modo 402 proporciona sobre la base de la representación diferencial de la porción de fotograma de sub-banda a codificar. El búfer también almacena temporalmente los ocho valores GCLI que el extractor GCLI intra-modo proporciona sobre la base de la porción de fotograma de sub-banda a codificar.
La unidad de decisión de modo de codificación 405 calcula una suma de los ocho valores GCLI que el extractor GCLI inter-modo 402 ha proporcionado. Esta suma se denominará en lo sucesivo valor de suma GCLI inter-modo. La unidad de decisión de modo de codificación 405 también calcula una suma de los ocho valores GCLI que el extractor GCLI intra-modo 403 ha proporcionado. Esta suma se denominará en lo sucesivo valor de suma GCLI intra-modo.
El valor de suma GCLI intra-modo indica un factor de compresión de datos que puede ser alcanzado cuando la porción de fotograma de sub-banda es codificada en el modo intra. El valor de suma GCLI inter-modo indica un factor de compresión de datos que puede ser alcanzado cuando la porción de fotograma de sub-banda es codificada en el modo inter. De hecho, los valores de suma GCLI mencionados anteriormente representan cada uno una estimación del factor de compresión de datos.
El módulo de selección de modo de codificación 105 codifica la porción de fotograma de sub-banda en un modo intra en caso de que el valor de suma GCLI intra-modo sea menor o igual que el valor de suma GCLI inter-modo. Para ello, la unidad de decisión de modo de codificación 405 controla el multiplexor 406 para que el multiplexor
406 pase la porción de fotograma de sub-banda a codificar a una salida del módulo de selección de modo de codificación 105. En consecuencia, en el modo intra, la porción de fotograma de sub-banda es además procesada por el módulo de cuantificación 106, el módulo de codificación de entropía 107, y el módulo de empaquetado de datos 108.
El módulo de selección de modo de codificación 105 puede codificar la porción de fotograma de sub-banda en el modo intra o en un modo inter en caso de que el valor de suma GCLI inter-modo sea menor que el valor de suma GCLI intra-modo. El modo intra se selecciona en caso de que la unidad de decisión de modo de codificación 405 determine que un número predefinido K de porciones de fotograma de sub-banda previo correspondiente han sido todas codificadas en el modo inter, representando K un valor entero. En ese caso, la porción de fotograma de sub banda se codifica forzosamente en el modo intra, mientras que de otra forma se codificaría en el modo inter. Al hacer esto, la unidad de decisión de modo de codificación 405 asegura que al menos una porción de fotograma de sub-banda en una secuencia de K+1 porciones de fotograma de sub-banda correspondientes se codifica en el modo intra. Por lo tanto, 1 sobre K+1 puede considerarse que representa una frecuencia mínima con la que las porciones de fotograma de sub-banda correspondientes se codifican en el modo intra.
El módulo de selección de modo de codificación 105 codifica la porción de fotograma de sub-banda en el modo inter en caso de que el valor de suma GCLI inter-modo sea menor que el valor de suma GCLI intra-modo y menos de K fotogramas de sub-banda previos correspondientes hayan sido codificadas en el modo inter. En ese caso, la unidad de decisión de modo de codificación 405 controla el multiplexor 406 de forma que el multiplexor 406 pasa la representación diferencial de la porción de fotograma de sub-banda a ser codificada a una salida del módulo de selección de modo de codificación 105. Por consiguiente, en el modo inter, la representación diferencial es además procesada por el módulo de cuantificación 106, el módulo de codificación de entropía 107, y el módulo de empaquetado de datos 108.
El módulo de selección de modo de codificación 105 evalúa por lo tanto si el factor de compresión de datos indicado por el valor de suma GCLI inter-modo es mayor que el indicado por el valor de suma GCLI intra-modo, o no. En caso de que aplique la condición antes mencionada, la porción de fotograma de sub-banda se codifica, en principio, en el modo inter. No obstante, el módulo de selección del modo de codificación 105 puede decidir codificar forzosamente la porción de fotograma de sub-banda en el modo intra para garantizar una frecuencia mínima predefinida con la que se aplica la codificación en el modo intra. En caso de que no aplique la condición antes mencionada, la porción de fotograma de sub-banda se codifica en el modo intra.
El módulo de selección de modo de codificación 105 proporciona así varios tipos de datos de salida para una porción de fotograma de sub-banda a codificar. El módulo de selección de modo de codificación 105 proporciona datos de fotograma de sub-banda a comprimir. Los datos de fotograma de sub-banda son bien la porción de fotograma de sub-banda presente en el fotograma transformado linealmente, o la representación diferencial de la porción de fotograma de sub-banda, dependiendo de si se ha seleccionado el modo intra o el modo inter, respectivamente. Además, el módulo de selección de modo de codificación 105 proporciona una bandera de modo de codificación, que indica si la porción de fotograma de sub-banda se codifica en el modo intra según el modo inter. El módulo de selección de modo de codificación 105 proporciona además valores de codificación GCLI, que son los valores GCLI intra-modo, o los valores GCLI inter-modo descritos anteriormente, dependiendo de si la porción de fotograma de sub-banda se codifica en modo intra o en modo inter, respectivamente.
La FIG. 6 ilustra esquemáticamente el mismo fotograma transformado linealmente que el ilustrado en la FIG. 3, donde se indican porciones de fotograma de sub-banda que están codificadas en modo intra, así como otras porciones de fotograma de sub-banda que están codificadas en modo inter. Las porciones de fotograma de sub banda que se codifican en el modo intra se indican mediante rectángulos de tonos relativamente oscuros. Las porciones de fotograma de sub-banda que se codifican en el modo inter se indican mediante rectángulos de tonos relativamente claros.
La FIG. 6 ilustra claramente que los fotogramas de sub-banda se codifican independientemente. Por ejemplo, una primera porción de fotograma de sub-banda en el fotograma de sub-banda inferior 301 puede codificarse en el modo inter, mientras que una primera porción de fotograma de sub-banda en otro fotograma de sub-banda de baja frecuencia 302, 303, 304, puede codificarse el modo intra.
Como se ha mencionado anteriormente, la unidad de decisión de modo de codificación 405 garantiza que, en una secuencia de fotogramas transformados linealmente, porciones de fotogramas de sub-banda correspondientes se codifican periódicamente en el modo intra. Esto puede considerarse como un mecanismo de refresco, que permite alcanzar rápidamente una calidad de imagen relativamente buena en un extremo de decodificación. Un decodificador de vídeo puede bloquearse rápidamente, por así decirlo, en el flujo de vídeo codificado 114 que proporciona el codificador de vídeo 100 ilustrado en la FIG. 1. Además, esto también permite una transmisión de vídeo más robusta. En caso de que una parte del flujo de vídeo codificado 114 se pierda debido, por ejemplo, a errores de transmisión, una zona afectada de un fotograma puede restaurarse con relativa rapidez.
En una secuencia de fotogramas de sub-banda correspondientes, que se refieren todos a la misma sub-banda, una porción de un fotograma de sub-banda que se codifica forzosamente en el modo intra puede diferir en posición con respecto a la de una porción en un fotograma de sub-banda precedente que se ha codificado forzosamente en el modo intra. Por ejemplo, refiriéndonos a la FIG. 6, supongamos que la primera porción de fotograma de sub banda en el fotograma de sub-banda inferior 301 ha sido codificada forzosamente en el modo intra. En ese caso, en un fotograma de sub-banda inferior posterior, una segunda porción de fotograma de sub-banda, que está posicionada después de la primera porción de fotograma de sub-banda, puede ser codificada forzosamente en el modo intra. En otro fotograma de sub-banda inferior posterior, una tercera porción de fotograma de sub-banda, situada después de la segunda porción de fotograma de sub-banda, puede codificarse forzosamente en el modo intra, y así sucesivamente. Esto puede considerarse como un esquema de desplazamiento o desfase, según el cual las porciones de fotograma de sub-banda se codifican periódicamente en el modo intra. Este esquema contribuye a una asignación eficiente de la tasa, así como a un decodificador de vídeo que bloquee rápidamente el flujo de vídeo codificado 114.
Una frecuencia mínima con la que porciones de fotograma de sub-banda se codifican forzosamente en el modo intra puede depender del fotograma de sub-banda al que pertenecen estas porciones de fotograma de sub-banda. Refiriéndose a las FIGS. 3 y 6, la frecuencia mínima puede ser mayor para los fotogramas de sub-banda de baja frecuencia 301-304 que para los fotogramas de sub-banda de alta frecuencia 305-307. Es decir, el número K+1 mencionado anteriormente, que representa la inversa de la frecuencia mínima, puede ser mayor para los fotogramas de sub-banda de alta frecuencia 305-307 que para los fotogramas de sub-banda de baja frecuencia 301-304. Esto permite obtener rápidamente una representación de vídeo de baja resolución de calidad aceptable en un extremo de decodificación, y una representación de vídeo de alta resolución un poco más tarde, sin comprometer significativamente la eficacia de la compresión. Por ejemplo, en una realización, la representación de baja resolución puede obtenerse después de 4 fotogramas, mientras que la representación de alta resolución puede obtenerse después de 32 fotogramas.
Haciendo referencia de nuevo a la FIG. 1, el módulo de cuantificación 106 cuantiza los datos de fotograma de sub banda que proporciona el módulo de selección de modo de codificación 105. En consecuencia, el módulo de cuantificación 106 proporciona datos de fotograma de sub-bandas cuantificados. El módulo de cuantificación 106 aplica un factor de cuantificación al cuantificar los datos de fotograma de sub-banda. En caso de que el factor de cuantificación sea relativamente alto, los datos de fotograma de sub-banda se cuantifican de manera gruesa proporcionando una compresión de datos relativamente alta. Por el contrario, si el factor de cuantificación es relativamente bajo, los datos de fotograma de sub-banda se cuantifican finamente, lo que proporciona una compresión de datos relativamente baja. El factor de cuantificación puede ser controlado por el módulo de asignación de tasa 109 para que el flujo de vídeo codificado 114 tenga una tasa de datos deseada mientras se optimiza la calidad de imagen.
El módulo de codificación de entropía 107 aplica operaciones de codificación de entropía a los datos de fotograma de sub-banda cuantificados. Las operaciones de codificación de entropía pueden comprender, por ejemplo, operaciones descritas en la patente US 9.332.258 ya mencionada anteriormente. En ese caso, el módulo de codificación de entropía 107 recibe valores de codificación GCLI del módulo de selección de modo de codificación 105 descrito anteriormente. Los valores de codificación GCLI indican planos de bits cero en los datos de fotograma de sub-banda cuantificados. El módulo de codificación de entropía 107 puede entonces eliminar estos planos de bits cero. En efecto, los planos de bits cero son reemplazados por los valores de codificación GCLI que indican dónde se encuentran estos planos de bits en los datos del fotograma de sub-banda. El módulo de codificación de entropía 107 también puede aplicar codificación de entropía a los valores de codificación GCLI para que estos valores se expresen con la menor cantidad de datos posible. La patente US 9.332.258 describe algunas técnicas de codificación de entropía que pueden utilizarse a tal efecto.
Además de eliminar planos de bits cero, el módulo de codificación de entropía 107 también puede truncar muestras en los datos de fotograma de sub-banda cuantificados. Tal truncamiento puede implicar la eliminación de uno o más planos de bits menos significativos. Esto también se describe en la patente US 9.332.258. El módulo de asignación de tasa 109 puede controlar el truncamiento, decidiendo si uno o más planos de bits menos significativos deben ser eliminados y, en caso afirmativo, cuántos. El módulo de asignación de tasa 109 puede controlar el truncamiento para conseguir que el flujo de vídeo codificado 114 tenga la velocidad de datos deseada optimizando al mismo tiempo la calidad de la imagen.
El módulo de empaquetado de datos 108 empaqueta varios tipos de datos en el flujo de vídeo codificado 114. Esto incluye los datos de fotograma de sub-banda codificados de entropía que proporciona el módulo de codificación de entropía 107. Esto puede incluir además, por ejemplo, valores de codificación GCLI de entropía, así como banderas de modo de codificación y factores de cuantificación que el módulo de cuantificación 106 ha aplicado.
El módulo de asignación de tasa 109 puede controlar el módulo de cuantificación 106 y el módulo de codificación de entropía 107 en base a los valores de codificación GCLI que el módulo de selección de modo de codificación 105 proporciona. Los valores de codificación GCLI proporcionan una estimación de un factor de compresión de datos que puede lograrse eliminando únicamente planos de bits cero. El módulo de asignación de tasa 109 puede comparar este factor de compresión de datos con un factor de compresión de datos deseado, que expresa la tasa de datos deseada del flujo de vídeo codificado 114. Si, por ejemplo, hay una brecha relativamente grande entre los factores de compresión de datos antes mencionados, el módulo de asignación de tasa 109 puede decidir que debe aplicarse un factor de cuantificación relativamente alto, o que debe aplicarse un truncamiento relativamente severo, o ambos.
Como se ha mencionado anteriormente, el conjunto de búfer de fotograma de referencia 112 puede comprender una representación de un fotograma transformado linealmente previo que ya ha sido codificado. Esta representación constituye una referencia para la codificación inter-modo modos de porciones de fotogramas de sub-bandas de un fotograma transformado linealmente que se va a codificar en ese momento. La representación del fotograma transformado linealmente previo puede obtenerse como sigue.
El módulo de descuantificación 110 aplica una cuantificación inversa a los datos de fotograma de sub-banda cuantificados que proporciona el módulo de cuantificación 106. Por lo tanto, el módulo de descuantificación 110 proporciona datos de fotograma de sub-banda descuantificados, que pueden ser considerados como una representación más gruesa de los datos de fotograma de sub-banda que el módulo de selección de modo de codificación 105 ha producido. En el caso de la codificación intra-modo, los datos de fotograma de sub-banda descuantificados son una representación más gruesa de la porción de fotograma de sub-banda presente en el fotograma transformado linealmente. En el caso de la codificación inter-modo, los datos de fotograma de sub banda descuantificados son una representación más gruesa de la representación diferencial de la porción de fotograma de sub-banda.
El módulo de reconstrucción 111 procesa los datos de fotograma de sub-banda descuantificados en el caso de codificación inter-modo. El módulo de reconstrucción 111 recupera la correspondiente porción de fotograma de sub-banda previo mencionado anteriormente del conjunto de búfer de fotograma de referencia 112. Es decir, la correspondiente porción de fotograma de sub-banda previo se recupera del conjunto de búfer de fotograma de referencia 112. Es decir, la porción de fotograma de sub-banda previo correspondiente se ha utilizado para producir la representación diferencial de la porción de fotograma de sub-banda en base a la cual se han producido los datos de fotograma de sub-banda descuantificados. A continuación, el módulo de reconstrucción 111 añade la porción de fotograma de sub-banda previo correspondiente a los datos de fotograma de sub-banda descuantificados. Por lo tanto, se obtiene una versión reconstruida de la porción de fotograma de sub-banda que se ha codificado en ese momento. El módulo de reconstrucción 111 aplica la versión reconstruida de la porción de fotograma de sub-banda al conjunto de búfer de fotograma de referencia 112.
El módulo de reconstrucción 111 pasa directamente los datos de fotograma de sub-banda descuantificados al conjunto de búfer de fotograma de referencia 112 en el caso de codificación intra-modo, es decir, en ese caso, los datos de fotograma de sub-banda descuantificados constituyen una versión de reconstrucción de la porción de fotograma de sub-banda.
Así, en un proceso de codificación, el conjunto de búfer de fotograma de referencia 112 recibe sucesivamente porciones de fotograma de sub-banda reconstruidas que pueden formar conjuntamente un fotograma de sub banda reconstruido. Más generalmente, el conjunto de búfer de fotograma de referencia 112 recibe sucesivamente fotogramas de sub-banda reconstruidos que forman conjuntamente una versión reconstruida del fotograma transformado linealmente. Idealmente, la versión reconstruida del fotograma transformado linealmente se corresponde con una versión decodificada del fotograma transformado linealmente en un decodificador de vídeo del que se presentará una realización más adelante. Es decir, en términos generales, una referencia para codificar datos debería corresponderse de forma ideal con una referencia utilizada para decodificar esos mismos datos. Así, si una referencia utilizada para decodificar datos consiste en datos previamente decodificados, la referencia utilizada para codificar esos datos debería ser una versión decodificada de datos previamente codificados, en lugar de los datos en su forma original.
La FIG. 7 ilustra esquemáticamente el conjunto de búfer de fotograma de referencia 112. La FIG. 7 proporciona un diagrama de bloques del conjunto de búfer de fotograma de referencia 112. El conjunto de búfer de fotograma de referencia 112 comprende un codificador de entropía básico 701, una memoria búfer 702, y un decodificador de entropía básico 703.
El conjunto de búfer de fotograma de referencia 112 funciona básicamente como sigue. El codificador de entropía básico 701 aplica la extracción GCLI a la versión reconstruida de la porción de fotograma de sub-banda. Esta extracción GCLI puede ser similar a la descrita anteriormente con referencia a la FIG. 5. El codificador de entropía básico 701 elimina los planos de bits cero en respectivos grupos de muestras. El codificador de entropía básico
701 puede truncar aún más las muestras eliminando uno o más planos de bits menos significativos. Por tanto, se obtienen muestras reducidas, que pueden carecer de uno o más bits más significativos que son cero, y que pueden carecer de uno o más bits menos significativos que han sido truncados.
El codificador de entropía básico 701 produce una versión reconstruida comprimida de la porción de fotograma de sub-banda, que incluye las muestras reducidas. La versión reconstruida comprimida puede incluir además valores GCLI que han sido obtenidos por la extracción GCLI, descrita anteriormente con referencia a las FIGS. 4 y 5. La versión reconstruida comprimida puede comprender los valores GCLI en una forma codificada de entropía.
La memoria búfer 702 almacena la versión reconstruida comprimida de la porción de fotograma de sub-banda. Por consiguiente, en el proceso de codificación, la memoria búfer 702 almacena sucesivamente porciones de fotograma de sub-banda reconstruidas comprimidas que pueden formar conjuntamente un fotograma de sub banda reconstruido comprimido. Más generalmente, el conjunto de búfer de fotograma de referencia 112 almacena sucesivamente fotogramas de sub-banda reconstruidos comprimidos que forman conjuntamente una versión reconstruida comprimida del fotograma transformado linealmente.
El decodificador de entropía básico 703 descomprime una porción de fotograma de sub-banda reconstruida comprimida, que puede ser necesaria para la codificación en modo inter de una porción de fotograma de sub banda subsiguiente correspondiente. De esta manera, se obtiene la representación mencionada anteriormente de la porción de fotograma de sub-banda previo correspondiente.
El codificador de vídeo 100 ilustrado en la FIG. 1 aplica así compresión de búfer de fotograma. En consecuencia, una cantidad relativamente pequeña de memoria es suficiente para almacenar fotogramas de sub-bandas y, más generalmente, fotogramas transformados linealmente que son requeridos para la codificación en el modo inter. Además, la compresión de búfer de fotograma relaja los requisitos de ancho de banda relacionados con las transferencias de datos a la memoria búfer 702 y desde la memoria búfer 702, que se refieren a porciones de fotogramas de sub-bandas reconstruidas, Esto puede ser una ventaja significativa en realizaciones en las que la memoria búfer 702 está en la forma de un circuito de memoria externo, mientras que otras entidades del codificador de vídeo 100 están incorporadas en un circuito de procesamiento de señal. En tales realizaciones, así como en otras realizaciones, requisitos de ancho de banda relajados contribuye generalmente a lograr un consumo de energía relativamente bajo.
Sin embargo, la compresión de búfer de fotograma puede afectar hasta cierto punto a la calidad de imagen. Esto se debe a que la representación de la porción de fotograma de sub-banda previo correspondiente que está disponible para la codificación en modo inter es una versión más gruesa de la propia porción de fotograma de sub banda previo correspondiente. No obstante, en muchas realizaciones es posible configurar la compresión de búfer de fotograma de modo que una pérdida de calidad de imagen sea apenas perceptible visualmente, o incluso que no sea perceptible visualmente en absoluto. Es decir, la compresión de búfer de fotograma puede ser visualmente sin pérdidas. Además, en principio, la compresión de búfer de fotograma no afecta al retardo entre el inicio de la decodificación y el logro de una calidad de imagen satisfactoria.
La FIG. 8 ilustra esquemáticamente un decodificador de vídeo, representado por un diagrama de bloques. El decodificador de vídeo puede recibir y decodificar el flujo de vídeo codificado 114 producido por el codificador de vídeo 100 descrito anteriormente con referencia a las FIGS. 1-7. El decodificador de vídeo comprende un módulo de desempaquetado 801, un módulo de decodificación de entropía y descuantificación 802, un módulo de reconstrucción de decodificación 803, una memoria búfer de decodificación 804, un módulo de transformadas wavelet y de color inversos 805.
El decodificador de vídeo funciona básicamente como sigue. El módulo de desempaquetado 801 realiza operaciones inversas a aquellas realizadas por el módulo de empaquetado descrito anteriormente. En consecuencia, el módulo de desempaquetado 801 recupera varios tipos de datos del flujo de vídeo codificado 114, tales como datos de fotograma de sub-banda codificados de entropía; valores GCLI codificados de entropía, así como banderas de modo de codificación.
El módulo de decodificación de entropía y descuantificación 802 lleva a cabo operaciones inversas a las llevadas a cabo por el módulo de codificación de entropía 107 descrito anteriormente. Por ejemplo, el módulo de decodificación de entropía y descuantificación 802 puede recuperar valores GCLI codificados a partir de los valores GCLI codificados de entropía. El módulo 802 de decodificación de entropía y descuantificación puede entonces restaurar planos de bits cero eliminados en base a estos valores GCLI codificados. El módulo de decodificación de entropía y descuantificación 802 puede además añadir bits ficticios para reemplazar los bits menos significativos que han sido eliminados como resultado del truncamiento. En consecuencia, se vuelven a crear los datos de fotograma de sub-banda cuantificados, que luego se someten a una operación descuantificación. La operación de descuantificación se basa en factores de cuantificación que han sido empaquetados en el flujo de vídeo codificado
114. En consecuencia, el módulo de decodificación de entropía y de cuantificación 106 proporciona datos de fotograma de sub-banda decodificados.
El módulo de reconstrucción de decodificación 803 procesa los datos de fotograma de sub-banda decodificados en base a las banderas de modo de codificación. En caso de que una bandera de modo de codificación indique codificación intra-modo, los datos de fotograma de sub-banda decodificados son una versión decodificada de una porción de fotograma de sub-banda que puede ser directamente usada para reconstruir un fotograma transformado linealmente sin procesamiento adicional. En ese caso, el módulo de reconstrucción de decodificación 803 aplica la versión decodificada de la porción de fotograma de sub-banda a la memoria búfer de decodificación 804 para su almacenamiento temporal. Además, la versión decodificada de la porción de fotograma sub-banda es aplicada al módulo de transformadas wavelet y de color inversos 805.
En caso de que la bandera de modo de codificación indique codificación inter-modo, los datos de fotograma de sub-banda decodificados son una versión decodificada de una representación diferencial de una porción de fotograma de sub-banda. En ese caso, el módulo de reconstrucción de decodificación 803 recupera una porción de fotograma de sub-banda decodificado previo correspondiente de la memoria búfer de decodificación 804. El módulo de reconstrucción de decodificación 803 recupera la porción de fotograma de sub-banda descodificado previo de la memoria búfer de decodificación 804. El módulo de reconstrucción de decodificación 803 añade entonces la porción de fotograma de sub-banda decodificado previo correspondiente a la versión decodificada de la representación diferencial de la porción de fotograma de sub-banda. En consecuencia, se obtiene una versión decodificada de la porción de fotograma de sub-banda, que se aplica entonces a la memoria búfer de decodificación 804 y al módulo de transformadas wavelet y de color inversos 805.
Por lo tanto, en contraste con decodificadores de video convencionales, la memoria búfer de decodificación 804 almacena temporalmente fotogramas de sub-banda que son parte de un fotograma transformado linealmente, en lugar de un fotograma completamente decodificado, que está en un dominio espacial. Es decir, en el decodificador de vídeo 800 ilustrado en la FIG. 8, un fotograma transformado linealmente sirve como referencia para la decodificación inter-modo en lugar de un fotograma completamente decodificado.
El módulo de transformadas wavelet y de color inversos 805 aplica una inversa de la transformada wavelet y una inversa de la transformada de color reversible a la versión decodificada de la porción de fotograma sub-banda. Es decir, se aplica una transformada lineal inversa a la versión decodificada de la porción de fotograma de sub-banda. Aplicando la transformada lineal inversa a versiones decodificadas sucesivas de porciones de fotograma de sub banda, la transformada lineal inversa se aplica a versiones decodificadas de fotogramas de sub-banda que constituyen una versión decodificada de fotograma transformado linealmente. Se obtiene entonces una versión decodificada de un fotograma que fue codificado por el codificador de video 100 ilustrado en la FIG. 1.
NOTAS
Las realizaciones descritas anteriormente con referencia a los dibujos se presentan a modo de ilustración. La invención puede implementarse de numerosas maneras diferentes. Para ilustrar esto, se indican brevemente algunas alternativas.
La invención puede aplicarse en numerosos tipos de productos o métodos relacionados con la compresión de video, o la descompresión de video, o ambas. Por ejemplo, la invención puede aplicarse en un circuito integrado multifuncional que sea capaz de llevar a cabo al menos una función distinta a la de compresión de vídeo.
Existen numerosas formas diferentes de implementar un codificador de vídeo y un decodificador de vídeo de acuerdo con la invención. Cualquiera de los módulos en las realizaciones presentadas puede implementarse por medio de un circuito eléctrico, que puede ser dedicado o programable, o por medio de un procesador adecuadamente programado, o una combinación de los mismos. Un programa de ordenador puede definir una o más operaciones llevadas a cabo por el codificador de vídeo, que se han descrito con referencia a las FIGS. 1-7. De manera similar, un programa de ordenador puede definir una o más operaciones llevadas a cabo por el decodificador de vídeo, que se han descrito con referencia a la FIG. 8. A este respecto, los diagramas de bloques de las FIGS. 1, 4, 7 y 8 también pueden considerarse, al menos parcialmente, como representantes de un diagrama de flujo de dicho programa de ordenador, así como representaciones de un método que un procesador puede llevar a cabo al ejecutar el programa de ordenador. Por ejemplo, el módulo de transformación de color reversible ilustrado en la FIG. 1 puede considerarse que representa un paso de transformación de color. De manera similar, se pueden considerar que otros módulos representan pasos de un método.
Hay numerosas maneras diferentes de implementar una transformación lineal en un producto o método de acuerdo con la invención. En las realizaciones presentadas, la transformada lineal comprende una transformada de color reversible. En otras realizaciones, se puede prescindir de esta transformación. En las realizaciones presentadas,
la transformada lineal comprende una transformada wavelet. En otras realizaciones, la transformada lineal puede ser, por ejemplo, una transformada discreta basada en coseno.
Existen numerosas formas diferentes de implementar una codificación que comprima datos en un producto o método de acuerdo con la invención. En las realizaciones presentadas, dicha codificación implica extracción GCLI, la eliminación de plano de bits cero y truncamiento. En otras realizaciones, se pueden utilizar otros esquemas de codificación de entropía.
Hay numerosas maneras diferentes de implementar un conjunto de búfer de fotograma de referencia en un producto o método de acuerdo con la invención. En las realizaciones presentadas, el conjunto de búfer de fotograma de referencia aplica compresión de búfer de fotograma. En otras realizaciones, se puede prescindir de la compresión de búfer de fotograma de modo que el conjunto de búfer de fotograma de referencia no necesite comprender un codificador de compresión de datos y un decodificador de compresión de datos.
Hay numerosas maneras diferentes de proporcionar una representación de una porción correspondiente de otro fotograma transformado linealmente con el propósito de codificación inter-modo. En las realizaciones presentadas, la porción correspondiente es la porción que tiene la misma posición en el fotograma transformado linealmente previo. Es decir, no se utiliza estimación o compensación de movimiento. En otras realizaciones, se puede utilizar estimación de movimiento para identificar una porción correspondiente. Además, una porción correspondiente que se utiliza para la codificación inter-modo no tiene que estar basada necesariamente en un fotograma anterior transformado linealmente. Por ejemplo, la porción correspondiente puede basarse en una combinación de porciones de dos o más fotogramas transformados linealmente previos.
En general, existen numerosas formas diferentes de implementar la invención, por lo que diferentes implementaciones pueden tener diferentes topologías. En cualquier topología dada, una única entidad puede llevar a cabo varias funciones, o varias entidades pueden llevar a cabo conjuntamente una única función. A este respecto, los dibujos son muy esquemáticos.
Las observaciones hechas anteriormente demuestran que las realizaciones descritas con referencia a los dibujos ilustran la invención, en lugar de limitar la invención. La invención se puede implementar de numerosas formas alternativas que están dentro del alcance de las reivindicaciones adjuntas. Todos los cambios que entren dentro del significado y el rango de equivalencia de las reivindicaciones deben incluirse dentro de su alcance. Cualquier signo de referencia en una reivindicación no debe interpretarse como que limita la reivindicación. El verbo "comprender" en una reivindicación no excluye la presencia de otros elementos u otros pasos que los enumerados en la reivindicación. Lo mismo se aplica a verbos similares como "incluir" y "contener". La mención de un elemento en singular en una reivindicación relativa a un producto, no excluye que el producto pueda comprender una pluralidad de dichos elementos. Asimismo, la mención de un paso en singular en una reivindicación relativa a un método no excluye que el método pueda comprender una pluralidad de dichos pasos.
Claims (14)
1. Un codificador (100) adaptado para codificar una secuencia de fotogramas, comprendiendo el codificador:
- un conjunto de transformación lineal (101) adaptado para aplicar una transformación lineal a la secuencia de fotogramas fotograma a fotograma para obtener una secuencia de fotogramas transformados linealmente que tienen una entropía que es inferior a la de los fotogramas de la secuencia de fotogramas que se va a codificar, y
- un conjunto de codificación (102) adaptado para codificar la secuencia de fotogramas transformados linealmente para obtener una secuencia de fotogramas codificados que comprende una cantidad de datos inferior a la de los fotogramas transformados linealmente,
en la que el conjunto de codificación está adaptado para codificar al menos una porción de un fotograma transformado linealmente en un modo inter y para codificar al menos otra porción del mismo fotograma transformado linealmente en un modo intra, para obtener un fotograma codificado, por medio del cual, en el modo inter, el conjunto de codificación proporciona una representación diferencial de una porción del fotograma transformado linealmente, correspondiendo la representación diferencial con una diferencia entre, por una parte, la porción del fotograma transformado linealmente y, por otra parte, una representación de una porción correspondiente de al menos otro fotograma transformado linealmente, y en la que el conjunto de codificación aplica compresión de datos a la representación diferencial de la porción del fotograma transformado linealmente, por medio del cual, en el modo intra, el conjunto de codificación aplica directamente la compresión de datos a otra porción del mismo fotograma transformado linealmente.
2. Un codificador según la reivindicación 1, en el que el conjunto de codificación (102) está adaptado para evaluar para una porción de un fotograma transformado linealmente si se aplica o no la siguiente condición: cuando la porción del fotograma transformado linealmente se codifica en el modo inter, se obtiene una versión codificada de la porción del fotograma transformado linealmente que comprende una menor cantidad de datos que una versión codificada que se obtiene codificando la porción del fotograma transformado linealmente en el modo intra, y en el que el conjunto de codificación está adaptado para codificar la porción del fotograma transformado linealmente en el modo inter si se aplica la condición y para codificar la porción del fotograma transformado linealmente en el modo intra si no se aplica la condición.
3. Un codificador según cualquiera de las reivindicaciones 1 y 2, en el que el conjunto codificador (102) está adaptado para obtener la representación de la porción correspondiente del al menos otro fotograma transformado linealmente aplicando una inversa de la compresión de datos a una porción correspondiente del al menos un fotograma codificado que se ha obtenido codificando la porción correspondiente del al menos otro fotograma transformado linealmente.
4. Un codificador según cualquiera de las reivindicaciones 1 a 3, en el que el conjunto codificador (102) está adaptado para codificar periódicamente respectivas porciones de fotograma transformado linealmente en el modo intra.
5. Un codificador según la reivindicación 4, en el que el conjunto de codificación (102) está adaptado para codificar periódicamente en el modo intra respectivas porciones de fotograma transformado linealmente que tienen una posición similar con una frecuencia mínima y codificar periódicamente en el modo intra respectivas porciones de fotograma transformado linealmente que tienen otra posición similar con la misma frecuencia mínima pero desfasada con respecto a la codificación en modo intra de las respectivas porciones de fotograma transformado linealmente mencionadas en primer lugar.
6. Un codificador según cualquiera de las reivindicaciones 4 y 5, en el que el conjunto codificador (102) está adaptado para codificar periódicamente en el modo intra respectivas porciones de fotograma transformado linealmente que pertenecen a un grupo de porciones de fotograma transformado linealmente con una frecuencia mínima, y para codificar periódicamente en el modo intra respectivas porciones de fotograma transformado linealmente que pertenecen a otro grupo de porciones de fotograma transformado linealmente con una frecuencia mínima diferente.
7. Un codificador según la reivindicación 6, en el que el conjunto de transformación lineal (101) está adaptado para definir respectivas sub-bandas, por medio del cual el uno y el otro grupo de porciones de fotograma transformado linealmente están asociados a sub-bandas diferentes.
8. Un codificador según cualquiera de las reivindicaciones 1 a 7, en el que la compresión de datos que aplica el conjunto de codificación (102) comprende una operación de codificación de índice de línea codificada más grande.
9. Un codificador según cualquiera de las reivindicaciones 1 a 8, en el que la compresión de datos que aplica el conjunto de codificación (102) comprende una operación de cuantificación.
10. Un codificador según cualquiera de las reivindicaciones 1 a 9, en el que el conjunto de codificación (102) está adaptado para decodificar un fotograma codificado para obtener un fotograma transformado linealmente decodificado, en el que el conjunto de codificación está adaptado para aplicar compresión de almacenamiento de datos al fotograma transformado linealmente decodificado para obtener una versión comprimida del fotograma transformado linealmente decodificado, en el que el conjunto de codificación está adaptado para almacenar la versión comprimida del fotograma transformado linealmente decodificado en una memoria búfer de fotograma (702), y en el que el conjunto de codificación está adaptado para aplicar una inversa de la compresión de almacenamiento de datos a la versión comprimida del fotograma transformado linealmente decodificado para obtener una versión descomprimida del fotograma transformado linealmente decodificado a partir de la cual se obtiene una representación de al menos una porción de un fotograma transformado linealmente que se usa para proporcionar una representación diferencial de al menos la versión correspondiente de un fotograma transformado linealmente que se va a codificar en el modo inter.
11. Un codificador según la reivindicación 10, en el que la compresión de almacenamiento de datos que el conjunto de codificación (102) aplica al fotograma transformado linealmente decodificado comprende una operación de codificación de índice de línea codificada más grande.
12. Un método de codificar una secuencia de fotogramas, comprendiendo el método:
- una etapa de transformación lineal en la que se aplica una transformación lineal a la secuencia de fotogramas fotograma a fotograma para obtener una secuencia de fotogramas transformados linealmente con una entropía inferior a la de los fotogramas de la secuencia de fotogramas que se va a codificar, y - una etapa de codificación en la que la secuencia de fotogramas transformados linealmente se codifica para obtener una secuencia de fotogramas codificados con una cantidad de datos inferior a la de los fotogramas transformados linealmente,
en el que, en la etapa de codificación, al menos una porción de un fotograma transformado linealmente se codifica en un modo inter mientras que al menos otra porción del mismo fotograma transformado linealmente se codifica en un modo inter, para obtener un fotograma codificado, por medio del cual, en el modo inter, se proporciona una representación diferencial de una porción del fotograma transformado linealmente, correspondiendo la representación diferencial a una diferencia entre, por una parte, la porción del fotograma transformado linealmente y, por otra parte, una representación de una porción correspondiente de al menos otro fotograma transformado linealmente, y en la que se aplica compresión de datos a la representación diferencial de la porción del fotograma transformado linealmente, por medio del cual, en el modo intra, la compresión de datos se aplica directamente a otra porción del mismo fotograma transformado linealmente.
13. Un programa de ordenador para un codificador (100), comprendiendo el programa de ordenador un conjunto de instrucciones que habilita al codificador llevar a cabo el método según la reivindicación 12.
14. Un decodificador (800) adaptado para decodificar la secuencia de fotogramas codificados proporcionada por un codificador según cualquiera de las reivindicaciones 1 a 11, estando el decodificador adaptado para decodificar al menos una porción de un fotograma codificado en el modo inter para obtener al menos una porción descodificada de un fotograma transformado linealmente y para decodificar al menos otra porción del mismo fotograma codificado en el modo intra para obtener al menos otra porción decodificada del mismo fotograma transformado linealmente.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP19179802.4A EP3751852A1 (en) | 2019-06-12 | 2019-06-12 | Encoder and method of encoding a sequence of frames |
| PCT/EP2020/066389 WO2020249790A1 (en) | 2019-06-12 | 2020-06-12 | Encoder and method of encoding a sequence of frames |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2937085T3 true ES2937085T3 (es) | 2023-03-23 |
Family
ID=66857680
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20731152T Active ES2937085T3 (es) | 2019-06-12 | 2020-06-12 | Codificador y método de codificar una secuencia de fotogramas |
Country Status (10)
| Country | Link |
|---|---|
| US (2) | US11924470B2 (es) |
| EP (3) | EP3751852A1 (es) |
| JP (2) | JP7729611B2 (es) |
| KR (1) | KR20220019285A (es) |
| CN (1) | CN114245989B (es) |
| AU (1) | AU2020291116B2 (es) |
| CA (1) | CA3141246A1 (es) |
| ES (1) | ES2937085T3 (es) |
| IL (1) | IL288888B2 (es) |
| WO (1) | WO2020249790A1 (es) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4266685A1 (en) * | 2022-04-22 | 2023-10-25 | intoPIX s.a. | Video encoder comprising a frame buffer assembly |
| EP4270947A1 (en) | 2022-04-26 | 2023-11-01 | intoPIX s.a. | Video encoding applying a refresh scheme |
| EP4270948A1 (en) | 2022-04-26 | 2023-11-01 | intoPIX s.a. | Video encoding applying a refresh scheme |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5585852A (en) * | 1993-06-16 | 1996-12-17 | Intel Corporation | Processing video signals for scalable video playback using independently encoded component-plane bands |
| JP2902284B2 (ja) * | 1993-11-12 | 1999-06-07 | ケイディディ株式会社 | 動画像の符号化装置 |
| JPH0837660A (ja) * | 1994-07-21 | 1996-02-06 | Toshiba Corp | 画像圧縮符号化装置 |
| US6031940A (en) * | 1996-11-27 | 2000-02-29 | Teralogic, Inc. | System and method for efficiently encoding video frame sequences |
| US6628716B1 (en) * | 1999-06-29 | 2003-09-30 | Intel Corporation | Hardware efficient wavelet-based video compression scheme |
| JP2003174649A (ja) * | 2001-12-05 | 2003-06-20 | Matsushita Electric Ind Co Ltd | 画像符号化装置及び画像符号化方法 |
| ES2351306T3 (es) | 2002-04-18 | 2011-02-02 | Kabushiki Kaisha Toshiba | Procedimiento y dispositivo para la codificación de imágen en movimiento. |
| CN1207918C (zh) * | 2003-07-24 | 2005-06-22 | 大唐微电子技术有限公司 | 低码率下的高效小波视频编解码方法 |
| KR101215614B1 (ko) * | 2005-09-09 | 2012-12-26 | 삼성전자주식회사 | 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체 |
| CN101335892B (zh) * | 2008-04-25 | 2010-06-09 | 太原科技大学 | 基于帧内模式决策的混合分布式视频编码方法 |
| TW201028018A (en) * | 2009-01-07 | 2010-07-16 | Ind Tech Res Inst | Encoder, decoder, encoding method and decoding method |
| US9078009B2 (en) * | 2010-02-19 | 2015-07-07 | Skype | Data compression for video utilizing non-translational motion information |
| US9185422B2 (en) * | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Variable localized bit-depth increase for fixed-point transforms in video coding |
| JP2013026952A (ja) * | 2011-07-25 | 2013-02-04 | Sony Corp | 画像処理方法、エンコード装置、デコード装置および画像処理装置 |
| US9332258B2 (en) | 2013-03-01 | 2016-05-03 | intoPIX SA | Method and device for display stream compression |
| JP6033725B2 (ja) * | 2013-03-28 | 2016-11-30 | Kddi株式会社 | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム |
| JP2015106747A (ja) * | 2013-11-28 | 2015-06-08 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
| JP2017069866A (ja) | 2015-10-01 | 2017-04-06 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
| US20170155905A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Efficient intra video/image coding using wavelets and variable size transform coding |
| US20170163988A1 (en) * | 2015-12-08 | 2017-06-08 | Samsung Display Co., Ltd. | Systems and method of using compressed reference frames in video codecs |
| CN110383835B (zh) * | 2016-12-19 | 2023-09-22 | 弗劳恩霍夫应用研究促进协会 | 使用用于gcli熵编码的子带相关预测适应进行编码或解码的装置和方法 |
-
2019
- 2019-06-12 EP EP19179802.4A patent/EP3751852A1/en not_active Withdrawn
-
2020
- 2020-06-12 CA CA3141246A patent/CA3141246A1/en active Pending
- 2020-06-12 EP EP22202608.0A patent/EP4175298A1/en active Pending
- 2020-06-12 IL IL288888A patent/IL288888B2/en unknown
- 2020-06-12 US US17/618,175 patent/US11924470B2/en active Active
- 2020-06-12 EP EP20731152.3A patent/EP3984225B1/en active Active
- 2020-06-12 KR KR1020227000956A patent/KR20220019285A/ko active Pending
- 2020-06-12 CN CN202080055222.7A patent/CN114245989B/zh active Active
- 2020-06-12 WO PCT/EP2020/066389 patent/WO2020249790A1/en not_active Ceased
- 2020-06-12 AU AU2020291116A patent/AU2020291116B2/en active Active
- 2020-06-12 JP JP2021573589A patent/JP7729611B2/ja active Active
- 2020-06-12 ES ES20731152T patent/ES2937085T3/es active Active
-
2024
- 2024-02-21 US US18/583,296 patent/US20240196014A1/en not_active Abandoned
-
2025
- 2025-08-06 JP JP2025131757A patent/JP2025163216A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| AU2020291116B2 (en) | 2025-06-26 |
| US20240196014A1 (en) | 2024-06-13 |
| IL288888A (en) | 2022-02-01 |
| US11924470B2 (en) | 2024-03-05 |
| CA3141246A1 (en) | 2020-12-17 |
| CN114245989A (zh) | 2022-03-25 |
| EP4175298A1 (en) | 2023-05-03 |
| JP2022536512A (ja) | 2022-08-17 |
| KR20220019285A (ko) | 2022-02-16 |
| EP3984225B1 (en) | 2022-10-26 |
| AU2020291116A1 (en) | 2022-01-27 |
| IL288888B1 (en) | 2024-04-01 |
| JP2025163216A (ja) | 2025-10-28 |
| US20220248057A1 (en) | 2022-08-04 |
| IL288888B2 (en) | 2024-08-01 |
| EP3751852A1 (en) | 2020-12-16 |
| CN114245989B (zh) | 2025-01-17 |
| WO2020249790A1 (en) | 2020-12-17 |
| JP7729611B2 (ja) | 2025-08-26 |
| EP3984225A1 (en) | 2022-04-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102017997B1 (ko) | 특징맵 압축을 이용한 이미지 처리 방법 및 장치 | |
| JP7037554B2 (ja) | 画像を圧縮する方法および装置 | |
| Srinivasan et al. | HD Photo: a new image coding technology for digital photography | |
| EP3058730B1 (en) | Multi-component picture or video coding concept | |
| CN102783035B (zh) | 并行熵编码方法和设备 | |
| ES2937085T3 (es) | Codificador y método de codificar una secuencia de fotogramas | |
| CN115428461B (zh) | 神经网络处理视频的方法、装置及存储介质 | |
| US9866867B2 (en) | Non-transform coding | |
| US20130272391A1 (en) | Method and Apparatus of Quantization Matrix Coding | |
| JP2010503254A (ja) | データ信号を符号化する装置及び方法、並びにデータ信号を復号化する装置及び方法 | |
| US10616586B2 (en) | Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs | |
| KR20250120373A (ko) | 이미지를 코딩 및 디코딩하는 방법 및 장치 | |
| EP4430826A1 (en) | Method and apparatus for video coding for machine vision | |
| Kabir et al. | Edge-based transformation and entropy coding for lossless image compression | |
| Taubman et al. | High throughput JPEG 2000 (HTJ2K): Algorithm, performance and potential | |
| JP2008271039A (ja) | 画像符号化装置及び画像復号化装置 | |
| JPH06189287A (ja) | 画像符号化装置、画像符号化方法、画像復号化装置、および画像復号化方法 | |
| US20250063173A1 (en) | Digital image processing | |
| US7613347B1 (en) | Low-complexity image coding | |
| KR20250121370A (ko) | 이미지를 인코딩 및 디코딩하기 위한 방법 및 디바이스 | |
| KR20150100232A (ko) | 인코딩 방법 및 그 시스템 |