ES2909879T3 - Decodificación y reconstrucción de señales basadas en el tiempo y/o multidimensionales en una jerarquía temporal escalonada - Google Patents

Decodificación y reconstrucción de señales basadas en el tiempo y/o multidimensionales en una jerarquía temporal escalonada Download PDF

Info

Publication number
ES2909879T3
ES2909879T3 ES13724216T ES13724216T ES2909879T3 ES 2909879 T3 ES2909879 T3 ES 2909879T3 ES 13724216 T ES13724216 T ES 13724216T ES 13724216 T ES13724216 T ES 13724216T ES 2909879 T3 ES2909879 T3 ES 2909879T3
Authority
ES
Spain
Prior art keywords
plane
level
loq
decoder
signal
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
ES13724216T
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 ES2909879T3 publication Critical patent/ES2909879T3/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/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
    • 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
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Polyurethanes Or Polyureas (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Pyridine Compounds (AREA)
  • Dc Digital Transmission (AREA)
  • User Interface Of Digital Computer (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Retry When Errors Occur (AREA)
  • Detergent Compositions (AREA)
  • Peptides Or Proteins (AREA)

Abstract

Método para reconstruir fotogramas de una señal de video que se codifican en una jerarquía escalonada que comprende un primer escalón que tiene un nivel de calidad inferior y al menos un segundo escalón que tiene un nivel de calidad superior, en donde cada uno de dichos escalones tiene un nivel de calidad distinto y comprende uno o más de los fotogramas codificados en la jerarquía escalonada, y en donde dicho método comprende una etapa de decodificación durante la cual los fotogramas del segundo escalón se calculan a través de operaciones de reconstrucción que comienzan desde al menos uno de los fotogramas del primer nivel, en donde cada fotograma comprende uno o más planos de valores de píxeles de color en un espacio de color, la etapa de decodificación de dicho método que comprende las siguientes fases: a. recibir conjuntos de datos codificados que comprenden: datos codificados del primer escalón para reconstruir los fotogramas de la señal de video en el primer escalón; información descriptiva correspondiente a las operaciones y parámetros a usar durante las operaciones de sobremuestreo; y datos utilizables para producir datos residuales relativos; b. recibir un primer escalón decodificado para reconstruir los valores de los píxeles de un plano de la señal de video en el primer escalón, que tiene el nivel de calidad más bajo; c. sobremuestrear el plano de la señal de video en el primer escalón mediante el uso de la información descriptiva para generar una representación predicha por el decodificador para el plano de video en el segundo nivel; d. procesar los datos codificados para generar datos residuales absolutos para el plano de video en el segundo escalón, los datos residuales absolutos que comprenden una diferencia entre un plano de entrada original de la señal de video en el segundo nivel y una representación predicha por un codificador del plano de video en el segundo nivel que se genera, durante una etapa de codificación, al sobremuestrear un plano de la señal de video en el primer nivel que se deriva del plano de entrada original de la señal de video en el segundo nivel, en donde el procesamiento de los datos codificados comprende: decodificar los datos codificados para obtener datos residuales relativos para el plano de video en el segundo escalón, los datos residuales relativos que comprenden una diferencia entre un plano de residuos absolutos para el plano de video en el segundo nivel y un plano de soporte para el plano de residuos absolutos, el plano de soporte que se genera a partir de una agregación de una pluralidad de planos de residuos absolutos en el tiempo, y combinar los datos residuales relativos para el plano de video en el segundo escalón con el plano de soporte para el plano de video en el segundo nivel para generar los datos residuales absolutos para el plano de video en el segundo nivel, el plano de soporte que se usa para generar los datos residuales absolutos para la pluralidad de planos de video en el segundo nivel; y e. combinar la representación predicha por el decodificador para el plano de video en el segundo escalón y los datos residuales absolutos para generar una reconstrucción del decodificador del plano en el segundo nivel.

Description

DESCRIPCIÓN
Decodificación y reconstrucción de señales basadas en el tiempo y/o multidimensionales en una jerarquía temporal escalonada
Antecedentes de la invención
Se conocen muchas técnicas en el arte para lidiar con la codificación y decodificación de señales digitales. Este es el caso de las señales de audio, imágenes, 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 de tiempo dentro de la señal.
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 del plano espacial ya recibida y decodificada, como en el dominio del tiempo, donde una única instancia en el tiempo de la señal (por ejemplo, un fotograma de vídeo en una secuencia de fotogramas) se toma como una 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 los fotogramas I y los fotogramas P se usan como referencia en el dominio del tiempo.
Las técnicas conocidas explotan la correlación espacial y la correlación de tiempo de muchas maneras, con lo que adoptan diversas técnicas diferentes con el fin de identificar, simplificar, codificar y transmitir las diferencias ("datos residuales").
De acuerdo con los métodos convencionales, con el fin de aprovechar la correlación espacial, 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. 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 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. Esto se llama, en los métodos de codificación convencionales (por ejemplo, las tecnologías de la familia MPEG, VP8, etc.), estimación de movimiento. La información de movimiento se transmite a un decodificador correspondiente con el fin de permitir la reconstrucción de la muestra actual al aprovechar la información ya disponible en el decodificador para la muestra de referencia (en MPEG esto se hace mediante el uso de vectores de movimiento sobre una base de macrobloques).
Un inconveniente de las técnicas convencionales de codificación basadas en referencias es que los errores en una muestra se acumulan con los errores en las siguientes muestras, cada una de las cuales se reconstruye en base a una muestra precedente, lo que crea artefactos visibles después de muy pocas muestras predichas secuencialmente tan pronto como se adoptan técnicas de compresión con pérdida.
Un enfoque común es particionar la señal para reducir la complejidad de las operaciones de codificación y decodificación. Esto se hace tanto en el dominio espacial, por ejemplo, mediante el uso del concepto de macrobloques o rebanadas, como en el dominio del tiempo, donde el enfoque actual del estado del arte es usar una división del Grupo de Imágenes (GOP) a lo largo del tiempo.
El proceso de partición es generalmente abrupto y propenso a los artefactos. Un ejemplo es la segmentación de macrobloques que se realiza en los métodos MPEG. Aunque de hecho se logra la eficiencia de la compresión, también es cierto que se introducen artefactos visibles. Estos artefactos son, en muchas condiciones, muy evidentes para los observadores humanos debido al hecho de que no se relacionan con la señal original (por ejemplo, dos ejemplos notables son los artefactos de tipo "bloque" y los artefactos de timbre). Se han implementado muchos intentos de reducir la visibilidad de tales artefactos (por ejemplo, filtros de desbloqueo y eliminación de timbre tanto en el lado del codificador como del decodificador), aunque con desventajas tales como una calidad percibida global reducida y un aumento de la complejidad.
A lo largo de la dimensión del tiempo, los métodos convencionales dividen las muestras en fragmentos (por ejemplo, GOP para señales de vídeo, donde cada muestra a lo largo del tiempo es una imagen). Se elige una muestra de referencia (la imagen de referencia), normalmente sobre la base del orden secuencial, y las muestras en el fragmento se transmiten diferencialmente con respecto a la referencia (o con respecto a dos referencias, en el caso de fotogramas bipredichos). Esto introduce artefactos en la evolución de tiempo de la señal (por ejemplo, para los movimientos significativos, la calidad percibida a menudo sufre de discontinuidades evidentes a lo largo de los bordes del GOP).
Un requisito que se aborda por los métodos del arte conocido es la eficiencia de compresión. La complejidad computacional siempre se ha considerado como una segunda prioridad: esencialmente, los algoritmos solo tenían que ser computacionalmente factibles, en lugar de diseñarse para una baja complejidad computacional. Esto obligó a los fabricantes de hardware a adaptarse continuamente a la evolución de las técnicas, a diseñar procesadores específicos y soluciones de hardware dedicadas capaces de implementar los algoritmos que se eligen. Un ejemplo es la evolución del soporte de hardware para MPEG2, MPEG4, H.264/AVC, H.265/HEVC, etc. Hasta ahora, ninguna tecnología de codificación se diseñó para ejecutarse de manera óptima en hardware masivamente paralelo, con un rendimiento computacional que escala automáticamente en base al número de núcleos de cálculo disponibles (es decir, sin tener que adaptar el código, o incluso sin saber de antemano cuántos núcleos de cálculo estarán disponibles). Esta característica, inviable con los métodos actuales, es especialmente importante ya que hoy en día la tecnología de hardware se encuentra alcanzando el límite asintótico del silicio en términos de tasa de reloj de cálculo y velocidad en la tasa de transferencia: la tendencia actual de aumentar la potencia de cálculo disponible se mueve en la dirección de aumentar el número de unidades de procesamiento distintas ("núcleos de cálculo") que se alojan en un único chip o sistema.
Otro aspecto descuidado en la técnica conocida, aparte 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 el suministro a diferentes niveles de calidad, por ejemplo, de acuerdo con la disponibilidad de ancho de banda, la resolución de la pantalla y la complejidad del decodificador. La escalabilidad se ha tomado en consideración en métodos conocidos como MPEG-SVC y JPEG2000, con una adopción relativamente pobre hasta ahora debido a la complejidad computacional y, en términos generales, al uso de enfoques que se diseñan esencialmente para técnicas no escalables.
Otro aspecto que no se aborda por los métodos conocidos es la simetría. Con los métodos convencionales, la eficiencia de la compresión puede lograrse a expensas de renunciar a funcionalidades útiles como la reproducción bidireccional (por ejemplo, la inversión del tiempo) y, más en general, el acceso aleatorio a cualquier muestra de la señal (por ejemplo, la edición fotograma por fotograma para las señales de video). Las técnicas de predicción, especialmente a lo largo de la dimensión del tiempo, previenen que el decodificador reciba, decodifique y presente la señal en orden de inversión de tiempo. Las técnicas de predicción que se adoptan también afectan al comportamiento en las transmisiones muy comprimidas o propensas a errores, debido a la acumulación de artefactos. Los artefactos que se introducen por los errores son visibles, especialmente debido a su duración en el tiempo.
Las técnicas dirigidas por predicción que se adoptan en el arte conocido también introducen fuertes restricciones para el acceso aleatorio en un flujo comprimido. Operaciones como la "búsqueda" hacia una muestra en un punto arbitrario, el acceso aleatorio cuando se "zapea" a un flujo de bits de señal diferente (sin tener que esperar por el comienzo del siguiente fragmento de tiempo/GOP) son actualmente inviables. El tiempo que un usuario tiene que esperar cuando intenta acceder a un punto arbitrario se encuentra actualmente en estricta compensación con la eficiencia de la compresión. Un ejemplo de este fenómeno es la restricción del GOP en los métodos de la familia MPEG: con el fin de permitir un retardo de tiempo mínimo y un acceso aleatorio a lo largo del tiempo, debe usarse un GOP de una muestra (es decir, codificación intra solamente).
Por último, los métodos actuales no son adecuados para tasas de muestreo muy altas (por ejemplo, tasas de fotogramas muy altas para las señales de video), debido a la cantidad de potencia computacional y ancho de banda que se requeriría. Varios estudios, por ejemplo, demostraron que todos los humanos pueden apreciar fácilmente las diferencias de calidad de las señales de video de hasta 300 fotogramas por segundo, pero las restricciones computacionales y de ancho de banda actualmente hacen que sea extremadamente caro codificar y transmitir señales de video de alta calidad a más de 25-60 fotogramas por segundo.
<Insertar página 4bis>
Breve descripción
Los métodos innovadores descritos en la presente descripción se centran en las mejoras en las técnicas para reconstruir muestras de una señal que se codifican en una jerarquía escalonada.
La invención se define en las reivindicaciones anexas y se dirige a métodos y aparatos de decodificación de vídeo. La descripción de habilitación puede encontrarse en las Figuras 1G y 3B y en las modalidades dirigidas a los correspondientes métodos y aparatos de codificación. Las modalidades restantes no son parte de la presente invención y deben considerarse solamente como ejemplos adecuados para la comprensión de la invención.
Las modalidades que se ilustran en la presente descripción se centran especialmente en casos no limitativos en donde un nivel inferior de calidad es una resolución menor (es decir, una cuadrícula de muestreo más gruesa) en una o más de las dimensiones de la señal, aunque los expertos en el arte pueden adaptar fácilmente la mismos métodos a los casos en donde una señal con un nivel de calidad inferior es una señal con la misma resolución y un nivel de detalle inferior (por ejemplo, sin limitación, una cuantificación más gruesa de los valores de los elementos). En algunos casos, se referirá a un nivel de calidad inferior como un "nivel de agregación" ("LOA") superior en donde la única dimensión submuestreada frente a un nivel de calidad superior fue la dimensión del tiempo. Los términos "escalón" se usarán indistintamente en el resto de la solicitud con cualquier "nivel de calidad" ("LOQ") o "nivel de agregación" ("LOA"), en dependencia del contexto.
Para simplificar, las modalidades no limitativas que se ilustran en la presente descripción generalmente se refieren a la señal como una secuencia de muestras multidimensionales (es decir, conjuntos de uno o más elementos que se organizan como matrices con una o más dimensiones) que ocurren a una tasa de muestreo dada a lo largo de la dimensión del tiempo. En la descripción, los términos "imagen" y/o "plano" (pretendidos con el documento "MPEG-4 natural video coding - An overview" a nombre de Ebrahimi y otros, XP027357196, describen el estándar MPEG-4, como se define en ISO/IEC 14496-2.
El documento US 5991444 Adescribe un sistema para generar automáticamente un mosaico a partir de una pluralidad de imágenes de entrada. El sistema ejecuta secuencialmente un proceso de alineación de imágenes, un proceso de edición y un proceso de combinación de manera que, a partir de una secuencia de imágenes, el sistema produce automáticamente un mosaico sin fisuras para diversas aplicaciones. Las aplicaciones ilustrativas para el mosaico incluyen: (1) un sistema de visualización basado en mosaicos que incluye un sistema de impresión de imágenes, (2) un sistema de vigilancia y (3) un sistema de compresión basado en mosaicos. El sistema de visualización basado en mosaicos permite a un usuario del sistema visualizar, manipular y alterar un mosaico. El sistema de compresión basado en mosaicos explota la redundancia temporal y espacial en las secuencias de imágenes y comprime de manera eficiente la información de la imagen.
El documento "Low Bit-Rate Scalable Video Coding with 3-D Set Partitioning in Hierarchical Trees (3-D Spiht)", XP011014133, describe un esquema de codificación de video integrado de baja tasa de bits que utiliza una extensión 3-D del algoritmo de partición de conjuntos en árboles jerárquicos (SPIHT) que ha demostrado ser exitoso en la codificación de imágenes fijas.
El documento US2008187044A1 describe un método y un aparato para la codificación y decodificación en base a la interpredicción. En el método de codificación, un bloque actual se codifica al realizar respectivamente la intrapredicción en el bloque actual y un bloque de referencia en una imagen de referencia que corresponde al bloque actual, y realizar la interpredicción en el bloque actual en base a los resultados de realizar la intrapredicción. En consecuencia, es posible reducir el tamaño de los datos con respecto al bloque actual, que se genera como resultado de realizar la interpredicción, de esta manera se mejora la tasa de compresión de los datos de vídeo.
El significado más amplio de "hiperplano", es decir, matriz de elementos con cualquier número de dimensiones) se usará a menudo indistintamente para identificar la representación digital de una muestra de la señal a lo largo de la secuencia de muestras, cada plano tiene una resolución dada para cada una de sus dimensiones, y cada conjunto adecuado de coordenadas en el plano identifica un elemento del plano (o "elemento", o "pel", para imágenes bidimensionales a menudo llamadas "píxel", para imágenes volumétricas a menudo llamadas "vóxel", etc.) caracterizado por uno o más valores o "configuraciones" (por ejemplo, por medios de ejemplos no limitativos, configuraciones de color en un espacio de color adecuado, configuraciones que indican el nivel de densidad, configuraciones que indican los niveles de temperatura, configuraciones que indican el tono de audio, configuraciones que indican la amplitud, etc.). 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.
Las modalidades que se ilustran en la presente descripción se centrarán particularmente en las señales que evolucionan con el tiempo, especialmente debido a la falta de arte anterior. Por ejemplo, las tasas de muestreo muy altas (por ejemplo, también por encima de 1000 fotogramas por segundo, que actualmente requieren cantidades excesivas de recursos de cálculo y de almacenamiento para la codificación y decodificación) se abordan fácilmente por las modalidades descritas.
Para simplificar, las modalidades que se ilustran en la presente descripción a menudo se refieren a señales que se visualizan como secuencias de planos de configuración 2D (por ejemplo, imágenes 2D en un espacio de color adecuado), tal como, por ejemplo, una señal de vídeo.
Las modalidades de jerarquías escalonadas que se ilustran en la presente descripción se caracterizan por escalones con diferentes resoluciones, en donde el factor de escala de submuestreo de un escalón superior a un escalón inferior puede variar para cada escalón y para cada dimensión (tanto espacial como temporal). Las muestras que se codifican en una jerarquía temporal escalonada pueden tener diferentes duraciones. Por ejemplo, una muestra de un escalón dado que resulta del submuestreo temporal ("mezcla" o "mezcla descendente" en caso de combinación de submuestreo espacial y submuestreo temporal) de dos muestras diferentes de un nivel superior representa una porción de la señal con una duración ("lapso de tiempo") que es la suma de las duraciones de las porciones de la señal que se representa porcada una de las muestras del nivel superior. Ninguna bibliografía se basó en jerarquías temporales escalonadas. En este documento el término "lapso de la señal" o "lapso" se usará indistintamente con el término "muestra" (aunque más adecuadamente se puede decir que cada muestra dada tiene un lapso de tiempo correspondiente, que indica que corresponde a una "muestra y contención" por una duración igual a su lapso de tiempo). Un "lapso" de una señal en un nivel dado de calidad representa "una porción de la señal con una posición de muestreo dada y una duración de tiempo dada, para reproducirse / visualizarse que comienza a partir de un momento dado en el tiempo". Un lapso de un nivel de calidad inferior que resulta de la combinación (mezcla o mezcla descendente) de una pluralidad de lapsos de un nivel de calidad superiortendrá una posición de muestreo que es una combinación lineal o no lineal de las posiciones de muestreo de dichos lapsos múltiples. En una modalidad preferida no limitativa, dicha posición de muestreo es el redondeo hacia abajo del promedio de las posiciones de muestreo de los lapsos que se mezclaron en el lapso dado, es decir, la posición de muestreo entera del nivel de calidad más alto que es igual o inmediatamente inferior al promedio matemático de las posiciones de muestreo de los lapsos de un nivel superior que se submuestrearon en el lapso dado. Dicho lapso resultante también tendrá una duración que es la suma de las duraciones de tiempo de dichos lapsos múltiples. Esencialmente, el término "lapso" refleja el hecho de que, especialmente cuando se desciende en la jerarquía también con el submuestreo temporal, cada lapso representa información que se modela mejor como una "muestra y contención" - que representa valores de la señal a lo largo de un intervalo de tiempo dado, es decir, un "lapso" de señal - en lugar de una simple "muestra" en una posición de tiempo muy específica. Además, diferentes lapsos de un mismo escalón pueden tener diferentes duraciones, lo que representa efectivamente tasas de muestreo variables.
Las modalidades no limitativas de los métodos innovadores que se ilustran en la presente descripción a menudo aprovechan alguna forma de técnicas de estimación y compensación de movimiento. En los métodos convencionales, la compensación de movimiento se utiliza como una alternativa para la predicción de una porción de la imagen en base a la correlación espacial: es decir, estas técnicas de codificación, para cada porción de un lapso reconstruido (por ejemplo, una imagen), eligen entre la predicción al aprovechar la correlación espacial (es decir, porciones vecinas de la misma muestra, por ejemplo, intrapredicción en métodos MPEG) o la predicción al aprovechar la correlación de tiempo (es decir, porciones de una o más muestras de referencia, por ejemplo, predicción-P o predicción-B en los métodos MPEG).
Para las modalidades innovadoras descritas en la presente descripción, el espacio y el tiempo no son dimensiones totalmente independientes a considerar de forma aislada: el espacio y el tiempo son solo dimensiones distintas de un espacio multidimensional más amplio llamado espacio-tiempo. Al representar una secuencia de muestras de N-dimensiones como una única señal dimensional (N+1), y al codificar dicha señal dimensional (N+1) con un método jerárquico escalonado, las modalidades descritas en la presente descripción pueden codificar y decodificar de manera efectiva una señal en su espacio-tiempo (a través de operaciones adecuadas de codificación-decodificación de espacio-tiempo), al aprovechar de manera efectiva al mismo tiempo la correlación espacial y de tiempo (es decir, sin tener que elegir entre los dos), y aprovechar de manera efectiva la correlación también a través de múltiples muestras (es decir, no solo de una muestra a otra). Además, al predecir muestras en base a muestras de un nivel de calidad inferior (y/o un nivel de agregación superior) en lugar de en base a muestras vecinas con el mismo nivel de calidad, las decisiones con pérdida que se toman en porciones seleccionadas de la señal dimensional (N+1) no se propagan necesariamente a otras porciones de la señal (es decir, a otras muestras/lapsos en la secuencia). En resumen, las modalidades descritas en la presente descripción manipulan la señal en su totalidad, al aprovechar la correlación en toda la señal y considerar la dimensión del tiempo al mismo nivel que las otras dimensiones. A menudo se hace referencia a esta propiedad muy innovadora de los métodos descritos en la presente descripción como "simetría".
Estas y otras variaciones de la modalidad se describen en más detalle más abajo.
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 más abajo. 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 causa 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 r Om , 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 dirige 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 fases se ha añadido por motivos de claridad. Estas fases pueden realizarse 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 fases y operaciones de la modalidad del método resumidas anteriormente y descritas en detalle más abajo.
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 que se describen 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 describir en diferentes lugares de esta descripción, se pretende que cada uno de los conceptos se pueda ejecutar independientemente de cada uno o en combinación entre sí. En consecuencia, una o más de las presentes invenciones, modalidades, etc., como se describió en la presente descripción, se puede incorporar y ver de muchas maneras diferentes.
Además, tenga en cuenta que esta descripción 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 describe más abajo.
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.
La Figura 1A es un diagrama de ejemplo que ilustra un sistema de codificación y decodificación multiescala; La Figura 1B es un diagrama de ejemplo que ilustra un ejemplo de agregación a lo largo de la dimensión del tiempo;
La Figura 1C es un diagrama de ejemplo que ilustra ejemplos de submuestreo espacial y de mezcla descendente del espacio-tiempo;
La Figura 1D es un diagrama de ejemplo que ilustra ejemplos de agregación a lo largo del tiempo y la mezcla descendente del espacio-tiempo;
La Figura 1E es un diagrama de ejemplo que ilustra la estructura de una señal que se codifica en una jerarquía temporal escalonada;
La Figura 1F es un diagrama de ejemplo que ilustra la estructura de un codificador;
La Figura 1G es un diagrama de ejemplo que ilustra la estructura de un decodificador;
La Figura 1H es un diagrama de ejemplo que ilustra en más detalles la estructura de un codificador;
La Figura 2A, 2B, 2C y 2D ilustran las modalidades descritas en la presente descripción que combinan múltiples muestras de una señal en una única muestra submuestreada;
La Figura 3A y 3B son diagramas de ejemplo que ilustran la codificación en base a la información del elemento de soporte;
La Figura 4A, 4B y 4C son diagramas de ejemplo del procesamiento de una secuencia de imágenes;
La Figura 5A, 5B, 5C, 5D y 5E muestran patrones de decodificación alternativos a través de diagramas de ejemplo, que ilustran un proceso de reconstrucción de acuerdo con la invención descrita en la presente descripción;
La Figura 6 muestra un diagrama que ilustra la generación de un flujo de datos en base a una señal codificada en una jerarquía escalonada de acuerdo con la invención descrita en la presente descripción;
La Figura 7 muestra un diagrama que ilustra un método para el submuestreo de imágenes 2D y 3D con el fin de generar una jerarquía escalonada para codificar una señal mediante el uso de una de las modalidades descritas en la presente descripción;
La Figura 8 muestra un diagrama de flujo que ilustra un método para codificar una señal en una jerarquía escalonada de acuerdo con las modalidades descritas en la presente descripción;
La Figura 9A, 9B y 9C muestran diagramas de flujo que ilustran métodos para decodificar una señal codificada en una jerarquía escalonada de acuerdo con la invención descrita en la presente descripción;
La Figura 10 muestra un diagrama de bloques de un sistema informático que proporciona procesamiento de datos de acuerdo con la invención descrita en la presente descripción;
La Figura 11 muestra un diagrama que ilustra métodos para la cuantificación residual.
Descripción detallada y resumen adicional de las modalidades
Los métodos que se ilustran en la presente descripción son adecuados para cualquier tipo de señales multidimensionales, que incluyen sin limitación las señales de sonido, las señales de sonido multicanal, las imágenes, las imágenes bidimensionales, las señales de vídeo, las señales de vídeo multivistas, las señales de vídeo 3D, las señales volumétricas, las 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 que se ilustran generalmente adoptan el caso de uso de secuencias de video, es decir, una señal basada en el tiempo que consiste de una secuencia de imágenes 2D (comúnmente llamados "fotogramas" o "campos" en el caso de las señales de video entrelazadas), con cada elemento (en tal caso de ejemplo no limitativo se denomina típicamente como "píxel") que se caracteriza por un conjunto de configuraciones de color en un espacio de color adecuado (por ejemplo, YUV, RGB, HSV, etc.). Los diferentes planos de color (por ejemplo, el plano de luminancia-Y y los dos planos de crominancia U y V), a menudo se codifican por separado y, a menudo, con diferentes resoluciones (debido a la menor sensibilidad de los ojos humanos a la información de crominancia).
En otros casos, se representará la señal como una secuencia de muestras de N-dimensiones o "lapsos" como se definió anteriormente en este documento, y se hará referencia al hecho de que la representación completa de la señal es una señal dimensional (N+1) (por ejemplo, si una de las dimensiones es el tiempo, esto corresponde a representar una secuencia de representaciones espaciales con una única representación de tiempo-espacio). Estos deben considerarse ejemplos no limitativos de los posibles tipos de señales que pueden filtrarse y/o comprimirse mediante el uso de los métodos innovadores descritos en la presente descripción. Para señales aparte de los videos, los expertos en el arte pueden aplicar fácilmente los métodos descritos en la presente descripción al adaptar adecuadamente los enfoques descritos para el caso de uso de la señal de video. En un ejemplo no limitativo, los lapsos también pueden ser hiperplanos de elementos con un número diferente de dimensiones que no sean 2 (por ejemplo, lapsos unidimensionales, lapsos tridimensionales, etc.) y/o es posible aplicar a dimensiones diferentes al tiempo enfoques que correspondan a los descritos en la presente descripción para la dimensión tiempo.
Cada lapso de tiempo de una señal se representa con un hiperplano (o más simplemente "plano", que se entiende en su sentido más amplio como "conjunto de elementos organizados como una matriz con una o más dimensiones"): por ejemplo, una señal de sonido multicanal, un fotograma de video HD 2D o una imagen médica volumétrica 3D pueden representarse todos con matrices de elementos del plano (específicamente, un plano de elementos 1D para la señal de sonido multicanal, un plano de elementos 2D para el fotograma de video HD y un hiperplano tridimensional de elementos para la imagen médica volumétrica).
A lo largo del tiempo, los lapsos ocurren a una tasa de muestreo (local) dada. En los métodos convencionales, la tasa de muestreo es siempre constante. Por el contrario, los métodos innovadores que se ilustran en la presente descripción permiten una tasa de muestreo variable. En particular, para niveles de calidad inferiores al nivel superior, la duración de los lapsos de un nivel de calidad dado (es decir, la tasa de muestreo para ese nivel de calidad dado) puede ser variable, lo que representa efectivamente las tasas de muestreo variables. Con el fin de permitir una reproducción adecuada de la señal con lapsos que tienen diferentes duraciones de tiempo, cada uno de los lapsos también se caracteriza por un "número de imagen" o "identificador de imagen", que representa el momento cuando el lapso debe comenzar a visualizarse.
Los métodos y modalidades que se ilustran en la presente descripción pueden usarse juntos entre sí y/o junto con otros métodos. Muchas de las modalidades preferidas que se ilustran en la presente descripción describen técnicas y algoritmos con el objetivo de lograr la compresión, es decir, la codificación y/o decodificación de 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 pueden lograr diferentes propósitos, tales como la codificación y decodificación multiescala, la transmisión adaptativa, el filtrado robusto y eficiente, la eliminación de ruido de la señal (por ejemplo, la eliminación de ruido de la imagen, la eliminación de ruido del vídeo, etc.), las mejoras de la señal (por ejemplo, el supermuestreo de la señal, el desentrelazado, etc.), la generación de métricas de calidad de la señal, la identificación de contenido, la visión artificial, la encriptación de la señal (por ejemplo, la comunicación segura), etc.
La Figura 1A es un diagrama de ejemplo no limitativo que describe un sistema de codificación y decodificación multiescala de acuerdo con las modalidades en la presente descripción.
En una modalidad, el codificador 110 recibe la señal original 100 (tal como una secuencia de señales 100-1, 100-2, etc.) y codifica la señal 100 en un flujo de datos multiescala 115. El decodificador 120-2 recibe el flujo de datos 115 de datos codificados y produce la señal reconstruida a un LOQ inferior 1001 tal como un primer nivel de calidad.
El decodificador 120-1 recibe el flujo de datos 115 y produce una señal reconstruida a un LOQ superior 1000 tal como un segundo nivel de calidad. En este ejemplo de modalidad, el segundo nivel de calidad es superior al primer nivel de calidad. En una modalidad, el segundo (o superior) nivel de calidad es una imagen de mayor resolución (por ejemplo, más elementos por unidad de área de pantalla de visualización) que una resolución en el primer (inferior) nivel de calidad. Por lo tanto, la señal 1000-1 en la secuencia es una representación de mayor resolución de la señal 1000-1, la señal 1000-2 en la secuencia es una representación de mayor resolución de la señal 1000-2, y así sucesivamente.
En una modalidad no limitativa, también el decodificador 120-1 produce una señal reconstruida a un LOQ inferior 1001 con el fin de reconstruir, en base a la señal reconstruida a un LOQ inferior 1001, la señal reconstruida a un LOQ superior 1000.
En algunas modalidades no limitativas, como se mencionó, el segundo nivel de calidad tiene una resolución mayor (espacial y/o temporal) que el primero. En algunas de tales modalidades, el segundo nivel de calidad tiene una resolución que se obtiene mediante sobremuestreo con un factor de escala específico (que incluye factores de escala no enteros y/o factores de escala iguales a 1) cada una de las dimensiones de la señal. En otras palabras, la señal 1000-1 se puede sobremuestrear en base al menos en parte a la señal 1001-1; la señal 1000-2 se puede sobremuestrear en base al menos en parte a la señal 1001-2; y así sucesivamente. De manera similar, cada señal en la señal 1001 se puede sobremuestrear a una señal a una resolución mayor.
En otra modalidad no limitativa, el decodificador 120-2 aprovecha las técnicas de decodificación heredadas (por ejemplo, MPEG2, H.264, etc.) con el fin de decodificar el flujo de datos 115.
En una modalidad de ejemplo no limitativa, un procesador de señales de decodificación de un decodificador de TV (por ejemplo, sin limitación, una caja decodificadora) se programa para implementar un método como se ilustra en la Figura 1A, en donde el flujo de datos 115 corresponde a la señal de difusión que se recibe. De esta manera, los decodificadores heredados reciben el mismo flujo de datos 115 que el decodificador 120, pero sólo ignoran los datos adicionales en el flujo de datos que se encuentran disponibles para reconstruir una representación de la señal al nivel de calidad superior.
En otras modalidades no limitativas, un servidor de transmisión procesa el flujo de datos codificados 115 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 de calidad dado (lo opuesto al máximo nivel de calidad posible).
La Figura 1B es un diagrama que ilustra un ejemplo no limitativo de agregación a lo largo de una dimensión temporal de acuerdo con las modalidades en la presente descripción.
Por medio de un ejemplo no limitativo, los tres planos 130-1, 130-2, 130-3, cada uno de los cuales incluye cuatro elementos organizados como un plano 2x2, se agregan en el plano de soporte 131, con la misma resolución que los planos originales. Cada plano puede incluir cualquier número de elementos. En una modalidad, los elementos del plano de soporte 131 se calculan en base a los elementos correspondientes de los planos 130-1, 130-2 y 130-3. El número de planos que se agregan en un mismo plano de soporte debe considerarse como no limitativo, ya que en principio puede agregarse cualquier número de planos en un único plano de soporte. En esta modalidad de ejemplo no limitativo, se dice que el plano de soporte 131 se encuentra en un "nivel de agregación superior" (LOA) que los planos 130-1, 130-2 y 130-3.
En algunas modalidades no limitativas, el plano de soporte 131 se procesa con el fin de reconstruir, en base a datos de reconstrucción específicos para cada uno de los planos 130-1, 130-2 y 130-3, representaciones del plano 130-1, 130-2 y 130-3.
En otras modalidades no limitativas, los planos 130-1, 130-2 y 130-3 son planos residuales, que especifican los ajustes a hacer en las representaciones preliminares de las muestras correspondientes con el fin de producir una representación reconstruida de una señal. En otras palabras, los planos tales como el plano 130-1, el plano 130-2, el plano 130-3, etc., pueden representar los llamados datos residuales. Los datos residuales pueden ser datos de ajuste que especifican cómo ajustar cada uno de los múltiples elementos en una señal que se reconstruye para que la señal reconstruida coincida más con una representación original de la señal.
En la modalidad no limitativa de la Figura 1B, cada plano de información corresponde a una posición de muestreo diferente (es decir, tiempo de muestreo). Por ejemplo, el plano 130-1 de elementos puede representar la información de ajuste asociada con la recreación de una representación de una señal original que se captura en el tiempo T1 en la secuencia; el plano 130-2 de elementos puede representar la información de ajuste asociada con la recreación de una representación de una señal original que se captura en el tiempo T2 en la secuencia; el plano 130-3 de elementos puede representar la información de ajuste asociada con la recreación de una representación de una señal original que se captura en el tiempo T3 en la secuencia; y así sucesivamente.
En otras modalidades no limitativas, los planos 130-1, 130-2 y 130-3 son planos de soporte para otros planos en un nivel de agregación inferior. Como ejemplo, pueden agregarse múltiples planos a un nivel de agregación inferior para producir el plano 130-1; pueden agregarse múltiples planos a un nivel de agregación inferior para producir el plano 130-2; pueden agregarse múltiples planos a un nivel de agregación inferior para producir el plano 130-3; y así sucesivamente. En consecuencia, la información de ajuste asociada con múltiples planos (imágenes) puede combinarse de manera jerárquica en un único plano de soporte.
Como se muestra, el único plano de soporte 131 de elementos captura atributos de cada uno de los múltiples planos temporales de elementos. Por ejemplo, en este ejemplo simple sin compensación de movimiento, el elemento inferior izquierdo en el plano 131 se establece aun valor de D ya que esta es la configuración predominante de los elementos correspondientes (por ejemplo, los elementos inferiores izquierdos) en los planos 130-1, 130-2, 130-3, y así sucesivamente.
El elemento superior derecho en el plano 131 se establece a un valor de C ya que esta es la configuración predominante de los elementos correspondientes (por ejemplo, el elemento superior derecho) en los planos 130-1, 130-2, 130-3, y así sucesivamente. En consecuencia, el plano de soporte 131 incluye una mezcla de múltiples planos de imagen individuales.
En otras modalidades no limitativas, los elementos correspondientes de diferentes planos pueden residir en diferentes ubicaciones de sus respectivos planos (como se especifica mediante la información descriptiva adecuada sobre el movimiento), con el fin de dar cuenta del movimiento de los objetos con el tiempo. Las modalidades en la presente descripción pueden incluir la generación de datos de reconstrucción (tal como los datos residuales) para convertir el plano de soporte 131 de nuevo en los planos individuales 130-1, plano 130-2, plano 130-3 y así sucesivamente. Por ejemplo, un codificador compara las configuraciones de los elementos en el plano de soporte 131 con las configuraciones de los elementos en el plano original 130-1. En este ejemplo, los datos de reconstrucción para el plano 130-1 indicarían que el plano de soporte 131 puede convertirse en el plano 130-1 con un ajuste del elemento superior derecho en el plano de soporte 131. Es decir, las configuraciones en el plano 130-1 son generalmente las mismas que las configuraciones de los elementos en el plano de soporte 131 excepto en el elemento superior izquierdo. Los datos de reconstrucción asociados con el plano 130-1 pueden incluir información de diferencia que se aplica al valor de configuración C para cambiarlo al valor B para el elemento de visualización superior derecho en el plano 130-1. Además, en esta modalidad de ejemplo, un codificador compara las configuraciones de los elementos en el plano de soporte 131 con las configuraciones de los elementos en el plano original 130-2. En este ejemplo, los datos de reconstrucción para el plano 130-2 indicarían que las configuraciones en el plano de soporte 131 pueden convertirse en elementos del plano 130-2 sin ninguna configuración.
Además, en este ejemplo, un codificador compara las configuraciones de los elementos en el plano de soporte 131 con las configuraciones de los elementos en el plano original 130-3. En este ejemplo, los datos de reconstrucción para el plano 130-3 indicarían que el plano de soporte 131 puede convertirse en el plano 130-3 con un ajuste en el elemento inferior izquierdo en el plano de soporte 131. Es decir, las configuraciones en el plano 130-3 son generalmente las mismas que las configuraciones de los elementos en el plano de soporte 131 excepto que el elemento superior izquierdo es diferente. Los datos de reconstrucción asociados con el plano 130-3 pueden incluir información de diferencia que se aplica al valor de configuración D en el plano de soporte 131 para cambiarlo al valor E para el elemento de visualización inferior izquierdo cuando se reconstruyen las configuraciones para el plano 130-3.
La Figura 1C es un diagrama de ejemplo que ilustra ejemplos no limitativos de submuestreo espacial y de mezcla descendente del espacio-tiempo de acuerdo con las modalidades en la presente descripción. El diagrama ilustra una secuencia de planos a un primer nivel de calidad (superior) y una secuencia correspondiente de planos a un segundo nivel de calidad, el segundo nivel de calidad es inferior al primero.
En particular, la secuencia en el segundo nivel de calidad se ha obtenido como sigue:
El plano 11 135-1, un plano bidimensional hecho de dieciséis elementos, se submuestrea con un factor de escala de dos a lo largo de ambas de sus dimensiones espaciales, lo que produce el plano submuestreado 136-1; los planos 135-2, 135-3 y 135-4, tres planos bidimensionales cada uno hecho de dieciséis elementos, se submuestrean con un factor de escala de dos a lo largo de sus dimensiones espaciales y con un factor de escala de tres a lo largo de la dimensión del tiempo, lo que produce el plano de mezcla descendente 136-2. Se asume en este ejemplo que el plano 135-1 es una representación de una imagen de muestra en el tiempo T1; el plano 135-2 es una representación de una imagen de muestra en el tiempo T2; el plano 135-3 es una representación de una imagen de muestra en el tiempo T3; el plano 135-4 es una representación de una imagen de muestra en el tiempo T4; y así sucesivamente.
La operación de submuestreo de espacio-tiempo (es decir, submuestreo también a lo largo de la dimensión del tiempo) también se denomina en esta solicitud "mezcla descendente" (abreviatura de "submuestreo mezcla de tiempo"). En una modalidad, el submuestreo se refiere a reducir la resolución de la representación de la señal hacia abajo en el nivel de la jerarquía de calidad; la mezcla se refiere a la combinación de atributos de señales de muestra que se muestrean con el tiempo. El número de planos de mezcla descendente en un mismo plano de mezcla descendente debe considerarse no limitativo, ya que, en principio, cualquier número de planos se puede mezclar descendentemente en un plano de mezcla descendente.
Las modalidades en la presente descripción pueden incluir la generación de datos de reconstrucción (tal como los datos residuales) para convertir el plano de soporte 136 de nuevo en los planos 135-2, plano 135-3 y plano 135-4 individuales. Por ejemplo, puede configurarse un codificador para determinar las modificaciones que necesitan realizarse después del sobremuestreo del plano 136-2 en una representación preliminar de la señal con el mismo nivel de calidad que los planos 135-2, 135-3 y 135-4. El codificador produce entonces un primer conjunto de datos de reconstrucción que indican cómo modificar los elementos en la representación sobremuestreada del plano 136-2 en el plano 135-2; el codificador produce entonces un segundo conjunto de datos de reconstrucción que indican cómo modificar los elementos en la representación sobremuestreada del plano 136-2 en el plano 135-3; el codificador produce entonces un tercer conjunto de datos de reconstrucción que indican cómo modificar los elementos en la representación sobremuestreada del plano 136-2 en el plano 135-4. En consecuencia, un decodificador puede recibir datos de reconstrucción asociados con el plano 136-2 y el primer conjunto de datos de reconstrucción para reproducir las configuraciones en el plano 135-2; el decodificador puede recibir los datos de reconstrucción asociados con el plano 136-2 y el segundo conjunto de datos de reconstrucción para reproducir las configuraciones en el plano 135-3; el decodificador puede recibir los datos de reconstrucción asociados con el plano 136-2 y el tercer conjunto de datos de reconstrucción para reproducir las configuraciones en el plano 135-4.
La Figura 1D es un diagrama de ejemplo que ilustra ejemplos no limitativos de agregación y mezcla descendente del espacio-tiempo que se realizan junto con la compensación de movimiento de acuerdo con las modalidades en la presente descripción.
El plano 21 135-5 y el plano 22 135-6 se agregan en el plano de soporte 137, en donde el plano de soporte 137 tiene un número superior de elementos que los planos originales. Los elementos del plano de soporte 137 se calculan en base a los elementos correspondientes de los planos 135-5 y 135-6. En esta modalidad de ejemplo no limitativa, puede señalarse que el plano de soporte 137 no tiene una cuadrícula de muestreo con una resolución mayor que la de los planos originales. Es una región de muestreo ampliada (por ejemplo, mayor número de elementos de visualización que en los planos originales 135-5, 135-6, etc.). La cuadrícula en el plano 137 se extiende con respecto a los planos 21, 22, 31, 32, para capturar una porción más grande de la "escena" (es decir, con un "campo de visión" más grande). Ampliar la región de los elementos de visualización asociados con el plano de soporte 137 permite capturar una porción más grande de los elementos de visualización en los planos 21 y 22 en el plano de soporte 137. En consecuencia, el plano de soporte 137 incluye una agregación de información de múltiples planos. Por ejemplo, como se muestra, el plano de soporte 137 incluye una combinación de objetos que se presentan en cada uno de los planos 21 y 22.
Como se muestra, el plano de soporte 137 incluye una representación de un primer objeto (por ejemplo, la información que se ilustra visualmente como un cuadrado oscuro presente en ambos planos 21 y 22) así como también un segundo objeto (por ejemplo, la información que se ilustra visualmente como un triángulo solo en el plano 22). La Figura muestra los efectos de la compensación de movimiento, en donde la información que se ilustra visualmente como un cuadrado oscuro, que cambia de ubicación a lo largo del tiempo, se compensa por movimiento antes de mezclarse en el plano de soporte 137. En particular, la figura muestra un ejemplo de compensación de movimiento con respecto a la posición de muestreo del plano 21 (es decir, en el plano de soporte 137, el cuadrado oscuro se ubica en la posición que tenía en el plano 21). En otras palabras, debido a la compensación de movimiento, el plano mezclado 137 no se obtiene por medio de solo un simple solapamiento de los múltiples planos originales, sino que es un promedio ponderado de planos "alabeados", cada uno de los planos alabeados que se obtienen mediante la compensación de movimiento de un plano original dado con respecto a la posición de muestreo del plano de soporte 137.
En esta modalidad de ejemplo, el plano 31 135-7 y el plano 32 135-8 se mezclan descendentemente en el plano de mezcla descendente 138, en donde el plano de mezcla descendente 138 tiene más elementos que la cuadrícula de muestreo que resulta de las operaciones de submuestreo espacial. Al igual que el plano de soporte 137, también el plano de mezcla descendente 138 comprende información que se representa parcialmente en todos los planos de mezcla descendente en él, y que se representa parcialmente solo en algunos de los planos. De esta manera, las modalidades en la presente descripción incluyen la aplicación de un algoritmo de submuestreo para reducir la resolución del plano representativo, así como también la ampliación de una región (por ejemplo, el número de elementos de visualización) de cobertura asociada con el plano submuestreado con el fin de acomodar la captura de una representación de objetos presentes en múltiples planos diferentes.
En consecuencia, una secuencia de imágenes (y objetos en movimiento capturados) asociada con un video puede capturarse en una única imagen de igual o diferente resolución que las imágenes originales.
En una modalidad, el hardware del procesador del codificador produce el plano de soporte 137 para incluir un conjunto de configuraciones de elementos de imagen comunes entre el plano 21 y 22. El plano de soporte 137 puede configurarse para incluir: i) una representación de un primer objeto (círculo pequeño) como se detecta en un primer plano (imagen) de las múltiples imágenes originales, y ii) una representación de un segundo objeto (triángulo) como se detecta en un segundo plano (imagen) de las múltiples imágenes originales. La representación del segundo objeto (triángulo) puede ausentarse del primer plano 21. La representación del primer objeto (pequeño círculo) puede ausentarse del segundo plano 22.
La Figura 1E es un diagrama que ilustra una señal dimensional (N+1) que es, en este ejemplo, una secuencia de lapsos de N-dimensiones que representan una secuencia de fotogramas de video bidimensionales. Los lapsos del nivel de calidad más alto (original) (LOQ #0, o escalón equivalente #0) se organizan en un "grupo" (es decir, un fragmento de tiempo) que consiste de dos "lotes" el LOTE 1 y el LOTE 2 o, en otras palabras, dos subsecuencias de lapsos. En el LOQ #0, el LOTE 1 consta de 8 lapsos de igual duración (lapso 100-1 en la posición de muestreo 1, lapso 100-2 en la posición de muestreo 2,..., lapso 100-8 en la posición de muestreo 8) y el LOTE 2 consta de 5 lapsos de igual duración (lapso 100-9 en la posición de muestreo 9, lapso 100-10 en la posición de muestreo 10, ..., lapso 100- 13 en la posición de muestreo 13).
La señal que se ilustra en la Figura 1E se codifica en una jerarquía escalonada, con los cuatro niveles de calidad superiores LOQ #0, LOQ #-1, LOQ #-2 y LOQ #-3 que se muestran en la Figura. Esto pretende ser no limitativo, ya que una señal podría codificarse con un número superior de niveles de calidad y, en principio, el nivel más bajo tiene un único lapso que consiste de un único elemento.
El nivel de calidad LOQ #-1 consta de cuatro lapsos para el LOTE 1 (lapsos 101-1, 101-3, 101-5, 101-7) y dos lapsos para el LOTE 2 (lapso 101-9 y 101-12). En esta modalidad no limitativa, los lotes en LOQ #-1 tienen un número inferior de lapsos que los mismos lotes en LOQ #0, es decir, los lapsos de LOQ #-1 se obtuvieron por medio de submuestreo temporal. Los hiperplanos de elementos (es decir, en el ejemplo de fotogramas de video, los planos bidimensionales de los píxeles) correspondientes a los lapsos de LOQ #-1 también se submuestrean, con factores de escala adecuados para cada dimensión espacial, con respecto a los hiperplanos de elementos correspondientes a intervalos de LOQ #0: en este ejemplo, los hiperplanos tienen dos dimensiones (por ejemplo, representan una imagen bidimensional), y cada dimensión se reduce en un factor de 2 para cada nivel de calidad de la jerarquía al siguiente, lo que introduce líneas o columnas de relleno cuando sea necesario para garantizar la divisibilidad por dos.
Nótese que diferentes números de lapsos del LOQ #0 corresponden a diferentes lapsos del LOQ #-1: por ejemplo, el lapso de mezcla descendente 101-1 en el LOQ #-1 corresponde (es decir, representa la misma porción de la señal en un nivel de calidad diferente) a los lapsos 100-1 y 100-2 en el LOQ #0 (es decir, el sobremuestreo temporal del lapso 101- 1 a los lapsos 100-1 y 100-2 tiene un factor de escala de dos), mientras que el lapso de mezcla descendente 101­ 12 en el LOQ#-1 corresponde a los lapsos 100-11, 100-12 y 100-13 en el Lo Q #0 (es decir, el sobremuestreo temporal para el lapso 101-12 tiene un factor de escala de tres).
Los lapsos se caracterizan por una posición de muestreo (que se representa en la Figura 1E por el número en la parte superior de cada lapso, por encima de una marca de verificación), una duración de tiempo (que se representa en la Figura 1E por la longitud horizontal del lapso) y un número de imagen (que se representa en la Figura 1E por el número en la parte inferior de cada lapso, más abajo de una marca circular sólida). Por ejemplo, el lapso 103-11 de LOQ #-3 se caracteriza por la posición de muestreo 11 (es decir, se "centra" en la posición 11), la duración de tiempo de 5 unidades de tiempo (es decir, corresponde a cinco lapsos del LOQ #0 ) y el número de imagen 9 (es decir, si el lapso tuviera que mostrarse, permanecería en la pantalla - a la tasa de imagen del LOQ #0 - que comienza desde la imagen 9 hasta la imagen 13, es decir, por su duración de 5 imágenes).
En esta modalidad no limitativa, las posiciones de muestreo para los lapsos de los niveles de calidad inferiores al LOQ #0 se calculan de acuerdo con la tasa de muestreo del LOQ #0 (en este ejemplo, una tasa de muestreo constante). En particular, la posición de muestreo de un lapso que corresponde a una pluralidad de lapsos del LOQ #0 se calcula como la posición de muestreo entera inferior o igual (es decir, redondeo hacia abajo) al promedio de las posiciones de muestreo de los lapsos correspondientes en el LOQ #0. Por ejemplo, el lapso 102-2 del LOQ#-2 (correspondiente a los lapsos 100-1, 100-2, 100-3 y 100-4 del LOQ #0) tiene una posición de muestreo de 2, ya que 2 es la posición de muestreo entera más cercana inferior al promedio (que sería 2,5) de las posiciones de muestreo de 100-1, 100-2, 100­ 3 y 100-4. De manera similar, el lapso 103-11 del LOQ #-3 tiene una posición de muestreo de 11 porque 11 es el promedio (en este caso, directamente un número entero) de las posiciones de muestreo de los lapsos 100-9, 100-10, 100-11, 100-12 y 100-13. En esta modalidad no limitativa, los números de imagen para lapsos de niveles de calidad inferiores al LOQ #0 se calculan de nuevo de acuerdo con la tasa de muestreo del LOQ #0, y el número de imagen de un lapso dado se calcula como la posición de muestreo más baja de los lapsos del LOQ #0 que corresponden al lapso dado.
Ejemplo de descripción de una modalidad de codificador no cubierta por la invención reivindicada
En un entorno que se orienta a la compresión, un procesador de señales se configura como codificador (de ahora en adelante "el codificador") procesa los conjuntos de generación de señales de datos de reconstrucción codificados que esencialmente comprimen la señal a una calidad dada. Un procesador de señales que se configura como un decodificador (de ahora en adelante "el decodificador") recibe los conjuntos de datos de reconstrucción y reconstruye una representación de la señal original.
Con el fin de generar conjuntos adecuados de datos de reconstrucción codificados, en primer lugar, el codificador identifica la porción de tiempo de la señal que se incluirá en un grupo y su subdivisión en lotes. Los grupos son necesarios debido al problema práctico de que la dimensión del tiempo es a menudo ilimitada (al menos para todos los propósitos prácticos), mientras que las dimensiones espaciales tienen límites nativos claros y fijos (por ejemplo, la resolución horizontal y vertical de un fotograma de video, el número de valores representa una muestra de sonido, la resolución x-y-z de una imagen volumétrica, etc.). Por lo tanto, a menudo es prácticamente inviable, incluso si idealmente es la mejor opción, para analizar la señal a lo largo de toda su duración en el tiempo. Sin embargo, una señal - en ejemplos prácticos no limitativos, tal como películas y filmaciones - es a menudo, de forma nativa una cadena concatenada de fragmentos no relacionados: por ejemplo, típicamente los contenidos de las películas se dividen en "escenas", es decir, cantidades limitadas en el tiempo de lapsos correlacionados separados por cambios de escena muy evidentes. Estos "grupos de escenas" pueden servir como una referencia válida para particionar en el tiempo la señal antes de codificarla. Sin embargo, cuando estos grupos son muy largos, es necesario segmentar más la secuencia de lapsos. Sin las contramedidas convenientes, particionar una escena en "porciones independientes para el cálculo" puede conducir a artefactos evidentes: los patrones de ruido cambian repentinamente, los movimientos suaves muestran discontinuidades, etc. La nueva metodología usada por la modalidad preferida no limitativa descrita en la presente descripción comprende el uso de "lotes" (es decir, el submuestreo de la jerarquía lote por lote independientemente) y un enfoque de "onda de decodificación" (es decir, el sobremuestreo de la jerarquía a través de lotes). Por medio de tales nuevos métodos, la escena se particiona de hecho con el fin de hacer que el cálculo sea práctico con las arquitecturas actuales. Dichas particiones se "puentean" durante la decodificación, lo que evita las separaciones rígidas y, en consecuencia, evita las discontinuidades en la representación reconstruida de la señal.
Si el grupo consta de solo unos pocos lapsos, no es necesario particionarlo más. En cambio, si se asume que un grupo dura muchos lapsos (es decir, por encima de un umbral dado), el codificador rebana el grupo en "lotes". Como se indicó anteriormente, un lote es un número consecutivo de lapsos. Las longitudes de los lotes en el intervalo de 1 a 128 lapsos y los grupos hechos de 1 a 5 lotes son ejemplos no limitativos para las duraciones de lotes y los grupos. Desde un punto de vista práctico, tales longitudes se ajustan al hardware, la memoria y las unidades de procesamiento usadas en una modalidad dada. La decisión sobre la dimensión del lote es el resultado de un proceso de optimización global que se realiza en el lado del codificador. Un criterio no limitativo es maximizar la longitud del lote dentro de un grupo altamente correlacionado en el tiempo, dados cualesquiera de los requisitos en el recurso decodificador (en particular, los requisitos de memoria), en el perfil dado que se produce por el codificador. Otro criterio no limitativo es mantener tanto como sea posible un tamaño de lote fijo y, en particular, configurarlo o a un número fijo de imágenes o a una imagen (por ejemplo, antes o después de imágenes muy poco correlacionadas), para simplificar los cálculos.
El codificador realiza la estimación de movimiento a través de la señal, lo que genera una información descriptiva adecuada que comprende un número de parámetros, tales como mapas auxiliares, vectores de movimiento, mapas de zona de movimiento, matrices de movimiento, etc. y representa el movimiento de los objetos que se representan en los lapsos de la señal. En dependencia de los resultados de la estimación de movimiento, el codificador puede modificar el número de lapsos que se incluyen en los grupos y lotes, por ejemplo, al tomar en cuenta los cambios de escena en el caso de una señal de video. La longitud de lote se acorta por el codificador cada vez que la correlación de tiempo de los lapsos a lo largo del tiempo disminuye más abajo de los umbrales dados. En base a las métricas adecuadas correspondientes a la actividad de la señal durante el grupo en términos de movimiento, las longitudes de los lotes se asignan por lo tanto esencialmente sobre una base de proporcionalidad inversa. En una modalidad no limitativa, la longitud del lote se define en base a dichas métricas al aprovechar los parámetros experimentales preestablecidos, así como también las heurísticas adecuadas.
Dentro de un grupo, el codificador agrupa así los lapsos en uno o más "lotes".
Una vez que se identifica qué lapsos del LOQ #0 pertenecen a qué lote, el codificador calcula la jerarquía escalonada de lapsos, al generar cada lapso en un LOQ inferior al submuestrear la correspondiente pluralidad de lapsos en el LOQ inmediatamente superior. El lapso en el LOQ inferior que resulta del submuestreo de una pluralidad de lapsos en el LOQ superior también se define como el lapso de "controlador" (o "padre") para esos lapsos.
Matemáticamente, se llama X L K ( ' t) al lapso del LOQ K, el lote L y la posición de muestreo t. En la modalidad no limitativa que se ilustra en la Figura 1E, el lapso 101-1 se obtiene al submuestrear la combinación de los lapsos 100­ 1 y 100-2. Más específicamente, los lapsos del nivel de calidad superior se combinan al realizar un promedio ponderado de sus representaciones con compensación de movimiento, en donde la compensación de movimiento se realiza en base a (es decir, con relación a) la posición de muestreo del lapso resultante en el nivel de calidad inferior. Matemáticamente, esto puede expresarse como sigue:
Figure imgf000012_0001
La función de compensación de movimiento MC es una función que toma como entrada información descriptiva sobre el movimiento (que se genera a través de un método adecuado de estimación de movimiento) y transforma una imagen original (es decir, un lapso centrado en una posición de muestreo dada) en una imagen con compensación de movimiento, centrada en la posición de muestreo de destino. En esta modalidad de ejemplo no limitativa, las imágenes con compensación de movimiento son más grandes (es decir, tienen más hileras y columnas de elementos del plano) que las imágenes originales, con el fin de permitir la combinación de una pluralidad de imágenes con compensación de movimiento mientras se limita la pérdida de información como se ilustró previamente en la Figura 1D. Debido a la falta de bibliografía, se define las hileras y columnas adicionales (la resolución adicional frente a la original de un lapso con el mismo nivel de calidad) como "encuadre". A algunos elementos del encuadre se les asigna un valor por defecto (valor "No disponible") mediante la función de compensación de movimiento, con el fin de evitar que esos elementos influyan en los promedios ponderados durante la combinación de múltiples imágenes en una imagen. Como un caso de ejemplo simple no limitativo, aplicar la compensación de movimiento con respecto a una posición de muestreo dada t a un lapso Xk(t) con la misma posición de muestreo t, corresponde esencialmente a una función de identidad más la adición de encuadre, en donde todos los elementos de encuadre se les asigna el valor por defecto "No disponible". Con relación al tamaño de los lapsos combinados originales, el encuadre se vuelve más grande al descender en la jerarquía, debido al hecho de que los lapsos tienen una mayor duración en el tiempo y, por tanto, pueden incluir una "mayor cantidad" de la escena general (especialmente debido al movimiento).
En esta modalidad simple no limitativa, la función de submuestreo es un filtro de submuestreo bilineal con un factor de escala de 2 a lo largo de ambas dimensiones y los parámetros de peso a y b solo dependen de las duraciones de tiempo relativas de los lapsos del nivel de calidad superior que se submuestrean en el lapso del nivel de calidad inferior. Otras modalidades no limitativas ponderan los lapsos en base a la distancia desde la posición de muestreo y/o los parámetros más sofisticados, pero un promedio simple corresponde al hecho de que la "cantidad relativa de información" que se lleva por un lapso es esencialmente proporcional a la porción de tiempo de la señal que representa. En el ejemplo específico de la Figura 1E:
X , 1 (1) = BAJAR (o,5 ■ M c { x ¡ ( 1 ) )+ 0,5 • M c ( x , ° (2 )))
Figure imgf000013_0001
Cuando una operación de compensación de movimiento genera un plano de elementos que incluye uno o más elementos con un valor por defecto (por ejemplo, valor "No disponible"), los elementos con el valor por defecto no se incluyen en el promedio ponderado y los pesos de los valores restantes (es decir, diferentes de "No disponible") se normalizan, para garantizar que la suma de los pesos de los valores restantes en el promedio ponderado sea siempre igual a 1. En esta modalidad no limitativa, la normalización se calcula al añadir una misma constante a cada uno de los pesos, para hacer su suma igual a uno.
Una vez que el codificador generó los LOQ en un LOQ dado, el codificador comienza a generar datos codificados que pueden permitir a un decodificador reconstruir representaciones adecuadas de la jerarquía escalonada. En particular, en el lado del decodificador, una vez que un LOQ N-1 dado se encuentra disponible, la reconstrucción del valor real de cada elemento de cada lapso en el LOQ N superior requiere recibir y decodificar uno o más conjuntos de residuos, que se procesan por el decodificador con el fin de modificar las representaciones predichas que se generan en base a la información sobre los niveles de calidad inferiores que ya se encontraba disponible.
Matemáticamente, se llamará
Figure imgf000013_0002
a las representaciones reconstruidas de cada lapso
Figure imgf000013_0003
La razón por la que un Y dado (reconstruido) puede ser diferente de su correspondiente X (original) es que, en un entorno que se orienta a la compresión, el codificador puede configurarse para permitir un grado de artefactos de cuantificación y/u otros artefactos con pérdida en los lapsos reconstruidos, para reducir una métrica de entropía de la información de la señal. Para uno o más lapsos del LOQ inferior o nivel inferior, y solo para esos, el codificador genera cada lapso YB como resultado de descuantificar la representación cuantificada de XB. Esto se expresa matemáticamente como sigue:
Y‘nferior (t) = D o { o (x fnor (í)))= X T ° r (0
(el símbolo "A" indica la "estimación reconstruida de")
Para los lapsos de los niveles de calidad subsecuentes (superiores) en la jerarquía, para cada lapso el codificador genera una predicción U al realizar operaciones de sobremuestreo adecuadas, al aprovechar uno o más lapsos del nivel de calidad inferior como "predictores". El objetivo de tales operaciones de sobremuestreo en el lado del codificador es que el codificador simule las operaciones que se realizarán en el lado del decodificador. En particular, al simular las operaciones de predicción, el codificador es capaz de generar subsecuentemente los datos de reconstrucción que necesitará el decodificador con el fin de modificar las predicciones y reconstruir una representación adecuada de la señal.
Los datos de predicción y reconstrucción se generan por el codificador de LOQ por LOQ, que comienza desde el nivel más bajo. En base a la posición en la jerarquía (por ejemplo, nivel de calidad, distancia desde el inicio o el final del grupo, etc.), el codificador procesa diferentes números de lapsos en el nivel de calidad inferior como predictores. Por
ejemplo, en el ejemplo específico no limitativo de la Figura 1E, la predicción U 12(6)
procesar como predictores los lapsos 103-4 y 103-11, la predicción
Figure imgf000014_0001
para el lapso 100-8 se genera al procesar
como predictores los lapsos 101-5, 101-7, 101-9 y 101-12, y la predicción para el lapso 100-1 se genera al procesar como predictores los lapsos 101-1 y 101-3. En particular, en esta modalidad no limitativa y con la excepción de los lapsos cercanos a un borde del grupo ("valla"), los predictores hasta el nivel de calidad LOQ #-1 se eligen como los dos lapsos del nivel inferior con las posiciones de muestreo más cercanas (una menor o igual, una mayor o igual) como el lapso a predecir, y desde el LOQ #-1 al LOQ #0 como los cuatro lapso del nivel inferior con las posiciones de muestreo más cercanas como el lapso a predecir (dos con posiciones de muestreo inferiores o iguales y dos con posiciones de muestreo superiores o iguales). Los predictores a pertenecen a veces a diferentes lotes (vecinos), una característica que permite que el nuevo método reduzca o incluso elimine los artefactos consecuentes de la partición de un grupo en diferentes lotes, esencialmente al " fijar" las particiones artificiales que se crearon durante el submuestreo. Para lapsos que se encuentran cerca de las "vallas" (es decir, el inicio y el final del grupo), se usan menos predictores, debido al hecho de que uno o más predictores tendrían que proceder del grupo precedente o subsecuente, que sin embargo probablemente no esté correlacionado con el grupo actual.
El codificador, con el fin de generar lapsos predichos U, también aprovecha los lapsos que pertenecen a lotes vecinos: esto es efectivamente una modalidad no limitativa del método de reconstrucción que, de nuevo por falta de bibliografía, se define en la presente descripción como "onda de decodificación" (en base al aspecto visual de los posibles patrones de decodificación de un grupo largo codificado como una jerarquía escalonada). Una ventaja de ese nuevo método es que aborda los artefactos de partición precisamente cuando importa, es decir, durante el proceso de sobremuestreo: de hecho, los artefactos de partición que resultan de la necesidad de submuestrear la señal lote por lote no se introducirían durante el submuestreo y/o la mezcla descendente sino durante el sobremuestreo. Considere el LOTE 1 y el LOTE 2 en la Figura 1E: por ejemplo, al centrarse en el dominio del tiempo, el codificador mezcla descendentemente los lapsos 100-7 y 100-8 del lote 1 para producir el lapso 101-7; también mezcla descendentemente los lapsos 100-9 y 100-10 del lote 2 para producir el lapso 101-9. Cualquier fenómeno que se relacione con el tiempo (por ejemplo, la aceleración en la velocidad de un objeto, la aparición/desaparición de un objeto pequeño, etc.) que ocurra entre los lapsos 100-8 y 100-9 es "mal capturado" portal procesamiento de submuestreo. Esto se haría evidente durante la generación de predicciones si también se realizaran operaciones de sobremuestreo temporal (es decir, operaciones de predicción de lapso) - como operaciones de submuestreo - dentro de los límites rígidos de un lote. Por ejemplo, si las operaciones de sobremuestreo que generan el lapso 100-8 en el lado del decodificador solo tuvieran en cuenta el lapso 101-7 y quizás también los lapsos anteriores (por ejemplo, 101-5), las operaciones de predicción no tendrían en cuenta adecuadamente los movimientos/fenómenos que ocurren después del lapso 100-8. Una consecuencia sería una predicción menos precisa y, en consecuencia, una mayor cantidad de entropía de la información de los datos residuales necesarios para modificar la predicción y generar una representación adecuada para 100-8 (y/o artefactos más evidentes). Este problema, sin embargo, se resuelve si durante las operaciones de sobremuestreo del espacio-tiempo, el codificador adopta un núcleo que se extiende más allá de los límites usados en el submuestreo. Como ejemplo no limitativo, el sobremuestreo que se realiza para producir la predicción para 101-7 aprovecha como predictores a 102-6 y 102-11; el sobremuestreo que se realiza para producir la predicción para 100-8 aprovecha como predictores a 101-5, 101-7, 101-9 y 101-12. Esencialmente, el sobremuestreo se realiza al aprovechar también la información de diferentes lotes, lo que genera efectivamente -cuando se decodifican los lapsos subsecuentes a un nivel de calidad alto - una "onda" de sobremuestreo (en donde la decodificación de los LOQ inferiores "anticipa" la decodificación de los LOQ superiores): con el fin de reconstruir una representación predicha para un lapso en una posición de muestreo dada y un LOQ dado, el decodificador (o el decodificador simulado usado durante el proceso de codificación) debe procesar los lapsos en posiciones de muestreo progresivamente mayores para los LOQ progresivamente menores. En la modalidad no limitativa que se ilustra en la Figura 1E, los lapsos predictores pueden pertenecer a lo máximo a un lote vecino, por tanto, limita la "extensión" máxima de la parte inferior de la "onda de decodificación". Son posibles varias modalidades de ejemplo no limitativas de posibles núcleos temporales y secuencias de sobremuestreo, que influyen en las compensaciones entre la latencia de codificación/decodificación, los requisitos de memoria y la eficiencia de compresión.
Ya que las predicciones U se generan mediante el procesamiento de uno o más lapsos de un LOQ inferior que se seleccionan del lote actual, el lote precedente y el lote subsecuente, matemáticamente puede decirse que (para la modalidad no limitativa que se ilustra en la Figura 1E):
Figure imgf000014_0002
en donde/es la función de sobremuestreo.
En particular, esta modalidad no limitativa genera predicciones U al realizar un sobremuestreo de un promedio ponderado de planos de elementos que se generan por la compensación de movimiento de cada lapso predictor con respecto a la posición de muestreo del lapso predicho. Matemáticamente, para el caso de ejemplo no limitativo del lapso 102-6
Figure imgf000015_0001
En la modalidad no limitativa que se ilustra en la Figura 1E, los pesos usados para el promedio ponderado de los predictores se basan en la distancia de las posiciones de muestreo de cada predictor desde la posición de muestreo del lapso predicho (de acuerdo con los pesos del filtrado lineal - para el caso de dos predictores - y del filtrado cúbico, para el caso de cuatro predictores -). Para los casos en los que faltan uno o más predictores (por ejemplo, debido a la cercanía a una valla) o a uno o más elementos en el promedio ponderado se le asigna un valor por defecto (es decir, elemento "No disponible", como resultado de una operación de compensación de movimiento), los pesos de los valores restantes se normalizan a 1, en este caso de ejemplo no limitativo de acuerdo con un método de normalización aditivo (es decir, al sumar a cada peso restante una misma constante). Las operaciones de sobremuestreo - en esta modalidad se realizan junto con las operaciones de compensación de movimiento - aprovechan el filtrado lineal hasta el LOQ #-2 y el filtrado personalizado (es decir, con núcleos especificados al decodificador por el codificador con parámetros codificados adecuados) para los niveles ascendentes, que se combinan con filtrado de desmezcla y el enmascaramiento sin nitidez. El uso de núcleos más grandes para niveles de calidad superiores, tanto en el tiempo como en el espacio (es decir, más predictores y/o núcleos de sobremuestreo más grandes), se calibra con el fin de corresponder a la mayor cantidad de correlación que puede encontrarse en niveles de calidad superiores entre los lapsos vecinos y/o dentro de los elementos vecinos de un mismo lapso frente a la cantidad que puede encontrarse en niveles de calidad inferiores entre los lapsos vecinos y/o dentro de los elementos vecinos de un mismo lapso.
Una vez que se dispone de las predicciones U para un nivel de calidad dado, el codificador calcula los "residuos absolutos" R correspondientes a una diferencia entre cualquier lapso dado y un lapso predicho correspondiente. Esto se expresa mediante la siguiente ecuación:
Figure imgf000015_0002
Para el LOQ inferior (y solo para el LOQ inferior):
u B = o
R3 = X B
los residuos absolutos se transforman y cuantifican adecuadamente por el codificador en residuos transformados Tr(R), con el fin de reducir una métrica de entropía de la información antes de una etapa de codificación de entropía sin pérdidas (en la modalidad que se realiza al particionar los datos en agrupaciones adecuadas - que se llaman "mosaicos" - y al aplicar un codificador aritmético, de acuerdo con parámetros calibrados en base al histograma específico de los datos en cada mosaico). El cálculo de los datos residuales reales a codificar ("residuos transformados") no se limita a un conjunto de operaciones aritméticas sobre los residuos totales, sino que comprende funciones específicas que se destinan a mejorar la eficiencia general de compresión/descompresión del algoritmo de codificación/decodificación (por ejemplo, en esta modalidad no limitativa, descomposición direccional en base al LOQ inferior).
En consecuencia, si h(-) es la función que corresponde a "invertir" (en la medida de lo posible) todas las operaciones que se realizan sobre los residuos absolutos, puede decirse que, para cada lapso de cada LOQ:
Figure imgf000015_0003
En particular, para el LOQ inferior YB = RB.
En esta modalidad no limitativa, para niveles de calidad superiores en la jerarquía, los residuos absolutos se calculan y transmiten en una pluralidad de conjuntos de residuos absolutos, para permitir, incluso para un mismo LOQ, diferentes niveles de compresión y precisión ("nivel de detalle", o "LOD") de una representación Y reconstruida en el lado del decodificador.
Una vez que ha calculado y transformado adecuadamente los datos residuales, el codificador genera conjuntos de datos de reconstrucción codificados correspondientes a dichos datos residuales y a la información descriptiva sobre las operaciones a realizar en el lado del decodificador. En una modalidad no limitativa, dicha información descriptiva comprende información correspondiente al movimiento (que se aprovecha en el lado del decodificador durante las operaciones de compensación de movimiento), información correspondiente a las características de los lapsos de la jerarquía escalonada (en particular, números de id y parámetros clave para cada lapso de cada LOQ de cada lote) e información correspondiente a operaciones de sobremuestreo (en particular, números de id de los lapsos a procesar para generar el lapso predicho para un lapso de un escalón superior, parámetros correspondientes a los pesos a usar, parámetros correspondientes a las operaciones de sobremuestreo - tal como, sin limitación, los núcleos de sobremuestreo, a usar).
Modalidades de ejemplo no limitativas adicionales no cubiertas por la invención reivindicada
La modalidad del codificador que se ilustra en la Figura 1E y descrito anteriormente es solo una de las muchas posibles implementaciones de los nuevos métodos jerárquicos escalonados, y debe considerarse no limitativo.
Esencialmente, durante la codificación la señal se convierte por el procesador de señales en escalones con diferentes niveles de calidad (LOQ #0, LOQ #-1, LOQ #-2, ...), que comienza desde un nivel de calidad original (LOQ #0 ). El número de escalones es arbitrario y puede depender de la aplicación y de la modalidad específica. Una modalidad no limitativa calcula todos los LOQ posibles, por ejemplo, cuando la eficiencia de la compresión es el objetivo de la modalidad. En principio, el LOQ más bajo alcanzable se logra cuando todas las dimensiones de la señal (por ejemplo, el número de lapsos, el número de elementos por cada dimensión de un lapso) logran una resolución igual a 1 elemento. En una modalidad no limitativa, cuando la resolución de tiempo de un lote logra una resolución de 1 (es decir, en ese LOQ y para ese lote de la señal, solo hay un lapso), el submuestreo continúa mediante el submuestreo solo a lo largo de las dimensiones espaciales; el nivel de calidad (LOQ) inferior se logra cuando la primera de las dimensiones espaciales logra una resolución igual a 1. Para moverse de un escalón a otro, puede aplicarse una relación de submuestreo arbitraria a cada una de las dimensiones de la señal. La modalidad no limitativa que se ilustra anteriormente submuestrea la dimensión del tiempo con factores de escala arbitrarios y todas las dimensiones espaciales de los lapsos por un factor de 2 (después de haber aplicado hileras y columnas de encuadre). Sin embargo, otras aplicaciones y modalidades usan también diferentes configuraciones para la generación de escalones de los LOQ, que incluyen diferentes factores de escala para cada dimensión y para cada LOQ. En una modalidad no limitativa, tales factores de escala se conocen tanto por el codificador como por el decodificador. En otra modalidad no limitativa, el codificador envía al decodificador la información correspondiente a los factores de escala específicos y a las operaciones de sobremuestreo a usar en cada caso. En otra modalidad no limitativa, dicha información se codifica de acuerdo con un método basado en la herencia, es decir, un valor por defecto para dicha información en un LOQ dado se calcula por el decodificador en base a la información reconstruida para un LOQ inferior a través de operaciones de herencia adecuadas.
Otras modalidades no limitativas implementan un método similar de jerarquía escalonada, en donde las posiciones de muestreo de los lapsos de los LOQ inferiores se calculan de acuerdo con diferentes operaciones matemáticas. En una modalidad no limitativa, las posiciones de muestreo de los lapsos de los LOQ inferiores incluyen números no enteros.
En otras modalidades no limitativas, el codificador selecciona longitudes de los lotes y operaciones de submuestreo temporal para mantener la tasa de muestreo constante también para los LOQ inferiores (por ejemplo, una modalidad no limitativa aprovecha un método de "relleno de tiempo", al añadir información de relleno cuando el número de lapsos en un lote en un LOQ dado no es un múltiplo del factor de escala para el submuestreo temporal). En otras modalidades no limitativas, en cambio, la tasa de muestreo también es variable para los LOQ más altos de la señal. En otras modalidades no limitativas, el submuestreo temporal se realiza solo más abajo de un LOQ dado, mientras que todos los LOQ por encima de ese LOQ dado tienen la misma tasa de muestreo.
En otras modalidades no limitativas, la combinación de una pluralidad de lapsos de un LOQ dado con el fin de generar un lapso de un LOQ inferior comprende operaciones que son diferentes de las descritas anteriormente, y que se seleccionan de otros métodos adecuados de submuestreo y compensación de movimiento en el arte conocido.
En la modalidad no limitativa descrita anteriormente, las operaciones de submuestreo aprovechan la información de estimación de movimiento con el fin de tener en cuenta adecuadamente el movimiento entre dos o más lapsos a lo largo de la dimensión del tiempo. La razón por la que esto puede ser útil para ciertas señales basadas en el tiempo es que, desde el punto de vista de la teoría de la señal, el muestreo temporal puede encontrarse más abajo del límite de Nyquist. En el ejemplo de las señales de video, 25 / 30 fps es un ejemplo de tasas de muestreo típicas en la actualidad, mientras que varios experimentos demostraron que los observadores humanos pueden percibir fácilmente hasta 300 fps para el tipo de movimientos que típicamente se exhiben en los videos. Esto significa que las señales de video comúnmente muestrean la dimensión del tiempo más abajo del límite de Nyquist. En tales casos, un enfoque específico que se adopta solo a lo largo de la dimensión del tiempo (tal como la estimación de movimiento) reduce los daños que se introducen por un muestreo insuficiente, esencialmente "realineando" los lapsos con el fin de explotar mejor su correlación. La información descriptiva sobre el movimiento se usa para guiar el submuestreo temporal a lo largo de los niveles de calidad escalonados. La estimación de movimiento es una fase opcional que se adopta por el codificador: los movimientos lentos, las tasas de muestreo altas o los movimientos muy complejos son ejemplos no limitativos de cuándo la adopción de la estimación de movimiento y la compensación puede ser menos eficiente o incluso peor que solo generar los LOQ escalonados sin dar ningún " tratamiento preferencial" a la dimensión del tiempo. Para las porciones de la señal en las que las condiciones adecuadas indican que la estimación de movimiento no es útil, el codificador descarta la información de movimiento y procede con un submuestreo simétrico (por ejemplo, en una modalidad no limitativa, un submuestreo trilineal simple).
Otra modalidad no limitativa no introduce hileras y columnas de encuadre en los lapsos de los LOQ inferiores. En otra modalidad no limitativa, la cantidad de encuadre que se introduce se correlaciona con la información de movimiento.
Otras modalidades no limitativas usan diferentes operaciones para el propio submuestreo. En una modalidad no limitativa, el codificador aplica diferentes operaciones de submuestreo (que incluyen operaciones no lineales) para generar los lapsos de un LOQ más bajo y aplica diferentes operaciones de sobremuestreo, que identifican un conjunto de operaciones de submuestreo y operaciones de sobremuestreo que minimiza una métrica de entropía de la información de datos residuales. En una de tales modalidades, el codificador aprovecha un método de filtrado ajustado, que modifica selectivamente ("ajustar") los resultados de una operación de submuestreo lineal y optimiza los ajustes en base a la entropía que resulta de los datos residuales.
En otra modalidad no limitativa, el codificador submuestrea cada lapso del nivel de calidad superior antes de combinarlos en un lapso del nivel de calidad inferior. En otra modalidad no limitativa, el codificador submuestrea cada lapso del nivel de calidad superior, aplica la compensación de movimiento (lo que introduce el encuadre) y combina los resultados en un lapso del nivel de calidad inferior. En otra modalidad no limitativa, las operaciones de submuestreo se realizan junto con operaciones de compensación de movimiento (es decir, durante el proceso de submuestreo, las operaciones de compensación de movimiento producen representaciones de submuestreo de los lapsos con compensación de movimiento).
En otra modalidad no limitativa, cuando los pesos en un promedio ponderado necesitan normalizarse para hacer su suma igual a 1 (por ejemplo, durante los promedios ponderados que incluyen valores "No disponibles", y/o cuando se generan lapsos predichos cercanos al inicio o al final de un grupo), el codificador aplica una normalización multiplicativa (por ejemplo, al multiplicar todos los pesos por una misma constante) en lugar de una normalización aditiva (por ejemplo, al añadir una misma constante a todos los pesos).
En otra modalidad no limitativa, cuando se calculan los lapsos predichos, el codificador primero sobremuestrea cada uno de los lapsos del predictor del nivel de calidad inferior, entonces los compensa por movimiento y entonces combina los resultados. En otra modalidad no limitativa, el codificador primero compensa el movimiento de cada lapso, entonces los combina y finalmente sobremuestrea los resultados. En otra modalidad no limitativa, las operaciones de sobremuestreo se realizan junto con las operaciones de compensación de movimiento (es decir, durante el proceso de sobremuestreo, las operaciones de compensación de movimiento producen representaciones sobremuestreadas de lapsos con compensación de movimiento).
En otra modalidad no limitativa, las operaciones de sobremuestreo se seleccionan de un conjunto que incluye, sin limitación, filtros lineales, filtros cúbicos, filtros Lanczos, filtros bilaterales, filtros vecinos más cercanos.
Más ampliamente, diferentes modalidades usan diferentes operaciones y filtrado en operaciones de sobremuestreo. Las operaciones de sobremuestreo producen una predicción para la configuración de los elementos de los lapsos de la señal en el LOQ superior. En un conjunto de modalidades no limitativas, después del sobremuestreo (es decir, la operación que aumenta la resolución), se realiza una etapa adicional de operaciones de filtrado (tanto en el lado del codificador como en el del decodificador) con el fin de mejorar la calidad de la predicción (por ejemplo, por medio de ejemplos no limitativos, mejorar los bordes nítidos que se han suavizado durante el submuestreo o recuperar los detalles que se han desenfocado durante el submuestreo). Una modalidad de ejemplo no limitativo para esta etapa se describe en solicitudes de patentes previas de los mismos autores y se denomina operación de "desmezcla". Otro ejemplo no limitativo es aprovechar una operación de enmascaramiento sin nitidez. En otras modalidades no limitativas, las operaciones de sobremuestreo incluyen operaciones no lineales en cascada (por ejemplo, secuencias adecuadas de operaciones que se seleccionan de una lista que incluye, sin limitación, filtros lineales, filtros cúbicos, filtros de desmezcla, filtros de enmascaramiento sin nitidez, filtros bilaterales, filtros fractales, filtros de vecinos más cercanos, etc.), o como se especifica mediante parámetros adecuados o de acuerdo con una secuencia por defecto predeterminada conocida tanto por el codificador como por el decodificador. En otra modalidad no limitativa, el codificador envía parámetros de sobremuestreo al decodificador, en donde tales parámetros corresponden a las operaciones de sobremuestreo específicas a usar.
En otra modalidad no limitativa, las operaciones de compensación de movimiento se realizan junto con las operaciones de sobremuestreo. En otras modalidades no limitativas, las operaciones de compensación de movimiento aprovechan las operaciones en coma flotante, que incluyen las transformaciones que dan cuenta de movimientos complejos tales como el zoom, la rotación, el desplazamiento y/o el cambio de perspectiva. En una de tales modalidades, las operaciones de compensación de movimiento incluyen transformar un conjunto de coordenadas en coordenadas homogéneas, realizar una multiplicación en coma flotante de dichas coordenadas homogéneas por una matriz adecuada y la renormalización del vector resultante en coordenadas homogéneas. En otra modalidad no limitativa, cuando se combinan diferentes lapsos de un nivel de calidad inferior en un lapso de un nivel de calidad superior, el codificador los combina a través de operaciones de promedio ponderado donde los pesos dependen de la distancia de las posiciones de muestreo, en base a un núcleo lineal. En otra modalidad no limitativa, tales pesos dependen de la distancia de las posiciones de muestreo, en base a un núcleo cúbico. En otras modalidades no limitativas, se adoptan aún otros núcleos. En otra modalidad no limitativa, dichos pesos se generan al menos en parte sobre la información de movimiento (al tener en cuenta el hecho de que, si ha tenido lugar un movimiento sustancial, la cantidad de información correlacionada en un lapso diferente será relativamente menor). En otra modalidad no limitativa, dichos parámetros de peso se generan al menos en parte sobre parámetros correspondientes a las características de cada uno de los lapsos (por ejemplo, para dar cuenta adecuadamente de los lapsos que se encuentran relativamente fuera de foco, etc.). En otra modalidad no limitativa, dichos pesos se calculan por el codificador con el fin de reducir una cantidad de entropía de los datos residuales, y se envían al decodificador a través de la información descriptiva correspondiente.
En otras modalidades no limitativas, el número de predictores que se procesan con el fin de generar un lapso predicho a un nivel de calidad superior es arbitrario y se envía al decodificador con la información descriptiva. En una de dichas modalidades no limitativas, el codificador optimiza el número de predictores y parámetros de pesos que se aprovechan para generar cada lapso predicho a través de un método iterativo que se destina a optimizar una métrica de entropía de la información adecuada para los datos de reconstrucción y/o una métrica de calidad adecuada para las representaciones reconstruidas.
En otra modalidad no limitativa, los valores por defecto para el número de predictores que se procesan incluyen filtrado temporal lineal (es decir, uno o dos lapsos de predictor) hasta un LOQ dado y filtrado temporal cúbico (es decir, hasta cuatro lapsos de predictor) desde un LOQ dado hasta el LOQ superior. En otra modalidad no limitativa, para uno o más lapsos de un LOQ dado de un lote dado, los lapsos predictores del LOQ inferior pertenecen no solo al lote dado y a un lote vecino, sino también al lote subsecuente al lote vecino (es decir, el conjunto de predictores para un lapso dado también puede provenir de tres lotes, no solo de dos como en la modalidad no limitativa descrita anteriormente).
En otras modalidades no limitativas, el codificador asigna marcadores de sincronización adecuados a conjuntos de datos de reconstrucción codificados, lo que permite a un procesador de señales crear un flujo de datos y/o un archivo que comprende solo conjuntos específicos de datos de reconstrucción codificados en una secuencia específica, lo que permite la reconstrucción de lapsos específicos en una secuencia de decodificación específica.
En otras modalidades no limitativas, cuando se generan datos codificados, el codificador introduce bits aleatorios de relleno antes de uno o más marcadores de sincronización; subsecuentemente, el codificador encripta la información del encabezado y/o la información del marcador de sincronización de acuerdo con un método de encriptación adecuado.
En otras modalidades no limitativas, el codificador procesa residuos de cada uno de los LOQ y genera residuos transformados de acuerdo con métodos de "descomposición direccional" a lo largo de la dimensión espacial (sustancialmente al agrupar conjuntos de residuos vecinos para un mismo lapso y codificar un parámetro correspondiente a la diferencia entre su valor promedio y su valor promedio predicho, un parámetro correspondiente a su inclinación horizontal, un parámetro correspondiente a su inclinación vertical, un parámetro correspondiente a su inclinación diagonal, y cuantificar cada parámetro por medio de métodos de cuantificación adecuados) y/o métodos de "descomposición temporal" a lo largo de la dimensión temporal (esencialmente, agrupar los conjuntos correspondientes de residuos que pertenecen a diferentes lapsos subsecuentes de un mismo LOQ que se controla por un mismo lapso en un LOQ inferior y codificar un parámetro correspondiente a su promedio y parámetros correspondientes a las inclinaciones temporales). En otras modalidades no limitativas, para cada uno de los lotes, el codificador procesa residuos absolutos de cada uno de los LOQ, lo que genera un conjunto de residuos de elementos de soporte (por falta de bibliografía se define como "plano de soporte" para un LOQ dado de un lote dado); el codificador genera entonces conjuntos de residuos relativos, correspondientes a una diferencia entre los residuos absolutos y los residuos del elemento de soporte. Esto se describe con más detalle con referencia a la Figura 3.
En otras modalidades no limitativas, el codificador procede a la cuantificación y codificación de los residuos absolutos sin transformar los residuos.
En otra modalidad no limitativa, el codificador cuantifica los residuos de acuerdo con esquemas de cuantificación que son específicos para cada conjunto de residuos, y envía al decodificador la información descriptiva correspondiente a los métodos de descuantificación que deben usarse. En una modalidad no limitativa, los esquemas de cuantificación disponibles comprenden, sin limitación, esquemas con diferentes zonas muertas y una etapa de cuantificación constante (para los cuales el codificador especifica parámetros correspondientes a la zona muerta y/o la longitud de la etapa de cuantificación), esquemas con diferentes zonas muertas y etapas de cuantificación variables (para los que el codificador especifica los parámetros correspondientes a la zona muerta y/o una función que permite calcular todas las etapas de cuantificación), esquemas con cuantificación en diferentes espacios de color (por ejemplo, por medio de un ejemplo no limitativo, espacios no lineales tal como el espacio gamma), etc. En otra modalidad no limitativa, la descuantificación para niveles específicos de calidad (por ejemplo, el nivel de calidad superior) comprende además métodos de reconstrucción estadística (por ejemplo, tramado, descuantificación estadística, reconstrucción y combinación de una capa transitoria, etc.), para representar mejor que los residuos originales antes de la cuantificación se distribuyeron a lo largo de los intervalos de cuantificación.
En otras modalidades no limitativas, ya que las decisiones de cuantificación afectan las decisiones tomadas previamente en términos de optimización global de la tasa de bits (que incluye la decisión de la longitud del lote dentro de un grupo), el codificador realiza lazos con el fin de lograr esencialmente la optimización global. En una modalidad no limitativa, los cambios en los umbrales de cuantificación también afectan al cálculo residual y a las transformaciones (por ejemplo, la generación de elementos de soporte/cadenas de soporte).
En otras modalidades no limitativas, el codificador genera diferentes conjuntos de residuos y asigna un parámetro descriptivo a cada conjunto, dicho parámetro corresponde a un nivel de importancia del correspondiente conjunto de residuos con el fin de reconstruir una representación de la señal con alta calidad percibida (por ejemplo, una modalidad no limitativa asigna un mayor número de bits - por ejemplo, etapas de cuantificación más finos - a los residuos más importantes y un menor número de bits - por ejemplo, etapas de cuantificación más gruesas - a los residuos menos importantes).
En otras modalidades no limitativas, los residuos se codifican de acuerdo con un método basado en herencia, por ejemplo, mediante la predicción ("herencia") en base a los datos residuales a un nivel de calidad inferior, lo que permite la "finalización" de los residuos que se controlan a un LOQ superior por medio de la información residual adecuada en un LOQ inferior (por ejemplo, porciones de la señal reconstruida donde el codificador define a un LOQ inferior que los datos residuales para esa porción de la señal en todos los LOQ subsecuentes serán iguales a cero, es decir, que las predicciones serán suficientemente precisas sin requerir transmitir enmiendas).
En otras modalidades no limitativas, la codificación de entropía de residuos aprovecha una combinación de métodos que comprende al menos uno de los siguientes métodos: Codificación Huffman, codificación de longitud de ejecución, codificación aritmética.
En otras modalidades no limitativas, los LOQ inferiores de la señal y/o la información del marcador de sincronización se encriptan por medio de métodos de encriptación adecuados. De esta manera, a pesar de la potencia de procesamiento relativamente limitada necesaria en un decodificador para encriptar/desencriptar una porción relativamente pequeña del flujo de datos, y aun así la transmisión de datos de la señal es muy segura, ya que no hay una correlación evidente entre porciones específicas del flujo de datos y porciones específicas de la señal. En otra modalidad no limitativa, los LOQ inferiores se protegen al aprovechar las técnicas de redundancia adecuadas, para garantizar que, incluso en presencia de un canal de comunicación muy ruidoso, el decodificador será capaz de reconstruir adecuadamente una representación de la señal al menos en un nivel de calidad bajo.
Los métodos descritos en la presente descripción también pueden aplicarse en un entorno de baja latencia, tal como, por ejemplo, la videoconferencia. En una modalidad no limitativa, el codificador genera una "jerarquía móvil" de lapsos, que predice nuevos lapsos a un LOQ dado para reconstruirse en base solo a los lapsos de los LOQ inferiores con posiciones de muestreo inferiores (es decir, precedentes en el tiempo). En otra modalidad no limitativa de baja latencia, los residuos para un lapso dado se transforman en base a la información de residuos de los lapsos precedentes del mismo nivel de calidad.
Ejemplo de descripción de una modalidad del decodificador
Un procesador de señales que se configura como un decodificador (de ahora en adelante "el decodificador") recibe los conjuntos de datos de reconstrucción y reconstruye una representación de la señal original.
Ya que, como se mencionó, el codificador simula las operaciones que se realizan en el lado del decodificador con el fin de generar los datos de reconstrucción adecuados, la Figura 1E también ilustra la secuencia de productos intermedios y productos finales que se generan por un decodificador.
La secuencia de operaciones de reconstrucción que se realizan por un decodificador que aprovecha un método jerárquico escalonado puede seguir varios patrones diferentes, en base al número de predictores de un LOQ inferior que se aprovechan para producir una predicción de un lapso en un LOQ superior.
Para la modalidad no limitativa descrita en la presente descripción, el decodificador recibe los datos codificados para todo un lote (es decir, se necesita al menos un lote de retardo en el lado del decodificador para comenzar el proceso de reconstrucción). Dichos datos codificados comprenden los datos correspondientes a la información descriptiva y los datos correspondientes a los conjuntos de datos de reconstrucción.
El decodificador comienza mediante la recepción/recuperación de un flujo de datos y la búsqueda/análisis de los metadatos del marcador de sincronización con el fin de identificar qué lapsos (potencialmente también de un lote precedente, si el lote que se recibe no es el primero de su grupo) pueden reconstruirse por medio de los datos codificados disponibles, así como también el lapso correcto en el LOQ correcto con el fin de comenzar el proceso de decodificación. Entonces, el decodificador realiza la decodificación de entropía con el fin de generar la información correspondiente a una representación del LOQ más bajo del lote.
Al comenzar desde los lapsos del LOQ más bajo, el decodificador realiza las mismas operaciones que fueron simuladas por el codificador con el fin de generar los datos de reconstrucción. En particular, el decodificador - LOQ por LOQ - procesa lapsos de un LOQ inferior con el fin de generar lapsos predichos para un LOQ superior, decodifica los datos de reconstrucción (descuantificación y destransformación de los residuos transformados que se reciben) para generar las representaciones de los residuos absolutos y finalmente combina los lapsos predichos y los residuos absolutos correspondientes, que reconstruyen las representaciones Y para los lapsos que pueden reconstruirse en base a los lapsos predictores disponibles a un LOQ inferior y los datos codificados disponibles. Como se describió anteriormente, las predicciones para los lapsos de un lote dado también pueden aprovechar los lapsos del predictor de los lotes vecinos, lo que implementa efectivamente un método de "onda de decodificación".
Matemáticamente:
y b = r b
Y = U h(Tr(R)) = U R
ttK _ fíyK-^ yK - 1 yK-\ \
u L ~ J VL-l 5 l L ’ JL+1 /
En particular, consistentemente con lo que se describió para la modalidad del codificador, también la modalidad del decodificador genera predicciones U al realizar un sobremuestreo de un promedio ponderado de planos de elementos que se generan por compensación de movimiento de cada lapso del predictor con respecto a la posición de muestreo del lapso predicho. Las mismas peculiaridades de tales operaciones descritas para una modalidad del codificador (por ejemplo, la normalización de los pesos, valor por defecto "No disponible", etc.) también se aplican a una modalidad del decodificador.
Matemáticamente, para el caso de ejemplo no limitativo del lapso 102-6:
U '2 (6) = Up[c ■ M c {y; 2 (4) )+ d ■ MC(y; 2 (11)))
Figure imgf000020_0001
Como se muestra en la fórmula, el decodificador debe, por ejemplo, esperar a recibir los datos codificados con relación al lote 2 antes de ser capaz de reconstruir el lapso 102-6, ya que, como se muestra por las fórmulas anteriores, la predicción para el lapso 102-6 también se basa en la representación que se reconstruye del lapso 103-11.
Una vez que se reconstruyen los lapsos de un LOQ adecuado, el decodificador genera los datos para presentarlos a un dispositivo de visualización y transmite dichos datos a un dispositivo de visualización. En una modalidad no limitativa, cuando el decodificador necesita visualizar un LOQ inferior al LOQ superior, con el fin de tener en cuenta las duraciones potencialmente diferentes de cada lapso, crea una señal con la misma tasa de muestreo que la original (es decir, el LOQ superior), al crear para cada lapso tantas réplicas como su duración de tiempo, que comienza desde la posición de tiempo que se indica por su número de imagen.
En una modalidad no limitativa, el decodificador recibe información descriptiva sobre la estructura del lote, que incluye los números de ID de los lapsos que se encuentran presentes en cada nivel de calidad, la duración de tiempo de cada lapso, los números de ID del(de los) lapso(s) predictor (es) al nivel de calidad inferior a usar para generar cada predicción y los parámetros a usar durante las operaciones que se realizan para generar cada predicción. En otra modalidad no limitativa, uno o más lapsos del predictor de un nivel de calidad inferior - dichos lapsos se procesan para generar la predicción para un lapso dado en un nivel de calidad superior de un lote dado - también pueden pertenecer a un lote vecino.
En una modalidad no limitativa, el decodificador puede detener las operaciones de decodificación en los diferentes LOQ para diferentes lapsos, por ejemplo, en dependencia de los datos codificados que se recibieron (por ejemplo, debido a las congestiones de ancho de banda) y/o en las restricciones de decodificación en tiempo real y/o en otras restricciones (por ejemplo, minimizar el consumo de energía de procesamiento, minimizar el consumo de energía, minimizar el ancho de banda que se absorbe, maximizar la velocidad de reproducción, etc.).
En otra modalidad no limitativa, en base a los parámetros adecuados y/o comandos de interfaz del usuario, el decodificador puede decodificar solo las porciones que se seleccionan de cada lapso, lo que implementa efectivamente una funcionalidad de zoom. En una modalidad no limitativa, los conjuntos de datos residuales para un LOQ dado se particionan en agrupaciones ("mosaicos"), cada uno de los mosaicos corresponde sustancialmente a los datos residuales que se procesan por un decodificador con el fin de reconstruir una porción dada (por ejemplo, una porción espacial) de la señal en un lOq dado. A partir de un nivel de calidad hacia arriba, el decodificador recibe solo mosaicos específicos para una secuencia de uno o más lapsos y, en consecuencia, reconstruye en el nivel de calidad dado solo porciones espaciales específicas de dichos lapsos, lo que envía solo una porción espacial de la señal al dispositivo de visualización. Debe señalarse que las operaciones de reconstrucción (por ejemplo, las operaciones de predicción, etc.) todavía aprovechan elementos de la señal en un LOQ inferior más allá de los límites de las porciones que se reconstruyen. En otras palabras, en tales modalidades no limitativas, el decodificador recibe datos de reconstrucción correspondientes solo a porciones espaciales específicas ("mosaicos") de los conjuntos de residuos reconstruidos que serían necesarios para reconstruir la señal completa en el LOQ dado. En consecuencia, el decodificador reconstruye solo una secuencia de porciones de los conjuntos de residuos reconstruidos y, por lo tanto, reconstruye una representación de la señal en el LOQ dado solo para una porción de la señal.
En una modalidad, una señal de alta resolución se almacena de acuerdo con un método basado en escalones. Un decodificador que se conecta a un dispositivo de visualización con una resolución de pantalla relativamente baja solicita a un procesador de señales una representación de la señal y recibe un flujo de datos que consta de datos codificados que permiten al decodificador reconstruir la señal hasta un primer nivel de calidad, dicho primer nivel de calidad es inferior al nivel de calidad más alto disponible para la señal. En respuesta a una entrada (por ejemplo, una entrada de la interfaz del usuario), el decodificador solicita al procesador de señales una representación de mayor calidad de una porción espacial específica de la señal. El decodificador recibe un flujo de datos que consiste de datos codificados que permiten al decodificador reconstruir solo una porción espacial específica ("mosaico") de la señal de acuerdo con un segundo nivel de calidad, en donde dicho segundo nivel de calidad es superior al primer nivel de calidad. De esta manera, el decodificador implementa funcionalidades de zoom eficientes, al recibir y decodificar sustancialmente solo las porciones de la señal que se van a visualizar (y, por tanto, minimizar el ancho de banda que se consume y la potencia de procesamiento necesaria para decodificar la señal).
Los expertos en el arte entenderán que todas las diferentes modalidades de ejemplo que se ilustran cuando se describen variaciones en la modalidad del codificador corresponden directamente a variaciones en la modalidad del decodificador.
Las modalidades que se ilustran en la Figura 1E se centran en el caso de ejemplo de las señales de video, pero los mismos enfoques son fácilmente aplicables a dominios muy diferentes, así como también a tipos de señales muy diferentes. En particular, los métodos que se ilustran en la presente descripción son adecuados para cualquier tipo de señales multidimensionales (que incluyen sin limitación las señales de sonido, las señales de sonido multicanal, las imágenes, las imágenes bidimensionales, las señales de vídeo, las señales de vídeo multivistas, las señales de vídeo 3D, las señales plenópticas, las señales multiespectrales, las señales volumétricas, las señales de vídeo volumétricas, las señales de imágenes médicas, las señales con más de cuatro dimensiones, etc.). Sin embargo, la invención reivindicada se limita a las señales de vídeo.
Por ejemplo, una modalidad no limitativa codifica y decodifica las señales de vídeo 3D de acuerdo con un método jerárquico escalonado, en donde el codificador genera las correspondientes jerarquías escalonadas para los dos canales de vídeo. Los conjuntos de información descriptiva sobre el movimiento para los correspondientes lapsos de los dos canales de video también se codifican de acuerdo con los datos del elemento de soporte y los datos residuales para los correspondientes lapsos de los dos canales de video se codifican de acuerdo con un conjunto de datos residuales del elemento de soporte (al aplicar esencialmente el método del "plano de soporte" también a través de los canales, la compensación de movimiento de los datos residuales del elemento de soporte a través de los dos canales de acuerdo con la información descriptiva adecuada).
Otra modalidad no cubierta por la invención reivindicada codifica y decodifica las señales de audio multicanal de acuerdo con un método jerárquico escalonado, en donde los lapsos de cada uno de los canales se representan como conjuntos de elementos (en una modalidad no limitativa, un valor de amplitud promedio y un valor de tono promedio para el lapso), y los datos residuales para los lapsos correspondientes de los diferentes canales de audio se codifican de acuerdo con un conjunto de datos residuales del elemento de soporte, "compensación de movimiento" (es decir, aplicar las operaciones que corresponden esencialmente a la realineación de lapsos correlacionados) los datos residuales del elemento de soporte a través de canales de audio de acuerdo con la información descriptiva adecuada (por tanto, tiene en cuenta las diferentes posiciones de tiempo de un mismo sonido en diferentes canales -esencialmente en base a la posición 3D de la fuente de sonido frente al micrófono).
Otra modalidad no limitativa codifica y decodifica vastos datos volumétricos, al aplicar los mismos métodos que se ilustran para la dimensión del tiempo de las señales de video (por ejemplo, la partición en lotes, la onda de decodificación, los mosaicos de datos residuales, los planos de soporte, etc.) a una más de las dimensiones de la señal.
Otra modalidad no limitativa codifica y decodifica el video volumétrico, al aplicar los mismos métodos que se ilustran para secuencias de lapsos bidimensionales a secuencias de lapsos tridimensionales.
Los métodos de jerarquía escalonados descritos hasta ahora son per se o sin pérdida o con pérdida. Pueden usarse modalidades de ejemplo no limitativas con el fin de codificar, transmitir y decodificar eficientemente las señales digitales. Sin embargo, en otras modalidades no limitativas, los objetivos del codificador son diferentes de la eficiencia de la compresión y comprenden, sin limitación, la decodificación multiescala, la transmisión adaptativa, los objetivos de procesamiento de la señal tales como la eliminación de ruido, la mejora de señales, la reducción de artefactos, el desentrelazado, el aumento de la resolución ("superresolución"), la medición de la calidad de una representación, la identificación de contenido, la visión artificial, la encriptación de la señal (por ejemplo, las comunicaciones seguras), etc. Por ejemplo, el enfoque jerárquico espacio-tiempo conjunto es capaz de separar de los componentes del núcleo de la señal la mayoría de los artefactos molestos procedentes de los fenómenos que se relacionan con el tiempo ("información transitoria", que incluye el ruido, el grano de la película, la información transitoria real de una escena -que puede ser altamente entrópica pero relativamente poco importante para un observador humano -, etc.). También pueden identificarse y eliminarse artefactos de timbre y artefactos de bloque (o separarse del núcleo de la señal) por medio de modalidades no limitativas que aprovechan los métodos descritos en la presente descripción. En una modalidad no limitativa, el Y que se reconstruye a un nivel de calidad adecuado se codifica además con otros métodos, en configuraciones específicas también junto con metadatos adecuados (por ejemplo, las propiedades estadísticas de parámetros de la información transitoria).
La Figura 1F es un diagrama de ejemplo que ilustra además la modalidad del codificador descrita en la Figura 1E.
El procesador de señales que implementa el codificador recibe la secuencia 100 (X0) de N lapsos en el LOQ #0. En el caso de ejemplo particular del grupo 1 de la Figura 1A, el codificador recibe la secuencia de 13 lapsos 100-1, 100-2, 100-3, .., 100-13.
El codificador también recibe información descriptiva sobre el movimiento de los objetos a través de los lapsos de la señal (no se ilustra en la Figura con el fin de preservar la legibilidad; en esta modalidad, dicha información descriptiva sobre el movimiento se recibe y procesa por todos los bloques aparte de los bloques de la calculadora de residuos).
El submuestreo 110-0 submuestrea la secuencia 100, lo que genera la secuencia 101 (X'1) en el LOQ #-1. Matemáticamente, de nuevo se llama X f (t) al lapso del LOQ K, el lote L y la posición de muestreo t. En la modalidad no limitativa, cada uno de los lapsos 101-t se obtiene mediante el submuestreo de la combinación de una pluralidad de lapsos correspondientes al nivel de calidad superior. Más específicamente, los lapsos del nivel de calidad superior se combinan al realizar un promedio ponderado de sus representaciones con compensación de movimiento, en donde la compensación de movimiento se realiza en base a (es decir, con relación a) la posición de muestreo del lapso resultante en el nivel de calidad inferior. Por ejemplo:
X ~ l (1) = bajar (a ■ M c { x ¡ ( ! ) ) & • M c { x ¡ (2 )))
Tal proceso de submuestreo se repite por el codificador hasta que se genera(n) el(los) lapso(s) 100+B del nivel de calidad inferior del LOQ #B.
Una vez que el codificador ha generado la representación XB en el LOQ #B más bajo, el codificador comienza la generación de datos codificados que pueden permitir a un decodificador reconstruir las representaciones adecuadas
de la jerarquía escalonada, en donde y ; : (n es la interpretación que se reconstruye de cada lapso
Mientras que, para la fase de submuestreo del proceso, el codificador podría haber operado al procesar solo la secuencia de lapsos en el LOQ #0 de un único lote (por ejemplo, lote 1), para la fase de "decodificación simulada y cálculo de datos de reconstrucción" el codificador requiere todos de los datos que son necesarios para generar predicciones, y en consecuencia también los datos pertenecientes al lote subsecuente. Ya que, en principio, esto podría generar largos retardos de codificación y/o complejidad computacional, la modalidad no limitativa que se ilustra limita la posibilidad de tener predictores de lotes vecinos solo al lote inmediatamente subsecuente. De esta manera, con el fin de codificar con éxito el lote 1 de la señal, el codificador "solo" necesita recibir la secuencia original de los lapsos en el LOQ #0 para el lote 1 y el lote 2.
Para uno o más lapsos en el nivel inferior, y solo para esos, el codificador calcula directamente el residual a través de la calculadora de residuos 120+B que asume U = 0, y genera los datos de reconstrucción 180+B.
El codificador simula entonces las operaciones de decodificación que se realizarán en el lado del decodificador a través del decodificador simulado 190+B, lo que genera la representación 1000-B (YB). Esto se expresa matemáticamente como sigue:
Figure imgf000022_0001
donde h() es la función que "invierte" (al menos en la medida de lo posible) las operaciones Tr() que se realizan por el codificador en XB (por ejemplo, por medio de un ejemplo no limitativo, la transformación de descomposición seguida por la cuantificación). En base a la idoneidad de la representación YB(de acuerdo con una métrica de calidad adecuada) y en la entropía de la información de los datos de reconstrucción 180+B (de acuerdo con una métrica de entropía de la información adecuada), el codificador decide si proceder con el siguiente nivel de calidad o iterar la generación de los datos de reconstrucción 180 B de acuerdo con diferentes operaciones y parámetros.
Para los lapsos de los niveles de calidad subsecuentes (superiores) en la jerarquía, para cada lapso el codificador genera (a través de los decodificadores simulados 190+B, ..., 191, 190) predicciones U. En particular, los bloques de decodificadores simulados realizan las operaciones de sobremuestreo adecuadas, al aprovechar uno o más lapsos del nivel de calidad inferior como "predictores".
Al simular las operaciones de predicción, el codificador es capaz de generar subsecuentemente los datos residuales que necesitará el decodificador con el fin de modificar las predicciones y reconstruir una representación adecuada de la señal. Por ejemplo, al comparar la representación 101 (X-1) con la predicción 111 (U-1), la calculadora de residuos 121 genera los residuos absolutos 131 (R-1). Los residuos absolutos 131 se procesan adicionalmente por el generador de datos de reconstrucción 171, que calcula los datos residuales 181. El decodificador simulado 181 procesa los datos de reconstrucción 181, que genera la representación 1001 (Y-1). De nuevo, en base a la idoneidad de la rendición 1001 de acuerdo con una métrica de calidad y en base a la idoneidad de la entropía de la información de los datos de reconstrucción 181 de acuerdo con una métrica de entropía de la información, el decodificador decide si procede con el siguiente nivel de calidad (superior), calcular las predicciones 110 (U0), o iterar la generación de los datos de reconstrucción 181 de acuerdo con diferentes operaciones y parámetros.
Cuando se han generado todos los datos de reconstrucción, el codificador procede con la etapa de codificación de entropía, lo que genera conjuntos de datos codificados y metadatos adecuados (por ejemplo, encabezados, marcadores de sincronización, etc.).
La Figura 1G es un diagrama de ejemplo que ilustra además la modalidad del decodificador descrita en la Figura 1E.
El procesador de señales que se configura como un decodificador recibe los datos de reconstrucción e información descriptiva que permite reconstruir un conjunto de lapsos 1000 al más alto nivel de calidad. De nuevo, con el fin de facilitar la legibilidad, la figura no muestra explícitamente la información descriptiva que se recibe sobre el movimiento, que en esta modalidad no limitativa se recibe y procesa por todos los bloques aparte de los bloques reconstructores 1090, 1091, ..., 1090+B.
Al comenzar desde el nivel de calidad inferior y proceder LOQ por LOQ, el decodificador realiza las mismas operaciones que fueron simuladas por el codificador con el fin de generar los datos de reconstrucción. En particular, el decodificador procesa los datos de reconstrucción 180+B (es decir, los datos de reconstrucción para el nivel inferior) a través del decodificador de residuos 1020+B, lo que genera residuos estimados 1030+B. Dichos residuos estimados 1030+B se combinan con la predicción por defecto 110+B (UB=0), lo que genera uno o más lapsos 1000+B (YB) en el nivel de calidad inferior. La representación 1000+B (YB) se procesa entonces por la calculadora de predicción 1010+B, lo que genera la predicción 110+B+1 (Ub+1). El decodificador procede entonces - LOQ por LOQ, hasta los lapsos del nivel de calidad superior que puede reconstruirse en base a los datos disponibles - en el proceso de generar lapsos predichos de un lOq superior, la decodificación de los datos de reconstrucción para generar representaciones de los residuos absolutos y la combinación de los lapsos predichos y los correspondientes residuos absolutos, por lo tanto, se reconstruyen las representaciones Y en el nivel de calidad superior.
En otras modalidades no limitativas, con el fin de hacer frente a circunstancias específicas (por ejemplo, latencia de decodificación, memoria de decodificación disponible, etc.), el decodificador, en lugar de realizar el proceso de reconstrucción LOQ por LOQ, reconstruye un lapso dado de un nivel de calidad superior tan pronto como recibe los datos codificados necesarios y tan pronto como acaba de reconstruir los lapsos del nivel de calidad inferior que son necesarios para generar la predicción para el lapso dado. De esta manera, en lugar de proceder "escalón por escalón", el proceso de reconstrucción sigue moviéndose hacia arriba y hacia abajo a través de diversos niveles de calidad.
De acuerdo con la invención reivindicada, los decodificadores de residuos 1020+B, 1021, 1020 generan residuos absolutos estimados 1030+B, ..., 1031, 1030 al decodificar también la información de soporte adecuada para los residuos ("planos de soporte"), en donde un mismo plano de soporte se aprovecha para generar residuos absolutos para una pluralidad de lapsos de un LOQ dado. En otras modalidades no limitativas, los residuos absolutos se calculan al aplicar también transformadas de descomposición inversa (por ejemplo, que comprenden, sin limitación, la descomposición direccional inversa y/o la descomposición temporal inversa).
En otras modalidades no limitativas, el decodificador descuantifica los residuos de acuerdo con los esquemas de cuantificación que son específicos para cada conjunto de residuos, en base al menos en parte en la información descriptiva que se recibe correspondiente a los métodos de descuantificación que deben usarse. En una modalidad no limitativa, los esquemas de cuantificación disponibles comprenden, sin limitación, esquemas con diferentes zonas muertas y una etapa de cuantificación constante (para los que el codificador especifica los parámetros correspondientes a la zona muerta y/o la longitud de la etapa de cuantificación), los esquemas con diferentes zonas muertas y etapas de cuantificación variables (para los que el codificador especifica los parámetros correspondientes a la zona muerta y/o una función que permite calcular todas las etapas de cuantificación), los esquemas con cuantificación en diferentes espacios de color (por ejemplo, por medio de ejemplo no limitativo, espacios no lineales tal como el espacio gamma), en otras modalidades no limitativas, la descuantificación de los residuos para niveles de calidad específicos (por ejemplo, el nivel de calidad superior) comprende además métodos de reconstrucción estadística (por ejemplo, tramado, descuantificación estadística, reconstrucción y combinación de un capa transitoria, etc.), para representar mejor que los residuos originales antes de la cuantificación se distribuyeron a lo largo de los intervalos de cuantificación.
En una modalidad no limitativa, el decodificador recibe información descriptiva correspondiente a la estructura de la jerarquía (por ejemplo, características de cada lapso de cada LOQ, etc.), lo que le permite calcular qué lapsos pueden generarse dados los datos de reconstrucción disponibles.
En una modalidad no cubierta por la invención reivindicada, las calculadoras de predicción 1010+B, ..., 1011 y 1010 seleccionan los lapsos predictores para un lapso dado y aplican las operaciones de sobremuestreo de acuerdo con los parámetros por defecto conocidos tanto por el codificador como por el decodificador. En una modalidad, las operaciones de sobremuestreo por defecto incluyen, sin limitación, el filtrado lineal hasta un LOQ dado y el filtrado cúbico para los LOQ superiores. De acuerdo con la invención, el decodificador recibe las información descriptiva correspondiente a las operaciones y parámetros a usar durante las operaciones de sobremuestreo (por ejemplo, sin limitaciones, los núcleos de sobremuestreo, los parámetros para las operaciones de procesamiento de imágenes, etc.).
La Figura 1H es un diagrama de ejemplo que ilustra además una modalidad no limitativa del método de cálculo de predicción. La calculadora de predicción 1010+K recibe representaciones de los lapsos del predictor Yk(t-i), ..., Yk(tn), pertenecientes a los lotes Li, ..., Ln. La calculadora de predicción 1010+K también recibe información sobre el movimiento de cada lapso del predictor, así como también sus posiciones de muestreo.
Los compensadores de movimiento 10010-1,..., 10010-n generan un conjunto de representaciones con compensación de movimiento MC(Yk), al realizar las operaciones de compensación de movimiento con respecto a la posición de muestreo tü. Finalmente, el generador de predicción 10020 combina las representaciones con compensación de movimiento de los lapsos del predictor, lo que genera una predicción sobremuestreada Uk+1(t0) a un nivel de calidad superior.
En otras modalidades no limitativas, las operaciones de sobremuestreo se realizan junto con las operaciones de compensación de movimiento, para que el generador de predicción 10020 combine las representaciones con compensación de movimiento que se sobremuestrean en el nivel de calidad K+1. En aún otras modalidades no limitativas, las representaciones de los lapsos del predictor Yk(t1), ..., Yk(tn) se sobremuestrean a lo largo de las dimensiones espaciales antes de compensar el movimiento.
La Figura 2A, 2B, 2C y 2D son diagramas de ejemplo que ilustran diferentes modalidades no limitativas que implementan la combinación (es decir, de acuerdo con lo que se ilustra en la Figura 1B, 1C e ID, o la agregación o la mezcla descendente) de dos planos bidimensionales de elementos. Para simplificar, todas las cuatro Figuras ilustran visualmente solo el submuestreo en el dominio del tiempo, mientras que, de hecho, muestran la mezcla descendente de dos lapsos 100-1 y 100-2 de un LOQ superior en un único lapso de un LOQ inferior. Sin embargo, las mismas consideraciones que se ilustran para la mezcla descendente también son válidas para la agregación dentro de un mismo LOQ.
Las cuatro figuras, que se centran en el caso de ejemplo del lapso de mezcla descendente 100-1 y 100-2 para generar un lapso submuestreado del LOQ #-1 (por ejemplo, 101-1), también ilustran los efectos de aplicar diferentes enfoques de compensación de movimiento (y en particular, también los nuevos métodos que, por falta de bibliografía, se define como "compensación de movimiento equilibrado no simétrico"). Matemáticamente, todas las tres modalidades de ejemplo aplican la siguiente fórmula, aunque con diferentes operaciones de compensación de movimiento:
Figure imgf000024_0001
Las operaciones de compensación de movimiento se realizan con relación a la posición de muestreo del lapso de mezcla descendente. Si la información descriptiva sobre el movimiento se codifica en un formato adecuado (por ejemplo, los nuevos métodos de compensación de movimiento en coma flotante con zonas de movimiento y matrices de movimiento), las operaciones de compensación de movimiento con relación a diferentes posiciones de muestreo pueden expresarse y calcularse de manera muy eficiente.
En un conjunto de modalidades no limitativas descritas en la presente descripción, para porciones de la señal a las que se asigna información descriptiva sobre el movimiento, el movimiento se estima con una pluralidad de parámetros y se calcula como "movimiento equilibrado" (o "movimiento bidireccional"): esencialmente, en lugar de especificar los movimientos de un lapso con respecto a otro, especifica el movimiento de ambos lapsos con respecto a una posición de referencia común, con el fin de permitir la decodificación bidireccional. Algunas de tales modalidades representan el movimiento mediante el uso de una o más matrices de movimiento (por ejemplo, como opuesto a los métodos convencionales de usar vectores de movimiento que indican solo movimientos de traslación, es decir, desplazamientos). El uso de matrices de movimiento (es decir, la codificación de más de dos parámetros con el fin de representar un movimiento específico) es una característica nueva y clave de tales métodos no limitativos, que permiten la estimación y compensación de movimientos más sofisticados como el zoom, las rotaciones, los cambios de perspectiva, etc. Una matriz de movimiento en ocasiones se colapsa en un vector de desplazamiento simple en modalidades donde un movimiento de traslación se considera suficiente (por ejemplo, debido a restricciones de muestreo conocidas o restricciones de complejidad). En otras modalidades no limitativas, el movimiento se representa por una o más matrices de movimiento correspondientes a transformadas afines, con coordenadas compensadas por el movimiento que se calculan mediante el uso de métodos de coordenadas homogéneas. Cada una de las matrices de movimiento se asigna a una porción específica y arbitrariamente definida de la señal, que se define como "zona de movimiento". En otras modalidades no limitativas, las matrices de movimiento corresponden a transformaciones de perspectiva más genéricas, lo que permite describir incluso conjuntos de movimientos más complejos.
Las matrices de movimiento (y, para las modalidades que las usan, las zonas de movimiento) se transmiten al decodificador y tienen varias ventajas: por ejemplo, pueden invertirse y puede calcularse el movimiento de una misma zona de movimiento a través de un número de posiciones de muestreo al combinar adecuadamente (por ejemplo, multiplicar) las matrices de movimiento correspondientes a cada etapa temporal. Dicho esto, las matrices de movimiento y las zonas de movimiento son solo una de muchas modalidades no limitativas de estimación y compensación de movimiento, y los métodos descritos en la presente descripción pueden trabajar adecuadamente con sustancialmente cualquier tipo de método de estimación y compensación de movimiento.
La Figura 2A ilustra el efecto de no aplicar compensación de movimiento (o, de equivalentemente, compensar el movimiento por medio de una función de identidad constante) y, en consecuencia, también de no aplicar el "encuadre".
El lapso 100-1, que se muestrea en t = 1, y el lapso 100-2, que se muestrea en t = 2, se fusionan en el lapso 101-1,5, que se muestrea en t = (1+2)/2 = 1,5. El hecho de que la posición de muestreo del lapso de mezcla descendente 101­ 1,5 sea el promedio de las posiciones de muestreo originales de los lapsos 100-1 y 100-2 es evidente a partir de la ilustración. Un objeto circular sólido 201-0 se mueve desde la parte inferior izquierda de la imagen (lapso 100-1, posición de muestreo 1) hasta la parte superior derecha de la imagen (objeto 202-0 del lapso 100-2, posición de muestreo 2). Un submuestreo lineal por un factor de 2 (por ejemplo, una mezcla descendente trilineal) de los lapsos 100-1 y 100-2 produce un lapso 101-1,5, en donde las dimensiones horizontal y vertical se dividen por la mitad y el objeto circular sólido aparece como parcialmente transparente y visible en ambas posiciones del lapso: esencialmente, al mirar este lapso, un observador mira todo el movimiento del objeto entre las posiciones de muestreo 1 y 2, esencialmente se posiciona (desde un punto de vista temporal) entre los dos extremos. Este simple enfoque de submuestreo tridimensional (es decir, espacio-tiempo) se usa en una modalidad no limitativa en donde la velocidad de los objetos visibles más abajo de un umbral predeterminado (es decir, la correlación temporal es extremadamente alta) y en condiciones en donde un grado de desenfoque de movimiento en las representaciones reconstruidas es aceptable. Un ejemplo práctico no limitativo es el de un vídeo de una escena de movimiento lento que se graba a muy alta resolución y a 1000 fotogramas por segundo.
En otras modalidades, la estimación y compensación de movimiento es útil para realizar un submuestreo de N-dimensiones.
Cuando se realiza la compensación de movimiento, el submuestreo espacial y el submuestreo temporal ("mezcla") pueden realizarse o por separado o conjuntamente, con varias combinaciones posibles. En una modalidad de ejemplo no limitativa, los lapsos se compensan con el movimiento y entonces se aplica el submuestreo tridimensional. En otra modalidad no limitativa, se realiza un submuestreo espacial, seguido de una compensación de movimiento y por último un submuestreo temporal. En otra modalidad no limitativa, el submuestreo espacial se combina con la compensación de movimiento, y se sigue por el submuestreo temporal.
La Figura 2B es un diagrama de ejemplo que ilustra un ejemplo no limitativo de compensación de movimiento equilibrada.
Una modalidad de ejemplo no limitativa determina el movimiento de los objetos y estima sus posiciones en un lapso de tiempo intermedio con respecto a las posiciones de muestreo de los dos lapsos originales. Con el fin de mantener la simetría, la compensación de movimiento se realiza de manera equilibrada, de manera que se reposicionan los dos lapsos en una posición intermedia altamente correlacionada (que corresponde esencialmente al muestreo de una posición que se encuentra en la posición intermedia - es decir, la posición de muestreo 1,5, con respecto a la posición 1 y la posición 2 de los dos lapsos originales) antes de "fusionarlos" junto con la operación de submuestreo temporal.
En este caso simple, el objeto se mueve con un simple movimiento de traslación (es decir, un desplazamiento). La información descriptiva del movimiento del objeto a usar en las dos operaciones de compensación de movimiento se caracteriza por lo tanto por un único vector, ya que el otro vector se calcula como el "vector de complemento".
El beneficio de tal enfoque equilibrado es evitar cualquier elección de una imagen de referencia y/o de una dirección preferencial para los movimientos. La información de movimiento que se estructura de esta manera puede usarse para estimar el movimiento del objeto en cualquier dirección de tiempo en la que se mueva la reproducción, lo que esencialmente permite la reproducción bidireccional (una característica nunca ofrecida hasta ahora por las técnicas de codificación en base a la estimación y compensación de movimiento).
Con el fin de realizar adecuadamente las operaciones de compensación de movimiento, se produce un plano de destino de los elementos 201-1,5bis, que corresponde a la imagen que se enviaría a un dispositivo de visualización si se tuviera que visualizar el lapso submuestreado 101-1,5bis. Al mismo tiempo, queda claro en la Figura. 2B que el lapso 101-1,5bis se beneficia de la asignación de un plano de elementos más grande que solo el plano de destino 201-1,5bis, con el fin de incluir también elementos que, a pesar de estar fuera del plano de destino, podrían ser útiles (en particular después de operaciones adicionales y/o de compensación de movimiento inverso) con el fin de generar predicciones para los lapsos 100-1 y 100-2, así como también durante las operaciones adicionales de submuestreo.
Debido a la falta de bibliografía, se creó el nuevo término "encuadre" para definir las hileras y columnas adicionales del lapso 101 -1,5bis con respecto al plano de destino 201-1,5bis.
El lapso 101-1,5bis es, por tanto, la combinación de los planos 220-1 (que representa el lapso 100-1 en su posición desplazada) y 220-2 (que representa el lapso 100-2 en su posición desplazada). Como es evidente a partir de la Figura 2B, el lapso 101-1,5bis contiene elementos del plano que tienen niveles de importancia muy diferentes. Los elementos pertenecientes a las áreas 220-1 y 220-2 son elementos de plano "válidos", que contienen información relevante. Todos los demás elementos (que se ilustran en el diagrama por las áreas con líneas diagonales) son elementos nulos o elementos "No disponibles" (250-1). No se transmiten al decodificador (en una modalidad que se orienta a la compresión), y el decodificador conoce con precisión la posición y el tamaño de las áreas 220-1 y 220-2, con la misma precisión que se conoce la información de movimiento. En este ejemplo, los elementos "No disponibles" no deben promediarse con los elementos que tienen un valor "válido". En todas las operaciones (o durante el submuestreo o durante el sobremuestreo) que involucran un promedio ponderado de un conjunto de elementos que incluyen elementos "No disponible", los elementos "No disponible" se eliminan del promedio ponderado y los pesos para los elementos restantes se normalizan para que su suma sea igual a 1 (en la modalidad no limitativa que se ilustra, esto se consigue al añadir una misma constante a todos los pesos restantes).
Los elementos que tienen un valor pero que se encuentran fuera del plano de destino 201-1,5bis no se mostrarían si el lapso tuviera que visualizarse, pero todavía son útiles: por ejemplo, para soportar las operaciones de sobremuestreo durante el proceso de decodificación, así como también para soportar más operaciones de submuestreo durante el proceso de codificación.
En la modalidad preferida no limitativa, la cantidad de encuadre con relación al tamaño del plano de destino aumenta en cada LOQ sucesivamente más bajo, lo que corresponde al hecho de que los lapsos de un LOQ más bajo son los resultados de un mayor número de lapsos con compensación de movimiento (es decir, abarcan una mayor cantidad de tiempo), y por lo tanto debe permitir un mayor grado de movimiento.
La Figura 2C ilustra un caso de ejemplo más de submuestreo temporal con compensación de movimiento equilibrada, esta vez introduce un tipo de movimiento más sofisticado (específicamente, una transformación de escala, es decir, un zoom). El caso previo ilustró la información de movimiento, que incluye la información de desplazamiento (que es la información que se representa típicamente por los métodos de compensación y estimación de movimiento del estado del arte). Las modalidades no limitativas que se ilustran en la presente descripción aprovechan los métodos de estimación y compensación de movimiento equilibrado mientras que, al mismo tiempo, también representan tipos de movimiento más sofisticados, que incluyen, sin limitación, desplazamientos, rotaciones, zoom/divergencia, cambios de perspectiva, etc. En particular, la modalidad no limitativa que se ilustra en la presente descripción representa el movimiento con una matriz de movimiento afín (o "ZRO"), que se identifica por cuatro parámetros ZRO (un parámetro para Zoom, un parámetro para la rotación y dos parámetros para el desplazamiento). De manera similar a lo descrito en la Figura 2B, también en la Figura 2C, el lapso de submuestreo resultante se centra en la posición de muestreo 1,5.
Tanto la Figura 2B y la Figura 2C, a pesar de mostrar los beneficios de la compensación de movimiento equilibrada, también muestra muy claramente los límites de centrar los lapsos de submuestreo en posiciones de muestreo intermedias (es decir, potencialmente no enteras). Aunque es teóricamente elegante centrar un lapso de submuestreo entre sus lapsos correspondientes en el nivel de calidad superior, las posiciones de muestreo fraccionadas generan problemas de manera que se vuelve necesario visualizar la señal en un nivel de calidad inferior al LOQ superior. En primer lugar, cambiar dinámicamente del nivel de calidad superior (con su tasa de muestreo original) a un nivel de calidad inferior (con tasas de muestreo fraccionarias), generaría "trepidaciones" y "vibraciones" que se perciben en el movimiento de los objetos. En segundo lugar, como es evidente a partir de la Figura 2B y la Figura 2C, el plano de destino del lapso resultante (es decir, la imagen a visualizar si el lapso tuviera que visualizarse) estaría en una posición intermedia entre los dos lapsos originales y, en consecuencia, presentaría áreas visibles de "No disponible", muy probablemente desagradable de ver al menos tanto como las trepidaciones que se mencionan anteriormente. Una modalidad no limitativa resuelve tales problemas al aplicar un submuestreo temporal simétrico solo en grupos con un número impar de lapsos (para que la posición de muestreo intermedia sea una posición de muestreo entera, y el plano de destino se centra en el lapso intermedio de dicho grupo impar de lapsos). Otra modalidad, no limitativa, que resuelve tales problemas mientras que aún permite submuestrear incluso los números de lapsos, que se ilustran en la Figura 2D.
La Figura 2D ilustra - para la misma señal de origen que en la Figura 2B - una modalidad de ejemplo no limitativa de "compensación de movimiento no simétrica equilibrada", que logra todos los beneficios de la compensación de movimiento equilibrada sin las limitaciones que se mencionan anteriormente de las posiciones de muestreo intermedias (simétricas).
Los lapsos 100-1 y 100-2 aún se compensan por movimiento de acuerdo con transformadas de movimiento invertibles (en la modalidad específica no limitativa, matrices de movimiento ZRO adecuadas para cada zona de movimiento relevante), pero esta vez con respecto a una posición de muestreo igual a 1, en lugar de 1,5. Por lo tanto, todavía es cierto que la información de compensación de movimiento para el lapso 100-1 es directamente calculable a partir de la información de compensación de movimiento para el lapso 100-2, o viceversa: la compensación de movimientos de hecho todavía "equilibrada", es decir, bidireccional.
Al mismo tiempo, el lapsos de submuestreo 101-1 se caracteriza por un plano de destino 201-1 que es esencialmente el mismo que el lapso 100-1 (con la posible adición de alguna información procedente del lapso 100-2 pero que se posiciona consistentemente con el lapso 100-1). Como consecuencia, si el lapso 101-1 tuviera que visualizarse no habría áreas "No disponibles", y también en términos de tasa de muestreo, a pesar de cierto efecto de "mezcla", no se percibirían trepidaciones en los movimientos de los objetos.
La Figura 3A es un diagrama de ejemplo que ilustra una modalidad de la invención reivindicada que implementa la codificación multipredictiva de los datos residuales, con separación de la información residual correlacionada en el tiempo en un "plano de soporte" Z.
El diagrama muestra una señal original que consiste en una secuencia de lapsos 100-1, 100-2, ... 100-n a un nivel de calidad dado. A través de los métodos adecuados, el codificador genera una secuencia correspondiente de predicciones U 110-1, 110-2, ..., 100-n con el mismo nivel de calidad. El codificador entonces calcula conjuntos adecuados de residuos absolutos R 130-1, ..., 130-n, al procesar los resultados que se obtienen al comparar cada lapso 100-t con su correspondiente predicción U 110-t. Por ejemplo, la calculadora de datos residuales 120-1 recibe como entrada el lapso 100-1 y la predicción correspondiente U 110-1, lo que genera residuos absolutos R 130-1 en base a la diferencia entre el lapso 100-1 y la predicción U 110-1. De manera similar, el codificador genera conjuntos de residuos absolutos R 130-2, ..., 130-n correspondientes a los lapsos restantes de la secuencia.
El procesador de señales 140, también llamado calculadora del plano de soporte, se configura para procesar los conjuntos de residuos absolutos R 130-1,..., 130-n y generar un conjunto de elementos 150 que se llama plano de soporte Z, que resume, en esta modalidad, la información residual correlacionada en el tiempo.
En la modalidad de ejemplo que se ilustra en la Figura 3A, la calculadora del plano de soporte 140 también recibe información descriptiva 155, que comprende información sobre el movimiento a través de la secuencia de los lapsos.
La generación del plano de soporte Z 150 se realiza al calcular primero un promedio ponderado S de las representaciones con compensación de movimiento de cada conjunto de residuos absolutos R 130-t, todas las operaciones de compensación de movimiento se calculan con respecto a una misma posición de muestreo (es decir, en esta modalidad no limitativa, la primera posición de muestreo entera inferior o igual al promedio de todas las posiciones de muestreo de los lapsos de la secuencia). La fórmula para calcular S se expresa mediante la siguiente ecuación:
n
S = ^ W¡-MC(R(i))
i - 1
En una modalidad simple no limitativa, todos los pesos son iguales a 1/n (es decir, promedio matemático simple). En otra modalidad no limitativa, S se calcula como el modo estadístico de MC(R(i)), para reducir la influencia de los “residuos atípicos” en el promedio ponderado.
Con el fin de permitir un promedio ponderado adecuado a través de varias posiciones de muestreo diferentes (es decir, minimizar la pérdida de información), las operaciones de compensación de movimiento generan conjuntos de elementos con compensación de movimiento con más hileras y columnas que los conjuntos de residuos de entrada ("encuadre"). Además, las operaciones de compensación de movimiento asignan un valor por defecto (por ejemplo, valor "No disponible") a los elementos de los conjuntos de elementos con compensación de movimiento que, en base a la entrada (por ejemplo, un conjunto específico de residuos absolutos R) y en la información de movimiento, no pueden asignarse a ningún valor adecuado.
Los elementos con el valor por defecto no se consideran en la correspondiente operación de promedio ponderado usada para calcular S, y los pesos de los elementos restantes se normalizan para hacer que su suma sea igual a 1. En la modalidad de referencia no limitativa, esta normalización a 1 se logra al sumar una misma constante a todos los pesos de los elementos restantes. En otras modalidades, tal normalización se logra al multiplicar todos los pesos por una misma constante.
El codificador genera entonces los datos de reconstrucción que se enviarán al decodificador con el fin de permitir la reconstrucción del elemento de soporte y simula la decodificación de dichos datos de reconstrucción, en la que se reconstruye una representación del plano de soporte Z 150:
Figure imgf000028_0001
El codificador calcula entonces conjuntos de residuos relativos R" (es decir, conjuntos de elementos 160-1, ..., 160-n), al calcular para cada conjunto dado la diferencia entre el conjunto correspondiente de residuos absolutos R y una representación con compensación de movimiento del elemento de soporte Z ("residuos de referencia") con respecto a la posición de muestreo de dicho conjunto dado:
Rn = R - M C ( Z )
Por último, el codificador genera conjuntos de datos de reconstrucción correspondientes a conjuntos de residuos relativos R" y simula las operaciones que se realizan por un decodificador con el fin de reconstruir una representación Y de la secuencia de lapsos. En particular, para cada lapso dado X(t) 100-t, el codificador genera una representación reconstruida Y(t) al combinar la predicción U(t) 110-t, una representación con compensación de movimiento del plano de soporte Z 150 con respecto a la posición de muestreo t y el correspondiente conjunto de residuos relativos decodificados RII(t) 160-t:
Figure imgf000028_0002
Por ejemplo, con el fin de simular la reconstrucción de una representación Y(1) para el lapso 100-1, el codificador combina la predicción U 110-1, los residuos relativos R" 160-1 y una representación con compensación de movimiento del plano de soporte Z 150 que se calcula con relación a la posición de muestreo t = 1. En el lado del decodificador, un decodificador realizará esas mismas operaciones, al recibir los datos codificados que permiten generar la predicción U 110-1, datos codificados correspondientes a la información de movimiento, datos codificados correspondientes al plano de soporte Z 150 y datos codificados correspondientes a los residuos relativos RII160-1.
Se llama al conjunto de elementos Z 150 un "plano de soporte" para una secuencia dada de los lapsos en un nivel de calidad dado porque "soporta" la reconstrucción de los residuos absolutos R. Esencialmente, también soporta la reducción de la entropía de la información (por ejemplo, de la cantidad codificada en bits) de los datos de reconstrucción necesarios para reconstruir dicha secuencia, al explotar la correlación de tiempo de los residuos absolutos. Al concentrar los datos residuales absolutos correlacionados en el tiempo en un único "superconjunto de residuos" (es decir, intuitivamente, al evitar repetir una misma información residual múltiples veces para lapsos subsecuentes, mientras que al mismo tiempo se evita predecir cada plano de residuos a partir de uno previo), el plano de soporte maximiza el número de residuos relativos que después de la cuantificación son sustancialmente iguales a cero, en consecuencia se reduce una métrica correspondiente a la entropía de la información general de los datos residuales.
También se define el enfoque como método de "codificación multipredictiva", porque la representación reconstruida para un lapso dado se obtiene al combinar los residuos relativos con dos predicciones: una predicción para el lapso (la primera predicción, que se genera con cualquier método adecuado) y una predicción para los residuos absolutos (la segunda predicción, que se genera por compensación de movimiento del plano de soporte).
Como se explicó anteriormente, los métodos convencionales (por ejemplo, en el caso de las señales de video, tecnologías basadas en MPEG, VP8, etc.) que explotan la correlación de tiempo mediante la codificación/decodificación de las diferencias frente a una muestra precedente o subsecuente (por tanto, se genera una "cascada temporal" de muestras codificadas con respecto entre sí, con acumulación de errores sobre el tiempo y reconstrucción/reproducción esencialmente monodireccional). Los métodos descritos en la presente descripción de "submuestreo temporal" y "agregación temporal" - que incluyen, sin limitación, todos los métodos que se ilustran hasta ahora - consisten en codificar/decodificar la información temporalmente mezclada (submuestreada en el caso de las jerarquías temporales escalonadas, con la misma resolución o incluso a resoluciones superiores en el caso de los planos de soporte) que sirven como predictores comunes y resumen sustancialmente la información correlacionada de una pluralidad de lapsos, lo que permite (1) aprovechar la correlación de tiempo a través de las secuencias más largas de los lapsos (debido a la ausencia de acumulación de errores), (2) para realizar una reconstrucción/reproducción bidireccional y (3) para realizar también una reconstrucción de acceso aleatorio de cualquier lapso en una secuencia. Como ejemplo no limitativo, una decisión de cuantificar fuertemente los residuales relativos que permiten reconstruir un lapso dado (es decir, una decisión que crea una pérdida significativa de información y/o artefactos en un lapso) no tiene impacto en los otros lapsos en el mismo LOQ que se reconstruyen en base a un mismo plano de soporte y en un mismo conjunto de predictores en un LOQ inferior. Además, la decodificación puede realizarse en orden temporal inverso (por ejemplo, la reproducción inversa suave de un video, opuesta a los métodos actuales que solo saltan de un fotograma-I a un fotograma-I previo), ya que la reconstrucción de cualquier lapso no requiere la disponibilidad de una interpretación reconstruida de un lapso previo en el orden temporal.
Modalidades de ejemplo no limitativas adicionales
En otras modalidades no limitativas, el codificador calcula el plano de soporte Z 150 al adaptar los pesos del promedio ponderado para minimizar una métrica de entropía de la información para los residuos relativos R" 160 y plano de soporte Z 150. En una de tales modalidades, el codificador selecciona los pesos del promedio ponderado usado para generar el plano de soporte Z 150 para maximizar el número de residuos relativos R" 160 que son sustancialmente iguales a cero (especialmente después de un proceso de cuantificación adecuado). En otra de tales modalidades, el codificador ajusta los valores del plano de soporte Z 150 de acuerdo con un método de optimización iterativo, con el fin de minimizar una métrica de entropía de la información para residuos relativos R" 160 y el plano de soporte Z 150, mientras se mantiene una métrica de calidad para la representación Y por encima de un umbral.
En otras modalidades no limitativas, el codificador procesa conjuntos de residuos absolutos R 130 antes de calcular el plano de soporte Z 150. En una de tales modalidades, los residuos absolutos R 130 correspondientes a diferentes lapsos se igualan adecuadamente, para mejorar la correlación de tiempo de los datos residuales en casos tales como un cambio de condiciones de iluminación en una escena sustancialmente igual. El codificador también genera conjuntos adecuados de información descriptiva, con el fin de proporcionar a un decodificador la información conveniente para el procesamiento adecuado del plano de soporte Z 150 antes de combinarlo con el conjunto correspondiente de residuos relativos R" 160.
En otras modalidades no limitativas, los residuos absolutos R 130 se procesan por medio de transformadas adecuadas (por ejemplo, que se seleccionan de una lista que incluye, sin limitación, las transformadas de descomposición, las transformadas de Hadamard, las transformadas DCT, las transformadas wavelet, etc.).
En otras modalidades no limitativas, tanto el plano de soporte Z como los residuos relativos RII se transforman por medio de operaciones adecuadas, que se seleccionan de una lista que incluye, sin limitación, la descomposición direccional (por ejemplo, la selección de subconjuntos de elementos y codificación de parámetros correspondientes a sus inclinaciones direccionales y a una diferencia entre su promedio y un promedio predicho), la descomposición temporal (por ejemplo, la selección de subconjuntos de elementos a lo largo del tiempo y la codificación su promedio temporal y su(s) inclinación(es) temporal(es), los esquemas de cuantificación no lineal, las transformadas de Hadamard, las transformadas DCT, las transformadas FFT, las transformadas wavelet, etc. En algunas de estas modalidades no limitativas, los residuos que se transforman para un lapso se codifican y decodifican en base al menos en parte a una representación del lapso a un nivel de calidad inferior, en base a métodos de transformación multiescala descritos en otras solicitudes de patente de los mismos autores.
En otras modalidades no limitativas, la calculadora de plano de soporte 140 calcula el plano de soporte Z 150 al procesar un promedio ponderado de los lapsos originales 100-1, ..., 100-n (adecuadamente con compensación de movimiento), en lugar de un promedio ponderado de las representaciones con compensación de movimiento de los conjuntos correspondientes de residuos 130-1, ..., 130-n. El método es sustancialmente similar, aunque al calcular el plano de soporte Z 150 en base a los lapsos originales, el plano de soporte comprende información diferente y, por tanto, produce resultados diferentes. En una de tales modalidades, las siguientes fórmulas matemáticas describen las operaciones realizadas en el codificador y el proceso de reconstrucción que se realiza en el decodificador:
s = 2 > , . m c ( x ( í ) )
/=l
Z = Dec(Enc(s))= S
Ru =R (M C(Z)-U)
Y = MC(Z) Dec(Enc(R71)) = MC(Z) R n = U R
En otras modalidades no limitativas, el plano de soporte Z 150 tiene un nivel de calidad superior (por ejemplo, una mayor resolución) que los conjuntos de residuos absolutos R 130-1, ..., 130-n que soporta. Ya que en tales modalidades, el plano de soporte Z 150 resulta de representaciones con compensación de movimiento de múltiples lapsos que representan sustancialmente los mismos objetos en diferentes posiciones (que incluyen las posiciones de subpíxeles, en el caso de las imágenes), al aumentar el nivel de calidad del plano de soporte Z 150, el codificador permite que el plano de soporte Z 150 almacene información residual común con precisión de subelemento, lo que esencialmente maximiza una cantidad de información correlacionada en el tiempo que se almacena en el plano de soporte Z 150.
En otras modalidades no limitativas, el codificador define para cada lapso 100-1, 100-2,..., 100-n porciones adecuadas (por ejemplo, áreas de la imagen) donde el plano de soporte Z 150 no se procesa con el fin de generar residuos absolutos R 130. En una de tales modalidades, el codificador identifica para uno o más lapsos dados porciones de la imagen donde la información residual no se correlaciona con la información residual de otros lapsos vecinos (por ejemplo, en el caso de ejemplo de una señal de video, porque por ejemplo esas porciones corresponden a objetos que fueron visibles solo durante el tiempo de duración de dicho lapso dado). En consecuencia, el codificador genera información descriptiva correspondiente a dichas porciones del lapso. Cuando se genera el Plano de Soporte Z 150, los contenidos de dichas porciones no se procesan, para evitar "diluir" la información del elemento de soporte con información no correlacionada en el tiempo. Al mismo tiempo, cuando se reconstruyen conjuntos de residuos absolutos R 130-1, ..., 130-n, los subconjuntos de residuos relativos R" 160-1, ..., 160-n correspondientes a dichas porciones se procesarán directamente para generar residuos absolutos R 130, sin combinarse primero con los elementos correspondientes de una representación con compensación de movimiento del plano de soporte Z 150. En un lado del decodificador (o dentro de un decodificador simulado durante el proceso de codificación), un decodificador recibirá para un lapso dado 100-1 información descriptiva sobre las porciones donde el plano de soporte Z 150 no debe aprovecharse con el fin de soportar la reconstrucción de residuos absolutos R 130. Como consecuencia, el decodificador reconstruirá los residuos absolutos R 130 de acuerdo con dos enfoques diferentes: para las porciones donde debe aplicarse el plano de soporte Z 150:
Figure imgf000030_0001
para dichas porciones donde no debe aplicarse el plano de soporte Z 150:
Figure imgf000030_0002
En otras modalidades no limitativas, la secuencia de los lapsos 100-1, 100-2, ..., 100-n se particiona en una pluralidad de subsecuencias ("lotes") y el codificador genera un plano de soporte Z para cada uno de dichos lotes. Los residuos absolutos para los lapsos de un lote dado se reconstruyen por un decodificador (o por un decodificador simulado dentro del proceso de codificación) basado al menos en parte en la información contenida en el plano de soporte Z de dicho lote dado. En particular, un conjunto dado de residuos absolutos para un lapso dado de un lote dado se genera al combinar un conjunto de residuos relativos con una representación con compensación de movimiento del plano de soporte Z de dicho lote dado (en donde la compensación de movimiento se realiza con referencia a la posición de muestreo de dicho lapso dado).
En otras modalidades no limitativas, los residuos absolutos R para los lapsos de un lote L1 dado se reconstruyen por un decodificador basado al menos en parte en una pluralidad de planos de soporte Zl-i, ..., Zm, que incluyen el plano de soporte Zupara dicho lote dado y plano de soporte ZLn para uno o más lotes vecinos. En una de tales modalidades, un conjunto dado de residuos absolutos R para un lapso dado de un lote dado se genera al combinar un conjunto de residuos relativos R1 con un promedio ponderado de la representación con compensación de movimiento del plano de soporte Z de dicho lote dado y la representación con compensación de movimiento del plano de soporte Z de un lote vecino, en donde ambas operaciones de compensación de movimiento se realizan con relación a la posición de muestreo de dicho lapso dado. En otras modalidades, incluso más de dos planos de soporte Z soportan la reconstrucción de conjuntos específicos de residuos absolutos R. Aprovechar los planos de soporte Z de lotes vecinos - a pesar de aumentar potencialmente el retardo de la codificación, ya que el codificador requiere procesar múltiples lotes antes de ser capaz de finalizar los datos codificados para un lote - permite que tales modalidades reduzcan las potenciales discontinuidades abruptas entre los lapsos pertenecientes a diferentes lotes.
En otras modalidades no limitativas, los residuos absolutos R para los lapsos de un lote L1 dado se reconstruyen por un decodificador en base al plano de soporte Zli de dicho lote dado, y una pluralidad de planos de soporte Zl i, ..., ZLn, de dos o más lotes vecinos se codifican en base a un plano de soporte Z1 a un nivel de agregación aún superior. Cada uno de los planos de soporte Z l i, ..., ZLn dados se reconstruye mediante la combinación de una interpretación con compensación de movimiento del plano de soporte Z1 (en donde la compensación de movimiento se realiza con referencia a la posición de muestreo de cada plano de soporte dado) con un conjunto correspondiente de residuos relativos. En algunas de tales modalidades no limitativas, el codificador genera una jerarquía escalonada de nivel de agregaciones para los planos de soporte, en donde también se codifican los planos de soporte de orden superior en base a planos de soporte de orden superior adicionales en un nivel de agregación aún mayor. En una modalidad no limitativa, el tamaño del lote es igual a dos lapsos, y el codificador agrega planos de soporte hasta un nivel de agregación dado en base a los recursos de cálculo disponibles y en el retardo máximo de codificación.
En otras modalidades no limitativas, el plano de soporte Z 150 se genera sin realizar operaciones de compensación de movimiento. En consecuencia, en un decodificador se generan los residuos absolutos R 130 sólo al combinar los residuos relativos R" 160 con el plano de soporte Z 150.
En otras modalidades no limitativas, la calculadora del plano de soporte 140 - aparte de generar el plano de soporte Z 150 y los conjuntos de residuos relativos R" 160-1, ..., 160-n - también genera conjuntos de información descriptiva (es decir, metadatos) correspondientes a uno o más de los conjuntos de residuos relativos R". Durante las operaciones de reconstrucción para un conjunto dado de residuos absolutos R, un decodificador (o un decodificador simulado dentro del proceso de codificación) procesa el plano de soporte Z 150 y el conjunto correspondiente de los residuos relativos R" de acuerdo con las operaciones especificadas por un conjunto correspondiente de información descriptiva. En una de tales modalidades, dicha información descriptiva incluye, sin limitación, parámetros multiplicativos para aplicar a la información del elemento de soporte con compensación de movimiento (para, por ejemplo, tener en cuenta fácilmente los cambios de iluminación en una escena sustancialmente igual).
En una modalidad no limitativa, un método de codificación multipredictiva que aprovecha los planos de soporte Z se aprovecha para codificar directamente una secuencia de imágenes, es decir, que asume que las predicciones U son todas iguales a cero.
En otras modalidades no limitativas, se usa un método de codificación multipredictiva en el contexto de una señal codificada con un método de jerarquía temporal escalonada. En una de tales modalidades, el codificador genera un *7 K
elemento de soporte para los lapsos de cada LOQ K de cada lote L de una señal; los planos de soporte de diferentes lotes de un mismo LOQ K se codifican en una jerarquía escalonada de niveles de agregación de planos de 7 K
soporte. En tal modalidad, en cada nivel de calidad, el plano de soporte ^ l transporta la información correlacionada en el tiempo del lote en un único conjunto de elementos (es decir, en un único plano bidimensional para cada lote).
Los lapsos de un LOQ K dado se reconstruyen en base a los lapsos predictores adecuados de un LOQ inferior (K-1) (sobremuestreado en o el espacio o en el tiempo o en ambos al aprovechar las operaciones y factores de escala 7 K
adecuados), en el plano de soporte para el LOQ K, en la información descriptiva sobre el movimiento y sobre conjuntos adecuados de datos residuales relativos RII. El plano de soporte transporta esencialmente la información correlacionada en el tiempo de los datos residuales de un lote dado en un único conjunto de elementos, lo que permite que un decodificador genere predicciones adecuadas para los datos residuales absolutos que permiten reconstruir los lapsos de un LOQ dado. La correlación de residuos absolutos a través de los lotes se aprovecha efectivamente mediante la codificación de planos de soporte de lotes vecinos en una jerarquía escalonada de niveles de agregación.
Para aclarar mejor con un simple ejemplo no limitativo la ventaja en calcular y transmitir un plano de soporte para los datos residuales, basta con considerar el caso de un lote de lapsos que representan un videoclip de una imagen fija (es decir, todos los lapsos son idénticos). En cualquier nivel de calidad, el plano de soporte transporta completamente la información que es necesaria para reconstruir todos los lapsos del lote. No sería necesario transmitir más residuos relativos con el fin de decodificar y reconstruir todos los lapsos (es decir, el 100 % de los residuos relativos serían iguales a cero, que con los codificadores de entropía adecuados pueden codificar con cantidades muy limitadas de información). Por supuesto, es un caso de ejemplo extremo, pero es fácil comprender los beneficios de codificar/decodificar los residuos absolutos en base a la información de los elementos de soporte cuando el lote pertenece a una escena en cámara lenta, o cuando grandes porciones de una escena son estáticas, o cuando la información de compensación de movimiento puede recrear para los residuos absolutos con compensación de movimiento un nivel de correlación similar al de una escena en cámara lenta/estática.
En algunas modalidades no limitativas, un decodificador se configura para recibir datos residuales relativos correspondientes solo a porciones espaciales específicas de una señal (por ejemplo, "mosaicos"), por lo tanto, se reconstruye una representación de la señal en el LOQ dado solo para dichas porciones dadas, lo que implementa efectivamente una funcionalidad de zoom. En otras palabras, en tales modalidades no limitativas, el decodificador recibe datos de reconstrucción correspondientes solo a porciones espaciales específicas ("mosaicos") de los conjuntos reconstruidos de residuos absolutos que serían necesarios para reconstruir la señal completa en el LOQ dado. En consecuencia, el decodificador reconstruye solo una secuencia de porciones de los conjuntos de residuos absolutos, al realizar operaciones que comprenden lo siguiente: procesar un primer conjunto de datos de reconstrucción, lo que genera un plano de soporte; procesar un segundo conjunto de datos de reconstrucción, lo que produce una secuencia de subplanos residuales relativos (por ejemplo, tales como los mosaicos de residuos relativos), cada uno de dichos subplanos de residuos relativos correspondiente a un mosaico de un plano de residuos absolutos en la secuencia de planos de residuos absolutos; combinar cada uno de dichos subplanos de residuos relativos con un conjunto correspondiente de valores de referencia que se generan en base al menos en parte a dicho plano de soporte, lo que produce una secuencia de mosaicos de residuos absolutos.
En otra modalidad no limitativa, un decodificador (y el decodificador simulado dentro de un codificador) - en lugar de generar residuos absolutos para los lapsos de un LOQ dado en base a un único plano de soporte - genera residuos absolutos en base a un promedio ponderado de representaciones con compensación de movimiento de planos de soporte vecinos (es decir, planos de soporte de lotes vecinos).
En otras modalidades no limitativas, uno o más planos de soporte Z se codifican/decodifican para porciones específicas de una jerarquía escalonada (por ejemplo, para una subsecuencia de lapsos más pequeños que el lote correspondiente en el nivel de calidad correspondiente).
En una modalidad no limitativa, los planos de soporte se generan por el codificador de acuerdo con la característica específica de la señal y los requisitos de compresión (por medio de un ejemplo no limitativo, corresponde al codificador para omitir el cálculo del plano de soporte cuando las características relacionadas con el tiempo de la señal son de manera que la transmisión de un plano de soporte no traería beneficios).
7 K
En una modalidad no limitativa, también la jerarquía escalonada de los planos de soporte de un lote L dado se codifica de acuerdo con un método jerárquico escalonado. En tal modalidad, para todos los niveles de calidad en los que un lote dado consta de un único lapso, el plano de soporte Z coincide con los residuos absolutos R para ese lapso. El plano de soporte Z se codifica de acuerdo con una jerarquía escalonada bidimensional, en base a una representación del plano de soporte en un nivel de calidad inferior. En el nivel inferior, si se asume que la modalidad aplica una función de cuantificación Q () a los datos residuales, el plano de soporte Z es simplemente la representación descuantificada de la cuantificación de S, o matemáticamente:
Figure imgf000032_0001
Para los siguientes niveles de calidad (superiores), un decodificador (así como también un decodificador simulado dentro del codificador) procesa la representación de Z en el nivel de calidad inferior para generar - a través de operaciones de sobremuestreo adecuadas - una predicción V:
v kl = g ( z r )
v i = o
Para cada nivel de calidad, el codificador genera una representación del plano de soporte S "ideal" (por ejemplo, precuantificación y pretransformaciones), en esta simple modalidad no limitativa por medio de un simple promedio aritmético de representaciones con compensación de movimiento de conjuntos de residuos absolutos de los lapsos del lote (cada operación de compensación de movimiento se realiza con referencia a la posición de muestreo que se selecciona para el elemento de soporte S):
Figure imgf000032_0002
Los residuos del plano de soporte R1 para ese LOQ dado se calculan entonces como la diferencia entre S y su predicción V:
Figure imgf000032_0003
Como consecuencia, la representación del elemento de soporte Z reconstruida en un decodificador (así como también en un decodificador simulado dentro del codificador) es:
Figure imgf000032_0004
Las restantes operaciones que se realizan por el codificador son sustancialmente similares a las ya descritas para otras modalidades no limitativas. El codificador calcula los residuos relativos R" en base a R y Z:
Figure imgf000032_0005
Un decodificador (así como también un decodificador simulado dentro del codificador) puede, por lo tanto, finalmente reconstruir la representación de la señal Y:
Y = U MC(v DQ( q ( r 7)))+ DQ( q ( r "))=U Mc(v R r)+Rn = U MC(Z ) ■+ R 77
65 En una modalidad no limitativa, el plano de soporte para un lote es una jerarquía escalonada de planos que se centran en un lote (es decir, con una posición de muestreo - que se aprovecha para las operaciones de compensación de movimiento - igual al promedio de las posiciones de muestreo de los lapsos superiores de un lote).
En otra modalidad no limitativa, el plano de soporte es unajerarquía escalonada de planos con la posición de muestreo entera del nivel de calidad más alto (por ejemplo, el LOQ #0) que es inferior o igual al promedio de las posiciones de muestreo de los lapsos del lote en el nivel de calidad más alto. De esta manera, el plano de la cadena de soporte siempre se centra en una posición de muestreo consistente con la tasa de muestreo original de la señal, lo que simplifica las operaciones de compensación de movimiento (como se describió cuando se ilustró la compensación de movimiento equilibrada, las trepidaciones de la tasa de muestreo, el encuadre y los elementos "No disponible").
Aparte de soportar la reconstrucción de una señal, un plano de soporte codificado con un método jerárquico escalonado es de hecho un subproducto en sí mismo (es decir, unajerarquía escalonada autosuficiente, que puede reconstruirse independientemente del resto de la señal). Esto se explota por varias modalidades no limitativas. Por ejemplo, en una modalidad no limitativa, un decodificador puede limitar su procesamiento a solo decodificar los datos de reconstrucción del plano de soporte para un lote en un LOQ dado y visualizar - para el tiempo de duración del lote correspondiente- una imagen en base al plano de soporte. Ejemplos de aplicaciones de tal modalidad son los casos de conexiones de muy bajo ancho de banda, o de decodificadores con poca cantidad de recursos (por ejemplo, como la memoria o la potencia de cálculo), o incluso de situaciones en las que se requiere una representación rápida y aproximada de la señal (por ejemplo, la navegación acelerada, la reproducción de avance rápido o retroceso rápido, etc.), ya que un elemento de soporte transporta esencialmente información promedio sobre el lote de la señal en un nivel de calidad dado.
En otras modalidades no limitativas, el codificador calcula los planos de soporte al procesar lapsos previamente codificados y transmitidos en lugar de aprovechar un lote actual y/o lotes subsecuentes. Este enfoque tiene la ventaja de que los mismos lapsos usados en el lado del codificador para calcular un plano de soporte ya se encuentran disponibles en el lado del decodificador, por lo que no es necesario transmitir los datos de reconstrucción del plano de soporte al decodificador. Además, el enfoque es útil en condiciones de baja latencia (por ejemplo, sin limitación, aplicaciones de videoconferencia), cuando el codificador no puede esperar la disponibilidad de un lote completo de lapsos antes de comenzar el proceso de codificación.
En otras modalidades no limitativas, el plano de soporte se calcula mediante el procesamiento de un promedio móvil de los lapsos y, en principio, no requiere que se transmita ninguna información sobre el plano de soporte al decodificador (aunque en otra modalidad no limitativa tal información se transmite no obstante periódicamente con el fin de garantizar la alineación entre la información disponible en el lado del codificador y del decodificador). Como ejemplo no limitativo, un plano de soporte que se calcula como un promedio móvil es útil en aplicaciones de baja latencia en tiempo real, tal como las videoconferencias, donde no es posible introducir largos retardos (por ejemplo, mediante el uso de lotes largos), pero aun así la correlación de tiempo es extremadamente alta. En tales modalidades, el decodificador calcula y actualiza el plano de soporte para cada LOQ a medida que se decodifican y reconstruyen los lapsos de la señal. En una modalidad no limitativa, se adopta un esquema de promedio móvil simple. En otra modalidad no limitativa, la información procedente de diferentes lapsos se promedia al aprovechar un sistema de ponderación de decaimiento exponencial. En aún otra modalidad no limitativa, se usa un enfoque de ponderación basado en la precisión, en base a los métodos descritos en solicitudes de patente previas de los mismos autores, donde esencialmente el codificador asigna y transmite al decodificador un valor de precisión para cada lapso (por ejemplo, correspondiente a la precisión estadística, o varianza inversa, del lapso), y el decodificador produce dos memorias intermedias: una memoria intermedia Zviejo, que contiene la representación de la cadena de soporte para la posición de muestreo previa para la que se calculó la cadena de soporte, y una memoria intermedia pviejo, que contiene para cada elemento correspondiente de Zviejo la precisión del valor respectivo. En cualquier T = t, al definir como Znuevo la "contribución" a la cadena de soporte del lapso en la posición de muestreo t (por ejemplo, su correspondiente conjunto de residuos absolutos R), los nuevos valores en las memorias intermedias se calculan como sigue, en donde las letras en minúsculas representan elementos específicos en coordenadas dadas (x, y) del plano correspondiente en mayúsculas:
Figure imgf000034_0001
Las operaciones de compensación de movimiento se calculan con relación a la posición de muestreo de la nueva cadena de soporte que se calcula.
MCxy(-) identifica el elemento con coordenadas (x, y) del plano de elementos MC().
p, a y b son parámetros adecuados. En una modalidad de ejemplo, a = b= 1.
Para tener en cuenta las discontinuidades en la correlación de tiempo, una modalidad no limitativa añade la operación descrita más abajo, que "restablece" a cero el valor de pviejoen una coordenada (x, y) cuando la diferencia entre un valor del último lapso dado y el correspondiente valor con compensación de movimiento que se contiene en la memoria intermedia zviejo es superior a un umbral adecuado:
Figure imgf000034_0002
El enfoque de agregar la información de varios lapsos (en un hiperplano predictor) y codificar/decodificar residuos con respecto a una predicción que se genera al procesar tal información agregada puede aplicarse también a otras dimensiones de una señal (es decir, no necesariamente al tiempo), y potencialmente también a más de una de las dimensiones de una misma señal. Cuando se aplica a la dimensión del tiempo, es habitual adoptar modalidades que usan alguna forma de estimación de movimiento y compensación de movimiento, como se describió previamente. Sin embargo, también para otras dimensiones y otros tipos de señal, puede implementarse un método predictor de soporte con formas de procesamiento de compensación que se destinan a "realinear" lapsos antes de agregarlos en un plano de soporte ("destilando" así su información correlacionada).
Otra modalidad no limitativa codifica y decodifica vastos datos volumétricos, al aplicar métodos multipredictivos similares a los que se ilustraron para la dimensión del tiempo de las señales de video a una o más de las dimensiones de una señal volumétrica. Otra modalidad no limitativa codifica y decodifica videos volumétricos, al aplicar métodos similares a los que se ilustraron para secuencias de lapsos bidimensionales a secuencias de lapsos tridimensionales (es decir, el plano de soporte Z es un hiperplano tridimensional de elementos).
Como se expresó previamente, queda claro a partir de las modalidades no limitativas descritas que los nuevos métodos de codificación/decodificación en base a uno o más predictores de soporte tienen múltiples ventajas. En primer lugar, los planos de soporte permiten reducir la entropía de la información de los datos residuales. Cuando se aprovechan para señales basadas en el tiempo, los planos de soporte a lo largo de la dimensión del tiempo son particularmente útiles, especialmente de manera que el codificador realiza apropiadamente el corte del lote, el corte de la escena y (si está presente) la estimación/compensación de movimiento.
Los planos de soporte también son muy útiles cuando se aplican dentro del lazo de codificación/decodificación de un método jerárquico escalonado.
En general, cuanto mayor sea la correlación de la secuencia de lapsos, mayores serán los beneficios que se proporcionan por un plano de soporte en la predicción de residuos absolutos.
La Figura 3B es un diagrama de ejemplo que ilustra una modalidad que implementa la codificación de una secuencia de planos multidimensionales de elementos en base a la información de elementos de soporte.
Los planos 300-1, ..., 300-N se procesan por el codificador 310, que produce un flujo de datos codificados. En particular, dicho flujo de datos codificados comprende datos codificados #1 320, conjuntos de información descriptiva 330-1, ..., 330-N y conjuntos de datos codificados #2340-1, ..., 340-N.
Los datos codificados #1 320 se reciben y procesan por el reconstructor de soporte 350, que produce el plano de soporte 355.
El plano de soporte 355 se aprovecha por el decodificador como una línea base para reconstruir representaciones adecuadas correspondientes a los planos originales 300-1,..., 300-N. En particular, el plano de soporte 355 se procesa por el reconstructor de referencia 360, que produce los planos de referencia 365-1,..., 365-N, cada uno que se obtiene al procesar el plano de soporte 355 en base a un conjunto correspondiente de información descriptiva 330-i. En una modalidad no limitativa, las operaciones de procesamiento de imágenes para obtener cada uno de los planos de referencia 365-i comprenden realizar operaciones de compensación de movimiento en el plano de soporte 355 en base a la información de movimiento correspondiente al conjunto de información descriptiva 330-i.
El reconstructor de residuos relativos 370 recibe y procesa conjuntos de datos codificados #2340-1, ..., 340-N, lo que produce conjuntos de residuos relativos 375-1, ..., 375-N.
El decodificador produce entonces planos reconstruidos 380-1,..., 380-N al combinar los planos de referencia 365-1, ..., 365-N con los planos de residuos relativos 375-1,..., 375-N.
La Figura 4A es un diagrama de ejemplo que ilustra una modalidad de ejemplo de una señal tridimensional basada en el tiempo que se codifica en una jerarquía temporal escalonada con codificación multipredictiva y, en particular, al aprovechar también los planos de soporte con el fin de codificar los datos residuales. La señal de entrada de ejemplo es la misma que la descrita en la Figura 1E, que para todos los propósitos prácticos puede considerarse como una señal de vídeo que consiste de una secuencia de fotogramas bidimensionales.
La representación gráfica es diferente de la que se adopta en la Figura 1E (en particular, no representa las diferentes duraciones de tiempo y posiciones de muestreo de cada uno de los lapsos), ya que la Figura 4A muestra los conjuntos de residuos absolutos R correspondientes a cada uno de los lapsos (como opuesto a los propios lapsos) y los planos de soporte para cada uno de los lotes en cada uno de los LOQ que se muestran. La Figura 4A ilustra cómo la cantidad de datos residuales para los lapsos en diferentes niveles de calidad tiene resoluciones espaciales cada vez más bajas (es decir, cantidades de elementos) y - para los LOQ y los lotes en los que se aplica el encuadre al plano de soporte - la representación de un dado plano de soporte dado a un nivel de calidad dado tiene una mayor cantidad de elementos que conjuntos de residuos absolutos correspondientes a un lapso del mismo nivel de calidad soportado por dicho plano de soporte.
En esta modalidad no limitativa, un plano de soporte para un lote se centra en la posición de muestreo entera del LOQ #0 que es inmediatamente inferior que o igual al promedio de las posiciones de muestreo de los lapsos del lote en el LOQ #0. En particular, la cadena de planos de soporte SP1 para el lote 1 se centra en la posición de muestreo t = 4, mientras que la cadena de planos de soporte SP2 para el lote 2 se centra en la posición de muestreo t = 11.
Para el caso de ejemplo específico, la reconstrucción de residuos absolutos para un lote hasta el LOQ #-3 es equivalente para ambos lotes a solo reconstruir la cadena de soporte, es decir, el conjunto de residuos absolutos 134­ 4 coincide con el plano de soporte SP1-4, el conjunto de residuos absolutos 133-4 coincide con el plano de soporte SP1-3, etc. Por el contrario, el plano de soporte tiene su propia identidad distintiva para los niveles de calidad donde un lote se representa por más de un lapso. Por ejemplo, para el LOQ #-2 del lote 1, el plano de soporte SP1-2 es diferente de los conjuntos de residuos absolutos R 102-2 y 102-6.
Las operaciones de codificación y decodificación trabajan de acuerdo con los métodos que se ilustran anteriormente. Un procesador de señales que se configura como codificador ("el codificador") recibe una representación de una señal (por ejemplo, una secuencia de lapsos bidimensionales a una tasa de muestreo constante, en donde cada uno de los lapsos se caracteriza por una posición de muestreo dada y una duración dada) a un nivel de calidad original ("LOQ #0"). El codificador comienza, por el procesamiento de la señal y genera la información de movimiento. En base al menos en parte, a dicha información de movimiento, el codificador identifica una secuencia adecuada de lapsos a codificar independientemente de las secuencias previas y subsecuentes (es decir, un "grupo"); el codificador, en base al menos en parte a los parámetros de codificación adecuados, también divide el grupo en uno o más "lotes" de lapsos.
Más específicamente, como se ilustra en la Figura 4A, el codificador identifica un grupo de 13 lapsos y lo divide en el lote 1, que consiste de 8 lapsos, y el lote 2, que consiste de 5 lapsos.
Dentro de cada lote, el codificador comienza la realización de operaciones adecuadas de submuestreo y/o mezcla y/o mezcla descendente (que incluyen también las operaciones de compensación de movimiento con el fin de tener en cuenta adecuadamente el movimiento a través de los lapsos), lo que genera niveles de calidad inferiores para la señal. Cuando los lapsos de un nivel de calidad inferior son el resultado de la combinación de lapsos con compensación de movimiento en un nivel de calidad superior (como opuesto a solo un submuestreo espacial de un lapso en un nivel de calidad superior), el codificador introduce un grado de "encuadre" al añadir hileras y columnas adicionales a los lapsos del nivel de calidad inferior, más allá de la imagen real ("plano de destino") que se mostraría de manera que la señal tuviese que visualizarse en ese nivel de calidad. En aras de la legibilidad, los lapsos reales de la señal no se muestran en la Figura 4A.
Cuando una de las dimensiones de una representación submuestreada de un lote logra una resolución de 1 elemento, el submuestreo para los escalones inferiores subsecuentes procede al submuestrear sólo a lo largo de las dimensiones restantes. Por ejemplo, en el LOQ #-2, el lote 2 logra una resolución de tiempo igual a 1 elemento (es decir, todo el lote se representa por un solo lapso), por tanto, el submuestreo del lote 2 desde el LOQ #-2 al LOQ #-3 procede mediante el submuestreo solo a lo largo de las dimensiones espaciales (que típicamente tienen una resolución mucho mayor).
El proceso de submuestreo dentro de cada lote continúa hasta que se logra un nivel de calidad inferior. En los ejemplos no limitativos de la Figura 4, el LOQ inferior es el LOQ #-4.
Una vez que el codificador genera el LOQ #-4 inferior, el codificador genera conjuntos de residuos absolutos 134-4 y 135-11 para el nivel inferior (en esta modalidad simple no limitativa, al cuantificar los elementos de los dos lapsos del nivel inferior); en el LOQ #-4, dichos conjuntos de residuos absolutos 134-4 y 135-11 también coinciden, respectivamente, con los planos de soporte SP1-4 y SP2-4 para el lote 1 y el lote 2 en el LOQ #-4. Como consecuencia, en el LOQ #-4 los residuos del plano de soporte RI coinciden con los residuos absolutos R, y los residuos relativos R" son todos iguales a cero.
El codificador comienza entonces la simulación de las operaciones que se realizan en un lado del decodificador, al realizar las operaciones de sobremuestreo adecuadas y generar los lapsos predichos para el LOQ #-3. En esta modalidad no limitativa, el codificador aprovecha las operaciones de sobremuestreo temporal con núcleos que incluyen dos elementos por dimensión hasta el LOQ #-1 y cuatro elementos por dimensión desde el LOQ #-1 hasta el LOQ #0. Como ya se mencionó antes, esto se debe al hecho de que en los LOQ inferiores, los elementos son más distantes tanto en el tiempo como en el espacio, por lo que es probable que la correlación entre los elementos sea relativamente local (por ejemplo, trae beneficios limitados y, a veces, es incluso contraproducente, para "pedir contribuciones" a lapsos no correlacionados).
Al comparar los lapsos predichos con los lapsos submuestreados de la jerarquía escalonada que se genera a través del submuestreo, el codificador genera conjuntos de residuos absolutos 133-4 y 133-11, que de nuevo coinciden con los dos planos de soporte SP1-3 y SP2-3 en el LOQ #-3.
El codificador, en base a las representaciones reconstruidas para el LOQ #-3, procede a generar los lapsos predichos para el LOQ #-2. Al comparar los lapsos predichos con los lapsos submuestreados de la jerarquía escalonada que se genera a través del submuestreo, el codificador genera conjuntos de residuos absolutos 132-2 y 132-6 y 132-11. En el LOQ #-2, el lote 1 consta de dos lapsos, por lo que el plano de soporte ya no coincide con ningún conjunto de residuos absolutos, pero es efectivamente un conjunto de elementos de soporte a usar para predecir los dos conjuntos de residuos absolutos 132-2 y 132-6. El codificador procede así con el cálculo del plano de soporte SP1-2, en primer lugar, al calcular su representación S "ideal" (es decir, precodificación y reconstrucción):
Figure imgf000036_0001
en donde las operaciones de compensación de movimiento se realizan con relación a la posición de muestreo del plano de soporte SP1-2, es decir, t = 4.
Ya que, en esta modalidad no limitativa, los planos de soporte también se codifican de acuerdo con un método jerárquico escalonado, el codificador procede entonces a generar los datos de reconstrucción para el plano de soporte, que comienza por el cálculo, mediante la aplicación de operaciones de sobremuestreo adecuadas al plano de soporte SP1-3 en el LOQ #-3, el plano de soporte predicho V. El codificador calcula entonces los residuos del plano de soporte RI:
Figure imgf000037_0001
Como consecuencia, el codificador (que simula las operaciones que se realizarán en un decodificador) reconstruye la representación del plano de soporte SP1-2 (descrito matemáticamente como "Z"):
Figure imgf000037_0002
El codificador es ahora capaz de generar conjuntos de residuos relativos para los dos lapsos del LOQ #-2 del lote 1 (no se muestra en la Figura), al calcular la diferencia entre los conjuntos de residuos absolutos R 132-2 y 132-6 y las representaciones con compensación de movimiento (con respecto a la posición de muestreo de cada lapso correspondiente) del plano de soporte SP1-2.
El codificador procede de manera similar hasta el LOQ más alto, lo que genera todos los datos de reconstrucción necesarios (por ejemplo, en este caso de ejemplo no limitativo, los residuos del plano de soporte, los residuos relativos y la información descriptiva para cada LOQ de cada lote).
En el lado del decodificador, un procesador de señales que se configura como un decodificador realiza esencialmente las mismas operaciones simuladas en el lado del codificador con el fin de generar datos de reconstrucción. El decodificador comienza por la recepción de un flujo de datos y la decodificación de los metadatos del marcador de sincronización con el fin de identificar, también en base a los parámetros de decodificación adecuados, la secuencia de lapsos a reconstruir. Al comenzar desde el LOQ más bajo, el decodificador reconstruye las predicciones para los lapsos de un LOQ superior, reconstruye los datos del plano de soporte, reconstruye los datos residuales absolutos al combinar adecuadamente los datos del plano de soporte con datos residuales relativos y, en consecuencia, reconstruye las representaciones para los lapsos del LOQ superior.
Una vez que se reconstruye un LOQ adecuado, el procesador de señales presenta la señal reconstruida a un usuario, por ejemplo, al transmitirla a un dispositivo de reproducción. En dependencia de los datos de reconstrucción que se han recibido y/o en las restricciones de decodificación en tiempo real y/o en otras restricciones (por ejemplo, minimizar el consumo de energía de cálculo, minimizar el consumo de energía eléctrica, minimizar el ancho de banda que se absorbe, maximizar la velocidad de reproducción, etc.) y/o responder a parámetros de entrada específicos, el decodificador también puede detener la decodificación en los diferentes LOQ para diferentes porciones de la señal.
Una vez más, la modalidad que se ilustra debe considerarse como no limitativa, y los expertos en el arte pueden deducir fácilmente cómo combinar todas las modalidades y métodos no limitativos descritos hasta ahora con la modalidad de ejemplo que se ilustra en la Figura 4A.
En otras modalidades no limitativas, el plano de soporte para un LOQ dado de un lote dado se calcula no al realizar un promedio ponderado a lo largo del tiempo de los residuos absolutos con compensación de movimiento, sino al realizar un promedio ponderado a lo largo del tiempo de los lapsos reales con compensación de movimiento. Los residuos absolutos para un lapso dado pueden obtenerse al combinar los residuos relativos correspondientes con las diferencias entre el lapso predicho para el lapso dado y una representación con compensación de movimiento del plano de soporte; dicho esto, estas modalidades no requieren que el decodificador produzca residuos absolutos, porque el decodificador puede generar una representación de la señal en el LOQ dado solo al combinar el plano de soporte con compensación de movimiento con los residuos relativos. En tales modalidades, un plano de soporte para un LOQ dado representa realmente toda la información correlacionada del lote (como opuesto a solo los datos residuales correlacionados). Estas modalidades no limitativas son especialmente útiles en ausencia de una jerarquía escalonada de los LOQ.
En otras modalidades no limitativas, la información del plano de soporte de los lotes vecinos se aprovecha adecuadamente (por ejemplo, al calcular un promedio ponderado de las representaciones con compensación de movimiento de los planos de soporte) con el fin de generar las predicciones para los residuos absolutos de los lapsos.
En otras modalidades no limitativas, los planos de soporte de los lotes vecinos se codifican en una jerarquía escalonada de niveles de agregación.
La Figura 4B y la Figura 4C son diagramas de ejemplo que ilustran una modalidad de ejemplo no limitativa de los planos de soporte para residuos absolutos de un LOQ dado, en donde dichos planos de soporte se codifican en una jerarquía escalonada de niveles de agregación. La señal de entrada de ejemplo es la misma que la descrita en la Figura 4A, que para todos los propósitos prácticos puede considerarse como una señal de vídeo que consiste de una secuencia de fotogramas bidimensionales (los lapsos, para el propósito del método). Sin embargo, la división del grupo de la señal en lotes es diferente, y también son diferentes las operaciones de submuestreo usadas para obtener el LOQ #-1 en base al LOQ #0. En particular, como se ilustra en la Figura 4C, a diferencia de las modalidades no limitativas que se ilustran en la Figura 1E y la Figura 4A, en esta modalidad no limitativa, el LOQ #-1 se obtiene a través de un simple submuestreo espacial, es decir, se mantiene la misma tasa de muestreo que el LOQ #0. Se prefiere una configuración similar en donde la tasa de muestreo del LOQ superior es relativamente baja, con el fin de evitar caídas excesivas en la calidad de la representación en el LOQ #-1.
Como en la Figura 4A, la Figura 4B muestra gráficamente los conjuntos de residuos absolutos R correspondientes a cada uno de los lapsos (como opuesto a mostrar los propios lapsos) y los planos de soporte para cada uno de los lotes. La Figura 4B solo muestra el LOQ #0 superior de la señal, para propósitos de legibilidad, mientras que la Figura 4C muestra lo que pasa con los planos de soporte del siguiente LOQ #-1 inferior. Como ya se mencionó, en esta modalidad específica no limitativa, el siguiente LOQ inferior de la señal, que se muestra en la Figura 4C, que tiene la misma tasa de muestreo que el LOQ superior, pero una resolución espacial inferior.
De manera similar a lo que se muestra en la Figura 4A, cada uno de los planos de soporte SP1-0, SP2-0, ..., SP6-0 soporta la reconstrucción de los conjuntos de residuos absolutos del lote correspondiente. A diferencia de lo que se muestra en la Figura 4A, sin embargo, en lugar de reconstruir SPi-0 en base a un plano de soporte correspondiente del mismo lote con un nivel de calidad inferior, esta modalidad no limitativa codifica y decodifica planos de soporte en base a una jerarquía escalonada específica de niveles de agregación que se producen para el LOQ #0 (es decir, sin realizar el submuestreo espacial, pero solo mezcla temporal con compensación de movimiento).
En particular, un procesador de señales que se configura como codificador produce conjuntos de residuos absolutos R 130-1, ..., 130-13 para cada uno de los lapsos en el LOQ #0 y genera planos de soporte SP1-0, SP2-0, ..., SP6-0, en donde cada plano se obtiene mediante la combinación de representaciones con compensación de movimiento adecuadas de los conjuntos de residuos absolutos del lote correspondiente. En esta modalidad simplificada no limitativa, los lotes se eligen hechos de un máximo de tres lapsos, y la posición de muestreo de un plano de soporte es igual a la posición de muestreo del primer lapso de cada lote dado. Se dice que los planos de soporte SP1-0, ..., SP6-0 son planos de soporte para el LOQ #0 en el nivel de agregación (LOA) #0.
El codificador procede entonces a codificar los planos de soporte SP1-0 y SP2-0 de acuerdo con un plano de soporte de orden superior SP1+3-0-1 a un nivel superior de agregación (LOA #1). En particular, el codificador produce SP1+3-0-1 mediante la combinación de las representaciones con compensación de movimiento adecuadas de SP1-0 y SP2-0, de acuerdo con la posición de muestreo de SP1+3-0-1 (en esta modalidad se establece la posición de muestreo de SP1-0, es decir, la más baja de las posiciones de muestreo de los planos que se combinan en el plano de soporte de orden superior). El codificador genera los residuos del plano de soporte Ru (no se muestra en la Figura) para cada uno de los planos de soporte SP1-0 y SP2-0 en base a una diferencia entre dichos planos y una representación con compensación de movimiento del plano de soporte SP1+3-0-1, de acuerdo con la siguiente fórmula:
R'* - S - MC(SP\ + 2 - 0 - 1 )
Figure imgf000038_0001
en donde S representa un plano de soporte (es decir, o SP1-0 o SP2-0) como se calcula inicialmente por el codificador y Z representa la representación reconstruida de dicho plano de soporte en un lado del decodificador (simulado por el codificador con el fin de generar adecuadamente los datos residuales, en base a lo que el decodificador es capaz de reconstruir).
De acuerdo con los mismos métodos, el codificador produce los planos de soporte de orden superior SP3+4-0-1 y SP5+6-0-1, así como también los conjuntos de residuos del plano de soporte Ru (un conjunto por cada plano de soporte) que son necesarios para reconstruir los planos de soporte SP3-0 y SP4-0 en base al plano de soporte de orden superior SP3+4-0-1, y los planos de soporte SP5-0 y SP6-0 en base al plano de soporte de orden superior SP5+6-0-1.
En otra modalidad no limitativa, el codificador codifica también los planos de soporte de orden superior en el LOA #1 de acuerdo con uno o más planos de soporte aún de orden superior en el LOA #2 (por ejemplo, el plano de soporte de orden superior SP1+2+3+4+5+6-0-2 que se muestra en la Figura 4B). En estas modalidades, el codificador produce los planos de soporte hasta el nivel de agregación más alto antes de comenzar la producción de conjuntos de residuos del plano de soporte Ru (que simula el proceso de reconstrucción en un lado del decodificador al iniciar desde el nivel de agregación más alto).
En un lado del decodificador, el decodificador reconstruye los planos de soporte en el LOA #0 (es decir, los planos de soporte necesarios con el fin de reconstruir los conjuntos de residuos absolutos) al recibir y decodificar los datos de reconstrucción correspondientes a los planos de soporte de orden superior para el grupo de lotes en el nivel de agregación más alto. El decodificador reconstruye entonces las predicciones para los planos de soporte en el siguiente nivel de agregación inferior y ajusta dichas predicciones en base a los conjuntos que se reciben de residuos del plano de soporte R1*. El decodificador reconstruye la jerarquía escalonada de los planos de soporte hasta (o mejor, hasta) el nivel de agregación más bajo. Como se ilustra en la Figura 4C, cada LOQ de un grupo dado de la señal tiene su propia jerarquía escalonada de niveles de agregación de planos de soporte. En esta modalidad no limitativa, la jerarquía escalonada de planos de soporte de un LOQ dado es independiente de las jerarquías escalonadas de planos de soporte de otros LOQ de la señal.
La Figura 5A es un diagrama que ilustra ejemplos no limitativos de métodos para reconstruir muestras a través de patrones de decodificación ("onda de decodificación") en el caso de una señal basada en el tiempo hecha de una secuencia de muestras bidimensionales (por ejemplo, por medio de un ejemplo no limitativo, de un video hecho de fotogramas de video bidimensionales). El método - en la presente descripción se ilustra para la dimensión temporal -es aplicable también para señales que no se basan en el tiempo, desde simples señales bidimensionales hasta señales volumétricas, o incluso a señales con más de tres dimensiones.
En esta modalidad de ejemplo no limitativa, en el lado del codificador, la señal se ha procesado con un método jerárquico basado en escalones; en particular, para este caso de ejemplo, se realizó un submuestreo temporal en lotes de 16 muestras con un lapso de tiempo constante en el nivel de calidad más alto (que se llama LOQ # 0), dicho submuestreo se realiza con un factor de escala de submuestreo constante de dos a lo largo de todas las dimensiones (es decir, tanto las dimensiones del tiempo como las espaciales) hasta el LOQ # -4. Desde el LOQ # -4 (en donde la resolución del lote en la dimensión temporal es igual a 1 en la dimensión temporal, es decir, se representa por un solo lapso) hasta el LOQ # -5 más bajo, solo se aplicó el submuestreo en las dimensiones espaciales, con factores de escala adecuados. El codificador agrupó la información necesaria para reconstruir cada muestra de la señal en cada LOQ dado en conjuntos correspondientes de datos de reconstrucción, para lo que asigna un marcador de sincronización adecuado a cada uno de los conjuntos de datos de reconstrucción. El codificador también generó información descriptiva adecuada correspondiente a la estructura de la jerarquía escalonada y las características de cada lapso, por ejemplo, lo que permite al decodificador identificar qué lapsos de un LOQ inferior ("predictores") deben procesarse con el fin de generar una predicción para un lapso dado a un LOQ superior.
En una modalidad no limitativa, dichos conjuntos de datos de reconstrucción incluyen datos residuales que permiten reconstruir, en base a las predicciones que se calculan mediante un sobremuestreo y filtrado adecuados de uno o más lapsos predictores de la señal a un LOQ inferior, los lapsos de la señal correspondientes a cada conjunto de datos de reconstrucción. En otra modalidad no limitativa, los datos residuales se indican con referencia a uno o más conjuntos de datos predictores comunes ("planos de soporte") para el LOQ correspondiente. Con el fin de favorecer la legibilidad, la Figura 5A no muestra ningún plano de soporte, pero los expertos en el arte pueden entender fácilmente cómo los métodos de plano de soporte descritos en la Figura 3A, 3B, 4A y 4B también pueden aprovecharse en este caso.
Para señales de tamaño relativamente grande a lo largo de cualquiera de sus dimensiones, cualquier método práctico de codificación requiere trabajar en una porción de una señal a la vez (en particular si se quiere aprovechar la disponibilidad de múltiples núcleos de procesamiento en paralelo): para el caso que se ilustra en la Figura 5A, tales porciones serían los lotes de 16 lapsos en el LOQ # 0. Al trabajar en porciones separadas de una señal, como ya se mencionó en la descripción de la Figura 1E, puede conducir potencialmente desagradables "artefactos de bloque" en los límites de diferentes porciones de la señal.
Un conjunto no limitativo de modalidades de ejemplo que abordan adecuadamente el problema de los "artefactos de bloque" consiste en procesadores de señales que (para cualquiera o todas las dimensiones de la señal) realizan operaciones de decodificación al aprovechar los núcleos de sobremuestreo que incluyen también información de muestras pertenecientes porciones vecinas de la señal, más allá de los límites que se usaron durante el submuestreo. Otro conjunto no limitativo de modalidades de ejemplo también adopta en el lado del decodificador núcleos de sobremuestreo que son más grandes que los núcleos de submuestreo que se usaron durante la etapa de submuestreo con el fin de producir la jerarquía escalonada (por ejemplo, por medio de ejemplos no limitativos, mediante el uso de operaciones de submuestreo bilineal/trilineal cuando se construye la jerarquía escalonada y operaciones de sobremuestreo bicúbico/tricúbico cuando se reconstruye a partir de un LOQ inferior las predicciones para un LOQ superior). En tales modalidades, durante el sobremuestreo de espacio-tiempo, el decodificador y el codificador adoptan filtros con un núcleo (u operaciones no lineales que procesan lapsos) que van más allá de los límites usados en el submuestreo. Como ejemplo no limitativo, en la Figura 1E las operaciones de sobremuestreo que se realizan para producir una predicción para el lapso 100-8 aprovechan los lapsos 101-5, 101-7, 101-9 y 101-12, a pesar del hecho que durante la fase de submuestreo, el lapso 100-8 solo "contribuyó" a producir el lapso 101-7.
Los nuevos métodos de acuerdo con la invención permiten una etapa de optimización adicional: los conjuntos de datos de reconstrucción pueden codificarse, transmitirse al decodificador y/o decodificarse en varios patrones continuos/móviles diferentes (que se definen como tipos de "onda", a falta de un término mejor), de acuerdo con el compromiso deseado entre calidad, compresión y latencia.
En otras modalidades no limitativas, un decodificador recibe y procesa los datos de reconstrucción codificados de acuerdo con patrones de decodificación específicos, para que el codificador pueda comenzar la reconstrucción del nivel de calidad más alto de una señal antes de tener completamente reconstruido (y/o recibido completamente) el nivel de calidad más bajo de la misma señal, lo que reduce en consecuencia el retardo de codificación/decodificación durante una transmisión.
De acuerdo con otras modalidades no limitativas, un procesador de señales organiza conjuntos de datos de reconstrucción codificados en una secuencia, que produce un flujo de datos, en donde este flujo de datos corresponde a los lapsos de una señal codificada en una jerarquía escalonada, y que debe decodificarse de acuerdo con un patrón de onda de decodificación dado. La secuencia de datos de reconstrucción codificados se organiza para soportar la secuencia de operaciones de decodificación necesarias, y no necesariamente para reflejar/imitar la estructura y la secuencia de los lotes. En particular, aunque la secuencia "natural" para los datos de reconstrucción codificados parecería ser consistente con la manera en que se construyó la jerarquía escalonada (es decir, lote por lote), de hecho, una manera eficiente de secuenciar y transmitir a un decodificador los conjuntos de datos de reconstrucción codificados atraviesan los lotes, al seguir el patrón de reconstrucciones que se va a realizar en el decodificador. Tales patrones también pueden variar con el fin de atender a diferentes restricciones (por ejemplo, por medio de ejemplos no limitativos, minimizar el retardo de decodificación, reducir la memoria necesaria en el decodificador, minimizar la cantidad de cálculos duplicados, etc.). En otras palabras, los conjuntos de datos de reconstrucción se serializan adecuadamente para soportar una secuencia dada de operaciones de decodificación, independientemente de la secuencia con la que dichos conjuntos de datos de reconstrucción se obtuvieron durante el proceso de codificación.
La Figura 5A ilustra la modalidad de ejemplo de dos patrones de decodificación potenciales a lo largo de la dimensión del tiempo en el contexto de una jerarquía escalonada tiempo-espacio en donde para los niveles de la jerarquía hasta el LOQ # -3, las operaciones de sobremuestreo usan un núcleo que comprende dos lapsos de un lOq inferior (por ejemplo, por medio de un ejemplo no limitativo, un filtro lineal) con el fin de producir una predicción de un lapsos de un lOq superior, mientras que para todos los niveles de la jerarquía por encima del LOQ # -3, las operaciones de sobremuestreo usan un núcleo que comprende cuatro lapsos temporales de un LOQ inferior (por ejemplo, por medio de ejemplo no limitativo, un filtro cúbico) con el fin de producir una predicción de un lapso de un LOQ superior. Este es solo un ejemplo no limitativo, ya que los núcleos de submuestreo y sobremuestreo entre cualquier nivel y el otro pueden ser, en principio, de cualquier dimensión (también mayor que 4), y en general tanto las operaciones de submuestreo como las de sobremuestreo y los filtros pueden incluir también las operaciones no lineales.
Los rectángulos en la Figura 5A representan los lapsos de la señal en un LOQ dado. Para cada lapso de cada LOQ de cada lote, el codificador genera un conjunto correspondiente de datos de reconstrucción con marcas de sincronización, con la información y los parámetros que son necesarios con el fin de reconstruir una representación del lapso. Incidentalmente, el mismo hecho de generar información con marcas de sincronización, para los datos de reconstrucción correspondientes a cada muestra dada de cada LOQ dado es otra característica innovadora de los métodos que se describen en la presente descripción. Por ejemplo, al centrarse en el lapso 510 (es decir, la representación del LOTE 1 en el LOQ # -4), un conjunto adecuado de datos de reconstrucción con marcas de sincronización (no se muestran en la Figura 5A) contiene la información y los parámetros que permiten que el decodificador reconstruya, en base a las predicciones que se generan a partir de un sobremuestreo y filtrado adecuado de la representación del LOTE 1 en el LOQ # -5, una representación del lapso 510. Tal información y parámetros incluyen la información correspondiente a los datos residuales para combinarlos con las predicciones con el fin de obtener una representación de 510. Como ya se mencionó, la Figura 5A no incluye ninguna cadena de soporte, pero otras modalidades de ejemplo no se emplean los métodos que se ilustran en la Figura 5A junto con las cadenas de soporte.
Los dos patrones de decodificación potenciales que se ilustran en la Figura 5A indican dos secuencias de ejemplo no limitativas con las que el decodificador podría recibir y/o decodificar los conjuntos de datos de reconstrucción en este caso específico.
En una modalidad de ejemplo no limitativa, el decodificador se configura para decodificar y reconstruir tan pronto como sea posible los lapsos de la señal al nivel de calidad más alto (LOQ # 0). En tal modalidad, el decodificador intenta, por lo tanto, en primer lugar, reconstruir una representación del primer lapso del LOTE 1 en el nivel de calidad más alto (LOQ #0). Con el fin de hacerlo, la secuencia de operaciones más rápida es la siguiente: el decodificador (que conoce la estructura de la jerarquía escalonada, por ejemplo, al haber recibido la información descriptiva adecuada) identifica, en base al primer lapso objetivo a decodificar (por ejemplo, el primer lapso del LOTE 1 en el LOQ #0), todos los lapsos que deben decodificarse también. En particular, con el fin de decodificar el lapso objetivo, el decodificador necesita primero reconstruir los lapsos en el LOQ # -1 que son necesarios con el fin de generar una predicción para el lapso objetivo (es decir, los intervalos predictores para el lapso objetivo). Dichos lapsos predictores, con el fin de decodificarse, requieren la disponibilidad de representaciones reconstruidas para sus lapsos predictores en el LOQ inferior. Es posible entender que el patrón de dependencias debe desenrollarse hasta el primer lapso en el nivel de calidad más bajo, con el fin de permitir que el decodificador realice el proceso de decodificación. Una vez que el decodificador ha identificado todos los lapsos que necesitan reconstruirse con el fin de reconstruir el lapso objetivo, puede comenzar a decodificarlos al iniciar desde los lapsos en el LOQ más bajo.
En una modalidad no limitativa, en lugar de recibir conjuntos de datos de reconstrucción que se organizan lote por lote de acuerdo con la estructura de la jerarquía, el decodificador recibe los conjuntos de datos de reconstrucción con el patrón de secuencia (patrón de onda) que se indica en la Figura 5A por las letras junto a algunos de los lapsos. Para simplificar, se evitará mencionar todas las etapas de reconstrucción (por ejemplo, las predicciones, etc.) y solo se mencionará la secuencia de operaciones de reconstrucción generales, que indican sustancialmente la secuencia con la que el decodificador decodifica y aprovecha cada conjunto de datos de reconstrucción. De acuerdo con este patrón, con el fin de reconstruir el lapso M, el decodificador tendría que reconstruir todos los lapsos con una letra "inferior" a M.
Una vez se identifican dichos lapsos, el decodificador puede elegir cómo comenzar a decodificarlos. En una modalidad no limitativa, se comienza desde el LOQ inferior al decodificar los lapsos en el siguiente orden: A, D, B, E, C, F, H, G, I, K, J, L, M.
Nótese que, en este ejemplo no limitativo, la secuencia de reconstrucción no seguía estrictamente la secuencia con la que se habían enviado los datos de reconstrucción al decodificador (es decir, A, B, C, D, E, F, G, H, I, etc.). La razón es que la secuencia se pensó para soportar un patrón continuo más general del tipo "Lo más alto posible, lo antes posible", sin saber de antemano qué lapso objetivo habría elegido el decodificador para comenzar, o las restricciones específicas del decodificador. Otras modalidades del decodificador, por ejemplo (por ejemplo, en respuesta a una necesidad de visualizar una posición de muestreo específica lo antes posible) podría haber decidido seleccionar como el LOQ objetivo para decodificar el LOQ #-2 y, por tanto, G como el primer lapso objetivo. En tal caso, el decodificador decodificaría los lapsos con la siguiente secuencia: A, D, B, E, C, F, G (es decir, mucho más cerca de la secuencia real que se transmite).
Si, en cambio, el decodificador desea minimizar los posibles retardos en la decodificación (incluso a costa de tener que decodificar a veces ciertos lapsos múltiples veces, debido a saltos continuos hacia arriba y hacia abajo en la jerarquía), podría de hecho decodificar los lapsos que siguen directamente la secuencia que se indica por las letras: el decodificador reconstruiría primero A; luego B; luego C (al tener en cuenta que la predicción para el lapso C proviene de un núcleo de sobremuestreo que debe incluir dos lapsos del LOQ #-4, pero ya que C es el primer lapso del primer lote del grupo, las operaciones de predicción aprovechan solo un predictor, es decir, B); entonces le gustaría reconstruir G, pero primero necesita F, por lo que tiene que bajar hasta reconstruir D del Lote 2; luego E; luego F; luego G, luego hasta el LOQ #-3 para reconstruir H con el fin de predecir y reconstruir I, etc. En cualquier punto dado, mientras el decodificador sigue a reconstrucción de otros lapsos, el decodificador, si es necesario, puede enviar el lapso decodificado con el número de imagen 1 y con el LOQ más alto posible a un dispositivo de visualización.
Nótese que el patrón de onda de decodificación (es decir, la secuencia real de las operaciones de decodificación) depende de la estrategia de decodificación, pero también del tamaño de los núcleos de sobremuestreo temporal en cada LOQ. El retardo mínimo de reproducción para un patrón de onda de decodificación tal como el que se ilustra en la Figura 5A se trata de dos lotes, ya que D, E y H del Lote 2 son necesarios con el fin de reconstruir M, el primer lapso del Lote 1.
Cualquiera que sea la estrategia de reconstrucción que se elija, después de tener decodificado M, el decodificador procede con los otros lapsos al seguir el mismo método. La secuencia puede continuar indefinidamente, al seguir el mismo patrón de decodificación y la misma lógica.
En una modalidad, el flujo de datos que se recibe por el decodificador se organiza de acuerdo con un patrón de decodificación específico, por lo tanto, contiene conjuntos de datos de reconstrucción que se organizan de acuerdo con una secuencia que va y viene a través de lotes y a través de LOQ.
Tal secuencia de reconstrucción, para el ejemplo no limitativo que se representa en la Figura 5A, logra el mínimo retardo de reproducción y requiere una cantidad mínima de memoria en el lado del decodificador. Al mismo tiempo, requiere que el decodificador opere de ida y vuelta lado a través de todos los LOQ.
El segundo ejemplo no del patrón de decodificación que se ilustra en la Figura 5A es el que se indica por números incrementales. En tal modalidad, el decodificador se configura para reconstruir progresivamente todos los lapsos necesarios de cada LOQ (es decir, que incluye también muestras de lotes vecinos, si es necesario) al mismo tiempo, con el objetivo de generar, LOQ por LOQ, toda la información que es necesario para reconstruir completamente un Lote en el nivel de calidad más alto (LOQ # 0) y enviarlo a un dispositivo de visualización. De acuerdo con tal objetivo, el decodificador primero reconstruiría los lapsos 1, 2 y 3 del LOQ # -5. Entonces reconstruiría los lapsos 4, 5 y 6 del LOQ # -4. Entonces los lapsos 7, 8, 9, 10 y 11 del LOQ # -3. Entonces los lapsos 12, 13, 14, 15, 16, 17 y 18 del LOQ # -2. Entonces los lapsos 19, 20, 21, 22, 23, 24, 25, 26, 27 y 28 del LOQ # -1. Finalmente, los lapsos 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,42, 43 y 44 del LOQ # 0, que completan la reconstrucción del LOQ más alto del Lote 1. Como puede verse, mientras que con el patrón de decodificación que se ilustra previamente, la primera muestra del LOQ más alto fue la muestra 13el que se reconstruye (letra "M"), con este patrón de decodificación que necesita procesar muchas más muestras antes de llegar a ella, y en particular la primera muestra del LOQ más alto es la 29a muestra que se reconstruye.
En caso de que ni el retardo de la decodificación ni el uso de la memoria sean restricciones relevantes, otra modalidad no limitativa implementa una aplicación aún más extrema de este patrón de decodificación al esperar hasta que se han recibido todos los datos de reconstrucción de un grupo y entonces se reconstruye todo el grupo que comienza desde el LOQ más bajo y se procede LOQ por LOQ.
En otras modalidades no limitativas, el decodificador se configura para decodificar, en base a los conjuntos de datos de reconstrucción disponibles, los lapsos con el LOQ más alto y con las posiciones de muestreo más cercanas a una posición de muestreo de referencia dada. En otras modalidades no limitativas, el decodificador se configura para comenzar la decodificación de un LOQ dado solo cuando pueden reconstruirse un número mínimo dado de lapsos de ese LOQ.
En otras modalidades no limitativas, los mismos métodos se aplican en el contexto de las señales codificadas al aprovechar también las memorias intermedias de soporte/cadenas de soporte. En tal caso, antes de ser capaz de comenzar la decodificación de un lapso dado, el decodificador debe recibir y decodificar la una o más cadenas de soporte que son necesarias con el fin de reconstruir el lapso dado.
La Figura 5B es un diagrama que ilustra ejemplos no limitativos de patrones de decodificación en el caso de una señal basada en el tiempo similar a la descrita en la Figura 5A, en donde las operaciones de sobremuestreo temporal usan, en todos los LOQ que comprenden más de un lapso, un núcleo que comprende dos lapsos de un LOQ inferior (por ejemplo, por medio de un ejemplo no limitativo, un filtro lineal), con el fin de producir una predicción de un lapso de un LOQ superior. Como se evidencia rápidamente desde el diagrama, en tal caso, cualquier lote dado puede decodificarse con menos retardo de reproducción con respecto al caso que se ilustra en la Figura 5A.
Los dos patrones de decodificación no limitativos que se ilustran en la Figura 5B siguen la misma lógica que las descritas en la Figura 5A, y se adaptan al nuevo contexto en donde solo son necesarios dos lapsos de la señal en un LOQ inferior con el fin de generar la predicción para un lapso en un LOQ superior.
En una primera modalidad de ejemplo no limitativa, el decodificador se configura para decodificar y reconstruir tan pronto como sea posible los lapsos de la señal al nivel de calidad más alto (LOQ # 0). En tal modalidad, el decodificador reconstruye los lapsos de la señal en la secuencia que se indica por las letras: primero reconstruye A, luego B, luego C, luego D, luego E, luego F (el primer lapso en el LOQ más alto se reconstruye así después de solo 6 procesos de reconstrucción). Entonces, con el fin de generar una predicción para el segundo lapso en el LOQ # 0, el decodificador necesita volver a los LOQ inferiores y reconstruir G y H. Al aprovechar B y H, se genera I. Al aprovechar C e I, se genera J, etc., al seguir la secuencia de reconstrucciones que se indica por las letras.
En un segundo conjunto de modalidades de ejemplo no limitativas, el decodificador se configura para reconstruir un número mínimo de lapsos de un mismo LOQ (es decir, que incluye también muestras de lotes vecinos, si es necesario) antes de comenzar a reconstruir los lapsos de un LOQ superior.
En una de tales modalidades, el decodificador se configura con el objetivo de generar, LOQ por LOQ, toda la información que es necesaria para reconstruir completamente un Lote al nivel de calidad más alto (LOQ # 0). De acuerdo con tal objetivo, el decodificador reconstruye las muestras de acuerdo con el patrón de secuencia que se indica por los números en la Figura 5B: primero reconstruiría 1 y 2 del LOQ # -5, entonces 3 y 4 del LOQ # -4, entonces 5, 6 y 7 del L O Q # -3, entonces 8, 9, 10, 11 y 12 del LO Q # -2, entonces 13, 14, 15, 16, 17, 18, 19, 20 y 21 del LOQ# -1, y finalmente 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 y 37 del LOQ # 0, con lo que se completa la reconstrucción del LOQ más alto del lote 1.
Al recibir datos de reconstrucción adicionales para el Lote 2 y el Lote 3, el decodificador procedería a decodificar los lapsos del Lote 2, de acuerdo con el mismo método y - de manera compatible con las limitaciones de la memoria caché - que aprovecha las representaciones de los lapsos del Lote 1 y el Lote 2 que ya fueron decodificados (y/o que se reprocesan en base a los datos de reconstrucción disponibles).
Claramente, tanto para las Figuras 5A como 5B, los patrones de decodificación que se ilustran son solo modalidades de ejemplo no limitativas. Son posibles varios otros patrones de secuencia al adoptar el mismo método subyacente cubierto por esta solicitud de patente.
Además, en algunas modalidades no limitativas, los patrones de decodificación se ajustan dinámicamente en base a los parámetros que indican la congestión del ancho de banda, las limitaciones de la potencia de procesamiento, la entrada del usuario, etc., con el fin de limitar la reconstrucción de porciones de la señal hasta un cierto nivel de calidad al LOQ más alto posible, o incluso a solo una representación por cada lote que se calcula en base a la información de la cadena de soporte (por ejemplo, en el caso de una navegación de la señal extremadamente rápida).
En otras modalidades no limitativas, los patrones de decodificación pueden cambiar dinámicamente también con el fin de implementar la reproducción negativa (es decir, la decodificación de las muestras de la señal en orden de tiempo inverso), funciones de búsqueda (por ejemplo, navegación rápida, avance rápido, rebobinado rápido) y/o acceso aleatorio a muestras específicas de la señal.
En aún otras modalidades no limitativas, el decodificador decodifica hasta un nivel de calidad dado también en base a los parámetros que indican los objetivos de consumo de energía y/o los parámetros que indican tiempo de batería disponible. En ausencia de limitaciones de consumo de energía, el decodificador decodifica hasta un LOQ n específico (por ejemplo, por medio de un ejemplo no limitativo, la resolución máxima y el LOQ visualizable por el dispositivo de visualización disponible); cuando el consumo de energía se convierte en un problema (por ejemplo, por medio de un ejemplo no limitativo, el decodificador recibe los parámetros que indican la necesidad de reducir el consumo de energía), el decodificador decodifica solo hasta el nivel de calidad m (con m < n), lo que reduce la cantidad de cálculos necesarios para reconstruir una representación de la señal y, en consecuencia, el consumo de energía.
La Figura 5C es un diagrama de ejemplo que ilustra ejemplos no limitativos de patrones de decodificación en el caso de una señal basada en el tiempo similar a la descrita en la Figura 5A y 5B, con la diferencia de que en este caso para los niveles de la jerarquía hasta el LOQ # -1, las operaciones de sobremuestreo temporal usan un núcleo que comprende dos lapsos de un LOQ inferior (por ejemplo, por medio de un ejemplo no limitativo, un filtro lineal) con el fin de producir una predicción para un lapso de un LOQ superior, mientras que, con el fin de predecir los lapsos del LOQ # 0 a partir de los lapsos del LOQ # -1, las operaciones de sobremuestreo temporal usan un núcleo que comprende cuatro lapsos del LOQ inferior (por ejemplo, por medio de un ejemplo no limitativo, un filtro cúbico).
De manera similar a la Figura 5A y 5B, el diagrama ilustra dos patrones de ejemplo no limitativos que permiten al decodificador reconstruir los lapsos del LOQ más alto (LOQ # 0). El primer patrón, que se indica por las letras (de la A a la Z), tiene como objetivo reconstruir los lapsos a un nivel de calidad superior tan pronto como sea factible dados los datos de reconstrucción que se encuentran disponibles. El segundo patrón, que se indica por números (del 1 al 42), reconstruye progresivamente, LOQ por LOQ, todos los lapsos necesarios de cada lOq al mismo tiempo (comenzando desde el LOQ más bajo) para reconstruir completamente el LOQ #0 para el Lote 1.
La Figura 5D es un diagrama que ilustra cómo pueden variarse los patrones de decodificación en base a las solicitudes específicas que se reciben por el decodificador, tal como el acceso aleatorio a un lapso específico de la señal. La señal y la jerarquía escalonada que se ilustra en este ejemplo no limitativo es similar a las que se ilustran en la Figura 5A, 5B y 5C, con datos residuales que asumen que las predicciones de los lapsos del LOQ superior a partir de lapsos de los LOQ inferiores se generan de acuerdo con los mismos métodos que en 5C (es decir, para niveles de la jerarquía hasta el LOQ #-1, las operaciones sobremuestreo temporal usan un núcleo que comprende dos lapsos de un LOQ inferior, mientras que para las operaciones de sobremuestreo temporal del LOQ más alto se usan núcleos que comprenden cuatro lapsos del LOQ #-1).
El diagrama ilustra dos patrones potenciales de reconstrucción que se destinan a reconstruir una muestra específica en el LOQ más alto.
Un primer ejemplo de patrón de secuencia se indica mediante números y se caracteriza por reconstruir progresivamente, LOQ por LOQ, todos los lapsos necesarios de cada LOQ al mismo tiempo (comenzando desde el LOQ más bajo). De acuerdo con tal objetivo, el decodificador, en base al lapso objetivo a reconstruir en el LOQ #0, identifica (mediante el "desenrollado" todas las dependencias de predicción) todos los lapsos del LOQ inferior que deben reconstruirse. A continuación, el decodificador comienza entonces a reconstruir dichos lapsos al iniciar desde los lapsos en el LOQ más bajo y procede LOQ por LOQ. Primero reconstruye 1, 2 y 3 del LOQ # -5, luego 4, 5 y 6 del LO Q # -4, luego 7, 8 y 9 del LO Q #-3, luego 10, 11 y 12 del LO Q #-2, luego 13, 14, 15 y 16 del LOQ #-1, y por último el lapso 17, que es la muestra objetivo que se ha reconstruido por el decodificador a manera de "acceso aleatorio".
Un segundo ejemplo de patrón de secuencia se indica por letras y se caracteriza por el intento de reconstruir muestras aun nivel de calidad superior tan pronto como sea factible. De acuerdo con tal modalidad no limitativa, el decodificador se configura para procesar primero los datos de reconstrucción para reconstruir A, luego B, luego C, luego D. Al aprovechar D y B, el decodificador reconstruye entonces E y F. Al aprovechar E y F, reconstruye entonces G y H. Al aprovechar G y H, reconstruye entonces I y J. Entonces vuelve a los LOQ inferiores con el fin de reconstruir K y L. Al aprovechar D y L, reconstruye M. Al aprovechar F y M, reconstruye N. Al aprovechar H y N, reconstruye O y P. Finalmente, al aprovechar I, J, O y P, reconstruye Q, que es la muestra objetivo que se ha reconstruido por el decodificador a manera de "acceso aleatorio".
La Figura 5E es otro diagrama que ilustra modalidades no limitativas de patrones de decodificación para el acceso aleatorio a un lapso específico de la señal.
En este caso, como en la Figura 5B, todas las operaciones de sobremuestreo temporal usan, un núcleo que comprende dos lapsos de un LOQ inferior (por ejemplo, por medio de un ejemplo no limitativo, un filtro lineal), con el fin de producir una predicción de un lapso de un lOq superior. Como se evidencia rápidamente a partir del diagrama, en tal caso se necesitan menos reconstrucciones (y en consecuencia también menos conjuntos de datos de reconstrucción, es decir, menos bits de transmisión) con el fin de decodificar y reconstruir el lapso objetivo de la señal.
De manera similar a la Figura 5D, el diagrama ilustra dos patrones de ejemplo no limitativos que permiten a un recurso decodificador reconstruir el lapso objetivo. El primer patrón, que se indica por números, reconstruye progresivamente, LOQ por LOQ, todos los lapsos necesarios de cada LOQ al mismo tiempo (comenzando desde el LOQ más bajo). El segundo patrón, que se indica por las letras, tiene como objetivo reconstruir los lapsos a un nivel de calidad superior tan pronto como sea factible.
Como ya se mencionó, los casos de ejemplo que se ilustran anteriormente no incluyen los datos de reconstrucción que se refieran a una cadena de soporte. Para modalidades no limitativas donde el decodificador recibe conjuntos de datos de reconstrucción que permiten reconstruir una cadena de soporte Z en un LOQ dado, es importante subrayar que esos conjuntos deben decodificarse antes de comenzar a decodificar cualquiera de los otros conjuntos de datos de reconstrucción del mismo LOQ, en donde estos conjuntos de datos de reconstrucción requieren la disponibilidad de una representación de la cadena de soporte Z con el fin de decodificarse.
Como ya se mencionó, las modalidades que se ilustran en la Figura 5A, 5B, 5C, 5D y 5E son solo ejemplos no limitativos de patrones de decodificación a lo largo de una dimensión específica. Sin embargo, el método de ondas de decodificación, que se ilustra en la presente descripción para la dimensión del tiempo, se aplica también a otras dimensiones de la señal (siempre y cuando para tales dimensiones la señal se haya segmentado, o mediante el uso de los equivalentes espaciales de los lotes o mediante la segmentación de conjuntos de datos residuales en subconjuntos de datos residuales codificados independientemente con relación a las porciones dadas de la señal). Las ondas de decodificación también se aplican más de una dimensión. En una modalidad de ejemplo no limitativa, por ejemplo, se usa un patrón de decodificación a lo largo de dimensiones espaciales con el fin de permitir que un dispositivo de decodificación con resolución de pantalla limitada (por ejemplo, por medio de un ejemplo no limitativo, un teléfono móvil) reconstruya una porción de un video de alta resolución a resolución completa, lo que implementa efectivamente una funcionalidad de zoom dinámico durante la reproducción de video sin requerir que el dispositivo de decodificación (por ejemplo, con potencia de procesamiento limitada y ancho de banda disponible limitado) reciba y decodifique la señal completa a resolución completa. En otra modalidad no limitativa, un dispositivo decodificador se configura para decodificar y mostrar porciones que se seleccionan de una imagen volumétrica grande, de acuerdo con un patrón de onda de decodificación adecuado.
En una modalidad no limitativa, un aparato en la red reordena la transmisión de conjuntos de datos de reconstrucción y, en ciertos casos, omite la transmisión de conjuntos de datos de reconstrucción que se relacionan con todos los LOQ, para facilitar la decodificación de un mismo contenido a equipos con diferentes restricciones de aplicación.
En otra modalidad no limitativa, un aparato en la red recibe instrucciones del decodificador para reordenar la transmisión de conjuntos de datos de reconstrucción y, en ciertos casos, para omitir la transmisión de conjuntos de datos de reconstrucción que se relacionan con todos los LOQ. El protocolo para el intercambio de información entre el decodificador y este aparato de reordenación puede incluir solo un intercambio de información al inicio de la transmisión o un intercambio de información en curso en tiempo real.
La Figura 6 muestra una posible implementación de las modalidades descritas anteriormente, en donde esta implementación comprende un procesador de señales 620 que se configura para recuperar de un repositorio 610 y procesar datos de reconstrucción de una señal codificada en una jerarquía escalonada, lo que genera un flujo de datos 630 para un decodificador 640, que reconstruye una representación de la señal 1000 que consiste de una secuencia de uno o más lapsos de unos niveles de calidad dados. El repositorio 610 comprende una pluralidad de conjuntos de datos de reconstrucción 600-1, 600-2, ..., 600-N, junto con la información descriptiva 601. La información descriptiva 601 consta de uno o más conjuntos de datos codificados que contienen información que corresponde a la estructura de la jerarquía escalonada, que permite que el procesador de señales 620 identifique conjuntos de datos de reconstrucción 600.
Un recurso decodificador 640 utiliza las porciones que se transmiten de los datos de reconstrucción 600 para reconstruir representaciones de la señal en diferentes niveles de calidad. El decodificador 640 puede recibir conjuntos de datos de reconstrucción 600 desde cualquier fuente adecuada (por ejemplo, enlace de comunicación, dispositivo de almacenamiento, etc.).
Tenga en cuenta que los valores asociados con la representación de la señal 1000 pueden representar cualquiertipo adecuado de información de datos, que incluyen, sin limitación, datos de audio, datos de audio multicanal, datos de imágenes, secuencias de imágenes (por ejemplo, datos de imágenes médicas), video (por ejemplo, secuencias de fotogramas, secuencias de campos entrelazados, etc.), vídeo multivista, vídeo 3D, símbolos, datos volumétricos, vídeo volumétrico, etc.
En respuesta a los parámetros adecuados que se reciben (por ejemplo, por medio de los ejemplos no limitativos, que indican el tipo de dispositivo decodificador, las condiciones de la red, el tipo de reproducción a realizar en el decodificador, etc.), el procesador de señales 620 identifica y obtiene conjuntos que se seleccionan de los datos de reconstrucción para transmitirlos al decodificador. El procesador de señales 620 secuencia entonces dichos conjuntos en una secuencia correspondiente a la secuencia de las operaciones de decodificación a realizar por el decodificador 640 mediante el ensamble del flujo de datos 630.
El decodificador 640 reconstruye las representaciones de una señal en base a los conjuntos de datos de reconstrucción que se transmiten. Durante la etapa de transmisión, el procesador de señales que recupera los datos de reconstrucción del repositorio 610 varía un nivel de calidad de los datos de reconstrucción que se transmiten al recurso decodificador. El recurso decodificador decodifica los datos de reconstrucción que se reciben para reproducir la señal en diferentes niveles de calidad. Por lo tanto, la señal puede codificarse para incluir en el repositorio 610 los datos de reconstrucción apropiados 600 para reconstruir cada porción de la señal en el nivel de calidad más alto. Sin embargo, el procesador de señales 620 puede configurarse para transmitir selectivamente porciones de los datos de reconstrucción a un recurso remoto tal como un decodificador.
La transmisión de los datos de reconstrucción al recurso decodificador puede incluir la transmisión en serie de cada una de las múltiples secuencias en orden secuencial, una tras otra, en un flujo de bits al decodificador, y proporcionar información de marcador en el flujo de bits para indicar un inicio y un final respectivos de cada mosaico para cada secuencia de datos de reconstrucción escalonados. En una variante no limitativa de las modalidades descritas anteriormente, el procesador de señales 620 identifica el decodificador 640, selecciona porciones adecuadas de los datos de reconstrucción 600, genera un flujo de datos 630 que contiene conjuntos de datos codificados que permiten reconstruir una señal hasta un nivel de calidad dado, y transmite el flujo de datos al decodificador 640.
De acuerdo con otra modalidad no limitativa, el procesador de señales puede configurarse para comenzar a transmitir una primera secuencia de conjuntos de datos de reconstrucción correspondientes a una porción de una señal hasta un primer nivel de calidad y entonces, en respuesta a la recepción de una solicitud de transmisión a un segundo nivel de calidad, transmitir una segunda secuencia de conjuntos de datos de reconstrucción correspondientes a una porción de la señal hasta el segundo nivel de calidad en lugar del primer nivel de calidad. Por ejemplo, una fuente tal como el decodificador 640 puede solicitar la transmisión de la señal de acuerdo con una calidad superior o inferior a que la de una porción previamente transmitida. En respuesta a la solicitud, el procesador de señales transmite los datos de reconstrucción al nivel de calidad que se solicita.
De acuerdo con otra modalidad no limitativa, el procesador de señales 620 puede procesar los conjuntos de datos de reconstrucción 600 en uno o más niveles de calidad para generar los correspondientes conjuntos de datos de reconstrucción que incluyen la codificación redundante, para permitir la reproducción de un nivel de calidad inferior de la señal también en caso de errores de transmisión. De esta manera, el decodificador 640 será capaz de reproducir la señal al menos a un nivel de calidad inferior en el caso de que los niveles de calidad superiores se corrompan.
De acuerdo con otra modalidad no limitativa, el procesador de señales 620 puede procesar los conjuntos de datos de reconstrucción en uno o más niveles de calidad y/o información descriptiva (por ejemplo, marcadores de sincronización, encabezados o información descriptiva correspondiente a la estructura de la jerarquía escalonada) para generar conjuntos correspondientes de datos de reconstrucción encriptados, de acuerdo con métodos de encriptación adecuados. En consecuencia, el decodificador 640 será capaz de desencriptar la señal al aplicar métodos de desencriptación adecuados solo en una porción de todo el flujo de datos 630. Por lo tanto, es imposible decodificar y reproducir la señal sin tener que desencriptar los datos encriptados.
De acuerdo con aún otra modalidad no limitativa, el procesador de señales 620 transmite al decodificador 640 una primera secuencia de datos de reconstrucción correspondientes a una gran porción de la señal con un nivel de calidad bajo. Subsecuentemente, transmite una segunda secuencia de datos de reconstrucción correspondientes a un nivel de calidad superior de un subconjunto de dicha gran porción de la señal.
De acuerdo con aún otras modalidades no limitativas, el procesador de señales 620 encripta con métodos adecuados de gestión de derechos digitales (DRM) la información del marcador de sincronización y/o una porción limitada del flujo de bits (por ejemplo, por medio de un ejemplo no limitativo, los datos de reconstrucción pertenecientes a niveles de calidad inferiores, que son esenciales con el fin de reconstruir niveles de calidad superiores y con el fin de "dar sentido" al resto de los datos de reconstrucción). Además, el procesador de señales inserta una pluralidad de bits al azar en el flujo de bits entre ciertos conjuntos de datos de reconstrucción, lo que dificulta sustancialmente la identificación de conjuntos de datos de reconstrucción (que por naturaleza se caracterizan por una longitud variable en un enfoque de codificación jerárquica basada en escalones) sin la disponibilidad de información del marcador de sincronización.
La Figura 7 muestra una modalidad de ejemplo no limitativa del método usado para submuestrear una imagen 2D en el contexto de generar una jerarquía escalonada. Los elementos 7.01, 7.02, 7.03, 7.04, 7.05, 7.06, 7.07, 7.08, 7.09, 7.10, 7.11, 7.12, 7.13, 7.14, 7.15, 7.16 pertenecen al nivel N. Si se asume, en un ejemplo no limitativo, un factor de escala de submuestreo de 2 a lo largo de ambas dimensiones, los elementos 7.101, 7.102, 7.103, 7.104, 7.105, 7.106, 7.107, 7.108 pertenecen al nivel N-1. Suponiendo, por medio de un ejemplo no limitativo, que se adopte un submuestreo bilineal, cada grupo de 4 elementos en el nivel N ("elementos controlados") contribuye a un elemento en el nivel N-1 ("elemento controlador"). Así, 7.101 se calcula como el promedio entre 7.01, 7.02, 7.09 y 7.10. Los elementos 7.201 y 7.202 pertenecen al nivel N-2. El elemento 7.201 es el promedio entre 7.101, 7.102, 7.105, 7.106.
El submuestreo a lo largo de más de dos dimensiones, en particular cuando una de las dimensiones es el tiempo, a menudo se trata de manera diferente.
En una modalidad no limitativa, un codificador realiza un submuestreo en tres dimensiones mediante el uso de filtrado trilineal. La Figura 7 ilustra el caso donde un primer plano bidimensional de elementos 7.501, que se muestrea en t = tü, y un segundo plano bidimensional de elementos 7.502, que se muestrea en t= t-i>ta se submuestrean en espacio y tiempo para producir el plano 7.503. El elemento 7.401 en el LOQ inferior se calcula como el promedio de 7.301,7.302, 7.303, 7.304, 7.311, 7.312, 7.313, 7.314. Los métodos de submuestreo básicos similares pueden capturar efectivamente la información altamente correlacionada cuando la tasa de muestreo se encuentra por encima de un umbral, o para porciones de la señal que se caracterizan por movimientos relativamente lentos a lo largo del tiempo. En diferentes contextos, también es preferible adoptar técnicas de compensación de movimiento al modificar en consecuencia los métodos usados para el submuestreo tridimensional.
Como ya se mencionó, las operaciones de sobremuestreo que, en el lado del decodificador, soportan la reconstrucción de la jerarquía escalonada no son necesariamente simétricas a las operaciones de submuestreo que se aprovechan para producirla. Con referencia a la Figura 7, en una modalidad de ejemplo no limitativa, el sobremuestreo se realiza mediante el uso de filtrado bicúbico. Las predicciones para los elementos 7.28, 7.29, 7.36, 7.37 de LOQ N+1 se calculan al aplicar un filtro bicúbico con un coeficiente A adecuado (por ejemplo, en una modalidad de ejemplo no limitativa A =-0,6) a los elementos 7.101, 7.102, 7.103, 7.104, 7.105, 7.106, 7.107, 7.108, 7.109, 7.110, 7.111, 7.112, 7.113, 7.114, 7115, 7.116 que pertenecen al LOQ N.
En otra modalidad no limitativa, las operaciones de sobremuestreo se realizan mediante el uso de filtrado bilineal en lugar de filtrado bicúbico. En tal modalidad, el elemento 7.28 se predice por medio de una combinación lineal de los elementos 7.106, 7.108, 7.110, 7.111 ponderada proporcionalmente a su distancia geométrica desde 7.28.
La Figura 8 es un diagrama de flujo que ilustra un método de codificación de una señal en una jerarquía escalonada de acuerdo con las modalidades descritas anteriormente.
Las Figuras 9A, 9B y 9C son diagramas de flujo que ilustran métodos de decodificación de una señal codificada en una jerarquía escalonada de acuerdo con las modalidades descritas anteriormente.
La Figura 10 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 computarizado 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, un terminal de red, un dispositivo de procesamiento, un dispositivo de red, que opere como un conmutador, un enrutador, un servidor, un cliente, etc.
Tenga en cuenta que la siguiente descripción proporciona una modalidad básica que indica cómo llevar a cabo la funcionalidad asociada con un procesador de señales 813 como se describió previamente. 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 repositorio 180 y, si está presente, a una pantalla de visualización, 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) que se configura 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 describen 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 190 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 repositorio 180.
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 del procesador de señales 840-1 puede implementar las funcionalidades de los procesadores de señales 813 y/u otros recursos necesarios para implementar la invención que se describe 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 lanzar, 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 el arte 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, que incluyen, pero no se limitan a, un sistema informático personal, un ordenador de escritorio, una laptop, un ordenador portátil, un portátil, un sistema informático central, una ordenador de mano, una estación de trabajo, un ordenador de red, un servidor de aplicaciones, un dispositivo de almacenamiento, un dispositivo de electrónica de consumo tal como una cámara, una videocámara, una caja decodificadora, un dispositivo móvil, una consola de videojuegos, un dispositivo de videojuegos de mano, un dispositivo periférico tal como un conmutador, un módem, un enrutador o, en general, cualquier tipo de dispositivo informático o electrónico.
La Figura 11 es un diagrama que ilustra los parámetros clave que se aprovechan para la cuantificación de los residuos.
La compresión con pérdida se realiza durante la etapa de cuantificación de residuos y se realiza por el codificador antes de la codificación de la entropía. Un codificador jerárquico basado en escalones realiza al menos un enfoque de dos etapas: la generación de la jerarquía escalonada (por ejemplo, en una modalidad de ejemplo no limitativa, el proceso de submuestreo) y la generación de datos residuales (por ejemplo, en una modalidad de ejemplo no limitativa, operaciones de sobremuestreo adecuadas que producen predicciones para niveles superiores, lo que genera residuos para cada lapso de cada nivel de calidad de la jerarquía escalonada y codificar adecuadamente dichos residuos). La asignación de tasa de bits y la compresión con pérdida se realizan mediante la cuantificación de los residuos.
En una modalidad no limitativa, la cuantificación se realiza como se representa en la Figura 11. En la jerarquía escalonada, el codificador calcula muchos tipos de residuos. Por ejemplo, los residuos de la cadena de soporte RIse usan para reconstruir los planos de la cadena de soporte Z, mientras que los residuos relativos R" se usan para corregir los residuos predichos por medio de la cadena de soporte, lo que genera residuos totales R con el fin de permitir la reconstrucción de las representaciones de los lapsos de la señal de cada Nivel de Calidad.
En otra modalidad no limitativa, el codificador puede decidir agrupar los residuos en más de un conjunto de residuos (r = ri ... rn), con el fin de ser capaz de enviar diferentes niveles de detalle (LOD) a un decodificador también dentro de un mismo nivel de calidad. De acuerdo con la disponibilidad de ancho de banda o de otras restricciones (por ejemplo, por medio de ejemplos no limitativos, la potencia de procesamiento, las restricciones de consumo de energía, etc.) un decodificador puede dejar de recibir residuos en un cierto LOD.
Por ejemplo, si el valor de un elemento Y se calcula como yy = u¡j r1¡j r2¡j, en donde U son predicciones, r1son residuos necesarios para un primer LOD, y r2son residuos necesarios para un segundo LOD (superior), entonces un decodificador puede calcular una versión de detalle inferior de yjal renunciar a recibir/decodificar residuos r2j.
El posible intervalo de valores para los residuos se define como -UL, ..., UL.
Con el fin de realizar la cuantificación se definen dos parámetros:
• El medio ancho cero (ZHW) es la mitad de la dimensión de la zona muerta, es decir, el intervalo simétrico alrededor de 0, de manera que los residuos que pertenecen a ese intervalo pueden asumirse iguales a 0. • El ancho de etapa (SW) indica los tamaños de los subintervalos en los que se divide el intervalo restante de posibles valores residuales. En una modalidad no limitativa, el intervalo restante se divide en subintervalos de igual tamaño (igual al propio SW). En otra modalidad no limitativa, los subintervalos tienen diferentes tamaños, y se calculan con una fórmula que depende del SW (por ejemplo, por medio de un ejemplo no limitativo, decaimiento exponencial, decaimiento lineal, decaimiento gaussiano, etc.).
La cuantificación se realiza al colapsar a cero el valor residual en [-ZHW, ..., ZHW] y al cuantificar en intervalos de ancho de etapa los valores más allá de la zona muerta.
En una modalidad no limitativa, la descuantificación se realiza en cambio mediante una simple multiplicación que se sigue de una suma. En otra modalidad no limitativa, la descuantificación para el nivel de calidad superior también aprovecha un proceso de tramado, para compensar estadísticamente el hecho de que los residuos que pertenecen a un mismo intervalo presentan originalmente valores diferentes dentro de ese intervalo, y no se encuentran necesariamente todos posicionados en el centro del intervalo. La asignación de la tasa de bits es el proceso que se realiza en el lado del codificador con el fin de determinar el ZHW y el SW para cada lapso de cada LOQ.
En una modalidad no limitativa, el codificador se configura para implementar una estrategia de asignación de tasa de bits que privilegia las representaciones precisas de niveles de calidad inferiores: la asignación de tasa de bits (es decir, el número promedio de bits que se asignan por cada elemento) disminuye a medida crece el número de elementos de un lapso.
En otra modalidad no limitativa, un procesador de señales se configura para realizar la asignación de la tasa de bits en base a la visibilidad del artefacto, o mediante los parámetros adecuados que indican la calidad. En particular, cuando el codificador amplía el SW con el fin de aumentar la compresión, pueden producirse artefactos debido a la fuerte cuantificación. Los artefactos aparecen como elementos relativamente aislados en la imagen, de manera que la descuantificación introduce grandes diferencias con respecto al valor original del elemento. En una modalidad no limitativa, se usan métodos conocidos tal como SSIM (similitud estructurada) u otras métricas que se diseñan para detectar un alto nivel de detalles o frecuencias espaciales muy altas con el fin de medir la visibilidad del artefacto. El proceso de asignación de tasa de bits del codificador incluye un lazo de retroalimentación con tales métricas con el fin de asignar la tasa de bits disponible para minimizar (por ejemplo, por medio de un ejemplo no limitativo, al elegir ampliar/reducir el ZHW en lugar de usar un SW más amplio/estrecho para porciones que se seleccionan de la señal y/o los LOQ) la visibilidad de los artefactos de acuerdo con la métrica que se elige.
En otra modalidad no limitativa, el codificador puede modificar selectivamente la cuantificación residual con el fin de lograr una mejor compresión con una calidad mejorada. Por ejemplo, un proceso de finalización de acuerdo con un método basado en herencia permite reducir la tasa de bits necesaria (es decir, aumentar el nivel de compresión) al bajar a niveles inferiores la información que es común a una gran porción de la señal. En una modalidad no limitativa, la cuantificación selectiva de residuos puede accionarse por el proceso de finalización. En tal modalidad, el codificador privilegia la reducción del lapso del intervalo para aquellos residuos que caen en áreas relativamente homogéneas (de acuerdo con una métrica adecuada que se genera por el codificador) bi / tri / multidimensionales del plano actual.
En otra modalidad no limitativa, el codificador se configura para tratar de separar los artefactos geométricamente y/o a lo largo del tiempo, con el fin de reducir su visibilidad para los observadores humanos. Por ejemplo, el codificador puede cuantificar más fuertemente (ampliar el ZHW) porciones de planos de espacio-tiempo (u otros hiperplanos multidimensionales que constituyen la señal, a lo largo de una o más de las dimensiones de la señal) lo que sigue un patrón alterno. En una modalidad de ejemplo no limitativo, se adopta un esquema quincunx (por ejemplo, en el caso no limitativo de un plano 2D, la "profundidad de cuantificación" sigue para cada bloque de elementos de 3x3 un patrón geométrico que consiste de cinco puntos que se disponen en cruz, es decir, cinco puntos coplanares, cuatro de ellos que forman un cuadrado o rectángulo y un quinto en su centro; tales esquemas se generalizan por la modalidad con patrones alternos que son adecuados también para hiperplanos con más de dos dimensiones). Un ejemplo de efecto que se genera por el uso de métodos innovadores de cuantificación similares es una reducción de la textura en pels alternativos a lo largo del tiempo. De esta manera, la reducción de la tasa de bits se logra sin comprometer fuertemente la calidad que se percibe de la señal reconstruida.
Tenga en cuenta de nuevo 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 que se describen en la presente descripción también son adecuadas para otras aplicaciones.
En base a la descripción que se expone en la presente descripción, se han expuesto numerosos detalles específicos para proporcionar una comprensión completa del tema reivindicado. Sin embargo, se entenderá por los expertos en el arte que el tema reivindicado se puede llevara 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 tema 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 artes del procesamiento de datos para transportar la esencia de su trabajo a otros expertos en el arte. 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, aunque 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, configuraciones, 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 evidencia a partir de la siguiente descripción, se aprecia que a lo largo de esta especificación, las descripciones 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 un 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 (10)

REIVINDICACIONES
1. Método para reconstruir fotogramas de una señal de video que se codifican en una jerarquía escalonada que comprende un primer escalón que tiene un nivel de calidad inferior y al menos un segundo escalón que tiene un nivel de calidad superior,
en donde cada uno de dichos escalones tiene un nivel de calidad distinto y comprende uno o más de los fotogramas codificados en la jerarquía escalonada, y
en donde dicho método comprende una etapa de decodificación durante la cual los fotogramas del segundo escalón se calculan a través de operaciones de reconstrucción que comienzan desde al menos uno de los fotogramas del primer nivel,
en donde cada fotograma comprende uno o más planos de valores de píxeles de color en un espacio de color,
la etapa de decodificación de dicho método que comprende las siguientes fases:
a. recibir conjuntos de datos codificados que comprenden:
datos codificados del primer escalón para reconstruir los fotogramas de la señal de video en el primer escalón;
información descriptiva correspondiente a las operaciones y parámetros a usar durante las operaciones de sobremuestreo; y
datos utilizables para producir datos residuales relativos;
b. recibir un primer escalón decodificado para reconstruir los valores de los píxeles de un plano de la señal de video en el primer escalón, que tiene el nivel de calidad más bajo;
c. sobremuestrear el plano de la señal de video en el primer escalón mediante el uso de la información descriptiva para generar una representación predicha por el decodificador para el plano de video en el segundo nivel;
d. procesar los datos codificados para generar datos residuales absolutos para el plano de video en el segundo escalón, los datos residuales absolutos que comprenden una diferencia entre un plano de entrada original de la señal de video en el segundo nivel y una representación predicha por un codificador del plano de video en el segundo nivel que se genera, durante una etapa de codificación, al sobremuestrear un plano de la señal de video en el primer nivel que se deriva del plano de entrada original de la señal de video en el segundo nivel,
en donde el procesamiento de los datos codificados comprende:
decodificar los datos codificados para obtener datos residuales relativos para el plano de video en el segundo escalón, los datos residuales relativos que comprenden una diferencia entre un plano de residuos absolutos para el plano de video en el segundo nivel y un plano de soporte para el plano de residuos absolutos, el plano de soporte que se genera a partir de una agregación de una pluralidad de planos de residuos absolutos en el tiempo, y
combinar los datos residuales relativos para el plano de video en el segundo escalón con el plano de soporte para el plano de video en el segundo nivel para generar los datos residuales absolutos para el plano de video en el segundo nivel, el plano de soporte que se usa para generar los datos residuales absolutos para la pluralidad de planos de video en el segundo nivel; y
e. combinar la representación predicha por el decodificador para el plano de video en el segundo escalón y los datos residuales absolutos para generar una reconstrucción del decodificador del plano en el segundo nivel.
2. El método de acuerdo con la reivindicación 1, que comprende:
descuantificar y destransformar los residuos transformados que se reciben dentro de los datos residuales.
3. El método de acuerdo con la reivindicación 2, en donde la destransformación comprende realizar una transformada de descomposición inversa dentro de las dimensiones espaciales, la transformación de descomposición inversa que es una inversa de una descomposición direccional, la descomposición direccional que agrupa conjuntos de residuos vecinos para un plano en el segundo escalón,
en donde los parámetros se cuantifican entonces durante la etapa de codificación.
4. El método de acuerdo con la reivindicación 2, que comprende, antes de la descuantificación y la destransformación: la decodificación de entropía de los datos codificados.
5. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 4, en donde los planos de un mismo escalón consisten de un mismo número de píxeles y, al menos para un par de escalones subsecuentes, un plano de un escalón que tiene un nivel de calidad inferior tiene una resolución espacial inferiora la de un plano del escalón superior.
6. El método de acuerdo con una cualquiera de las reivindicaciones previas, que comprende una etapa de desencriptación, durante la cual los planos de la señal de video codificados en la jerarquía escalonada, que se han encriptado mediante el uso de un método de encriptación, se desencriptan antes/durante la etapa de decodificación.
7. El método de acuerdo con la reivindicación 1, en donde cada conjunto de datos codificados es caracterizado porun marcador de sincronización.
8. Producto de programa informático directamente cargable en una memoria interna de un ordenador digital, que comprende porciones de código de software para realizar las etapas de una cualquiera de las reivindicaciones 1 a 7 cuando dicho producto se ejecuta en un ordenador.
9. El dispositivo decodificador que comprende medios para llevar a cabo las etapas del método de acuerdo con una cualquiera de las reivindicaciones 1 a 7.
10. El dispositivo decodificador de acuerdo con la reivindicación 9, que comprende medios, que pueden configurarse remotamente, capaces de limitar el nivel máximo de calidad de los escalones que se reconstruyen por el dispositivo.
ES13724216T 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 Active ES2909879T3 (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/059880 WO2013171182A1 (en) 2012-05-14 2013-05-14 Decoding and reconstruction of time-based and/or multidimensional signals in a tiered temporal hierarchy

Publications (1)

Publication Number Publication Date
ES2909879T3 true ES2909879T3 (es) 2022-05-10

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 Before (2)

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

Country Status (18)

Country Link
US (14) US9509990B2 (es)
EP (7) EP2850830B1 (es)
JP (6) JP2015520575A (es)
KR (6) KR102126886B1 (es)
CN (7) CN104620583A (es)
AU (5) AU2013261845A1 (es)
BR (5) BR112014028279A2 (es)
CA (6) CA2873487A1 (es)
DK (2) DK2850829T3 (es)
EA (5) EA201492098A1 (es)
ES (3) ES2907510T3 (es)
HK (5) HK1203261A1 (es)
IL (4) IL235576A0 (es)
MX (5) MX341203B (es)
PL (1) PL2850829T3 (es)
SG (6) SG11201407417VA (es)
WO (6) WO2013171173A1 (es)
ZA (5) ZA201408539B (es)

Families Citing this family (111)

* 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
US8958472B2 (en) * 2011-09-08 2015-02-17 Google Technology Holdings 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
EP2904807A4 (en) * 2012-10-07 2016-06-01 Numeri Ltd VIDEO COMPRESSION METHOD
CN104144520A (zh) 2013-05-07 2014-11-12 李东舸 一种设备间建立连接的方法、装置与***
CN104142939B (zh) * 2013-05-07 2019-07-02 杭州智棱科技有限公司 一种基于运动特征信息匹配特征码的方法与设备
JP2016525295A (ja) * 2013-06-25 2016-08-22 ヌメリ リミテッド ビデオのマルチレベルの空間‐時間解像度上昇
CN105379256B (zh) * 2013-07-22 2019-11-12 索尼公司 信息处理装置和方法
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 キヤノン株式会社 画像符号化装置及びその制御方法
CN107750456B (zh) * 2015-04-13 2022-02-11 V-诺瓦国际有限公司 利用依赖于复杂性信息的一个信号的数据速率目标对多个信号进行编码
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 雀巢产品有限公司 用于制备饮料或食品的***的代码和容器
CN107529957B (zh) * 2016-03-03 2019-10-25 Hoya株式会社 修正数据生成方法以及修正数据生成装置
KR102326290B1 (ko) * 2016-03-24 2021-11-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
US10728227B2 (en) 2016-08-02 2020-07-28 X-Logos, LLC Methods and systems for enhanced data-centric encryption systems using geometric algebra
US11153594B2 (en) 2016-08-29 2021-10-19 Apple Inc. Multidimensional quantization techniques for video coding/decoding systems
GB2554065B (en) * 2016-09-08 2022-02-23 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
GB2553556B (en) 2016-09-08 2022-06-29 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
EP3518534B1 (en) * 2016-09-26 2023-05-17 Sony Group Corporation Encoding device, encoding method, decoding device, decoding method, transmission device, and reception device
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
US10666937B2 (en) * 2016-12-21 2020-05-26 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
GB2576846A (en) 2017-04-21 2020-03-04 Zenimax Media Inc Systems and methods for game-generated motion vectors
RU2730435C1 (ru) 2017-04-21 2020-08-21 Зенимакс Медиа Инк. Системы и способы рендеринга с адаптируемым качеством под управлением кодировщика
CN113628240A (zh) 2017-04-21 2021-11-09 泽尼马克斯媒体公司 通过预期运动矢量的玩家输入运动补偿
US10638126B2 (en) * 2017-05-05 2020-04-28 Qualcomm Incorporated Intra reference filter for video coding
CN110800302A (zh) * 2017-06-07 2020-02-14 联发科技股份有限公司 用于视频编解码的帧内-帧间预测的方法及装置
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
CN111684802B (zh) 2017-12-06 2023-12-22 V-诺瓦国际有限公司 用于对字节流进行分级编码和解码的方法和设备
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
JP7376496B2 (ja) * 2018-03-20 2023-11-08 ピーシーエムエス ホールディングス インコーポレイテッド 優先順位付けされた変換に基づいて動的点群を最適化するためのシステムおよび方法
EP3769257A1 (en) 2018-03-20 2021-01-27 PCMS Holdings, Inc. 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
CN112703738A (zh) 2018-08-03 2021-04-23 V-诺瓦国际有限公司 针对信号增强编码的上采样
KR102612530B1 (ko) * 2018-08-08 2023-12-11 구글 엘엘씨 장면의 초해상도 이미지를 생성하기 위한 광학 이미지 안정화 움직임
US20220150529A1 (en) * 2018-09-17 2022-05-12 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus, and recording medium storing bitstream
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 腾讯科技(深圳)有限公司 多人姿态识别方法、装置及电子设备
GB201817783D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media for processing configuration data
GB201817780D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media for processing configuration data
GB201817784D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media
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
EP3895431A1 (en) 2018-12-14 2021-10-20 PCMS Holdings, Inc. System and method for procedurally colorizing spatial data
CN112913236B (zh) * 2018-12-29 2022-05-31 华为技术有限公司 编码器,解码器和使用压缩mv存储的对应方法
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
WO2020165575A1 (en) * 2019-02-13 2020-08-20 V-Nova International 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
WO2020188230A1 (en) * 2019-03-20 2020-09-24 V-Nova International Ltd Rate control for a video encoder
GB2617790B (en) 2019-03-20 2024-03-13 V Nova Int Ltd Low complexity enhancement video coding
GB2617304B (en) * 2019-03-20 2024-04-03 V Nova Int Ltd Residual filtering in signal enhancement 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
GB2619640B (en) * 2019-07-05 2024-06-05 V Nova Int Ltd Quantization of residuals in video coding
US10942625B1 (en) * 2019-09-09 2021-03-09 Atlassian Pty Ltd. Coordinated display of software application interfaces
WO2021058594A1 (en) * 2019-09-24 2021-04-01 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平滑曲線預測子
GB2603873B (en) 2019-10-02 2023-12-27 V Nova Int Ltd Use of embedded signalling for backward-compatible scaling improvements and super-resolution signalling
US11575905B2 (en) 2019-11-27 2023-02-07 Hfi Innovation Inc. Method and apparatus of unified weight and motion indexes derivation for geometric merge mode in video coding
CN114868393A (zh) * 2019-12-17 2022-08-05 阿里巴巴集团控股有限公司 执行环绕运动补偿的方法
CN111050181B (zh) * 2019-12-30 2022-06-07 哈尔滨工业大学 一种超光谱大气红外遥感图像的时间维压缩方法
US11307410B2 (en) 2020-02-06 2022-04-19 Varjo Technologies Oy Display apparatus and method incorporating adaptive pose locking
US11056030B1 (en) * 2020-02-06 2021-07-06 Varjo Technologies Oy Display apparatus and method of enhancing apparent resolution using liquid-crystal device
US11348514B2 (en) 2020-02-06 2022-05-31 Varjo Technologies Oy LED-based display apparatus and method incorporating sub-pixel shifting
US11308900B2 (en) 2020-02-06 2022-04-19 Varjo Technologies Oy Display apparatus and method incorporating sub-pixel aware shifting and overlap compensation
US11170678B2 (en) 2020-02-06 2021-11-09 Varjo Technologies Oy Display apparatus and method incorporating gaze-based modulation of pixel values
GB202001839D0 (en) 2020-02-11 2020-03-25 V Nova Int Ltd Use of tiered hierarchical coding for point cloud compression
US20210265044A1 (en) * 2020-02-20 2021-08-26 Align Technology, Inc. Medical imaging data compression and extraction on client side
JP2023521295A (ja) 2020-03-26 2023-05-24 アリババ グループ ホウルディング リミテッド 映像符号化データをシグナリングするための方法
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
US11683151B2 (en) 2020-09-17 2023-06-20 Algemetric, Inc. Methods and systems for distributed computation within a fully homomorphic encryption scheme using p-adic numbers
GB2601990B (en) 2020-10-16 2024-06-19 V Nova Int Ltd Distributed analysis of a multi-layer signal encoding
US11706503B2 (en) * 2020-10-23 2023-07-18 Momenti, Inc. Method and program for producing and providing reactive video
GB2621248A (en) 2020-11-27 2024-02-07 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
CN113900901A (zh) * 2021-10-21 2022-01-07 北京达佳互联信息技术有限公司 数据上报方法、数据监控方法、装置、设备及存储介质
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
GB202215675D0 (en) 2022-10-21 2022-12-07 V Nova Int Ltd Distributed analysis of a multi-layer signal encoding

Family Cites Families (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
EP1274252A3 (en) * 1995-08-29 2005-10-05 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
JPH10509008A (ja) * 1995-09-06 1998-09-02 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 符号化信号に対応するセグメント化された画像のシーケンスを符号化する方法及びシステム、記憶媒体、並びにこのような符号化信号を復号化する方法及びシステム
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 松下電器産業株式会社 動画像信号の復号方法および符号化方法
IL167288A (en) * 1997-04-01 2012-03-29 Sony Corp Image encryption device, image encryption method, image decryption device, image decryption method, and appropriate medium
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
JP4132664B2 (ja) * 1997-11-27 2008-08-13 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー トランスコーディング
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
US6625333B1 (en) * 1999-08-06 2003-09-23 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry Through Communications Research Centre 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
JP2003516053A (ja) * 1999-11-29 2003-05-07 ソニー株式会社 映像音声信号処理方法及び映像音声信号処理装置
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
US7616782B2 (en) * 2004-05-07 2009-11-10 Intelliview Technologies Inc. Mesh based frame processing and applications
US8731054B2 (en) * 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
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
KR100664932B1 (ko) * 2004-10-21 2007-01-04 삼성전자주식회사 비디오 코딩 방법 및 장치
KR100664929B1 (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
WO2007108661A1 (en) * 2006-03-22 2007-09-27 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding the compensated illumination change
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 画像処理装置
US8160149B2 (en) 2007-04-03 2012-04-17 Gary Demos Flowfield motion compensation for video compression
CN101658044B (zh) * 2007-04-09 2012-11-14 诺基亚公司 以低编码器和解码器复杂度进行视频编码的高精度运动矢量
EP1983759A1 (en) * 2007-04-19 2008-10-22 Matsushita Electric Industrial Co., Ltd. Estimation of separable adaptive interpolation filters for hybrid video coding
EP2149262A4 (en) * 2007-04-25 2010-09-01 Lg Electronics Inc METHOD AND DEVICE FOR DECODING / CODING 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
KR101003105B1 (ko) * 2008-01-29 2010-12-21 한국전자통신연구원 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치
US8351510B1 (en) 2008-02-01 2013-01-08 Zenverge, Inc. Motion compensated noise reduction using shared motion estimation engine
BRPI0907748A2 (pt) 2008-02-05 2015-07-21 Thomson Licensing Métodos e aparelhos para segmentação implícita de blocos em codificação e decodificação de vídeo
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
CN102113326A (zh) 2008-08-04 2011-06-29 杜比实验室特许公司 重叠块差异估计和补偿体系结构
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
ES2386327T3 (es) * 2008-08-21 2012-08-17 Vestel Elektronik Sanayi Ve Ticaret A.S. Método y aparato para aumentar la frecuencia de trama de una señal de video
JP5482655B2 (ja) * 2008-09-01 2014-05-07 日本電気株式会社 画像同一性尺度算出システム
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
CN102883160B (zh) * 2009-06-26 2016-06-29 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
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
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
FR2956789B1 (fr) 2010-02-19 2012-11-16 Canon Kk Procede et dispositif de traitement d'une sequence video
US9609342B2 (en) * 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
PL2543181T3 (pl) * 2010-03-03 2016-03-31 Koninklijke Philips Nv Urządzenia i sposoby definiowania systemu kolorów
US8665959B2 (en) 2010-04-12 2014-03-04 Qualcomm Incorporated Block and partition signaling techniques for video coding
CN106454370B (zh) * 2010-04-13 2019-11-01 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
WO2012020358A1 (en) 2010-08-09 2012-02-16 Koninklijke Philips Electronics N.V. Encoder, decoder, bit-stream, method of encoding, method of decoding an image pair corresponding with two views of a multi-view signal
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
WO2013028116A1 (en) * 2011-08-19 2013-02-28 Telefonaktiebolaget L M Ericsson (Publ) Motion vector processing
WO2013058520A1 (ko) 2011-10-18 2013-04-25 엘지전자 주식회사 인트라 예측 방법 및 그 장치
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
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
US9313495B2 (en) * 2012-05-14 2016-04-12 Luca Rossato Encoding and decoding based on blending of sequences of samples along time
BR112015000480B1 (pt) * 2012-07-09 2023-02-07 Vid Scale, Inc Arquitetura de codec para codificação de vídeo de camada múltipla, método e sistema
WO2014009844A1 (en) * 2012-07-13 2014-01-16 Koninklijke Philips N.V. Improved hdr image encoding and decoding methods and devices
CN104937932B (zh) * 2012-09-28 2019-04-19 英特尔公司 可适性视频编码的增强参考区域利用
US20140092971A1 (en) * 2012-09-28 2014-04-03 Kiran Mukesh Misra Picture processing in scalable video systems
EP2966868B1 (en) * 2012-10-09 2018-07-18 HFI Innovation Inc. Method for motion information prediction and inheritance in video coding
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
BR112014028273A2 (pt) 2017-07-18
US20230379470A1 (en) 2023-11-23
JP2015519016A (ja) 2015-07-06
WO2013171182A1 (en) 2013-11-21
US11272181B2 (en) 2022-03-08
ZA201408539B (en) 2016-08-31
JP2015522988A (ja) 2015-08-06
US20210176483A1 (en) 2021-06-10
DK2850832T3 (da) 2022-04-11
US20170041609A1 (en) 2017-02-09
BR112014028274A2 (pt) 2017-07-18
IL235578A0 (en) 2015-01-29
IL235579A0 (en) 2015-01-29
WO2013171175A1 (en) 2013-11-21
DK2850829T3 (da) 2022-03-07
US11683491B2 (en) 2023-06-20
SG11201407472SA (en) 2014-12-30
US9706206B2 (en) 2017-07-11
EP3968638A1 (en) 2022-03-16
EA201492099A1 (ru) 2015-04-30
ZA201408541B (en) 2016-08-31
EP2850829B1 (en) 2021-12-01
IL235576A0 (en) 2015-01-29
EP2850830C0 (en) 2023-08-30
CA2873501A1 (en) 2013-11-21
SG10201710075SA (en) 2018-01-30
AU2013261843A1 (en) 2014-12-11
US20130322530A1 (en) 2013-12-05
ZA201408540B (en) 2016-08-31
HK1203261A1 (en) 2015-10-23
CA2873496A1 (en) 2013-11-21
PL2850829T3 (pl) 2022-05-16
US20130322537A1 (en) 2013-12-05
WO2013171173A1 (en) 2013-11-21
EP2850830A1 (en) 2015-03-25
WO2013171183A1 (en) 2013-11-21
BR112014028279A2 (pt) 2017-07-18
SG11201407419RA (en) 2014-12-30
US20210099706A1 (en) 2021-04-01
AU2013261853A1 (en) 2014-12-11
ES2907510T3 (es) 2022-04-25
CN110944210B (zh) 2022-03-01
AU2013261838A1 (en) 2014-12-04
MX341203B (es) 2016-08-11
IL235574B (en) 2018-03-29
US20170188032A1 (en) 2017-06-29
US9509990B2 (en) 2016-11-29
KR20150018575A (ko) 2015-02-23
WO2013171184A1 (en) 2013-11-21
US20130321423A1 (en) 2013-12-05
CN104641644A (zh) 2015-05-20
US20130314496A1 (en) 2013-11-28
WO2013171168A1 (en) 2013-11-21
JP2015520575A (ja) 2015-07-16
AU2013261843B2 (en) 2018-02-15
ZA201408538B (en) 2016-08-31
US20190297322A1 (en) 2019-09-26
MX2014013838A (es) 2015-03-03
EA201492090A1 (ru) 2015-05-29
CA2873499A1 (en) 2013-11-21
US10750179B2 (en) 2020-08-18
KR20150014494A (ko) 2015-02-06
US20220038700A1 (en) 2022-02-03
KR20150014495A (ko) 2015-02-06
MX344994B (es) 2017-01-13
MX339635B (es) 2016-06-02
HK1203263A1 (en) 2015-10-23
EP2850830B1 (en) 2023-08-30
CN104620580A (zh) 2015-05-13
EP2850832B1 (en) 2022-01-05
EA201492098A1 (ru) 2015-04-30
US11153567B2 (en) 2021-10-19
MX2014013850A (es) 2015-05-08
KR20150020568A (ko) 2015-02-26
CN104641643A (zh) 2015-05-20
EP2850835A1 (en) 2015-03-25
KR20150018576A (ko) 2015-02-23
US9621887B2 (en) 2017-04-11
CN104620583A (zh) 2015-05-13
EP2850832A1 (en) 2015-03-25
US10750178B2 (en) 2020-08-18
ZA201408537B (en) 2016-08-31
US10178387B2 (en) 2019-01-08
EP2850831A1 (en) 2015-03-25
HK1203264A1 (en) 2015-10-23
HK1203260A1 (en) 2015-10-23
KR20150014496A (ko) 2015-02-06
US9961345B2 (en) 2018-05-01
EP2850829A1 (en) 2015-03-25
BR112014028276A2 (pt) 2017-07-11
JP6336438B2 (ja) 2018-06-06
AU2013261845A1 (en) 2014-12-11
US11595653B2 (en) 2023-02-28
US20220191497A1 (en) 2022-06-16
MX2014013835A (es) 2015-03-03
CA2873494A1 (en) 2013-11-21
CN104620582B (zh) 2020-01-14
ES2961397T3 (es) 2024-03-11
SG11201407508RA (en) 2014-12-30
CN104620582A (zh) 2015-05-13
JP2015522987A (ja) 2015-08-06
EP2850835B1 (en) 2022-01-05
CA2873487A1 (en) 2013-11-21
EP2850836A1 (en) 2015-03-25
JP2015522986A (ja) 2015-08-06
CN110944210A (zh) 2020-03-31
BR112014028283A2 (pt) 2017-07-18
KR102126886B1 (ko) 2020-06-26
MX2014013846A (es) 2015-05-08
WO2013171182A8 (en) 2014-06-12
EA201492093A1 (ru) 2015-04-30
HK1203265A1 (en) 2015-10-23
SG11201407484WA (en) 2014-12-30
JP2015522985A (ja) 2015-08-06
US20170310968A1 (en) 2017-10-26
US20210099707A1 (en) 2021-04-01
MX2014013836A (es) 2015-03-03
US11622112B2 (en) 2023-04-04
CN104641643B (zh) 2018-06-19
SG11201407417VA (en) 2014-12-30
CN104620581A (zh) 2015-05-13
CA2873490A1 (en) 2013-11-21
EA201492089A1 (ru) 2015-04-30
IL235574A0 (en) 2015-01-29
AU2013261854A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
ES2909879T3 (es) Decodificación y reconstrucción de señales basadas en el tiempo y/o multidimensionales en una jerarquía temporal escalonada
US10771796B2 (en) Encoding and decoding based on blending of sequences of samples along time
ES2866894T3 (es) Predicción de coeficientes de filtro a partir de filtros fijos para codificación de video
BR112015031285B1 (pt) Método para transformar sinal, e dispositivo para transformar sinal