[go: up one dir, main page]

ES2907510T3 - Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada - Google Patents

Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada Download PDF

Info

Publication number
ES2907510T3
ES2907510T3 ES13722424T ES13722424T ES2907510T3 ES 2907510 T3 ES2907510 T3 ES 2907510T3 ES 13722424 T ES13722424 T ES 13722424T ES 13722424 T ES13722424 T ES 13722424T ES 2907510 T3 ES2907510 T3 ES 2907510T3
Authority
ES
Spain
Prior art keywords
resolution
plane
signal
representation
residual
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
ES13722424T
Other languages
English (en)
Inventor
Luca Rossato
Guido Meardi
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.)
V Nova International Ltd
Original Assignee
V Nova International Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by V Nova International Ltd filed Critical V Nova International Ltd
Application granted granted Critical
Publication of ES2907510T3 publication Critical patent/ES2907510T3/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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/439Methods 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 using cascaded computational arrangements for performing a single operation, e.g. filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/62Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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
    • 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/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • 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/94Vector quantisation
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Detergent Compositions (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Peptides Or Proteins (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Polyurethanes Or Polyureas (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Pyridine Compounds (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Retry When Errors Occur (AREA)
  • User Interface Of Digital Computer (AREA)
  • Dc Digital Transmission (AREA)

Abstract

Un método de codificación de una señal de vídeo que comprende: a través del hardware de procesamiento del ordenador: recibir (6.01) un plano de la señal de vídeo en una primera resolución, el plano que comprende un plano de píxeles; submuestrear la resolución (6.01) del plano de la señal de vídeo para generar una representación del plano en una segunda resolución, la segunda resolución que es inferior a la primera resolución; producir (6.01, 6.02) un plano predicho de la señal en la primera resolución mediante la obtención de un plano codificado de la señal en la segunda resolución y el sobremuestreo de una decodificación simulada del plano codificado de la señal en la segunda resolución; producir (6.02) los datos residuales como una diferencia entre el plano recibido de la señal de vídeo en la primera resolución y el plano predicho de la señal de vídeo en la primera resolución; procesar (6.03, 6.04) los datos residuales mediante el uso de una descomposición direccional para generar los conjuntos de componentes direccionales (320), la descomposición direccional que se aplica a bloques de residuos de 2×2 para generar, para cada bloque de 2×2, cuatro componentes direccionales: A - un promedio del bloque de residuos, H - una diferencia horizontal dentro del bloque de residuos, V - una diferencia vertical dentro del bloque de residuos, y D - una diferencia diagonal dentro del bloque de residuos; derivar (6.05) los conjuntos de residuos transformados (350) a partir de los conjuntos de componentes direccionales (320) ajustando la componente direccional promedio de cada conjunto de componentes direccionales (320), que incluye: determinar un promedio predicho para cada bloque de 2×2 como una diferencia entre un valor de píxel cuantificado en la segunda resolución representativa del bloque y un promedio de un bloque correspondiente en el plano predicho de la señal, y restar el promedio predicho de la componente direccional promedio para el bloque de residuos; cuantificar (6.06) los conjuntos de residuos transformados (350); y codificar (6.08) los conjuntos cuantificados de residuos transformados para dar salida a los datos de reconstrucción codificados para la comunicación con el hardware de procesamiento del decodificador para la decodificación.

Description

DESCRIPCIÓN
Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada
Antecedentes
Muchas técnicas se conocen en la técnica para tratar la compresión y descompresión de señales multidimensionales o de señales que evolucionan a lo largo del tiempo. Este es el caso de las señales de audio, las señales de vídeo y otras señales multidimensionales como las señales volumétricas usadas en áreas científicas y médicas.
Con el fin de lograr altos ratios de compresión, esas técnicas explotan la correlación espacial y temporal dentro de la señal. Por ejemplo, los métodos convencionales identifican una referencia e intentan determinar la diferencia de la señal entre una ubicación actual y la referencia dada. Esto se hace tanto en el dominio espacial, donde la referencia es una porción (por ejemplo, un bloque o "macrobloque") del plano espacial ya recibido y decodificado, como en el dominio del tiempo, donde una única instancia en el tiempo de la señal (por ejemplo, una trama de vídeo en una secuencia de tramas) se toma como referencia para una cierta duración. Este es el caso, por ejemplo, de los algoritmos de compresión de la familia MPEG (Grupo de Expertos en Imágenes en Movimiento), donde los macrobloques previamente decodificados se toman como referencia en el dominio espacial y las tramas I y las tramas P se usan como referencia para las tramas P posteriores en el dominio del tiempo.
Las técnicas conocidas explotan la correlación espacial y la correlación temporal de muchas maneras, adoptando varias técnicas diferentes con el fin de identificar, simplificar, codificar y transmitir las diferencias. De acuerdo con los métodos convencionales, con el fin de aprovechar la correlación espacial de los residuos dentro de un bloque respectivo de elementos de imagen, se realiza una transformación de dominio (por ejemplo, en un dominio de frecuencia) y luego se realiza la eliminación con pérdida y la cuantificación de la información transformada, usualmente introduciendo algún grado de artefactos de bloque. En cambio, en el dominio del tiempo, los métodos convencionales transmiten la diferencia cuantificada entre la muestra actual y una muestra de referencia con compensación de movimiento. Con el fin de maximizar la similitud entre las muestras, los codificadores intentan estimar las modificaciones ocurridas a lo largo del tiempo frente a la señal de referencia. En los métodos de codificación convencionales (por ejemplo, tecnologías de la familia MPEG, VP8, etc.) esto se denomina estimación y compensación de movimiento.
Las CPU (Unidades Centrales de Procesamiento) y las GPU (Unidades de Procesamiento de Gráficos) actuales suelen ser muy potentes; una única GPU puede incluir varios cientos de núcleos informáticos para realizar un procesamiento paralelo de la información. Cuando se usa un hardware de tecnología actual, porciones muy grandes de una imagen se pueden almacenar en una memoria caché del procesador para su procesamiento. La necesidad de fragmentar las imágenes en una multitud de pequeños bloques, lo cual fue un factor determinante cuando se crearon JPEG y MPEG, ya que los procesadores de esa época sólo podían tratar con fragmentos muy pequeños de datos de vídeo a la vez — y en ese entonces sólo de manera secuencial — no aplica ya para las CPU y GPU modernas. Por tanto, una gran porción de la potencia de procesamiento disponible puede quedar sin usarse cuando se implementan tipos de codificación/decodificación similares a MPEG, con artefactos de bloqueo introducidos innecesariamente en la señal.
Además, en comparación con lo que era actual cuando se desarrolló MPEG, las aplicaciones modernas usualmente requieren una codificación de vídeo de definición mucho mayor y una calidad de reproducción general mucho mayor. En los vídeos de alta definición (por ejemplo, FullHD, UltraHD), y de alta calidad (por ejemplo, artefactos relativamente invisibles con respecto a la señal original) hay una diferencia mucho mayor entre las áreas con poco detalle (incluso potencialmente fuera de foco) y las áreas con muy buen detalle. Esto hace el uso de transformadas en el dominio de la frecuencia tales como las usadas en los métodos basados en JPEG y basados en MPEG aún más inadecuado para el procesamiento y la reproducción de imágenes, ya que el intervalo de frecuencias relevantes es cada vez más amplio.
Además, las imágenes de mayor resolución incluyen una mayor cantidad de ruido de cámara y/o grano de película, es decir, transiciones de píxeles de alta frecuencia muy detalladas que requieren muchos bits para codificar, pero que pueden ser bastante irrelevantes para la visualización frente a transiciones de píxeles de alta frecuencia similares de bordes de objetos.
Otro aspecto descuidado en la técnica conocida, al margen de unos pocos intentos, es el requisito de escalabilidad de calidad. Un método de codificación escalable codificaría una única versión de la señal comprimida y permitiría la entrega a diferentes niveles de calidad, de disponibilidad de ancho de banda y de complejidad del decodificador. La escalabilidad se ha tenido en cuenta en métodos conocidos como MPEG-SVC y j PeG2000, con una adopción relativamente pobre hasta ahora debido a la complejidad computacional y, hablando generalmente, a la ineficiencia de compresión con relación a las técnicas no escalables.
En el pasado, como una alternativa escalable a los estándares JPEG/MPEG para la codificación/decodificación, las denominadas pirámides laplacianas de imágenes se han usado con propósitos de codificación/decodificación. Por ejemplo, los sistemas de pirámides laplacianas convencionales crearon imágenes de resolución inferior mediante el uso de filtros gaussianos y luego construyeron la pirámide de las diferencias entre las imágenes obtenidas mediante sobremuestreo con un decodificador rígidamente programado desde los niveles de resolución inferiores hasta el nivel original. El uso de la codificación de pirámide laplaciana convencional se ha abandonado debido a su ineficiencia de compresión.
Las transformaciones de dominio de residuos aprovechadas hasta ahora por los métodos de codificación del estado de la técnica (por ejemplo, transformadas de Fourier, Transformadas de Coseno Discretas, transformadas de Hadamard, transformadas de ondículas, etc.) sufren una serie de problemas.
En primer lugar, la elección misma de transformarse en un dominio de frecuencia las hace inadecuadas para explotar adecuadamente la correlación entre grandes porciones de una señal (es decir, porciones con un gran número de muestras para cada una de las dimensiones), ya que las señales del mundo real usualmente muestran cantidades limitadas de periodicidad. Como consecuencia, las transformadas en el dominio de la frecuencia se realizan en bloques que son al mismo tiempo demasiado grandes y demasiado pequeños: demasiado grandes para ser computacionalmente simples y demasiado pequeños para explotar suficientemente la correlación de una señal de alta resolución. Por ejemplo, con el fin de explotar la correlación de un conjunto de muestras lo suficientemente grande y al mismo tiempo gestionar las complejidades computacionales, las técnicas de codificación de imagen y vídeo convencionales operan en bloques de 8*8, 16*16 o 32*32 elementos: claramente demasiado pequeños para capturar completamente la correlación de patrones de imagen en una imagen de alta definición (por ejemplo, con 8 millones de píxeles) pero lo suficientemente grande como para absorber una potencia computacional significativa. En segundo lugar, los métodos conocidos que aprovechan las transformadas del dominio de la frecuencia asumen implícitamente que los humanos son sensibles a los armónicos (por ejemplo, las frecuencias de las transiciones de color) de una manera que no depende de la dirección de la transición, mientras que varios estudios han demostrado que los humanos reconocen la nitidez de un transición mucho mejor que la dirección/ángulo preciso de la transición, especialmente cuando se observan formas complejas.
En tercer lugar, las técnicas de codificación con pérdida conocidas operan cuantificando los resultados de la transformada, que inevitablemente genera dos problemas: (1) artefactos basados en bloques, entre un bloque y los bloques vecinos, a corregir con métodos de procesamiento de imágenes de desbloqueo relativamente complejos; (2) imposibilidad de controlar fácilmente el error máximo en una imagen codificada, ya que los valores de píxel reales son el resultado de una transformada inversa de parámetros descuantificados, de modo que los errores de cuantificación en los parámetros cuantificados de un bloque se combinan entre sí de manera que son difíciles de gestionar sin múltiples recodificaciones y/o esquemas de cuantificación extremadamente complejos. Evitar artefactos de bloque y garantizar el máximo control de errores son características particularmente importantes, especialmente en aplicaciones tales como imágenes médicas o producción profesional de imágenes/vídeos.
El documento "A fully scalable video coder with inter-scale wavelet prediction and morphological coding", PROCEEDINGS OF SPIE, vol. 5960, 12 de julio de 2005 (2005-07-12), páginas 535-546, ISSN: 0277-786X, DOI: 10.1117/12.631429, a nombre de Adami y otros, XP-002363204, describe una arquitectura de codificación de vídeo escalable — basada en ondícula — en la que las subbandas filtradas temporales con compensación de movimiento de versiones escaladas espacialmente de una secuencia de vídeo pueden usarse como capa base para las predicciones entre escalas. Estas predicciones tienen lugar entre los datos del mismo nivel de resolución sin necesidad de interpolación. Los residuos de la predicción se transforman aún más mediante descomposiciones de ondículas espaciales. Las subbandas de ondículas espaciotemporales multiescala resultantes se codifican gracias a una técnica de dilatación morfológica integrada y una codificación aritmética basada en el contexto. Se logra escalabilidad espaciotemporal diádica y escalabilidad SNR progresiva. La decodificación de adaptación múltiple se puede implementar fácilmente sin necesidad de conocer un conjunto predefinido de puntos operativos. El sistema de codificación propuesto permite compensar algunos de los inconvenientes típicos de las actuales arquitecturas de codificación de vídeo escalable basadas en ondícula y muestra resultados visuales interesantes incluso cuando se compara con el estándar de codificación de vídeo de un solo punto operativo AVC/H.264.
Breve descripción
Las modalidades en la presente descripción se desvían con respecto a los sistemas y métodos convencionales, proporcionando métodos novedosos para cuantificar y/o transformar la información de los elementos (tal como los datos residuales) para reconstruir una representación de una imagen, permitiendo métodos de codificación caracterizados por codificación por entropía eficiente, baja complejidad computacional, paralelismo, escalabilidad, control de errores, etc. Los métodos y modalidades en la presente descripción representan un enfoque innovador para lograr resultados de codificación por entropía eficientes con baja complejidad computacional, paralelismo, escalabilidad y control de errores.
La invención se define en las reivindicaciones adjuntas.
La invención reivindicada se refiere a un método para codificar una señal de vídeo de acuerdo con la modalidad de la Figura 6 y a un método para decodificar una señal de vídeo de acuerdo con la modalidad de la Figura 7, en combinación con las técnicas ilustradas en las Figuras 2B, 3B y 3F. Otras modalidades se deben considerar simplemente como ejemplos adecuados para comprender la invención.
Para simplificar, las modalidades no limitativas ilustradas en la presente descripción se refieren a una señal como una secuencia de muestras multidimensionales (es decir, conjuntos de uno o más elementos organizados como matrices con una o más dimensiones, por ejemplo, a modo de ejemplos no limitativos, conjuntos de elementos de imagen organizados como imágenes bidimensionales). En la descripción, los términos "imagen" o "plano" (predichos con el significado más amplio de "hiperplano", es decir, matriz de elementos con cualquier número de dimensiones y una cuadrícula de muestreo determinada) se usarán a menudo para identificar la reproducción digital de un muestra de la señal a lo largo de la secuencia de muestras, en donde cada plano tiene una resolución dada para cada una de sus dimensiones (por ejemplo, X e Y, en el caso de dos dimensiones) y comprende un conjunto de elementos planos (o "elemento" o "pel", para imágenes bidimensionales a menudo llamadas "píxel", para imágenes volumétricas a menudo llamadas "voxel", etc.) caracterizadas por uno o más "valores" o "ajustes" (por ejemplo, a modo de ejemplos no limitativos, ajustes de color en un espacio de color adecuado, ajustes que indican el nivel de densidad, ajustes que indican los niveles de temperatura, ajustes que indican el tono de audio, ajustes que indican la amplitud, etc.). Cada elemento del plano se identifica mediante un conjunto adecuado de coordenadas que indica las posiciones enteras de dicho elemento en la cuadrícula de muestreo de la imagen. Las dimensiones de la señal pueden incluir sólo dimensiones espaciales (por ejemplo, en el caso de una imagen) o también una dimensión temporal (por ejemplo, en el caso de una señal que evoluciona con el tiempo).
Como ejemplos no limitativos, una señal puede ser una imagen, una señal de audio, una señal de audio multicanal, una señal de vídeo, una señal de vídeo multivista (por ejemplo, vídeo 3D), una señal plenóptica, una señal multiespectral, una señal volumétrica (por ejemplo, imágenes médicas, imágenes científicas, imágenes holográficas, etc.), una señal de vídeo volumétrica o incluso señales con más de cuatro dimensiones.
Para simplificar, las modalidades no limitativas ilustradas en la presente descripción a menudo se refieren a señales que se visualizan como planos de 2D de ajustes (por ejemplo, imágenes 2D en un espacio de color adecuado), tal como, por ejemplo, una imagen o una señal de vídeo (es decir, una secuencia de imágenes 2D que evolucionan con el tiempo). Sin embargo, los expertos en la técnica pueden aplicar fácilmente los mismos conceptos y métodos a cualquier otro tipo de señal multidimensional (por ejemplo, señales volumétricas, señales de vídeo, señales de vídeo 3D, señales plenópticas, etc.).
Las modalidades no limitativas ilustradas en la presente descripción también ilustran a menudo casos de señales codificadas en una jerarquía escalonada de niveles de calidad ("LOQ"), en donde los niveles de calidad superiores en la jerarquía escalonada tienen una resolución progresivamente mayor (es decir, un número superior de muestras para una o más de las dimensiones de la señal). Para simplificar, las modalidades no limitativas ilustradas en la presente descripción a menudo se refieren al caso simple de resoluciones que aumentan con un factor de escala de dos para cada una de las dimensiones de la señal, pero los expertos en la técnica pueden aplicar fácilmente los mismos métodos también a casos con diferentes (y potencialmente anisotrópicos) factores de escala. Cuando se trabaja con señales codificadas en una jerarquía escalonada de niveles de calidad, los residuos que permiten reconstruir los ajustes de los elementos de un LOQ dado "controlados" por (por ejemplo, ubicados junto con) un mismo elemento del LOQ inferior muestran correlaciones importantes que se explotan eficazmente por modalidades no limitativas ilustradas en la presente descripción. Para simplificar, llamaremos "elemento de control de plano" (o "pel de control") de un conjunto dado de elementos de plano en un LOQ superior ("pels controlados") al elemento principal en un LOQ inferior que se coubica junto con el determinado conjunto de elementos de plano en el LOQ superior.
Modalidades no limitativas adicionales ilustradas en la presente descripción transforman los datos residuales (es decir, información sobre ajustes para aplicar a elementos de una señal para obtener una representación adecuada de la señal en un nivel dado de calidad) para aprovechar tanto la correlación entre los propios residuos y la correlación que existe entre los residuos y la entrega de la señal a un nivel de calidad inferior. En particular, con el fin de codificar eficientemente los datos residuales en un flujo de bits digital, son necesarias dos operaciones: cuantificación (es decir, asignar a cada valor un símbolo que pertenece a un alfabeto de símbolos finito dado) y codificación por entropía. La transformación de los símbolos antes de la codificación por entropía permite reducir la variabilidad de los símbolos a codificar, aumentando, por lo tanto, la eficiencia del codificador por entropía. Aprovechar una representación de la señal a un nivel inferior de calidad permite predecir parte de la información residual en base a la información ya disponible en el decodificador, aumentando aún más la eficiencia de la codificación. Transformar un bloque de residuos y al mismo tiempo aprovechar una representación de la señal a un nivel de calidad inferior — es decir, implementar efectivamente una transformación multiescala — también permite explotar la correlación de la señal en una porción de la señal que es más ancha que el bloque en sí mismo: de esta manera, podemos mantener el tamaño del bloque extremadamente pequeño (por ejemplo, incluso 2*2) y al mismo tiempo aprovechar la correlación en un área mucho más amplia, logrando al mismo tiempo tanto beneficios de complejidad computacional como beneficios de eficiencia de codificación.
Los métodos ilustrados en la presente descripción esencialmente permiten transformar los residuos de modo que se minimice el número de símbolos distintos en una pluralidad de conjuntos de datos residuales cuantificados transformados, reduciendo, por lo tanto, el tamaño del flujo de bits que es necesario para codificar y transmitir dicha pluralidad de conjuntos. En algunas modalidades no limitativas descritas en la presente descripción, la etapa de cuantificación se realiza después de la etapa de la transformada en el lado de la codificación (y, en consecuencia, antes de la etapa de transformada inversa en el lado de la decodificación) de manera similar a lo que se ha hecho hasta ahora con los métodos de codificación convencionales. En otras modalidades novedosas no limitativas descritas en la presente descripción, la etapa de cuantificación se realiza antes de la etapa de la transformada en el lado de la codificación (y, en consecuencia, después de la etapa de transformada inversa en el lado de la decodificación), implementando efectivamente un método de transformación sin pérdidas. Realizar la etapa de cuantificación antes de la etapa de transformada permite controlar (y, si es necesario, limitar) los errores introducidos con la codificación con pérdidas incluso antes de comenzar las partes computacionalmente más intensivas de codificación. Las modalidades no limitativas descritas en la presente descripción también tratan eficazmente las correlaciones conocidas entre símbolos que se obtienen por medio de una transformación sin pérdidas.
Las modalidades no limitativas ilustradas en la presente descripción a menudo ilustran transformadas de descomposición aplicadas en conjuntos de residuos de 2x2. Esto debería ser no limitativo, y las personas expertas en la técnica pueden aplicar fácilmente los mismos métodos en conjuntos de residuos con diferentes tamaños, incluidos diferentes tamaños para cada dimensión (por ejemplo, conjuntos de residuos de 2*1) o más de dos dimensiones (por ejemplo, conjuntos de residuos de LxNxM en una imagen volumétrica o en una señal de vídeo donde la tercera dimensión representa el tiempo).
En una modalidad no limitativa descrita en la presente descripción, un primer procesador de señales ("codificador") se configura para codificar una señal en una jerarquía de niveles de calidad, mientras que un segundo procesador de señales ("decodificador") se configura para decodificar una representación de dicha señal en una jerarquía de niveles de calidad.
El codificador recibe una señal en un primer nivel de calidad y produce una representación de la señal en un segundo nivel de calidad, siendo el segundo nivel de calidad inferior al primer nivel de calidad. Luego, el codificador procesa la representación de la señal en el segundo nivel de calidad, produciendo una representación predicha de la señal en el primer nivel de calidad. Luego, el codificador genera los datos residuales, correspondiendo dichos datos residuales a una diferencia entre la señal en un primer nivel de calidad y la representación predicha de la señal en el primer nivel de calidad. Luego, el codificador transforma los datos residuales aplicando una transformada de descomposición, produciendo parámetros ("componentes" o "componentes residuales"). Descomponer los residuos para obtener las componentes residuales permite al codificador aprovechar mejor la correlación entre los residuos; además, algunas de las componentes se correlacionan más que los residuos con la representación de la señal en el segundo nivel de calidad, haciéndolas más fáciles de transmitir que los residuos no transformados. Luego, el codificador procesa dichas componentes, dicha representación predicha de la señal en el primer nivel de calidad y dicha representación de la señal en el segundo nivel de calidad, produciendo residuos transformados. A continuación, el codificador codifica dicha representación de la señal en el segundo nivel de calidad y dichos residuos transformados en los datos codificados correspondientes.
El decodificador recibe dichos datos codificados y reconstruye, en base, al menos en parte, a dichos datos codificados, una representación de la señal en el segundo nivel de calidad y residuos transformados reconstruidos. El decodificador procesa la representación de la señal en el segundo nivel de calidad, produciendo una reproducción predicha de la señal en el primer nivel de calidad, siendo el primer nivel de calidad superior al segundo nivel de calidad. El decodificador procesa dicha representación predicha de la señal en el primer nivel de calidad, dicha representación de la señal en el segundo nivel de calidad y dichos residuos transformados reconstruidos, produciendo las componentes reconstruidas. El decodificador aplica una transformada inversa de descomposición a las componentes reconstruidas, produciendo las residuos reconstruidos. El decodificador combina la representación predicha de la señal en el primer nivel de calidad con los residuos reconstruidos, produciendo una representación de la señal en el primer nivel de calidad.
En una modalidad no limitativa descrita en la presente descripción, las componentes residuales se obtienen mediante cálculos que comprenden adiciones y/o diferencias entre los residuos, y los residuos se obtienen mediante cálculos que comprenden adiciones y/o diferencias entre las componentes residuales. En una modalidad no limitativa, las operaciones realizadas para codificar los residuos transformados incluyen seleccionar un subconjunto de residuos transformados correspondientes a un subconjunto de residuos contiguos en el plano de residuos en un primer nivel de calidad, generando un valor en base, al menos en parte, a la representación de la señal en un segundo (inferior) nivel de calidad y combinando dicho valor con al menos una de las componentes residuales, produciendo un subconjunto de residuos transformados correspondientes a dicho subconjunto de residuos.
En otras modalidades no limitativas descritas en la presente descripción, un decodificador procesa los datos codificados, generando un conjunto de residuos correspondientes a los ajustes a realizar en elementos de una representación predicha de una señal en un primer nivel de calidad con el fin de producir una representación de la señal en el primer nivel de calidad, dicha reproducción predicha de la señal en el primer nivel de calidad producida por el decodificador en base, al menos en parte, a una representación de la señal en un segundo nivel de calidad, el segundo nivel de calidad inferior al primer nivel de calidad. El decodificador recibe los datos codificados correspondientes a los residuos transformados y produce, en base, al menos en parte, a dichos datos codificados, las componentes residuales reconstruidas. Luego, el decodificador genera un conjunto de residuos reconstruidos aplicando una descomposición inversa a las componentes residuales reconstruidas.
En una modalidad no limitativa, el decodificador produce dichas componentes residuales reconstruidas en base, también al menos en parte, a una representación de la señal en el segundo (inferior) nivel de calidad. En una modalidad no limitativa, para cada subconjunto de elementos de la señal en el primer nivel de calidad, el decodificador produce un conjunto de parámetros ("residuos transformados reconstruidos"). El decodificador produce un valor correspondiente a dicho conjunto de parámetros, dicho valor en base, al menos en parte, a una representación de la señal en el segundo (inferior) nivel de calidad. Luego, el decodificador combina uno o más parámetros con dicho valor, produciendo el conjunto de componentes residuales reconstruidas correspondiente a dicho subconjunto de elementos de la señal en el primer nivel de calidad. Luego, el decodificador procesa las componentes residuales reconstruidas aplicando una descomposición inversa, produciendo un conjunto de residuos reconstruidos. En una modalidad no limitativa, cada residuo reconstruido del conjunto se obtiene por sumas y/o diferencias entre las componentes residuales reconstruidas.
En algunas modalidades no limitadas descritas en la presente descripción, los residuos transformados reconstruidos se descuantifican antes de procesarse para producir las componentes residuales reconstruidas, es decir, la descuantificación se realiza antes de aplicar una descomposición inversa. En una modalidad no limitativa, las operaciones de descuantificación aplicadas a cada residuo transformado reconstruido (o a cada componente residual reconstruido) varían en base a la posición relativa del residuo transformado correspondiente en el conjunto de residuos transformados.
En otras modalidades no limitativas descritas en la presente descripción, las operaciones de descuantificación se aplican después de la descomposición inversa, descuantificando los residuos reconstruidos.
En algunas modalidades no limitativas descritas en la presente descripción, dicho valor combinado con un conjunto de residuos transformados reconstruidos para producir el correspondiente conjunto de componentes residuales corresponde a un promedio de los residuos en el conjunto ("promedio predicho"). En una modalidad no limitativa, el promedio predicho de un conjunto de residuos se produce promediando un conjunto de elementos de una representación predicha de la señal en el primer nivel de calidad (superior) y restando un elemento correspondiente de una interpretación de la señal en el segundo nivel de calidad (inferior).
En algunas modalidades no limitativas descritas en la presente descripción, la descomposición de residuos en un primer LOQ (superior) toma ventaja del hecho de que el subconjunto de residuos correspondiente a un subconjunto dado de elementos del plano ("pels controlados") se correlaciona con el valor del pel de control en el LOQ inferior, ya que la suma del promedio de los elementos predichos (conocidos por el decodificador) y del promedio de los residuos (a reconstruir por el decodificador) corresponde al valor del pel de control (conocido por el decodificador también). De hecho, en ausencia de operaciones de cuantificación, el promedio de residuos (o, de manera equivalente, la suma de los residuos) se podría determinar con precisión mediante información ya conocida en el lado del decodificador incluso antes de comenzar a proporcionar los datos residuales.
Existen varias formas de aprovechar la posibilidad de calcular un promedio predicho de residuos para mejorar la eficiencia de la codificación y decodificación de los residuos. En una modalidad no limitativa, un plano de residuos en un primer LOQ se divide en bloques de 2x2. Para cada bloque de 2*2, uno de los residuos no se codifica (es decir, no se transmite al decodificador), ya que el decodificador lo reconstruye a partir de los otros tres y del promedio predicho de residuos (es decir, el decodificador tiene la información que es necesaria para producir los residuos faltantes en base a los otros tres residuos de cada bloque de 2*2). Cuando se cuantifican los datos residuales, esta modalidad concentra todos los errores de cuantificación acumulados en uno de los cuatro residuos de cada bloque de 2x2. Otras modalidades no limitativas evitan este problema (manteniendo aún la ventaja de eficiencia de aprovechar la información promedio predicha) aplicando una transformada de descomposición a cada bloque de residuos.
En algunas modalidades no limitativas descritas en la presente descripción, el codificador aplica una transformada de "descomposición direccional" a cada bloque 2x2 de residuos de un plano bidimensional de residuos correspondiente a una representación de la señal en el primer nivel de calidad. En tales modalidades, las cuatro componentes residuales corresponden a cuatro "direcciones" de variabilidad para el bloque residual de 2x2: promedio ("A", correspondiente a la "inclinación de intensidad", conceptualmente ortogonal al plano del bloque de 2x2, suma de los residuos dividida por cuatro), inclinación horizontal ("H", correspondiente a la diferencia horizontal de los residuos, suma de los residuos a la izquierda menos la suma de los residuos a la derecha), inclinación vertical ("V", correspondiente a la diferencia vertical de los residuos, suma de los residuos en la parte superior menos suma de los residuos en la parte inferior) y la inclinación "diagonal" ("D", correspondiente a las diferencias restantes, no explicadas por una simple transición direccional en los bloques de residuos de 2x2).
La diferencia entre la componente promedio A y un promedio predicho (por ejemplo, entre otros, el calculado como la suma del promedio de los elementos predichos menos el elemento de control en el LOQ inferior) se denomina "promedio delta" o "8a". 8a es a menudo igual a cero para las señales del mundo real y, como consecuencia, es a menudo preferible calcular 8ay codificar por entropía 8a en lugar del componente A. Las inclinaciones horizontal y vertical de un bloque de residuos de 2*2 representan la intensidad y la dirección de una transición: para las señales convencionales, es probable que se correlacionen localmente, aumentando de nuevo la eficiencia de la codificación por entropía.
Otras modalidades no limitativas aplican otros métodos de descomposición direccional, en donde al menos uno de los residuos transformados en un conjunto dado de residuos transformados corresponde a una inclinación direccional de los valores del conjunto de los residuos que corresponde a dicho conjunto dado de residuos transformados. Una modalidad no limitativa calcula los residuos transformados realizando cálculos que incluyen operaciones de procesamiento de imágenes (por ejemplo, transformadas direccionales, cálculos de spline, filtro Sobel, cálculos de gradiente, etc.).
En una modalidad no limitativa descrita en la presente descripción, para cada bloque de residuos de NxM (por ejemplo, entre otros, para cada bloque de residuos de 2x2) en un plano de residuos, el codificador produce un conjunto de parámetros correspondientes a los residuos transformados. Luego, el codificador divide los parámetros en subconjuntos — cada uno de dichos subconjuntos corresponde a una misma clase de residuos transformados, en donde cada elemento de un subconjunto corresponde a un bloque de residuos — y codifica individualmente cada uno de los subconjuntos (es decir, los subconjuntos se codifican por separado y los parámetros usados para codificar por entropía cada uno de los subconjuntos son independientes de la codificación por entropía de los otros subconjuntos).
En algunas modalidades no limitativas descritas en la presente descripción, el codificador realiza una descomposición direccional en los bloques de residuos de 2*2 e individualmente (es decir, por separado) codifica los cuatro subconjuntos de parámetros 8a, H, V y D.
En otras modalidades no limitativas, al menos un parámetro codificado corresponde a una pluralidad de residuos transformados de un mismo bloque de residuos. En una modalidad no limitativa, el codificador realiza una descomposición direccional en bloques de residuos de 2x2, y para cada bloque de residuos de 2x2 produce un parámetro único (es decir, un símbolo único) correspondiente a los cuatro parámetros 8a, H, V, D, en donde dicho parámetro se convierte en el único parámetro codificado correspondiente a dicho bloque de residuos. En otras modalidades no limitativas, subconjuntos de los parámetros 8a y los parámetros D se codifican individualmente, mientras que los parámetros H y V se procesan de modo que produzcan un único subconjunto de parámetros, en el que cada parámetro corresponde al parámetro H y al parámetro V de un bloque de residuos de 2*2 dado.
En otras modalidades no limitativas descritas en la presente descripción, un decodificador recibe los datos correspondientes a los residuos transformados para los pels controlados (es decir, para elementos de una representación en un LOQ dado de una señal decodificada en una jerarquía escalonada de LOQ). Para reconstruir residuos en base a los residuos transformados, el decodificador combina los residuos transformados con parámetros en base, al menos en parte, a una representación de la señal en un LOQ inferior a dicho LOQ dado. En una modalidad no limitativa, el decodificador combina uno de los residuos transformados con una diferencia entre el ajuste del pel de control en el LOQ inferior y el promedio de los ajustes predichos (es decir, los ajustes antes de agregar los residuos) de los pels controlados en el LOQ dado. En una modalidad no limitativa, cada residuo transformado corresponde a un bloque de residuos e influye en los valores de todos los residuos que pertenecen a su bloque correspondiente.
En otras modalidades no limitativas descritas en la presente descripción, un codificador selecciona un bloque de residuos en un plano de residuos en un primer LOQ (superior) y produce un conjunto de parámetros en base, al menos en parte, a los residuos en dicho bloque y a una representación de la señal en un segundo LOQ (inferior). En otras modalidades no limitativas descritas en la presente descripción, un decodificador recibe un conjunto de parámetros correspondientes a un bloque de residuos en un plano de residuos en un primer LOQ (superior) y produce un conjunto de residuos en base, al menos en parte, ha dicho conjunto de parámetros y a una representación reconstruida de la señal en un segundo LOQ (inferior).
De acuerdo con modalidades no limitativas adicionales, la señal de entrada se codifica y decodifica por medio de un método de codificación jerárquico basado en niveles, y se producen planos de residuos para muestras vecinas a lo largo de la dimensión del tiempo en base, al menos en parte, a un mismo conjunto de elementos ("plano de soporte"), compensando el movimiento de dicho plano de soporte y combinándolo con residuos relativos, de acuerdo con métodos descritos en otras solicitudes de patente de los mismos autores. En una modalidad no limitativa, los residuos relativos transformados se basan al menos en parte en dicho plano de soporte. En una modalidad no limitativa, tanto el plano de soporte como los planos de residuos relativos se codifican y decodifican de acuerdo con los métodos descritos en la presente descripción.
Tenga en cuenta que las modalidades en la presente descripción se pueden implementar en software o hardware, o se pueden implementar mediante el uso de una combinación de software y hardware, y pueden incluir una configuración de uno o más dispositivos computarizados, enrutadores, redes, estaciones de trabajo, ordenadores de mano o portátiles, tabletas, teléfonos móviles, consolas de juegos, cajas decodificadoras, etc., para llevar a cabo y/o soportar cualquiera o todas las operaciones del método descrito en la presente descripción. En otras palabras, uno o más dispositivos o procesadores computarizados se pueden programar y/o configurar para operar como se explica en la presente descripción para llevar a cabo diferentes modalidades.
Además de las técnicas descritas anteriormente, otras modalidades en la presente descripción incluyen programas de software para realizar las etapas y operaciones resumidas anteriormente y descritos en detalle a continuación. Una modalidad de este tipo comprende un recurso de almacenamiento de hardware legible por ordenador (es decir, un medio legible por ordenador no transitorio) que incluye lógica de programa de ordenador, instrucciones, etc., codificados en el mismo que, cuando se ejecuta en un dispositivo computarizado que tiene un procesador y la memoria correspondiente, programa y/o hace que el procesador realice cualquiera de las operaciones descritas en la presente descripción. Tales arreglos se pueden proporcionar como software, código y/o como otros datos (por ejemplo, estructuras de datos) dispuestos o codificados en un medio legible por ordenador tal como un medio óptico (por ejemplo, CD-ROM, DVD-ROM o BLU-RAY), tarjeta de memoria flash, disquete o disco duro o cualquier otro medio capaz de almacenar instrucciones legibles por ordenador tal como microprograma o microcódigo en uno o más chips ROM, RAM o PROM o como un Circuito Integrado Específico de la Aplicación (ASIC). El software o microprograma u otras configuraciones de este tipo se pueden instalar en un dispositivo computarizado para hacer que el dispositivo computarizado realice las técnicas explicadas en la presente descripción.
En consecuencia, una modalidad particular de la presente descripción se refiere a un producto de programa de ordenador que incluye un medio de almacenamiento de hardware legible por ordenador que tiene instrucciones almacenadas en el mismo para soportar operaciones de procesamiento de señales.
El orden de las etapas se ha agregado para mayor claridad. Estas etapas se pueden realizar en cualquier orden adecuado.
Otras modalidades de la presente descripción incluyen programas de software, microprograma y/o hardware respectivos para realizar cualquiera de las etapas y operaciones de la modalidad del método resumidas anteriormente y descritas en detalle a continuación.
Además, se debe entender que el sistema, el método, el aparato, las instrucciones en medios de almacenamiento legibles por ordenador, etc., tal como se describe en la presente descripción, se pueden incorporar estrictamente como un programa de software, como un híbrido de software, microprograma y/o hardware o como hardware solo tal como dentro de un procesador, o dentro de un sistema operativo o dentro de una aplicación de software, etc.
Como se discutió anteriormente, las técnicas en la presente descripción son adecuadas para su uso en aplicaciones de software, microprograma y/o hardware que procesan señales y producen flujos de bits de datos codificados o que procesan flujos de bits de datos codificados y producen representaciones de señales. Sin embargo, se debe señalar que las modalidades en la presente descripción no se limitan al uso en tales aplicaciones y que las técnicas analizadas en la presente descripción también son adecuadas para otras aplicaciones.
Adicionalmente, tenga en cuenta que aunque cada una de las diferentes características, técnicas, configuraciones, etc., en la presente descripción se pueden analizar en diferentes lugares de esta descripción, se pretende que cada uno de los conceptos se pueda ejecutar independientemente o en combinación entre sí. En consecuencia, una o más de las presentes invenciones, modalidades, etc., como se describe en la presente descripción, se puede realizar y ver de muchas maneras diferentes.
Además, tenga en cuenta que este análisis preliminar de las modalidades en la presente descripción no especifica cada modalidad y/o cada aspecto incrementalmente nuevo de la presente descripción o de la(s) invención(es) reivindicada(s). En cambio, esta breve descripción sólo presenta modalidades generales y los correspondientes puntos de novedad sobre las técnicas convencionales. Para detalles adicionales y/o posibles perspectivas (permutaciones) de la(s) invención(es), se dirige al lector a la sección de Descripción Detallada y a las Figuras correspondientes de la presente descripción como se discute más adelante.
Breve descripción de los dibujos
Los anteriores y otros objetos, características y ventajas de la invención serán evidentes a partir de la siguiente descripción más particular de las modalidades preferidas en la presente descripción, como se ilustra en los dibujos acompañantes en los que caracteres de referencia similares se refieren a las mismas partes a través de las diferentes vistas. Los dibujos no están necesariamente a escala, en cambio, se hace hincapié en ilustrar las modalidades, principios, conceptos, etc.
Las Figuras 1A, 1B, 1C, 1D y 1E son diagramas de ejemplo que describen sistemas de codificación y decodificación de acuerdo con modalidades no limitativas ilustradas en la presente descripción.
Las Figuras 2A y 2B son diagramas de ejemplo que describen la decodificación y codificación jerárquica basada en niveles de acuerdo con modalidades no limitativas ilustradas en la presente descripción.
Las Figuras 3A, 3B, 3C, 3D, 3E y 3F ilustran la descomposición y la descomposición inversa de residuos de acuerdo con modalidades no limitativas ilustradas en la presente descripción.
Las Figuras 4A, 4B, 4C y 4E son diagramas de ejemplo que describen la descomposición inversa de acuerdo con modalidades no limitativas ilustradas en la presente descripción.
La Figura 5 ilustra operaciones realizadas por un decodificador de acuerdo con una modalidad no limitativa ilustrada en la presente descripción.
La Figura 6 ilustra un diagrama de flujo de un codificador que realiza la descomposición direccional de acuerdo con modalidades no limitativas ilustradas en la presente descripción.
La Figura 7 ilustra un diagrama de flujo de un decodificador que realiza una descomposición direccional inversa de acuerdo con modalidades no limitativas ilustradas en la presente descripción.
La Figura 8 es un diagrama de ejemplo que ilustra un sistema informático que proporciona procesamiento de datos de acuerdo con las modalidades descritas en la presente descripción.
La Figura 9 es un diagrama de ejemplo que ilustra la codificación de información de acuerdo con las modalidades en la presente descripción.
Las Figuras 10 y 11 son diagramas de flujo de ejemplo que ilustran métodos de ejemplo de acuerdo con las modalidades en la presente descripción.
Descripción detallada y resumen adicional de las modalidades
Los métodos ilustrados en la presente descripción son adecuados para cualquier tipo de señales multidimensionales, incluyendo, entre otras, señales de sonido, señales de sonido multicanal, imágenes, imágenes bidimensionales, señales de vídeo, señales de vídeo multivistas, señales de vídeo 3D, señales volumétricas, señales de vídeo volumétricas, señales de imágenes médicas, señales con más de cuatro dimensiones, etc.
Para simplificar, a lo largo de la descripción, las modalidades ilustradas generalmente adoptan el caso de uso de imágenes 2D (por ejemplo, imágenes aisladas o tramas/campos de una señal de vídeo), con cada elemento (en tal caso de ejemplo no limitativo denominado usualmente como "píxel", más en general denominado "pel") que se caracteriza por un conjunto de ajustes de color u otros parámetros en un espacio de color adecuado (por ejemplo, YUV, RGB, HSV, etc.). Diferentes planos de color (por ejemplo, el plano de luminancia Y y los dos planos — U y V — de crominancia), a menudo se codifican por separado y, a menudo, con diferentes resoluciones (debido a la menor sensibilidad del ojo humano a la información de crominancia).
Los métodos y modalidades ilustrados en la presente descripción pueden usarse juntos entre sí y/o junto con otros métodos. Muchas de las modalidades preferidas ilustradas en la presente descripción describen técnicas y algoritmos con el objetivo de lograr la compresión, es decir, codificar una representación adecuada de la señal con una cantidad mínima de bits. Este también es un ejemplo no limitativo: otras modalidades no limitativas logran diferentes propósitos, tales como codificación y decodificación multiescala, transmisión adaptativa, filtrado robusto y eficiente, eliminación de ruido de señal (por ejemplo, eliminación de ruido de imagen, eliminación de ruido de vídeo, etc.), mejoras de señal (por ejemplo, supermuestreo de señal, desentrelazado, etc.), generación de métricas de calidad de señal, identificación de contenido, visión artificial, encriptación de señal (por ejemplo, comunicación segura), etc.
La Figura 1A es un diagrama de ejemplo que describe modalidades no limitativas de sistemas de codificación y decodificación que aprovechan los métodos ilustrados en la presente descripción.
El codificador 110 recibe una señal 100 (tal como una imagen bidimensional) y la codifica en el flujo de datos 115. El decodificador 120 recibe el flujo de datos 115 y produce la señal reconstruida 130. La señal reconstruida 130 puede ser idéntica o simplemente sustancialmente similar a la señal original 100 en dependencia de si la codificación/decodificación es con pérdidas o sin pérdidas.
En una modalidad, el codificador 111 recibe la señal original 140 (una señal de vídeo, es decir, una secuencia de múltiples tramas de imágenes bidimensionales) y la codifica en un flujo de datos 116 transmitido por un enlace de comunicación respectivo a un receptor objetivo. El decodificador 121 en el receptor recibe el flujo de datos 116 y produce la señal reconstruida 150, en donde las imágenes reconstruidas 150-1, 150-2,..., 150-n son representaciones reconstruidas correspondientes a las imágenes originales 140-1, 140-2,... ., 140-n. Las imágenes reconstruidas 150-1 pueden ser idénticas o sustancialmente similares a las imágenes originales 140-1 en dependencia de si la codificación y/o decodificación respectiva es con pérdidas o sin pérdidas; las imágenes reconstruidas 150-2 pueden ser idénticas o sustancialmente similares a las imágenes originales 140-2 en dependencia de si la respectiva codificación y/o decodificación es con pérdidas o sin pérdidas; las imágenes reconstruidas 150-3 pueden ser idénticas o sustancialmente similares a las imágenes originales 140-3 en dependencia de si la respectiva codificación y/o decodificación es con pérdidas o sin pérdidas; y así sucesivamente. De acuerdo con modalidades adicionales, el codificador 112 recibe la señal original 160 (una señal volumétrica que incluye múltiples elementos) y la codifica en el flujo de datos 117. El decodificador 122 recibe el flujo de datos 117 y produce la señal reconstruida 170 (por ejemplo, una representación de la señal original).
La Figura 1B es un diagrama de ejemplo no limitativo que ilustra un sistema de codificación y decodificación multiescala de acuerdo con las modalidades en la presente descripción.
En una modalidad, el codificador 111 recibe la señal original 140 y la codifica en un flujo de datos multiescala 116. En esta modalidad de ejemplo, el decodificador 121-2 recibe el flujo de datos 116 y produce una señal reconstruida en el LOQ inferior 151 (por ejemplo, incluidas las tramas 151-1, 151-2, etc.) de un primer nivel de calidad (inferior) a la señal original y/o señal 150.
Además, en esta modalidad de ejemplo, el decodificador 121-1 recibe el flujo de datos 116 y produce una señal reconstruida a un LOQ 150 superior (por ejemplo, a un segundo nivel de calidad). En este ejemplo de modalidad, el segundo nivel de calidad es superior al primero.
En una modalidad no limitativa, el segundo nivel de calidad tiene una resolución mayor (espacial y/o temporal) que el primer nivel de calidad. En otra modalidad no limitativa, el decodificador 121-2 aprovecha las técnicas de decodificación basadas en MPEG (por ejemplo, MPEG2, MPEG4, h.264, etc.) con el fin de decodificar el flujo de datos 116. En otra aún modalidad no limitativa, el decodificador 121-1 produce una señal reconstruida en el LOQ 151 inferior y luego reconstruye o deriva la señal reconstruida en el LOQ 150 superior en base, al menos en parte, a reproducir primero la señal reconstruida en el LOQ 151 inferior. En otras palabras, el decodificador 121-1 usa una primera porción de los datos codificados en el flujo de datos 116 para reproducir representaciones de la señal 151 (por ejemplo, 151-1, 151-2, etc.). A partir de entonces, el decodificador 121-1 usa una segunda porción de los datos en el flujo de datos 116 para el sobremuestreo y modificar las representaciones de la señal 151 en las representaciones de la señal 150.
En una modalidad no limitativa, el segundo nivel de calidad tiene una resolución obtenida mediante sobremuestreo con un factor de escala de dos cada dimensión espacial del primer nivel de calidad. Por ejemplo, el flujo de datos 116 se puede configurar para incluir una primera porción de los datos de reconstrucción que indica cómo reproducir un elemento original de la representación de la señal en un primer nivel de calidad. Los datos de reconstrucción adicionales en el flujo de datos 116 pueden indicar cómo convertir el elemento en el primer nivel de calidad en múltiples elementos en un segundo nivel de calidad. A modo de ejemplo no limitativo, los elementos múltiples en el segundo nivel de calidad proporcionan una resolución mayor que el elemento original en el primer nivel de calidad. Repitiendo estas etapas, una resolución baja de una imagen se puede convertir en una mayor resolución de imagen. La mayor resolución de la imagen proporciona más detalles de la imagen (porque incluye muchos más elementos de la imagen) y, por tanto, es probable que sea más atractivo para el espectador.
En otras modalidades no limitativas, el segundo nivel de calidad tiene una resolución obtenida mediante sobremuestreo con un factor de escala específico (incluyendo factores de escala no enteros y/o factores de escala iguales a 1) cada una de las dimensiones de la señal. Como ejemplo, en una modalidad de ejemplo no limitativa, un procesador de señales de decodificación de un decodificador de TV (por ejemplo, entre otros, una caja decodificadora) se programa para implementar un método como se ilustra en la Figura 1B, en donde el flujo de datos 116 corresponde a la señal de radiodifusión recibida. De esta manera, los decodificadores heredados reciben el mismo flujo de datos 116, pero simplemente ignoran los datos adicionales que permiten reconstruir una representación de la señal al nivel de calidad superior. Como se mencionó, el nivel de calidad superior puede ser una representación de la señal en una mayor resolución. En otras modalidades no limitativas, un servidor de transmisión procesa el flujo de datos codificados 116 y, en respuesta a las características del decodificador y/o a la congestión del ancho de banda, genera una versión del flujo de datos que sólo incluye los datos codificados necesarios para decodificar la señal a un nivel dado de calidad (lo opuesto al máximo nivel de calidad posible). En tal caso, el ancho de banda no se desperdicia en la transmisión de datos que no se usarán para reconstruir una representación de la señal original.
La Figura 1C ilustra una modalidad de ejemplo no limitativa de codificación y decodificación jerárquica basada en niveles de una imagen bidimensional, con factores de escala de dos en ambas dimensiones entre cualquier nivel de calidad posterior de acuerdo con las modalidades en la presente descripción.
En esta modalidad de ejemplo, la imagen 130-3 es una representación de la imagen con un nivel de calidad dado y, en particular, tiene una resolución de 8x8 elementos. La imagen 130-4 es una representación de la misma imagen con el nivel de calidad inmediatamente inferior y tiene una resolución de 4x4 elementos.
El elemento 130-4-1 del LOQ inferior comparte ubicación con los elementos 130-3-1, 130-3-2, 130-3-3 y 130-3-4 del LOQ superior. En esta modalidad de ejemplo, el elemento 130-4-1 es, por tanto, el "elemento de control" (o "pel de control" o "elemento principal") de los elementos 130-3-1, 130-3-2, 130-3-3 y 130-3-4 ("elementos controlados" o "subelementos").
Otras modalidades no limitativas aplican los mismos métodos en imágenes con más de dos dimensiones, produciendo jerarquías escalonadas con factores de escala adecuados para cada nivel, incluidos factores de escala no enteros y/o factores de escala diferentes para las dimensiones diferentes y/o factores de escala diferentes a lo largo de la jerarquía.
La Figura 1D ilustra otra modalidad de ejemplo no limitativa de codificación y decodificación jerárquica basada en niveles de una imagen bidimensional, con factores de escala de dos en ambas dimensiones entre el LOQ N-1 y el LOQ N de acuerdo con las modalidades en la presente descripción.
El elemento principal 130-(N-1)-1 del LOQ N-1 ("elemento de control") se ubica junto con los cuatro subelementos 130-N-1 correspondientes al LOQ N ("elementos controlados"). En general, el elemento principal 130-(N-1)-1 se usa como línea base en la cual reproducir (por ejemplo, a través del sobremuestreo seguido de ajustes mediante el uso de datos residuales) los cuatro subelementos 130-N-1 correspondientes.
La Figura 1E ilustra otra modalidad de ejemplo no limitativa de codificación y decodificación jerárquica basada en niveles de una imagen bidimensional, con factores de escala no enteros de 3/2 en ambas dimensiones entre el LOQ N-1 y el LOQ N de acuerdo con las modalidades en la presente descripción.
El bloque principal 130-(N-1)-2 del LOQ N-1 (un grupo de elementos de control, ya que en este caso ningún elemento individual del LOQ N-1 se coubica precisamente junto con un conjunto de elementos del LOQ N) se coubica con los subelementos 130-N-2 del LOQ N (conjunto de elementos controlados). En este ejemplo no limitativo, el cálculo de un promedio predicho para los residuos correspondientes a los subelementos 130-N-2 puede requerir el procesamiento tanto de una representación predicha de los subelementos 130-N-2 como del bloque principal 130-(N-1)-2 (lo opuesto de un único elemento principal).
Por simplicidad y en aras de una ilustración adicional, las siguientes porciones de la descripción incluyen ejemplos que usan factores de escala de dos de un nivel de calidad al siguiente. Sin embargo, los expertos en la técnica pueden adaptar fácilmente todos los métodos descritos en la presente descripción para jerarquías escalonadas con cualquiera de los múltiples tipos diferentes de factores de escala, incluyendo factores de escala anisotrópicos y/o no enteros.
La Figura 2A es un diagrama de ejemplo que describe la decodificación de una señal en una jerarquía escalonada de niveles de calidad de acuerdo con las modalidades en la presente descripción.
En esta modalidad de ejemplo, el decodificador 210 recibe los datos de reconstrucción 200-1 y produce la imagen decodificada 245-(N-1) en el LOQ N-1 (en este ejemplo, el nivel mínimo de calidad o nivel inferior de calidad).
La calculadora de predicción para el siguiente LOQ 220-1 procesa la imagen 245-(N-1) con operaciones como las especificadas por los parámetros correspondientes para las operaciones 215-1, produciendo la imagen predicha 225-1. Suponiendo un factor de aumento de escala de 2x2, la calculadora 220-1 produce la imagen predicha 225-1 que especifica los ajustes para un bloque de elementos de 8x8.
El decodificador 230 recibe los datos de reconstrucción 200-2 y produce los residuos 240 (es decir, datos de reconstrucción o datos residuales). En esta modalidad de ejemplo, los residuos 240 pueden ser una matriz de 8x8 de información de ajustes de elementos que coincida con el número de elementos en la imagen 245-N.
La imagen predicha 225-1 producida también por la calculadora 220 también puede ser una matriz de 8x8 de información de ajustes de elementos que coincida con el número de elementos en la imagen 245-N.
En una modalidad, el sobremuestreo de la imagen 245-(N-1) en la imagen predicha 225-1 es simplemente una imagen de referencia que incluye 8x8 elementos. La imagen predicha 225-1 y los residuos 240 se combinan, en una base de elemento por elemento, produciendo una imagen decodificada 245-N, que es una representación de la señal en el LOQ N (por ejemplo, 8x8 elementos). En una modalidad, los residuos 240 incluyen un conjunto de 8x8 elementos que se agregan o combinan con elementos en la imagen predicha 225-1 para producir la imagen 245-N. La aplicación de los residuos 240 a la imagen predicha 225-1 produce una representación más precisa de la señal al nivel de calidad correspondiente. En otras palabras, la representación de la señal 245-N es una representación más precisa de la señal original que la imagen predicha 225-1.
Las representaciones de la señal en cada uno de los LOQ subsecuentemente superiores se pueden producir de acuerdo con el mismo método: producir, en base a la representación en el LOQ actual, una representación predicha en el siguiente LOQ superior; decodificar los residuos; combinar la representación predicha en el LOQ superior con los residuos decodificados, produciendo una representación de la señal en el LOQ superior. La combinación puede incluir, para cada elemento de la matriz, seleccionar una ubicación de un elemento dentro de la imagen predicha 225-1 y los residuos 240 y sumar los valores para producir un valor para el elemento correspondiente en la imagen 245-N.
En una modalidad no limitativa, el decodificador 210 usa - con el fin de decodificar la tasa de reconstrucción 200-1 -un método de decodificación que es diferente del método de decodificación usado por el decodificador 230. En una modalidad de ejemplo no limitativa, el decodificador 210 implementa un método de decodificación H.264.
En otras modalidades no limitativas, el decodificador 230 produce los residuos 240 en base a un conjunto de datos codificados (datos codificados del "plano de soporte") que se aprovecha también para producir los residuos para una imagen vecina en una secuencia de imágenes.
Por tanto, cualquier algoritmo de sobremuestreo adecuado puede usarse para convertir una señal o imagen de referencia en un primer nivel de calidad en una imagen predicha de mayor resolución en un siguiente nivel de calidad superior.
La Figura 2B es un diagrama de ejemplo que describe la codificación de un codificador de una señal en una jerarquía escalonada de niveles de calidad de acuerdo con las modalidades en la presente descripción.
Un procesador de señales configurado como un codificador recibe como imagen de entrada 130-0 en el LOQ #0 tal como una imagen con una mayor resolución. La imagen 130-0 se procesa por el submuestreador 250-0, produciendo la imagen 130-1 en el LOQ#-1. La imagen 130-1 se procesa por el submuestreador 251-1, produciendo la imagen 130-2 en el siguiente LOQ inferior #-2. Este proceso de submuestreo se repite hasta que se produce la imagen 130-B en el LOQ #B mínimo (un nivel de calidad aún más inferior).
Una vez que se produce la imagen 130-B con el nivel de calidad más bajo, el codificador comienza a producir los datos de reconstrucción (datos residuales o valores de ajuste) que serán necesarios en el lado de decodificación (es decir, decodificador) con el fin de reconstruir una representación de la señal original en diferentes niveles de calidad (o, más de manera más precisa, en una jerarquía escalonada de representaciones de la señal).
En esta modalidad de ejemplo, con el fin de hacer esto, el codificador produce los datos de reconstrucción para el LOQ mínimo (el LOQ inicial para la reconstrucción de la señal) y luego simula todas las operaciones que se realizarán por el decodificador con el fin de reconstruir progresivamente, en base a un LOQ inferior, cada siguiente LOQ superior. Crear los valores de ajuste para cada elemento cuando se desplaza hacia arriba en la jerarquía permite que un decodificador respectivo reproduzca una representación de la señal original en cada uno de los múltiples niveles de calidad.
En una modalidad, el nivel más bajo de calidad es la resolución más baja. Los niveles de calidad sucesivamente superiores representan representaciones de la señal de mayor resolución.
En esta modalidad de ejemplo, la imagen 130-B se procesa por la calculadora de residuos 260+B, produciendo datos residuales RB270+B. Los datos residuales 270+B se procesan por el generador de datos de reconstrucción 280+B, produciendo los datos de reconstrucción 290+B.
Los datos de reconstrucción 290+B se procesan por el decodificador simulado 2100+B, produciendo la representación de la señal 245-B en el LOQ #B mínimo y la representación predicha 225-(B+1) en el LOQ #(-B+1). Las representaciones predichas en cualquier LOQ #N dado son procesadas por el codificador junto con la imagen 130-N correspondiente para producir datos residuales.
La calculadora de residuos 261 recibe la imagen 130-1 en el LOQ #-1 y la representación predicha 225-(-1) en el LOQ #-1, produciendo los datos residuales 271. En una modalidad, los datos residuales 271 (o datos de reconstrucción) incluyen valores de ajuste a aplicar a la representación predicha recibida 225-(-1) con el fin de reproducir la representación de la señal en el nivel correspondiente de calidad #-1. Los datos residuales 271 se procesan por el generador de datos de reconstrucción 281, produciendo los datos de reconstrucción 291.
Los datos de reconstrucción 291 se procesan por el decodificador simulado 2101, produciendo la representación de la señal 245-1 en el LOQ #-1 y la representación predicha 225-0 en el LOQ #0.
La calculadora de residuos 260 recibe la imagen original 130-0 en el LOQ #0 y la representación predicha 225-0 en el LOQ #0, produciendo los datos residuales 270. En una modalidad, los datos residuales 270 (o datos de reconstrucción) incluyen valores de ajuste a aplicar a la representación predicha recibida 225-0 para reproducir la representación de la señal en el nivel correspondiente de calidad #0. Los datos residuales 270 se procesan por el generador de datos de reconstrucción 280, produciendo los datos de reconstrucción 290.
Los datos de reconstrucción 290 se procesan por el decodificador simulado 2100, produciendo la representación de la señal 245-0, que es la representación de la señal en el LOQ más alto en la jerarquía de representaciones que se generarán en el lado de decodificación.
En una modalidad no limitativa, el codificador verifica que la representación 245-0 sea adecuadamente similar a la imagen original 130-0, de acuerdo con una métrica de calidad. Si la puntuación de la métrica de calidad cae por debajo de un umbral, el codificador vuelve a procesar los datos de reconstrucción para uno o más LOQ (por ejemplo, ajustando los parámetros de codificación adecuados) hasta que una métrica de calidad para la similitud entre 245-0 y 130-0 esté por encima un umbral.
En otra modalidad no limitativa, el codificador verifica que la cantidad de flujo de bits necesaria para codificar los datos de reconstrucción 290, 291, ..., 290+B está por debajo de un umbral máximo. Si la cantidad necesaria de flujo de bits está por encima de un umbral, el codificador vuelve a procesar los datos de reconstrucción para uno o más LOQ (por ejemplo, ajustando los parámetros de codificación adecuados) hasta que la cantidad necesaria de datos a transmitir en el flujo de bits esté por debajo del umbral.
Las Figuras 3A y 3B ilustran un ejemplo de descomposición direccional de acuerdo con las modalidades en la presente descripción. La descomposición direccional se aplica a agrupaciones de bloques de residuos de 2*2 en el caso de sobremuestreo 2D con factor de escala de dos a lo largo de ambas dimensiones (es decir, para cada elemento principal en el LOQ #(N-1) hay cuatro pels controlados (es decir, elementos de imagen) en el siguiente LOQ #N superior y, en consecuencia, se deben decodificar cuatro residuos con el fin de reconstruir adecuadamente dichos pels controlados).
La descomposición direccional representa una manera de codificar los datos de reconstrucción (tales como los datos residuales) de una manera útil.
En este ejemplo, suponga que el bloque de residuos 300 es una porción de un plano de datos residuales en un LOQ #N dado que se procesa por un decodificador y combinado con una representación predicha de una señal en el LOQ #N dado con el fin de producir una representación de la señal en dicho LOQ #N dado. En particular, el bloque de residuos 300 se forma por los cuatro residuos r¡,j, n,j+1, r¡+1j y n+1,j+1. El residuo n,jes un valor de ajuste que indica cómo modificar un elemento correspondiente p¡,j en la imagen predicha para reproducir una representación del elemento Xi,j; los datos de reconstrucción j son un valor de ajuste que indica cómo modificar un elemento correspondiente pi,j+1 en la imagen predicha para reproducir una representación del elemento x¡,j+1; los datos de reconstrucción n+1,j son un valor de ajuste que indica cómo modificar un elemento correspondiente p¡+1,j en la imagen predicha para reproducir una representación del elemento x¡+1,j; los datos de reconstrucción n+1,j+1 son un valor de ajuste que indica cómo modificar un elemento correspondiente p¡+1,j+1 en la imagen predicha para reproducir una representación del elemento x¡+1,j+1.
En particular, el bloque de residuos 300 corresponde a un bloque 305 de elementos de imagen x¡,j, X¡,j+1, X¡+1,j, X¡+1,j+1en el LOQ #N controlado por un elemento principal y1306 en el LOQ #(N-1) inferior que se generó por el codificador en base a los elementos de imagen en el LOQ #N.
En esta modalidad no limitativa los ajustes y1 del elemento principal se generaron cuantificando un promedio ponderado de los ajustes de los elementos correspondientes al bloque 300, con uno de los múltiples algoritmos de submuestreo tales como un kernel de filtrado bilineal y con la posición de muestreo del elemento principal ubicada en el centro del bloque (es decir, en el caso no limitativo de filtrado bilineal, el elemento principal corresponde a un promedio simple de los pels controlados). Como consecuencia, la suma de los residuos de los pels controlados (es decir, la suma de rij, r¡,j+1, r¡+1,j y r¡+1,j+1) depende al menos en parte del ajuste del elemento principal y1; de hecho, en ausencia de operaciones de cuantificación, estaría determinado con precisión por el elemento principal, que ya se conoce por un decodificador en el momento en que comienza a reconstruir el bloque 300.
Con el fin de aprovechar adecuadamente tal información, el codificador, como se describe en la presente descripción, realiza una transformada de descomposición que toma ventaja conjuntamente de dos tipos de correlación: (1) la autocorrelación entre los residuos del bloque 300 y (2) la correlación entre los residuos del bloque 300, los elementos predichos correspondientes al bloque 300 y el elemento principal. Como se mencionó, la descomposición es una manera de codificar los residuos 300 en diferentes formatos (por ejemplo, las componentes direccionales 320 y luego residuos transformados 350 que son más adecuados para la transmisión a través de un enlace de comunicación a un dispositivo de destino remoto que decodifica los datos para reproducir una imagen). Más específicamente, en esta modalidad de ejemplo, con el fin de explotar la autocorrelación entre los residuos, el codificador aplica una transformación de "descomposición direccional" a los residuos, produciendo las cuatro componentes direccionales A, H, V y D:
■ A es el promedio de los residuos n,j, n,j+i, r¡+i,j, r¡+1,j+1;
■ H es la inclinación horizontal/latitudinal de dichos residuos;
■ V es la inclinación vertical/longitudinal de dichos residuos;
■ D es la inclinación diagonal/oblicua de dichos residuos.
En general, los valores H, V y D incluyen suficiente información de decodificación para convertir el valor A en ajustes más específicos para cada uno de las componentes residuales ry, ry+1, n+1,j, n+1,j+1. Desde un punto de vista geométrico, la transformación es equivalente a reemplazar cuatro muestras en el espacio con su representación dada por un plano ubicado en el eje z en el promedio de las muestras e inclinado en consecuencia para reconstruir las 4 muestras, como se ilustra en la Figura 3A.
Como ya se mencionó, la transformación tiene dos objetivos: explotar la correlación entre los residuos (por ejemplo, la correlación direccional de líneas y de patrones típicos de una imagen) y reducir la entropía de información correspondiente al promedio A, que se puede predecir fácilmente en el lado del decodificador en base, al menos en parte, a los valores predichos.
En el lado del codificador, el codificador sabe que el elemento principal se calculó de acuerdo con la fórmula 3.12 en la Figura 3B. La diferencia 6a entre y, y y1 proviene de los errores generados durante los procesos de cuantificación/descuantificación. De acuerdo con la ecuación 3.14 en la Figura 3B, restando de y1 el valor promedio de las predicciones p para los ajustes x de los pels controlados, es posible generar una predicción ("PA", para "promedio predicho") para el valor promedio de los cuatro residuos 300, de manera que la diferencia entre A y PA es igual a 6a.
En esta modalidad de ejemplo, el codificador genera los residuos transformados 350 de la siguiente manera:
■ Procesar los residuos 300 con el Descomponedor Direccional 310, produciendo las Componentes Direccionales 320. En particular, las Componentes Direccionales se calculan de acuerdo con los cálculos ilustrados en la fórmula 3.11.
■ Producir un Promedio Predicho de 340.
■ Procesar las Componentes Direccionales 320 y del Promedio Predicho 340 con la Calculadora de Residuos Transformados 330, produciendo los Residuos Transformados 350.
En una modalidad no limitativa, 6a se calcula de acuerdo con la fórmula 6a= A - PA = A - (yV,h - AvgP), en donde AvgP es el valor promedio de las predicciones p para los ajustes x de los pels controlados.
En una modalidad no limitativa, al calcular las Componentes Direccionales 320 el codificador no divide por 4 como se indica en la fórmula 3.11 en la Figura 3B, con el fin de reducir los cálculos necesarios para el proceso de descomposición inversa necesario en el lado de la decodificación.
En una modalidad no limitativa, un decodificador recibe los residuos transformados 6a, H, V, D (calculados por el codificador como se describió anteriormente) y calcula los residuos ry, ry+1, n+1,j, n+1,j+1 produciendo primero un promedio predicho PA y reconstruyendo las componentes A, H, V, D, y luego resolviendo para ry, ry+1, n+1,j, n j la ecuación indicada en la fórmula 3.11.
En otra modalidad no limitativa, el decodificador recibe los residuos transformados 6a, H, V, D y calcula A de acuerdo con la fórmula A = 6a (y'k,h - AvgP), en donde AvgP es el valor promedio de las predicciones p para los ajustes x de los pels controlados. Desde el punto de vista de la entropía de la información, el beneficio de transmitir/recibir 6a (es decir, la diferencia entre el promedio real de los residuos y el promedio predicho de los residuos) en lugar del valor A (promedio) se basa en el hecho de que 6a es muy probable que sea igual a cero (o sea casi cero), por lo que es más probable que el símbolo cero se encuentre en la secuencia de residuos transformados codificados, por tanto, que mejore la eficiencia de codificación. En otras palabras, transmitir el valor 6a en lugar de transmitir el valor A, ahorra la cantidad de bits de datos que se necesitan para codificar los residuos 300. Después de haber calculado A en este ejemplo, el decodificador calcula los residuos ry, ry+1, n+1,j, n j resolviendo para ry, ry+1, n+1,j, n+1,j+1 mediante el uso de la ecuación indicada en 3.11.
Como se indicó anteriormente, la descomposición de los residuos 300 para producir subsecuentemente los residuos transformados 350 toma ventaja de la correlación entre los residuos. En una modalidad no limitativa, la descomposición permite separar los residuos en una parte constante y una o más partes variables. Algunos de los elementos transformados pueden ser predecibles, haciendo más fácil transmitirlos. En una modalidad, los residuos transformados 350 se obtienen en base a una combinación de adiciones y/o diferencias entre componentes individuales.
Ilustrándolo con ecuaciones, a partir del vector r (que comprende los cuatro residuos 300 como j el codificador calcula el vector 1, en donde el vector 1 contiene cuatro parámetros derivados del promedio A, la inclinación horizontal H, la inclinación vertical V y la inclinación diagonal D. En particular, el vector 1 se calcula multiplicando el vector r por la matriz M. El decodificador recibe los parámetros que le permiten reconstruir el vector 1 (en particular, en la modalidad no limitativa descrita anteriormente, en lugar de recibir el parámetro A, el decodificador recibe el parámetro 5a que indica la diferencia entre A y el promedio predicho pA de los residuos). Después de haber reconstruido 1, el decodificador reconstruye el vector r multiplicando la inversa de la matriz M por el vector 1. Como se ilustra mediante las siguientes ecuaciones de la Figura 3b , en una matriz de una modalidad no limitativa M-1 es idéntica a la matriz M:
Figure imgf000015_0001
r - M 1 - l - M -l
En otra modalidad no limitativa, diferentes residuos en un conjunto de residuos transformados se cuantifican de acuerdo con diferentes parámetros de cuantificación. Esto se debe a la diferente importancia relativa de las componentes direccionales para la calidad percibida, lo que permite cuantificar ciertos residuos transformados de manera diferente a otros sin diferencias notables en la calidad. En otras palabras, como se mencionó, los datos de reconstrucción o datos residuales en cada nivel de calidad correspondiente al que pertenecen los datos son responsables de volver a agregar los detalles en una representación predicha de la señal de manera que la representación producida de la señal refleje con mayor precisión la señal original para el nivel de calidad correspondiente.
Por ejemplo, los residuos transformados correspondientes al promedio o a las componentes diagonales se cuantifican de forma más agresiva que las otras. En una modalidad, el decodificador descuantifica diferentes residuos de acuerdo con diferentes parámetros de descuantificación. En otra modalidad, diferentes parámetros de cuantificación permiten mejorar la precisión de la inclinación vertical y la inclinación horizontal de los residuos (a las que el ojo humano es particularmente sensible) independientemente de la precisión de la información diagonal/oblicua, de modo que, en caso de artefactos de cuantificación (por ejemplo, errores de imagen que se producen debido al filtrado para guardar los bits de datos) introducidos por la compresión, las componentes específicas de los residuos tienen privilegios en términos de asignación de tasa de bits.
En otra modalidad no limitativa, los parámetros H y V se cuantifican de manera diferente de acuerdo con una estimación de las cantidades de correlación horizontal frente a vertical en una señal (por ejemplo, un campo en un vídeo entrelazado a menudo se caracteriza por una correlación horizontal más alta que una correlación vertical, por lo que se puede codificar eficientemente cuantificando H y V de manera diferente).
En otra modalidad no limitativa, para el último nivel de calidad, el decodificador recibe sólo parámetros correspondientes a H y V, y reconstruye el conjunto completo de componentes direccionales (y luego los residuos) ajustando A y D a valores predeterminados.
Otras modalidades no limitativas adoptan métodos de transformación de residuos similares con el fin de codificar y/o decodificar los residuos para conjuntos de pels controlados que presentan más de dos dimensiones (por ejemplo, a modo de ejemplo no limitativo, residuos para conjuntos de ocho elementos de imagen de control obtenidos por medio de una operación de sobremuestreo tridimensional) y/o diferentes factores de escala desde un LOQ inferior hasta el siguiente LOQ superior.
Los expertos en la técnica pueden deducir fácilmente la matriz de transformación que se usará en otras modalidades que operen en operaciones de sobremuestreo que involucren más de dos dimensiones (por ejemplo, a modo de ejemplo no limitativo, operaciones que involucren dos dimensiones espaciales y una dimensión temporal, todas con una escala factor de dos, reconstruyendo 8 pels controlados en un LOQ superior para cada pel controlado en un LOQ inferior). A modo de ejemplo no limitativo, un sobremuestreo volumétrico con un factor de escala de dos en todas las dimensiones requiere una matriz de transformada de descomposición residual de 8x8, que calcula 8 gradientes direccionales/inclinaciones residuales. En una modalidad no limitativa, para cada bloque 2x2x2 de la señal, el codificador calcula (y el decodificador recibe y decodifica) un parámetro correspondiente al valor residual promedio y 7 parámetros correspondientes a 7 valores de inclinación residual.
En otra modalidad no limitativa, tanto el codificador como el decodificador operan por separado en las dimensiones de tiempo y espacio. La inclinación temporal se transmite y decodifica primero y luego los 6 valores restantes (3 por cada plano espacial) se transmiten como valores espaciales oblicuos. En otra modalidad no limitativa, el codificador y el decodificador usan un método de descomposición direccional completo en dos dimensiones (por ejemplo, en el codificador, para cada bloque de residuos de 2x2: calcular el promedio A, la inclinación horizonta1H, la inclinación vertical V y la diagonal inclinar D de residuos, y luego codificar, en lugar del promedio A, la diferencia 5a entre el promedio A y el promedio predicho PA; en el decodificador: recibir la diferencia 5a entre el promedio A y el promedio predicho PA, la inclinación horizontal H, la inclinación vertical V y la inclinación diagonal D, y calcular a partir de dichos parámetros los cuatro residuos), y luego una descomposición direccional parcial en la tercera dimensión (por ejemplo, a lo largo del tiempo, calcular, codificar y decodificar sólo la inclinación entre los dos promedios de los bloques de residuos de 2x2).
En otra modalidad no limitativa, el codificador puede elegir la opción para evitar transmitir un residuo para cada conjunto de residuos correspondientes a un mismo pel de control en un LOQ inferior. Esto es equivalente a cuantificar 5a a cero, independientemente de su valor real.
En otras modalidades no limitativas, el decodificador recibe conjuntos completos de residuos y explota la redundancia en la información residual para propósitos de corrección o detección de errores, mejorando la solidez de la transmisión.
En otras modalidades no limitativas con factores de escala entre los LOQ diferentes de 2 para una o más direcciones, el codificador y el decodificador calculan el promedio predicho para un conjunto de residuos en base, al menos en parte, a los valores de una pluralidad de elementos de la representación del señal en el LOQ inferior. En otras modalidades no limitativas, el codificador aplica transformadas de descomposición a conjuntos específicos de residuos, con el objetivo de maximizar el número de residuos transformados a los que se les asigna un valor igual a cero. Esto se debe a que las técnicas de codificación por entropía son más eficientes cuando se comprime un flujo de números que incluyen un mayor porcentaje de valores iguales a cero. En una modalidad no limitativa, los parámetros correspondientes a las transformadas de descomposición aplicadas se transmiten al decodificador, junto con los datos de reconstrucción.
En una modalidad no limitativa, el codificador selecciona conjuntos de residuos de diferentes imágenes en un mismo LOQ en una secuencia de imágenes, correspondiendo dichos conjuntos de residuos a una misma ubicación (es decir, un conjunto de coordenadas) a lo largo de múltiples imágenes posteriores (por ejemplo, múltiples posiciones de muestreo a lo largo del tiempo). Para cada posición dada en los conjuntos de residuos, el codificador selecciona los residuos de los conjuntos que están en esa posición (por ejemplo, una secuencia temporal de residuos a lo largo del tiempo) y genera una secuencia de residuos transformados comenzando con un valor correspondiente al promedio de dichos residuos y luego — correspondiente a cada residuo dado — los valores correspondientes a la etapa entre el residuo anterior y el residuo dado. De esta manera, el codificador representa de manera muy eficiente una secuencia de múltiples valores que son constantes por un tiempo, luego cambian a un valor diferente y permanecen constantes nuevamente a partir de entonces: de hecho, tal secuencia se representa con sólo dos valores diferentes de cero (es decir, el valor correspondiente al promedio y el valor correspondiente al pel donde ocurre el cambio de etapa). En tal modalidad, para reconstruir los residuos originales, el decodificador procesa los residuos transformados y calcula los residuos multiplicando los residuos transformados por matrices tales como las siguientes (en dependencia del número de residuos en la secuencia):
Figure imgf000016_0001
etc.
La Figura 3F es un diagrama de ejemplo que ilustra la generación de datos de reconstrucción de acuerdo con las modalidades en la presente descripción
Como se muestra, el hardware de procesamiento informático de la Figura 3F se configura para producir los datos de reconstrucción de acuerdo con las modalidades en la presente descripción. Como se muestra, durante la codificación, el algoritmo de submuestreo 371 recibe y procesa el bloque 305 que incluye X11, X12, X21, X22. Cada uno de estos valores X11, X12, X21, X22 representa un ajuste correspondiente asociado con el elemento respectivo. En una modalidad, el algoritmo de submuestreo 371 recibe y procesa la matriz X en el primer nivel de calidad y convierte la matriz de valores x (X11, X12, X21, X22) en un único valor y (por ejemplo, el valor representativo 361). El algoritmo cuantificador 371 convierte el valor y en y1 (por ejemplo, un valor representativo cuantificado 362, también indicado como 306 en la Figura 3B). El algoritmo de muestreo ascendente 373 asociado con el codificador, al procesar la representación de la señal en el LOQ #2 inferior, inicia el sobremuestreo del valor 362 (por ejemplo, y1) en una representación predicha (P11, P12, P21, P22) correspondiente a la representación original de la señal (X11, X12, X21, X22). La función de diferencia 376 produce los datos de reconstrucción o datos residuales 300 como una diferencia entre la señal original especificada porX11, X12, X21, X22 y la representación predicha P11, P12, P21, P22 para producir los valores de ajuste R11, r 12, R21, R22.
En una modalidad, el valor de ajuste R11 = X11 - P11; el valor de ajuste R12 = X12 - P12; el valor de ajuste R21 = X21 - P21; y el valor de ajuste R22 = X22 - P22.
El recurso de procesador 377 recibe el primer conjunto de valores de ajuste (tales como los datos residuales 300 o los valores de ajuste R11, R12, R21, R22). El primer conjunto de valores de ajuste especifica los ajustes a realizar en una representación predicha (P11, P12, p21, P22) de la señal generada en el nivel #1 correspondiente para reconstruir una representación de la señal (X11, X12, X21, X22) en el primer nivel de calidad. El recurso de procesador 377 procesa el primer conjunto de valores de ajuste R11, R12, R21, R22. El recurso del procesador 377 deriva un segundo conjunto de valores de ajuste (o residuos transformados 350 o 8a, H, V, D) en base al primer conjunto de valores de ajuste R11, R12, R21, R22 y una representación de la señal como y1 en un segundo nivel de calidad.
En este ejemplo, el nivel de calidad #2 es inferior al nivel de calidad #1. La señal puede ser una imagen que incluye múltiples elementos. A modo de ejemplo no limitativo, el nivel de calidad #1 puede ser una primera resolución de imagen; el nivel de calidad #2 puede ser una segunda resolución de imagen. La resolución de la segunda imagen es más baja que la resolución de la primera imagen.
Nuevamente tenga en cuenta que la señal que se codifica por el hardware del codificador de la Figura 3F puede ser cualquier tipo adecuado de señal. Por ejemplo, la señal puede ser una imagen bidimensional; la señal puede ser una señal de vídeo; la señal puede ser una imagen volumétrica; y así sucesivamente.
En otra modalidad específica, el recurso de procesador 377 incluye un procesador de datos de reconstrucción 396. El procesador de datos de reconstrucción 396 convierte los datos residuales 300 en los valores de las componentes A, H, V y D. Como se mencionó, los valores A, H, V y D son una representación codificada de los residuos 300. En base, al menos en parte, al valor y1 y a las componentes direccionales A, H, V y D, el transformador de datos de reconstrucción 397 produce los valores de ajuste 8a, H, V, D (datos residuales transformados 350).
De acuerdo con la invención, el recurso de procesador 377 deriva el conjunto de valores de ajuste 8a, H, V, D (datos residuales transformados 350) procesando el conjunto de valores de ajuste R11, R12, R21, R22 para producir las múltiples componentes de ajuste A, H, V y D, que son representativas del conjunto de valores de ajuste R11, R12, R21, R22. El transformador de datos de reconstrucción 397 produce el conjunto de datos de ajuste 8a, H, V, D (datos residuales transformados 350) en base a una combinación de al menos uno de las múltiples componentes de ajuste tales como el valor A, con al menos un ajuste asociado con la representación de la señal tal como y1 en el nivel de calidad #2.
Como se mencionó, uno o más de los valores de ajuste 8a, H, V, D (datos residuales transformados 350) se pueden calcular en base a una combinación lineal del conjunto de valores de ajuste R11, R12, R21, R22 con la representación de la señal (tal como y1) en el nivel de calidad #2. Por ejemplo, el valor 8a se puede calcular en base a una diferencia entre el valor promedio A (un promedio de los valores X11, X12, X21, X22) generado por el algoritmo cuantificador 372 y un promedio predicho producido en base, al menos en parte, a un promedio de los elementos (P11, P12, P21, P22) en el bloque 393 (por ejemplo, [P11 P12 P21 P22]/4).
Como ejemplo, suponga que los datos en el bloque 305 (una porción correspondiente de elementos en un plano de elementos que se están submuestreando) incluyen: X11 = 10, X12 = 20, X21 = 25, X22 = 30. En este ejemplo, el algoritmo de submuestreo 371 produce un valor y = 21,25 mediante el uso de un promedio de los elementos X11, X12, X21, X22. El valor único y = 21,25 en el nivel de calidad #2 es un valor representativo de los ajustes asociados con los elementos X11, X12, X21, X22.
Suponga que el algoritmo cuantificador 372 cuantifica el valor y = 21.25 para producir y1 =21. En una modalidad, la cuantificación incluye comparar un valor recibido tal como y = 21,25 con múltiples intervalos. En este ejemplo, suponga que a cualquier valor en el intervalo A1 entre 21 y 21,999 se le asigna un valor de 21. El valor y = 21,25 cae dentro del intervalo A1 y por lo tanto se cuantifica y se le asigna un valor de 21 como resultado de la cuantificación por el algoritmo cuantificador 372.
Como se analizó anteriormente, las modalidades en la presente descripción incluyen el sobremuestreo del valor cuantificado y1 = 21 (también en base, al menos en parte, a sus elementos vecinos) en un conjunto de valores predichos P11, P12, P21, P22. En este ejemplo, suponga que la aplicación del algoritmo de sobremuestreo 373 produce los ajustes P11 = 10, P12 = 15, P21 = 20, P22 = 25. Estos valores P se aproximan a los ajustes de los valores X originales (X11, X12, X21, X22) pero necesitan algún ajuste.
Las modalidades en la presente descripción incluyen aplicar la función de diferencia 376 para producir los valores R (R11, R12, R21, R22). Por ejemplo, la función de diferencia 376 establece R11 = X11 - P11 (R11 = 10 - 10 = 0); la función de diferencia 376 establece R12 = X12 - P12 (R12 = 20 -15 = 5); la función de diferencia 376 establece R21 = X21 - P21 (R21 = 25 - 20 = 5); la función de diferencia 376 establece R22 = X2 - P22 (R22 = 30 - 25 = 5).
De acuerdo con las ecuaciones anteriores, el procesador de datos de reconstrucción 396 produce los ajustes para A, H, V y D en base a los ajustes R11, R12, R21, R22 en el nivel de calidad #1. Por ejemplo, de acuerdo con la matriz respectiva, el procesador de datos de reconstrucción 396 produce las componentes direccionales 320 de la siguiente manera:
A = [Rll R12 R21 R22]/4 = [0 5 5 5]/4 = 3,75
H= [Rll - R12 R21 - R22] / 4 = [0- 5 5 - 5] / 4 = 1,25
V = [Rll R12 - R21 - R22]/ 4 = [0 5- 5 - 5 ] /4 = 1,25
D = [Rll -R12-R21+R22] / 4 = [0- 5-5 5]/4 = -l,25
En base a estos valores para A, H, V y D, el transformador de datos de reconstrucción 397 produce los residuos transformados 300 (8a, H, V, D) de la siguiente manera:
5 » = Promedio - Promedio Predicho = {3,75 — [y1 — (P11+P12 + P21 + P22) /4]} =
5 a = (3,75 - [21 - (10 + 15 + 20 + 25) /4]> = 3,75 - (21 - 17,5) = 3,75 - 3,5 = 0,25
En este ejemplo, el recurso de procesador 377 produce los datos residuales transformados 350 de la siguiente manera:
óa, = ,25
H = 1,25
V = 1,25
D = -1,25
En consecuencia, el hardware del codificador, como se describe en la presente descripción, recibe la representación de la señal (X11, X12, X21, X22) en el nivel de calidad #1. El algoritmo de submuestreo 371 del codificador de la Figura 3F produce la representación de la señal y en el nivel de calidad #2 en base a la representación de la señal (X11, X12, X21, X22) en el nivel de calidad #1. El algoritmo de sobremuestreo 373 produce la representación predicha de la señal P11, P12, P21, P22 en el nivel de calidad #1 a partir de la representación de la señal en el nivel de calidad #2. Por ejemplo, el algoritmo cuantificador 372 produce y1 a partir de y. El algoritmo de sobremuestreo 373, al procesar la representación de la señal en el nivel de calidad #2, convierte y1 a P11, P12, P21, P22. Como se mencionó, la función de diferencia 376 produce el conjunto de valores de ajuste R11, R12, R21, R22 como una diferencia entre la representación de la señal R11, R12, R21, R22 en el nivel de calidad #1 y la representación predicha de la señal P11, P12, P21, P22 en el nivel de calidad #1. El procesador de datos de reconstrucción 396 produce un conjunto formateado de valores de ajuste (tales como las componentes direccionales 320) a partir del conjunto de valores de ajuste R11, R12, R21, R22. Como sugiere su nombre, el transformador de datos de reconstrucción 397 transforma el conjunto formateado de valores de ajuste en el conjunto de valores de ajuste 8a, H, V, D.
Las modalidades en la presente descripción pueden incluir además hardware y software de codificador adicionales para codificar el conjunto de valores de ajuste 8a, H, V, D y la representación de la señal y1 en el nivel de calidad #2 en la información codificada correspondiente. Un recurso de transmisor transmite la información codificada correspondiente a través de un enlace de comunicación al hardware de procesamiento del decodificador (ver la Figura 5 para un ejemplo no limitativo de decodificación).
De acuerdo con la Figura 5, el hardware de procesamiento del decodificador recibe la información codificada. A partir de la información codificada, el hardware de procesamiento del decodificador obtiene (a través de la decodificación) los datos de reconstrucción tales como el valor y1 =21. El valor y1 especifica cómo reconstruir la representación de la señal para el bloque 306 (Figura 3B) en el nivel de calidad #2. A partir de la información codificada recibida, el hardware de procesamiento del decodificador obtiene (a través de la decodificación) el conjunto de valores de ajuste 8a, H, V, D.
El hardware de procesamiento del decodificador reproduce la representación predicha de la señal P11 (elemento 500-1-1), P12 (elemento 500-1-2), P21 (elemento 500-1-3), P22 (elemento 500-1-4 ) en el nivel de calidad #1 en base, al menos en parte, al valor y1 en los datos de reconstrucción obtenidos. El hardware de procesamiento del decodificador obtiene un valor de ajuste ("promedio predicho" o "PA") tal como el valor 430-5 en base al procesamiento de los ajustes asociados con la representación predicha de la señal y los datos de reconstrucción obtenidos (tales como y1 = 21). En esta modalidad de ejemplo, el bloque 520 genera un valor de ajuste 430-5 para igualar y1 menos el promedio de las predicciones AvgP (tal como [(P11+P12+P21+P22)/4). Recuerde que el algoritmo de sobremuestreo 373 (también usado por el hardware de procesamiento del decodificador) aplicado a y1 y a sus elementos vecinos en el hardware de procesamiento del decodificador produce los valores P11 = 10, P12 = 15, P21 = 20, P22 = 25. Tenga en cuenta que el algoritmo específico a usar para el sobremuestreo del valor y1 se puede especificar en los datos recibidos por el hardware de procesamiento del decodificador. En particular, para un elemento dado de la representación preliminar de la señal en el nivel de calidad superior, los ajustes de producción para dicho elemento puede comprender: recibir metadatos asociados con las operaciones de sobremuestreo a usar para producir, en base a la representación de la señal en el nivel de calidad inferior, la representación preliminar de la señal en el nivel de calidad más alto; identificar una operación de muestreo ascendente (por ejemplo, entre otras, coeficientes de un kernel de muestreo ascendente) de acuerdo con lo especificado por los metadatos; y aplicar la operación a un subconjunto de elementos de la representación de la señal en el nivel de calidad inferior para derivar los ajustes para dicho elemento dado de la representación preliminar de la señal en el nivel de calidad más alto. El bloque de procesamiento 520, por lo tanto, produce y1 - AvgP = 21 -[(10 15 20 25)/4] = 21 -17,5 = 3,5. La función 562 suma delta 445-1 (por ejemplo, 8a = 0,25) obtenido mediante la decodificación como se analizó anteriormente) y un valor PA = 3,5 para producir una señal 430-5 tal como un valor de 3,75 (es decir, un promedio A = 3,75). Por tanto, el hardware de procesamiento del decodificador utiliza el valor de ajuste derivado (por ejemplo, PA = 3,5) como una base para modificar el valor 8a = 0,25 en el valor de ajuste A = 3,75)
Los datos obtenidos mediante la decodificación de la información recibida también incluyen la obtención de valores para H, V y D. En este ejemplo, los valores son los siguientes: H = 1,25, V = 1,25 y D = -1,25.
El hardware de procesamiento del decodificador aplica luego el conjunto modificado de valores de ajuste (por ejemplo, A, H, V, D) a la representación predicha reproducida de la señal P11, P12, P21, P22 para producir la representación de la señal 550-1 en el nivel de calidad #1. Por ejemplo, el hardware de procesamiento del decodificador aplica una fila de sumadores asociados con los valores de la matriz 532 para producir:
elemento 550-1-1 = elemento 500-1-1 (A 455-1 H 455-2 V 455-3 D 455-4)
= 10 (3,75 (-1,25) (-1,25) (-1,25)) = 10 = XI l;
elemento 550-1-2 = elemento 500-1-2 (A 455-1 - H 455-2 V 455-3 - D 455-4)
= 15 (3,75 -(-1,25) (-1,25) -(-1,25)) = 20 = X12;
elemento 550-1-3 = elemento 500-1-3 (A 455-1 - H 455-2 V 455-3 - D 455-4)
= 20 (3,75 (-1,25) -(-1,25) -(-1,25)) = 25 = X21;
elemento 550-1-4 = elemento 500-14 (A 455-1 - H 455-2 - V 455-3 D 455-4)
= 25 (3,75 -(-1,25) -(-1,25) (-1,25)) = 30 = X12.
y
elemento 50-1-4 = elemento 500-14 (A 455-1 - H 455-2 - V 455-3 D 4554)
= 25 (3,75 -(-1,25) -(-1,25) (-1,25)) = 30 = X12.
En consecuencia, a través de la recepción de datos residuales tales como y1 = 21 y los valores 8a = 0,25, H = -1,25, V = -1,25 y D = -1,25, el hardware de procesamiento del decodificador puede reproducir los valores originales X11, X12, X21 y X22.
De acuerdo con modalidades adicionales de la Figura 9, el hardware de procesamiento del codificador, como se analizó en la presente descripción, se puede configurar para producir múltiples conjuntos de datos de reconstrucción 910. Por ejemplo, una primera porción de una señal tal como los elementos X se puede procesar y codificar para producir un conjunto de datos de reconstrucción 910-1 como se analizó anteriormente. De manera similar como se analizó anteriormente, el codificador se puede configurar para producir un conjunto de datos de reconstrucción 910-2 en base a los elementos Z11, Z12, Z21 y Z22.
Como se analizó, cada conjunto de datos de reconstrucción 910 puede incluir los ajustes para múltiples componentes tales como A (una primera componente), H (una segunda componente), V (una tercera componente) y D (una cuarta componente) por medio del valor transformado 8a (un primer valor transformado), H (un segundo valor transformado), V (un tercer valor transformado) y D (un cuarto valor transformado). El primer valor transformado tal como 8a (promedio delta) en cada uno de los conjuntos corresponde a una primera clase de atributo; el segundo valor transformado en cada uno de los conjuntos corresponde a una segunda clase de atributo tal como la Horizontal (H); el tercer valor transformado en cada uno de los conjuntos corresponde a una tercera clase de atributo tal como la Vertical (V); el cuarto valor transformado en cada uno de los conjuntos corresponde a una cuarta clase de atributo tal como la Diagonal (D).
En una modalidad, el hardware de procesamiento del codificador crea una primera agrupación 925-1 para incluir un primer valor de componente de cada uno de los múltiples conjuntos de datos de reconstrucción 910. Por ejemplo, la agrupación 925-1 incluye los valores de las componentes 8a1, da2, ...
El hardware de procesamiento del codificador crea la agrupación 925-2 para incluir un segundo valor de componente tal como la H de cada uno de los múltiples conjuntos de datos de reconstrucción 910. Por ejemplo, la agrupación 925-2 incluye los valores de las componentes H1, H2, ...
El hardware de procesamiento del codificador crea la agrupación 925-3 para incluir un tercer valor de componente tal como la V de cada uno de los múltiples conjuntos de datos de reconstrucción 910. Por ejemplo, la agrupación 925-3 incluye los valores de las componentes V1, V2, ...
El hardware de procesamiento del codificador crea la agrupación 925-4 para incluir un tercer valor de componente tal como la D de cada uno de los múltiples conjuntos de datos de reconstrucción 910. Por ejemplo, la agrupación 925-4 incluye los valores de las componentes D1, D2, ...
En una modalidad, el hardware de procesamiento del codificador codifica las agrupaciones independientemente entre sí. Por ejemplo, la entropía del hardware de procesamiento del codificador codifica la primera agrupación 925­ 1 en la información codificada 965-1 independientemente de la entropía que codifica la segunda agrupación 925-2 en la información codificada 965-2.
En otras modalidades no limitativas, las agrupaciones de valores transformados se obtienen agrupando los valores transformados correspondientes a una misma porción de la señal (tal como un mosaico de la señal) y, por tanto, codificando individualmente los residuos transformados correspondientes a cada mosaico de la señal. En aún otras modalidades no limitativas, a los valores transformados correspondientes a un mismo conjunto de datos residuales 910 se les asigna un símbolo dado y el hardware de procesamiento del codificador codifica una secuencia de símbolos, en donde cada uno de los símbolos corresponde a uno de los conjuntos de datos residuales 910.
La Figura 3C ilustra una modalidad no limitativa de descomposición direccional aplicada a agrupaciones de dos residuos, en el caso de sobremuestreo 2D con un factor de escala de dos a lo largo de la dimensión horizontal y uno a lo largo de la dimensión vertical (es decir, para cada elemento principal en el LOQ #(N-1) hay dos pels controlados en el siguiente LOQ #N superior y, en consecuencia, se deben decodificar dos residuos con el fin de reconstruir adecuadamente dichos pels controlados) de acuerdo con las modalidades en la presente descripción.
El codificador calcula — de acuerdo con la fórmula 3.21 — las dos componentes direccionales A (para Promedio) y T (para Inclinación), y luego produce los residuos transformados 8a y T, en donde 8a se calcula como la diferencia entre A y el promedio predicho PA, y en donde PA se calcula como la diferencia entre el valor y1 del elemento 308 y el promedio AvgP de los valores predichos correspondientes a los dos elementos 307.
La Figura 3D ilustra una modalidad no limitativa de descomposición direccional aplicada a las agrupaciones de bloques de residuos de 2*2, en el caso de sobremuestreo 2D con factor de escala de dos a lo largo de ambas dimensiones (es decir, para cada elemento principal en el LOQ #(N-1) hay cuatro pels controlados en el siguiente LOQ #N superior y, en consecuencia, se deben decodificar cuatro residuos con el fin de reconstruir adecuadamente dichos pels controlados) de acuerdo con las modalidades en la presente descripción.
El bloque de residuos 300 es una porción de un plano de datos residuales en un LOQ #N dado que se procesa por un decodificador y se combina con una representación predicha de una señal en el LOQ #N dado con el fin de producir una representación de la señal en dicho LOQ #N dado. En particular, el bloque de residuos 300 se forma por los cuatro residuos n,j, n,j+1, r¡+1,j y n+1,j+1.
Los residuos 300 se procesan por el Descomponedor Direccional 310 de acuerdo con la fórmula 3.11, produciendo las Componentes Direccionales 320. Las Componentes Direccionales 320 y el Promedio Predicho 340 luego se procesan por la Calculadora de Residuos Transformados 330, produciendo los Residuos Transformados 350. Los residuos transformados 350 luego se cuantifican por el Cuantificador 360, produciendo los Residuos Transformados Cuantificados 370.
En una modalidad no limitativa, los Residuos Transformados Cuantificados 370 luego se procesan y codifican de nuevo en datos de reconstrucción codificados. En una modalidad no limitativa, los Residuos Transformados Cuantificados para la señal completa se agrupan en agrupaciones separadas que se codifican por entropía individualmente en conjuntos separados de datos de reconstrucción codificados. En una modalidad no limitativa, las agrupaciones separadas corresponden a distintas clases de residuos transformados (por ejemplo, entre otros, los Residuos Transformados Cuantificados correspondientes a las componentes H para toda la señal frente a los Residuos Transformados Cuantificados correspondientes a las componentes V para toda la señal, etc.). En otra modalidad no limitativa, las agrupaciones separadas corresponden a porciones distintas de la señal (por ejemplo, entre otras, los mosaicos de la señal).
De acuerdo con la Figura 3D, el descomponedor direccional 310 produce un conjunto formateado de valores de ajuste tales como las componentes direccionales 320 del conjunto de residuos 300 (por ejemplo, los valores de ajuste). La calculadora 330 transforma el conjunto formateado de valores de ajuste tales como las componentes direccionales 320 en los residuos transformados 350 (por ejemplo, los valores de ajuste). Luego, el codificador aplica un algoritmo cuantificador 360 al conjunto de valores de ajuste (residuos transformados 350) para producir un conjunto de valores de ajuste cuantificados tal como el residuo transformado cuantificado 370.
En una modalidad, el conjunto de valores de ajuste 8a, H, V, D es un vector que incluye múltiples componentes de datos de reconstrucción (por ejemplo, la componente 8a, la componente H, la componente V, la componente D). El cuantificador 360 cuantifica cada una de las componentes de ajuste para producir un conjunto cuantificado de valores de ajuste tales como los residuos 370.
Las diferentes componentes en los residuos transformados 350 se pueden cuantificar de acuerdo con diferentes reglas. Por ejemplo, un primer conjunto de intervalos puede usarse para cuantificar la componente 8a en los respectivos residuos 370. A cada intervalo se le puede asignar un valor respectivo. En dependencia de en cuál de los intervalos cae el valor de la componente 8a, el valor correspondiente asignado al intervalo se asigna luego a la componente 8a como el valor cuantificado para la componente.
Un segundo conjunto de intervalos puede usarse para cuantificar la componente H en los respectivos residuos 370. A cada intervalo del segundo conjunto se le puede asignar un valor cuantificado respectivo. En dependencia de en cuál de los intervalos en el segundo conjunto cae el valor de la componente H, el valor correspondiente asignado al intervalo se asigna luego a la componente H como el valor cuantificado para la componente.
De esta manera, un conjunto diferente de intervalos de cuantificación puede usarse para generar los valores cuantificados para cada uno de los diferentes tipos de componentes 8a, H, V, D. Como se mencionó, la cuantificación se usa para generar los ajustes similares para ajustes de componentes diferentes de cualquier otra manera. La cuantificación reduce la cantidad de datos necesarios para capturar una señal.
En consecuencia, las modalidades en la presente descripción incluyen el hardware del procesador del ordenador para cuantificar una primera componente de los datos de ajuste en el vector 8a, H, V, D en base a las primeras reglas de cuantificación. El hardware del procesador del ordenador cuantifica una segunda componente de los datos de ajuste en el vector en base a las segundas reglas de cuantificación. Las segundas reglas de cuantificación son diferentes a las primeras reglas de cuantificación.
La Figura 3E ilustra otra modalidad no limitativa de cuantificación y transformación de un bloque de residuos de 2x2 300, en donde los residuos se cuantifican antes de transformarse de acuerdo con las modalidades en la presente descripción. Vale la pena subrayar que la cuantificación antes de la transformación es una etapa importante y novedosa adicional introducida por esta invención, ya que hasta ahora los métodos de codificación convencionales han aplicado la cuantificación después de la transformación, por razones que incluyen la posibilidad de cuantificar ciertos parámetros transformados más que otros, es decir, en términos generales, dedicando más tasa de bits a las partes de "mayor prioridad" de la transformada.
Como se ilustra de la Figura 3E, en esta modalidad no limitativa, la cuantificación residual se realiza antes de ingresar a la etapa de la transformada y, en particular, el Cuantificador 380 procesa los residuos 300, produciendo los Residuos Cuantificados 309.
Los Residuos Cuantificados 309 se procesan por el Descomponedor Direccional Sin pérdidas 315, que produce las Componentes Direccionales Sin pérdidas 325 ("ldc") al procesar el vector de cuatro Residuos Cuantificados 309 ("qr") de acuerdo con la siguiente fórmula:
Figure imgf000022_0001
Es importante subrayar que el número de bits necesarios para las Componentes Direccionales Sin pérdidas 325 es mayor que el número de bits usados para describir los Residuos Cuantificados 309, ya que las Componentes Direccionales Sin pérdidas 325 se obtienen realizando sumas y restas de los Residuos Cuantificados 309.
Las Componentes Direccionales Sin pérdidas 325 y la Suma Predicha 345 se procesan por la Calculadora de Residuos Transformados 335, produciendo los Residuos Transformados 355.
En una modalidad no limitativa, la cuantificación de los Residuos 300 dentro del Cuantificador 380 se basa, al menos en parte, en parámetros producidos al procesar todo el plano de residuos al que pertenecen los Residuos 300 (es decir, mirando la señal en su totalidad).
En una modalidad no limitativa, la cuantificación de los Residuos 300 se realiza por el Cuantificador 380 a través de un método de optimización que asegura que la diferencia entre un elemento reconstruido (es decir, la combinación de un elemento predicho y su residuo correspondiente) y el elemento correspondiente en la señal original está por debajo de un umbral determinado de error máximo, lo que efectivamente asegura el control de errores de la representación de la señal reconstruida en un decodificador. En algunas modalidades no limitativas, la cuantificación de los Residuos 300 se realiza en base a los parámetros que se producen procesando sustancialmente la señal completa y/o el plano completo de residuos que comprende los Residuos 300. En una modalidad no limitativa, esto se logra procesando toda la señal y todo el plano de residuos, generando un mapa de prioridades que asigna un valor de prioridad a cada residuo en el plano de residuos; luego se realiza la cuantificación de los residuos en base, al menos en parte, a dichos valores de prioridad.
En una modalidad no limitativa, los residuos transformados son símbolos elegidos en alfabetos de símbolos que tienen un número diferente de bits (es decir, el número total de símbolos) en base a la posición relativa de cada residuo transformado en el vector de Residuos Transformados 355.
Como se analizó anteriormente, si se desea, la cuantificación se puede realizar directamente en los residuos 300 antes de descomponerlos en valores respectivos. Por ejemplo, el algoritmo cuantificador 380 recibe un primer conjunto de valores de ajuste (residuos 300) y produce un conjunto cuantificado de valores de ajuste tal como el residuo cuantificado 309. En una modalidad, el descomponedor direccional 315 aplica una o más operaciones invertibles y sin pérdidas al conjunto cuantificado recibido de valores de ajuste para producir un conjunto intermedio de valores de ajuste tales como S, V1, H1, D1. La calculadora 335 recibe un valor (tal como una suma predicha) derivado en base, al menos en parte, a una representación de la señal en el segundo nivel de calidad y una representación predicha de la señal en un primer nivel de calidad. La calculadora 335 usa el valor (por ejemplo, la suma predicha 345) para convertir el conjunto intermedio de valores de ajuste S, V1, H1, D1 en el residuo transformado 355 (tal como 5s, H1, V1, D1).
En una modalidad, los ajustes del conjunto cuantificado de valores de ajuste (tales como los residuos cuantificados 309) se producen de modo que las diferencias entre los ajustes en el conjunto del conjunto cuantificado de valores de ajuste (tales como los residuos cuantificados 309) y los ajustes correspondientes en el conjunto de ajustes los valores (tales como los ajustes 300) están por debajo de un valor de umbral de error.
Modalidades Adicionales
Como se analizó anteriormente, los valores de ajuste se pueden cuantificar en cualquier punto adecuado del proceso de codificación. De acuerdo con aún otras modalidades, tenga en cuenta que el conjunto de valores de ajuste pertenece a la reconstrucción de una ubicación particular en un plano de múltiples elementos que se codifican en los diferentes niveles de calidad. Cada una de las diferentes porciones de elementos en el plano puede cuantificarse en diferentes cantidades en dependencia de la ubicación particular en la que residen los elementos correspondientes. Por ejemplo, en áreas de la señal que son relativamente homogéneas, la región correspondiente se puede cuantificar menos con el fin de retener una buena calidad de señal de tales regiones; las áreas donde hay un contraste nítido se pueden cuantificar menos con el fin de retener la buena calidad de la señal de tales regiones; las áreas de una señal en las que se detecta un objeto particular tal como una persona o un texto se pueden cuantificar menos con el fin de retener la buena calidad de la señal de tales regiones; y así sucesivamente. En consecuencia, las modalidades en la presente descripción pueden incluir la cuantificación del valor de ajuste en dependencia de los atributos de la señal a la cual pertenece el conjunto de valores de ajuste.
De acuerdo con modalidades adicionales, el conjunto de valores de ajuste puede ser un vector que incluye múltiples componentes de datos de reconstrucción (tal como la componente 8, la componente H, la componente V, la componente D). Durante la codificación, dos o más de estas componentes se pueden combinar y representar mediante un único símbolo codificado.
Como se mencionó, cada una de las múltiples regiones de una señal original se puede codificar mediante el uso de un conjunto respectivo de valores de ajuste (tal como 8, H, V, D). Por ejemplo, una primera porción o región de la señal se puede codificar a través de un primer conjunto de valores de ajuste (tal como 81, H1, V1, D1); una segunda porción o región de la señal se puede codificar a través de un segundo conjunto de valores de ajuste (tal como 82, H2, V2, D2); una tercera porción o región de la señal se puede codificar a través de un tercer conjunto de valores de ajuste (tal como 83, H3, V3, D3); y así sucesivamente. Las modalidades en la presente descripción pueden incluir la codificación de cada uno de al menos dos de los conjuntos múltiples de datos de reconstrucción (tales como 8, H, V, D) o porciones de los mismos mediante el uso de un símbolo común. En consecuencia, un único símbolo puede usarse para representar los ajustes para múltiples conjuntos de valores de ajuste.
La Figura 4A ilustra una modalidad no limitativa de la descomposición direccional inversa realizada por un dispositivo decodificador de acuerdo con las modalidades en la presente descripción.
El bloque 410 de Descomposición Direccional Inversa recibe cinco planos de elementos en la resolución X x Y: un Plano de Promedios Predichos 400-5 y los cuatro planos de residuos transformados: Plano de 8400-1, Plano de H 400-2, Plano de V 400-3 y Plano de D 400-4.
El bloque 410 procesa los planos recibidos de acuerdo con una descomposición direccional inversa produciendo un Plano de Residuos con una resolución de 2Xx 2Y 420.
En una modalidad no limitativa, el bloque 410 selecciona los elementos correspondientes en los cinco planos de entrada y para cada agrupación de elementos correspondientes realiza una descomposición direccional inversa, reconstruyendo las componentes direccionales y luego sumando y restando adecuadamente las componentes direccionales para producir un conjunto de residuos correspondiente a la agrupación.
La Figura 4B ilustra otra modalidad no limitativa de descomposición direccional inversa de acuerdo con las modalidades en la presente descripción. En particular, el diagrama ilustra las operaciones realizadas por un procesador de señales configurado como decodificador para reconstruir un conjunto de Residuos 480.
Los cuatro parámetros cuantificados Q(8a) 430-1, Q(H) 430-2, Q(V) 430-3 y Q(D) 430-4 se procesan respectivamente por el Descuantificador 440-1, el Descuantificador 440-2, el Descuantificador 440-3 y el Descuantificador 440-4. El Descuantificador 440-1 produce el parámetro Delta Descuantificado 445-1, el cual se procesa por el Combinador 450 y combinado con el Promedio Predicho 430-5, produciendo la Componente Promedio Descuantificada 455-1. El Descuantificador 440-2 produce la Componente Horizontal Descuantificada 455­ 2. El Descuantificador 440-3 produce la Componente Vertical Descuantificada 455-3. El Descuantificador 440-4 produce la Componente Diagonal Descuantificada 455-4.Los parámetros 455-1, 455-2, 455-3 y 455-4 se procesan por el bloque 470 de Descomposición Direccional Inversa, de acuerdo con los cálculos correspondientes a la Matriz M 460, produciendo los Residuos 480.
En una modalidad no limitativa, la Matriz M 460 corresponde a dieciséis coeficientes y los Residuos 480 se obtienen mediante sumas y restas de los parámetros 455-1, 455-2, 455-3, 455-4, de acuerdo con dichos coeficientes. En una modalidad no limitativa, los Residuos 480 son un conjunto de cuatro residuos, y cada uno de dichos residuos se obtiene multiplicando cada uno de los parámetros 455-1, 455-2, 455-3, 455-4 por un coeficiente de la Matriz M 460 y luego sumando los resultados de dichas multiplicaciones. En otra modalidad no limitativa, la Matriz M 460 es una matriz de 4x4 y el vector de Residuos 480 se obtiene multiplicando el vector de parámetros 455-1, 455-2, 455-3, 455-4 por la Matriz M 460.
En una modalidad no limitativa, cada uno de los Descuantificadores 440-1, 440-2, 440-3 y 440-4 realiza operaciones de cuantificación de acuerdo con los parámetros de cuantificación específicos (por ejemplo, las operaciones de descuantificación realizadas en el parámetro 430-1 son diferentes de las operaciones de descuantificación realizadas en el parámetro 430-2).
Como se muestra de la Figura 4B, se pueden aplicar diferentes operaciones de descuantificación a los datos cuantificados recibidos tales como Q(8a) 430-1, Q(H) 430-2, Q(V) 430-3 y Q(D) 430-4. El descuantificador 440-1 aplica una primera operación de descuantificación para reproducir un primer valor de ajuste tal como delta descuantificado 445-1; el descuantificador 440-2 aplica una segunda operación de descuantificación para reproducir un segundo valor de ajuste 455-2; el descuantificador 440-3 aplica una tercera operación de descuantificación para reproducir un tercer valor de ajuste 455-3; el descuantificador 440-4 aplica una cuarta operación de descuantificación para reproducir un cuarto valor de ajuste 455-4. Cada una de las operaciones de descuantificación puede ser única con respecto a las otras.
La Figura 4C ilustra otra modalidad no limitativa de la descomposición direccional inversa realizada por un procesador de señales configurado como decodificador para reconstruir un conjunto de cuatro residuos 480 de acuerdo con las modalidades en la presente descripción.
La modalidad de la Figura 4C realiza operaciones que son similares a las realizadas por la modalidad ilustrada de la Figura 4B, con la excepción de que en este caso el decodificador recibe sólo dos parámetros cuantificados Q(H) y Q(V) para reconstruir un bloque de 2x2 de cuatro residuos 480. Esto se debe al hecho de que la información transportada por los parámetros 430-1 y 430-4 de la Figura 4B es, en términos generales, menos importante para la percepción de la calidad, por lo que, en respuesta a las limitaciones de ancho de banda, el decodificador de la Figura 4C se habilita para reconstruir los Residuos 480 en base únicamente a 430-2 y 430-3, sustituyendo 430-1 y 430-4 con un valor predeterminado (por ejemplo, entre otros, cero).
Los parámetros 430-2 y 430-3 se procesan por los Descuantificadores 440-2 y 440-3 produciendo los parámetros 455- 2 y 455-3. El Bloque 470 recibe el Promedio Predicho 430-5, la Componente Horizontal Descuantificada 455-2, la Componente Vertical Descuantificada 455-3 y el Valor Cero 440-6, produciendo los Residuos 480 de acuerdo con los cálculos correspondientes a la Matriz M 460.
En una modalidad no limitativa no cubierta por la invención reivindicada, la descomposición inversa sin pérdidas se realiza mediante un procesador de señales configurado como decodificador con el fin de reconstruir un conjunto de dos Residuos 481 de acuerdo con las modalidades en la presente descripción. La modalidad ilustra una descomposición inversa de un bloque de dos residuos cuantificados que se transformaron por medio de una transformada de descomposición sin pérdidas, es decir, con la cuantificación realizada antes de la transformada en lugar de después de la transformada. Los residuos cuantificados transformados sin pérdidas tienen características matemáticas que permiten predecir algunos de sus bits (por ejemplo, entre otros, el bit menos significativo) en base a otros residuos cuantificados transformados sin pérdidas de un mismo conjunto. Más específicamente, los parámetros obtenidos con una operación de transformación sin pérdidas tienen en principio un mayor número de bits (por ejemplo, la suma sin pérdidas de dos parámetros de n bits requiere n+1 bits; la suma sin pérdidas de cuatro parámetros de n bits requiere n+2 bits, etc.), pero — en base a los coeficientes específicos de la transformada aplicada — parte de la información en los bits menos significativos se vuelve redundante (por ejemplo, idéntica para al menos dos de los parámetros transformados), por lo que es suficiente para transmitir a un decodificador sólo parte de los bits de algunos parámetros transformados, dejando al decodificador la tarea de aprovechar las redundancias conocidas para reconstruir el conjunto completo de parámetros transformados.
El Residuo Transformado R*1 — un parámetro hecho de 2 bits — se recibe por el Combinador 451 y combinado con la Suma Predicha 431-3 — un parámetro hecho de n+1 bits — produciendo la Suma S de Residuos Cuantificados 456- 1 — un parámetro hecho de n+1 bits.
El Residuo Transformado R2 — un parámetro hecho de n bits — se recibe por el bloque 491 junto con el parámetro S 456-1, produciendo la Diferencia D de los Residuos Cuantificados 456-2 — un parámetro hecho de n+1 bits. En particular, el parámetro D 456-2 se obtiene aumentando el número de bits del parámetro 431-2, y específicamente agregando como bit menos significativo adicional del parámetro 431-2 el bit menos significativo del parámetro 456-1 (de modo que los parámetros 456-1 y 456-2 tienen el mismo bit menos significativo).
Los parámetros 456-1 y 456-2 se reciben por el bloque 471 junto con la Matriz M1461 produciendo un conjunto de dos Residuos Cuantificados 481 de n bits. En una modalidad no limitativa, cada uno de los dos Residuos Cuantificados 481 corresponde a la suma o la diferencia de los parámetros 456-1 y 456-2, en donde el bit menos significativo de la suma o la diferencia (el cual por construcción es igual a cero) se quita.
Los Residuos Cuantificados 481 se procesan luego por el Descuantificador 441 produciendo los dos Residuos 482, hechos de n bits.
En otras modalidades no limitativas, todos los parámetros se forman por el mismo número de bits y el bloque 491 únicamente copia el bit menos significativo del parámetro 456-1 en el bit menos significativo del parámetro 431-2. En otra modalidad no limitativa, los Residuos 482 son parámetros compuestos por un número de bits mayor que el número de bits de los Residuos Cuantificados 481.
La Figura 4E ilustra una modalidad no limitativa de descomposición inversa sin pérdidas realizada por un procesador de señales configurado como decodificador con el fin de reconstruir un conjunto de cuatro Residuos 483 de acuerdo con las modalidades en la presente descripción. La modalidad ilustra una descomposición inversa que produce un bloque de cuatro residuos cuantificados 481 que se transformaron por medio de una transformada de descomposición sin pérdidas, es decir, con operaciones de cuantificación realizadas antes de la transformación en lugar de después de la transformación.
El Residuo Transformado R‘i 432-1 — un parámetro compuesto por 2 bits — se recibe por el Combinador 451 y combinado con la suma predicha 432-5 — un parámetro compuesto por n+2 bits — produciendo la Suma S de Residuos Cuantificados 457-1 — un parámetro compuesto por n+2 bits.
Los Residuos transformados R*2432-2 — un parámetro hecho de n+1 bits —, R*3432-3 — un parámetro hecho de n+1 bits — y R44432-4 — un parámetro formado por n bits — se reciben y procesan por el Reconstructor de Bits Redundantes 495 junto con la Suma S de los Residuos Cuantificados 457-1. El Reconstructor de Bits Redundantes 495 aprovecha la redundancia de información conocida generada por la descomposición sin pérdidas que se realizó en el lado del codificador y produce bits adicionales para 432-2, 432-3 y 432-4 usando como bit menos significativo el bit menos significativo de 457-1 y como segundo bit menos significativo añadió al 432-4 la Or exclusiva (XOR) de los bits correspondientes de 457-1, 432-2 y 432-3. Al hacer esto, el Reconstructor de Bits Redundantes 495 produce los cuatro parámetros S 457-1, H1457-2, V1457-3 y D1457-4, compuestos por n+2 bits y caracterizados por tener todos el mismo bit menos significativo y el segundo bit menos significativo de manera que el número de 1 (unos) en dicho segundo bit menos significativo es un número par.
Los parámetros 457-1, 457-2, 457-3 y 457-4 se procesan por Descomposición Direccional Inversa 472 de acuerdo con operaciones correspondientes a los parámetros incluidos en la Matriz M 460, produciendo un conjunto de cuatro Residuos Cuantificados 482, cada uno de dichos residuos cuantificados hechos de n bits.
Los Residuos Cuantificados 482 luego se procesan por el Descuantificador 442 produciendo los Residuos 483. Las operaciones descritas realizadas por el bloque 495 Reconstructor de Bits Redundantes para reconstruir la información redundante en los parámetros 457-1, 457-2, 457-3 y 457-4 (los cuales son una consecuencia conocida de la transformada sin pérdidas que se realizó en el lado del codificador) son sólo una modalidad no limitativa. Los expertos en la técnica pueden desarrollar fácilmente otras varias formas de extraer dicha información redundante en el lado del codificador (evitando así codificar y transmitir información redundante) y reconstruirla en el lado del decodificador.
Como se muestra, el conjunto de valores de ajuste puede ser un vector de múltiples componentes de ajuste R*1, R*2, R*3, R*4. A través de la aplicación de una matriz 460 y del procesamiento correspondiente al vector de múltiples componentes de ajuste, el hardware de procesamiento del decodificador deriva un conjunto de valores de ajuste cuantificados tales como los residuos 482. A través del descuantificador 442, el hardware de procesamiento del decodificador aplica un algoritmo de descuantificación al conjunto de valores de ajuste cuantificados tal como el residuo 482 para producir un conjunto de valores de ajuste descuantificados tales como los residuos 483 (es decir, los datos de reconstrucción). En una modalidad, el hardware de procesamiento del decodificador aplica el conjunto de valores de ajuste descuantificados tal como el residuo 483 a la representación preliminar de la señal para producir la representación secundaria de la señal como se analizó en la presente descripción.
En una modalidad, para derivar el conjunto de valores de ajuste descuantificados, el hardware de procesamiento del decodificador se puede configurar para aplicar el combinador 451 para modificar una componente de ajuste particular en el vector para producir un vector modificado de múltiples componentes de ajuste (tal como el residuo 457-1, el residuo 432-2, el residuo 432-3, el residuo 432-4). Uno o más de las múltiples componentes de ajuste en el conjunto modificado pueden tener diferentes longitudes de bits. El hardware de procesamiento del decodificador aplica un primer algoritmo al vector modificado (tal como el residuo 457-1, el residuo 432-2, el residuo 432-2, el residuo 432-4) de múltiples componentes de ajuste para ajustar adecuadamente las longitudes de bits de las componentes en el conjunto modificado a una longitud común tal como n+2 como en esta modalidad de ejemplo no limitativa.
La Figura 5 ilustra una modalidad no limitativa de las operaciones realizadas por un decodificador de acuerdo con las modalidades en la presente descripción. El decodificador reconstruye — en base a un conjunto de cuatro elementos predichos 500-1 en el LOQ #1, a un elemento correspondiente de una representación de la señal en el LOQ #2 inferior y a cuatro parámetros 445-1, 455-2, 455-3 y 455-4 — cuatro elementos 550-1 de una representación de la señal en el LOQ #1.
El bloque 520 procesa los cuatro elementos 500-1 y un elemento correspondiente de la representación 510 en el LOQ #2 produciendo un Promedio Predicho (PA) 430-5.
El Promedio Predicho 430-5 se combina con el parámetro Delta 445-1 produciendo el parámetro A 455-1.
Los parámetros 455-1, 455-2, 455-3 y 455-4 se combinan con los elementos 500-1-1, 500-1-2, 500-1-3 y 500-1-4 de acuerdo con las operaciones (sumas y/o diferencias) especificadas de la Figura 5, produciendo los elementos 550-1­ 1, 550-1-2, 550-1-3 y 550-1-4. Por ejemplo, el elemento 550-1-1 se obtiene sumando 455-1, 455-2, 455-3 y 455-4 a 500-1-1; el elemento 550-1-2 se obtiene sumando 455-1 y 455-3 y restando 455-2 y 455-4 a 500-1-2; etcétera. En una modalidad no limitativa, los elementos 500-1-1, ..., 500-1-4 tienen n bits, 455-1, ..., 455-4 tienen n+2 bits, y para cada elemento 550-1-n las sumas y diferencias de la Figura 5 se ejecutan primero sobre los parámetros 455-1, ..., 455-4 (produciendo un resultado de n+2 bits), luego el resultado se divide por 4 (es decir, se eliminan los dos últimos bits), obteniendo un parámetro de n bits y luego dicho parámetro de n bits se suma al elemento correspondiente 500-1-n produciendo el elemento 550-1-n.
En consecuencia, el hardware de procesamiento del decodificador como en la Figura 5 recibe la información o el valor de ajuste y1 asociado con una representación de una señal 510 en el nivel de calidad #2. El hardware de procesamiento del decodificador recibe un conjunto de valores de ajuste (tales como delta 445-1, H 455-2, V 455-3 y D 455-4). El hardware de procesamiento del decodificador produce una representación preliminar de la señal (tal como la señal 500-1) en el nivel de calidad #1 en base a la información de ajuste de los elementos de representación de la señal 510 en el nivel de calidad #2. El hardware de procesamiento del decodificador produce una segunda representación de la señal tal como la representación 550-1 en el nivel de calidad #2 en base al conjunto de valores de ajuste (tal como delta 445-1, H 455-2, V 455-3 y D 455-4) y a la representación preliminar de la señal 510 en el nivel de calidad #2.
Como se muestra, la producción de la segunda representación de la señal tal como la señal 550-1 puede incluir: modificar el conjunto de valores de ajuste delta 445-1, H 455-2, V 455-3 y D 455-4 en base, al menos en parte, a la entrega preliminar de la señal 550-1 en el nivel de calidad #1. El hardware de procesamiento del decodificador aplica el conjunto modificado de valores de ajuste A 455-1, H 455-2, V 455-3 y D 455-4 a la representación preliminar de la señal 500-1 para producir una segunda representación de la señal 550-1.
De acuerdo con modalidades adicionales, la información de ajuste tal como y1 se puede considerar la primera información de ajuste. La modificación del conjunto de valores de ajuste tales como delta 445-1, H 455-2, V 455-3 y D 455-4 puede incluir: en el bloque de procesamiento 520, recibir la primera información de ajuste y1. La primera información de ajuste y1 se asocia con la representación preliminar de la señal 500-1. El bloque de procesamiento 520 recibe una segunda información de ajuste tal como los ajustes del elemento 500-1-1 (P11), el elemento 500-1-2 (P12), el elemento 500-1-3 (P21) y el elemento 500-1-4 (P22). La segunda información de ajuste se asocia con la representación de la señal en el nivel de calidad #1. La representación preliminar de la señal 500-1 se obtiene en base, al menos en parte, a la primera información de ajuste y1. El bloque de procesamiento 520 aplica un algoritmo matemático a una combinación de la primera información de ajuste y1 y la segunda información de ajuste para producir un valor de modificación tal como el valor 430-5. La función 562 aplica el valor de modificación 430-5 al conjunto de valores de ajuste (tales como delta 445-1) para producir el conjunto modificado de valores de ajuste, que incluye el valor A 455-1.
En una modalidad, la función 562 recibe una componente de los datos tales como delta 445-1 del conjunto de valores de ajuste que incluye delta 445-1, H 455-2, V 455-3 y D 455-4. En una modalidad, uno o más de múltiples componentes en el conjunto de valores de ajuste incluye la información de la inclinación direccional.
La función 562 suma el valor de modificación 430-5 y la componente delta recuperada 445-1 para modificar nuevamente la componente delta en el promedio 455-1. A través de la aplicación de los valores de la matriz 532 (es decir, a través de la ejecución de sumas y restas de acuerdo con los valores de la matriz 532), el hardware de procesamiento del decodificador modifica los ajustes de cada uno de los múltiples elementos en la representación preliminar de la señal en el segundo nivel de calidad mediante el uso de la componente delta modificada 455-1. En otras palabras, el hardware de procesamiento del decodificador de la Figura 5 usa el valor 430-5 para modificar cada una de las representaciones preliminares de la señal 500-1 para producir una segunda representación de la señal 550-1.
Como se analizó, la decodificación se puede realizar en cada uno de los múltiples niveles de una jerarquía de múltiples niveles. Tenga en cuenta que la segunda representación de la señal 550-1 puede usarse subsecuentemente como base para producir una representación preliminar de la señal en el siguiente nivel de calidad superior.
Además, como se analizó anteriormente, la representación de la señal 510 en el nivel de calidad #2 puede ser un primer nivel de calidad y representar una primera resolución de imagen. El nivel de calidad #1 puede ser una segunda resolución de imagen inferior a la resolución de la primera imagen. Por tanto, la representación de la señal 510 en un nivel de calidad incluye un primer conjunto de elementos de imagen (por ejemplo, entre otros, un elemento y1). La representación de la señal tal como la señal 500-1 y 550-1, incluye un segundo conjunto de elementos de imagen (por ejemplo, entre otros, cuatro elementos X11, X12, x21y x22).
Como se mencionó anteriormente, los datos de reconstrucción que incluyen datos de reconstrucción 510 tales como y1 y los valores de ajuste 5a445-1, H 455-2, V 455-3 y D 455-4 pueden incluir además metadatos. El hardware de procesamiento del decodificador de la Figura 5 se puede configurar para recibir los metadatos asociados con el conjunto de valores de ajuste. A través del procesamiento de los metadatos, el hardware de procesamiento del decodificador identifica una o más operaciones a aplicar a los datos de reconstrucción para reproducir una representación de la señal 550-1 mediante el uso de los metadatos. Por ejemplo, en una modalidad, el hardware de procesamiento del decodificador aplica una o más operaciones identificadas al conjunto de valores de ajuste y/o el valor y1 para derivar la segunda representación de la señal 550-1 a partir de la representación preliminar de la señal 500-1.
Otras modalidades en la presente descripción pueden incluir la recepción de metadatos asociados con el conjunto de valores de ajuste. El hardware de procesamiento del decodificador se puede configurar para identificar una o más operaciones de acuerdo con lo especificado por los metadatos. El hardware de procesamiento del decodificador aplica una o más operaciones identificadas al conjunto de valores de ajuste para derivar la segunda representación de la señal 550-1 a partir de la representación preliminar de la señal 500-1.
Una modalidad en la presente descripción incluye la aplicación lineal del conjunto modificado de valores de ajuste a la representación preliminar de la señal. Por ejemplo, la aplicación de los valores de matriz 532 puede incluir la producción de la segunda representación de la señal 550-1 a través de una aplicación lineal (por ejemplo, a través de funciones de suma y diferencia como se muestra) del conjunto modificado de valores de ajuste tales como el promedio A 455-1, H 455-2, V 455-3 y D 455-4 a la representación preliminar de la señal 500-1.
Por tanto, como se muestra, a través de los valores de la matriz 532, el hardware de procesamiento del decodificador produce la segunda representación de la señal 550-1 a través de la aplicación del conjunto modificado del promedio de los valores de ajuste A 455-1, H 455-2, V455-3 y D 455-4 a la representación preliminar de la señal 500-1. El conjunto modificado de valores de ajuste incluye un vector de valores ponderados (como lo indican las funciones de suma y las funciones de resta) aplicados a la representación preliminar de la señal 500-1 de acuerdo con los valores de la matriz 532.
De acuerdo con otra modalidad de ejemplo más, el vector correspondiente al promedio A 455-1, H 455-2, V455-3 y D 455-4 representa un conjunto modificado de valores de ajuste. El hardware de procesamiento del decodificador se puede configurar para producir la representación secundaria de la señal 550-1 mediante la aplicación del conjunto modificado de valores de ajuste a la representación preliminar de la señal 500-1. El vector de valores de ajuste se puede aplicar por el hardware de procesamiento del decodificador a la representación preliminar para producir la representación secundaria de la señal 550-1 de acuerdo con las ponderaciones especificadas por los valores de la matriz 532.
Los valores de la matriz pueden variar y seleccionarse de un grupo de matrices posibles que comprende:
Figure imgf000027_0001
De una manera como se analizó anteriormente, los datos de reconstrucción que incluyen datos de reconstrucción 510 tales como y1 y los valores de ajuste delta 445-1, H 455-2, V 455-3 y D 455-4 se pueden recibir como información codificada. El hardware de procesamiento del decodificador que recibe tales datos se puede configurar para decodificar la información codificada en múltiples símbolos. El hardware de procesamiento del decodificador se puede configurar para recuperar un símbolo de los múltiples símbolos y, en dependencia de la codificación, producir cualquiera de una o más componentes en el conjunto de valores de ajuste delta 445-1, H 455-2, V 455-3 y D 455-4 del símbolo recuperado.
La Figura 6 es un diagrama de flujo que ilustra una modalidad que implementa la descomposición direccional dentro de un lazo de codificación jerárquico basado en niveles de acuerdo con la invención.
Un procesador de señales configurado como codificador recibe una señal con un nivel de calidad dado ("LOQ superior"), realiza operaciones de submuestreo hasta producir una representación de la señal en un LOQ mínimo (dicho lOq mínimo es inferior al LOQ superior), codifica la representación de la señal en el LOQ mínimo con un método de codificación adecuado — que produce datos de reconstrucción codificados — y luego procesa dichos datos de reconstrucción codificados para simular las operaciones realizadas en un lado de decodificación, produciendo una representación decodificada de la señal en el LOQ mínimo (etapa 6.01 de la Figura 6).
Una vez producida la representación decodificada de la señal en el LOQ mínimo, el codificador entra en un lazo de procesamiento que se repite para cada LOQ subsecuentemente superior, procesando la jerarquía de LOQ nivel por nivel hasta el LOQ más alto.
En particular, el codificador procesa la representación decodificada de la señal en un LOQ dado ("LOQ inferior") y produce una representación predicha de la señal en el siguiente LOQ superior. Luego, el codificador produce datos residuales, correspondiendo dichos datos residuales a una diferencia entre la representación original de la señal en el siguiente LOQ superior y la representación predicha de la señal en el siguiente LOQ superior (etapa 6.02).
Luego, el codificador separa los datos residuales en agrupaciones de residuos (por ejemplo, entre otras, agrupaciones de residuos 2x2 contiguas) y para cada agrupación realiza una transformada de descomposición direccional, produciendo las componentes direccionales (etapa 6.03).
Luego, el codificador produce cuatro planos separados de componentes direccionales (Promedio, Horizontal, Vertical, Diagonal), en donde los elementos correspondientes de dichos cuatro planos corresponden a una misma agrupación de residuos (etapa 6.04).
Luego, el codificador produce un plano de componentes del promedio predicho, en donde cada uno de los elementos de dicho plano es el promedio predicho para una agrupación correspondiente de residuos, calculado en base a la diferencia entre el promedio de los elementos predichos correspondientes en el siguiente LOQ superior y el elemento correspondiente en el LOQ inferior. El codificador produce el plano de las componentes Deltas, en donde cada elemento del plano se calcula como la diferencia entre una componente Promedio correspondiente y su componente Promedio Predicho correspondiente. El plano de Delta se sustituye por el plano de los Promedios, formando el conjunto de cuatro componentes direccionales transformadas Delta, H, V y D. (etapa 6.05) Luego, el codificador cuantifica los planos de las componentes direccionales transformadas, produciendo planos de componentes direccionales transformadas cuantificadas, (etapa 6.06)
Luego se codifican las componentes direccionales transformadas cuantificadas, produciendo datos de reconstrucción codificados. (etapa 6.08)
Con el fin de proceder con el siguiente nivel en la jerarquía, el codificador luego simula las operaciones de decodificación que se realizarán en un lado de decodificación, produciendo una representación decodificada de la señal en el siguiente LOQ superior. Con el fin de hacer esto, el codificador descuantifica los planos de las componentes direccionales transformadas cuantificadas; combina el plano de Deltas descuantificados con el plano de Promedios Predichos, reconstruyendo un plano de componentes Promedios descuantificadas; calcula los datos residuales realizando para cada agrupación de cuatro residuos una descomposición direccional inversa de las componentes direccionales correspondientes A, H, V y D; combina los datos residuales con la representación predicha de la señal en el siguiente LOQ superior, produciendo la representación decodificada de la señal en el siguiente LOQ superior. (etapa 6.07)
En ese punto, si el siguiente LOQ superior no es el LOQ más alto, el codificador procede con el siguiente nivel en la jerarquía, volviendo a la etapa 6.02 en donde — para el siguiente nivel en la jerarquía — la representación de la señal en el siguiente LOQ superior al que acaba de decodificarse se convierte en la representación decodificada de la señal en el LOQ inferior.
En otras modalidades no limitativas, las operaciones de cuantificación aplicadas a cada plano de las componentes direccionales transformadas se basan en parámetros que son específicos de cada clase de componentes direccionales transformadas (por ejemplo, entre otros, el nivel de cuantificación aplicado a las componentes Diagonales es más fuerte que el nivel de cuantificación aplicado a las componentes Horizontales y/o Verticales). En otras modalidades no limitativas, el codificador — en lugar de producir y codificar cuatro planos separados de componentes transformadas — produce y codifica agrupaciones de cuatro componentes transformadas, correspondiendo cada una de dichas agrupaciones a una agrupación de cuatro residuos en el plano de residuos. En otras modalidades no limitativas no cubiertas por la invención reivindicada, el codificador realiza las operaciones de cuantificación durante la etapa 6.02, produciendo los residuos cuantificados. En dichas modalidades, las operaciones de descomposición y descomposición inversa son operaciones sin pérdidas, es decir, no se aplica ninguna cuantificación adicional a las componentes direccionales y/o a las componentes direccionales transformadas.
En otras modalidades no limitativas, la representación de la señal en el LOQ mínimo se codifica por medio de un método basado en MPEG; de esta manera, los decodificadores heredados que no se configuran para procesar y reconstruir los LOQ superiores en la jerarquía pueden al menos decodificar una representación de la señal en el LOQ mínimo.
La Figura 7 es un diagrama de flujo que ilustra una modalidad que implementa la descomposición direccional inversa dentro de un lazo de decodificación jerárquico basado en niveles de acuerdo con la invención.
Un procesador de señales configurado como decodificador recibe y decodifica datos codificados correspondientes a un nivel mínimo de calidad, produciendo una representación descodificada de la señal en dicho LOQ mínimo. (etapa 7.01)
Una vez producida la representación decodificada de la señal en el LOQ mínimo, el decodificador entra en un lazo de decodificación que se repite para cada LOQ subsecuentemente superior, reconstruyendo la jerarquía de los LOQ nivel por nivel hasta el LOQ más alto.
En particular, el decodificador procesa la representación descodificada de la señal en un LOQ dado ("LOQ inferior"), decodifica los datos de reconstrucción correspondientes al siguiente LOQ superior y produce cuatro planos de parámetros cuantificados. Luego, el decodificador realiza las operaciones de descuantificación adecuadas en dichos planos de parámetros cuantificados, produciendo los parámetros transformados descuantificados (etapa 7.02)
Luego, el decodificador produce una representación predicha de la señal en el siguiente LOQ superior, aprovechando las operaciones de sobremuestreo y/u otras operaciones de procesamiento de señales de acuerdo con lo especificado por los parámetros recibidos (etapa 7.03)
Para cada agrupación de cuatro parámetros transformados descuantificados (Delta, H, V, D) correspondiente a una agrupación de cuatro residuos, el decodificador produce un parámetro Promedio predicho, calculado en base a la diferencia entre un elemento correspondiente de la señal en el LOQ inferior y el promedio de los cuatro elementos correspondientes de la representación predicha de la señal en el siguiente LOQ superior. Para cada agrupación, el Promedio Predicho se combina con la componente Delta descuantificada, produciendo una componente Promedio descuantificada (etapa 7.04)
Para cada agrupación, el decodificador realiza una descomposición inversa de las componentes descuantificadas Promedio, H, V y D, produciendo cuatro residuos. En particular, cada uno de los residuos se obtiene realizando una combinación lineal (es decir, sumas y/o diferencias, con los coeficientes adecuados) de las componentes descuantificadas Promedio, H, V y D. De esta manera, el decodificador produce un plano de residuos en el siguiente LOQ superior. (etapa 7.05)
Luego, el decodificador combina la representación predicha de la señal en el siguiente LOQ superior con los residuos producidos, reconstruyendo una representación decodificada de la señal en el siguiente LOQ superior. (etapa 7.06)
En ese punto, si el siguiente LOQ superior no es el LOQ más alto, el decodificador procede con la decodificación del siguiente nivel en la jerarquía, volviendo a la etapa 7.02 en donde, para el siguiente LOQ en la jerarquía, la representación de la señal en el siguiente LOQ superior que acaba de decodificarse se convierte en la representación decodificada de la señal en el LOQ inferior.
En otras modalidades no limitativas no cubiertas por la invención reivindicada, las operaciones de descuantificación se realizan después de la transformada de descomposición inversa, descuantificando los residuos en lugar de descuantificar los parámetros transformados.
La Figura 8 es un diagrama de bloques de un sistema informático 800 que proporciona procesamiento informático de acuerdo con las modalidades en la presente descripción.
El sistema informático 800 puede ser, o al menos incluir, un dispositivo informático tal como un ordenador personal, un circuito de procesamiento, un televisor, un dispositivo de reproducción, un dispositivo de codificación, una estación de trabajo, un dispositivo informático portátil, un teléfono móvil, una tableta, una consola, una caja decodificadora, un terminal de red, un dispositivo de procesamiento, un dispositivo de red, funcionando como un conmutador, enrutador, servidor, cliente, etc.
Tenga en cuenta que el siguiente análisis proporciona una modalidad básica que indica cómo llevar a cabo la funcionalidad asociada con un procesador de señales como se analizó anteriormente. Sin embargo, se debe señalar que la configuración real para llevar a cabo las operaciones como se describió en la presente descripción puede variar en dependencia de la aplicación respectiva.
Como se muestra, el sistema informático 800 del presente ejemplo comprende un bus de comunicación 811, que proporciona comunicación con un medio de almacenamiento legible por ordenador 812 tal como un medio de almacenamiento no transitorio legible por ordenador, etc., en el cual se puede almacenar y recuperar información digital.
El sistema informático 800 puede comprender además un procesador 813, una interfaz de E/S 814 y una interfaz de comunicaciones 817.
En una modalidad, la interfaz de E/S 814 proporciona conectividad al depósito 880 y, si está presente, a una pantalla, altavoces de audio, dispositivos periféricos 816 tales como un teclado, un ratón de ordenador, etc.
Como se mencionó brevemente antes, el medio de almacenamiento legible por ordenador 812 puede ser cualquier dispositivo y/o hardware adecuado tal como una memoria, almacenamiento óptico, almacenamiento de estado sólido, disco duro, disquete, etc. En una modalidad, el medio de almacenamiento 812 es un medio de almacenamiento no transitorio (es decir, un medio de onda no portadora) configurado para almacenar las instrucciones asociadas con una aplicación del procesador de señales 840-1. Las instrucciones se ejecutan por un recurso respectivo tal como el procesador 813 con el fin de realizar cualquiera de las operaciones que se analizan en la presente descripción.
La interfaz de comunicaciones 817 permite que el sistema informático 800 se comunique a través de una red 890 con el fin de recuperar información de fuentes remotas y comunicarse con otros ordenadores, conmutadores, clientes, servidores, etc. La interfaz de E/S 814 también permite que el procesador 813 recupere o intente recuperar la información almacenada del depósito 880.
Como se muestra, los medios de almacenamiento legibles por ordenador 812 se pueden codificar con la aplicación de procesador de señales 840-1 ejecutada por el procesador 813 como un proceso 840-2.
Tenga en cuenta que el sistema informático 800 se puede incorporar para incluir un medio de almacenamiento legible por ordenador 812 para almacenar los datos y/o instrucciones lógicas.
El código asociado con la aplicación de procesador de señales 840-1 puede implementar las funcionalidades de los procesadores de señales ilustrados en la presente descripción y/u otros recursos necesarios para implementar la invención analizada en la presente descripción.
Durante la operación de una modalidad, el procesador 813 accede a los medios de almacenamiento legibles por ordenador 812 a través del bus de comunicación 811 con el fin de iniciar, ejecutar, llevar a cabo, interpretar o realizar de cualquier otra manera las instrucciones de la aplicación del procesador de señales 840-1 almacenadas en los medios de almacenamiento legibles por ordenador 812. La ejecución de la aplicación del procesador de señales 840-1 produce la funcionalidad de procesamiento en el procesador 813. En otras palabras, el proceso del procesador de señales 840-2 asociado con el procesador 813 representa uno o más aspectos de la ejecución de la aplicación del procesador de señales 840-1 dentro de o sobre el procesador 813 en el sistema informático 800. Los expertos en la técnica comprenderán que el sistema informático 800 puede incluir otros procesos y/o componentes de software y hardware tales como un sistema operativo u otro software que controle la asignación y el uso de los recursos de procesamiento de hardware para ejecutar la aplicación del procesador de señales 840-1. De acuerdo con diferentes modalidades, tenga en cuenta que el sistema informático puede ser cualquiera de varios tipos de dispositivos, incluyendo, entre otros, un sistema informático personal, una ordenador de escritorio, una ordenador portátil, una notebook, una netbook, un sistema informático central, una ordenador de mano, una estación de trabajo, un ordenador en red, un servidor de aplicaciones, un dispositivo de almacenamiento, un dispositivo electrónico de consumo tal como una cámara, una videocámara, una caja decodificadora, un dispositivo móvil, un teléfono inteligente, una tableta, una consola de videojuegos, un dispositivo portátil de videojuegos, un dispositivo periférico tal como un conmutador, un módem, un enrutadoro, en general, cualquier tipo de dispositivo informático o electrónico.
La funcionalidad soportada por los diferentes recursos se analizará ahora a través de los diagramas de flujo de las Figuras 10-11. Tenga en cuenta que las etapas de los diagramas de flujo a continuación se pueden ejecutar en cualquier orden adecuado.
La Figura 10 es un diagrama de flujo 1000 que ilustra un método de ejemplo de acuerdo con modalidades no limitativas descritas en la presente descripción. Tenga en cuenta que habrá cierta superposición con respecto a los conceptos como se analizó anteriormente.
En el bloque de procesamiento 1010, el hardware del procesador del ordenador recibe un primer conjunto de valores de ajuste, especificando el primer conjunto de valores de ajuste los ajustes a realizar en una representación predicha de una señal generada en un primer nivel de calidad para reconstruir una representación de la señal en el primer nivel de calidad.
En el bloque de procesamiento 1020, el hardware del procesador del ordenador procesa el primer conjunto de valores de ajuste.
En el bloque de procesamiento 1030, el hardware del procesador del ordenador deriva un segundo conjunto de valores de ajuste en base al primer conjunto de valores de ajuste y a una representación de la señal en un segundo nivel de calidad. El segundo nivel de calidad inferior al primer nivel de calidad.
La Figura 11 es un diagrama de flujo 1100 que ilustra un método de ejemplo de acuerdo con modalidades no limitativas descritas en la presente descripción. Tenga en cuenta que habrá cierta superposición con respecto a los conceptos como se analizó anteriormente.
En el bloque de procesamiento 1110, el hardware del procesador del ordenador recibe la información de ajuste asociada con una representación de una señal en un primer nivel de calidad.
En el bloque de procesamiento 1120, el hardware del procesador del ordenador recibe un conjunto de valores de ajuste. En el bloque de procesamiento 1130, el hardware del procesador del ordenador produce una representación preliminar de la señal en un segundo nivel de calidad en base a la información de ajuste. El segundo nivel de calidad es superior al primer nivel de calidad.
En el bloque de procesamiento 1140, el hardware del procesador del ordenador produce una representación secundaria de la señal en el segundo nivel de calidad en base al conjunto de valores de ajuste y a la representación preliminar de la señal en el segundo nivel de calidad. Tenga en cuenta nuevamente que las técnicas en la presente descripción son muy adecuadas para codificar y decodificar en sistemas jerárquicos. Sin embargo, se debe señalar que las modalidades en la presente descripción no se limitan al uso en tales aplicaciones y que las técnicas analizadas en la presente descripción también son adecuadas para otras aplicaciones.
En base a la descripción que se establece en la presente descripción, se han establecido numerosos detalles específicos para proporcionar una comprensión completa del objeto reivindicado. Sin embargo, se entenderá por los expertos en la técnica que el objeto reivindicado se puede llevar a la práctica sin estos detalles específicos. En otros casos, los métodos, aparatos, sistemas, etc., que serían conocidos por un experto, no se han descrito en detalle para no opacar el objeto reivindicado. Algunas porciones de la descripción detallada se han presentado en términos de algoritmos o representaciones simbólicas de operaciones en bits de datos o señales digitales binarias almacenadas dentro de la memoria de un sistema informático tal como una memoria de ordenador. Estas descripciones algorítmicas o representaciones son ejemplos de técnicas usadas por los expertos en las técnicas del procesamiento de datos para transmitir la esencia de su trabajo a otros expertos en la técnica. Un algoritmo como se describió en la presente descripción, y generalmente, se considera que es una secuencia autoconsistente de operaciones o un procesamiento similar que conduce a un resultado deseado. En este contexto, las operaciones o el procesamiento implican la manipulación física de cantidades físicas. Típicamente, pero no necesariamente, tales cantidades pueden tomar la forma de señales eléctricas o magnéticas capaces de ser almacenadas, transferidas, combinadas, comparadas o de cualquier otra manera manipuladas. En ocasiones es conveniente, principalmente por razones de uso común, referirse a tales señales como bits, datos, valores, ajustes, elementos, símbolos, caracteres, términos, números, numerales o similares. Sin embargo, se debe entender que todos estos términos y similares se deben asociar con las cantidades físicas apropiadas y son simplemente etiquetas convenientes. A menos que se indique específicamente de cualquier otra manera, como se desprende del siguiente análisis, se aprecia que a lo largo de esta especificación, los análisis que utilizan términos tales como "procesamiento", "computación", "cálculo", "producción", "determinación" o similares se refieren a acciones o procesos de una plataforma informática tal como una ordenador o un dispositivo informático electrónico similar, que manipula o transforma los datos representados como cantidades físicas electrónicas o magnéticas dentro de memorias, registros u otros dispositivos de almacenamiento de información, dispositivos de transmisión o dispositivos de visualización de la plataforma informática.

Claims (16)

  1. REIVINDICACIONES
    i. Un método de codificación de una señal de vídeo que comprende:
    a través del hardware de procesamiento del ordenador:
    recibir (6.01) un plano de la señal de vídeo en una primera resolución, el plano que comprende un plano de píxeles;
    submuestrear la resolución (6.01) del plano de la señal de vídeo para generar una representación del plano en una segunda resolución, la segunda resolución que es inferior a la primera resolución; producir (6.01, 6.02) un plano predicho de la señal en la primera resolución mediante la obtención de un plano codificado de la señal en la segunda resolución y el sobremuestreo de una decodificación simulada del plano codificado de la señal en la segunda resolución;
    producir (6.02) los datos residuales como una diferencia entre el plano recibido de la señal de vídeo en la primera resolución y el plano predicho de la señal de vídeo en la primera resolución;
    procesar (6.03, 6.04) los datos residuales mediante el uso de una descomposición direccional para generar los conjuntos de componentes direccionales (320), la descomposición direccional que se aplica a bloques de residuos de 2*2 para generar, para cada bloque de 2*2, cuatro componentes direccionales: A — un promedio del bloque de residuos,
    H — una diferencia horizontal dentro del bloque de residuos,
    V — una diferencia vertical dentro del bloque de residuos, y
    D — una diferencia diagonal dentro del bloque de residuos;
    derivar (6.05) los conjuntos de residuos transformados (350) a partir de los conjuntos de componentes direccionales (320) ajustando la componente direccional promedio de cada conjunto de componentes direccionales (320), que incluye:
    determinar un promedio predicho para cada bloque de 2*2 como una diferencia entre un valor de píxel cuantificado en la segunda resolución representativa del bloque y un promedio de un bloque correspondiente en el plano predicho de la señal, y
    restar el promedio predicho de la componente direccional promedio para el bloque de residuos; cuantificar (6.06) los conjuntos de residuos transformados (350); y
    codificar (6.08) los conjuntos cuantificados de residuos transformados para dar salida a los datos de reconstrucción codificados para la comunicación con el hardware de procesamiento del decodificador para la decodificación.
  2. 2. El método como en la reivindicación 1, que comprende además:
    transmitir los datos de reconstrucción codificados al hardware de procesamiento del decodificador.
  3. 3. El método como en la reivindicación 1, en donde cada conjunto de residuos transformados pertenece a la reconstrucción de una ubicación particular en el plano de la señal de vídeo en la primera resolución; y en donde los conjuntos de residuos transformados se cuantifican en dependencia de los atributos de imagen de las ubicaciones particulares.
  4. 4. El método como en la reivindicación 1, en donde los conjuntos de residuos transformados se cuantifican en dependencia de los atributos de imagen de las porciones de la trama de la señal de vídeo que corresponden a los conjuntos de residuos transformados, en donde una o más áreas de imagen homogénea, áreas de la imagen con contraste nítido y las áreas de la imagen con un objeto detectado se cuantifican menos.
  5. 5. El método como en la reivindicación 1, que comprende:
    codificar al menos dos de las componentes direccionales mediante el uso de un único símbolo.
  6. 6. Un método de decodificación de una señal de vídeo que comprende:
    a través del hardware de procesamiento del ordenador:
    recibir (7.01) los valores de píxeles decodificados asociados con un plano de la señal de vídeo en una primera resolución;
    recibir (7.02) los datos de reconstrucción codificados para la señal de vídeo;
    decodificar (7.02) los datos de reconstrucción codificados para obtener conjuntos cuantificados de residuos transformados;
    descuantificar (7.02) los conjuntos cuantificados de residuos transformados para obtener conjuntos de residuos transformados;
    producir (7.03) una representación preliminar de un plano de la señal de vídeo a una segunda resolución mediante el sobremuestreo de los valores de los píxeles, la segunda resolución que es mayor que la primera resolución;
    generar (7.04, 7.05) un plano de residuos a partir de los conjuntos de residuos transformados realizando una descomposición direccional inversa, en donde cada conjunto de residuos transformados comprende cuatro componentes direccionales correspondientes a los bloques respectivos de 2*2 del plano de residuos, las componentes direccionales que comprenden: 8 — un promedio ajustado del bloque de residuos,
    H — una diferencia horizontal dentro del bloque de residuos,
    V — una diferencia vertical dentro del bloque de residuos, y
    D — una diferencia diagonal dentro del bloque de residuos, y
    producir (7.06) una representación secundaria del plano de la señal de vídeo en la segunda resolución mediante la combinación del plano de residuos y la representación preliminar del plano de la señal de vídeo en la segunda resolución,
    en donde el método comprende además:
    producir (7.05) un parámetro promedio predicho para cada bloque de 2*2 derivado del conjunto de residuos transformados, el parámetro promedio predicho que se calcula como una diferencia entre un valor de píxel correspondiente para el bloque en la primera resolución y un promedio de un bloque correspondiente en la representación preliminar del plano de la señal de vídeo en la segunda resolución; y
    efectuar una combinación, a través de la adición, de los parámetros promedio predichos con las componentes direccionales promedio ajustadas correspondientes durante la producción de la representación secundaria del plano de la señal de vídeo para restaurar las componentes direccionales promedio para el plano de residuos.
  7. 7. El método como en la reivindicación 6, en donde efectuar una combinación de los parámetros promedio predichos incluye:
    sumar cada parámetro promedio predicho y la componente direccional promedio ajustada correspondiente para modificar la componente direccional promedio ajustada.
  8. 8. El método como en la reivindicación 7, que comprende además:
    modificar los ajustes de cada uno de los múltiples elementos de píxeles en la representación preliminar del plano de la señal de vídeo en la segunda resolución en base a la componente direccional modificada.
  9. 9. El método como en la reivindicación 6, en donde la representación preliminar del plano de la señal de vídeo en la segunda resolución es una representación predicha del plano de la señal de vídeo en la segunda resolución; y
    en donde la representación secundaria del plano de la señal de vídeo en la segunda resolución se usa como base para producir una representación preliminar de un plano de la señal de vídeo en una tercera resolución, la tercera resolución que es mayor que la segunda resolución.
  10. 10. El método como en la reivindicación 6, que comprende además:
    recibir metadatos asociados con los datos de reconstrucción codificados;
    identificar una operación de sobremuestreo de acuerdo con lo especificado por los metadatos; y aplicar la operación de sobremuestreo para derivar la representación preliminar del plano de la señal de vídeo en la segunda resolución.
  11. 11. El método como en la reivindicación 6, que comprende además:
    producir la representación secundaria del plano de la señal de vídeo en la segunda resolución a través de una aplicación lineal del plano de residuos a la representación preliminar del plano de la señal de vídeo.
  12. 12. El método como en la reivindicación 6,
    en donde las componentes direccionales se representan como un vector de valores y cada bloque de residuos se recupera a partir de las componentes direccionales mediante el uso de las ponderaciones especificadas por una matriz.
  13. 13. El método como en la reivindicación 6, que comprende además:
    recibir los datos de reconstrucción codificados;
    decodificar los datos de reconstrucción codificados en múltiples símbolos;
    recuperar un símbolo de los múltiples símbolos; y
    producir los residuos transformados cuantificados a partir del símbolo recuperado.
  14. 14. El método como en la reivindicación 6, que comprende además:
    aplicar una primera operación de descuantificación para reproducir un primer residuo transformado; y aplicar una segunda operación de descuantificación para reproducir un segundo residuo transformado, la primera operación de descuantificación diferente de la segunda operación de descuantificación.
  15. 15. El hardware de almacenamiento legible por ordenador que tiene instrucciones almacenadas en el mismo, las instrucciones, cuando se realizan por un dispositivo de procesamiento, hacen que el dispositivo de procesamiento realice las operaciones de cualquiera de las reivindicaciones 1 a 14.
  16. 16. Un sistema informático que comprende:
    un hardware del procesador de ordenador; y
    un recurso de almacenamiento de hardware acoplado al hardware del procesador del ordenador, el recurso de almacenamiento de hardware que almacena instrucciones que, cuando se ejecutan por el hardware del procesador del ordenador, hacen que el hardware del procesador del ordenador realice las operaciones de cualquiera de las reivindicaciones 1 a 14.
ES13722424T 2012-05-14 2013-05-13 Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada Active ES2907510T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261646797P 2012-05-14 2012-05-14
US201261647426P 2012-05-15 2012-05-15
PCT/EP2013/059847 WO2013171173A1 (en) 2012-05-14 2013-05-13 Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy

Publications (1)

Publication Number Publication Date
ES2907510T3 true ES2907510T3 (es) 2022-04-25

Family

ID=48430778

Family Applications (3)

Application Number Title Priority Date Filing Date
ES13722424T Active ES2907510T3 (es) 2012-05-14 2013-05-13 Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada
ES13722426T Active ES2961397T3 (es) 2012-05-14 2013-05-13 Codificación y reconstrucción de datos residuales en base a información de soporte
ES13724216T Active ES2909879T3 (es) 2012-05-14 2013-05-14 Decodificación y reconstrucción de señales basadas en el tiempo y/o multidimensionales en una jerarquía temporal escalonada

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES13722426T Active ES2961397T3 (es) 2012-05-14 2013-05-13 Codificación y reconstrucción de datos residuales en base a información de soporte
ES13724216T Active ES2909879T3 (es) 2012-05-14 2013-05-14 Decodificación y reconstrucción de señales basadas en el tiempo y/o multidimensionales en una jerarquía temporal escalonada

Country Status (18)

Country Link
US (14) US9621887B2 (es)
EP (7) EP3968638A1 (es)
JP (6) JP2015519016A (es)
KR (6) KR20150014496A (es)
CN (7) CN104620583A (es)
AU (5) AU2013261843B2 (es)
BR (5) BR112014028283A2 (es)
CA (6) CA2873487A1 (es)
DK (2) DK2850829T3 (es)
EA (5) EA201492098A1 (es)
ES (3) ES2907510T3 (es)
HK (5) HK1203261A1 (es)
IL (4) IL235578A0 (es)
MX (5) MX341203B (es)
PL (1) PL2850829T3 (es)
SG (6) SG11201407508RA (es)
WO (6) WO2013171168A1 (es)
ZA (5) ZA201408541B (es)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977065B2 (en) * 2011-07-21 2015-03-10 Luca Rossato Inheritance in a tiered signal quality hierarchy
EP2745506A2 (en) * 2011-09-08 2014-06-25 Motorola Mobility LLC Methods and apparatus for quantization and dequantization of a rectangular block of coefficients
US9313495B2 (en) * 2012-05-14 2016-04-12 Luca Rossato Encoding and decoding based on blending of sequences of samples along time
ES2907510T3 (es) * 2012-05-14 2022-04-25 V Nova Int Ltd Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada
CN104704839A (zh) * 2012-10-07 2015-06-10 努梅利有限公司 视频压缩方法
CN104144520A (zh) 2013-05-07 2014-11-12 李东舸 一种设备间建立连接的方法、装置与系统
CN104142939B (zh) * 2013-05-07 2019-07-02 杭州智棱科技有限公司 一种基于运动特征信息匹配特征码的方法与设备
CA2921884C (en) 2013-06-25 2020-04-28 Numeri Ltd. Multi-level spatial resolution increase of video
RU2018135747A (ru) * 2013-07-22 2018-11-19 Сони Корпорейшн Устройство и способ обработки информации
JP5947269B2 (ja) * 2013-09-24 2016-07-06 ソニー株式会社 符号化装置、符号化方法、送信装置および受信装置
US9432338B2 (en) * 2013-10-23 2016-08-30 Google Inc. Secure communications using adaptive data compression
JP6463900B2 (ja) * 2014-04-17 2019-02-06 キヤノン株式会社 画像符号化装置及びその制御方法
EP4270952A3 (en) 2015-04-13 2023-12-27 V-Nova International Limited Encoding a plurality of signals with data rate target of a signal depending on xomplexity information
GB2539241B (en) * 2015-06-11 2019-10-23 Advanced Risc Mach Ltd Video processing system
US10061552B2 (en) 2015-11-25 2018-08-28 International Business Machines Corporation Identifying the positioning in a multiple display grid
GB2544800A (en) 2015-11-27 2017-05-31 V-Nova Ltd Adaptive bit rate ratio control
FR3044507A1 (fr) * 2015-11-30 2017-06-02 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
JP2017099616A (ja) * 2015-12-01 2017-06-08 ソニー株式会社 手術用制御装置、手術用制御方法、およびプログラム、並びに手術システム
US10630992B2 (en) * 2016-01-08 2020-04-21 Samsung Electronics Co., Ltd. Method, application processor, and mobile terminal for processing reference image
CN108701241B (zh) * 2016-02-23 2022-04-15 雀巢产品有限公司 用于制备饮料或食品的系统的代码和容器
WO2017150071A1 (ja) * 2016-03-03 2017-09-08 Hoya株式会社 補正データ生成方法及び補正データ生成装置
GB2547934B (en) * 2016-03-03 2021-07-07 V Nova Int Ltd Adaptive video quality
CN109313270B (zh) * 2016-03-24 2023-08-15 焦点定位有限公司 一种用于使数字信号和相关码相关的方法、装置、计算机程序、芯片组或数据结构
KR102520957B1 (ko) 2016-04-15 2023-04-12 삼성전자주식회사 인코딩 장치, 디코딩 장치 및 이의 제어 방법
KR101780782B1 (ko) * 2016-07-08 2017-09-21 엔트릭스 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
US11570454B2 (en) 2016-07-20 2023-01-31 V-Nova International Limited Use of hierarchical video and image coding for telepresence
GB2552353B (en) 2016-07-20 2022-04-20 V Nova Int Ltd Apparatuses, methods, computer programs and computer-readable media
GB2553086B (en) * 2016-07-20 2022-03-02 V Nova Int Ltd Decoder devices, methods and computer programs
KR102520502B1 (ko) 2016-08-02 2023-04-12 엑스-로고스, 엘엘씨 기하 대수학을 이용한 강화된 데이터-중심 암호화 시스템을 위한 방법 및 시스템
US11153594B2 (en) * 2016-08-29 2021-10-19 Apple Inc. Multidimensional quantization techniques for video coding/decoding systems
GB2553556B (en) * 2016-09-08 2022-06-29 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
GB2554065B (en) 2016-09-08 2022-02-23 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
GB2553557B (en) * 2016-09-08 2022-04-20 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
CN109716763A (zh) * 2016-09-26 2019-05-03 索尼公司 编码设备、编码方法、解码设备、解码方法、发送设备和接收设备
US20180109809A1 (en) * 2016-10-13 2018-04-19 Google Llc Voxel video coding
CN106529589A (zh) * 2016-11-03 2017-03-22 温州大学 采用降噪堆叠自动编码器网络的视觉目标检测方法
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US10609367B2 (en) * 2016-12-21 2020-03-31 Qualcomm Incorporated Low-complexity sign prediction for video coding
WO2018147329A1 (ja) * 2017-02-10 2018-08-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 自由視点映像生成方法及び自由視点映像生成システム
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
GB2590034B (en) * 2017-04-21 2021-12-22 Zenimax Media Inc Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
KR20200019854A (ko) 2017-04-21 2020-02-25 제니맥스 미디어 인크. 게임-생성된 모션 벡터들을 위한 시스템들 및 방법들
AU2018254591B2 (en) 2017-04-21 2021-01-07 Zenimax Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
US10638126B2 (en) * 2017-05-05 2020-04-28 Qualcomm Incorporated Intra reference filter for video coding
WO2018224004A1 (en) * 2017-06-07 2018-12-13 Mediatek Inc. Method and apparatus of intra-inter prediction mode for video coding
EP3422722A1 (en) * 2017-06-30 2019-01-02 Thomson Licensing Method for encoding a matrix of image views obtained from data acquired by a plenoptic camera
US10319114B2 (en) * 2017-07-13 2019-06-11 Google Llc Foveated compression of display streams
TWI650981B (zh) * 2017-09-29 2019-02-11 晨星半導體股份有限公司 符號率估計裝置與符號率估計方法
US11457239B2 (en) 2017-11-09 2022-09-27 Google Llc Block artefact reduction
EP3496403A1 (en) 2017-12-06 2019-06-12 V-Nova International Limited Hierarchical data structure
GB2573486B (en) 2017-12-06 2022-12-21 V Nova Int Ltd Processing signal data using an upsampling adjuster
US11259037B2 (en) * 2017-12-06 2022-02-22 V-Nova International Limited Method and apparatus for decoding a received set of encoded data
CN108133229B (zh) * 2017-12-11 2021-08-06 广州能量盒子科技有限公司 一种安卓apk文件的分类加密方法及系统
CN108040217B (zh) * 2017-12-20 2020-01-24 深圳岚锋创视网络科技有限公司 一种视频解码的方法、装置及相机
US10748306B2 (en) * 2018-03-19 2020-08-18 Fuji Xerox Co., Ltd. Encoding device, decoding device, and non-transitory computer readable medium
US11373319B2 (en) 2018-03-20 2022-06-28 Interdigital Madison Patent Holdings, Sas System and method for optimizing dynamic point clouds based on prioritized transformations
US11328474B2 (en) 2018-03-20 2022-05-10 Interdigital Madison Patent Holdings, Sas System and method for dynamically adjusting level of details of point clouds
CN108449599B (zh) * 2018-03-23 2021-05-18 安徽大学 一种基于面透射变换的视频编码与解码方法
GB2574575A (en) * 2018-04-27 2019-12-18 V Nova Int Ltd Video decoder chipset
BR112020023939A2 (pt) 2018-06-06 2021-02-09 Panasonic Intellectual Property Corporation Of America método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
EP3831065B1 (en) * 2018-08-03 2024-04-10 V-Nova International Ltd Entropy coding for signal enhancement coding
CN112369009B (zh) 2018-08-08 2022-06-07 谷歌有限责任公司 用于创建场景的超分辨率图像的光学图像稳定移动
KR102555317B1 (ko) 2018-08-09 2023-07-14 구글 엘엘씨 사용자 디바이스에 적용된 내추럴 핸드헬드 모션을 이용한 초해상도
WO2020060163A1 (ko) * 2018-09-17 2020-03-26 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
GB2594803B (en) * 2018-10-03 2022-10-19 V Nova Int Ltd Weighted downsampling and weighted transformations for signal coding
CN110163059B (zh) * 2018-10-30 2022-08-23 腾讯科技(深圳)有限公司 多人姿态识别方法、装置及电子设备
GB201817784D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media
GB201817780D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media for processing configuration data
GB201817783D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media for processing configuration data
GB2578769B (en) 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
US10880354B2 (en) * 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
US10841356B2 (en) 2018-11-28 2020-11-17 Netflix, Inc. Techniques for encoding a media title while constraining bitrate variations
US12022059B2 (en) 2018-12-07 2024-06-25 Beijing Dajia Internet Information Technology Co., Ltd. Video coding using multi-resolution reference picture management
CN118781209A (zh) 2018-12-14 2024-10-15 交互数字Vc控股公司 用于对空间数据进行程序化着色的方法和装置
CN114979638A (zh) * 2018-12-29 2022-08-30 华为技术有限公司 编码器,解码器和使用压缩mv存储的对应方法
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
GB2596002B (en) * 2019-02-13 2023-11-22 V Nova Int Ltd Object analysis
EP3713235B1 (en) 2019-03-19 2023-08-02 Axis AB Methods and devices for encoding a video stream using a first and a second encoder
JP7561385B2 (ja) * 2019-03-20 2024-10-04 ヴイ-ノヴァ インターナショナル リミテッド 入力ビデオをハイブリッドビデオストリームとして符号化する方法およびそれを実行するエンコーダを備えるシステム
US20220159250A1 (en) * 2019-03-20 2022-05-19 V-Nova International Limited Residual filtering in signal enhancement coding
GB2619185B (en) 2019-03-20 2024-04-03 V Nova Int Ltd Low complexity enhancement video coding
GB201905400D0 (en) 2019-04-16 2019-05-29 V Nova Int Ltd Video coding technology
US11412262B2 (en) * 2019-06-24 2022-08-09 Qualcomm Incorporated Nonlinear extensions of adaptive loop filtering for video coding
WO2021005347A1 (en) * 2019-07-05 2021-01-14 V-Nova International Ltd Quantization of residuals in video coding
US10942625B1 (en) * 2019-09-09 2021-03-09 Atlassian Pty Ltd. Coordinated display of software application interfaces
EP4035376A1 (en) * 2019-09-24 2022-08-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multiple stage residual coding in modern hybrid image and video coding solutions
CN110572673B (zh) * 2019-09-27 2024-04-09 腾讯科技(深圳)有限公司 视频编解码方法和装置、存储介质及电子装置
TWI812874B (zh) 2019-10-01 2023-08-21 美商杜拜研究特許公司 張量乘積之b平滑曲線預測子
GB2604292B (en) 2019-10-02 2023-12-20 V Nova Int Ltd Use of embedded signalling to correct signal impairments
EP4059217A4 (en) 2019-11-27 2023-11-29 HFI Innovation Inc. METHOD AND APPARATUS FOR DERIVING UNIFORM WEIGHT AND MOVEMENT INDICES FOR GEOMETRIC FUSION MODE IN VIDEO CODING
US11711537B2 (en) * 2019-12-17 2023-07-25 Alibaba Group Holding Limited Methods for performing wrap-around motion compensation
CN111050181B (zh) * 2019-12-30 2022-06-07 哈尔滨工业大学 一种超光谱大气红外遥感图像的时间维压缩方法
US11308900B2 (en) 2020-02-06 2022-04-19 Varjo Technologies Oy Display apparatus and method incorporating sub-pixel aware shifting and overlap compensation
US11307410B2 (en) 2020-02-06 2022-04-19 Varjo Technologies Oy Display apparatus and method incorporating adaptive pose locking
US11348514B2 (en) 2020-02-06 2022-05-31 Varjo Technologies Oy LED-based display apparatus and method incorporating sub-pixel shifting
US11170678B2 (en) 2020-02-06 2021-11-09 Varjo Technologies Oy Display apparatus and method incorporating gaze-based modulation of pixel values
US11056030B1 (en) 2020-02-06 2021-07-06 Varjo Technologies Oy Display apparatus and method of enhancing apparent resolution using liquid-crystal device
GB202001839D0 (en) 2020-02-11 2020-03-25 V Nova Int Ltd Use of tiered hierarchical coding for point cloud compression
EP4107964A1 (en) 2020-02-20 2022-12-28 Align Technology, Inc. Medical imaging data compression and extraction on client side
CN115398906A (zh) 2020-03-26 2022-11-25 阿里巴巴集团控股有限公司 用信号通知视频编码数据的方法
GB2598701B (en) 2020-05-25 2023-01-25 V Nova Int Ltd Wireless data communication system and method
US11403175B2 (en) * 2020-07-31 2022-08-02 EMC IP Holding Company LLC Rebuilding data previously stored on a failed data storage drive
US11764943B2 (en) 2020-08-10 2023-09-19 Algemetric, Inc. Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology
WO2022061184A2 (en) 2020-09-17 2022-03-24 X-Logos, LLC Methods and systems for encrypting rational numbers and adding randomness to rsa cryptosystems using p-adic numbers
GB2601990B (en) 2020-10-16 2024-06-19 V Nova Int Ltd Distributed analysis of a multi-layer signal encoding
KR20230098817A (ko) * 2020-10-23 2023-07-04 모멘티 인코포레이션 반응형영상 제작 및 서비스 제공방법 및 이를 이용한 프로그램
GB2601362B (en) * 2020-11-27 2023-08-16 V Nova Int Ltd Video encoding using pre-processing
GB2601368B (en) 2020-11-27 2023-09-20 V Nova Int Ltd Video decoding using post-processing control
CN112261491B (zh) * 2020-12-22 2021-04-16 北京达佳互联信息技术有限公司 视频时序标注方法、装置、电子设备及存储介质
GB202107036D0 (en) 2021-05-17 2021-06-30 V Nova Int Ltd Secure decoder and secure decoding methods
CN113900901B (zh) * 2021-10-21 2024-09-20 北京达佳互联信息技术有限公司 数据上报方法、数据监控方法、装置、设备及存储介质
GB2607123B (en) 2021-10-25 2023-10-11 V Nova Int Ltd Enhancement decoding implementation and method
GB2614054A (en) 2021-12-17 2023-06-28 V Nova Int Ltd Digital image processing
GB2614763B (en) 2022-03-29 2024-05-01 V Nova Int Ltd Upsampling filter for applying a predicted average modification
GB2611129B (en) 2022-03-31 2024-03-27 V Nova Int Ltd Signal processing with overlay regions
TWI854269B (zh) * 2022-08-03 2024-09-01 瑞昱半導體股份有限公司 影像處理電路以及影像處理方法
GB202215675D0 (en) 2022-10-21 2022-12-07 V Nova Int Ltd Distributed analysis of a multi-layer signal encoding
GB2625756B (en) 2022-12-22 2024-12-18 V Nova Int Ltd Methods and modules for video pipelines
GB2624947B (en) 2023-03-24 2024-12-04 V Nova Int Ltd Enhancement decoding implementation and method
GB2623144B (en) * 2023-03-30 2024-10-16 V Nova Int Ltd Hardware implementation of image coding
US20240380913A1 (en) * 2023-05-09 2024-11-14 Microsoft Technology Licensing, Llc Motion compensation via inertial tracking and optical flow
GB202310883D0 (en) 2023-07-14 2023-08-30 V Nova Int Ltd Concurrent decoding
GB202310884D0 (en) 2023-07-14 2023-08-30 V Nova Int Ltd Parallel decoding

Family Cites Families (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8601678A (nl) 1986-06-26 1988-01-18 Optische Ind De Oude Delft Nv Werkwijze en inrichting voor spleetradiografie.
US4941193A (en) 1987-10-02 1990-07-10 Iterated Systems, Inc. Methods and apparatus for image compression by iterated function system
JP3545000B2 (ja) * 1992-11-02 2004-07-21 ソニー株式会社 画像信号符号化装置、画像信号復号化装置
US5649032A (en) * 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
US5825313A (en) * 1995-08-01 1998-10-20 Sony Corporation Information signal encoding apparatus, encoding method thereof, information signal decoding method, and information signal record medium thereof
EP1274253A3 (en) * 1995-08-29 2005-10-12 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
WO1997009828A1 (en) * 1995-09-06 1997-03-13 Philips Electronics N.V. Method and system for coding a sequence of segmented images, corresponding coded signal and storage medium, and method and system for decoding such a coded signal
US5936671A (en) * 1996-07-02 1999-08-10 Sharp Laboratories Of America, Inc. Object-based video processing using forward-tracking 2-D mesh layers
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
US6173013B1 (en) * 1996-11-08 2001-01-09 Sony Corporation Method and apparatus for encoding enhancement and base layer image signals using a predicted image signal
US6535558B1 (en) * 1997-01-24 2003-03-18 Sony Corporation Picture signal encoding method and apparatus, picture signal decoding method and apparatus and recording medium
JP3217987B2 (ja) * 1997-03-31 2001-10-15 松下電器産業株式会社 動画像信号の復号方法および符号化方法
AU732452B2 (en) * 1997-04-01 2001-04-26 Sony Corporation Image encoder, image encoding method, image decoder, image decoding method, and distribution media
US6993201B1 (en) * 1997-07-08 2006-01-31 At&T Corp. Generalized scalability for video coder based on video objects
US6233356B1 (en) * 1997-07-08 2001-05-15 At&T Corp. Generalized scalability for video coder based on video objects
US6625320B1 (en) * 1997-11-27 2003-09-23 British Telecommunications Public Limited Company Transcoding
US6546052B1 (en) 1998-05-29 2003-04-08 Canon Kabushiki Kaisha Image processing apparatus and method, and computer-readable memory
US6782132B1 (en) * 1998-08-12 2004-08-24 Pixonics, Inc. Video coding and reconstruction apparatus and methods
US6452969B1 (en) * 1998-09-28 2002-09-17 Thomson Licensing S.A. Transform domain inverse motion compensation having fractional pel accuracy
US6614429B1 (en) * 1999-05-05 2003-09-02 Microsoft Corporation System and method for determining structure and motion from two-dimensional images for multi-resolution object modeling
US6289052B1 (en) * 1999-06-07 2001-09-11 Lucent Technologies Inc. Methods and apparatus for motion estimation using causal templates
US6968008B1 (en) * 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
CA2279797C (en) * 1999-08-06 2010-01-05 Demin Wang A method for temporal interpolation of an image sequence using object-based image analysis
KR100611999B1 (ko) * 1999-08-27 2006-08-11 삼성전자주식회사 그리디 알고리듬을 이용한 객체 기반 콰드 트리 메쉬 움직임 보상방법
US6748362B1 (en) * 1999-09-03 2004-06-08 Thomas W. Meyer Process, system, and apparatus for embedding data in compressed audio, image video and other media files and the like
US7356082B1 (en) * 1999-11-29 2008-04-08 Sony Corporation Video/audio signal processing method and video-audio signal processing apparatus
US6888544B2 (en) * 2000-03-17 2005-05-03 Hewlett-Packard Development Company, L.P. Apparatus for and method of rendering 3D objects with parametric texture maps
US6907070B2 (en) * 2000-12-15 2005-06-14 Microsoft Corporation Drifting reduction and macroblock-based control in progressive fine granularity scalable video coding
US7929610B2 (en) 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
KR100783396B1 (ko) * 2001-04-19 2007-12-10 엘지전자 주식회사 부호기의 서브밴드 분할을 이용한 시공간 스케일러빌러티방법
US7876820B2 (en) * 2001-09-04 2011-01-25 Imec Method and system for subband encoding and decoding of an overcomplete representation of the data structure
WO2003026310A2 (de) * 2001-09-14 2003-03-27 Siemens Aktiengesellschaft Effiziente videocodierung für skalierbare simul-cast-speicherung und -übertragung
US7630566B2 (en) * 2001-09-25 2009-12-08 Broadcom Corporation Method and apparatus for improved estimation and compensation in digital video compression and decompression
US7653133B2 (en) * 2003-06-10 2010-01-26 Rensselaer Polytechnic Institute (Rpi) Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
KR100571920B1 (ko) * 2003-12-30 2006-04-17 삼성전자주식회사 움직임 모델을 이용한 매쉬 기반의 움직임 보상방법을제공하는 영상의 부호화 방법 및 그 부호화 장치
KR100596705B1 (ko) * 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US20080144716A1 (en) 2004-03-11 2008-06-19 Gerard De Haan Method For Motion Vector Determination
US8503542B2 (en) * 2004-03-18 2013-08-06 Sony Corporation Methods and apparatus to reduce blocking noise and contouring effect in motion compensated compressed video
US8731054B2 (en) * 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
US7616782B2 (en) * 2004-05-07 2009-11-10 Intelliview Technologies Inc. Mesh based frame processing and applications
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US7424163B1 (en) 2004-07-13 2008-09-09 Itt Manufacturing Enterprises, Inc. System and method for lossless image compression
KR100678949B1 (ko) * 2004-07-15 2007-02-06 삼성전자주식회사 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더
DE102004059978B4 (de) * 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
KR100664929B1 (ko) * 2004-10-21 2007-01-04 삼성전자주식회사 다 계층 기반의 비디오 코더에서 모션 벡터를 효율적으로압축하는 방법 및 장치
KR100664932B1 (ko) * 2004-10-21 2007-01-04 삼성전자주식회사 비디오 코딩 방법 및 장치
US7792192B2 (en) * 2004-11-19 2010-09-07 Analog Devices, Inc. System and method for sub-pixel interpolation in motion vector estimation
JP2006174415A (ja) 2004-11-19 2006-06-29 Ntt Docomo Inc 画像復号装置、画像復号プログラム、画像復号方法、画像符号化装置、画像符号化プログラム及び画像符号化方法
US7924923B2 (en) * 2004-11-30 2011-04-12 Humax Co., Ltd. Motion estimation and compensation method and device adaptive to change in illumination
JP4241588B2 (ja) * 2004-11-30 2009-03-18 日本ビクター株式会社 動画像符号化装置、及び動画像復号化装置
JP4317814B2 (ja) 2004-12-06 2009-08-19 株式会社ルネサステクノロジ 動画像情報の符号化装置及び符号化方法
US20060120612A1 (en) * 2004-12-08 2006-06-08 Sharath Manjunath Motion estimation techniques for video encoding
JP4284288B2 (ja) * 2005-03-10 2009-06-24 株式会社東芝 パターン認識装置及びその方法
KR100703770B1 (ko) * 2005-03-25 2007-04-06 삼성전자주식회사 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치
US7876833B2 (en) * 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
DE102005016827A1 (de) 2005-04-12 2006-10-19 Siemens Ag Adaptive Interpolation bei der Bild- oder Videokodierung
KR100746007B1 (ko) * 2005-04-19 2007-08-06 삼성전자주식회사 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
JP2007096541A (ja) * 2005-09-27 2007-04-12 Sanyo Electric Co Ltd 符号化方法
US8005308B2 (en) 2005-09-16 2011-08-23 Sony Corporation Adaptive motion estimation for temporal prediction filter over irregular motion vector samples
DE102005051091A1 (de) 2005-10-25 2007-04-26 Siemens Ag Verfahren und Vorrichtungen zur Bestimmung und Rekonstruktion eines prädizierten Bildbereichs
EP1790680A1 (en) 2005-11-28 2007-05-30 Mnemoscience GmbH Verfahren zur Herstellung von Form-Gedächtnis Materialien aus standard thermoplastichen Polymeren
GB0600141D0 (en) * 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US20070175333A1 (en) 2006-02-02 2007-08-02 Siemens Power Generation, Inc. System for recovering water from flue gas
KR101342587B1 (ko) * 2006-03-22 2013-12-17 세종대학교산학협력단 조명변화 보상 움직임 예측 부호화 및 복호화 방법 및 장치
JP4844449B2 (ja) * 2006-04-17 2011-12-28 日本ビクター株式会社 動画像符号化装置、方法、プログラム、動画像復号化装置、方法、およびプログラム
JP4182442B2 (ja) * 2006-04-27 2008-11-19 ソニー株式会社 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
US9319708B2 (en) * 2006-06-16 2016-04-19 Via Technologies, Inc. Systems and methods of improved motion estimation using a graphics processing unit
US8340185B2 (en) * 2006-06-27 2012-12-25 Marvell World Trade Ltd. Systems and methods for a motion compensated picture rate converter
US8218640B2 (en) * 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US8199812B2 (en) * 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
US20080181298A1 (en) * 2007-01-26 2008-07-31 Apple Computer, Inc. Hybrid scalable coding
KR101365575B1 (ko) * 2007-02-05 2014-02-25 삼성전자주식회사 인터 예측 부호화, 복호화 방법 및 장치
JP2008228282A (ja) * 2007-02-13 2008-09-25 Matsushita Electric Ind Co Ltd 画像処理装置
WO2008140656A2 (en) 2007-04-03 2008-11-20 Gary Demos Flowfield motion compensation for video compression
EP2132941B1 (en) * 2007-04-09 2017-05-17 Nokia Technologies Oy High accuracy motion vectors for video coding with low encoder and decoder complexity
EP1983759A1 (en) * 2007-04-19 2008-10-22 Matsushita Electric Industrial Co., Ltd. Estimation of separable adaptive interpolation filters for hybrid video coding
US8488677B2 (en) * 2007-04-25 2013-07-16 Lg Electronics Inc. Method and an apparatus for decoding/encoding a video signal
US8756482B2 (en) * 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
AU2007214319A1 (en) * 2007-08-30 2009-03-19 Canon Kabushiki Kaisha Improvements for Spatial Wyner Ziv Coding
KR101365596B1 (ko) * 2007-09-14 2014-03-12 삼성전자주식회사 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
KR101345287B1 (ko) 2007-10-12 2013-12-27 삼성전자주식회사 스케일러블 영상 부호화 방법 및 장치와 그 영상 복호화방법 및 장치
US20090141809A1 (en) * 2007-12-04 2009-06-04 Sony Corporation And Sony Electronics Inc. Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in parallel with video
US8170097B2 (en) * 2007-12-04 2012-05-01 Sony Corporation Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in series with video
KR101375663B1 (ko) * 2007-12-06 2014-04-03 삼성전자주식회사 영상을 계층적으로 부호화/복호화하는 방법 및 장치
US8126054B2 (en) * 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
US8374247B2 (en) * 2008-01-14 2013-02-12 Broadcom Corporation Method and system for hierarchical motion estimation with multi-layer sub-pixel accuracy and motion vector smoothing
US8665958B2 (en) * 2008-01-29 2014-03-04 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding video signal using motion compensation based on affine transformation
US8503533B1 (en) 2008-02-01 2013-08-06 Zenverge, Inc. Motion estimation engine for performing multiple types of operations
KR101571341B1 (ko) 2008-02-05 2015-11-25 톰슨 라이센싱 비디오 인코딩 및 디코딩시 묵시적 블록 분할을 위한 방법 및 장치
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
JP2010016453A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
US8761261B1 (en) * 2008-07-29 2014-06-24 Marvell International Ltd. Encoding using motion vectors
US8488680B2 (en) 2008-07-30 2013-07-16 Stmicroelectronics S.R.L. Encoding and decoding methods and apparatus, signal and computer program product therefor
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
US8184196B2 (en) * 2008-08-05 2012-05-22 Qualcomm Incorporated System and method to generate depth data using edge detection
US8139650B2 (en) 2008-08-07 2012-03-20 California Institute Of Technology Fast noise reduction in digital images and video
ATE554602T1 (de) * 2008-08-21 2012-05-15 Vestel Elekt Sanayi Ve Ticaret Verfahren und vorrichtung zur steigerung der bildrate eines videosignals
CN102165490B (zh) * 2008-09-01 2014-01-22 日本电气株式会社 图像同一性尺度计算系统
GB0818561D0 (en) * 2008-10-09 2008-11-19 Isis Innovation Visual tracking of objects in images, and segmentation of images
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
JP2010122934A (ja) * 2008-11-20 2010-06-03 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
US8599929B2 (en) * 2009-01-09 2013-12-03 Sungkyunkwan University Foundation For Corporate Collaboration Distributed video decoder and distributed video decoding method
JP4893758B2 (ja) * 2009-01-23 2012-03-07 ソニー株式会社 画像処理装置、画像処理方法および撮像装置
KR101597987B1 (ko) * 2009-03-03 2016-03-08 삼성전자주식회사 계층 독립적 잔차 영상 다계층 부호화 장치 및 방법
US8363721B2 (en) * 2009-03-26 2013-01-29 Cisco Technology, Inc. Reference picture prediction for video coding
FR2944937B1 (fr) 2009-04-24 2011-10-21 Canon Kk Procede et dispositif de restauration d'une sequence video
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
CN101931803B (zh) 2009-06-26 2013-01-09 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
KR101678968B1 (ko) * 2009-08-21 2016-11-25 에스케이텔레콤 주식회사 참조 픽처 보간 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9626769B2 (en) * 2009-09-04 2017-04-18 Stmicroelectronics International N.V. Digital video encoder system, method, and non-transitory computer-readable medium for tracking object regions
US9445119B2 (en) * 2009-10-29 2016-09-13 Vestel Elektronik Sanayi Ve Ticaret A.S. Method and device for processing a video sequence
KR101751559B1 (ko) * 2009-10-30 2017-06-27 선 페이턴트 트러스트 복호방법, 복호장치, 부호화 방법 및 부호화 장치
TR200908303A2 (tr) * 2009-11-03 2011-05-23 Vestel Elektroni̇k San. Ve Ti̇c. A.Ş. Hareket dengelemeli enterpolasyon.
US8705624B2 (en) 2009-11-24 2014-04-22 STMicroelectronics International N. V. Parallel decoding for scalable video coding
WO2011064673A1 (en) 2009-11-30 2011-06-03 France Telecom Method of and apparatus for encoding video frames, method of and apparatus for decoding video frames
US8559519B2 (en) * 2010-01-08 2013-10-15 Blackberry Limited Method and device for video encoding using predicted residuals
GB2480224B (en) * 2010-01-29 2014-08-20 Canon Kk Decoding a sequence of digital images with error concealment
FR2956789B1 (fr) 2010-02-19 2012-11-16 Canon Kk Procede et dispositif de traitement d'une sequence video
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US9609342B2 (en) * 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
CN102783132B (zh) * 2010-03-03 2016-08-03 皇家飞利浦电子股份有限公司 用于定义颜色状态的装置和方法
US8665959B2 (en) 2010-04-12 2014-03-04 Qualcomm Incorporated Block and partition signaling techniques for video coding
EP4407987A3 (en) * 2010-04-13 2024-10-23 GE Video Compression, LLC Inheritance in sample array multitree subdivision
KR20130095275A (ko) 2010-08-09 2013-08-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 인코더, 디코더, 비트-스트림, 다중-뷰 신호의 두 개의 뷰들에 대응하는 이미지 쌍을 인코딩하는 방법, 및 디코딩하는 방법
US20130300740A1 (en) * 2010-09-13 2013-11-14 Alt Software (Us) Llc System and Method for Displaying Data Having Spatial Coordinates
US8736767B2 (en) * 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
EP2445214A1 (en) * 2010-10-19 2012-04-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video coding using temporally coherent dynamic range mapping
JP5625808B2 (ja) * 2010-11-26 2014-11-19 沖電気工業株式会社 データ更新装置及びプログラム、並びに、動画像復号装置及びプログラム、並びに、動画像配信システム
CA2722993A1 (fr) * 2010-12-01 2012-06-01 Ecole De Technologie Superieure Systeme d'ecodage video parallele multitrames et multitranches avec encodage simultane de trames predites
US9147260B2 (en) * 2010-12-20 2015-09-29 International Business Machines Corporation Detection and tracking of moving objects
GB2487197B (en) 2011-01-11 2015-06-17 Canon Kk Video encoding and decoding with improved error resilience
CN102857755B (zh) * 2011-07-01 2016-12-14 华为技术有限公司 确定变换块尺寸的方法和设备
US8977065B2 (en) * 2011-07-21 2015-03-10 Luca Rossato Inheritance in a tiered signal quality hierarchy
US8531321B1 (en) * 2011-07-21 2013-09-10 Luca Rossato Signal processing and inheritance in a tiered signal quality hierarchy
EP2745513B1 (en) * 2011-08-19 2020-03-11 Telefonaktiebolaget LM Ericsson (publ) Motion vector processing
PL3379833T3 (pl) 2011-10-18 2021-12-13 Lg Electronics Inc. Sposób intra-predykcji i jego urządzenie
US9300980B2 (en) * 2011-11-10 2016-03-29 Luca Rossato Upsampling and downsampling of motion maps and other auxiliary maps in a tiered signal quality hierarchy
EP2805501A1 (en) * 2012-01-24 2014-11-26 Futurewei Technologies, Inc. Simplification of lm mode
TWI616087B (zh) * 2012-01-31 2018-02-21 Vid衡器股份有限公司 可縮放高效率視訊編碼(hevc)參考圖集(rps)傳訊
CN107396101B (zh) 2012-02-03 2019-12-20 太阳专利托管公司 图像编码方法及图像编码装置
GB2498595B (en) * 2012-02-16 2015-03-04 Imagination Tech Ltd Methods and apparatus for decoding video images
US9313495B2 (en) 2012-05-14 2016-04-12 Luca Rossato Encoding and decoding based on blending of sequences of samples along time
ES2907510T3 (es) * 2012-05-14 2022-04-25 V Nova Int Ltd Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada
SG10201700161UA (en) * 2012-07-09 2017-03-30 Vid Scale Inc Codec architecture for multiple layer video coding
RU2652465C2 (ru) * 2012-07-13 2018-04-26 Конинклейке Филипс Н.В. Усовершенствованные способы и устройства для кодирования и декодирования hdr изображений
US20140092971A1 (en) * 2012-09-28 2014-04-03 Kiran Mukesh Misra Picture processing in scalable video systems
JP6005865B2 (ja) * 2012-09-28 2016-10-12 インテル・コーポレーション スケーラブルビデオ符号化のためのエンハンスド参照領域の利用
EP2907311A4 (en) * 2012-10-09 2016-08-24 Mediatek Inc METHOD AND DEVICE FOR PREDICTING AND ASSUMING MOTION DATA IN VIDEO CODING
US8810157B2 (en) 2012-10-18 2014-08-19 Power Integrations, Inc. Simplified current sense for buck LED driver
US20140153635A1 (en) * 2012-12-05 2014-06-05 Nvidia Corporation Method, computer program product, and system for multi-threaded video encoding
KR102301232B1 (ko) 2017-05-31 2021-09-10 삼성전자주식회사 다채널 특징맵 영상을 처리하는 방법 및 장치

Also Published As

Publication number Publication date
EP2850829B1 (en) 2021-12-01
KR20150018575A (ko) 2015-02-23
KR20150014494A (ko) 2015-02-06
BR112014028274A2 (pt) 2017-07-18
SG11201407417VA (en) 2014-12-30
US11622112B2 (en) 2023-04-04
EP2850830A1 (en) 2015-03-25
CN110944210A (zh) 2020-03-31
BR112014028279A2 (pt) 2017-07-18
KR20150020568A (ko) 2015-02-26
US20130322530A1 (en) 2013-12-05
PL2850829T3 (pl) 2022-05-16
MX2014013846A (es) 2015-05-08
HK1203260A1 (en) 2015-10-23
US20130321423A1 (en) 2013-12-05
JP2015522988A (ja) 2015-08-06
MX344994B (es) 2017-01-13
EA201492090A1 (ru) 2015-05-29
US20190297322A1 (en) 2019-09-26
CN104620582B (zh) 2020-01-14
US11153567B2 (en) 2021-10-19
CN104620581A (zh) 2015-05-13
CA2873487A1 (en) 2013-11-21
AU2013261845A1 (en) 2014-12-11
EP2850835A1 (en) 2015-03-25
JP2015522986A (ja) 2015-08-06
EA201492089A1 (ru) 2015-04-30
IL235578A0 (en) 2015-01-29
EP2850835B1 (en) 2022-01-05
MX2014013835A (es) 2015-03-03
DK2850829T3 (da) 2022-03-07
KR20150014495A (ko) 2015-02-06
AU2013261853A1 (en) 2014-12-11
AU2013261854A1 (en) 2014-12-11
US12155834B2 (en) 2024-11-26
SG11201407508RA (en) 2014-12-30
US12166987B2 (en) 2024-12-10
CN104641643B (zh) 2018-06-19
MX2014013850A (es) 2015-05-08
US20210176483A1 (en) 2021-06-10
US9621887B2 (en) 2017-04-11
SG11201407472SA (en) 2014-12-30
US20170188032A1 (en) 2017-06-29
KR20150018576A (ko) 2015-02-23
AU2013261843A1 (en) 2014-12-11
CN110944210B (zh) 2022-03-01
CN104641644A (zh) 2015-05-20
WO2013171182A8 (en) 2014-06-12
HK1203265A1 (en) 2015-10-23
US10178387B2 (en) 2019-01-08
US20210099706A1 (en) 2021-04-01
EP2850829A1 (en) 2015-03-25
ZA201408541B (en) 2016-08-31
US11595653B2 (en) 2023-02-28
US20130322537A1 (en) 2013-12-05
JP6336438B2 (ja) 2018-06-06
US10750178B2 (en) 2020-08-18
US20220038700A1 (en) 2022-02-03
EA201492098A1 (ru) 2015-04-30
DK2850832T3 (da) 2022-04-11
MX341203B (es) 2016-08-11
KR20150014496A (ko) 2015-02-06
US9961345B2 (en) 2018-05-01
HK1203263A1 (en) 2015-10-23
EA201492093A1 (ru) 2015-04-30
IL235574B (en) 2018-03-29
KR102126886B1 (ko) 2020-06-26
WO2013171173A1 (en) 2013-11-21
ZA201408540B (en) 2016-08-31
IL235576A0 (en) 2015-01-29
JP2015522987A (ja) 2015-08-06
IL235574A0 (en) 2015-01-29
CA2873494A1 (en) 2013-11-21
IL235579A0 (en) 2015-01-29
US20220191497A1 (en) 2022-06-16
ZA201408538B (en) 2016-08-31
EA201492099A1 (ru) 2015-04-30
US20130314496A1 (en) 2013-11-28
SG11201407419RA (en) 2014-12-30
CN104620580A (zh) 2015-05-13
HK1203261A1 (en) 2015-10-23
CA2873499A1 (en) 2013-11-21
US11272181B2 (en) 2022-03-08
BR112014028276A2 (pt) 2017-07-11
US11683491B2 (en) 2023-06-20
WO2013171183A1 (en) 2013-11-21
MX2014013838A (es) 2015-03-03
EP3968638A1 (en) 2022-03-16
JP2015520575A (ja) 2015-07-16
CN104620582A (zh) 2015-05-13
US20170041609A1 (en) 2017-02-09
CA2873501A1 (en) 2013-11-21
US9706206B2 (en) 2017-07-11
ZA201408537B (en) 2016-08-31
ZA201408539B (en) 2016-08-31
SG10201710075SA (en) 2018-01-30
WO2013171182A1 (en) 2013-11-21
US9509990B2 (en) 2016-11-29
CN104620583A (zh) 2015-05-13
AU2013261838A1 (en) 2014-12-04
AU2013261843B2 (en) 2018-02-15
MX339635B (es) 2016-06-02
US10750179B2 (en) 2020-08-18
US20230379470A1 (en) 2023-11-23
CA2873490A1 (en) 2013-11-21
MX2014013836A (es) 2015-03-03
ES2909879T3 (es) 2022-05-10
WO2013171175A1 (en) 2013-11-21
JP2015519016A (ja) 2015-07-06
EP2850831A1 (en) 2015-03-25
EP2850830B1 (en) 2023-08-30
SG11201407484WA (en) 2014-12-30
ES2961397T3 (es) 2024-03-11
BR112014028283A2 (pt) 2017-07-18
EP2850830C0 (en) 2023-08-30
BR112014028273A2 (pt) 2017-07-18
EP2850832B1 (en) 2022-01-05
US20170310968A1 (en) 2017-10-26
JP2015522985A (ja) 2015-08-06
EP2850832A1 (en) 2015-03-25
WO2013171184A1 (en) 2013-11-21
EP2850836A1 (en) 2015-03-25
CA2873496A1 (en) 2013-11-21
US20210099707A1 (en) 2021-04-01
CN104641643A (zh) 2015-05-20
WO2013171168A1 (en) 2013-11-21
HK1203264A1 (en) 2015-10-23

Similar Documents

Publication Publication Date Title
ES2907510T3 (es) Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada
KR102287947B1 (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
US9930350B2 (en) Encoding and decoding based on blending of sequences of samples along time
KR102134705B1 (ko) 티어드 신호 품질 계층 구조에서의 신호 프로세싱 및 상속
US20200288133A1 (en) Video coding method and apparatus
KR102436512B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2015176280A1 (en) Re-encoding image sets using frequency-domain differences
CA2861967A1 (en) Distinct encoding and decoding of stable information and transient/stochastic information
EA040379B1 (ru) Способ и устройство кодирования, декодирования видеосигнала в иерархии уровней качества
EP2698996A2 (en) Decoder and method