ES2873845T3 - Aprendizaje automático para el procesamiento visual - Google Patents

Aprendizaje automático para el procesamiento visual Download PDF

Info

Publication number
ES2873845T3
ES2873845T3 ES16706418T ES16706418T ES2873845T3 ES 2873845 T3 ES2873845 T3 ES 2873845T3 ES 16706418 T ES16706418 T ES 16706418T ES 16706418 T ES16706418 T ES 16706418T ES 2873845 T3 ES2873845 T3 ES 2873845T3
Authority
ES
Spain
Prior art keywords
visual data
resolution
video
data
section
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
ES16706418T
Other languages
English (en)
Inventor
Zehan Wang
Robert David Bishop
Wenzhe Shi
Jose Caballero
Andrew Aitken
Johannes Totz
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.)
Magic Pony Technology Ltd
Original Assignee
Magic Pony Technology 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
Priority claimed from GB201502753A external-priority patent/GB201502753D0/en
Priority claimed from GB201503427A external-priority patent/GB201503427D0/en
Priority claimed from GBGB1505544.5A external-priority patent/GB201505544D0/en
Priority claimed from GBGB1507141.8A external-priority patent/GB201507141D0/en
Priority claimed from GBGB1508742.2A external-priority patent/GB201508742D0/en
Priority claimed from GBGB1511231.1A external-priority patent/GB201511231D0/en
Priority claimed from GBGB1519425.1A external-priority patent/GB201519425D0/en
Application filed by Magic Pony Technology Ltd filed Critical Magic Pony Technology Ltd
Application granted granted Critical
Publication of ES2873845T3 publication Critical patent/ES2873845T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/142Detection of scene cut or scene change
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • 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/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Databases & Information Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Picture Signal Circuits (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

Un método para reducir la cantidad de datos a transmitir cuando se comunican datos visuales a través de una red desde un primer nodo a un segundo nodo, el método en el primer nodo que comprende las etapas de: reducir la resolución de una sección de datos visuales de resolución más alta para proporcionar una sección correspondiente de datos visuales de resolución más baja; desarrollar un modelo de red neuronal para aumentar la resolución de los datos visuales de resolución más baja, que comprende entrenar el modelo de red neuronal para aumentar la resolución de los datos visuales de resolución más baja para reproducir sustancialmente los datos visuales de resolución más alta, donde el entrenamiento comprende procesar la sección de datos visuales de resolución más baja mediante el uso del modelo de red neuronal, calcular un error que comprende una comparación entre la sección de datos visuales de resolución más alta y la salida obtenida con el modelo de red neuronal, el error se cuantifica mediante una función de costo predefinida, y ajustar los parámetros asociados con el modelo de red neuronal para minimizar el error; transmitir la sección de datos visuales de resolución más baja; y transmitir los parámetros asociados con el modelo de red neuronal desarrollado entrenado mediante el uso de la sección de datos visuales de resolución más baja, en donde la sección de datos visuales de resolución más baja y los parámetros asociados con el modelo de red neuronal desarrollado permiten que el segundo nodo reproduzca sustancialmente la sección de datos visuales de resolución más alta de la sección transmitida de datos visuales de resolución más baja mediante el uso del modelo de red neuronal desarrollada entrenado mediante el uso de la sección de datos visuales de resolución más baja.

Description

DESCRIPCIÓN
Aprendizaje automático para el procesamiento visual
Campo de la invención
La presente invención se refiere a métodos para generar algoritmos jerárquicos que usan técnicas de aprendizaje automático para permitir la reconstrucción de alta calidad de datos visuales de menor calidad.
Antecedentes
Se da una descripción general de los algoritmos de compresión de vídeo e imágenes basados en redes neuronales conocidos en JIANG, J.: "Image compression with neural networks - A survey - Image Communication", SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, Países Bajos, vol.
14, núm. 9, 1 de julio de 1999 (1999-07-01), páginas 737-760, y en Christopher Cramer: "Neural networks for image and video compression: A review", EUROPeAn JOURNAL OF OPERATIo Na L RESEARCH, vol. 108, núm. 2, 16 de julio de 1998 (1998-07-16), páginas 266-282.
Un método de interpolación de imágenes que usa redes neuronales se describe en JONG-OK KIM Y OTROS: " Neural concurrent subsampling and interpolation for images", TENCON 99. PROCEEDINGS OF THE IEEE REGION 10 CONFERENCE CHEJU ISLAND, COREA DEL SUR 15-17 de septiembre de 1999, PISCATAWAY, Nueva Jersey, EE. UU., IEEE, EE. UU., Vol. 2, 15 de septiembre de 1999 (1999-09-15), páginas 1327-1330.
Antecedentes - Aumento de la calidad de la tecnología de visualización y vídeo
Los desarrollos en la tecnología de visualización han dado lugar a mejoras significativas en la resolución que se puede visualizar en hardware de visualización, tal como televisores, monitores de ordenadores y mediante el uso de proyectores de vídeo. Por ejemplo, las pantallas de televisión que pueden visualizar contenido de resolución de "alta definición" o "HD" (que normalmente tienen una resolución de 1920 x 1080 píxeles) han sido ampliamente adoptadas por los consumidores. Más recientemente, las pantallas de televisión capaces de visualizar contenido de resolución Ultra Alta Definición o "Ultra HD" (que normalmente tienen una resolución de más de 3840 x 2160 píxeles) están comenzando a generalizarse.
Por el contrario, el contenido de vídeo con resolución HD solo ahora se está volviendo común y la mayoría del contenido heredado solo está disponible con una resolución de vídeo de disco versátil digital (o "Vídeo DVD") (que normalmente tiene una resolución de 720 x 586 píxeles o 720 x 480 píxeles) o resolución de definición estándar o "SD" (donde el contenido de vídeo solo tiene una resolución de 640 x 480 píxeles). Algunos canales de transmisión están limitados a resoluciones SD. Los servicios de transmisión de vídeo se pueden restringir para operar en resoluciones de Vídeo DVD o SD, para reducir los problemas de transmisión cuando los consumidores tienen limitaciones en el ancho de banda de transmisión disponible o debido a la falta de contenido heredado a resoluciones más altas.
Como resultado, puede haber una falta de contenido de vídeo de alta resolución para visualizarlo en pantallas de televisión HD y Ultra HD, tanto para el contenido de vídeo actual como para el contenido de vídeo heredado y los servicios de transmisión de vídeo. Además, con el tiempo, los usuarios están produciendo y adoptando dispositivos móviles tales como teléfonos móviles y tabletas con pantallas cada vez más grandes y de resolución más alta. Además, el contenido de vídeo actual, que se emite en resoluciones HD, ya tiene una resolución significativamente más baja que la que pueden visualizar las últimas pantallas de consumo que operan, por ejemplo, en resoluciones Ultra HD. Para proporcionar experiencias de realidad virtual (o "VR") suficientemente inmersivas, la tecnología de visualización debe tener una resolución suficientemente alta incluso para tamaños de pantalla más pequeños.
La experiencia del usuario de tener que visualizar contenido que tiene una resolución significativamente más baja que la resolución de pantalla/visualización predeterminada del usuario no es óptima.
Antecedentes - Aumento de la transmisión de datos y las limitaciones de la red
La cantidad de datos visuales que se comunican a través de redes de datos como Intemet ha crecido drásticamente con el tiempo y existe una creciente demanda de los consumidores de contenido de datos visuales de alta resolución, alta calidad y alta fidelidad, tal como transmisión de vídeo que incluye, por ejemplo, video en Resolución HD y Ultra HD. Como resultado, existen desafíos sustanciales para satisfacer esta creciente demanda de los consumidores y se requiere una compresión de vídeo de alto rendimiento para permitir el uso eficiente de la infraestructura y la capacidad de redes existentes.
Los datos de vídeo ya constituyen una fracción significativa de todo el tráfico de datos comunicado a través de Internet, y se prevé que el vídeo móvil (es decir, el vídeo transmitido hacia y desde dispositivos móviles a través de redes de datos inalámbricas como UTMS/CDMA) aumente 13 veces entre 2014 y 2019, lo que representa el 72 por ciento del tráfico total de datos móviles al final de ese período de pronóstico. Como resultado, existen desafíos sustanciales para satisfacer esta creciente demanda de los consumidores y se requiere una transmisión de datos visual más eficiente para permitir un uso eficiente de la infraestructura y la capacidad de la red existente.
Para transmitir vídeo a los consumidores mediante el uso del ancho de banda de transmisión de datos disponible, los proveedores de contenido multimedia pueden submuestrear o transcodificar el contenido de vídeo para su transmisión a través de una red a una o una variedad de tasas de bits para que la resolución del vídeo pueda ser apropiada para la tasa de bits disponible en cada conexión o para cada dispositivo y, en consecuencia, la cantidad de datos transferidos a través de la red pueden adaptarse mejor a las velocidades de datos confiables disponibles. Por ejemplo, una proporción significativa de las conexiones de Internet de los consumidores actuales no pueden admitir de manera confiable la transmisión continua de vídeo con una resolución Ultra HD, por lo que el vídeo debe transmitirse con una calidad o una resolución más bajas para evitar demoras en el almacenamiento temporal.
Además, cuando un consumidor desea difundir o transmitir contenido de vídeo, las velocidades de enlace ascendente de las conexiones de Internet del consumidor son normalmente una fracción de las velocidades de descarga y, por lo tanto, solo se puede transmitir normalmente vídeo de menor calidad o resolución más baja. Además, las velocidades de transferencia de datos de las redes inalámbricas de consumo típicas son otro cuello de botella potencial cuando se transmiten datos de vídeo para vídeo a resoluciones más altas que las resoluciones HD o datos y contenido de realidad virtual hacia/desde dispositivos de realidad virtual contemporáneos. Un problema con la reducción de la resolución de un vídeo cuando se transmite a través de una red es que el vídeo de resolución reducida puede no tener la resolución de reproducción deseada, pero en algunos casos no hay suficiente ancho de banda o el ancho de banda disponible no es confiable durante las horas pico para la transmisión de un vídeo a alta resolución.
Alternativamente, incluso sin reducir la resolución de vídeo original, el vídeo original puede tener una resolución más baja que la deseada para la reproducción y, por lo tanto, puede aparecer con una calidad subóptima cuando se muestra en pantallas de resolución más alta.
Antecedentes - Técnicas de compresión de vídeo
Las técnicas de compresión de vídeo de uso común existentes, tales como H.264 y VP8, así como las técnicas propuestas, tales como H.265, HEVC y VP9, generalmente usan enfoques y familias de técnicas de compresión similares. Estas técnicas de compresión hacen un compromiso entre la calidad y la tasa de bits de los flujos de datos de vídeo cuando se proporciona compresión entre cuadros y dentro del cuadro, pero la cantidad de compresión posible depende en gran medida de la resolución de imagen de cada cuadro y la complejidad de las secuencias de imágenes.
Para ilustrar la relación entre la tasa de bits y la resolución, entre otros factores, es posible usar una fórmula derivada empíricamente para mostrar cómo la tasa de bits de un vídeo codificado con, por ejemplo, la técnica de compresión H.264, se relaciona con la resolución de ese vídeo:
tasa de bits o c Q x w x h x f x m
donde Q es la constante de calidad, w es el ancho de un vídeo, h es la altura de un vídeo, f es la velocidad de cuadros de un vídeo y m es el rango de movimiento, donde m e {1,..., 4} y una m mayor se usan para contenido difícil de predecir que cambia rápidamente.
La fórmula anterior ilustra la relación directa entre la tasa de bits y la constante de calidad Q. Un valor típico, por ejemplo, que podría seleccionarse para Q sería 0,07 basado en datos empíricos publicados, pero una cantidad significativa de investigación está dirigida a optimizar un valor para Q.
La fórmula anterior también ilustra la relación directa entre la tasa de bits y la complejidad de las secuencias de imágenes, es decir, la variable m. Los códecs de vídeo existentes mencionados anteriormente se centran en técnicas de compresión espacial y temporal. Las nuevas técnicas de compresión de vídeo propuestas, tales como H.265, HEVC y VP9, buscan mejorar la predicción de movimiento y la compresión dentro del cuadro de técnicas anteriores, es decir, optimizar un valor para m.
La fórmula anterior ilustra además una relación directa entre la tasa de bits y la resolución del vídeo, es decir, las variables w y h. Para reducir la resolución del vídeo, existen varias técnicas para reducir la resolución de los datos de vídeo para reducir la tasa de bits.
Como resultado de las desventajas de los enfoques de compresión actuales, la infraestructura de red existente y los mecanismos de transmisión de vídeo se están volviendo cada vez más inadecuados para entregar grandes volúmenes de contenido de vídeo de alta calidad para satisfacer las crecientes demandas de los consumidores de este tipo de contenido. Esto puede ser de particular relevancia en ciertas circunstancias, por ejemplo en relación con las transmisiones en vivo, donde el ancho de banda es a menudo limitado, y el procesamiento y la compresión de vídeo extensos no pueden tener lugar en la localización de la transmisión en vivo sin un retraso significativo debido a la disponibilidad inadecuada de recursos informáticos en el lugar.
Antecedentes - Técnicas de mejora de vídeo
Para reproducir un vídeo con una resolución más alta que aquella en la que se ha transmitido (por ejemplo, por un servicio de transmisión o emisora) o proporcionado (por ejemplo, en DVD o mediante un proveedor de descarga de vídeo), existen varias técnicas de "ampliación" para aumentar la resolución de datos/señales de vídeo, que mejoran la calidad de la imagen cuando se parte de una imagen o vídeo de resolución más baja y que producen una imagen o vídeo de resolución más alta.
Con referencia a la Figura 14, se describirá ahora una técnica de ampliación convencional 1400.
Los datos de vídeo recibidos 1410 se proporcionan a un sistema de decodificador y son, por ejemplo, un vídeo de resolución más baja codificado en un formato de vídeo estándar, tal como un vídeo de resolución SD. Este formato de vídeo puede ser una variedad de códecs de vídeo conocidos, por ejemplo, tales como H.264 o VP8, pero puede ser cualquier dato de vídeo que el sistema pueda decodificar en cuadros componentes de vídeo.
A continuación, el sistema separa una primera sección de los datos de vídeo 1410 en cuadros individuales en la etapa 1420, es decir, en una secuencia de imágenes con la resolución SD completa de los datos de vídeo 1410. Para algunos códecs de vídeo, esto implicará "descomprimir" o restaurar los datos de vídeo ya que, por ejemplo, las técnicas comunes de compresión de vídeo eliminan las características redundantes (que no cambian) de los cuadros secuenciales.
A continuación, se usa una técnica de ampliación 1430 en uno o más de los cuadros o secciones de cuadros, para aumentar la resolución de las áreas en las que se usa. Los cuadros de resolución más alta se procesan entonces opcionalmente en la etapa 1440 en un formato adecuado para su salida como vídeo. El video, al estar compuesto por cuadros de resolución más alta, tendrá la forma de un vídeo de resolución más alta 1450 que el archivo de vídeo original.
Por ejemplo, una técnica básica de ampliación que hace pocos intentos por mejorar la calidad del vídeo se conoce como interpolación del vecino más cercano. Esta técnica simplemente aumenta la resolución de los datos de vídeo recibidos al representar un píxel original del vídeo transmitido como múltiples píxeles o un "bloque" de píxeles. El efecto resultante es que el vídeo aparece pixelado y en bloques.
Otras técnicas de ampliación menos básicas usan los datos de vídeo existentes para estimar píxeles intermedios desconocidos entre valores de píxeles conocidos con el fin de aumentar la resolución con una pérdida de calidad menos notable, estas técnicas generalmente conocidas por el término interpolación, estas técnicas normalmente tienen en cuenta un valor ponderado promedio de píxeles conocidos en los alrededores de cada píxel intermedio desconocido o ajustar a una curva o línea a valores circundantes e interpolar al punto medio a lo largo de la curva o línea (por ejemplo, interpolación bicúbica o bilineal). Usualmente, estas técnicas de ampliación determinan los valores de los píxeles adicionales necesarios para crear una imagen de resolución más alta promediando los píxeles vecinos, lo que crea un efecto de desenfoque u otros artefactos visuales como los artefactos de "oscilación transitoria". La mayoría de las técnicas de ampliación usan técnicas basadas en interpolación para producir versiones de resolución más alta de los datos de vídeo recibidos. Son posibles varios métodos de interpolación y están bien documentados en la técnica anterior en relación con la mejora de vídeo o imagen.
Son posibles varios métodos de interpolación y están bien documentados en la técnica anterior en relación con la mejora de vídeo o imagen. Existen muchos problemas con las técnicas de ampliación convencionales. Las técnicas de ampliación que reducen los bordes dentados tienden a introducir más desenfoque en un vídeo ampliado, por ejemplo, mientras que las técnicas de ampliación que reducen los "halos" o los artefactos de "oscilación transitoria" tienden a hacer que un vídeo ampliado sea menos nítido. Además, las técnicas convencionales de ampliación no son adaptables ni tienen en cuenta el contenido. Fundamentalmente, las técnicas convencionales de ampliación están limitadas por el teorema de muestreo de Nyquist-Shannon.
Como resultado de las desventajas de las técnicas actuales de ampliación, la calidad de los datos de vídeo que se ha "ampliado" a una resolución más alta a la que se almacena o transmite puede ser inadecuada o no óptima para su función prevista.
Antecedentes - Técnicas de superresolución para mejorar las imágenes
Las técnicas de superresolución son técnicas que pueden describirse como la recuperación de nueva información de alta resolución que no está presente explícitamente en imágenes de baja resolución.
Se han desarrollado técnicas de superresolución para muchas aplicaciones diferentes, tal como, por ejemplo, para imágenes por satélite y para imágenes aéreas y análisis de imágenes médicas. Estas aplicaciones comienzan con imágenes de baja resolución donde la imagen de resolución más alta no está disponible o es posiblemente incognoscible, y mediante el uso de técnicas de superresolución es posible realizar mejoras sustanciales en la resolución de tales imágenes de baja resolución.
Las técnicas de superresolución permiten la creación de una o más imágenes de alta resolución, normalmente a partir de una o más imágenes de baja resolución. Usualmente, la superresolución se aplica a un conjunto o serie de imágenes de baja resolución de la misma escena y la técnica intenta reconstruir una imagen de resolución más alta de la misma escena a partir de estas imágenes.
Las técnicas de superresolución caen predominantemente en uno de dos campos principales; técnicas de superresolución óptica y técnicas de superresolución geométrica. Las técnicas de superresolución óptica permiten que una imagen exceda el límite de difracción originalmente colocado en esta, mientras que las técnicas de superresolución geométrica aumentan la resolución de los sensores de imágenes digitales. En el campo de la mejora de la resolución de imágenes, la superresolución geométrica parece ser la técnica predominante.
Además, los enfoques de superresolución normalmente se dividen en enfoques basados en el aprendizaje o en ejemplos y enfoques basados en la interpolación (múltiples cuadros). Generalmente, se acepta que las técnicas de superresolución basadas en ejemplos son una técnica superior para mejorar la calidad de la imagen.
Una técnica de superresolución específica se denomina reducción de ruido de imagen de exposición múltiple. Esta técnica toma el promedio de muchas exposiciones para eliminar el ruido no deseado de una imagen y aumentar la resolución.
Otra técnica de superresolución empleada es la localización de imágenes de subpíxeles, que implica calcular el centro de gravedad de la distribución de la luz sobre varios píxeles adyacentes y corregir el desenfoque en consecuencia. Sin embargo, esta técnica se basa en la suposición de que toda la luz de la imagen proviene de la misma fuente, lo que no siempre es una suposición correcta.
Antecedentes - Técnicas de aprendizaje automático
El aprendizaje automático es el campo de estudio donde un ordenador u ordenadores aprenden a realizar clases de tareas mediante el uso de los comentarios generados a partir de la experiencia o los datos recopilados que el proceso de aprendizaje automático adquiere durante el desempeño de esas tareas por ordenador.
Por lo general, el aprendizaje automático se puede clasificar en general como enfoques supervisados y no supervisados, aunque existen enfoques particulares, tales como el aprendizaje por refuerzo y el aprendizaje semisupervisado, que tienen reglas, técnicas y/o enfoques especiales.
El aprendizaje automático supervisado se ocupa de que un ordenador aprenda una o más reglas o funciones para mapear entre entradas de ejemplo y salidas deseadas según lo predeterminado por un operador o programador, usualmente donde se etiqueta un conjunto de datos que contiene las entradas.
El aprendizaje no supervisado se ocupa de determinar una estructura para los datos de entrada, por ejemplo, cuando realiza el reconocimiento de patrones, y normalmente usa conjuntos de datos no etiquetados.
El aprendizaje por refuerzo se ocupa de permitir que un ordenador u ordenadores interactúen con un entorno dinámico, por ejemplo, al jugar un juego o conducir un vehículo.
Son posibles varios híbridos de estas categorías, tal como el aprendizaje automático "semisupervisado", en el que un conjunto de datos de entrenamiento solo se ha etiquetado parcialmente.
Para el aprendizaje automático no supervisado, existe una gama de posibles aplicaciones tales como, por ejemplo, la aplicación de técnicas de visión por ordenador al procesamiento de imágenes o mejora de vídeo. El aprendizaje automático no supervisado normalmente se aplica para resolver problemas en los que puede haber una estructura de datos desconocida en los datos. Como los datos no están etiquetados, se requiere que el proceso de aprendizaje automático opere para identificar relaciones implícitas entre los datos, por ejemplo, derivando una métrica de agrupamiento basada en información derivada internamente. Por ejemplo, se puede usar una técnica de aprendizaje no supervisada para reducir la dimensionalidad de un conjunto de datos e intentar identificar y modelar relaciones entre grupos en el conjunto de datos, y puede, por ejemplo, generar medidas de pertenencia a un grupo o identificar centros o nodos en o entre grupos (por ejemplo, mediante el uso de una técnica denominada análisis de red de correlación ponderada, que se puede aplicar a conjuntos de datos de alta dimensión, o mediante el uso de agrupación de k-medias para agrupar datos mediante una medida de la distancia euclidiana entre cada dato).
El aprendizaje semisupervisado se aplica normalmente para resolver problemas donde hay un conjunto de datos parcialmente etiquetado, por ejemplo, cuando solo se etiqueta un subconjunto de los datos. El aprendizaje automático semisupervisado hace uso de etiquetas proporcionadas externamente y funciones objetivas, así como cualquier relación de datos implícita.
Al configurar inicialmente un sistema de aprendizaje automático, particularmente cuando se usa un enfoque de aprendizaje automático supervisado, el algoritmo de aprendizaje automático puede recibir algunos datos de entrenamiento o un conjunto de ejemplos de entrenamiento, en los que cada ejemplo es normalmente un par de una señal/vector de entrada y un valor de salida deseado, etiqueta (o clasificación) o señal. El algoritmo de aprendizaje automático analiza los datos de entrenamiento y produce una función generalizada que se puede usar con conjuntos de datos invisibles para producir valores de salida deseados o señales para los vectores/señales de entrada invisibles. El usuario debe decidir qué tipo de datos se usarán como datos de entrenamiento y preparar un conjunto de datos representativo del mundo real. Sin embargo, el usuario debe asegurarse de que los datos de entrenamiento contengan información suficiente para predecir con precisión los valores de salida deseados sin proporcionar demasiadas funciones (lo que puede hacer que el proceso de aprendizaje automático considere demasiadas dimensiones durante el entrenamiento, y también podría significar que el proceso de aprendizaje automático no converge con buenas soluciones para todos o ejemplos específicos). El usuario también debe determinar la estructura deseada de la función aprendida o generalizada, por ejemplo, si usar máquinas de vectores de soporte o árboles de decisión.
El uso de enfoques de aprendizaje automático no supervisados o semisupervisados a veces se usa cuando los datos etiquetados no están disponibles fácilmente, o cuando el sistema genera nuevos datos etiquetados a partir de datos desconocidos dadas algunas etiquetas iniciales.
Los enfoques de entrenamiento actuales para la mayoría de los algoritmos de aprendizaje automático pueden llevar períodos de tiempo significativos, lo que retrasa la utilidad de los enfoques de aprendizaje automático y también impide el uso de técnicas de aprendizaje automático en un campo más amplio de aplicación potencial.
Antecedentes - Aprendizaje automático y superresolución de imágenes
Para mejorar la eficacia de algunas técnicas de superresolución, es posible incorporar el aprendizaje automático, también denominado "enfoque aprendido", en las técnicas de superresolución de imágenes descritas anteriormente. Por ejemplo, un enfoque de aprendizaje automático que se puede usar para la mejora de imágenes, mediante el uso de representaciones de diccionario para imágenes, es una técnica generalmente conocida como aprendizaje de diccionario. Este enfoque ha demostrado su eficacia en tareas de visión de bajo nivel como la restauración de imágenes.
Cuando se usa el aprendizaje por diccionario, la representación de una señal se da como una combinación lineal de funciones extraídas de una colección de átomos denominada diccionario. Por ejemplo, una señal dada y se puede representar como:
Figure imgf000006_0001
donde xi,..., Xn son los átomos de un diccionario de tamaño n y ai,... an son coeficientes tales que ||a||o <A, donde A es la restricción de dispersión, por ejemplo, donde A = 3 no más de tres coeficientes pueden ser distintos de cero. Los átomos tienen la misma dimensionalidad que la señal y, por lo que, si bien es posible tener un átomo xi que sea idéntico a y, usualmente se puede usar un diccionario de átomos simples para reconstruir una amplia gama de señales diferentes.
En teoría, se requieren al menos k átomos ortogonales para reconstruir completamente las señales en el espacio kdimensional. En la práctica, sin embargo, se logran mejores resultados mediante el uso de un diccionario demasiado completo donde hay n > k átomos y estos átomos no tienen que ser ortogonales entre sí.
Un diccionario completo significa que el número de átomos del diccionario es el mismo que la dimensionalidad de los parches de la imagen y que los átomos del diccionario son linealmente independientes (es decir, todos ortogonales entre sí y pueden representar el espacio dimensional entero o completo), por lo que donde 16 x 16 átomos representan parches de imagen de 16 x 16, el diccionario está completo si tiene 16 x 16 = 256 átomos. Si hay más átomos que esto en el diccionario, entonces el diccionario se vuelve demasiado completo.
En la Figura 1 se muestra un ejemplo de un diccionario demasiado completo, donde un parche de 16 x 16 píxeles está representado por una combinación lineal de 16 x 16 átomos de diccionario 5 que se extrae de la colección de átomos que es el diccionario 1. Se observa que los átomos no se seleccionan localmente dentro del diccionario, sino que se eligen como la combinación lineal que mejor se aproxima al parche de señal para un número máximo de átomos permitido e independientemente de su localización dentro del diccionario. Sin la restricción de que los átomos deben ser ortogonales entre sí, se crean diccionarios más grandes que el espacio de señal que el diccionario pretende representar.
Los diccionarios demasiado completos se usan debido a que proporcionan mejores reconstrucciones, pero a costa de tener que almacenar y transmitir todos los nuevos diccionarios y representaciones creados durante el proceso de aprendizaje del diccionario. En comparación con una biblioteca predeterminada de representaciones, se crea una cantidad significativamente mayor de datos como resultado del aprendizaje del diccionario debido a que genera un conjunto de datos significativamente más grande que el conjunto de bases en una biblioteca predeterminada de representaciones y los átomos no son todos ortogonales entre sí.
En el aprendizaje de diccionarios, donde no hay suficientes representaciones disponibles en una biblioteca de representaciones existente (o no hay una biblioteca disponible), se emplean técnicas de aprendizaje automático para adaptar los átomos del diccionario de manera que puedan adaptarse a las características de la imagen y obtener representaciones más precisas. Luego, cada nueva representación se transfiere junto con los datos del vídeo para permitir que la representación se use al recrear el vídeo para su visualización.
El dominio de transformación puede ser un diccionario de átomos de imágenes, que se puede aprender a través de un proceso de entrenamiento conocido como aprendizaje de diccionario que intenta descubrir la correspondencia entre secciones de imágenes de baja y alta resolución (o "parches"). El aprendizaje de diccionario usa un conjunto de representaciones lineales para representar una imagen y, cuando se usa un diccionario demasiado completo, se puede usar una pluralidad de representaciones lineales para representar cada parche de imagen para aumentar la precisión de la representación.
Cuando se usan técnicas de superresolución basadas en el aprendizaje de diccionarios, se necesitan dos diccionarios: uno para la imagen de baja resolución y un diccionario separado para la imagen de alta resolución. Para combinar las técnicas de superresolución con el aprendizaje de diccionarios, se crean modelos de reconstrucción para mejorar la imagen en base al mapeo de los coeficientes del diccionario de baja resolución con los coeficientes del diccionario de alta resolución. Varios artículos describen esto, incluyendo including "On Single Image Scale-Up Using Sparse-Representations" por R. Zeyde y otros y publicado en 2010, "Image super-resolution via sparse representation" por J. Yang y publicada en 2010, y "Coupled Dictionary Training for Image Super-Resolution" por J. Yang y otros y publicado en 2012.
Una desventaja de usar técnicas de superresolución basadas en el aprendizaje de diccionario en imágenes de baja resolución para intentar recrear la imagen de alta resolución es la necesidad de dos diccionarios, uno para la imagen de baja resolución y un diccionario separado para la imagen de alta resolución. Es posible tener un solo diccionario combinado, pero en esencia siempre hay en la práctica un modelo explícito para cada resolución para permitir que las representaciones coincidan entre las dos resoluciones de imagen.
Sin embargo, una desventaja adicional de usar el aprendizaje de diccionario, especialmente cuando se usa con un diccionario demasiado completo, es la cantidad de datos que deben transferirse junto con la imagen de baja resolución para recrear una imagen de alta resolución a partir de la imagen de baja resolución.
Otra desventaja de los enfoques de aprendizaje de diccionario es que tienden a usar un enfoque de promediado de parche local en la etapa final de la reconstrucción de una imagen de resolución más alta a partir de una imagen de resolución más baja, lo que puede resultar en un suavizado no intencional en la imagen reconstruida.
Otra desventaja de los métodos de aprendizaje de diccionario es que es muy lento y puede tener muchos requisitos de memoria, dependiendo del tamaño del diccionario.
Antecedentes - Eliminación de artefactos en datos visuales
Los artefactos de datos visuales y/o el ruido a menudo se pueden introducir en los datos visuales durante el procesamiento, particularmente durante el procesamiento para comprimir los datos visuales o durante la transmisión de los datos visuales a través de una red. Dichos artefactos introducidos pueden incluir desenfoque, pixelación, bloqueo, oscilación transitoria, distorsión, datos faltantes y otras marcas, imperfecciones, defectos y anomalías en los datos visuales. Estos artefactos en los datos visuales pueden degradar la experiencia del usuario al ver los datos visuales. Además, estos artefactos en los datos visuales también pueden reducir la efectividad de las técnicas de procesamiento de datos visuales, tal como la superresolución de imágenes, así como otras tareas visuales como la clasificación y segmentación de imágenes, que usan imágenes procesadas como entrada.
La compresión con pérdida, en la que los datos visuales se codifican mediante el uso de aproximaciones inexactas, es una fuente de artefactos particularmente común. A menudo, se requiere compresión con pérdida para reducir el tamaño de una imagen o video digital con el fin de transmitirlo a través de una red sin usar una cantidad excesiva de ancho de banda. Se pueden lograr altas tasas de compresión de datos visuales mediante el uso de la compresión con pérdida, pero a costa de una reducción en la calidad de los datos visuales originales y la introducción de artefactos.
La transmisión de datos visuales a través de una red puede en sí misma introducir artefactos en los datos visuales a través de errores de transmisión entre los nodos en la red.
Los métodos actuales de eliminación de artefactos (denominados en la presente descripción corrección de fidelidad de datos visuales) generalmente solo corrigen un tipo específico de artefacto. Los ejemplos de tales técnicas incluyen métodos orientados al desbloqueo, tal como la Transformada discreta de coseno adaptable a la forma puntual (en lo sucesivo, SA-DCT puntual), que se ocupan de los artefactos de bloqueo. Estas técnicas no funcionan bien y también pueden introducir más artefactos como efecto secundario, tal como el suavizado excesivo de datos visuales.
Resumen de la invención
La invención y sus modalidades particulares para las que se busca protección se exponen en las reivindicaciones adjuntas. Estos y otros ejemplos relacionados también se describen en la presente descripción.
Buscan proporcionar técnicas para generar algoritmos jerárquicos que se puedan usar, al convertir datos visuales originales de alta calidad en datos visuales de menor calidad, para permitir la recreación de datos visuales de mayor calidad a partir de los datos visuales de menor calidad sin una pérdida significativa de calidad entre los datos visuales originales de alta calidad y los datos visuales de mayor calidad.
Otros ejemplos relacionados buscan proporcionar técnicas para la reconstrucción y/o mejora de datos visuales de menor calidad a datos visuales de mayor calidad.
Otros ejemplos relacionados buscan proporcionar técnicas para el aprendizaje automático.
Método de entrenamiento general
De acuerdo con un aspecto, se proporciona un método para desarrollar un modelo de mejora para datos visuales de baja calidad, el método que comprende las etapas de: recibir una o más secciones de datos visuales de mayor calidad; entrenar un algoritmo jerárquico, en donde el algoritmo jerárquico puede operarse para aumentar la calidad de una o más secciones de datos visuales de menor calidad para reproducir sustancialmente la una o más secciones de datos visuales de mayor calidad; y generar el algoritmo jerárquico.
El entrenamiento de algoritmos jerárquicos puede permitir que se desarrollen modelos de mejora y/o reconstrucción para mejorar los datos visuales en al menos una modalidad. En algunas modalidades, los datos visuales pueden ser datos de imágenes y/o datos de vídeo. Además, en algunas modalidades se pueden desarrollar modelos de mejora para aumentar la precisión de los datos visuales de mayor calidad que se pueden reproducir a partir de datos visuales de menor calidad en comparación con los datos visuales originales de mayor calidad. En al menos una modalidad, el conocimiento de los datos visuales originales puede permitir que el algoritmo jerárquico se entrene (y/o desarrolle) en base al conocimiento tanto de los datos visuales originales como de los datos visuales de baja calidad para entrenar un algoritmo jerárquico para reproducir sustancialmente los datos visuales originales a partir de los datos visuales de baja calidad.
Opcionalmente, el algoritmo jerárquico se desarrolla a partir de una inicialización conocida.
En algunas modalidades, el algoritmo jerárquico se puede desarrollar a partir de una inicialización conocida, por ejemplo, de una función o base jerárquica. En algunas de estas modalidades, la función o base jerárquica puede ser, por ejemplo, ondículas de haar o uno o más algoritmos jerárquicos preentrenados o conjuntos de algoritmos jerárquicos. En al menos una modalidad, proporcionar una inicialización conocida permite acelerar el entrenamiento de algoritmos jerárquicos, y la inicialización conocida puede estar más cerca de la mejor solución, especialmente cuando se compara con comenzar desde una inicialización aleatoria. En algunas modalidades, se puede desarrollar un algoritmo jerárquico entrenado para datos visuales de entrada, en donde el algoritmo jerárquico entrenado se desarrolla para esos datos de entrada en base al algoritmo preentrenado más similar seleccionado. En al menos una modalidad, la selección de uno o más algoritmos preentrenados más similares se puede realizar en base a una o más métricas asociadas con los modelos preentrenados cuando se comparan y/o se aplican a los datos de entrada. En algunas modalidades, las métricas pueden ser cualquier medida predeterminada de similitud o diferencia. En algunas modalidades, el algoritmo preentrenado más similar se puede usar como punto de partida para desarrollar un algoritmo entrenado o personalizado para los datos de entrada, ya que un algoritmo personalizado no tiene que someterse a un desarrollo tan extenso como se necesita cuando se desarrolla un algoritmo desde los primeros principios.
Opcionalmente, el método se realiza en un primer nodo de red dentro de una red. Además, opcionalmente, el algoritmo jerárquico puede transmitirse a un segundo nodo de red en la red.
Al reducir la calidad de los datos visuales (por ejemplo, al reducir la resolución de los datos de vídeo) en algunas modalidades, se pueden enviar menos datos a través de una red desde un primer nodo a un segundo nodo para que el segundo nodo muestre los datos visuales del primer nodo. En algunas modalidades, los datos visuales de menor calidad junto con un modelo que se usará para la reconstrucción pueden permitir que se transmitan menos datos que si la versión original de mayor calidad de los mismos datos visuales se transmitiera entre nodos.
Opcionalmente, la una o más secciones de datos visuales de menor calidad se generan a partir de una o más secciones de datos visuales de mayor calidad. Además, opcionalmente, la una o más secciones de datos visuales de menor calidad se pueden generar a partir de los datos visuales de alta calidad mediante el uso de un proceso que comprende submuestreo.
Al reducir la calidad de una sección de datos visuales en algunas modalidades, se pueden enviar menos datos para transmitir los datos visuales a través de una red. Además, en algunas modalidades, el envío de la versión de menor calidad junto con un modelo que se usará para la reconstrucción puede resultar en que se transmitan menos datos que si la versión original de mayor calidad de la misma sección de datos visuales se transmitiera sola.
Opcionalmente, la una o más secciones de datos visuales de menor calidad se generan a partir de una o más secciones de datos visuales de mayor calidad mediante el uso de un proceso que comprende compresión y/o cuantificación.
La compresión con pérdida, una reducción en la velocidad de cuadros, una reducción en la precisión de los datos de píxeles (por ejemplo, de 32 bits a 16 bits) y la cuantificación de datos visuales son métodos para producir datos visuales de menor calidad a partir de datos visuales de mayor calidad y se pueden usar en algunas modalidades para generar datos visuales de menor calidad a partir de datos visuales de mayor calidad.
Opcionalmente, la una o más secciones de datos visuales de mayor calidad y/o datos visuales de menor calidad comprenden cualquiera de: un solo cuadro, una secuencia de cuadros y una región dentro de un cuadro o secuencia de cuadros. Opcionalmente, la una o más secciones de datos visuales de mayor calidad y/o la una o más secciones de datos visuales de menor calidad pueden comprender una imagen, una secuencia de imágenes, una sección de vídeo o una salida de un videojuego.
Dependiendo de los datos visuales que se procesen en una modalidad, se pueden generar modelos para secciones de datos visuales que comprenden un solo cuadro, una secuencia de cuadros o una región dentro de un cuadro o secuencia de cuadros. Cada una de estas opciones puede usarse en algunas o en todas las modalidades con el fin de proporcionar un método para mejorar o reconstruir datos visuales para producir datos visuales de mayor calidad. Mejora/reconstrucción general
De acuerdo con otro aspecto, se proporciona un método para mejorar datos visuales de menor calidad mediante el uso de algoritmos jerárquicos, el método que comprende las etapas de: recibir una o más secciones de datos visuales de menor calidad; aplicar un algoritmo jerárquico a una o más secciones de datos visuales de menor calidad para mejorar una o más secciones de datos visuales de menor calidad a una o más secciones de datos visuales de mayor calidad, en donde el algoritmo jerárquico se desarrolló mediante el uso de un enfoque aprendido; y generar la una o más secciones de datos visuales de mayor calidad.
En algunas modalidades, una sección de datos visuales que se ha transmitido a través de una red se puede mejorar mediante el uso de algoritmos jerárquicos. Aplicando un algoritmo jerárquico en algunas o todas estas modalidades, se puede generar una versión de mayor calidad de los datos visuales para la entrada de datos visuales de menor calidad. Por lo tanto, en algunas modalidades, solo es necesario transmitir datos visuales de menor calidad a través de la red. En otras modalidades, los datos visuales de menor calidad se pueden transmitir a través de la red junto con uno o más algoritmos jerárquicos que se pueden usar para mejorar los datos visuales de menor calidad.
Opcionalmente, el algoritmo jerárquico se selecciona de una biblioteca de algoritmos jerárquicos aprendidos.
En algunas modalidades, una biblioteca almacenada de algoritmos jerárquicos aprendidos permite la selección de un algoritmo jerárquico para su comparación sin tener que desarrollarlos u obtenerlos de una fuente externa. En algunas modalidades, la comparación puede realizarse entre una pluralidad de algoritmos en la biblioteca. El uso de dicha biblioteca, en al menos algunas modalidades, puede resultar en la selección más rápida de un algoritmo jerárquico adecuado para mejorar los datos visuales o, en algunas modalidades, el algoritmo jerárquico más adecuado en una biblioteca (por ejemplo, basando una medida de idoneidad en una métrica predeterminada).
Opcionalmente, la selección del algoritmo jerárquico de la biblioteca de algoritmos jerárquicos aprendidos está determinada por los datos métricos asociados con los datos visuales de menor calidad.
En algunas modalidades, se supone que cuanto más cercanas estén las características del algoritmo jerárquico a las de los datos métricos asociados con los datos visuales de menor calidad, más precisa se puede crear una reconstrucción mediante el uso de ese algoritmo jerárquico particular. Por lo tanto, al usar datos métricos asociados en algunas modalidades de esta manera, se puede elegir con mayor precisión un modelo apropiado entre la pluralidad de algoritmos jerárquicos disponibles.
Opcionalmente, las etapas de recibir una o más secciones de datos visuales de menor calidad y aplicar el algoritmo jerárquico a la una o más secciones de datos visuales de menor calidad se producen de manera sustancialmente simultánea.
En algunas modalidades, al recibir una o más secciones de datos visuales de menor calidad y aplicar de manera sustancialmente simultánea el algoritmo jerárquico a una o más secciones de datos visuales de menor calidad, se puede reducir el tiempo necesario para mejorar los datos visuales. Esto es especialmente beneficioso para las modalidades de retransmisiones en directo, en las que puede ser ventajoso minimizar el tiempo necesario para el procesamiento de datos visuales antes de la transmisión.
Opcionalmente, una o más secciones de datos visuales de menor calidad se generan a partir de una o más secciones de datos visuales originales de mayor calidad.
En algunas modalidades, al generar datos visuales de menor calidad a partir de datos visuales originales de mayor calidad y transmitir los datos visuales de menor calidad en lugar de los datos visuales originales de mayor calidad, es necesario procesar o enviar menos datos a través de una red.
Entrenamiento sin conexión
De acuerdo con otro aspecto, se proporciona un método para desarrollar un modelo de mejora para datos visuales, el método que comprende las etapas de: recibir una o más secciones de datos visuales de mayor calidad y una o más secciones de datos visuales de menor calidad correspondientes a la una o más secciones de datos de mayor calidad; desarrollar un algoritmo jerárquico, en donde el algoritmo jerárquico puede operarse para reproducir sustancialmente una o más secciones de datos visuales de mayor calidad de la correspondiente una o más secciones de datos visuales de menor calidad; y almacenar el algoritmo jerárquico desarrollado en una biblioteca de algoritmos jerárquicos desarrollados.
En algunas modalidades, al desarrollar y almacenar algoritmos jerárquicos entrenados para mejorar los datos visuales en una biblioteca de algoritmos de mejora, se pueden seleccionar algoritmos jerárquicos entrenados de la biblioteca para su uso repetido para reducir la necesidad de entrenamiento individual desde cero cada vez que se requieran las mejoras en los datos visuales. En algunas de estas modalidades, este enfoque puede ahorrar gastos computacionales y acelerar la transmisión de datos visuales a través de una red, por ejemplo, cuando es posible elegir un modelo adecuado para la mejora visual de la biblioteca en lugar de entrenar uno nuevo. También permite entrenar algoritmos jerárquicos antes de la transmisión de datos visuales, para al menos algunas modalidades, eliminando las limitaciones de tiempo que pueden estar presentes cuando se entrenan algoritmos jerárquicos sustancialmente de manera inmediata antes de que se transmitan los datos visuales.
Opcionalmente, el algoritmo jerárquico desarrollado se almacena asociado con datos métricos relacionados con un tipo de contenido de los datos visuales de mayor calidad y/o datos visuales de menor calidad a partir de los cuales se desarrolló el algoritmo jerárquico.
En algunas modalidades, almacenando el modelo entrenado en la biblioteca con datos métricos relacionados con los datos visuales asociados, opcionalmente donde los datos métricos pueden usarse para determinar si el modelo entrenado sería adecuado para usar con datos visuales que tengan datos métricos similares, tales datos métricos se pueden usar para comparar con los datos métricos asociados a otros datos visuales para seleccionar un algoritmo jerárquico adecuado para mejorar esos otros datos visuales. Esto significa que, en al menos algunas de estas modalidades, no es necesario entrenar un algoritmo jerárquico específico para cada conjunto de datos visuales; en cambio, los algoritmos jerárquicos entrenados existentes se pueden usar para mejorar conjuntos de datos visuales similares a aquellos en los que fueron entrenados.
Opcionalmente, el algoritmo jerárquico se desarrolla a partir de un algoritmo jerárquico conocido.
En algunas modalidades, desarrollar un nuevo algoritmo jerárquico a partir de un algoritmo jerárquico conocido que se entrenó con datos visuales similares a los datos visuales en los que se entrenará el nuevo algoritmo puede reducir el tiempo y/o el esfuerzo computacional requerido para entrenar el nuevo algoritmo jerárquico.
Opcionalmente, el algoritmo jerárquico conocido se almacena en la biblioteca de algoritmos jerárquicos desarrollados.
Para algunas modalidades, tener uno o más algoritmos conocidos almacenados en una biblioteca de algoritmos desarrollados previamente puede permitir que se acceda a estos algoritmos rápida y fácilmente, aumentando la eficiencia del proceso de entrenamiento.
Opcionalmente, el método se realiza en un nodo de red dentro de una red.
Al realizar el método en un nodo de red en algunas modalidades, los algoritmos jerárquicos entrenados resultantes pueden transmitirse a través de la red a otros nodos de red en los que se requieren. También permite, en al menos algunas modalidades, que la biblioteca de modelos entrenados se almacene de manera remota desde la localización en la que tiene lugar el entrenamiento.
Opcionalmente, el método comprende adicionalmente una etapa de codificar la una o más secciones de datos visuales de mayor calidad y/o la una o más secciones de datos visuales de menor calidad.
Opcionalmente, la etapa de codificar la una o más secciones de datos visuales de mayor calidad y/o la una o más secciones de datos visuales de menor calidad se produce después de la etapa de desarrollar el algoritmo jerárquico. Los datos visuales a menudo se codifican antes de la transmisión a través de una red, o se almacenan en una memoria, en las modalidades. Al codificar los datos visuales después de que se haya entrenado el algoritmo jerárquico en al menos algunas modalidades, los datos visuales están listos para su transmisión o almacenamiento. El algoritmo jerárquico entrenado entonces podrá operarse para mejorar la calidad de los datos visuales decodificados en estas modalidades.
Opcionalmente, el método comprende adicionalmente una etapa de refinar el algoritmo jerárquico después de la etapa de codificar la una o más secciones de datos visuales de mayor calidad y/o la una o más secciones de datos visuales de menor calidad.
Refinando el algoritmo jerárquico después de la codificación de los datos visuales en algunas modalidades, el algoritmo jerárquico puede entrenarse para mejorar la calidad de los datos visuales codificados sin que los datos visuales tengan que decodificarse primero. En algunas de estas modalidades, esto puede reducir el tiempo necesario para decodificar y mejorar los datos visuales de menor calidad para reproducir sustancialmente los datos visuales de mayor calidad.
De acuerdo con un aspecto adicional, se proporciona un método para reducir la cantidad de datos a transferir cuando se comunican datos visuales a través de una red desde un primer nodo a un segundo nodo, el método en el primer nodo que comprende las etapas de: reducir la calidad de una o más secciones de datos visuales de mayor calidad a una o más secciones de datos visuales de menor calidad; seleccionar al menos un algoritmo que pueda operarse para aumentar la calidad de al menos una sección de datos visuales de menor calidad mediante el uso de los datos visuales de mayor calidad para optimizar la selección del algoritmo, en donde el algoritmo corresponde a al menos una sección de datos visuales de menor calidad datos; transmitir la una o más secciones de datos visuales de menor calidad al segundo nodo; y transmitir al segundo nodo una o más referencias correspondientes al uno o más algoritmos seleccionados que corresponden a una o más secciones de datos visuales de menor calidad transmitidos al segundo nodo; en donde el segundo nodo es capaz de identificar el algoritmo seleccionado mediante el uso de una o más referencias transmitidas y reproducir sustancialmente los datos visuales de mayor calidad a partir de los datos visuales de menor calidad transmitidos mediante el uso de los algoritmos seleccionados identificados que corresponden a cada sección de datos visuales de menor calidad.
De acuerdo con otro aspecto, se proporciona un método para aumentar la calidad de una sección de datos visuales comunicados a través de una red desde un primer nodo a un segundo nodo, el método en el segundo nodo que comprende las etapas de: recibir datos visuales de menor calidad a través de una red; recibir una referencia correspondiente a un algoritmo que pueda operarse para aumentar la calidad de los datos visuales de menor calidad, el algoritmo seleccionado con el conocimiento de los datos visuales de mayor calidad a partir de los cuales se generaron los datos visuales de menor calidad; y usar el algoritmo para aumentar la calidad de los datos visuales de menor calidad para recrear sustancialmente los datos visuales de mayor calidad.
De acuerdo con un aspecto adicional, se proporciona un sistema para reducir la cantidad de datos transferidos cuando se comunican datos visuales a través de una red, el sistema que comprende dos o más nodos en donde un primer nodo está configurado para: reducir la calidad de una o más secciones de datos visuales de mayor calidad a una o más secciones de datos visuales de menor calidad; seleccionar al menos un algoritmo que pueda operarse para aumentar la calidad de al menos una sección de datos visuales de menor calidad mediante el uso de los datos visuales de mayor calidad para optimizar la selección del algoritmo, en donde el algoritmo corresponde al menos a una sección de datos visuales de menor calidad; transmitir la una o más secciones de datos visuales de menor calidad al segundo nodo; y transmitir al segundo nodo una o más referencias al uno o más algoritmos que corresponden a una o más secciones de datos visuales de menor calidad transmitidos al segundo nodo; en donde el segundo nodo está configurado para: recibir datos visuales de menor calidad a través de una red; recibir una referencia correspondiente al algoritmo que pueda operarse para aumentar la calidad de los datos visuales de menor calidad, el algoritmo seleccionado con el conocimiento de los datos visuales de mayor calidad a partir de los cuales se generaron los datos visuales de menor calidad; y usar el algoritmo para aumentar la calidad de los datos visuales de menor calidad para recrear sustancialmente los datos visuales de mayor calidad.
Al transmitir una versión de datos visuales de menor calidad en algunas modalidades, tal como una sección de datos visuales de baja calidad o una serie de secciones de datos visuales, junto con una referencia de biblioteca a un algoritmo (es decir, parte o la totalidad de un algoritmo, reconstrucción algoritmo, modelo, modelo de reconstrucción, parámetros o parámetros de reconstrucción) para ayudar a la reconstrucción de datos visuales de mayor calidad, tal como un cuadro de vídeo de alta resolución o una serie de cuadros, en al menos algunas modalidades se pueden transferir menos datos a través de una red para permitir que los datos visuales de alta calidad se vean en comparación con la transmisión de datos visuales de alta calidad solamente.
Opcionalmente, las etapas de transmitir la una o más secciones de datos visuales de menor calidad al segundo nodo y transmitir al segundo nodo una o más referencias correspondientes al uno o más algoritmos seleccionados que corresponden a la una o más secciones de datos visuales de menor calidad transmitidos al segundo nodo se producen juntos o sustancialmente de manera simultánea.
Al transmitir tanto datos visuales como una o más referencias a algoritmos en una biblioteca de algoritmos, se puede transmitir una cantidad reducida de datos ya que solo se transmiten una o más referencias a algoritmos en lugar de los propios algoritmos.
Opcionalmente, el algoritmo es un algoritmo jerárquico.
En algunas modalidades, los algoritmos usados son algoritmos jerárquicos. Se debe señalar que los algoritmos también pueden denominarse modelos, representaciones, parámetros o funciones. En algunas de estas modalidades, los algoritmos jerárquicos pueden permitir una reconstrucción sustancialmente precisa de datos visuales, por ejemplo, producir un vídeo de alta resolución de mayor calidad a partir del vídeo de baja resolución que se transmite, por ejemplo, cuando la calidad se puede medir mediante una tasa de error baja en comparación al video original de alta resolución.
Opcionalmente, el algoritmo es un algoritmo no lineal.
En algunas modalidades, el uso de algoritmos no lineales puede ser más flexible y expresivo que los enfoques basados en el aprendizaje por diccionario, y usar menos coeficientes para la reconstrucción de datos visuales de mayor calidad. En algunas de estas modalidades, esto puede permitir que la reconstrucción de las secciones de mayor calidad sea sustancialmente precisa.
Opcionalmente, el algoritmo se selecciona de una biblioteca de algoritmos almacenados en cualquiera de: el primer nodo; el segundo nodo; una base de datos centralizada en la red; o una base de datos distribuida en la red.
En algunas modalidades, una biblioteca de algoritmos puede permitir la selección de un algoritmo sustancialmente óptimo, si no el más óptimo, disponible en la biblioteca para reconstruir los datos visuales de menor calidad en datos visuales de mayor calidad. En algunas de estas modalidades, el uso de una biblioteca también puede permitir que se haga referencia al algoritmo seleccionado mediante un identificador de referencia. En determinadas modalidades, se pueden proporcionar bibliotecas en ambos nodos y/o en bases de datos centralizadas o distribuidas y, opcionalmente, se pueden usar identificadores de referencia comunes o sincronizados para los mismos algoritmos. Opcionalmente, la referencia recibida corresponde a un algoritmo almacenado en una biblioteca en el segundo nodo. Proporcionando bibliotecas de algoritmos comunes o sincronizados tanto en el primer como en el segundo nodos en al menos algunas modalidades, y transmitiendo una referencia o un identificador de referencia cuando se transmiten los datos visuales de menor calidad correspondientes para permitir la selección de algoritmos de coincidencia de ambas bibliotecas mediante el uso del identificador de referencia para identificar el algoritmo seleccionado, solo el identificador de referencia y los datos visuales de menor calidad deben transmitirse entre los nodos, por lo que la transmisión de datos se reduce ya que el algoritmo en sí no necesita transmitirse.
Opcionalmente, si el segundo nodo no puede identificar el algoritmo seleccionado, el segundo nodo envía una solicitud a cualquiera de: el primer nodo; una base de datos centralizada; o una base de datos distribuida para la transmisión del algoritmo seleccionado al segundo nodo.
En algunas modalidades, configurando el segundo nodo para poder solicitar modelos de un nodo (por ejemplo, un primer nodo o alternativamente otro nodo o un nodo al que se sincronizan múltiples bibliotecas, en dependencia de la modalidad) en situaciones en las que las bibliotecas en el segundo nodo y otro nodo no están sincronizadas, los datos visuales de mayor calidad aún pueden reconstruirse incluso si la referencia transmitida no corresponde a un algoritmo almacenado en el segundo nodo. Esto puede evitar errores en el proceso de reconstrucción en algunas modalidades.
Opcionalmente, el algoritmo comprende una o más redes neuronales convolucionales.
En algunas modalidades, las redes neuronales convolucionales pueden lograr una reconstrucción sustancialmente óptima de datos visuales de mayor calidad a partir de datos visuales de menor calidad (cuando los datos visuales reconstruidos de mayor calidad se comparan con los datos visuales originales de alta calidad) mientras son relativamente pequeños en tamaño de datos, por ejemplo, en comparación con diccionarios demasiado completos. Opcionalmente, los datos visuales de alta calidad se dividen en secciones más pequeñas en base a las similitudes entre una pluralidad de secciones de los datos visuales de alta calidad.
En algunas modalidades, al dividir los datos visuales en secciones más pequeñas, donde las secciones pueden ser secuencias de cuadros o porciones de uno o más cuadros, y donde la división puede basarse en una métrica particular de similitud, se pueden seleccionar modelos más eficientes. Por ejemplo, en algunas modalidades se pueden agrupar varias secciones, todas las cuales forman parte de una toma de paisaje, y se puede usar un modelo para reconstruir la escena, es decir, secuencia de cuadros, en lugar de usar un modelo diferente para cada cuadro por separado en la escena. En algunas modalidades, si la siguiente escena en los datos visuales es muy diferente (por ejemplo, una escena con movimiento significativo después de una escena que muestra un paisaje inmóvil), entonces la escena se puede detectar como muy diferente y se puede seleccionar un nuevo modelo en consecuencia para la escena. En algunas modalidades, se pueden seleccionar modelos específicos para cada escena o sección, permitiendo al menos alguna optimización o adaptación del/de los modelo(s) de reconstrucción en comparación con el uso de un modelo genérico para la totalidad de los datos visuales.
Opcionalmente, la una o más secciones comprenden cualquiera de: una única trama, una secuencia de tramas y una región dentro de una trama o secuencia de tramas.
Dependiendo de los datos visuales que se estén procesando, en algunas modalidades se pueden seleccionar modelos para secciones de datos visuales que comprenden un solo cuadro, una secuencia de cuadros o una región dentro de un cuadro o secuencia de cuadros. Esta selección puede ser necesaria en algunas de estas modalidades para proporcionar el método más eficaz de reconstruir una versión de mayor calidad de una parte de los datos visuales originales.
Opcionalmente, los datos visuales se convierten en una secuencia de secciones, opcionalmente antes de que se reduzca la calidad.
La separación de los datos visuales en secciones, por ejemplo en una serie de cuadros o imágenes en algunas modalidades, permite que las secciones individuales se submuestreen, reduciendo por lo tanto el tamaño de los datos visuales y, de esta manera, puede permitir que las secciones de menor calidad se transmitan como datos visuales recodificados en el código original (u opcionalmente recodificados mediante el uso de un códec más óptimo y/o con una menor calidad en algunas modalidades).
Opcionalmente, el submuestreo se usa para reducir la calidad de una o más secciones de datos visuales de mayor calidad a una o más secciones de datos visuales de menor calidad.
Al reducir la calidad de la sección de datos visuales en algunas modalidades, es necesario enviar menos datos a través de una red desde un primer nodo a un segundo nodo para que el segundo nodo reciba el archivo. En estas modalidades, la versión de menor calidad junto con una referencia al modelo que se usará para la reconstrucción puede permitir que se transmitan menos datos que si se transmitiera la versión original de mayor calidad de la misma sección de datos visuales.
Opcionalmente, las etapas de transmitir una o más secciones de datos visuales de menor calidad al segundo nodo y transmitir al segundo nodo las referencias al uno o más algoritmos que corresponden a la una o más secciones de datos visuales de menor calidad transmitidos al segundo nodo se producen de manera sustancialmente simultánea. Al transmitir la sección de menor calidad de datos visuales y la referencia del modelo simultáneamente en algunas modalidades, el proceso de reconstrucción puede iniciarse de manera sustancialmente instantánea a la llegada de los datos, en contraposición a que haya un retraso entre la llegada de la sección de datos visuales y el modelo de referencia o viceversa. En algunas modalidades, tanto el modelo como la sección de datos visuales son necesarios para que se reconstruya una versión de mayor calidad de la sección de datos visuales, de manera que los datos visuales reconstruidos tengan sustancialmente la misma calidad que los datos visuales originales de mayor calidad. Entrenamiento en línea
De acuerdo con un aspecto, se proporciona un método para mejorar los datos visuales cuando se comunican datos visuales a través de una red desde un primer nodo a un segundo nodo, el método en el primer nodo que comprende las etapas de: reducir la calidad de una o más secciones de datos visuales de mayor calidad a una o más secciones de datos visuales de menor calidad; desarrollar al menos un algoritmo jerárquico que puede operarse para aumentar la calidad de una o más secciones de datos visuales de menor calidad mediante el uso de la una o más secciones de datos visuales de mayor calidad para mejorar el al menos un algoritmo jerárquico desarrollado, en donde el algoritmo desarrollado de al menos un algoritmo jerárquico corresponde a la una o más secciones de datos visuales de menor calidad; transmitir la una o más secciones de datos visuales de menor calidad al segundo nodo; y comunicar al segundo nodo al menos un algoritmo desarrollado de al menos un algoritmo jerárquico que corresponde a la una o más secciones de datos visuales de menor calidad transmitidos al segundo nodo; en donde el segundo nodo es capaz de reproducir sustancialmente la una o más secciones de datos visuales de mayor calidad a partir de las una o más secciones de datos visuales de menor calidad transmitidos mediante el uso del algoritmo desarrollado de al menos un algoritmo jerárquico que corresponde a la una o más secciones de datos visuales de menor calidad.
De acuerdo con un aspecto adicional, se proporciona un método para mejorar los datos visuales cuando se comunican datos visuales a través de una red desde un primer nodo a un segundo nodo, el método en el segundo nodo que comprende las etapas de: recibir una o más secciones de datos visuales de calidad a través de una red; recibir un correspondiente al menos un algoritmo jerárquico que puede operarse para aumentar la calidad de una o más secciones de datos visuales de menor calidad, el al menos un algoritmo jerárquico desarrollado con el conocimiento de una o más secciones de datos visuales de mayor calidad correspondientes a la una o más secciones de datos visuales de menor calidad; y usar el al menos un algoritmo jerárquico para aumentar la calidad de la una o más secciones de datos visuales de menor calidad para recrear sustancialmente la una o más secciones de datos visuales de mayor calidad.
De acuerdo con otro aspecto, se proporciona un sistema para reducir la cantidad de datos transferidos cuando se comunican datos visuales a través de una red, el sistema que comprende dos o más nodos en donde un primer nodo está configurado para: reducir la calidad de una o más secciones de datos visuales de mayor calidad a una o más secciones de datos visuales de menor calidad; desarrollar al menos un algoritmo jerárquico que puede operarse para aumentar la calidad de una o más secciones de datos visuales de menor calidad mediante el uso de la una o más secciones de datos visuales de mayor calidad para mejorar el algoritmo desarrollado de al menos un algoritmo jerárquico, en donde el algoritmo desarrollado de al menos un algoritmo jerárquico corresponde a una o más secciones de datos visuales de menor calidad; transmitir la una o más secciones de datos visuales de menor calidad al segundo nodo; y comunicar al segundo nodo al menos uno del algoritmo desarrollado de al menos un algoritmo jerárquico que corresponde a la una o más secciones de datos visuales de menor calidad transmitidos al segundo nodo; en donde el segundo nodo está configurado para: recibir una o más secciones de datos visuales de menor calidad a través de una red; recibir un correspondiente al menos un algoritmo jerárquico que puede operarse para aumentar la calidad de la una o más secciones de datos visuales de menor calidad, el al menos un algoritmo jerárquico desarrollado con el conocimiento de una o más secciones de datos visuales de mayor calidad correspondientes a la una o más secciones de datos visuales de menor calidad; y usar el al menos un algoritmo jerárqui
En algunas modalidades, al desarrollar un algoritmo jerárquico para mejorar la calidad de un conjunto específico de datos visuales de menor calidad, se puede lograr una mejora más precisa de esos datos visuales en un nodo receptor en una red. En algunas de estas modalidades, tener conocimiento de los datos visuales de mayor calidad a los que corresponden los datos visuales de menor calidad puede conducir al entrenamiento y/o desarrollo de algoritmos jerárquicos más precisos. Además de estas modalidades, tener conocimiento de la configuración de compresión de los datos visuales de menor calidad también puede ayudar en el entrenamiento y/o desarrollo de algoritmos jerárquicos más precisos y, en tales modalidades, entrenar algoritmos jerárquicos en datos visuales que tienen la misma configuración de compresión puede proporcionar algoritmos jerárquicos sustancialmente precisos esas configuraciones de compresión. Además, en algunas modalidades, la comunicación del algoritmo de menor calidad a través de la red junto con los datos visuales de menor calidad asociados puede reducir la cantidad de datos necesarios a transmitirse a través de la red en comparación con la transmisión de datos de mayor calidad solamente. Para algunas modalidades, esto es especialmente cierto en el caso en el que los datos visuales de mayor calidad tienen una calidad significativamente mayor que los datos visuales de menor calidad.
Opcionalmente, el algoritmo desarrollado de al menos un algoritmo jerárquico se selecciona de una pluralidad de algoritmos jerárquicos desarrollados en paralelo en el primer nodo.
Opcionalmente, el al menos un algoritmo jerárquico se desarrolla en paralelo a la codificación de los datos visuales de menor calidad.
En algunas modalidades, desarrollar múltiples algoritmos jerárquicos en paralelo mientras se codifican los datos visuales puede acelerar el proceso de preparación de los datos visuales y el algoritmo jerárquico para la comunicación a través de una red. En algunas de estas modalidades, mediante el desarrollo de múltiples algoritmos jerárquicos en paralelo, se puede explorar un mayor número de posibles estructuras de algoritmos y elegir la más adecuada.
Opcionalmente, las etapas de transmitir la una o más secciones de datos visuales de menor calidad al segundo nodo y comunicar al segundo nodo el algoritmo desarrollado de al menos un algoritmo jerárquico que corresponde a la una o más secciones de datos visuales de menor calidad transmitidos al segundo nodo se produce de manera sustancialmente simultánea.
Mediante la transmisión de los datos visuales y mediante la comunicación del algoritmo jerárquico asociado de manera sustancialmente simultánea en algunas modalidades, el proceso de reconstrucción en el segundo nodo puede comenzar tan pronto como se reciba el algoritmo jerárquico. Esto puede reducir el retraso, en algunas de estas modalidades, entre la recepción de datos visuales de menor calidad y la salida de datos visuales de mayor calidad.
Opcionalmente, la comunicación con el segundo nodo del al menos uno del algoritmo desarrollado de al menos un algoritmo jerárquico comprende transmitir el algoritmo desarrollado de al menos un algoritmo jerárquico al segundo nodo.
En algunas modalidades, la transmisión de la totalidad del algoritmo jerárquico desarrollado al segundo nodo asegura que el algoritmo jerárquico desarrollado esté disponible para su uso en el segundo nodo.
De acuerdo con un aspecto adicional, se proporciona un método para reducir la cantidad de datos a transferir cuando se comunican datos visuales a través de una red desde un primer nodo a un segundo nodo, el método en el primer nodo que comprende las etapas de: reducir la calidad de una sección de datos visuales de mayor calidad a una sección de datos visuales de menor calidad; analizar un primer modelo basado en ejemplos para el uso de la reconstrucción de la sección de menor calidad de datos visuales; analizar uno o más modelos basados en ejemplos para el uso de la reconstrucción de la sección de menor calidad de datos visuales; seleccionar uno o más modelos basados en ejemplos a partir de una pluralidad de modelos basados en ejemplos para usar en base a una métrica especificada; transmitir la sección de datos visuales de menor calidad al segundo nodo; y transmitir al segundo nodo el uno o más modelos seleccionados basados en ejemplos que corresponden a la sección de menor calidad de datos visuales transmitidos al segundo nodo; en donde el segundo nodo es capaz de reproducir sustancialmente la sección de mayor calidad de datos visuales de la sección de menor calidad de datos visuales transmitida mediante el uso de uno o más modelos basados en ejemplos que corresponden a la sección de menor calidad de datos visuales.
De acuerdo con otro aspecto, se proporciona un método para aumentar la calidad de una sección de menor calidad de datos visuales comunicados a través de una red desde un primer nodo a un segundo nodo, el método en el segundo nodo que comprende las etapas de: recibir una sección de menor calidad de datos visuales a través de una red; recibir un modelo basado en ejemplos correspondiente que puede operarse para aumentar la calidad de la sección de menor calidad de datos visuales; y usar el modelo basado en ejemplos para aumentar la calidad de la sección de menor calidad de datos visuales para recrear sustancialmente la sección de mayor calidad de datos visuales.
De acuerdo con un aspecto adicional, se proporciona un sistema para reducir la cantidad de datos a transferir cuando se comunican datos visuales a través de una red, el sistema que comprende dos o más nodos en donde un primer nodo está configurado para: reducir la calidad de un sección de mayor calidad de datos visuales a una sección de menor calidad de datos visuales; analizar un primer modelo basado en ejemplos para el uso de la reconstrucción de la sección de menor calidad de datos visuales; analizar uno o más modelos basados en ejemplos para el uso de la reconstrucción de la sección de menor calidad de datos visuales; seleccionar uno o más modelos basados en ejemplos a partir de una pluralidad de modelos basados en ejemplos para usar en base a una métrica especificada; transmitir la sección de datos visuales de menor calidad al segundo nodo; y transmitir al segundo nodo el uno o más modelos basados en ejemplos que corresponden a la sección de menor calidad de datos visuales transmitidos al segundo nodo; en donde el segundo nodo está configurado para: recibir una sección de menor calidad de datos visuales a través de la red; recibir uno o más modelos basados en ejemplos correspondientes que pueden operarse para aumentar la calidad de la sección de menor calidad de datos visuales; y usar uno o más modelos basados en ejemplos para aumentar la calidad de la sección de menor calidad de datos visuales para recrear sustancialmente la sección de mayor calidad de datos visuales.
De acuerdo con un aspecto, se proporciona un método para aumentar la calidad de una sección de menor calidad de datos visuales, el método en el primer nodo que comprende las etapas de: analizar un primer modelo basado en ejemplos para el uso de aumentar la calidad de la sección de menor calidad de datos visuales; analizar uno o más modelos basados en ejemplos adicionales para el uso de aumentar la calidad de la sección de menor calidad de datos visuales; y seleccionar uno o más modelos basados en ejemplos a partir de una pluralidad de modelos basados en ejemplos para usar en base a una métrica especificada; en donde la calidad de la sección de menor calidad de datos visuales puede aumentarse sustancialmente mediante el uso de uno o más modelos basados en ejemplos que corresponden a los datos visuales de menor calidad.
En algunas modalidades, al transmitir una sección de datos visuales de menor calidad a través de una red junto con un modelo basado en ejemplos para ayudar a la reconstrucción de datos visuales de alta calidad, se pueden transferir menos datos a través de la red para permitir que los datos visuales de mayor calidad se visualicen en comparación con la transmisión de datos visuales de mayor calidad solamente. En algunas de estas modalidades, al seleccionar uno o más modelos basados en ejemplos a partir de una pluralidad de modelos basados en ejemplos, los datos visuales de mayor calidad pueden operarse para ser reconstruidos a partir de los datos visuales de menor calidad y el uno o más modelos basados en ejemplos juntos. Como ya existen modelos basados en ejemplos usados en tales modalidades y solo es necesario seleccionarlos y no crearlos, se puede minimizar el retraso entre el registro de los datos visuales de mayor calidad y la emisión de los datos visuales de mayor calidad reconstruidos. Por lo tanto, algunas de estas modalidades pueden usarse para la transmisión en vivo de datos visuales pertenecientes a un evento. Como existe una pluralidad de modelos basados en ejemplos, en algunas modalidades el análisis opcional de una pluralidad de modelos permite la selección de un modelo basado en ejemplos que, cuando se usa en la reconstrucción de una sección de menor calidad de datos visuales, generará los datos de salida de más alta calidad sobre la reconstrucción en comparación con otros modelos seleccionables. Los datos visuales que se van a transmitir se pueden registrar en forma de datos visuales de mayor calidad en algunas modalidades, cuya calidad entonces se reduce antes de la transmisión como se ha descrito anteriormente. Los datos visuales pueden, en modalidades alternativas, registrarse en forma de datos visuales de menor calidad, lo que no requiere una disminución adicional de la calidad antes de la transmisión. En algunas modalidades, los datos visuales pueden ser datos de vídeo o imágenes. En algunas modalidades, la calidad puede relacionarse con la resolución de datos visuales y/u otros atributos tales como una velocidad de cuadros más alta o más baja.
En algunas modalidades, una combinación de dos o más modelos basados en ejemplos puede proporcionar un recurso óptimo para la reconstrucción de la sección de menor calidad de datos visuales. En algunas de estas modalidades, los dos o más modelos basados en ejemplos pueden combinarse de tal manera que formen un nuevo modelo basado en ejemplos que se transmite junto con la sección de menor calidad de datos visuales. La sección de menor calidad de datos visuales se puede transmitir además junto con más de un modelo basado en ejemplos en algunas modalidades, si eso proporciona un nivel requerido de reconstrucción en datos visuales de mayor calidad. En algunas modalidades, la sección en vivo de datos visuales transmitidos será de menor calidad. Los aspectos descritos en la presente pueden seguir usándose para aumentar la calidad de la sección de datos visuales en algunas modalidades, incluso sin una versión original de alta calidad.
Opcionalmente, una o más secciones de muestra de datos visuales se transmiten desde el primer nodo al segundo nodo antes de una transmisión en vivo; y un subconjunto de modelos basados en ejemplos se selecciona de la pluralidad de modelos basados en ejemplos basados en una métrica especificada de la una o más secciones de muestra de datos visuales; en donde el uno o más modelos basados en ejemplos usados para aumentar sustancialmente la calidad de la transmisión en vivo se selecciona del subconjunto de modelos basados en ejemplos.
Opcionalmente, una o más secciones de muestra de datos visuales se transmiten desde el primer nodo al segundo nodo antes de una transmisión en vivo; en donde se pueden generar uno o más modelos basados en ejemplos antes de la transmisión en vivo en base a una métrica especificada de la una o más secciones de muestra de datos visuales.
Opcionalmente, una o más secciones de muestra de datos visuales se transmiten desde el primer nodo al segundo nodo antes de una transmisión en vivo; en donde uno o más modelos basados en ejemplos de la pluralidad de modelos basados en ejemplos pueden modificarse antes de la transmisión en vivo en base a una métrica especificada de la una o más secciones de muestra de datos visuales.
El proceso de selección del modelo basado en ejemplos para usar en algunas modalidades puede hacerse más eficiente proporcionando un grupo más pequeño de modelos basados en ejemplos a partir de los cuales se puede realizar la selección. Por lo tanto, el esfuerzo computacional no puede desperdiciarse en al menos algunas de estas modalidades, ya que no se realizará una reconstrucción mediante el uso de un modelo basado en ejemplos que es muy poco probable que se use como modelo seleccionado para los datos visuales relevantes, por ejemplo, cuadro o vídeo.
En algunas modalidades, al transmitir una sección de datos visuales antes de la transmisión en vivo, los modelos basados en ejemplos que probablemente se usarán pueden agruparse en un subconjunto de la pluralidad total de modelos basados en ejemplos disponibles.
Durante la transmisión en vivo, en algunas modalidades, se pueden seleccionar uno o más modelos basados en ejemplos del subconjunto, en lugar de la biblioteca de modelos disponible completa. Si se considera necesario, en al menos algunas modalidades, o si se dispone de tiempo suficiente antes de la transmisión en vivo en otras modalidades, la sección de datos visuales se puede transmitir antes de la transmisión en vivo y esto puede permitir la modificación de un ejemplo existente basado en modelo o generación de un nuevo modelo basado en ejemplos para proporcionar un modelo o modelos para la reconstrucción más precisa a partir de una sección de menor calidad de datos visuales.
Opcionalmente, el modelo basado en ejemplos comprende cualquiera de: un modelo generativo; un algoritmo jerárquico no lineal; o una red neuronal convolucional; o una red neuronal recurrente; o una red de creencias profundas; o un algoritmo de aprendizaje de diccionario; o un parámetro; o una función de mapeo.
Opcionalmente, el modelo basado en ejemplos comprende un parámetro específico o función de mapeo para la reconstrucción de datos.
En las modalidades, el modelo basado en ejemplos puede ser uno de varios tipos de modelos diferentes. Esto aumenta la flexibilidad del método y permite una reconstrucción precisa de los datos visuales de mayor calidad en tales modalidades.
Opcionalmente, los datos visuales de mayor calidad se dividen en secciones más pequeñas en base a las similitudes entre una pluralidad de secciones de los datos visuales de mayor calidad.
En algunas modalidades, al dividir los datos visuales en secciones o "escenas" más pequeñas, en base a una métrica particular de similitud, se pueden generar modelos más eficientes. Por ejemplo, en algunas modalidades se pueden seleccionar múltiples secciones, todas las cuales comprenden parte de una toma de paisaje, y solo se requerirá un modelo para reconstruir la escena en contraposición a un modelo marginalmente diferente para cada sección separada. Si la siguiente escena en los datos visuales es muy diferente, por ejemplo, una escena con un movimiento significativo, en algunas modalidades esto se detectará como tal y se generará un nuevo modelo en consecuencia para la escena. Se pueden entrenar modelos específicos para cada escena o sección en algunas modalidades, lo que permite que el enfoque de reconstrucción sea adaptativo y permita al menos cierta optimización de la reconstrucción.
Opcionalmente, una sección de datos visuales puede comprender cualquiera de: un solo cuadro; o una secuencia de cuadros; o una región dentro de un cuadro o secuencia de cuadros.
Dependiendo de los datos visuales que se estén procesando, en algunas modalidades se pueden generar modelos para secciones de datos visuales que comprenden un solo cuadro, una secuencia de cuadros o una región dentro de un cuadro o secuencia de cuadros. Cada opción podría ser necesaria en algunas modalidades para proporcionar el método más eficiente de reconstruir una versión de mayor calidad de una parte de los datos visuales originales. Opcionalmente, los datos visuales se convierten en una secuencia de secciones antes de que se reduzca la calidad. Al separar los datos visuales en secciones, por ejemplo, al separar los datos de vídeo en una serie de cuadros en algunas modalidades, la cantidad de datos aumenta temporalmente, ya que se deshacen las reducciones en los datos de cualquier método de compresión usado previamente en el archivo de vídeo. Sin embargo, en algunas de estas modalidades, esto permite que las secciones individuales se submuestreen, reduciendo por lo tanto el tamaño de los datos visuales, lo que permite que las secciones de menor calidad se transmitan como datos visuales recodificados en el original u, opcionalmente, un códec más óptimo, pero de menor calidad.
Opcionalmente, el análisis de dos o más modelos basados en ejemplos se realiza en paralelo.
Mediante el análisis de múltiples modelos basados en ejemplos en paralelo en algunas modalidades, se puede reducir el tiempo necesario para seleccionar un modelo basado en ejemplos adecuado de una biblioteca de modelos. Esto es especialmente beneficioso para las modalidades de retransmisiones en directo, en las que puede resultar ventajoso que se minimice el tiempo necesario para procesar los datos visuales antes de la transmisión. En algunas modalidades, se puede realizar un proceso de análisis para múltiples secciones posteriores de datos visuales en paralelo. En algunas de estas modalidades, el análisis se puede realizar para secciones posteriores de datos visuales con respecto a la configuración de compresión y/o para clasificar la sección o secciones en categorías con el fin de realizar un análisis adicional específico del contenido, donde este análisis adicional se puede realizar una vez que los datos visuales se han decodificado y, en algunas modalidades, este análisis puede permitir una reducción del número de modelos considerados para su uso con los datos visuales para la mejora o como puntos de partida para entrenar un modelo.
Opcionalmente, una pluralidad de modelos basados en ejemplos se almacenan en una biblioteca.
En algunas modalidades, una biblioteca almacenada de modelos basados en ejemplos en el primer nodo permite que el proceso de análisis seleccione rápidamente modelos basados en ejemplos para compararlos sin tener que obtenerlos de la red. Esto, a su vez, puede resultar en una selección más rápida del modelo más adecuado para la transmisión a través de la red en algunas de estas modalidades.
Opcionalmente, las secciones de datos visuales se transmiten en orden cronológico de acuerdo con la sección de datos visuales de mayor calidad.
Mediante la transmisión de las secciones de datos visuales en orden cronológico en algunas modalidades, se puede minimizar la diferencia de tiempo entre una sección de datos visuales que se registra y los datos visuales de mayor calidad reconstruidos que recibe el segundo nodo. Para las modalidades de transmisión en vivo, esto significa que se puede reducir el retraso entre un evento que se produce frente a una cámara y un espectador que mira una versión reconstruida del evento.
Opcionalmente, las secciones de datos visuales se transmiten en el orden en que fueron transmitidas por el primer nodo.
Opcionalmente, la calidad de las secciones de datos visuales de menor calidad aumenta de acuerdo con el orden en que el primer nodo transmitió las secciones de datos visuales.
Algunas secciones de datos visuales pueden ser más fáciles de procesar que otras, por ejemplo, una sección de vídeo que comprende un solo cuadro negro requeriría menos esfuerzo computacional para procesar que una escena en movimiento rápido. Por lo tanto, en algunas modalidades, las secciones de datos visuales que son más fáciles de procesar podrían llegar al segundo nodo antes que las secciones más difíciles de procesar. Si los datos visuales se van a reconstruir y visualizar en el orden en el que se registraron originalmente en tales modalidades, cualquier sección de datos visuales que llegue fuera de secuencia al segundo nodo puede almacenarse temporalmente en algunas de estas modalidades y las secciones colocadas en un orden elegido, antes de aumentar la calidad y generar los datos visuales reconstruidos.
Opcionalmente, el análisis de un modelo basado en ejemplos para el uso de la reconstrucción de la sección de menor calidad de datos visuales comprende las etapas adicionales de: extraer las características de una sección de datos visuales de mayor calidad; y usar las características extraídas para seleccionar un modelo basado en ejemplos predeterminado a partir de la pluralidad de modelos basados en ejemplos predeterminados para proporcionar parámetros iniciales para el modelo basado en ejemplos desarrollado.
Cuanto más coincidan las características del modelo basado en ejemplos con las extraídas de la sección correspondiente de datos visuales, más precisa se puede crear una reconstrucción mediante el uso de ese modelo basado en ejemplos en particular, al menos en algunas modalidades. Por lo tanto, mediante la extracción de características de una sección de los datos visuales de mayor calidad en algunas modalidades, se puede elegir con mayor precisión un modelo apropiado de la pluralidad de modelos basados en ejemplos disponibles.
Opcionalmente, la métrica especificada usada para seleccionar y/o modificar y/o generar un modelo basado en ejemplos se basa en generar datos de salida de la más alta calidad después de la reconstrucción, preferentemente en donde la calidad se puede definir mediante el uso de cualquiera de: una tasa de error; una relación máxima de señal a ruido; o un índice de similitud estructural.
Una sección reconstruida de datos visuales de la más alta calidad de acuerdo con cualquiera de las métricas anteriores puede ser conveniente para un espectador, ya que es probable que muestre la representación más fiel de los datos visuales originales de mayor calidad, al menos para algunas modalidades. En tales modalidades, es probable que el difusor de los datos visuales originales de mayor calidad también prefiera que el espectador vea los datos visuales como se han preparado, sin distorsión del proceso de transmisión y submuestreo.
Opcionalmente, la sección de mayor calidad de datos visuales se divide en secciones más pequeñas en función de las similitudes entre una pluralidad de secciones de los datos visuales de mayor calidad.
En algunas modalidades, al dividir el archivo de datos visuales en secciones o "escenas" más pequeñas, en base a una métrica particular de similitud, es necesario transmitir menos datos a través de la red. Por ejemplo, en algunas modalidades se pueden seleccionar múltiples secciones, todas las cuales comprenden parte de una toma de paisaje, y solo se requerirá un modelo para reconstruir la escena a un nivel aceptable en contraposición a un modelo marginalmente diferente para cada sección separada. Si la siguiente escena en los datos visuales es muy diferente en tales modalidades, por ejemplo, una escena con un movimiento significativo, entonces se detectará como tal mediante el uso de las características extraídas como se describe anteriormente y se puede seleccionar un nuevo modelo en consecuencia.
Opcionalmente, una sección comprende cualquiera de: un solo cuadro, una secuencia de cuadros y una región dentro de un cuadro o una secuencia de cuadros.
Dependiendo de los datos visuales que se estén procesando, en algunas modalidades se pueden seleccionar modelos para secciones de datos visuales que comprenden un solo cuadro, una secuencia de cuadros y una región dentro de un cuadro o una secuencia de cuadros. En estas modalidades, todos o cada uno de los enfoques podrían ser necesarios para proporcionar el método más eficaz de reconstruir una versión de mayor calidad de una parte de los datos visuales originales.
Opcionalmente, las etapas de transmitir la sección de menor calidad de datos visuales al segundo nodo y transmitir al segundo nodo el modelo basado en ejemplos que corresponde a la sección de datos visuales de menor calidad transmitidos al segundo nodo se producen de manera sustancialmente simultánea.
Al transmitir la sección de menor calidad de datos visuales y el modelo basado en ejemplos simultáneamente en algunas modalidades, el proceso de reconstrucción se puede iniciar de manera sustancialmente simultánea a la llegada de los datos, en contraposición a un retraso entre la llegada de la sección de datos visuales y el modelo basado en ejemplos o viceversa. Tanto el modelo basado en ejemplos como la sección de datos visuales son necesarios para que se reconstruya una versión de mayor calidad de la sección de datos visuales, en algunas modalidades, por lo que cualquier retraso entre sus llegadas dará como resultado un retraso entre los datos visuales originales que se transmiten desde un primer nodo y los datos visuales reconstruidos que se visualizan en un segundo nodo.
Opcionalmente, la etapa de reducir la calidad de una sección de datos visuales se realiza mediante el uso de submuestreo.
Al reducir la calidad de la sección de datos visuales en algunas modalidades, es necesario enviar menos datos a través de una red desde un primer nodo a un segundo nodo para que un segundo nodo reciba la sección de datos visuales. En estas modalidades, la versión de menor calidad, junto con un modelo basado en ejemplos que se usará para la reconstrucción, aún puede permitir que se transmitan menos datos que si se transmitiera la sección original de datos visuales de mayor calidad.
Opcionalmente, una biblioteca se almacena tanto en el primer como en el segundo nodos, y una referencia a uno o más modelos basados en ejemplos de la biblioteca en el primer nodo se transmite al segundo nodo.
En algunas modalidades, puede resultar ventajoso minimizar la cantidad de datos enviados a través de una red. Los videos de resolución más alta pueden comprender cantidades significativas de datos, que pueden ser lentos de transmitir a través de las infraestructuras de red existentes, tal como Internet. Algunas modalidades pueden proporcionar una solución al problema de la transmisión de vídeo a través de una red transmitiendo en su lugar una sección de vídeo de menor calidad y un modelo basado en ejemplos, como se describió anteriormente. En algunas modalidades, para reducir aún más la cantidad de datos transmitidos a través de una red, se puede transmitir una sección de menor calidad de datos visuales junto con una referencia a un modelo basado en ejemplos, en lugar del modelo basado en ejemplos en sí. En algunas de estas modalidades, la referencia comprende menos datos que el modelo basado en ejemplos al que se refiere. En tales modalidades, se puede acceder a una biblioteca de modelos basados en ejemplos referenciados de manera similar desde el primer y segundo nodos, de manera que una vez que se selecciona un modelo en el primer nodo y se transmite la referencia, el modelo correcto a usar en el segundo nodo puede identificarse.
Opcionalmente, un sistema informático externo realiza un método que comprende las etapas de: recibir una sección de menor calidad de datos visuales; analizar un primer modelo basado en ejemplos para el uso de la reconstrucción de la sección de menor calidad de datos visuales; analizar uno o más modelos basados en ejemplos para el uso de la reconstrucción de la sección de menor calidad de datos visuales; seleccionar uno o más modelos basados en ejemplos a partir de una pluralidad de modelos basados en ejemplos para usar en base a una métrica especificada; generar una sección de mayor calidad de datos visuales a partir de la sección de menor calidad de datos visuales mediante el uso de uno o más modelos basados en ejemplos que corresponden a los datos visuales de menor calidad.
Opcionalmente, se proporciona un método que comprende además la etapa de: recibir una sección de mayor calidad de datos visuales desde un tercer nodo, antes de transmitir la sección de mayor calidad de datos visuales al primer nodo.
Opcionalmente, uno o más de los nodos se basa en un sistema informático externo.
En algunas modalidades, los sistemas externos, o "informática en la nube", permiten la realización de tareas informatizadas en un servidor no necesariamente local al sitio de la grabación o reconstrucción de una sección de datos visuales. Esto permite que se usen servidores más potentes de acuerdo con el presupuesto disponible para tales servicios y, por lo tanto, un mayor procesamiento en paralelo de diferentes modelos basados en ejemplos en algunas de estas modalidades. El sistema externo usado en tales modalidades también podría proporcionar una copia de seguridad de cualquier sección de datos visuales que pasan a través de los servidores, ofreciendo de esta manera una solución en el caso de pérdida de datos en un sitio local para la grabación o reconstrucción de una sección de datos visuales. Si el sistema informático es escalable, como es conveniente, entonces se puede acomodar una cantidad creciente de trabajo de procesamiento de datos visuales si surgiera la necesidad en estas modalidades.
Convoluciones de subpíxeles
De acuerdo con un aspecto, se proporciona un método para mejorar una o más secciones de datos visuales de menor calidad mediante el uso de un algoritmo jerárquico, el método que comprende las etapas de: recibir una o más secciones de datos visuales de menor calidad; mejorar la una o más secciones de datos visuales de menor calidad a una o más secciones de datos visuales de mayor calidad mediante el uso del algoritmo jerárquico, en donde al menos la primera etapa del algoritmo jerárquico se realiza en un dominio de menor calidad; y en donde el algoritmo jerárquico opera tanto en un dominio de mayor calidad como en el dominio de menor calidad.
En las modalidades, un algoritmo que realiza al menos las primeras etapas de procesamiento de una mejora en un dominio de menor calidad garantiza que los datos visuales se procesen al menos parcialmente, si no sustancialmente, mientras todavía tienen una menor calidad, reduciendo la complejidad computacional de la mejora. Las etapas de procesamiento posteriores pueden pasar al dominio de mayor calidad para realizar un procesamiento adicional y generar datos visuales de mayor calidad en tales modalidades. Opcionalmente, en algunas de estas modalidades, solo la última etapa o las últimas etapas de procesamiento se realizan en el dominio de mayor calidad. En algunas modalidades, el remuestreo en el espacio de mayor dimensión de datos visuales desde un dominio de baja calidad a un dominio de alta calidad se produce antes de procesarse a través de una red de superresolución para su mejora, por ejemplo, en algunas de estas modalidades se mejora mediante interpolación bicúbica, pero esta mejora no agrega información útil para la superresolución y obliga a la red a realizar cálculos posteriores en un dominio de mayor calidad cuando, por ejemplo, se extraen mapas de características y se realizan mapas no lineales. Esta "ampliación inicial" hace que el cálculo de la red/algoritmo sea computacionalmente costoso y aumenta los requisitos de memoria. En algunas modalidades, el dominio de baja calidad es un dominio de baja resolución mientras que el dominio de alta calidad es un dominio de alta resolución.
Opcionalmente, este método se puede usar como un enfoque de filtrado en lugar de otros filtros de remuestreo o de sobremuestreo para usar con la codificación y decodificación de datos visuales.
En algunas modalidades, el uso del método como filtro para códecs de datos visuales puede proporcionar una eficiencia computacional muy alta y, por lo tanto, también puede proporcionar costos de energía mínimos al realizar dicho filtrado. En estas u otras modalidades, el método puede proporcionar un filtro que sea rápido y/o flexible en expresión y que pueda realizar un filtrado sustancialmente preciso en al menos algunas modalidades.
Opcionalmente, una función de activación puede seguir el uso del método como enfoque de filtrado.
Opcionalmente, la primera etapa del algoritmo jerárquico comprende extraer una o más características de una o más secciones de datos visuales de menor calidad.
En las modalidades, las características extraídas se pueden usar para producir un valor o una serie de valores basados en una métrica de los datos de entrada. En algunas modalidades, la métrica se puede usar para seleccionar un algoritmo jerárquico de la biblioteca que sea más apropiado para los datos de entrada, ya que cada algoritmo jerárquico tiene valores métricos asociados basados en los datos de entrada a partir de los cuales se entrenaron respectivamente los modelos, la selección basada en la similitud entre las métricas asociadas con los datos de entrada y cada uno de los modelos preentrenados.
Opcionalmente, la última etapa del algoritmo jerárquico comprende producir datos visuales de mayor calidad correspondientes a los datos visuales de menor calidad, y al menos la última etapa del algoritmo jerárquico puede realizarse en el dominio de mayor calidad.
En algunas modalidades, al usar la última etapa del algoritmo jerárquico para realizar la mejora del dominio de menor calidad después de que se hayan extraído los mapas de características y se haya realizado el mapeo no lineal en el dominio de menor calidad, las capas distintas de la capa final son menos costosas computacionalmente y requieren menos memoria que si estuvieran operando en un espacio de alta resolución y la capa final puede realizar una ampliación más compleja.
En algunas modalidades, la capa final puede ser una capa convolucional de subpíxeles que es capaz de ampliar mapas de características de baja resolución a una salida de alta resolución, evitando por lo tanto el uso de un filtro bicúbico no adaptativo genérico o modificado, y permitiendo una pluralidad de filtros de ampliación más complejos para cada mapa de características. Además, en algunas de estas modalidades, hacer que la capa final realice una superresolución desde el espacio de resolución más baja puede reducir la complejidad de la operación de superresolución.
Opcionalmente, los datos visuales de mayor calidad tienen una resolución más alta que los datos visuales de menor calidad, en donde los datos visuales de menor calidad pueden contener una mayor cantidad de artefactos que los datos visuales de mayor calidad.
En algunas modalidades, la separación de los datos visuales en una serie de secciones permite que las secciones individuales se submuestreen, reduciendo por lo tanto el tamaño de los datos visuales, lo que permite que las secciones de menor calidad se transmitan como datos visuales recodificados en el original u opcionalmente un códec más óptimo pero con una resolución más baja.
Opcionalmente, el algoritmo jerárquico comprende una pluralidad de capas conectadas y las capas conectadas pueden ser secuenciales.
Opcionalmente, la al menos una sección de datos visuales de menor calidad comprende cualquiera de: un solo cuadro de datos visuales de menor calidad, una secuencia de cuadros de datos visuales de menor calidad y una región dentro de un cuadro o secuencia de cuadros de datos visuales de menor calidad. Además, los datos visuales de menor calidad pueden comprender una pluralidad de cuadros de vídeo.
Dependiendo de los datos visuales que se estén procesando, en algunas modalidades se pueden generar modelos para secciones de datos visuales que comprenden un solo cuadro, una secuencia de cuadros o una región dentro de un cuadro o secuencia de cuadros. En estas modalidades, algunas o cada una de estas opciones podrían usarse para proporcionar el método más eficiente de reconstruir una versión de mayor calidad de una parte de los datos visuales originales.
Opcionalmente, el algoritmo jerárquico difiere para cada sección de datos visuales.
En algunas modalidades, es probable que cada sección de datos visuales a transferirse sea al menos ligeramente diferente de la sección anterior. Por lo tanto, estas modalidades pueden permitir una reconstrucción más precisa si el algoritmo jerárquico que se transmitirá junto con cada sección de datos visuales también es diferente para tener en cuenta estas diferencias en las secciones de datos visuales. Para tales modalidades, por lo tanto, se puede generar un nuevo modelo para cada sección de datos visuales en consecuencia.
Opcionalmente, el algoritmo jerárquico se selecciona de una biblioteca de algoritmos.
En algunas modalidades, proporcionar bibliotecas de algoritmos permite la selección de un algoritmo de las bibliotecas y permite realizar modificaciones en los algoritmos jerárquicos almacenados para mejorar los datos visuales, reduciendo la complejidad computacional.
Opcionalmente, las características estandarizadas de la al menos una sección de datos visuales de menor calidad recibidos se extraen y se usan para seleccionar el algoritmo jerárquico de la biblioteca de algoritmos.
En algunas modalidades, las características estandarizadas extraídas se usan para producir un valor o una serie de valores basados en una métrica de los datos de entrada. En estas modalidades, la métrica se puede usar para seleccionar el modelo preentrenado de la biblioteca que sea más apropiado para los datos de entrada, ya que cada modelo de la biblioteca tiene valores métricos asociados basados en los datos de entrada a partir de los cuales se entrenaron los modelos respectivamente, la selección basada en la similitud entre las métricas asociadas a los datos de entrada y cada uno de los modelos preentrenados.
Opcionalmente, el algoritmo jerárquico que se seleccionará de la biblioteca de algoritmos se basa en generar la versión de mayor calidad de los datos visuales de menor calidad, preferentemente en donde la calidad puede definirse mediante cualquiera de: una tasa de error; una tasa de errores de bits; una relación máxima de señal a ruido; o un índice de similitud estructural.
Las métricas predeterminadas usadas en algunas modalidades para determinar el algoritmo jerárquico a seleccionar se pueden basar en una calidad predicha de los datos de salida para cada modelo preentrenado. En algunas de estas modalidades, la calidad puede definirse mediante cualquiera o todos de: una tasa de error; una relación máxima de señal a ruido; o un índice de similitud estructural.
Enfoque espacio-temporal
De acuerdo con un aspecto, se proporciona un método para mejorar al menos una sección de datos visuales de menor calidad mediante el uso de un algoritmo jerárquico, el método que comprende las etapas de: recibir al menos una pluralidad de secciones vecinas de datos visuales de menor calidad; seleccionar una pluralidad de secciones de entrada de la pluralidad recibida de secciones vecinas de datos visuales de menor calidad; extraer las características de la pluralidad de secciones de entrada de datos visuales de menor calidad; y mejorar una sección de destino en base a las características extraídas de la pluralidad de secciones de entrada de datos visuales de menor calidad. En algunas modalidades, realizar la mejora en las características extraídas reduce el gasto computacional de la mejora mediante el uso de algoritmos jerárquicos entrenados en los datos visuales de menor calidad.
Opcionalmente, la sección de destino corresponde a una de la pluralidad recibida de secciones vecinas de datos visuales de menor calidad. Alternativamente, la sección de destino puede no corresponder a una de la pluralidad recibida de secciones vecinas de datos visuales de menor calidad.
En algunas modalidades, hacer que la sección de destino corresponda a una de las secciones recibidas permite que la mejora funcione en el dominio espacial. Por el contrario, en algunas modalidades, cuando la sección de destino no corresponde a una de las secciones recibidas, la mejora puede usarse para predecir secciones que se producen entre secciones recibidas, o alternativamente para predecir secciones futuras.
Opcionalmente, la al menos una sección de datos visuales de menor calidad comprende cualquiera de: un solo cuadro de datos visuales de menor calidad, una secuencia de cuadros de datos visuales de menor calidad y una región dentro de un cuadro o secuencia de cuadros datos visuales de menor calidad. Los datos visuales de menor calidad pueden comprender además una pluralidad de cuadros de vídeo.
Dependiendo del archivo de datos visuales que se esté procesando, en algunas modalidades se pueden seleccionar modelos para secciones de datos visuales que comprenden un solo cuadro, una secuencia de cuadros o una región dentro de un cuadro o secuencia de cuadros. En estas modalidades, cada uno podría ser necesario para proporcionar el método más eficaz de reconstruir una versión de mayor calidad de una parte de los datos visuales originales.
Opcionalmente, al menos una de la pluralidad de secciones de entrada seleccionadas y las secciones objetivo son cuadros de datos visuales de menor calidad, y la al menos una de la pluralidad de secciones de entrada seleccionadas se produce secuencialmente antes de la sección de destino. Además, al menos una de la pluralidad de secciones de entrada seleccionadas y las secciones objetivo pueden ser cuadros de datos visuales de menor calidad, y la al menos una de la pluralidad de secciones de entrada seleccionadas puede producirse secuencialmente después de la sección de destino.
En algunas modalidades, el hecho de que una de las secciones de entrada seleccionadas ocurra secuencialmente en el tiempo antes o después de la sección de destino de los datos visuales de menor calidad permite que la mejora prediga una posible sección futura, o sección aún por recibir, pero eso no está incluido en la posible sección de destino. Como tal, en algunas de estas modalidades, tener una sección antes o después de la sección de destino también puede permitir la mejora para predecir una sección que se produce entre dos secciones.
Opcionalmente, el algoritmo jerárquico comprende una pluralidad de capas, además las capas pueden ser secuenciales, recurrentes, recursivas, ramificadas o fusionadas.
Tener una serie de capas en algunas modalidades, que pueden o no ser secuenciales, recurrentes, recursivas, ramificadas o fusionadas, permite que se produzcan diferentes niveles de procesamiento en diferentes momentos y las capas pueden trabajar en paralelo, asegurando una eficiencia óptima al mejorar los datos visuales de menor calidad.
Opcionalmente, la extracción del subconjunto de características se basa en una métrica de extracción predeterminada.
En algunas modalidades, permitir que se extraigan una variedad de características según lo establecido por la métrica de extracción predeterminada garantiza que la mejora se pueda adaptar a un sistema particular. Como tal, en algunas de estas modalidades, el gasto computacional puede aumentar o disminuir de manera apropiada en base a los recursos del sistema.
Opcionalmente, la pluralidad recibida de secciones vecinas de datos visuales de menor calidad son secciones consecutivas de datos visuales de menor calidad.
En algunas modalidades, el uso de secciones consecutivas de datos visuales de menor calidad permite una mejora más precisa de los datos visuales de menor calidad. La recepción de una pluralidad de secciones o secciones consecutivas que proporcionan más información se usa para poder usarla cuando se mejoran las secciones alrededor de las secciones recibidas de datos visuales de menor calidad.
Opcionalmente, se usa una métrica de algoritmo predeterminado para determinar el algoritmo jerárquico a seleccionar.
En algunas modalidades, tener una pluralidad de algoritmos predeterminados que pueden seleccionarse en base a una métrica de algoritmo predeterminada asegura una eficiencia óptima al mejorar los datos visuales al tener una biblioteca de algoritmos jerárquicos que ya se han determinado para mejorar la calidad de los datos visuales. En estas modalidades, estos algoritmos predeterminados se pueden usar como base para mejoras adicionales.
Opcionalmente, la métrica de algoritmo predeterminada se basa en generar la versión de mayor calidad de los datos visuales de menor calidad, preferentemente en donde la calidad puede definirse mediante cualquiera de: una tasa de error; una tasa de errores de bits; una relación máxima de señal a ruido; o un índice de similitud estructural. Además, las características estandarizadas de la pluralidad recibida de secciones vecinas de datos visuales de menor calidad pueden extraerse y usarse para seleccionar el algoritmo jerárquico de la biblioteca de algoritmos.
En algunas modalidades, una sección reconstruida de datos visuales de la más alta calidad de acuerdo con cualquiera de las métricas anteriores puede ser conveniente para un espectador, ya que es probable que muestre la representación más fiel de los datos visuales originales de mayor calidad. En estas modalidades, es probable que el emisor de los datos visuales originales de mayor calidad también prefiera que el espectador vea los datos visuales tal como se han preparado, sin distorsión del proceso de transmisión y submuestreo.
Opcionalmente, se pueden proporcionar otros datos al algoritmo. Opcionalmente, los otros datos pueden ser un flujo óptico entre cuadros. Opcionalmente, el flujo óptico entre cuadros se puede calcular fuera del algoritmo o puede ser parte del entrenamiento del algoritmo.
En algunas modalidades, se pueden alimentar otros datos a la red, tal como el flujo óptico entre los cuadros o una medida del mismo. En estas modalidades, el flujo óptico se puede calcular por separado fuera de la red neuronal o se puede incorporar al entrenamiento de la red neuronal. En estas modalidades, estos datos pueden simplemente concatenarse al final de cada cuadro de datos. En algunas modalidades, no se envía durante la transmisión. En otras modalidades, se puede extraer una variante de flujo óptico del vídeo codificado (ya que forma una base de la compresión entre cuadros).
Mejora de los datos visuales
De acuerdo con un aspecto, se proporciona un método para mejorar al menos una sección de datos visuales de menor calidad, el método que comprende las etapas de: recibir al menos una sección de los datos visuales de menor calidad; seleccionar un algoritmo jerárquico de una pluralidad de algoritmos jerárquicos, en donde la etapa de selección se basa en una métrica predeterminada y en donde los algoritmos jerárquicos se desarrollaron mediante el uso de un enfoque aprendido y al menos uno de los algoritmos jerárquicos es operativo para aumentar la calidad de los datos visuales de menor calidad; y el uso del algoritmo jerárquico seleccionado para aumentar la calidad de los datos visuales de menor calidad para crear datos visuales de mayor calidad.
Algunas modalidades proporcionan un método para mejorar al menos una sección de datos visuales que se han transmitido a través de una red. En estas modalidades, mediante la selección de un algoritmo jerárquico basado en una métrica predeterminada, se puede elegir un algoritmo jerárquico adecuado de una biblioteca de algoritmos que podrá recrear con mayor precisión los datos visuales originales que un algoritmo jerárquico genérico.
Opcionalmente, los datos visuales de menor calidad se dividen en secciones más pequeñas en base a las similitudes entre una pluralidad de secciones de los datos visuales originales.
En algunas modalidades, al dividir los datos visuales en secciones o "escenas" más pequeñas, en base a una métrica particular de similitud, se pueden generar modelos más eficientes. Por ejemplo, en algunas modalidades se pueden seleccionar múltiples secciones, todas las cuales comprenden parte de una toma de paisaje, y solo se requerirá un algoritmo jerárquico para eliminar artefactos de la escena en lugar de un modelo marginalmente diferente para cada sección separada. En algunas de estas modalidades, si la siguiente escena en los datos visuales es muy diferente, por ejemplo una escena con un movimiento significativo, entonces se detectará como tal y se puede generar un nuevo algoritmo jerárquico en consecuencia. En algunas modalidades, se pueden entrenar algoritmos jerárquicos específicos para cada escena o sección, lo que permite que el enfoque de eliminación de artefactos sea adaptable y permita al menos cierta optimización de la eliminación de artefactos.
Opcionalmente, la métrica predeterminada se basa en un tipo de contenido y una medida de la gravedad del artefacto de los datos visuales de menor calidad. Además, la gravedad del artefacto puede basarse en al menos un artefacto que puede ser cualquiera de, o una combinación de: bloqueo, desenfoque, pixelación, oscilación transitoria, distorsión, datos faltantes y otras marcas, imperfecciones, defectos y anomalías en los datos visuales. En algunas modalidades, al basar la métrica predeterminada en la severidad del artefacto de los datos visuales de menor calidad, el modelo de corrección del artefacto resultante del proceso de entrenamiento y optimización puede ser referenciado por la severidad del artefacto de la escena a la que se refiere. En estas modalidades, esto permite una selección más precisa de un modelo de eliminación de artefactos adecuado al seleccionar un modelo de la biblioteca para limpiar nuevos datos visuales.
Opcionalmente, la pluralidad de algoritmos jerárquicos es cualquiera de: algoritmos jerárquicos preentrenados sobre datos de ejemplo; o algoritmos jerárquicos creados manualmente.
En algunas modalidades, un algoritmo jerárquico preentrenado o algoritmo jerárquico creado manualmente podrá recrear con mayor precisión los datos visuales originales que un algoritmo jerárquico genérico de eliminación de artefactos.
Opcionalmente, si un algoritmo jerárquico adecuado no está presente en la pluralidad de algoritmos jerárquicos, se selecciona en su lugar un algoritmo jerárquico genérico.
En algunas modalidades, se puede usar un algoritmo jerárquico genérico en lugar de un modelo específico y entrenado en situaciones en las que la biblioteca de algoritmos no incluye un modelo de eliminación de artefactos de datos visuales que se haya entrenado en un tipo de contenido y artefacto suficientemente similar calificado a los datos visuales recibidos. En estas modalidades, el algoritmo jerárquico genérico puede ser más preciso para eliminar los artefactos que los algoritmos jerárquicos disponibles específicamente entrenados.
Acelerar los procesos de optimización de la máquina
De acuerdo con un aspecto, se proporciona un método para entrenar algoritmos jerárquicos aprendidos, el método que comprende las etapas de: recibir datos de entrada; generar métricas a partir de los datos de entrada; seleccionar al menos un algoritmo jerárquico de una pluralidad de algoritmos jerárquicos predeterminados en base a la comparación de las métricas generadas a partir de los datos de entrada y métricas similares para cada uno de la pluralidad de algoritmos jerárquicos predeterminados; desarrollar el algoritmo jerárquico seleccionado en base a los datos de entrada; y generar un algoritmo jerárquico desarrollado.
Proporcionar una pluralidad de conjuntos de parámetros o modelos preentrenados en algunas modalidades permite acelerar el entrenamiento de un proceso de aprendizaje automático. En estas modalidades, los datos de entrada a procesar por un proceso de aprendizaje automático entrenado pueden tener un modelo personalizado, o un conjunto de parámetros, desarrollado para esos datos de entrada en base al modelo preentrenado más similar seleccionado. En tales modalidades, la selección de uno o más modelos preentrenados más similares se puede realizar en base a una o más métricas asociadas con los modelos preentrenados en comparación con los datos de entrada. En al menos algunas de estas modalidades, el modelo preentrenado más similar se puede usar como punto de partida para desarrollar el modelo personalizado para los datos, ya que un modelo personalizado no tiene que someterse a un desarrollo tan extenso como se necesita cuando se desarrolla un modelo a partir de los primeros principios. En algunas modalidades, el uso de un modelo preentrenado similar o más similar también puede ayudar a evitar o escapar de los mínimos locales (para soluciones incorrectas) durante el entrenamiento.
Opcionalmente, el método comprende además la etapa de almacenar el algoritmo jerárquico desarrollado con una pluralidad de algoritmos jerárquicos predeterminados junto con las métricas generadas a partir de los datos de entrada.
En algunas modalidades, cada nuevo modelo personalizado se almacena en una biblioteca de modelos preentrenados. En estas modalidades, los datos de entrada repetidos o idénticos pueden reutilizar un modelo personalizado que ya existe sin ninguna modificación adicional. En tales modalidades, cuanto más cerca está un modelo de una versión optimizada, menos cálculo se requiere para generar un modelo más óptimo. En estas modalidades, a medida que se procesan más señales y datos, se puede establecer una colección cada vez más extensa de modelos en la biblioteca, lo que requiere un desarrollo reducido de modelos personalizados para nuevos datos, lo que ahorra esfuerzo computacional.
Opcionalmente, la pluralidad de algoritmos jerárquicos predeterminados puede ser cualquiera de: algoritmos jerárquicos preentrenados sobre datos de ejemplo; o algoritmos jerárquicos creados manualmente.
En algunas modalidades, los algoritmos jerárquicos predeterminados pueden basarse en datos de ejemplo o crearse manualmente para permitir que un usuario cree comportamientos específicos en cualquier modelo o conjunto de parámetros eventualmente entrenado.
Opcionalmente, la etapa de desarrollar el algoritmo jerárquico seleccionado puede basarse en los datos de entrada y comprende desarrollar un algoritmo jerárquico más optimizado.
En algunas modalidades, el desarrollo de algoritmos jerárquicos predeterminados puede mejorar el conjunto de parámetros basado en ejemplos para crear un conjunto de parámetros más optimizado.
Opcionalmente, el algoritmo jerárquico comprende al menos uno de cualquiera de: un parámetro específico para la reconstrucción de datos; o una función de mapeo para la reconstrucción de datos.
En algunas modalidades, cada algoritmo jerárquico puede usarse para proporcionar la reconstrucción de datos. En algunas de estas modalidades, el proceso de reconstrucción puede variar y, por lo tanto, el modelo puede comprender diferentes características, coeficientes y/o parámetros que permitirían la reconstrucción y cada capa del algoritmo jerárquico puede comprender características, coeficientes y/o parámetros. Además, en algunas modalidades, los parámetros para la reconstrucción de datos visuales pueden comprender uno o más algoritmos jerárquicos.
Opcionalmente, la pluralidad de algoritmos jerárquicos puede almacenarse en un repositorio.
Para facilitar el acceso a la pluralidad de modelos basados en ejemplos predeterminados, en cierta modalidad los modelos se pueden almacenar en un depósito. En estas modalidades, el depósito puede adoptar la forma de una biblioteca. En algunas modalidades, el depósito puede estar localizado en un dispositivo remoto y/o sistema informático distribuido (tal como un servicio de almacenamiento y/o informática en la nube y/o un sistema en red distribuido o un sistema de igual a igual).
Opcionalmente, el método puede comprender las etapas adicionales de: extraer las características de los datos de entrada; y usar las características extraídas para seleccionar un algoritmo jerárquico predeterminado de la pluralidad de algoritmos jerárquicos predeterminados para proporcionar parámetros iniciales para el algoritmo jerárquico desarrollado.
En algunas modalidades, las características estandarizadas extraídas se usan para producir un valor o una serie de valores basados en una métrica de los datos de entrada. En estas modalidades, la métrica se puede usar para seleccionar el modelo preentrenado de la biblioteca que sea más apropiado para los datos de entrada, ya que cada modelo de la biblioteca tiene valores métricos asociados basados en los datos de entrada a partir de los cuales se entrenaron los modelos respectivamente, la selección basada en la similitud entre las métricas asociadas a los datos de entrada y cada uno de los modelos preentrenados.
Opcionalmente, las métricas pueden basarse en generar datos de salida de la más alta calidad, preferentemente en donde la calidad se puede definir mediante el uso de cualquiera de: una tasa de error; una relación máxima de señal a ruido; una métrica de distancia; una medida de similitud; o un índice de similitud estructural.
En algunas modalidades, las métricas predeterminadas usadas para determinar el algoritmo jerárquico a seleccionar se basan en una calidad predicha de los datos de salida para cada modelo preentrenado. En algunas de estas modalidades, la calidad puede definirse mediante cualquiera o todos de: una tasa de error; una relación máxima de señal a ruido; o un índice de similitud estructural.
Opcionalmente, el algoritmo jerárquico se selecciona en base a proporcionar datos de inicialización óptimos cuando está en uso.
Al proporcionar datos de inicialización que son óptimos en al menos algunas modalidades, estando de esta manera lo más cerca posible de la sección de datos visuales que se analiza, se requieren menos iteraciones para adaptar el modelo en una forma que permita la reconstrucción de la más alta calidad de acuerdo con cualquiera de las métricas anteriores. En estas modalidades, el esfuerzo y el tiempo de cálculo se reducen por lo tanto al procesar la sección de datos visuales.
Mejora de las bibliotecas de modelos
De acuerdo con un aspecto, se proporciona un método para mejorar los datos visuales cuando se comunican datos visuales a través de una red desde un primer nodo a un segundo nodo, el método en el primer nodo que comprende las etapas de: desarrollar al menos un algoritmo jerárquico modificado a partir de un algoritmo jerárquico conocido que puede operarse para recrear sustancialmente al menos una sección de datos visuales de mayor calidad; transmitir al segundo nodo referencias a uno o más algoritmos jerárquicos conocidos a partir de los cuales se desarrollaron los algoritmos jerárquicos modificados; y transmitir al segundo nodo una o más modificaciones al uno o más algoritmos jerárquicos conocidos que pueden operarse para reproducir el uno o más algoritmos jerárquicos modificados a partir de los algoritmos jerárquicos conocidos; en donde el segundo nodo puede recrear sustancialmente los datos visuales de mayor calidad mediante el uso del algoritmo jerárquico modificado.
De acuerdo con otro aspecto, se proporciona un método para mejorar los datos visuales cuando se comunican datos visuales a través de una red desde un primer nodo a un segundo nodo, el método en el segundo nodo que comprende las etapas de: recibir una referencia a un algoritmo conocido correspondiente a una sección de datos visuales de mayor calidad; recibir modificaciones correspondientes al algoritmo jerárquico conocido que puede operarse para producir un algoritmo jerárquico modificado, el algoritmo jerárquico modificado desarrollado con el conocimiento de la sección de datos visuales de mayor calidad; y usar el algoritmo modificado para recrear sustancialmente la sección de datos visuales de mayor calidad.
En algunas modalidades, el conocimiento de la sección de datos visuales de mayor calidad puede comprender conocer la configuración del codificador y/o la categoría de contenido para al menos uno de los datos visuales de baja calidad, los datos visuales originales y los datos visuales de mayor calidad. En algunas de estas modalidades, la categoría de contenido puede basarse en un conjunto predeterminado de categorías o en un conjunto determinado de categorías.
De acuerdo con un aspecto adicional, se proporciona un sistema para mejorar los datos visuales cuando se comunican datos visuales a través de una red, el sistema que comprende dos o más nodos, en donde un primer nodo está configurado para: desarrollar al menos un algoritmo jerárquico modificado a partir de un algoritmo jerárquico conocido que pueda operarse para recrear sustancialmente al menos una sección de datos visuales de mayor calidad; transmitir al segundo nodo referencias a uno o más algoritmos jerárquicos conocidos a partir de los cuales se desarrollaron los algoritmos jerárquicos modificados; y transmitir al segundo nodo una o más modificaciones al uno o más algoritmos jerárquicos conocidos que pueden operarse para reproducir el uno o más algoritmos jerárquicos modificados de los algoritmos jerárquicos conocidos; en donde un segundo nodo está configurado para: recibir una referencia a un algoritmo conocido correspondiente a una sección de datos visuales de mayor calidad; recibir las modificaciones correspondientes al algoritmo jerárquico conocido que puede operarse para producir un algoritmo jerárquico modificado, el algoritmo jerárquico modificado desarrollado con el conocimiento de la sección de datos visuales de mayor calidad; y usar el algoritmo modificado para recrear sustancialmente la sección de datos visuales de mayor calidad.
En algunas modalidades, al transmitir una referencia a un algoritmo conocido y modificaciones a ese algoritmo que permiten producir un algoritmo modificado para permitir la reconstrucción de una sección o serie de secciones de alta calidad de datos visuales, se pueden transferir menos datos a través de una red para permitir que se vean los datos visuales de alta calidad en comparación con la transmisión de datos visuales de alta calidad. En algunas de estas modalidades, los algoritmos, también conocidos como modelos, representaciones o funciones, también pueden ser más precisos y, por lo tanto, permitir una reconstrucción más precisa, es decir, producir datos visuales de alta calidad de mayor calidad, por ejemplo, cuando la calidad se puede medir mediante un baja tasa de error en comparación con los datos visuales originales de alta calidad.
Opcionalmente, el algoritmo jerárquico conocido se selecciona de una biblioteca de algoritmos jerárquicos almacenados en el primer nodo.
Opcionalmente, la referencia recibida por el segundo nodo corresponde a un algoritmo jerárquico conocido almacenado en una biblioteca sustancialmente coincidente en el segundo nodo.
Opcionalmente, si el segundo nodo no puede identificar el algoritmo jerárquico conocido, el segundo nodo envía una solicitud al primer nodo para la transmisión del algoritmo jerárquico conocido desde el primer nodo al segundo nodo. En algunas modalidades, al proporcionar bibliotecas comunes o sincronizadas de algoritmos tanto en el primer como en el segundo nodos, y al transmitir una referencia o un identificador de referencia cuando se transmiten los datos visuales de menor calidad correspondientes para permitir la selección de algoritmos de coincidencia de ambas bibliotecas mediante el uso del identificador de referencia para identificar el algoritmo seleccionado, sólo es necesario transmitir entre los nodos el identificador de referencia, los datos visuales de menor calidad y las modificaciones a los algoritmos jerárquicos almacenados, por lo que la transmisión de datos se reduce ya que no es necesario transmitir el algoritmo completo.
Opcionalmente, el algoritmo jerárquico modificado se almacena en una biblioteca en el primer nodo después de ser desarrollado.
En algunas modalidades, al almacenar el algoritmo recientemente desarrollado en el primer nodo, el algoritmo puede usarse como punto de partida para desarrollar más algoritmos modificados para datos visuales similares de alta calidad, aumentando la eficiencia del método en situaciones futuras.
Opcionalmente, el algoritmo jerárquico modificado se almacena en una biblioteca en el segundo nodo después de la transmisión del algoritmo jerárquico conocido desde el primer nodo al segundo nodo.
En algunas modalidades, almacenar el algoritmo modificado en el segundo nodo después de que se haya recreado a partir del algoritmo conocido y las modificaciones transmitidas permite que se haga referencia a este en el futuro cuando el algoritmo modificado se use como punto de partida para desarrollar un nuevo algoritmo en el primer nodo. En tales modalidades, esto puede evitar la duplicación.
En algunas modalidades, el primer nodo puede transmitir algoritmos conocidos al segundo nodo antes de enviar las modificaciones necesarias para realizar el algoritmo modificado para asegurar que el algoritmo conocido requerido esté presente en el segundo nodo. En tales modalidades, esto puede reducir los errores.
Opcionalmente, una o más representaciones de una o más secciones de datos visuales de mayor calidad se transmiten al segundo nodo y al cual se aplican uno o más algoritmos jerárquicos modificados para reproducir sustancialmente la una o más secciones de datos visuales de mayor calidad.
En algunas modalidades, al transmitir representaciones de los datos visuales de mayor calidad al segundo nodo, se puede ayudar a la reconstrucción de los datos visuales de mayor calidad aplicando el modelo de reconstrucción modificado a la representación, pero aún con menos datos transferidos a través de la red que si se hubieran transmitido los datos visuales de mayor calidad.
Opcionalmente, una o más secciones de datos visuales de menor calidad correspondientes a una o más secciones de datos visuales de mayor calidad se transmiten al segundo nodo y al cual se aplican uno o más algoritmos jerárquicos modificados para reproducir sustancialmente la una o más secciones de datos visuales de mayor calidad.
Opcionalmente, el submuestreo se usa para reducir la calidad de una o más secciones de datos visuales de mayor calidad a una o más secciones de datos visuales de menor calidad.
Opcionalmente, la una o más secciones de datos visuales de menor calidad se generan a partir de una o más secciones de datos visuales de mayor calidad mediante el uso de un proceso de compresión y/o cuantificación. En algunas modalidades, al reducir la calidad de la sección de datos visuales, es necesario enviar menos datos a través de una red desde un primer nodo a un segundo nodo para que el segundo nodo reciba el archivo. En estas modalidades, la versión de menor calidad junto con un modelo que se usará para la reconstrucción aún puede permitir que se transmitan menos datos que si se transmite la versión original de mayor calidad de la misma sección de datos visuales (donde se puede determinar la calidad por la resolución y/o el nivel de compresión).
Circunvoluciones segmentadas
De acuerdo con un aspecto, se proporciona un método para mejorar al menos una sección de datos visuales de menor calidad mediante el uso de un algoritmo jerárquico, el método que comprende las etapas de: recibir al menos una sección de datos visuales de menor calidad; extraer un subconjunto de características, de la al menos una sección de datos visuales de menor calidad; formar una pluralidad de capas de datos visuales de dimensión reducida a partir de las características extraídas; y mejorar la pluralidad de capas de datos visuales de dimensión reducida para formar al menos una sección de datos visuales de mayor calidad en la que la al menos una sección de datos visuales de mayor calidad corresponde a la al menos una sección de datos visuales de menor calidad recibidos.
En algunas modalidades, extraer un subconjunto de características de una sección de datos visuales de menor calidad permite aumentar el rendimiento al realizar solo la mejora en el subconjunto de características en oposición a la totalidad de los datos visuales de menor calidad, reduciendo de esta manera la cantidad de cálculo, sin dejar de lograr mejoras aceptables.
Opcionalmente, el subconjunto extraído de características depende de uno o más factores predeterminados.
En algunas modalidades, el uso de un factor predeterminado para extraer el subconjunto de características permite que el método se adapte a una pluralidad de sistemas de diferentes capacidades y permite la personalización de la cantidad de datos a extraer, lo que permite una selección más precisa de un modelo de reconstrucción para mejorar los datos visuales de menor calidad en un período de tiempo adecuado.
Opcionalmente, el número de capas depende de uno o más factores predeterminados.
En algunas modalidades, el número de capas que se basa en uno o más factores predeterminados garantiza que los datos visuales de mayor calidad reconstruidos se correspondan con los datos visuales de menor calidad recibidos. Opcionalmente, los datos visuales de menor calidad comprenden una pluralidad de secciones de datos de vídeo. En algunas modalidades, se puede usar vídeo en el método, permitiendo que las técnicas se apliquen a datos de vídeo de resolución más baja y ampliarlos a los correspondientes datos de vídeo de resolución más alta.
Opcionalmente, la al menos una sección de datos visuales de menor calidad comprende cualquiera de: un solo cuadro de datos de vídeo de menor calidad, una secuencia de cuadros de datos de vídeo de menor calidad y una región dentro de un cuadro o secuencia de cuadros de datos de vídeo de menor calidad.
En algunas modalidades, dependiendo de los datos visuales que se estén procesando, los modelos se pueden usar para secciones de datos de vídeo que comprenden un solo cuadro, una secuencia de cuadros o una región dentro de un cuadro o secuencia de cuadros. En algunas de estas modalidades, cada opción podría ser necesaria para proporcionar el método más eficaz de reconstruir una versión de resolución más alta de una parte del archivo de vídeo recibido. En algunas modalidades, las regiones pueden incluir áreas dentro de una sección, o segmentación entre el fondo y el primer plano dentro de una sección, o alguna otra segmentación basada en el contenido, tal como la segmentación basada en la prominencia (es decir, dónde en cada sección de datos visuales es más probable que un espectador mire).
Opcionalmente, el algoritmo jerárquico difiere para cada sección de datos visuales.
En algunas modalidades, el uso de diferentes algoritmos jerárquicos para cada sección de datos visuales permite usar el algoritmo jerárquico más eficiente para una sección particular en lugar de usar un único algoritmo jerárquico para todos los datos visuales.
Opcionalmente, el algoritmo jerárquico se selecciona de una biblioteca de algoritmos.
En algunas modalidades, una biblioteca de una pluralidad de algoritmos permite la selección eficiente de un algoritmo jerárquico de la pluralidad de algoritmos sin retrasos debido a los enlaces de comunicación.
Opcionalmente, las características estandarizadas de la al menos una sección de datos visuales de menor calidad recibidos se extraen y se usan para seleccionar el algoritmo jerárquico de la biblioteca de algoritmos.
Opcionalmente, el algoritmo jerárquico que se seleccionará de la biblioteca de algoritmos se basa en generar la versión de mayor calidad de los datos visuales de menor calidad, preferentemente en donde la calidad puede definirse mediante cualquiera de: una tasa de error; una tasa de errores de bits; una relación máxima de señal a ruido; o un índice de similitud estructural.
En las modalidades, se encuentran disponibles una variedad de opciones para seleccionar qué algoritmo en la biblioteca de algoritmos generará los datos visuales mejor mejorados y mejorados a partir de los datos visuales recibidos, por ejemplo, se puede usar una tasa de error tal como la tasa de error de bits.
Aspectos generales
Se debe señalar que en algunos aspectos y/o modalidades, los términos modelo y/o algoritmo y/o representación y/o parámetros y/o funciones pueden usarse indistintamente.
También debe tenerse en cuenta que los datos visuales, en algunas modalidades, pueden comprender datos de imagen y/o vídeo.
Opcionalmente, el algoritmo jerárquico modificado se entrena mediante un enfoque aprendido.
En algunas modalidades, los algoritmos jerárquicos o no jerárquicos pueden ser sustancialmente precisos y, por lo tanto, permitir una reconstrucción más precisa, es decir, producir datos visuales de alta calidad de mayor calidad a partir de los datos visuales de baja calidad que se transmiten, por ejemplo, cuando la calidad se puede medir mediante resolución o por una tasa de error de baja reproducción en comparación con los datos visuales originales de alta calidad. En algunas modalidades, el uso de un enfoque aprendido puede adaptar sustancialmente el modelo o modelos jerárquicos para cada porción de datos visuales de baja calidad.
Opcionalmente, el enfoque aprendido comprende técnicas de aprendizaje automático. El algoritmo jerárquico modificado también puede ser un algoritmo jerárquico no lineal, que puede comprender una o más redes neuronales convolucionales.
En algunas modalidades, los modelos no lineales pueden ser sustancialmente precisos en la reconstrucción de secciones de datos visuales de mayor calidad que los enfoques basados en diccionarios. En estas modalidades, mediante el uso de un enfoque basado en el aprendizaje, es decir, un enfoque que no se basa en operadores y características de datos visuales predefinidos, el/los modelo(s) se pueden optimizar para cada sección o secuencia de secciones.
En algunas modalidades, el entrenamiento de redes neuronales convolucionales puede ser más complejo computacionalmente que el aprendizaje de diccionario para una precisión similar, pero el modelo o algoritmo resultante también puede ser más flexible para representar datos visuales mientras usa menos coeficientes para la reconstrucción. En estas modalidades, el modelo de red neuronal convolucional resultante que se transmitirá junto con los datos visuales de menor calidad puede ser tanto más pequeño como más preciso en la reconstrucción de datos visuales de mayor calidad.
Algunos aspectos pueden proporcionar una técnica mejorada para generar parámetros de reconstrucción que se pueden usar, al convertir un vídeo original de alta calidad en un vídeo de baja calidad submuestreado, para permitir la recreación de una versión de mayor calidad del vídeo a partir del vídeo de baja calidad submuestreado sin pérdida significativa de calidad, por ejemplo, con un error de baja reconstrucción en comparación con el vídeo original de alta calidad, y con una reducción en los datos visuales transferidos a través de una red. En tales aspectos, la aplicación de dicha técnica puede reducir los datos transmitidos cuando se transmiten datos visuales en comparación con las técnicas existentes, al tiempo que permite la reproducción de los datos visuales en su calidad original sin una pérdida significativa de calidad en comparación con los datos visuales originales (donde la calidad puede definirse mediante métricas objetivas tales como la tasa de error, PSNR y SSIM, así como medidas subjetivas). En tales aspectos, dicha técnica propuesta puede permitir que se realicen cambios mínimos en la infraestructura general de los proveedores de servicios de vídeo, ya que puede aumentar la mayoría de las técnicas de compresión de vídeo existentes y puede proporcionar ventajas en la codificación de vídeo y las aplicaciones de transmisión de vídeo. Opcionalmente, los datos visuales de mayor calidad son de mayor calidad que los datos visuales de menor calidad.
Opcionalmente, los datos visuales de menor calidad contienen una mayor cantidad de artefactos que los datos visuales de mayor calidad.
Opcionalmente, el algoritmo jerárquico realiza una mejora de los datos visuales, preferentemente mediante el uso de técnicas de supercalidad.
Opcionalmente, el algoritmo jerárquico usa un enfoque espacio-temporal.
En algunas modalidades, opcionalmente para su uso en una sección de datos visuales, el modelo basado en ejemplos puede ser una red neuronal y puede usar una convolución espacio-temporal. En algunas modalidades, la separación de los datos visuales en una serie de secciones permite que las secciones individuales se submuestreen reduciendo por lo tanto el tamaño de los datos visuales, lo que permite que las secciones de menor calidad se transmitan como datos visuales recodificados en el original u, opcionalmente, en un códec más óptimo, pero de menor calidad. En algunas modalidades, una red espacio-temporal puede permitir una mejora en el rendimiento al explotar la información temporal en los datos visuales y, por ejemplo, dentro de una escena similar en secciones secuenciales de datos visuales, puede haber secciones estacionarias de fondo en las secciones secuenciales que proporcionan información relevante para la versión de mayor calidad de esa escena, de manera que las secciones temporalmente consecutivas se pueden usar para llevar a cabo la superresolución de una sección.
Los aspectos y/o modalidades incluyen un producto de programa informático que comprende un código de software para efectuar el método y/o aparato de otros aspectos y/o modalidades descritos en la presente descripción.
Las referencias a datos visuales pueden ser referencias a datos de vídeo y/o datos de imagen en algunos aspectos y/o modalidades y viceversa. Las referencias a baja calidad y/o menor calidad pueden ser referencias a baja resolución y/o resolución más baja en algunos aspectos y/o modalidades y viceversa. Las referencias a alta calidad y/o mayor calidad y/o calidad más alta y/o calidad original pueden ser referencias a alta resolución y/o mayor resolución y/o resolución más alta y/o resolución original en algunos aspectos y/u o modalidades y viceversa. Las referencias a secciones pueden ser referencias a cuadros y/o partes de cuadros en algunos aspectos y/o modalidades y viceversa. Las referencias a mejorar o mejoramiento pueden ser referencias a ampliar y/o ampliación en algunos aspectos y/o modalidades y viceversa.
Breve descripción de los dibujos
A continuación se describirán modalidades de la presente invención, únicamente a modo de ejemplo y con referencia a los dibujos adjuntos que tienen números de referencia similares, en los que:
La Figura 1 ilustra un diccionario demasiado completo de 16 x 16 átomos;
La Figura 2a ilustra las capas en una red neuronal convolucional sin restricciones de dispersión;
La Figura 2b ilustra las capas en una red neuronal convolucional con restricciones de dispersión;
La Figura 3 ilustra el proceso de codificación para generar la transmisión, a partir de datos visuales de alta resolución, una combinación de datos visuales de baja resolución y una red neuronal de convolución capaz de usar la superresolución para aumentar la resolución de los datos de baja resolución;
La Figura 4 ilustra el proceso de decodificación mediante el uso de los datos visuales de baja resolución y la red neuronal de convolución para recrear una versión de los datos visuales de alta resolución;
La Figura 5 es un diagrama de flujo que ilustra las etapas del método para codificar los datos visuales para su transmisión mediante el uso del proceso de la Figura 3;
La Figura 6 es un diagrama de flujo que ilustra las etapas del método para decodificar los datos visuales y los datos de la red neuronal de convolución generados mediante el uso del método mostrado en la Figura 5;
La Figura 7 es un diagrama de una red convolucional de subpíxeles eficiente de acuerdo con una modalidad, que presenta dos capas de extracción de mapas de características construidas con redes neuronales convolucionales y una capa convolucional de subpíxeles que agrega los mapas de características del espacio de baja resolución y construye la imagen de superresolución en una sola etapa;
La Figura 8 es un diagrama de la arquitectura de red de acuerdo con una modalidad para superresolución mediante el uso de tres cuadros de entrada donde solo la capa de entrada se modifica para manejar conjuntamente tres cuadros de entrada para la predicción de superresolución de solo el cuadro medio mientras que las capas ocultas son idénticas a las de la Figura 7;
La Figura 9 es un diagrama de flujo que ilustra las etapas del método para un proceso de aprendizaje automático;
La Figura 10 ilustra el proceso de codificación para generar para transmisión, a partir de datos visuales de alta resolución y redes neuronales convolucionales conocidas, datos visuales de baja resolución y modificaciones a la red neuronal convolucional conocida;
La Figura 11 ilustra el proceso de decodificación mediante el uso de los datos visuales de baja resolución y una referencia a una red neuronal convolucional conocida, junto con modificaciones a esa red, para recrear una versión de datos visuales de alta resolución;
La Figura 12 ilustra un proceso de codificación adicional para generar la transmisión, a partir de datos visuales de alta resolución y redes neuronales convolucionales conocidas, una red neuronal convolucional modificada; y La Figura 13 ilustra un proceso de decodificación adicional mediante el uso de una referencia a una red neuronal convolucional conocida, junto con modificaciones a esa red, para recrear una versión de datos visuales de alta resolución;
La Figura 14 es un diagrama de flujo que ilustra las etapas del método para un proceso de mejora de imagen convencional desde los datos visuales originales de resolución más baja hasta datos visuales de resolución más alta;
La Figura 15 es un diagrama de flujo que ilustra las etapas del método para un proceso de mejora de imagen de acuerdo con una modalidad, donde los datos visuales se amplían a partir de un dato visual original de resolución más baja a un dato visual de resolución más alta, mediante el uso de una combinación de los datos visuales recibidos y una red neuronal convolucional seleccionada de una biblioteca, la red neuronal convolucional capaz de usar técnicas de superresolución para aumentar la resolución de los datos visuales recibidos;
La Figura 16 es un diagrama de flujo que ilustra las etapas del método para un proceso de mejora de la imagen para: generar datos visuales submuestreados para la transmisión a partir de datos visuales originales de resolución más alta; la transmisión de los datos visuales submuestreados; y un proceso de mejora de la imagen para ampliar desde los datos visuales submuestreados hasta los datos visuales de resolución más alta, mediante el uso de una combinación de los datos visuales submuestreados recibidos y una red neuronal convolucional seleccionada de una biblioteca, la red neuronal convolucional capaz de usar técnicas de superresolución para aumentar la resolución de los datos visuales submuestreados recibidos;
La Figura 17 es un diagrama de flujo que ilustra las etapas del método para un proceso de mejora de imagen de acuerdo con la modalidad de la Figura 16, con etapas adicionales para codificar los datos visuales en otro nodo antes de transmitir los datos visuales codificados al nodo que realiza el método de la Figura 16;
La Figura 18 es un diagrama de flujo que ilustra el método de la Figura 15, con las etapas adicionales de extraer una representación de dimensión reducida y concatenación de los datos visuales para crear una representación de dimensión reducida del cuadro separado;
La Figura 19 es un diagrama de flujo que ilustra el método de la Figura 16, con las etapas adicionales de extraer una representación de dimensión reducida y concatenación de los datos visuales para crear una representación de dimensión reducida de la escena separada;
La Figura 20 es un diagrama de flujo que ilustra las etapas del método para un proceso de mejora de imagen de acuerdo con la modalidad de la Figura 19, con etapas adicionales para codificar los datos visuales en otro nodo antes de transmitir los datos visuales codificados al nodo que realiza el método de la Figura 19;
La Figura 21 ilustra la selección de píxeles a partir de datos visuales en base a un valor predeterminado para producir datos visuales de resolución reducida para su procesamiento mediante el método ilustrado en las Figuras 18 a 20;
La Figura 22 ilustra una descripción general de un método para generar modelos para su uso en la eliminación de artefactos de imagen;
La Figura 23 ilustra un método para usar los modelos de eliminación de artefactos de imagen;
La Figura 24 ilustra un método alternativo para usar los modelos de eliminación de artefactos de imagen;
La Figura 25 ilustra el proceso de codificación para generar, la transmisión, a partir de datos de vídeo de alta resolución, una combinación de datos visuales de baja resolución y una referencia a un algoritmo capaz de usar superresolución para aumentar la resolución de los datos visuales de baja resolución;
La Figura 26 ilustra el proceso de decodificación mediante el uso de los datos visuales de baja resolución y el algoritmo correspondiente a la referencia recibida para recrear una versión de los datos visuales de alta resolución; y
La Figura 27 ilustra las etapas del método del proceso de codificación para generar la transmisión, desde los datos visuales originales que se registran hasta el paquete transmitido de una escena de resolución más baja junto con un algoritmo jerárquico.
Descripción específica
A continuación, se describirán en detalle varias modalidades con referencia a las Figuras a las que se hace referencia anteriormente.
Reducción de la complejidad en las redes neuronales
Con referencia a las Figuras 2a y 2b, se describirán ahora en detalle varias configuraciones posibles de red neuronal para su uso en al menos algunas modalidades.
En la Figura 2a se muestra una red neuronal en capas de ejemplo que tiene tres capas 10, 20, 30, cada capa 10, 20, 30 formada por una pluralidad de neuronas 25, pero donde no se han aplicado restricciones de dispersión, por lo que todas las neuronas 25 en cada capa 10, 20, 30 están conectadas en red a todas las neuronas 25 en las capas vecinas 10, 20, 30. La red neuronal simple de ejemplo que se muestra en la Figura 2a no es computacionalmente compleja debido al pequeño número de neuronas 25 y capas. Sin embargo, debido a la densidad de conexiones, la disposición de la red neuronal que se muestra en la Figura 2a no se ampliará a tamaños de red más grandes, es decir, las conexiones entre neuronas/capas, fácilmente ya que la complejidad computacional pronto se vuelve demasiado grande a medida que el tamaño de la red escale y escale de forma no lineal.
Cuando las redes neuronales necesitan ampliarse para trabajar en entradas con un gran número de dimensiones, por lo tanto, puede volverse demasiado complejo computacionalmente para que todas las neuronas 25 en cada capa 10, 20, 30 estén conectadas en red a todas las neuronas 25 en una o más capas vecinas 10, 20, 30. Se usa una condición de dispersión inicial predeterminada para reducir la complejidad computacional de la red neuronal, por ejemplo, cuando la red neuronal funciona como un proceso de optimización, al limitar el número de conexiones entre neuronas y/o capas, lo que permite por lo tanto que funcione un enfoque de red neuronal con datos de alta dimensión, tal como imágenes.
En la Figura 2b se muestra un ejemplo de una red neuronal con restricciones de dispersión, de acuerdo con al menos una modalidad. La red neuronal que se muestra en la Figura 2b está dispuesta de manera que cada neurona 25 esté conectada solo a un pequeño número de neuronas 25 en las capas vecinas 40, 50, 60, creando por lo tanto una red neuronal que no está completamente conectada y que puede ampliarse para que funcione con, datos de mayor dimensión, por ejemplo, como un proceso de optimización para vídeo. El menor número de conexiones en comparación con una red neuronal completamente en red permite que el número de conexiones entre neuronas escale de una manera sustancialmente lineal.
Alternativamente, en algunas modalidades se pueden usar redes neuronales que están completamente conectadas o no completamente conectadas, pero en configuraciones específicas diferentes a las descritas en relación con la Figura 2b.
Además, en algunas modalidades, se usan redes neuronales convolucionales, que son redes neuronales que no están completamente conectadas y, por lo tanto, tienen menos complejidad que las redes neuronales completamente conectadas. Las redes neuronales convolucionales también pueden hacer uso de la combinación o la combinación máxima para reducir la dimensionalidad (y, por lo tanto, la complejidad) de los datos que fluyen a través de la red neuronal y, por lo tanto, esto puede reducir el nivel de cálculo requerido. En algunas modalidades, se pueden usar varios enfoques para reducir la complejidad computacional de las redes neuronales convolucionales, tales como el algoritmo de winograd o aproximaciones matriciales de bajo rango.
Generación y reconstrucción de modelos de mejora de superresolución de extremo a extremo
Aunque inicialmente se diseñó para mejorar los cuadros de una sola imagen, las técnicas de superresolución también se pueden usar en múltiples cuadros en algunas modalidades. Para aplicar estas técnicas en tales modalidades, se pueden reunir múltiples cuadros de baja resolución y los cambios de subpíxeles entre los cuadros individuales se pueden usar para crear una imagen de resolución más alta que la original. En tales modalidades, se puede combinar una serie de cuadros para formar un vídeo de resolución más alta que el que se proporcionó originalmente.
Para mejorar el enfoque basado en diccionario descrito anteriormente para codificar y decodificar vídeo mediante el uso de técnicas de superresolución, en al menos algunas modalidades se propone usar técnicas de aprendizaje profundo y modelos de redes neuronales convolucionales en lugar de técnicas de aprendizaje de diccionario y modelos basados en diccionario.
El aprendizaje de diccionario está estrechamente relacionado con las técnicas de codificación dispersas, mientras que el aprendizaje profundo está conectado de manera más vaga con la codificación dispersa. La codificación dispersa es un mecanismo eficaz que asume que cualquier imagen natural puede representarse de manera dispersa en un dominio de transformación. La codificación dispersa es una técnica que se usa para encontrar automáticamente una pequeña cantidad de patrones representativos que, cuando se combinan en las proporciones correctas, reproducen los patrones de entrada originales. La codificación dispersa para una entrada consiste entonces en esos patrones representativos. Desde una perspectiva de procesamiento de señales, se deduce que las señales complicadas se pueden dividir en un número pequeño, es decir, disperso, de señales simples.
El dominio de transformación puede ser un diccionario de átomos de imágenes, que se puede aprender a través de un proceso de entrenamiento conocido como aprendizaje de diccionario que intenta descubrir la correspondencia entre secciones de imágenes de baja y alta resolución (o "parches"). El aprendizaje de diccionario usa un conjunto de representaciones lineales para representar una imagen y cuando se usa un diccionario demasiado completo, se puede usar una pluralidad de representaciones lineales para representar cada parche de imagen para aumentar la precisión de la representación.
En al menos algunas modalidades, en cambio, se propone usar el aprendizaje automático con técnicas de aprendizaje profundo que, en cambio, pueden crear representaciones no lineales de una imagen o secuencia de imágenes.
Cuando se usan principios de aprendizaje automático y codificación dispersa, se usa un proceso de entrenamiento para encontrar representaciones óptimas que puedan representar mejor una señal determinada, sujeto a condiciones iniciales predeterminadas, tal como un nivel de dispersión.
Cuando se usan redes neuronales convolucionales en al menos algunas modalidades, la eficiencia en términos de costo computacional y de memoria puede ser importante.
En algunas modalidades, los modelos de redes neuronales convolucionales (o algoritmos jerárquicos) se pueden transmitir junto con los cuadros de datos de vídeo de baja resolución debido a que los modelos de redes neuronales convolucionales reducen los datos transmitidos en comparación con los diccionarios aprendidos que se transmiten junto con las imágenes de baja resolución, especialmente en comparación con la transmisión de diccionarios demasiado completos aprendidos con imágenes de baja resolución, en el caso de que los modelos y los diccionarios tengan el mismo nivel de precisión de reconstrucción.
Los modelos de redes neuronales convolucionales de algunas modalidades permiten que el proceso de reconstrucción y la representación de imágenes no sean lineales. Esto contrasta con el enfoque basado en diccionario, que representa imágenes de forma lineal, como se describe anteriormente. Los modelos de redes neuronales convolucionales de algunas modalidades ofrecen reconstrucción con un mecanismo de retroalimentación basado en la convolución de la imagen que se puede calcular en paralelo y para el cual se encuentran disponibles métodos con alta velocidad computacional, tal como el enfoque de convolución en mosaico AMD®, que puede usarse para el filtrado rápido de imágenes.
La serie de convoluciones en un modelo de red neuronal convolucional de algunas modalidades permite que la red neuronal se use para buscar correlaciones de píxeles en una región mucho más grande que la descomposición del parche inicial, pero aplicando una ponderación para debilitar la importancia de las correlaciones para localizaciones más alejadas del píxel de interés. Por el contrario, los enfoques de codificación lineal dispersa, como el aprendizaje de diccionarios, se limitan a buscar correlaciones en un tamaño de parche inicial, para evitar la complejidad computacional de buscar la imagen completa. Como resultado, el método de estas modalidades puede explotar más completamente las redundancias naturales o no locales de los cuadros de vídeo y entre una secuencia de cuadros de vídeo.
En algunas modalidades, opcionalmente, los modelos de redes neuronales convolucionales solo asumen correlaciones locales espaciales o espacio-temporales en una imagen o vídeo. Esta suposición contrasta con la suposición de que los parches de datos pequeños deben estar bien representados por un número restringido de átomos de un diccionario, que es una restricción de dispersión aplicada al aprendizaje de diccionarios y enfoques de diccionario demasiado completos.
En algunas modalidades, se pueden usar modelos de redes neuronales recurrentes. Los modelos de redes neuronales recurrentes tienen capas únicas que se usan de manera iterativa. Las capas de un modelo de red neuronal recurrente se pueden desenrollar en varias capas para ser tratadas de manera similar a las redes neuronales convolucionales, en algunas modalidades.
Con referencia ahora a las Figuras 3 y 5, se describirá ahora en detalle una técnica que se puede usar en modalidades de métodos, aparatos y/o sistemas para codificar los datos de vídeo.
Los datos de vídeo originales 70 son un vídeo de alta resolución, por ejemplo, que tiene una resolución de 1920 píxeles por 1080 píxeles (también conocido como vídeo "1080p") o 3840 píxeles por 2160 píxeles (también conocido como vídeo "4K"). Estos datos de vídeo se pueden codificar en una variedad de códecs de vídeo conocidos, tales como H.264 o VP8, pero pueden ser cualquier dato de vídeo que se pueda decodificar en los cuadros componentes del vídeo. Los datos de vídeo originales 70 se proporcionan como datos visuales de entrada para codificar mediante el uso de la técnica.
Los datos de vídeo originales 70 se dividen luego en cuadros individuales de resolución completa en la etapa 80 (o etapa 190), es decir, en una secuencia de imágenes con la resolución completa y/o calidad de los datos de vídeo originales 70. Para algunos códecs de vídeo, esto implicará "descomprimir" o restaurar los datos de vídeo ya que, por ejemplo, las técnicas comunes de compresión de vídeo eliminan las características redundantes (que no cambian) de los cuadros secuenciales.
Opcionalmente, en la etapa 90 (o etapa 190), en algunas modalidades, los cuadros de resolución completa se pueden agrupar en escenas o secciones de cuadros que tengan características comunes, también conocidas como "selección de escena". Los datos de vídeo se dividen o agrupan en escenas para permitir un entrenamiento y optimización más específicos. Por escena, se entiende un grupo o secuencia consecutiva de cuadros, que en el nivel más grueso puede ser el vídeo completo, un solo cuadro o en el nivel más granular puede ser una sección/segmento de un cuadro.
El enfoque exacto empleado para dividir cuadros en escenas se puede realizar de muchas formas, de acuerdo con la modalidad, y los cuatro enfoques principales se describen a continuación:
Un primer enfoque es el uso de agrupaciones de tipo de cuadro del códec de vídeo subyacente. En este enfoque, una escena se define en el vídeo codificado por cada grupo de imágenes (a veces denominado por la abreviatura "GoP"), por ejemplo, entre dos cuadros I. Este es probablemente el enfoque más simple para la selección de escenas y no requiere mucho cálculo adicional para realizar el análisis de la escena del vídeo, pero el enfoque no permite ninguna flexibilidad en el nivel de granularidad en la definición de cada escena.
El segundo enfoque es el uso de un detector de transición de escenas o tomas, por ejemplo, como se describe en el documento "A Unified Model for Techniques on Video-Shot Transition Detection" por Jesús Bescós, Guillermo Cisneros, José M. Martínez, José M. Menéndez y Julián Cabrera publicado en IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 7, núm. 2, abril de 2005 en las páginas 293-307. Este enfoque propone un modelo de detección unificado para detectar transiciones de tomas de cámara en video, detectando transiciones de tomas de cámara tanto abruptas como graduales.
El tercer enfoque es el uso de un enfoque de agrupamiento después de aplicar un aprendizaje no supervisado o un enfoque de reducción de dimensionalidad, tal como agrupamiento de K-medias o aprendizaje múltiple o Análisis de componentes principales (PCA), etc. En el documento se detalla un enfoque de agrupamiento de K-medias adecuado "Constrained K-means Clustering with Background Knowledge" por Kiri Wagstaff, Claire Cardie, Seth Rogers y Stefan Schroedl, tal como se publicó en las Actas de la Decimoctava Conferencia Internacional sobre Aprendizaje Automático, 2001, p. 577-584. Un enfoque de aprendizaje múltiple adecuado se propone en el documento "Algorithms for manifold learning" por Lawrence Cayton publicado el 15 de junio de 2005.
El cuarto enfoque es usar una variedad de clases de escenas predefinidas y luego clasificar las escenas automáticamente mediante el uso de las clases predefinidas. Se pueden encontrar ejemplos de este enfoque en el documento "Nonparametric Scene Parsing: Label Transfer via Dense Scene Alignment" por Ce Liu, Jenny Yuen y Antonio Torralba con referencia IEEE 978-1-4244-3991-1/09 y el documento "80 million tiny images: a large dataset for non-parametric object and scene recognition" por Antonio Torralba, Rob Fergus y William T. Freeman.
El enfoque exacto de cómo se define una escena es independiente del resto del enfoque y variará según la modalidad, aunque tendrá un impacto en el tiempo de entrenamiento y el rendimiento de la reconstrucción, por lo que hay un nivel de optimización requerido para cada posible modalidad para encontrar un equilibrio entre la velocidad y la precisión de la etapa de detección de la escena.
Alternativamente, no es necesario realizar ninguna coincidencia de escenas en la etapa 90 (o etapa 190) en algunas modalidades. Una alternativa adicional para algunas modalidades es realizar solo un sellado de tiempo muy básico del vídeo, para determinar cómo reensamblar los cuadros de vídeo para etapas posteriores de la técnica, por ejemplo, durante la transmisión o durante la reproducción del vídeo.
Independientemente de si el vídeo se ha dividido en cuadros o escenas (es decir, grupos de múltiples cuadros) en la etapa 90 (o etapa 190) o permanece como una secuencia de cuadros de la etapa 80 (o etapa 190), cada cuadro se submuestrea en cuadros de resolución más baja a una resolución adecuadamente más baja. Opcionalmente, en algunas modalidades esta etapa puede producirse antes de que los cuadros se agrupen en escenas en la etapa 80 (o etapa 190), por lo que la etapa 90 (o etapa 190) se puede intercambiar con la etapa 90 (o etapa 190) en estas modalidades alternativas. El cuadro de resolución más baja puede, por ejemplo, ser del 33 % al 50 % del tamaño de los datos en relación con el tamaño de los datos del cuadro de resolución original, pero debe tenerse en cuenta que, en las modalidades, la resolución más baja puede ser cualquier resolución que sea más baja que la resolución original del vídeo.
En la etapa 110 (o etapa 200), en al menos una modalidad, se emplean técnicas de superresolución para crear un modelo específico mediante el uso de aprendizaje automático para cada cuadro, de manera que el modelo pueda usarse para recrear sustancialmente la versión de resolución original de un cuadro de resolución más baja y entrenado mediante el aprendizaje automático basado en el conocimiento del cuadro de resolución original. Esta etapa se denomina proceso de entrenamiento y optimización. En algunas modalidades, se pueden desarrollar modelos genéricos para tipos de escena o cuadro. Alternativamente, en otras modalidades, se pueden desarrollar modelos para cada escena.
Mediante el empleo de un enfoque de aprendizaje profundo para generar el modelo en las modalidades, se puede crear un modelo jerárquico no lineal en algunas de estas modalidades para reconstruir un cuadro de resolución más alta a partir del cuadro de resolución más baja.
Un ejemplo de un enfoque de aprendizaje profundo, pero con respecto solo a imágenes fijas y sin el uso de la imagen original para optimizar el modelo de reconstrucción se describe en el documento "Learning a Deep Convolutional Network for Image Super-Resolution" por Chao Dong, Chen Change Loy, Kaiming He y Xiaoou Tang publicado en D. Fleet y otros. (Eds.): ECCV 2014, Parte IV, LNCS 8692, págs. 184-199, 2014. Este artículo se relaciona con el uso de técnicas de superresolución al intentar obtener una versión desconocida de alta resolución de una imagen dada de baja resolución y propone el uso de una red neuronal convolucional para aprender mapeos entre imágenes de baja resolución y alta resolución.
Si bien la creación de modelos jerárquicos no lineales es más compleja computacionalmente que la creación de modelos lineales mediante el uso de enfoques de aprendizaje de diccionario, al menos en algunas modalidades puede ser más flexible. Además, los modelos no lineales creados en algunas de estas modalidades pueden usar solo unos pocos coeficientes para permitir la reconstrucción en comparación con el enfoque basado en diccionario, por lo que tales modelos pueden requerir que se transmitan menos datos. Aún además, los modelos no lineales usados en algunas modalidades pueden ser más precisos en la reconstrucción de cuadros de resolución más alta que los enfoques basados en diccionarios. Los modelos no lineales creados en algunas modalidades son pequeñas redes neuronales convolucionales en lugar de diccionarios demasiado completos. En contraste con el enfoque de promediado de parches locales que tiende a usarse en la reconstrucción mediante enfoques de aprendizaje de diccionario, el uso de un modelo de red neuronal convolucional en las modalidades también permite aprender un filtro más apropiado para la reconstrucción final donde se consideran parches vecinos, lo que puede evite el suavizado involuntario de la imagen reconstruida de resolución más alta.
El proceso de entrenamiento y optimización en las modalidades se puede configurar de acuerdo con una compensación deseada entre el tiempo de cálculo empleado y la calidad de los resultados deseada. En general, el número de iteraciones usadas durante el proceso de entrenamiento produce ganancias aproximadamente logarítmicas en la precisión de la reconstrucción, por lo que en algunas modalidades se prefiere usar un umbral automático para detener la optimización adicional. Cuando se favorece la calidad de los resultados en las modalidades, el umbral automático se puede establecer en un valor predeterminado de error de reconstrucción, por ejemplo, calculando el error cuadrático medio, pero se pueden usar otros métodos. Alternativamente, en algunas modalidades, el umbral automático se puede establecer para limitar el proceso de entrenamiento y optimización a un número predeterminado de iteraciones. Como alternativa adicional, en algunas modalidades se puede usar una combinación de estos dos factores.
En algunas modalidades, la etapa 120 (o etapa 210), la porción del vídeo de baja resolución y el modelo de reconstrucción para esa porción del vídeo se envían para su transmisión. Opcionalmente, en algunas modalidades, el vídeo y el modelo pueden almacenarse juntos dentro de un formato de contenedor de datos adecuado, tal como un contenedor multimedia Matroska (también conocido como contenedor MKV). Alternativamente, en algunas modalidades, el vídeo y el modelo pueden combinarse con otras secciones o el vídeo completo y colocarse en un formato de contenedor de datos adecuado. En algunas modalidades, en la etapa 120 (o etapa 210), los cuadros de vídeo de baja resolución se pueden volver a codificar mediante el uso del códec de vídeo original aplicado a los datos de vídeo originales 70 o, alternativamente, se puede aplicar un códec de vídeo más óptimo a los datos de vídeo para producir datos de vídeo de salida 130. Opcionalmente, si se realizó la detección de escena o la marca de tiempo, en algunas modalidades la salida de datos para la transmisión puede incluir una lista de escenas o datos de marca de tiempo respectivamente, o estos datos podrían almacenarse dentro del contenedor de datos.
En las modalidades, puede haber una serie de variaciones en el marco de codificación descrito anteriormente. Para la técnica descrita anteriormente, se puede suponer en muchas modalidades que habría un mapeo uno a uno entre la escena y el modelo, sin embargo, esto no tiene por qué ser cierto ya que se podría usar un grupo local de escenas para entrenar cada modelo en algunas modalidades. En cambio, también podría ser posible en algunas modalidades usar varios modelos similares para inicializar (por medio de un promedio ponderado) parámetros iniciales para entrenar nuevas escenas no vistas. También puede ser suficiente simplemente ponderar los modelos sin requerir ninguna optimización adicional en algunas modalidades, similar a los métodos de fusión de etiquetas usados en la formación de imágenes médicas, por ejemplo.
Con referencia ahora a las Figuras 4 y 6, se describirán ahora en detalle modalidades para reconstruir el vídeo codificado mediante el uso de la técnica.
Primero, los datos 130 se reciben de la red. En las modalidades, los datos recibidos 130 dependen de cómo se prepararon los datos para la transmisión en la etapa 120 (o 210) como se detalla anteriormente en las diversas modalidades posibles y los datos preparados pueden incluir los datos de vídeo y uno o más modelos de reconstrucción para esos datos de vídeo. En algunas modalidades, es posible que los datos de vídeo y uno o más modelos de reconstrucción no se transmitan y/o reciban simultáneamente, por lo que es posible que se requiera almacenamiento temporal para esperar a que todos los componentes requeridos decodifiquen o reconstruyan el vídeo de resolución más alta a partir de los datos transmitidos a través de la red.
En las etapas 140 y 150 (y la etapa 220), los datos recibidos se preparan para la reconstrucción dependiendo de la modalidad. En la mayoría de las modalidades, esta etapa implica separar el vídeo de baja resolución de los modelos de reconstrucción (etapa 220). Opcionalmente, en algunas modalidades, el vídeo de baja resolución se descomprime mediante el uso del códec de vídeo usado para la transmisión en cuadros de imagen de resolución completa (etapa 230) y cada uno de los cuadros se empareja con el modelo de reconstrucción correspondiente, que también se desempaqueta en orden cuadro por cuadro (etapa 240).
En la etapa 160 (etapa 250), el modelo de reconstrucción se aplica a cada uno de los cuadros para generar cuadros de resolución más alta dependiendo de la modalidad. El proceso de reconstrucción o decodificación en la mayoría de las modalidades implica aplicar el modelo de red neuronal convolucional de superresolución optimizado, o modelo de reconstrucción, para cada escena con el fin de restaurar el vídeo de resolución más baja a su resolución original que tiene sustancialmente la misma calidad que el vídeo original de alta resolución. Dados los modelos correspondientes para cada cuadro de resolución más baja, los cuadros originales de resolución más alta se pueden reconstruir con alta precisión para al menos algunas de estas modalidades.
La complejidad del proceso de reconstrucción puede ser mucho más simple, es decir, requiere menos cálculos, en comparación con el entrenamiento del modelo en la mayoría de las modalidades. En la mayoría de las modalidades, el proceso de reconstrucción es muy similar a una sola iteración del proceso de entrenamiento, sin embargo, no se requiere optimización y el proceso simplemente aplica el modelo de red neuronal convolucional aprendido para reconstruir la imagen en un orden parche por parche. En algunas modalidades, se aplica un modelo singular a cada escena y se puede enviar como datos adjuntos en el contenedor de vídeo antes de la escena en la que se usa. En algunas modalidades, el modelo asociado con cada escena puede indexarse en un flujo de datos, sincronizarse con el flujo de vídeo y audio, o indexarse en una tabla de búsqueda de cuadro a modelo que puede enviarse antes que el flujo de vídeo en dependencia de en la modalidad.
La reconstrucción de la imagen en la mayoría de las modalidades tiene una complejidad computacional lineal, que depende del número total de píxeles de cada cuadro, ya que el proceso de reconstrucción requiere una serie de funciones de convolución (normalmente menos de 3) que se aplicarán para cada parche de imagen relevante centrado alrededor de cada píxel. Una etapa de reconstrucción básica para cada imagen es como se describe en el documento "Learning a Deep Convolutional Network for Image Super-Resolution" por Chao Dong, Chen Change Loy, Kaiming He y Xiaoou Tang publicado en D. Fleet y otros. (Eds.): ECCV 2014, Parte IV, LNCS 8692, págs. 184­ 199, 2014, y esta etapa se puede usar con o sin modificación en algunas modalidades, sin embargo, en algunas de estas modalidades estas funciones se pueden aplicar en paralelo a través de múltiples imágenes y en algunas modalidades puede ser factible realizar una reconstrucción en tiempo real para la reproducción de vídeo.
La superresolución funciona parche por parche en la mayoría de las modalidades, pero puede que no sea necesario realizar la superresolución para cada parche de una imagen en algunas modalidades. En algunas modalidades, en las que el parche es plano y liso, puede ser suficiente usar una ampliación bicúbica. Puede ser más rápido en algunas modalidades, tanto para el entrenamiento como para la reconstrucción, si estos parches pudieran omitirse. Para identificar estos parches, un enfoque como se establece en el documento "Coupled Dictionary Training for Image Super-Resolution" por Jianchao Yang, Zhaowen Wang, Zhe Lin, Scott Cohen y Thomas Huang (como se publicó en IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 21, núm. 8 de agosto de 2012), se puede usar en algunas modalidades para filtrar parches que tienen variaciones bajas e ignorar estas áreas de la imagen. Alternativamente, en otras modalidades, se podrían usar detectores de bordes para identificar las áreas de interés.
Más aún, en algunas modalidades se puede usar cierto nivel de comparación entre cuadros para identificar regiones de la imagen que no cambian de cuadro a cuadro, eliminando de esta manera las áreas de la imagen a partir de la duplicación de los esfuerzos de reconstrucción de superresolución que se producen en un cuadro anterior. En estas modalidades, el código de vídeo subyacente para el vídeo de baja resolución puede usarse para identificar las regiones de cambio como parte de su mecanismo de compresión entre cuadros y esta información podría aprovecharse para una reconstrucción y reproducción de vídeo de superresolución en tiempo real más eficiente. Además, en algunas modalidades se puede usar una estructura de datos auxiliar, tal como un árbol aleatorio, para realizar un seguimiento de la singularidad de los parches que se han reconstruido. Dado que una imagen puede contener muchos parches repetidos, el uso de este enfoque en algunas modalidades podría evitar la reconstrucción innecesaria de parches por lo que el resultado ya se conoce (en otro parche). Se han usado enfoques similares en la detección de cuadros clave para la localización de cámaras en tiempo real para aplicaciones de realidad aumentada.
El método y el sistema propuestos de codificación y decodificación de vídeo de al menos algunas de las modalidades pueden aumentar los códecs de compresión y descompresión de vídeo existentes. Al usar el mismo códec que se usó para crear los datos de vídeo, el vídeo de baja resolución que se transmite se puede codificar con el mismo códec de vídeo, pero a una resolución más baja que la del original en algunas modalidades. Por lo tanto, en algunas modalidades, el método y el sistema propuestos pueden ser independientes del códec original usado para crear y comprimir el vídeo. Alternativamente, en algunas modalidades es posible seleccionar un códec alternativo para la transmisión y volver a codificar el vídeo en el códec original cuando los datos de vídeo se han transmitido, descomprimido y restaurado a una versión de alta resolución de los datos de vídeo originales.
Al incorporar, por ejemplo en algunas modalidades, técnicas de mejora de imagen en un proceso de compresión de vídeo, se puede lograr una reducción en la resolución del vídeo durante la transmisión y, por lo tanto, se transmiten cantidades menores de datos debido a que la imagen se puede mejorar en el nodo que recibe el vídeo de resolución reducida para recrear el vídeo con la resolución original. Al usar la superresolución como técnica de mejora de imagen en tales modalidades, y con el conocimiento de la imagen de alta resolución original antes de aplicar las técnicas de mejora de imagen, es posible submuestrear la imagen de alta resolución original a una imagen de resolución más baja y elegir una o más representaciones de una biblioteca de representaciones que se pueden usar para crear una imagen de alta resolución a partir de la imagen submuestreada basada en el conocimiento de la imagen original. En tales modalidades, esto da como resultado solo una imagen submuestreada y el modelo o parámetro de reconstrucción de superresolución que se transmite a través de una red en lugar del vídeo original de alta resolución, disminuyendo por lo tanto la cantidad de datos transferidos mientras se mantiene un nivel similar de calidad de imagen con relación al original una vez que se haya recreado la imagen de alta resolución.
En la etapa 170, en algunas modalidades, cada uno de los segmentos de vídeo sale del proceso de reconstrucción como cuadros de resolución más alta con la misma resolución que el vídeo original 70. En estas modalidades, la calidad del vídeo de salida 180 es sustancialmente similar a la del vídeo original 70, dentro de los límites de error aplicados opcionalmente por el proceso de aprendizaje automático que desarrolla el modelo de reconstrucción en la etapa 110 (o etapa 200) del proceso de codificación.
En la etapa 180, en algunas modalidades, los segmentos de vídeo se combinan de manera que se pueda visualizar el vídeo. Opcionalmente, en la etapa 170 o 180, en otras modalidades, el vídeo se puede volver a codificar con el códec original usado en el vídeo original 70 o un códec óptimo más predeterminado, para permitir la reproducción en un decodificador o dispositivo de visualización.
En la mayoría de las modalidades, la técnica propuesta no realiza la compresión convencional reordenando los datos originales y descartando los datos redundantes o los datos que se consideran de menor importancia, de manera que la mayoría de los datos están intactos. En cambio, en estas modalidades, la técnica determina una serie de funciones simples y livianas a través del aprendizaje automático que se pueden usar para reconstruir los datos originales mientras se minimiza el error de reconstrucción dada alguna función de costo predefinida (se puede usar una serie de marcos de optimización o búsqueda comunes al aprendizaje automático, tal como el descenso de gradiente o el descenso de gradiente estocástico). Por lo tanto, se deduce que la técnica de estas modalidades puede describirse como un proceso de optimización de las funciones de reconstrucción en lugar del proceso de redundancia/reducción de datos de las técnicas de compresión convencionales.
Convolución de subpíxeles
Con referencia ahora a las Figuras 3 y 5, ahora se describirán en detalle modalidades que usan otra técnica para codificar los datos visuales. Estas modalidades se pueden usar en combinación con otras modalidades y modalidades alternativas y opcionales descritas en otra parte de esta descripción.
Nuevamente, en estas modalidades, los datos de vídeo originales 70 se proporcionan en el método o sistema y es un vídeo de alta resolución, por ejemplo, que tiene una resolución de 1920 píxeles por 1080 píxeles (también conocido como vídeo "1080p") o 3840 píxeles por 2160. píxeles (también conocido como vídeo "4K"). Estos datos de vídeo se pueden codificar en una variedad de códecs de vídeo conocidos, tales como H.264 o VP8, pero pueden ser cualquier dato visual que el sistema o método pueda decodificar en las secciones de componentes.
Los datos de vídeo originales 70 se dividen luego en cuadros individuales de resolución completa en la etapa 80 (o etapa 190), es decir, en una secuencia de imágenes con la resolución completa de los datos de vídeo originales 70. Para algunos códecs de vídeo, esto implicará "descomprimir" o restaurar los datos de vídeo ya que, por ejemplo, las técnicas comunes de compresión de vídeo eliminan las características redundantes (que no cambian) de los cuadros secuenciales.
Opcionalmente, en la etapa 90 (o etapa 190), los cuadros de resolución completa se pueden agrupar en escenas o secciones de cuadros que tienen características comunes, también conocidas como "selección de escena". Los datos de vídeo se dividen o agrupan en escenas para permitir un entrenamiento y optimización más específicos. Por escena, se entiende un grupo o secuencia consecutiva de cuadros, que en el nivel más grueso puede ser el vídeo completo o en el nivel más granular puede ser un solo cuadro.
Para llevar a cabo la superresolución de una imagen de baja resolución en un espacio de alta resolución, es necesario aumentar la dimensionalidad de la imagen de baja resolución para que coincida con la de la imagen de alta resolución en algún momento durante el funcionamiento del modelo basado en ejemplos o red neuronal convolucional. Al ampliar la imagen de baja resolución a una de alta resolución como entrada a un modelo basado en ejemplos, el modelo basado en ejemplos no necesita aprender los filtros de superresolución para realizar la ampliación desde el espacio de baja resolución a un espacio de alta resolución, pero este enfoque puede sacrificar la precisión de la reconstrucción e introducir complejidad computacional, ya que todo el procesamiento posterior debe producirse en la dimensionalidad de alta resolución.
Con referencia a la Figura 7, se muestra una red neuronal convolucional de subpíxeles (ESPCN) 700 eficiente que tiene una imagen de entrada de baja resolución 710 con dos capas de extracción de mapas de características 720, 730 construidas con redes neuronales convolucionales y una capa de convolución de subpíxeles 740 que agrega los mapas de características del espacio de baja resolución y crea la imagen de superresolución 750 en una sola etapa. En una modalidad, como se muestra en la Figura 7, se lleva a cabo la superresolución de los datos de alta resolución a partir de los mapas de características de baja resolución solo al final de la red, en la capa final o última capa de la red, evitando por lo tanto la necesidad de realizar la mayor parte del cálculo en la dimensionalidad más grande de alta resolución. Como la velocidad de procesamiento depende sustancialmente de manera directa de la dimensionalidad de la imagen de entrada, la operación en el espacio de baja resolución permitirá un procesamiento más rápido. Además, al realizar la extracción de mapas de características antes de la ampliación, es posible realizar una ampliación más compleja y precisa (es decir, precisión de reconstrucción adicional) mediante la capa final o última capa de la red, ya que se puede aprender una función de ampliación o remuestreo y se adapta el contenido y los datos en comparación con la aplicación de un filtro genérico de interpolación explícita o modificada para realizar una ampliación (por ejemplo, un filtro de interpolación bicúbico) que se elige heurísticamente de antemano.
La tarea del modelo basado en ejemplos, en algunas modalidades una red de superresolución de imagen única, es estimar una imagen de alta resolución dada una imagen de baja resolución que se reduce o se submuestrea a partir de una imagen de alta resolución correspondiente. En algunos casos, por ejemplo, la compresión de vídeo, la operación de submuestreo puede ser determinista y conocida: para producir la imagen de baja resolución a partir de la imagen de alta resolución, la imagen de alta resolución se puede convolucionar mediante el uso de un filtro gaussiano (pero se pueden usar otros filtros), simulando por lo tanto una función de dispersión de puntos en una cámara, luego se submuestrea por una relación de ampliación r. Sin embargo, la superresolución general y la ampliación no son normalmente deterministas y, en algunas modalidades, para mitigar las operaciones no deterministas, el entrenamiento se puede realizar para una gama de diferentes operaciones de submuestreo. En otras modalidades, la estimación puede realizarse, por ejemplo, entrenando un clasificador o alguna comparación visual, y opcionalmente esto podría parametrizarse para el proceso de superresolución en algunas modalidades. En general, tanto la imagen de baja como la de alta resolución tienen canales de color C, por lo que se pueden representar como tensores de valor real de H * W * C y rH * rW * C respectivamente. En algunas modalidades, en lugar de recuperar una imagen de alta resolución de una versión aumentada e interpolada de la imagen de baja resolución, una red convolucional de tres capas usa la imagen de baja resolución para evitar la ampliación antes de que la imagen de baja resolución se alimente a la red. En la red, se aplica una capa de convolución de subpíxeles para mejorar la escala de los mapas de características de baja resolución para producir una imagen de alta resolución mediante el uso de superresolución.
Para una red compuesta por L capas, las primeras L - 1 capas se pueden describir de la siguiente manera:
Figure imgf000037_0001
donde Wi, bi, l 6 (1, L - 1) son pesos y sesgos de la red que se pueden aprender, respectivamente. Wi es un tensor de convolución 2D de tamaño nl-1 * nl * kL * kL, donde nl es el número de características en el nivel l, n0 = C y kL es el tamaño del filtro y el nivel 1. Los sesgos bl son vectores de longitud ni. La función de no linealidad 0 se aplica por elementos y es fija. La última capa f1 tiene que convertir los mapas de características de baja resolución en una imagen de alta resolución ISR.
En una modalidad, se lleva a cabo la superresolución de los datos de alta resolución a partir de los mapas de características de baja resolución mediante una capa de convolución de subpíxeles, para aprender la operación de ampliación para la superresolución de imagen y vídeo. Si la última capa o la capa final realiza una ampliación, la extracción de características se produce a través de convoluciones no lineales en las dimensiones de baja resolución, por lo que se puede usar un tamaño de filtro más pequeño para integrar la misma información en relación con hacerlo en las dimensiones de alta resolución, reduciendo por lo tanto la complejidad computacional.
En una modalidad, la red neuronal convolucional consta de una pluralidad de capas de mapeo no lineales seguidas de una capa de convolución de subpíxeles. El beneficio es la complejidad computacional reducida en comparación con una red convolucional de tres capas usada para representar las etapas de extracción y representación de parches, mapeo no lineal y reconstrucción en los métodos convencionales de reconstrucción de imágenes basados en codificación dispersa y mediante el uso de una versión mejorada e interpolada de la entrada de baja resolución.
La red neuronal convolucional de la modalidad usa filtros aprendidos en los mapas de características para llevar a cabo la superresolución de los datos de baja resolución en datos de alta resolución (en lugar de usar interpolación modificada o un solo filtro en las imágenes/cuadros de entrada).
En lugar de usar una capa de deconvolución para recuperar la resolución de la agrupación máxima y otras capas de submuestreo de imágenes, de acuerdo con algunas modalidades, la ampliación de una imagen de baja resolución se realiza mediante convolución.
i
En una modalidad, la convolución se realiza con un segmento fraccional de r en el espacio de baja resolución, que puede implementarse por interpolación, perforarse o desagruparse del espacio de baja resolución al espacio de alta resolución seguido de una convolución con un segmento de 1 en el espacio de alta resolución.
En otra modalidad, la convolución con un segmento de r en el espacio de baja resolución se realiza con un filtro Wd i
de tamaño ks con un espaciado entre pesos r para activar diferentes partes de Wd para la convolución. Los pesos que caen entre los píxeles no se activan y, por lo tanto, no se calculan. El número de patrones de activación es r2 y
cada patrón de activación, de acuerdo con su localización, tiene como máximo ( - ) 2 pesos activados. Estos patrones se activan periódicamente durante la convolución del filtro a través de la imagen dependiendo de los diferentes subpíxeles: mod (x, r), mod (y, r) donde x, y son las coordenadas de los píxeles de salida en el espacio de alta resolución. En la situación en la que mod (ks, rks) = 0, para una red neuronal con 1 capas, los mapas de características de baja resolución f -1(ILR) de la última capa de mapeo no lineal se agregan para producir el resultado de estimación final de la imagen de alta resolución f'(ILR) mediante el uso de la siguiente fórmula:
ISR = f l(íLR) = PS (WL * f L- \ l LR) bL
donde W l y b l representan filtros y sesgos que se pueden aprender respectivamente. El filtro de convolución final Wl es de tamaño nL-i x r2C x x k_, donde C es el número de canales de color en la imagen original y r la relación de remuestreo. PS es un operador de mezcla periódica. Por lo tanto, después de la convolución, pero antes de aplicar PS, tenemos un tensor que tiene dimensión rH x rW x C ■ r2, donde h y v son las dimensiones horizontal y vertical de la imagen de alta resolución. El resultado de aplicar PS es una matriz rH x rW x, es decir, las mismas dimensiones que la imagen de alta resolución. Esto se logra mediante la mezcla periódica de PS que se describe de la siguiente manera:
PS(J") x,y,c ^[^],[^],c-rmod(y,r)+c-mod(x,r)
kL = —
Es fácil ver que cuando r y mod (ks, r) = 0 es equivalente a la convolución de subpíxeles en el espacio de baja resolución con el filtro Wd. Esta última capa, o capa de convolución de subpíxeles, produce una imagen de alta resolución a partir de los mapas de características de baja resolución directamente, con un filtro más distinguible para cada mapa de características y puede operar con mayor eficiencia a medida que se puede procesar la operación de la mezcla periódica descrita en paralelo en un solo ciclo.
tH r
Dado un conjunto de entrenamiento que consta de ejemplos de imágenes de alta resolución ln ' n = 1... N, las t L R
imágenes de baja resolución correspondientes > n = 1... Se generan N, y el error cuadrático medio por píxel (MSE) de la reconstrucción se calcula como una función objetivo para entrenar la red:
Figure imgf000038_0001
Con referencia a la Figura 8, se muestra una arquitectura de red 800 para superresolución mediante el uso de tres cuadros de entrada 810a, 810b y 810c (y luego 8l0b, 810c y 810d). Solo la capa de entrada de la red neuronal se modifica para manejar conjuntamente tres cuadros de entrada para la predicción de superresolución solo del cuadro medio 830b (o 830c). Las capas ocultas 820a, 820b) son idénticas a las que se muestran en la Figura 7.
Como se muestra en la Figura 8, en una modalidad, las convoluciones espacio-temporales se realizan en la capa inicial de la red neuronal. El uso de una capa de entrada espacio-temporal como una extensión de la red para manejar datos de vídeo permite mejorar el rendimiento de reconstrucción de datos de vídeo mediante la explotación de la redundancia temporal entre cuadros consecutivos en un vídeo.
En algunas modalidades, se pueden usar los ajustes 1 = 3, (fi, ni) = (5, 64), (f2 , n2 ) = (3, 32) y f3 = 3. En la fase de entrenamiento de estas modalidades, se seleccionaron aleatoriamente subimágenes de píxeles 17r x 17r de las imágenes de verdad en el terreno de entrenamiento IHR, donde r es el factor de ampliación. En otras modalidades, se pueden elegir otros parámetros en base al hardware informático disponible y/o el tiempo de entrenamiento. Para sintetizar las muestras de baja resolución ILR, IHR se desenfocaron mediante el uso de un filtro gaussiano en estas modalidades y se submuestrearon mediante el factor de ampliación. En estas modalidades, las subimágenes se extrajeron de las imágenes originales con un segmento de (17 - X mod (f, 2)) x r de IHR y un segmento de (17 - X mod (f, 2)) de ILR. En otras modalidades, se pueden seleccionar subimágenes de tamaño arbitrario: las subimágenes más pequeñas pueden permitir actualizaciones más rápidas en el entrenamiento (ya que las actualizaciones se pueden hacer más rápido dado que se requieren menos convoluciones por subimagen) y también pueden permitir que se usen más ejemplos de entrenamiento individuales y puede permitir además un aumento en las representaciones; mientras que las subimágenes más grandes pueden ser más eficientes en el proceso para los sistemas por lotes, particularmente cuando hay suficientes datos de entrenamiento disponibles. Puede observarse que en la mayoría de las modalidades el límite inferior del tamaño de la subimagen depende de los tamaños de filtro usados en una red neuronal mientras que el límite superior está relacionado con la memoria y el conjunto de datos. Esto asegura que todos los píxeles de la imagen original aparezcan una vez y solo una vez ya que la verdad en el terreno de los datos de entrenamiento tanh puede usarse como función de activación en estas modalidades. En algunas modalidades, el entrenamiento puede detenerse después de que no se observe ninguna mejora de la función de costo después de 100 repeticiones. En algunas de estas modalidades, la tasa de aprendizaje inicial puede establecerse en 0,01 y la tasa de aprendizaje final puede establecerse en 0,0001 y actualizarse gradualmente cuando la mejora de la función de costo es menor que un umbral p.
En algunas modalidades, la red está adaptada para superresolución de vídeo con una modificación en la capa de entrada. En lugar de manejar cuadros individuales de manera independiente, los cuadros consecutivos se procesan conjuntamente alimentando los datos consecutivos de múltiples cuadros de manera que la entrada se pueda expresar o convertir en un vector tridimensional de parches correspondientes de múltiples cuadros de manera que los cambios temporales entre cuadros consecutivos se capturen a la red. En una modalidad alternativa, se puede usar un muestreo temporal fijo cuando los videos tienen velocidades de cuadros diferentes o variables, mediante la selección opcionalmente de la velocidad de cuadros más baja cuando se entrena la red. Después de la extracción del parche, los datos son procesados por capas ocultas a través de la red y dan como resultado una capa de salida que produce un solo cuadro de imagen de alta resolución correspondiente a la predicción de red del cuadro medio en los cuadros consecutivos de entrada. En algunas modalidades alternativas, existen múltiples cuadros de entrada y múltiples cuadros de salida.
En uso para el procesamiento de vídeo, se pueden usar bloques de 3, 5 y 7 (o más) cuadros de vídeo consecutivos para llevar a cabo la superresolución del cuadro o cuadros intermedios. Se debe señalar que un mayor número de cuadros podría resultar poco práctico, ya que cada cuadro adicional proporciona una ganancia de precisión cada vez menor. Para manejar el primer y último cuadro de vídeos que no tienen suficientes cuadros contiguos para formar un bloque de cuadros consecutivos, el primer y último cuadro se pueden repetir 1, 2 y 3 veces respectivamente. La relación máxima de señal a ruido (PSNR) se puede usar como métrica de rendimiento para evaluar los modelos usados.
Con referencia ahora a las Figuras 4 y 6, se describirá ahora en detalle una modalidad para reconstruir el vídeo codificado mediante el uso de la técnica.
Primero, los datos 130 se reciben de la red. Los datos recibidos 130 dependen de cómo se prepararon los datos para la transmisión en la etapa 120 (o 210) como se detalla anteriormente e incluirán los datos de vídeo y uno o más modelos de reconstrucción para esos datos de vídeo. Es posible que los datos de vídeo y uno o más modelos de reconstrucción no se transmitan y/o reciban simultáneamente, por lo que es posible que se requiera almacenamiento temporal para esperar a que todos los componentes necesarios se decodifiquen o reconstruir el vídeo de resolución más alta a partir de los datos transmitidos a través de la red.
En las etapas 140 y 150 (y la etapa 220), los datos recibidos se preparan para la reconstrucción. Esta etapa generalmente implica separar el vídeo de baja resolución de los modelos de reconstrucción (etapa 220). Opcionalmente, el vídeo de baja resolución se descomprime mediante el uso del códec de vídeo usado para la transmisión en cuadros de imagen de resolución completa (etapa 230) y cada uno de los cuadros se empareja con el modelo de reconstrucción correspondiente, que también se desempaqueta en orden de cuadro por cuadro (etapa 240).
En la etapa 160 (etapa 250), el modelo de reconstrucción se aplica a cada uno de los cuadros para generar cuadros de resolución más alta. El proceso de reconstrucción, o decodificación, implica aplicar el modelo de red neuronal convolucional de superresolución optimizado, o modelo de reconstrucción, para cada escena con el fin de restaurar el vídeo de baja resolución a su resolución original que tiene sustancialmente la misma calidad que el vídeo original de alta resolución. Dados los modelos correspondientes para cada cuadro de resolución más baja, los cuadros originales de resolución más alta se pueden reconstruir con alta precisión.
En una modalidad adicional, al menos una parte del proceso descrito en la Figura 3 puede tener lugar dentro de un sistema de "informática en la nube". En esta modalidad, los datos de vídeo originales 70 se transmiten a un sistema informático externo en donde tienen lugar uno o más de los procesos descritos en esta descripción. Se puede procesar una sección diferente de datos de vídeo en paralelo en el sistema informático externo. El límite del número de secciones de vídeo procesados en paralelo depende de la complejidad computacional de las secciones de vídeo y la potencia de procesamiento de los servidores en la nube. Una vez que se completa el procesamiento basado en la nube, los datos se pueden transmitir a un sistema informático local. El servicio en la nube se puede usar como un servidor de retransmisión en tiempo real, que recibe vídeos de resolución más baja, cuyas resoluciones luego se incrementarán antes de ser retransmitidas. Esta disposición puede transmitir datos desde localizaciones con ancho de banda restringido a localizaciones donde no existe tal restricción en el ancho de banda.
En una modalidad adicional, el proceso de entrenamiento para los modelos basados en ejemplos tiene lugar exclusivamente para la reconstrucción de los componentes de alta frecuencia de la sección de vídeo de resolución más alta. Los resultados pueden luego agregarse como un residuo a una sección de vídeo reconstruida mediante el uso de interpolación bicúbica.
En una modalidad adicional, la arquitectura de cualquier red neuronal convolucional usada en el proceso de reconstrucción se modifica de manera que la ampliación, en términos de cambiar físicamente el número de píxeles, se produce en la capa media o última capa de la red mediante una función de deconvolución. La primera capa de la red se describe como la obtención de características de baja resolución, mientras que las características de alta resolución solo se aprenden en la última capa. No es necesario aprender las funciones de baja resolución en un espacio de alta resolución. Al mantener baja la resolución para el primer par de capas de convoluciones, se puede reducir el número de operaciones necesarias. El rendimiento computacional depende más de la resolución de la entrada que de la resolución de la salida. Alternativamente, las capas de red se pueden reorganizar de manera que la salida de la capa de convolución de subpíxeles de la red neuronal convolucional (que puede ser la última capa o una capa anterior, en dependencia de la modalidad) predice el cuadrado del número de factor de ampliación de píxeles (por ejemplo, r2) en lugar del número de píxeles del factor de ampliación (por ejemplo, r). Los otros píxeles representan el píxel vecino al píxel de entrada original en baja resolución. Luego, cada 4 píxeles se deben remodelar y reordenar para formar la imagen de alta resolución. Se puede obtener una mayor velocidad de procesamiento de vídeo mediante el uso de este enfoque mientras se mantiene un alto nivel de calidad para la salida. Por lo tanto, se reduce el número de convoluciones necesarias. Esta modalidad puede usarse junto con cualquier otra modalidad. En algunas y otras modalidades, una red neuronal puede tener ampliación de múltiples etapas (u otra función) donde una capa anterior se amplía y luego una capa posterior se amplía, por ejemplo, una capa media se amplía en 2x y luego la última capa se amplía en 2x. Este tipo de enfoque "encadenado" puede permitir que las redes neuronales se entrenen en una red larga (o "cadena") de capas funcionales, por ejemplo, con un rango de factores de ampliación (por ejemplo, 2x, 3x y 4x) con múltiples capas de ampliación y capas de salida. Una o más de estas capas pueden ser capas de convolución de subpíxeles de las modalidades descritas.
La complejidad del proceso de reconstrucción es mucho más simple en comparación con el entrenamiento del modelo. El proceso es muy similar a una sola iteración del proceso de entrenamiento, sin embargo, no se requiere optimización y simplemente se aplica el modelo de red neuronal convolucional aprendido para reconstruir la imagen en un orden parche por parche. El tamaño de un solo parche puede variar, de acuerdo con los requisitos de resolución de la sección de salida de vídeo. El tamaño del parche se determinará sin conexión a través de optimizaciones de hiperparámetros al entrenar modelos. Generalmente, un tamaño de parche más grande reducirá los requisitos computacionales para procesar una sección de vídeo y también reducirá el ancho de banda requerido para transmitir la sección de vídeo. Cuando el ancho de banda es particularmente limitado, la potencia de procesamiento de un terminal de usuario final es baja, o un usuario está dispuesto a soportar una sección de vídeo de menor calidad, el tamaño del parche puede aumentarse para permitir la transmisión de vídeo en una o más de esas circunstancias. La calidad de la reconstrucción se verá comprometida, pero la potencia de procesamiento requerida en el terminal del usuario final se reducirá significativamente.
Se aplica un modelo singular a cada escena y se puede enviar como datos adjuntos en el contenedor de vídeo antes de la escena en la que se usa. El modelo asociado con cada escena puede indexarse en un flujo de datos, sincronizarse con el flujo de vídeo y audio, o indexarse en una tabla de búsqueda de cuadro a modelo que se puede enviar antes del flujo de vídeo.
En la etapa 170, cada uno de los segmentos de vídeo sale del proceso de reconstrucción como cuadros de resolución más alta con la misma resolución que el vídeo original 70. La calidad del vídeo de salida 180 es sustancialmente similar a la del vídeo original 70, dentro de los límites de error aplicados opcionalmente por el proceso de aprendizaje automático que desarrolla el modelo de reconstrucción en la etapa 110 (o etapa 200) del proceso de codificación.
En la etapa 180, los segmentos de vídeo se combinan de manera que se pueda visualizar el vídeo. Opcionalmente, en la etapa 170 o 180, el vídeo se puede volver a codificar con el códec original usado en el vídeo original 70 o un códec óptimo más predeterminado, para permitir la reproducción en un decodificador o dispositivo de visualización. El uso de la capa final para realizar una superresolución se puede usar para realizar una ampliación de imágenes y/o videos de baja resolución sin conocimiento de ningún contenido original de alta resolución o cuando no hay contenido de resolución más alta para las imágenes de baja resolución y/o vídeo. Además, el uso del enfoque espacio-temporal se puede usar para realizar una ampliación de imágenes y/o videos de baja resolución sin conocimiento de ningún contenido original de alta resolución o donde no hay contenido de resolución más alta para las imágenes de baja resolución y/o vídeo. Además, tanto el uso de la capa final para realizar una superresolución como el uso del enfoque espacio-temporal se pueden usar en combinación para realizar la ampliación de imágenes y/o videos de baja resolución sin conocimiento de ningún contenido original de alta resolución o donde no hay contenido de resolución más alta para las imágenes y/o videos de baja resolución. Específicamente, algunas modalidades pueden usar uno o más modelos basados en ejemplos genéricos, por ejemplo seleccionándolos de una biblioteca de modelos basados en ejemplos genéricos y, por ejemplo, aplicando algunos criterios para seleccionar dichos modelos basados en ejemplos, que usan uno o ambos modelos basados en ejemplos que tienen un capa final que realiza una superresolución y/o usa un enfoque espacio-temporal en la capa de entrada del modelo basado en ejemplos.
Desarrollo/selección de modelos en tiempo real
Con referencia ahora a la Figura 27, se describirá ahora en detalle una modalidad que usa la técnica para codificar los datos visuales. Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción.
Los datos de vídeo originales 2740 se pueden proporcionar en el método o sistema de la modalidad mediante el uso de una cámara 2735 y usualmente comprenden un vídeo de alta resolución, por ejemplo, que tiene una resolución de 1920 píxeles por 1080 píxeles (también conocido como vídeo "1080p") o 3840 píxeles por 2160 píxeles (también conocido como vídeo "4K"). Estos datos de vídeo se pueden codificar en una variedad de códecs de vídeo conocidos, tales como H.264 o VP8, pero pueden ser cualquier dato de vídeo para el cual el sistema o método es capaz de decodificar en los cuadros componentes del vídeo dependiendo de la modalidad.
En algunas modalidades, los datos de vídeo originales 2740 se dividen luego en cuadros individuales de resolución completa dentro de la etapa 150, es decir, en una secuencia de imágenes a la resolución completa de los datos de vídeo originales 140. En algunas de estas modalidades, para algunos códecs de vídeo, esto implicará "descomprimir" o restaurar los datos de vídeo ya que, por ejemplo, las técnicas comunes de compresión de vídeo eliminan las características redundantes (que no cambian) de cuadros secuenciales.
En algunas modalidades, la selección del modelo o al menos la selección del modelo inicial se puede realizar en base a los datos de vídeo sin comprimir.
Opcionalmente, dentro de la etapa 2750, en algunas modalidades los cuadros de resolución completa se pueden agrupar en escenas o secciones de cuadros que tienen características comunes, también conocidas como "selección de escena". Los datos de vídeo se dividen o agrupan en escenas para permitir una optimización más específica. Por escena se entiende un grupo o secuencia consecutiva de cuadros que comprenden una sección de vídeo, que en el nivel más grueso puede ser el vídeo completo o en el nivel más granular puede ser un solo cuadro. En algunas modalidades, las escenas se pueden organizar de acuerdo con el orden en el que fueron filmadas o en una secuencia para la decodificación apropiada de cualquier grupo de imágenes (ya que las escenas normalmente comprenderán contenido visual relacionado y el orden apropiado puede permitir que la compresión funcione de manera eficiente, por ejemplo).
En algunas modalidades, independientemente de si el vídeo se ha dividido en cuadros o escenas (es decir, grupos de múltiples cuadros) en la etapa 150 o permanece como una secuencia de cuadros de la etapa 140, cada cuadro se puede submuestrear en cuadros de resolución más baja a una resolución baja adecuada. Opcionalmente, en algunas modalidades esta etapa puede producirse antes de que los cuadros se agrupen en escenas en la etapa 150. En algunas modalidades, el cuadro de resolución más baja es opcionalmente del 33 % al 50 % del tamaño de los datos en relación con el tamaño de los datos del cuadro de resolución original, pero puede tener cualquier resolución que sea menor que la resolución original del vídeo. En otras modalidades, la calidad se puede reducir mediante cuantificación y/o compresión en lugar de reducir la resolución de los datos visuales o además de reducir la resolución de los datos visuales.
En la etapa 2755, se selecciona una escena en algunas modalidades. En esta modalidad usada para la codificación en tiempo real, esta escena puede ser inicialmente el primer cuadro cronológicamente que fue grabado por la cámara 2735, o el primer cuadro que aparece en el archivo de vídeo original 2740. Después de este cuadro, se puede seleccionar a continuación un segundo cuadro a grabar o un segundo cuadro que aparece en el archivo de vídeo original 2740. Después de eso, aparecería un tercer cuadro, y así sucesivamente, hasta que se completara la transmisión.
Un primer modelo basado en ejemplos se toma de una biblioteca de modelos basados en ejemplos y se analiza para su uso en la reconstrucción de datos en la etapa 2760. Un segundo modelo basado en ejemplos puede tomarse y analizarse en paralelo en la etapa 2770, al igual que un tercer modelo basado en ejemplos como se muestra en la etapa 180. No existe un límite superior fijo para la variable n la variable n es el número de modelos basados en ejemplos que se pueden analizar en paralelo, donde n es al menos dos.
En la etapa 2795, se elige el modelo basado en ejemplos más preciso para usarlo para la reconstrucción de datos. El modelo basado en ejemplos más preciso puede definirse como un modelo basado en ejemplos que daría como resultado la más alta calidad de reconstrucción, en donde la calidad se puede definir mediante el uso de cualquiera de: una tasa de error; una relación máxima de señal a ruido; o un índice de similitud estructural en comparación con el archivo de vídeo original 2740.
En la etapa 210, la escena de resolución más baja y el modelo basado en ejemplos para la reconstrucción de esa escena se envían para su transmisión a través de una red. Opcionalmente, se puede transmitir una referencia al modelo en lugar del modelo real. Esto requiere una biblioteca sincronizada o emparejada en los nodos transmisores y receptores del proceso, de manera que la referencia pueda usarse por la biblioteca en el nodo transmisor y el modelo identificado a partir de la referencia al mismo modelo en la biblioteca en el nodo receptor como en la biblioteca en el nodo transmisor.
Opcionalmente, el vídeo y el modelo (o la referencia del modelo) se pueden almacenar juntos dentro de un formato de contenedor de datos adecuado, tal como un contenedor multimedia Matroska (también conocido como contenedor MKV). Alternativamente, el vídeo y el modelo pueden combinarse con otras secciones, o el vídeo completo y colocarse en un formato de contenedor de datos adecuado. En la etapa 210, los cuadros de vídeo de baja resolución se pueden volver a codificar mediante el uso del códec de vídeo original aplicado a los datos de vídeo originales 2740 o, alternativamente, se puede aplicar un códec de vídeo más óptimo a los datos de vídeo para producir un archivo de salida más pequeño. Opcionalmente, si se realizó la detección de escena o la marca de tiempo, la salida de datos para la transmisión puede incluir una lista de escenas o datos de marca de tiempo respectivamente, o estos datos podrían almacenarse dentro del contenedor de datos.
Puede haber una serie de variaciones en el marco de codificación descrito anteriormente. Para la técnica descrita anteriormente, se puede suponer que habría un mapeo uno a uno entre la escena y el modelo basado en ejemplos, sin embargo, esto no tiene por qué ser cierto ya que cada escena podría ir acompañada de más de un modelo basado en ejemplos.
Con referencia ahora a la Figura 5, se describirá ahora en detalle una modalidad para reconstruir el vídeo codificado mediante el uso de la técnica.
Primero, los datos 210 transmitidos se reciben desde la red. Los datos recibidos 210 dependen de cómo se prepararon los datos para la transmisión en la etapa 2750 como se detalla anteriormente e incluirán los datos de vídeo y uno o más modelos de reconstrucción para esos datos de vídeo. Es posible que los datos de vídeo y uno o más modelos de reconstrucción no se transmitan y/o reciban simultáneamente, por lo que es posible que se requiera almacenamiento temporal para esperar a que todos los componentes necesarios se decodifiquen o reconstruir el vídeo de resolución más alta a partir de los datos transmitidos a través de la red.
En la etapa 220, los datos transmitidos se preparan para la reconstrucción. Esta etapa comprende separar el vídeo de baja resolución de uno o más modelos basados en ejemplos. Opcionalmente, el vídeo de baja resolución se descomprime mediante el uso del códec de vídeo usado para la transmisión en cuadros de imagen de resolución completa y cada uno de los cuadros se empareja con el modelo de reconstrucción correspondiente, que también se desempaqueta en orden cuadro por cuadro.
En la etapa 250, el modelo de reconstrucción se aplica a cada una de las escenas para generar escenas de resolución más alta. El proceso de reconstrucción, o decodificación, implica aplicar el modelo de red neuronal convolucional de superresolución optimizado, o modelo de reconstrucción, para cada escena con el fin de restaurar el vídeo de baja resolución a su resolución original que tiene sustancialmente la misma calidad que el vídeo original de alta resolución. Dados los modelos correspondientes para cada escena de resolución más baja, las escenas originales de resolución más alta se pueden reconstruir con alta precisión, donde la precisión se define como anteriormente.
Esta modalidad de la invención no requiere optimización y comprende aplicar un modelo basado en ejemplos previamente aprendido para reconstruir una escena, y no incluye necesariamente ninguna adaptación o modificación de los modelos basados en ejemplos existentes en la biblioteca. El uno o más modelos basados en ejemplos asociados con cada escena se pueden indexar en un flujo de datos, sincronizar con el flujo de vídeo y audio, o indexar en una tabla de búsqueda de cuadro a modelo que se puede enviar antes del flujo de vídeo.
La reconstrucción de la imagen tiene una complejidad computacional lineal que depende del número total de píxeles de cada cuadro, ya que requiere que se aplique una serie de funciones de convolución (normalmente menos de 3) para cada parche de imagen relevante centrado alrededor de cada píxel. La etapa de reconstrucción básica para cada imagen se puede usar con o sin modificación en algunas modalidades del enfoque descrito en el documento "Learning a Deep Convolutional Network for Image Super-Resolution" por Chao Dong, Chen Change Loy, Kaiming He y Xiaoou Tang publicado en D. Fleet y otros. (Eds.): ECCV 2014, Parte IV, LNCS 8692, págs. 184-199, 2014, sin embargo, estas funciones se pueden aplicar en paralelo a través de múltiples imágenes y es factible realizar una reconstrucción en tiempo real para la reproducción de vídeo.
Dentro de la etapa 250, cada uno de los segmentos de vídeo sale del proceso de reconstrucción como cuadros de resolución más alta y sustancialmente con la misma resolución que el vídeo original 2440.
Además, en la etapa 250, los segmentos de vídeo se combinan de manera que se pueda visualizar el vídeo. Opcionalmente, el vídeo se puede volver a codificar con el códec original usado en el vídeo original 2740 o un códec predeterminado más óptimo, para permitir la reproducción en un decodificador o dispositivo de visualización.
En una modalidad adicional, al menos una parte del proceso descrito en la Figura 27 puede tener lugar dentro de un sistema de "informática en la nube". En esta modalidad, el archivo de vídeo original 2740 se transmite a un sistema informático externo, preferentemente un sistema informático escalable, donde se prepara la primera escena 2750. Como antes, se puede analizar una pluralidad de modelos basados en ejemplos 2760, 2770, 2780, 2790 para su uso en la reconstrucción de los datos, antes de que se elija un modelo 2795 más preciso y se prepare un paquete transmitido 210. A continuación, el paquete transmitido 210 se envía desde el servidor en la nube a un servidor local, donde puede tener lugar el proceso de reconstrucción 220, 230, 240, 250. Mientras se procesa la primera escena de esta manera, se puede procesar una segunda sección de vídeo en paralelo en el sistema informático externo. El límite del número de secciones de vídeo procesados en paralelo depende de la complejidad computacional de las secciones de vídeo y la potencia de procesamiento de los servidores en la nube. El servicio en la nube se puede usar como un servidor de retransmisión en tiempo real, que recibe vídeos de resolución más baja, cuyas resoluciones luego se incrementarán antes de ser retransmitidas. Esta disposición puede transmitir datos desde localizaciones con ancho de banda restringido a localizaciones donde no existe tal restricción en el ancho de banda. En una modalidad adicional, una o más secciones de vídeo se transmiten mediante el proceso descrito anteriormente, antes de una grabación en vivo. Por lo tanto, los modelos basados en ejemplos que probablemente sean útiles se pueden identificar antes de que se requieran, y la biblioteca de modelos de la que se seleccionan se puede reducir a aquellos que tienen más probabilidades de usarse. Por lo tanto, el procedimiento de selección 2795 se puede hacer más rápido o con un cálculo reducido, ya que hay menos modelos a elegir, por lo tanto, el retraso entre el registro de un evento y la reconstrucción de resolución más alta que se muestra se puede reducir en comparación con la comparación del rendimiento de todos los modelos en la biblioteca de modelos.
Bibliotecas de modelos
Con referencia ahora a la Figura 25, se describirá ahora en detalle una modalidad que usa otra técnica para codificar los datos visuales. Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción.
Los datos de vídeo originales 2510 se proporcionan en el método o sistema que usa la técnica y es un vídeo de alta resolución, por ejemplo, que tiene una resolución de 1920 píxeles por 1080 píxeles (también conocido como vídeo "1080p") o 3840 píxeles por 2160 píxeles (también conocido como vídeo "4k"). Estos datos de vídeo se pueden codificar en una variedad de códecs de vídeo conocidos, tales como H.264, VP8 o VP9, pero pueden ser cualquier dato de vídeo para el cual el sistema o método es capaz de decodificar en los cuadros componentes del vídeo. Los datos de vídeo originales 2510 se dividen luego en cuadros individuales de resolución completa en la etapa 2520, es decir, en una secuencia de imágenes a la resolución completa de los datos de vídeo originales 2510. Para algunos códecs de vídeo, esto implicará "descomprimir" o restaurar los datos de vídeo ya que, por ejemplo, las técnicas comunes de compresión de vídeo eliminan las características redundantes (que no cambian) de los cuadros secuenciales.
Opcionalmente, en la etapa 2520, los cuadros de resolución completa se pueden agrupar en escenas o secciones de cuadros que tienen características comunes, también conocidas como "selección de escena". Los datos de vídeo se dividen o agrupan en escenas para permitir un entrenamiento y optimización más específicos. Por escena, se entiende un grupo o secuencia consecutiva de cuadros, que en el nivel más grueso puede ser el vídeo completo o en el nivel más granular puede ser un solo cuadro.
Independientemente de si el vídeo se ha dividido en cuadros o escenas (es decir, grupos de varios cuadros) o permanece como una secuencia de cuadros, cada cuadro se submuestrea en cuadros de resolución más baja a una resolución adecuadamente más baja para la transmisión a través de una red, por ejemplo internet. Opcionalmente, esta etapa puede producirse antes de que los cuadros se agrupen en escenas en la etapa 2520. El cuadro de resolución más baja es opcionalmente del 25 % al 50 % o del 10 % al 50 % del tamaño de los datos en relación con el tamaño de los datos del cuadro de resolución original, pero la resolución más baja puede ser cualquier resolución que sea menor que la resolución original del vídeo. Esto dará como resultado que el vídeo de resolución más baja sea más pequeño en tamaño que el vídeo de resolución original.
Se realiza una etapa de análisis 2530 en los cuadros del vídeo submuestreado para encontrar un modelo de reconstrucción de una biblioteca que pueda usarse para aumentar la resolución de la escena y mejorar la calidad del vídeo. Se selecciona un modelo en función de una o más métricas de la escena seleccionada que se pueden comparar con las métricas asociadas con los modelos de reconstrucción almacenados en la biblioteca, y se realiza un procedimiento de mejora de la imagen en la escena con muestreo reducido. La calidad de la escena mejorada se compara con la original mediante el uso de métricas objetivas como la tasa de error, PSNR y SSIM y/o medidas subjetivas. A continuación, se selecciona un modelo apropiado en la etapa 240 en base a estas comparaciones de calidad. La biblioteca de la que se seleccionan los modelos comprende un conjunto de modelos preentrenados que se han generado a partir de vídeos de ejemplo o de entrenamiento y que están asociados con métricas para permitir la comparación del vídeo a partir del cual se generaron los modelos con la escena seleccionada que se está mejorado. La biblioteca de la que se selecciona el modelo puede almacenarse en uno o más nodos específicos de la red, o puede distribuirse en dos o más nodos.
Al emplear un enfoque de aprendizaje profundo al crear los modelos, se puede seleccionar un modelo jerárquico no lineal para reconstruir un cuadro de resolución más alta a partir del cuadro de resolución más baja.
Los modelos no lineales son más precisos en la reconstrucción de cuadros de resolución más alta que los enfoques basados en diccionarios. Los modelos no lineales seleccionados son pequeñas redes neuronales convolucionales en lugar de diccionarios demasiado completos. En contraste con el enfoque de promediado de parches locales que tiende a usarse en la reconstrucción mediante enfoques de aprendizaje de diccionario, el uso de un modelo de red neuronal convolucional también permite seleccionar un filtro más apropiado para la reconstrucción final donde se consideran parches vecinos, lo que puede evitar el suavizado no deseado de la imagen reconstruida de resolución más alta.
En la etapa 2550, la porción del vídeo de baja resolución y una referencia de biblioteca para el modelo de reconstrucción para esa porción del vídeo se envían para su transmisión. Opcionalmente, el vídeo y la referencia de la biblioteca se pueden almacenar juntos dentro de un formato de contenedor de datos adecuado, tal como un contenedor multimedia Matroska (también conocido como contenedor MKV). Alternativamente, el vídeo y la referencia de la biblioteca se pueden combinar con otras secciones o con el vídeo completo y colocarlo en un formato de contenedor de datos adecuado. En la etapa 2550, los cuadros de vídeo de baja resolución se pueden volver a codificar mediante el uso del códec de vídeo original aplicado a los datos de vídeo originales 2510 o, alternativamente, se puede aplicar un códec de vídeo más óptimo a los datos de vídeo para producir datos de vídeo de salida. Opcionalmente, si se realizó la detección de escena o la marca de tiempo, la salida de datos para la transmisión puede incluir una lista de escenas o datos de marca de tiempo respectivamente, o estos datos podrían almacenarse dentro del contenedor de datos. Opcionalmente, también se puede incluir una lista (o flujo de datos) de referencias de modelos que se sincroniza con los cuadros de vídeo de baja resolución de salida. Alternativamente, el paquete de transmisión puede incluir una lista de referencias al contenido/modelos/parámetros de la biblioteca para cada cuadro, que se puede ordenar por reproducción de cuadros o por orden de decodificación, y esto se puede sincronizar con los cuadros de vídeo. Una alternativa adicional es que el paquete de transmisión puede incluir una lista de transiciones de escenas (a intervalos de cuadro definidos) y luego una lista de referencias al contenido/modelos/parámetros de la biblioteca para un número coincidente de escenas o transiciones.
Con referencia ahora a la Figura 26, se describirá ahora en detalle una modalidad para reconstruir el vídeo codificado mediante el uso de la técnica.
Primero, los datos 2610 se reciben de la red. Los datos recibidos 2610 dependen de cómo se prepararon los datos para la transmisión en la etapa 2550 como se detalla anteriormente e incluirán los datos de vídeo y una o más referencias de biblioteca a modelos de reconstrucción para esos datos de vídeo. Es posible que los datos de vídeo y una o más referencias de biblioteca no se transmitan y/o reciban simultáneamente, por lo que puede ser necesario el almacenamiento temporal para esperar todos los componentes necesarios para decodificar o reconstruir el vídeo de resolución más alta a partir de los datos transmitidos a través de la red.
En las etapas 2620 y 2630, los datos recibidos se preparan para la reconstrucción. Estas etapas generalmente implican separar el vídeo de baja resolución de las referencias de la biblioteca a los modelos de reconstrucción. Opcionalmente, el vídeo de baja resolución se descomprime mediante el uso del códec de vídeo usado para la transmisión en cuadros de imagen de resolución completa y cada uno de los cuadros se compara con la referencia de biblioteca correspondiente a un modelo de reconstrucción, que también se desempaqueta en orden de cuadro por cuadro.
En la etapa 2630, el modelo de reconstrucción correspondiente a la referencia de la biblioteca se obtiene a partir de una biblioteca almacenada de modelos de reconstrucción y en la etapa 2640 se aplica a cada uno de los cuadros para generar cuadros de resolución más alta. El proceso de reconstrucción, o decodificación, implica aplicar el modelo de reconstrucción para cada escena con el fin de restaurar el vídeo de resolución más baja a su resolución original que tiene sustancialmente la misma calidad que el vídeo original de alta resolución. Dados los modelos correspondientes para cada cuadro de resolución más baja, los cuadros originales de resolución más alta se pueden reconstruir con alta precisión.
La complejidad del proceso de reconstrucción es mucho más simple en comparación con el entrenamiento del modelo. El proceso, conocido como proceso de avance o paso para redes neuronales, es muy similar a una sola iteración del proceso de entrenamiento, sin embargo, no se requiere optimización y simplemente se aplica el modelo de red neuronal convolucional seleccionado para reconstruir la imagen en un orden parche por parche. En comparación, el entrenamiento de redes neuronales también puede incorporar un proceso de retropropagación o pase, en dependencia de la modalidad. Se aplica un modelo singular a cada escena y la referencia de la biblioteca se puede enviar como datos adjuntos en el contenedor de vídeo antes de la escena en la que se usa. La referencia de la biblioteca asociada con cada escena puede indexarse en un flujo de datos, sincronizarse con el flujo de vídeo y audio, o indexarse en una tabla de búsqueda de cuadro a modelo que se puede enviar antes del flujo de vídeo. En la etapa 2650, cada uno de los segmentos de vídeo sale del proceso de reconstrucción como cuadros de resolución más alta con la misma resolución que el vídeo original 210. La calidad del vídeo de salida es sustancialmente similar a la del vídeo original 210, dentro de los límites de error aplicados opcionalmente por el proceso de aprendizaje automático que selecciona el modelo de reconstrucción en la etapa 2650 del proceso de codificación.
En la etapa 2650, los segmentos de vídeo se combinan de manera que se pueda visualizar el vídeo. Opcionalmente, en la etapa 2650, el vídeo se puede volver a codificar con el códec original usado en el vídeo original 2510 o un códec óptimo más predeterminado, para permitir la reproducción en un decodificador o dispositivo de visualización. Ampliación y mejora de datos visuales
Los enfoques de superresolución usualmente se dividen en enfoques basados en el aprendizaje o en ejemplos y enfoques basados en interpolación (múltiples cuadros). Algunas modalidades se refieren únicamente a enfoques de superresolución basados en el aprendizaje o en ejemplos. Específicamente, estas modalidades pueden funcionar con la mayoría o con todas las técnicas basadas en el aprendizaje o en ejemplos en las que puede haber un conjunto de diferentes resultados de ampliación en función de los parámetros seleccionados para las técnicas. En algunas modalidades, las técnicas de superresolución pueden generar representaciones que se pueden usar para mejorar las imágenes de resolución más alta creadas a partir de imágenes de resolución más baja. Para mejorar la eficacia de estas representaciones en algunas modalidades, los enfoques basados en el aprendizaje o en ejemplos incorporan el aprendizaje automático. Cuando se usan representaciones de diccionario para imágenes, esta combinación se denomina generalmente aprendizaje de diccionario. En el aprendizaje de diccionarios, donde no hay suficientes representaciones disponibles en una biblioteca de representaciones existente (o no hay una biblioteca disponible), se emplean técnicas de aprendizaje automático para adaptar los átomos del diccionario de manera que puedan adaptarse a las características de la imagen y obtener representaciones más precisas.
Se observa que los átomos no se seleccionan localmente dentro del diccionario, sino que se eligen como la combinación lineal que mejor se aproxima al parche de señal para un número máximo de átomos permitido e independientemente de su localización dentro del diccionario. Sin la restricción de que los átomos deben ser ortogonales entre sí, se pueden crear diccionarios más grandes que el espacio de señal que el diccionario pretende representar.
Las modalidades pueden usar modelos de reconstrucción de aprendizaje de diccionario o modelos de reconstrucción de redes neuronales convolucionales para ampliar, o una mezcla de estas dos técnicas. En algunas modalidades, se almacena una biblioteca de modelos de reconstrucción que se puede generar a partir de datos de vídeo de ejemplo o de entrenamiento donde se pueden comparar tanto el vídeo original como el de resolución reducida. Junto con los modelos de reconstrucción, en algunas modalidades es necesario almacenar datos relacionados con el vídeo de ejemplo o de entrenamiento para cada modelo de reconstrucción en la biblioteca para permitir que cada modelo se corresponda con una escena que se está ampliando. En estas modalidades, los datos almacenados relacionados con el vídeo de ejemplo o de entrenamiento pueden ser metadatos o métricas relacionadas con los datos del vídeo, o pueden ser muestras o características del vídeo de ejemplo o de entrenamiento.
Con referencia ahora a la Figura 15, se describirán ahora en detalle modalidades que usan una técnica 1500 para aumentar la resolución de datos visuales. Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción.
En estas modalidades, los datos de vídeo recibidos 1540 se proporcionan en un sistema de decodificador y es un vídeo de resolución más baja codificado en un formato de vídeo estándar. Este formato de vídeo puede ser una variedad de códecs de vídeo conocidos, dependiendo de la modalidad, y en las modalidades pueden ser códecs tales como H.264 o VP8 o pueden ser cualquier dato visual que el sistema pueda decodificar en secciones de componentes.
En las modalidades, el sistema luego separa los datos de vídeo 1510 en cuadros individuales en la etapa 1520, es decir, en una secuencia de imágenes a la resolución completa de los datos de vídeo recibidos 310. Para algunos códecs de vídeo, dependiendo de la modalidad, esto implicará "descomprimir" o restaurar los datos de vídeo ya que, por ejemplo, las técnicas de compresión de vídeo comunes eliminan las características redundantes (que no cambian) de cuadros secuenciales.
Opcionalmente, como se muestra en la Figura 16, en algunas modalidades los cuadros extraídos en la etapa 1520 del vídeo 1510 pueden agruparse en escenas o secciones de cuadros que tienen características comunes, también conocidas como "selección de escena" en la etapa 1610. En estas modalidades, la etapa 1610 implica identificar escenas secuenciales una vez que se detectan. En algunas de estas modalidades, las escenas detectadas pueden permitir que se seleccione un modelo o modelos de reconstrucción más precisos de la biblioteca de modelos de reconstrucción según sea apropiado de la escena o cuadros dentro de la escena en la etapa 1620, que es una versión modificada de la etapa 1530 en proceso 1500 donde se selecciona el modelo más apropiado cuadro por cuadro. Por escena se entiende un grupo o secuencia consecutiva de cuadros, dependiendo de la modalidad, que en el nivel más grueso puede ser todo el vídeo o en el nivel más granular puede ser una única sección de un cuadro. Alternativamente, y para que se reduzca cualquier retraso entre la llegada del vídeo de resolución más baja 1510 y la generación de un vídeo de salida de resolución más alta 370, en algunas modalidades, la selección de escena básica en la etapa 1610 se puede lograr agrupando cuadros en escenas cronológicamente, por ejemplo, aplicando marcas de tiempo y recopilando juntos un rango predeterminado de marcas de tiempo. Inicialmente, en estas modalidades, el primer cuadro o sección del cuadro puede analizarse y crearse una métrica para permitir la referencia a la biblioteca de modelos de reconstrucción en la etapa 1620. En tales modalidades, si un cuadro o sección posterior de un cuadro posterior es suficientemente similar de acuerdo con una métrica de comparación, entonces el cuadro o cuadros posteriores se pueden incluir como parte de un grupo de cuadros con la primera cuadro. En estas modalidades, este proceso puede continuar hasta que un cuadro posterior no sea lo suficientemente similar al cuadro o cuadros anteriores, momento en el que el cuadro o grupo de cuadros se clasifican en una escena en la etapa 410. En esta modalidad, el proceso comienza a encontrar la siguiente escena, comenzando por la escena insuficientemente similar. En tales modalidades, cada escena se procesa en el orden en el que se descodificó a partir del vídeo recibido 1510.
Volviendo al método 1500 mostrado en la Figura 15, en algunas modalidades se realiza una etapa de análisis 1530 en los cuadros del vídeo recibido para encontrar un modelo de reconstrucción de una biblioteca en la etapa 1540 que se puede usar para aumentar la resolución de la escena y mejorar la calidad del vídeo en la etapa 1550, en base a una métrica de la escena seleccionada que se puede comparar con las métricas asociadas con los modelos de reconstrucción almacenados en la biblioteca. Se selecciona un modelo en la etapa 1540, y se realiza un procedimiento de mejora de imagen en la etapa 1550 mediante el uso de tanto el modelo seleccionado en la etapa 1540 como el cuadro seleccionado generado en la etapa 1520 a partir del vídeo recibido 1510. La biblioteca de la que se selecciona el modelo en la etapa 1540 comprende un conjunto de modelos preentrenados que se han generado a partir de vídeos de ejemplo o de entrenamiento y que están asociados con métricas para permitir la comparación del vídeo a partir del cual se generaron los modelos con un cuadro seleccionado que se mejora en la etapa 1550.
Hay una serie de métodos para enfoques de extracción de características que se pueden usar para crear métricas para cada cuadro y, por lo tanto, que se pueden almacenar en la biblioteca en asociación con los modelos de reconstrucción preentrenados. En muchas aplicaciones de visión por ordenador, un enfoque común es usar un enfoque visual de bolsa de palabras. Otros métodos populares incluyen la extracción de histogramas y la transformación de características invariantes de escala (SIFT) o características GIST. Después de la extracción de características en la etapa 1530, cada escena de un vídeo de destino puede coincidir con la escena "más similar" de una biblioteca de varias formas en la etapa 1540. El enfoque más simple es usar una métrica de distancia o similitud predefinida, tal como la distancia de Manhattan, la distancia euclidiana o la similitud estructural (SSIM) o, además, una métrica de distancia aprendida. Se puede usar una estructura de datos de k vecino más cercano (kNN), tal como un árbol de bolas o una tabla hash sensible a la localidad, para facilitar una búsqueda directa del vecino más cercano. Alternativamente, se puede pensar que cada escena única está "etiquetada", luego se puede usar una variedad de enfoques de coincidencia y reconocimiento de escenas de aprendizaje automático para clasificar nuevas escenas en las escenas "etiquetadas" de la biblioteca, tal como las técnicas de entrenamiento contradictorio, donde tales técnicas implican entrenar otra red neuronal para indicar si la escena está etiquetada correctamente. En la etapa 1560, la escena reconstruida para esa sección de vídeo se prepara opcionalmente para la salida 1510. Opcionalmente, en la etapa 1560, el vídeo de salida 1570 se puede volver a codificar con el códec original usado en el vídeo original 1510 o un códec óptimo más predeterminado, para permitir la reproducción en un decodificador o dispositivo de visualización.
Debe apreciarse que el término "cuadro", particularmente en referencia a agrupar múltiples cuadros en escenas, puede referirse tanto a un cuadro completo de un vídeo como a un área que comprende una sección más pequeña de un cuadro.
El vídeo 1510 en el proceso 1500 o 1600 puede originarse en un medio físico como un DVD u otro medio de almacenamiento de datos físico, pero también puede originarse en un servicio de red de transmisión local o remota. Con referencia ahora a la Figura 17, se muestra un proceso 1700 modificado (basado en el proceso 1600 pero que podría ser igualmente una versión modificada del proceso 1500).
Aquí, el proceso 1600 en algunas modalidades se modifica con etapas adicionales. Específicamente, la etapa 1710 comienza con un archivo de vídeo de alta resolución, por ejemplo con resolución HD. Luego, en la etapa 1720, el vídeo se reduce a, por ejemplo, resolución SD para permitir la transmisión a través de una red con ancho de banda restringido. Opcionalmente, en otras modalidades, la cuantificación se puede usar para reducir la tasa de bits de datos visuales como el vídeo. En la etapa 1730, el vídeo cuantificado o de resolución más baja (dependiendo de la modalidad) se transmite a través de una red que se convierte en los datos de vídeo de entrada 1510 del proceso 1500 o 1600 descrito anteriormente en relación con las Figuras 15 o 16 respectivamente.
Además, el vídeo de salida 1570 en el proceso 1500 o 1600 puede enviarse directamente a una pantalla o puede almacenarse para su visualización en una pantalla en un dispositivo de almacenamiento local o remoto, o reenviarse a un nodo remoto para su almacenamiento o visualización según sea necesario.
En las modalidades alternativas, el vídeo de entrada en cuestión puede ser un medio de reproducción, tal como un vídeo grabado o un vídeo transmitido en vivo, o puede ser un vídeo de videoconferencia o cualquier otra fuente de vídeo, tal como un vídeo grabado o que se esté grabando en un dispositivo portátil como un teléfono móvil o un dispositivo de grabación de vídeo, tal como una cámara de vídeo o una cámara de vigilancia.
También debe apreciarse que las combinaciones particulares de las diversas características descritas y definidas en cualquier aspecto de la invención pueden implementarse y/o suministrarse y/o usarse de manera independiente. Descripción específica - Optimización del aprendizaje automático
Se describirán ahora modalidades relacionadas con un enfoque de aprendizaje de diccionario con modelos basados en diccionario y modalidades relacionadas con un enfoque de aprendizaje profundo que usa modelos de redes neuronales convolucionales. Otras técnicas adecuadas de aprendizaje automático también podrán beneficiarse del uso de una biblioteca de modelos preentrenados. Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción. Con referencia ahora a la Figura 9, se describirá ahora en detalle una modalidad de un proceso de aprendizaje automático.
Los datos 910 se proporcionan al método o sistema 900 y, por ejemplo, pueden tener la forma de un archivo de datos de vídeo o datos de imagen. También se pueden usar otros formatos de datos. Las métricas específicas se extraen de, o se generan en base a, los datos en la etapa 920. Las métricas se pueden basar en medir cuál de los modelos preentrenados genera datos de salida de la más alta calidad. La calidad se puede definir mediante el uso de cualquiera o una combinación de: una tasa de error; una relación máxima de señal a ruido; o un índice de similitud estructural. Estas métricas se usan luego para seleccionar un modelo preentrenado de una biblioteca 942 en la etapa 930. El modelo preentrenado seleccionado se desarrolla luego en la etapa 940 para poder realizar con mayor precisión la función de salida deseada en los datos de entrada 910. El modelo de salida 950 se puede usar en los datos de entrada 910 inmediatamente o en el futuro.
Para generar los modelos iniciales preentrenados, se puede usar el mismo proceso 900 pero en lugar de ingresar datos en vivo 910, se usan datos de entrenamiento o de ejemplo.
A continuación, el modelo desarrollado se guarda en la biblioteca 942 en la etapa 941, para usarse si es necesario en el futuro. Por lo tanto, no es necesario volver a desarrollar un modelo si se ingresan datos similares en el futuro. Por lo tanto, la biblioteca 942 crece a medida que se usa el sistema.
Si se emplea un enfoque de aprendizaje profundo para generar el modelo en la etapa 940, se puede crear un modelo jerárquico no lineal 950.
El proceso de entrenamiento y optimización 900 se puede configurar de acuerdo con una compensación deseada entre el tiempo de cálculo empleado y la calidad deseada de los resultados. En general, el número de iteraciones usadas durante el proceso de entrenamiento 940 produce ganancias aproximadamente logarítmicas en la precisión de la reconstrucción, por lo que se prefiere usar un umbral automático para detener la optimización adicional. Cuando se favorece la calidad de los resultados, el umbral automático se puede establecer en un valor predeterminado de error de reconstrucción, por ejemplo, calculando el error cuadrático medio, pero también se pueden usar otros métodos. Alternativamente, el umbral automático se puede establecer para limitar el proceso de entrenamiento y optimización a un número predeterminado de iteraciones. Como alternativa adicional, se puede usar una combinación de estos dos factores.
Este proceso 900 se puede usar en los campos de mejora de imagen y vídeo. Si los datos de entrada 910 tienen la forma de una sección (cuadro o cuadros) de vídeo, la selección de un modelo inicial de la biblioteca 930 puede basarse en métricas asociadas con el estilo de vídeo que se está procesando, por ejemplo, un escena de acción de movimiento rápido o una escena de fondo estacionaria. A continuación, el modelo 950 se puede desarrollar en la etapa 940 para representar más fielmente la sección de vídeo para la que se va a usar.
El proceso de entrenamiento y optimización 900 también se puede considerar en el caso de registro y alineación de imágenes. Se puede proporcionar una inicialización que esté más cerca de la alineación de imagen más óptima con respecto a una métrica, por ejemplo, una función de costo de métrica de distancia.
Descripción específica - Bibliotecas mejoradas
Con referencia ahora a la Figura 10, se describirá ahora en detalle una modalidad que usa la técnica para codificar los datos visuales. Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción.
Los datos de vídeo originales 1010 se proporcionan en el método o sistema que usa la técnica y es un vídeo de alta resolución, por ejemplo, que tiene una resolución de 1920 píxeles por 1080 píxeles (también conocido como vídeo "1080p") o 3840 píxeles por 2160 píxeles (también conocido como vídeo "4k"). Estos datos de vídeo se pueden codificar en una variedad de códecs de vídeo conocidos, tales como H.264 o VP9, pero pueden ser cualquier dato de vídeo para el cual el sistema o método es capaz de decodificar en los cuadros componentes del vídeo.
Los datos de vídeo originales 1010 se dividen luego en cuadros individuales de resolución completa en la etapa 1020, es decir, en una secuencia de imágenes a la resolución completa de los datos de vídeo originales 210. Para algunos códecs de vídeo, esto implicará "descomprimir" o restaurar los datos de vídeo ya que, por ejemplo, las técnicas comunes de compresión de vídeo eliminan las características redundantes (que no cambian) de los cuadros secuenciales.
Opcionalmente, en la etapa 1020, los cuadros de resolución completa se pueden agrupar en escenas o secciones de cuadros que tienen características comunes, también conocidas como "selección de escena". Los datos de vídeo se dividen o agrupan en escenas para permitir un entrenamiento y optimización más específicos. Por escena, se entiende un grupo o secuencia consecutiva de cuadros, que en el nivel más grueso puede ser el vídeo completo o en el nivel más granular puede ser un solo cuadro.
Independientemente de si el vídeo se ha dividido en cuadros o escenas (es decir, grupos de cuadros múltiples) en la etapa 1020 o si permanece como una secuencia de cuadros, cada cuadro se submuestrea en cuadros de resolución más baja a una resolución adecuadamente menor, o se reproduce como conjunto de representaciones del cuadro, tal como una matriz de vectores con información generalizada para porciones del cuadro o grupos de uno o más píxeles. Opcionalmente, esta etapa puede producirse antes de que los cuadros se agrupen en escenas. El cuadro de resolución más baja es preferentemente del 33 % al 50 % del tamaño de los datos en relación con el tamaño de los datos del cuadro de resolución original, mientras que las representaciones del cuadro pueden tener entre el 1 % y el 50 % del tamaño de los datos del cuadro de resolución original. El cuadro de resolución más baja puede tener cualquier resolución que sea menor que la resolución original del vídeo.
En la etapa 1030, se realiza un análisis en los cuadros del vídeo submuestreado, o en las representaciones, o solo en los modelos para encontrar un modelo de reconstrucción de una biblioteca de modelos que se pueda usar para recrear una aproximación cercana del vídeo de alta resolución puramente de un modelo, o recrear una aproximación cercana del vídeo de alta resolución a partir de un conjunto de representaciones del vídeo de alta resolución, o aumentar la resolución del vídeo submuestreado y mejorar la calidad del vídeo. Se selecciona un modelo inicial en función de una métrica de la escena seleccionada que se puede comparar con las métricas asociadas con los modelos de reconstrucción almacenados en la biblioteca. La selección del modelo inicial puede basarse solo en estas métricas o, alternativamente, se pueden aplicar múltiples modelos iniciales de manera independiente al vídeo submuestreado para producir un cuadro mejorado de resolución más baja o recrear un cuadro, la calidad del cuadro mejorado o recreado se compara con la escena original para seleccionar el modelo inicial más apropiado del grupo. La calidad de la escena recreada o mejorada se compara con la original mediante el uso de métricas objetivas como la tasa de error, PSNR y SSIM y/o medidas subjetivas. A continuación, se selecciona un modelo apropiado en la etapa 1040 en base a estas comparaciones de calidad, así como si se usa únicamente un modelo, o un conjunto de representaciones del cuadro, o el cuadro de resolución más baja. La biblioteca de la que se seleccionan los modelos comprende un conjunto de modelos preentrenados que se han generado a partir de vídeos de ejemplo o de entrenamiento y que están asociados con métricas para permitir la comparación del vídeo a partir del cual se generaron los modelos con la escena seleccionada que se está mejorado.
En la etapa 1060, se emplean técnicas de superresolución para crear un modelo específico mediante el uso del modelo seleccionado en la etapa 1040 como modelo inicial y mediante el uso del aprendizaje automático para cada cuadro, de manera que el modelo pueda usarse para recrear sustancialmente la versión de resolución original de un cuadro de resolución más baja, o un conjunto de representaciones, o sin el uso del cuadro o las representaciones originales o de resolución más baja, y entrenado mediante el uso del aprendizaje automático basado en el conocimiento del cuadro de resolución original. Esta etapa se denomina proceso de entrenamiento y optimización. En la etapa 1070, el modelo de reconstrucción optimizado se guarda en la biblioteca para uso futuro como modelo inicial en la etapa 1030.
Alternativamente, el modelo modificado se puede desarrollar desde cero, sin usar un modelo conocido como punto de partida. A continuación, se puede comparar un modelo conocido con el modelo generado para producir una lista de modificaciones necesarias para producir el modelo modificado a partir del modelo conocido.
En la etapa 1050, la porción del vídeo de baja resolución, o las representaciones y/o el modelo de reconstrucción para ese cuadro o porción de vídeo se envían para su transmisión. En lugar de transmitir el modelo de reconstrucción completo, se puede generar una referencia de biblioteca al modelo inicial seleccionado en la etapa 1040, junto con las modificaciones necesarias para producir el modelo de reconstrucción a partir de él. Alternativamente, en lugar del vídeo de resolución más baja, la transmisión de una representación de la imagen puede reducir aún más los datos transmitidos. Como alternativa adicional, solo transmitir un modelo reduce aún más los datos transmitidos. Opcionalmente, el vídeo o las representaciones y el modelo se pueden almacenar juntos dentro de un formato de contenedor de datos adecuado, tal como un contenedor multimedia Matroska (también conocido como contenedor MKV). Alternativamente, el vídeo o las representaciones y el modelo pueden combinarse con otras secciones o el vídeo completo y colocarse en un formato de contenedor de datos adecuado. En la etapa 250, los cuadros de vídeo de baja resolución se pueden volver a codificar mediante el uso del códec de vídeo original aplicado a los datos de vídeo originales 1010 o, alternativamente, se puede aplicar un códec de vídeo más óptimo a los datos de vídeo para producir datos de vídeo de salida 1050. Opcionalmente, si se realizó la detección de escena o la marca de tiempo, la salida de datos para la transmisión puede incluir una lista de escenas o datos de marca de tiempo respectivamente, o estos datos podrían almacenarse dentro del contenedor de datos. Alternativamente, se puede usar una lista de referencias cuadro a cuadro (que están ordenadas por reproducción de cuadros o por orden de decodificación) que se sincroniza con los cuadros de vídeo. Otra alternativa es incluir una lista de transiciones de escenas (según lo definido por los números de cuadros) junto con una lista ordenada de referencias que coincidan con el número de escenas. El experto en la técnica apreciará que son posibles otros ejemplos.
Con referencia ahora a la Figura 11, se describirá ahora en detalle una modalidad para reconstruir el vídeo codificado mediante el uso de la técnica.
Primero, los datos 1100 se reciben de la red. Los datos recibidos 1100 dependen de cómo se prepararon los datos para la transmisión en la etapa 1050 como se detalla anteriormente e incluirán los datos de vídeo o representaciones de los datos de vídeo y/o referencias a uno o más modelos de reconstrucción inicial para recrear datos de vídeo de alta resolución, junto con cualquier modificación a los modelos referenciados necesaria para reproducir los modelos de reconstrucción finales. Es posible que los datos o representaciones de vídeo, las referencias a uno o más modelos de reconstrucción inicial y las modificaciones a esos modelos no se transmitan y/o reciban simultáneamente, por lo que es posible que se requiera almacenamiento temporal para esperar a todos los componentes necesarios para decodificar o reconstruir el vídeo de resolución más alta a partir de los datos transmitidos a través de la red.
En las etapas 1120 y 1130, los datos recibidos se preparan para la reconstrucción. Esta etapa generalmente implica separar el vídeo o las representaciones de baja resolución si se transmiten de las referencias a modelos de reconstrucción conocidos y las modificaciones a esos modelos requeridos para reproducir el modelo de reconstrucción optimizado. Opcionalmente, el vídeo de baja resolución se descomprime en la etapa 1120 mediante el uso del códec de vídeo usado para la transmisión en cuadros de imagen de resolución completa y cada uno de los cuadros se empareja con el modelo de reconstrucción correspondiente, que también se desempaqueta en orden cuadro por cuadro.
Los modelos de reconstrucción desarrollados en la etapa 1170 se recrean a partir de la referencia a un modelo de reconstrucción conocido y las modificaciones recibidas en la etapa 1110. En la etapa 1130, la referencia recibida se usa para localizar el modelo de reconstrucción conocido a partir del cual se desarrolló el modelo de reconstrucción optimizado en una biblioteca de modelos almacenados en el segundo nodo. Las modificaciones recibidas se aplican luego a este modelo de reconstrucción conocido en la etapa 1160, recreando el modelo de reconstrucción optimizado. Una vez que ha tenido lugar esta reconstrucción, el modelo de reconstrucción optimizado se guarda en la biblioteca en el segundo nodo para referencia futura en la etapa 1170 mediante el uso de la misma referencia que se usó al guardar el modelo en la biblioteca del primer nodo en la etapa 1170. Se puede usar un contador incremental (o decremental) para crear nuevas referencias para el algoritmo modificado que luego sería el mismo para ambos nodos (en un sistema distribuido). Alternativamente, esto podría realizarse a través de una base de datos centralizada.
En la etapa 1140, el modelo de reconstrucción modificado se aplica a cada uno de los cuadros o representaciones si se transmite a los cuadros de salida de resolución más alta; de lo contrario, se usan para reproducir los cuadros de resolución más alta sin un cuadro o representaciones de baja resolución. El proceso de reconstrucción o decodificación implica aplicar el modelo de red neuronal convolucional de superresolución optimizado, o modelo de reconstrucción, para cada escena con el fin de recrear un vídeo de resolución más alta que tenga sustancialmente la misma calidad que el vídeo original de alta resolución. Dados los modelos correspondientes y si se transmite cada cuadro de resolución más baja o conjunto de representaciones, un cuadro de resolución más alta que sea sustancialmente idéntico de manera visual a los cuadros originales de resolución más alta se puede reconstruir con alta precisión.
En la etapa 1150, cada uno de los segmentos de vídeo sale del proceso de reconstrucción como cuadros de resolución más alta con la misma resolución que el vídeo original 210. La calidad del vídeo de salida 1150 es sustancialmente similar a la del vídeo original 210, dentro de los límites de error aplicados opcionalmente por el proceso de aprendizaje automático que desarrolla el modelo de reconstrucción en la etapa 1060 del proceso de codificación.
En la etapa 1140, los segmentos de vídeo se combinan de manera que se pueda visualizar el vídeo. Opcionalmente, en la etapa 1140, el vídeo se puede volver a codificar con el códec original usado en el vídeo original 1010 o un códec óptimo más predeterminado, para permitir la reproducción en un decodificador o dispositivo de visualización. En las Figuras 4 y 5 se muestra una modalidad modificada del método descrito anteriormente. En esta modalidad, el vídeo submuestreado no se transmite desde el primer nodo al segundo nodo. En cambio, cualquier dato requerido para producir el vídeo reconstruido puede incluirse en las modificaciones transmitidas a un modelo de reconstrucción conocido. Es posible que no se requieran datos y que solo se requiera el uso de un modelo para reconstruir sustancialmente el vídeo de alta resolución. El segundo nodo reconstruye el vídeo mediante el uso de únicamente el modelo de reconstrucción modificado obtenido aplicando las modificaciones al modelo de reconstrucción conocido al que se hace referencia en la transmisión y, si es necesario, los datos requeridos para producir el vídeo reconstruido. Este método puede usarse ventajosamente para reducir aún más la cantidad de datos transmitidos a través de la red, reduciendo la cantidad de datos necesarios a transmitirse.
La Figura 12 muestra un método adicional para codificar vídeo. Las etapas iniciales proceden como en la Figura 10. El vídeo de resolución más alta 1210 se prepara separándolo en escenas y se submuestrea en la etapa 1220. Se realiza un análisis de cada escena en la etapa 1230 para determinar qué modelos conocidos se usarán como punto de partida para el proceso de optimización del modelo. Se seleccionan uno o más modelos apropiados en la etapa 1240 en base a una métrica de cada escena o cuadro que se puede comparar con las métricas asociadas con los modelos de reconstrucción almacenados en la biblioteca. Los modelos conocidos seleccionados se optimizan en la etapa 1260 mediante el aprendizaje automático. Sin embargo, en lugar de ser entrenados para reproducir el vídeo de resolución más alta a partir del submuestreado, están entrenados para reproducir sustancialmente el vídeo de resolución más alta 1210 mediante el uso de solo el modelo optimizado en sí o el modelo optimizado y cualquier dato que pueda incorporarse en el modelo para la recreación inicial del cuadro o escena del vídeo. Una referencia al modelo de reconstrucción conocido inicial junto con las modificaciones necesarias para reproducir el modelo de reconstrucción optimizado para cada escena o cuadro se transmite al segundo nodo en la etapa 1260, junto con una lista de escenas si se conoce.
La Figura 13 muestra un método adicional para decodificar la información recibida en el segundo nodo para reproducir sustancialmente el vídeo de resolución más alta. El paquete transmitido en la etapa 1260 de la Figura 12 se recibe por el segundo nodo en la etapa 1310 y se desempaca en la etapa 1320. Las referencias a modelos conocidos se usan para localizar los modelos de reconstrucción conocidos almacenados en una biblioteca en el segundo nodo en la etapa 1330. Las modificaciones correspondientes a estos modelos de reconstrucción conocidos se aplican luego en la etapa 1340 para reproducir el modelo de reconstrucción optimizado generado por el proceso de aprendizaje automático en la etapa 1260 de la Figura 12. Este modelo está optimizado para reproducir sustancialmente el vídeo original de resolución más alta 1260 sin la necesidad de que se aplique a una muestra de vídeo de baja resolución correspondiente. Por lo tanto, el segundo nodo puede reconstruir sustancialmente el vídeo original de alta resolución a partir únicamente del modelo de reconstrucción modificado. Esta reconstrucción se realiza en la etapa 1350, y el vídeo de resolución más alta reconstruido resultante se emite en la etapa 1360.
Descripción específica - Eliminación de artefactos
Para mejorar los enfoques mencionados anteriormente para la eliminación de artefactos de imagen, se propone usar técnicas de aprendizaje profundo y redes neuronales, tal como modelos de redes neuronales recurrentes y redes neuronales convolucionales.
En algunos casos, las redes neuronales completamente conectadas no pueden ampliarse fácilmente a tamaños de red más grandes, ya que la complejidad computacional pronto se vuelve demasiado grande a medida que aumenta el tamaño de la red, pero esto depende de la aplicación de la red neuronal y también de otros factores como los tamaños del núcleo y del filtro.
Los modelos de red neuronal se pueden transmitir junto con los cuadros de datos de vídeo de baja resolución y/o baja tasa de bits y/o baja calidad debido a que el tamaño de un modelo de red neuronal convolucional o los datos del modelo de red neuronal recurrente es lo suficientemente pequeño como para hacerlo en comparación con el tamaño de un diccionario aprendido para el mismo nivel de precisión. En comparación, el tamaño de los datos de los diccionarios aprendidos significa que no es práctico que estos diccionarios se transmitan junto con las imágenes de baja resolución, especialmente en donde los diccionarios son diccionarios aprendidos demasiado completos La Figura 22 ilustra una descripción general de las modalidades de un método para generar modelos para su uso en la eliminación de artefactos de imagen. Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción.
En algunas modalidades, el archivo de imagen o vídeo de entrenamiento se selecciona en la etapa 2210 de una biblioteca de imágenes o vídeos de entrenamiento almacenados en un nodo de red y se divide en cuadros, subimágenes o secuencias de imágenes (denominadas colectivamente la presente descripción como escenas) en la etapa 2220 dependiendo de su contenido. En estas modalidades, el tipo de escena se puede clasificar en una categoría particular dependiendo de su contenido mediante el uso de una métrica.
En algunas modalidades, en la etapa 2230, los artefactos de imagen se generan intencionalmente en la escena aplicando algoritmos agresivos de compresión y/o cuantificación a la escena, el nivel de artefactos esperados se controla mediante el nivel de compresión/cuantificación o el nivel de calidad. Esto crea una escena de entrenamiento. En algunas de estas modalidades, se aplica una técnica de clasificación de artefactos a esta escena de entrenamiento en la etapa 2240 para cuantificar la gravedad de los artefactos inducidos.
En la etapa 2250, en algunas modalidades, se entrena un modelo de eliminación de artefactos de imagen en la escena de entrenamiento mediante el uso de técnicas de aprendizaje automático. En estas modalidades, el modelo de eliminación de artefactos de imagen se puede generar de manera que limpie sustancialmente la escena de entrenamiento de artefactos de imagen. En algunas de estas modalidades, se usan métricas de calidad de imagen para comparar la escena "limpia" con la original, y el proceso de entrenamiento puede continuar hasta que la comparación produzca resultados dentro de algún umbral predefinido.
En algunas modalidades, el modelo de eliminación de artefactos de imagen resultante se guarda en la etapa 2260, junto con datos métricos relacionados con la clasificación del tipo de escena y un grado de artefacto relacionado con los tipos y/o la gravedad de los artefactos en la escena de entrenamiento.
El proceso se puede repetir varias veces, en dependencia de la modalidad, en la misma escena de entrenamiento con diferentes niveles de compresión y cuantificación para entrenar un conjunto de modelos para diferentes niveles de severidad de artefactos.
El proceso también se puede repetir en algunas modalidades con diferentes escenas de entrenamiento para generar una biblioteca de diferentes modelos de eliminación de artefactos de imagen indexados tanto por su tipo de contenido como por la gravedad del artefacto. En estas modalidades se puede crear una "matriz" de modelos de biblioteca, donde un eje de la matriz puede considerarse como el tipo de contenido y el otro como la gravedad del artefacto.
Cada etapa del método anterior, como se usa en algunas modalidades, se describirá ahora con más detalle.
La división de la imagen o vídeo de entrenamiento en una escena o escenas en la etapa 2220 se puede lograr de varias formas diferentes en diferentes modalidades. La imagen o el vídeo de entrenamiento ya pueden estar divididos en escenas antes de almacenarse en la biblioteca de imágenes o vídeos de entrenamiento en determinadas modalidades, por lo que esta etapa del método no siempre es necesario. Para el entrenamiento del modelo de eliminación de artefactos de imagen, en algunas modalidades solo se usa una escena para cada modelo generado. Por lo tanto, en estas modalidades, se puede usar una única imagen o vídeo de entrenamiento para entrenar múltiples modelos diferentes de eliminación de artefactos de imagen relacionados con diferentes tipos de contenido presentes dentro de la imagen o vídeo.
Considerando primero el caso de los datos de vídeo, en algunas modalidades los datos de vídeo de la biblioteca se pueden dividir en cuadros únicos de resolución completa, es decir, en una secuencia de imágenes con la resolución completa de los datos de vídeo originales. Para algunos códecs de vídeo, en ciertas modalidades, esto implicará "descomprimir" o restaurar los datos de vídeo ya que, por ejemplo, las técnicas de compresión de vídeo comunes eliminan las características redundantes (que no cambian) de cuadros secuenciales.
Opcionalmente, en otras modalidades, los cuadros de resolución completa se pueden agrupar en escenas o secciones de cuadros que tienen características comunes, también conocidas como "selección de escena". En tales modalidades, los datos de vídeo se pueden dividir o agrupar en escenas para permitir un entrenamiento y optimización más específicos. Por escena, se entiende un grupo o secuencia de cuadros consecutivos, que en el nivel más grueso puede ser el vídeo completo o en el nivel más granular puede ser un solo cuadro o parte de un cuadro, dependiendo de la modalidad.
Para el entrenamiento del modelo de eliminación de artefactos de imagen, en algunas modalidades solo se usa una escena para cada modelo generado. Por lo tanto, puede usarse una única imagen o vídeo de entrenamiento en tales modalidades para entrenar múltiples modelos diferentes de eliminación de artefactos de imagen relacionados con diferentes tipos de contenido.
Una vez que se ha generado una escena, en algunas modalidades se clasifica mediante el uso de métricas relacionadas con las propiedades de la escena. En las modalidades, las métricas que se pueden usar para esta clasificación pueden incluir probabilidad o distancia, dependiendo del tipo de clasificador o agolpamiento usado en cada modalidad, y se puede incluir alguna función del error o diferencias en la métrica dependiendo de la modalidad. Las métricas de ejemplo pueden incluir las diferencias entre píxeles o diferencias de histograma como la suma de las diferencias absolutas o la distancia euclidiana en estas modalidades. Las métricas de ejemplo también pueden incluir el error cuadrático medio y la relación máxima de señal a ruido en algunas modalidades. Alternativamente, en otras modalidades, la clasificación se puede realizar de acuerdo con clasificaciones entrenadas predeterminadas, por ejemplo, podrían existir clasificaciones entrenadas predeterminadas para una variedad de escenas u objetos tales como exteriores, interiores, montañas, bicicletas, etc. La probabilidad la determinará el clasificador usado en la modalidad, por ejemplo, las modalidades podrían usar una medida de similitud estadística tal como la divergencia Kullback-Leibler. En otras modalidades, una alternativa adicional sería usar el aprendizaje automático para desarrollar una métrica que se aplicará al espacio de la imagen, que determinaría una fórmula para las distancias. Esta clasificación que usa métricas se usa para distinguir entre escenas que contienen contenido diferente en al menos algunas modalidades. Los datos métricos determinados de esta manera asignan efectivamente a la escena un tipo de contenido en tales modalidades.
Una vez que se ha generado y clasificado la escena, en al menos algunas modalidades se comprime y/o cuantifica en la etapa 2230. En estas modalidades, la compresión de la escena se puede implementar mediante el uso de cualquier algoritmo de compresión de imagen/vídeo con pérdida bien conocido. En tales modalidades, los métodos de cuantificación pueden incluir tanto la cuantificación del color, mediante el uso de por ejemplo un algoritmo de corte medio o un algoritmo de agrupamiento, y la cuantificación de la frecuencia.
En las modalidades, el proceso de compresión o cuantificación introduce artefactos de imagen en la escena, produciendo una escena de entrenamiento que se usará junto con la versión original sin comprimir y sin cuantificar de la escena para entrenar y/u optimizar un modelo de eliminación de artefactos de imagen. En estas modalidades, se pueden introducir diferentes niveles de severidad de artefactos variando el nivel de compresión y/o cuantificación realizada en esta etapa.
Antes de que comience el proceso de entrenamiento y optimización en algunas modalidades, la severidad del artefacto de la escena de entrenamiento se determina en la etapa 2240 mediante el uso de un algoritmo de clasificación del artefacto. Ejemplos de tales algoritmos que se pueden usar en modalidades se encuentran en el documento "No-Reference Image Quality Assessment in the Spatial Domain" por Anish Mittal, Anush Krishna Moorthy y Alan Conrad Bovik publicado en IEEE TRANSACTIONS ON IMAGE PROCESSING, Vol. 21, núm. 12, diciembre de 2012. Al clasificar la gravedad del artefacto de una escena de entrenamiento en las modalidades, los modelos de eliminación de artefactos de imagen se pueden entrenar en base tanto al tipo de contenido de la escena como a la gravedad de los artefactos presentes.
En la etapa 250, el proceso de entrenamiento y optimización del modelo se realiza en la escena del entrenamiento en algunas modalidades. En algunas modalidades se emplean técnicas de superresolución y técnicas de aprendizaje automático para crear un modelo de eliminación de artefactos de imagen, de manera que el modelo se pueda usar para recrear sustancialmente la versión original "limpia" de la escena de entrenamiento. Mediante el empleo de un enfoque de aprendizaje profundo para generar el modelo en al menos las modalidades, se puede crear un modelo jerárquico no lineal para reconstruir la escena limpia original a partir de la escena comprimida y/o cuantificada.
Un ejemplo de un enfoque de aprendizaje profundo, pero con respecto solo a imágenes fijas y en relación con los artefactos de compresión jpeg (pero no, por ejemplo, otros artefactos de vídeo como el desenfoque de movimiento y los artefactos entre cuadros), pero que se pueden usar con o sin modificación en algunas modalidades, se describe en el documento "Compression Artifacts Reduction by a Deep Convolutional Network" por Chao Dong, Yubin Deng, Chen Change Loy y Xiaoou Tang publicado como arXiv: 1504.06993v1 [cs.CV] 27 de abril de 2015. Este artículo está relacionado con la generación de una red neuronal convolucional de superresolución profunda mejorada para la eliminación de artefactos de imagen de un modelo de red poco profunda.
En algunas de las modalidades, la calidad de la escena recreada o limpia se puede comparar con la original mediante el uso de métricas objetivas tales como tasa de error, PSNR y SSIM y/o medidas subjetivas. En algunas de estas modalidades, si se encuentra que la calidad está dentro de un umbral predefinido, entonces el modelo se puede guardar junto con los resultados de un clasificador o los resultados que identifican el contenido de la escena y la gravedad del artefacto con el que se relaciona el modelo. De lo contrario, en algunas modalidades, el proceso de entrenamiento continúa hasta que se alcanza el umbral predefinido. Alternativa o adicionalmente, en algunas modalidades se puede usar un número predefinido de iteraciones del proceso de aprendizaje automático para limitar el tiempo computacional dedicado al entrenamiento del modelo.
En algunas modalidades, el modelo de corrección de artefactos de imagen entrenado de esta manera puede ser uno de un algoritmo jerárquico no lineal, una red neuronal convolucional, una red neuronal recurrente, una red multicapa (neuronal), una red neuronal artificial, una red de creencia profunda, un algoritmo de aprendizaje de diccionario, un parámetro, una función de mapeo, una red de retroalimentación multicapa, un filtro no lineal, un diccionario, un conjunto o serie de parámetros o funciones, o una serie de funciones.
En algunas modalidades, la escena de entrenamiento original generada en el proceso de selección de escena se usa para generar múltiples modelos para el mismo tipo de contenido de escena repitiendo el proceso de compresión y cuantificación con diferentes niveles de compresión y/o cuantificación, o mediante el uso de diferentes algoritmos de compresión y/o cuantificación. En estas modalidades, este enfoque introduce un nivel diferente de severidad de artefactos en la escena. Además, en algunas de estas modalidades, el proceso de entrenamiento y optimización puede repetirse para generar un nuevo modelo de eliminación de artefactos de imagen para el mismo contenido, pero con un nivel diferente de gravedad de artefactos.
En algunas modalidades, los modelos de eliminación de artefactos de imagen entrenados y/u optimizados se guardan en una biblioteca de modelos de eliminación de artefactos de imagen. En algunas de estas modalidades, cada modelo de la biblioteca está asociado con un clasificador que identifica el contenido de la escena y la gravedad del artefacto sobre el que se entrenó el modelo. Por lo tanto, en estas modalidades, la biblioteca puede considerarse como una "matriz" de modelos basados en ejemplos, con sus filas correspondientes al tipo de contenido de la escena y sus columnas correspondientes a la gravedad del artefacto de la imagen.
La biblioteca se puede almacenar en un nodo dentro de una red en determinadas modalidades.
Con referencia ahora a la Figura 23, se describirá ahora un método de uso de los modelos de eliminación de artefactos de imagen de acuerdo con algunas modalidades.
Se recibe una sección de vídeo o una imagen desde una red en un nodo de red de recepción en la etapa 2310 en algunas modalidades. En estas modalidades, los datos recibidos dependen de cómo se prepararon los datos para la transmisión en un nodo de la red de transmisión e incluirán los datos de vídeo/imagen o representaciones de los datos de vídeo/imagen. Es posible en algunas de estas modalidades que los datos o representaciones de vídeo no se transmitan y/o reciban simultáneamente, por lo que puede ser necesario el almacenamiento temporal para esperar todos los componentes necesarios antes de que pueda tener lugar el proceso de eliminación de artefactos. En algunas modalidades, en la etapa 2320, los datos de imagen o vídeo recibidos se desempaquetan y se dividen en escenas dependiendo de su contenido mediante el uso del proceso descrito anteriormente en relación con el proceso de eliminación de artefactos de imagen. En algunas de estas modalidades, las escenas se clasifican luego en la etapa 2330 mediante el uso de métricas para determinar el tipo de contenido de la escena.
Alternativamente, en otras modalidades, los datos de vídeo/imagen recibidos ya pueden haberse dividido en escenas y clasificados por el nodo de la red transmisora, en cuyo caso los datos recibidos por el nodo receptor contendrán metadatos para cada una de las escenas contenidas en él que identifican el tipo de contenido de escena.
En cualquier caso, en algunas modalidades, en la etapa 2330, las escenas recibidas se someten a un algoritmo o clasificador de clasificación de artefactos para determinar el nivel de gravedad del artefacto presente en la escena. En algunas de estas modalidades, la fuente de estos artefactos puede ser el proceso de cuantificación y compresión de vídeo/imagen realizado por el nodo transmisor antes de la transmisión de los datos de vídeo/imagen, o podrían ser introducidos por transmisión de red defectuosa o con pérdidas.
En algunas modalidades, el tipo de contenido de la escena y la gravedad del artefacto de imagen se usan para seleccionar el modelo de eliminación de artefacto de imagen de la biblioteca de modelos de eliminación de artefacto de imagen generados en el proceso de creación del modelo que mejor coincide con el tipo de contenido de la escena y la gravedad del artefacto de la escena recibida. En estas modalidades, esta coincidencia se puede realizar en el nodo de la red de recepción si la biblioteca está almacenada allí. Alternativamente, en otras modalidades, si la biblioteca se almacena de manera remota desde el nodo de red de recepción, se puede transmitir una solicitud del modelo de eliminación de artefactos de imagen más adecuado desde el nodo de recepción a la localización de la biblioteca de modelos. En algunas de estas modalidades, la biblioteca de modelos transmitirá entonces el modelo de eliminación de artefactos de imagen relevante al nodo de red receptor. Si no se almacena una eliminación de artefactos de imagen adecuada en la biblioteca, se puede usar un modelo genérico en su lugar. En tales modalidades, se puede determinar un modelo adecuado, por ejemplo, requiriendo que los datos métricos relacionados con el tipo de contenido y la severidad del artefacto del vídeo recibido o los datos de imagen se encuentren dentro de algún rango predefinido de al menos uno de los modelos de eliminación de artefactos de imágenes almacenados en la biblioteca.
En algunas modalidades, el modelo de eliminación de artefactos de imagen identificado como el más adecuado (o el modelo genérico en el caso de que no haya un modelo adecuado en la biblioteca o si el modelo genérico es el modelo más adecuado) se aplica luego a la escena recibida en la etapa 2350 para recrear sustancialmente el archivo de imagen/vídeo original en gran parte libre de artefactos de imagen. En tales modalidades, este proceso de corrección de fidelidad puede resultar en una imagen/video reconstruida limpia, que luego es emitida por el nodo receptor en la etapa 2360.
Con referencia ahora a la Figura 24, se describirá ahora un método alternativo para usar los modelos de eliminación de artefactos de imagen de acuerdo con algunas modalidades.
En tales modalidades, este método se refiere al uso combinado de técnicas de eliminación de artefactos de imagen y superresolución para reconstruir un vídeo o una imagen a partir de un vídeo o una imagen con una resolución reducida (es decir, una resolución más baja que una resolución original más alta) recibidos de una red.
En algunas modalidades, en primer lugar, en la etapa 2410, el paquete de datos se recibe desde la red. En estas modalidades, los datos recibidos en el paquete dependen de cómo se prepararon los datos para su transmisión por el nodo de la red de transmisión y pueden incluir datos de vídeo o imagen submuestreada o representaciones de los datos de vídeo o imagen y/o detalles de uno o más modelos de reconstrucción para recrear datos de vídeo de alta resolución a partir de los datos de vídeo o imagen submuestreada. En tales modalidades, estos detalles pueden ser los propios modelos de reconstrucción o referencias a modelos de reconstrucción conocidos almacenados en el nodo receptor o en la red.
En algunas modalidades, es posible que los datos o representaciones de vídeo, las referencias a uno o más modelos de reconstrucción inicial y las modificaciones a esos modelos no se transmitan y/o reciban simultáneamente, por lo que puede ser necesario el almacenamiento temporal para esperar todos los componentes necesario para decodificar o reconstruir el vídeo de resolución más alta a partir de los datos transmitidos a través de la red.
A continuación, en la etapa 2420, los datos recibidos se preparan para la reconstrucción en algunas modalidades. En estas modalidades, esta etapa generalmente implica separar el vídeo/imagen o las representaciones de baja resolución si se transmiten de los detalles de los modelos de reconstrucción relevantes. Opcionalmente, en otras modalidades, el vídeo o la imagen de baja resolución se descomprime mediante el uso del códec de vídeo o imagen usado para la transmisión en escenas de resolución completa y cada uno de los cuadros se empareja con el modelo de reconstrucción correspondiente, que también se desempaqueta en orden escena por escena.
En la etapa 2430, en algunas modalidades, si el contenido de la escena aún no se ha determinado por el nodo transmisor, ahora lo determina el nodo receptor.
En algunas modalidades, las escenas de imagen o vídeo desempaquetadas se clasifican luego para determinar la gravedad de los artefactos mediante el uso de un algoritmo de clasificación de artefactos.
En algunas modalidades, en la etapa 2440, el tipo de contenido de la escena y la gravedad del artefacto de imagen se usan para seleccionar el modelo de eliminación de artefacto de imagen de la biblioteca de modelos de eliminación de artefacto de imagen generados en el proceso de creación del modelo que mejor coincide con el tipo de contenido de la escena y la gravedad del artefacto de la escena recibida. En tales modalidades, esta coincidencia se puede realizar en el nodo de la red de recepción si la biblioteca está almacenada allí. Alternativamente, en otras modalidades en las que la biblioteca se almacena de manera remota desde el nodo de red de recepción, se puede transmitir una solicitud del modelo de eliminación de artefactos de imagen más adecuado desde el nodo de recepción a la localización de la biblioteca de modelos. En tales modalidades, la biblioteca de modelos transmitirá entonces el modelo de eliminación de artefactos de imagen relevante al nodo de la red de recepción. Si no se almacena un modelo de eliminación de artefactos de imagen adecuado en la biblioteca, se puede usar un modelo genérico en su lugar en algunas de estas modalidades.
En algunas modalidades, el modelo de eliminación de artefactos de imagen identificado para cada escena se aplica luego a la escena con muestreo reducido en la etapa 2450 para recrear sustancialmente la imagen original submuestreada transmitida por el nodo transmisor. Alternativamente, en otras modalidades, el modelo identificado puede usarse después del proceso de ampliación de la etapa 2460 para eliminar sustancialmente los artefactos de imagen de ampliación del vídeo de resolución más alta recreado.
En la etapa 2460, en algunas modalidades, los modelos de reconstrucción relevantes se aplican luego a cada una de las escenas para generar escenas de resolución más alta. En tales modalidades, el proceso de reconstrucción o decodificación puede implicar la aplicación del modelo de red neuronal convolucional de superresolución optimizado, o el modelo de reconstrucción, para cada escena con el fin de recrear una imagen o vídeo de resolución más alta que tenga sustancialmente la misma calidad que el vídeo original de alta resolución o imagen a partir de la cual el nodo transmisor generó el vídeo o la imagen submuestreada. Dados los modelos de reconstrucción correspondientes y cada escena o conjunto de representaciones de resolución más baja, en algunas modalidades un cuadro de resolución más alta que es sustancialmente idéntico de manera visual a los cuadros originales de resolución más alta se puede reconstruir con alta precisión.
En algunas modalidades, la escena reconstruida de resolución más alta se emite luego por el nodo receptor en la etapa 470.
El proceso descrito anteriormente se realiza como un proceso posterior al proceso de descompresión estándar usado en el nodo de decodificación para las transmisiones recibidas de, por ejemplo, vídeo después de la etapa de decodificación convencional y, por lo tanto, "fuera" de la tubería de compresión tradicional en al menos algunas modalidades.
Alternativamente, en otras modalidades, el proceso de eliminación de artefactos de imagen se puede realizar como parte del propio proceso de ampliación. En tales modalidades, se pueden entrenar varios modelos de reconstrucción para reproducir la imagen o el vídeo de resolución más alta en el primer nodo a partir de una serie de imágenes o vídeos submuestreados diferentes, cada uno con una gravedad de artefacto diferente. En tales modalidades, estos pueden transmitirse todos con el vídeo submuestreado, o el modelo requerido se puede transmitir al segundo nodo de red desde el primer nodo una vez que se ha solicitado el modelo que contiene la gravedad del artefacto de la imagen o vídeo submuestreado recibido enviado desde el segundo nodo al primer nodo. En cualquier caso, en algunas modalidades, el modelo que mejor se adapta a la severidad del artefacto de la imagen o vídeo submuestreado recibido se usa para recrear sustancialmente el vídeo original de alta resolución.
Interpolación espacio-temporal
En algunas modalidades, los datos visuales que se reciben pueden ser de una menor calidad a la conveniente, por ejemplo, a una baja resolución o baja velocidad de cuadros. Se apreciará que otras características pueden hacer que los datos visuales tengan una menor calidad a la conveniente. Pueden usarse uno o más algoritmos jerárquicos para aumentar la calidad de los datos visuales a una calidad más conveniente. Por ejemplo, en algunas modalidades, el algoritmo jerárquico puede aumentar la resolución de la sección o secciones de datos visuales recibidos. En otra modalidad, el algoritmo jerárquico puede desarrollar secciones intermedias, tal como una sección que se colocará entre dos secciones recibidas de datos visuales. En aún otra modalidad, el algoritmo jerárquico puede usarse para aumentar la calidad de los datos visuales recibidos combinando las modalidades mencionadas anteriormente.
Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción.
En algunas modalidades, se pueden usar uno o más algoritmos jerárquicos para estimar versiones de resolución más alta de cuadros de resolución más baja recibidos. En tales modalidades, al recibir múltiples cuadros de resolución más baja, se puede usar un algoritmo jerárquico para estimar una versión de resolución más alta de un cuadro recibido particular. En algunas modalidades, al recibir tres o más cuadros consecutivos de datos visuales de resolución más baja, se puede usar un algoritmo jerárquico para estimar una versión de resolución más alta de uno de los cuadros intermedios. En tales modalidades, esta estimación puede basarse no solo en la versión de resolución más baja del cuadro recibido, sino también en la versión de resolución más baja de los cuadros anteriores y posteriores también recibidos. Alternativamente, en otras modalidades, el algoritmo jerárquico se puede usar para determinar un cuadro intermedio desconocido con la misma resolución que los cuadros recibidos anteriores y posteriores.
Alternativamente, en algunas otras modalidades, se puede usar un algoritmo jerárquico para estimar versiones de resolución más alta de los cuadros de resolución más baja recibidos, así como una versión de resolución más alta de un cuadro intermedio desconocido. Además, en algunas modalidades, el algoritmo jerárquico también puede usarse para estimar un cuadro pasado o futuro desconocido en base a los cuadros de resolución más baja recibidos. Entrenamiento en línea
En algunas modalidades, los nuevos datos visuales que se transmiten desde un nodo a uno o más de otros nodos no tienen algoritmos jerárquicos entrenados para mejorar una versión de menor calidad de los nuevos datos visuales. Por ejemplo, en algunas modalidades, estos nuevos datos visuales pueden ser datos de vídeo de transmisión en vivo y, en algunas modalidades, los nuevos datos visuales pueden transmitirse o reproducirse como contenido de vídeo de juegos electrónicos. Cuando no existen algoritmos jerárquicos para estos nuevos datos visuales, es necesario entrenar algoritmos jerárquicos específicos o genéricos para mejorar las versiones de menor calidad de los nuevos datos visuales en algunas de estas modalidades y según algunas de las modalidades descritas en otra parte.
En algunas modalidades, se pueden entrenar múltiples algoritmos jerárquicos en paralelo sobre los mismos datos visuales. En tales modalidades, esto permite explorar una gama más amplia de algoritmos jerárquicos dentro de un período de tiempo dado. En algunas de estas modalidades, se puede seleccionar el algoritmo más adecuado de estos algoritmos desarrollados para su transmisión a través de la red con los datos visuales. En algunas modalidades, desarrollar los algoritmos jerárquicos en paralelo puede ser útil en situaciones en las que solo hay un tiempo limitado disponible para desarrollar el algoritmo jerárquico.
Paralelamente al desarrollo de algoritmos jerárquicos (ya sea individualmente o múltiples en paralelo), en algunas modalidades los datos visuales se pueden codificar en un codificador en preparación para su transmisión a través de la red. De esta manera, el tiempo necesario para preparar tanto el algoritmo jerárquico como los datos visuales para la transmisión se puede reducir en comparación con el desarrollo del algoritmo jerárquico y la codificación de los datos visuales en serie en tales modalidades.
Una vez que se han desarrollado o entrenado algoritmos jerárquicos genéricos o específicos, por ejemplo, para un nuevo juego que se transmite como contenido de vídeo de juegos electrónicos, estos se pueden usar para mejorar la calidad de los datos visuales transmitidos de menor calidad en los nodos receptores.
Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción.
Entrenamiento sin conexión
En algunas modalidades, los nuevos datos visuales que se transmitirán desde un nodo a uno o más de otros nodos no tienen algoritmos jerárquicos entrenados para mejorar una versión de menor calidad de los nuevos datos visuales. Por ejemplo, en algunas modalidades, estos nuevos datos visuales pueden ser nuevos datos de vídeo, tal como una nueva película o serie de televisión y, en algunas modalidades, los nuevos datos visuales pueden ser un juego de ordenador que en el futuro se usará para generar contenido de vídeo de juegos electrónicos transmitido. Cuando no existen algoritmos jerárquicos para estos nuevos datos visuales, es necesario entrenar algoritmos jerárquicos específicos o genéricos para mejorar las versiones de menor calidad de los nuevos datos visuales en algunas de estas modalidades y según algunas de las modalidades descritas en otra parte.
A menudo, los datos visuales se codificarán antes de la transmisión a través de la red mediante el uso de un codificador en determinadas modalidades. El proceso de codificación puede introducir artefactos específicos del codificador en los datos visuales en tales modalidades. Refinando el algoritmo jerárquico mediante la modalidad de etapas de entrenamiento adicionales en el vídeo codificado en algunas modalidades, el algoritmo jerárquico puede entrenarse para corregir sustancialmente los artefactos de imagen introducidos por el codificador.
En algunas modalidades, los algoritmos jerárquicos se pueden entrenar mediante el uso de datos de entrenamiento correspondientes a los datos visuales exactos que se transmitirán a través de la red. En tales modalidades, este enfoque puede ser particularmente útil en situaciones en las que los datos visuales se conocen de antemano y donde es probable que los datos visuales se transmitan a través de la red varias veces. Por ejemplo, en algunas modalidades, los modelos jerárquicos pueden entrenarse en secciones de un episodio de un programa de televisión que estarán disponibles en un servicio de transmisión bajo demanda. En tales modalidades, los modelos entrenados en ese episodio particular pueden transmitirse junto con los datos visuales de menor calidad y usarse para mejorar los datos visuales de menor calidad a una versión de mayor calidad de ese episodio.
Alternativamente, en otras modalidades, los algoritmos jerárquicos pueden entrenarse en datos de entrenamiento que son similares, pero no idénticos, a los datos visuales esperados en los que se van a usar. En tal modalidad, estos modelos entrenados pueden asociarse con datos métricos relacionados con las propiedades de los datos visuales en los que fueron entrenados. En algunas de estas modalidades, estos datos métricos pueden usarse posteriormente para seleccionar un algoritmo jerárquico apropiado para usar para mejorar los datos visuales para los cuales no se ha entrenado ningún modelo específico. En algunas modalidades, los datos visuales se generan y transmiten a través de la red de manera sustancialmente simultánea, por ejemplo, durante una transmisión en vivo. En tales modalidades, puede que no haya tiempo suficiente para generar un algoritmo jerárquico específico para los datos visuales sin introducir un retraso sustancial en la transmisión en vivo. En tales modalidades, la selección de un algoritmo jerárquico que se haya preentrenado con datos visuales similares puede reducir este retraso.
Una vez que se han entrenado los algoritmos jerárquicos para mejorar las versiones de menor calidad de los nuevos datos visuales, estos se pueden almacenar para enviarlos con los datos visuales o distribuirlos a los nodos receptores antes de que se envíen los datos visuales, en dependencia de las modalidades.
Estas modalidades se pueden usar en combinación con otras modalidades y partes alternativas y opcionales de las modalidades, descritas en otra parte de esta descripción.
Circunvoluciones segmentadas
Opcionalmente, la Figura 18 muestra un método 1800 alternativo del método 1500 mostrado en la Figura 15 de acuerdo con algunas modalidades. En estas modalidades, una vez que los datos visuales 1510 se han separado en cuadros individuales en la etapa 1520, la dimensión de las imágenes de resolución completa 2110 extraídas puede reducirse en base a al menos un factor predeterminado en la etapa 1810. En estas modalidades, en la etapa 1810, el al menos un factor predeterminado puede usarse para seleccionar píxeles individuales de las imágenes de resolución completa extraídas 2110 para formar una representación de resolución más baja 2120 de las imágenes de resolución completa extraídas 2110. Por ejemplo, en algunas modalidades, un factor predeterminado de 2 puede indicar que se selecciona cada dos píxeles en las dimensiones horizontal y vertical, como se muestra en la Figura 21. Se apreciará que se pueden usar otros valores del factor predeterminado en otras modalidades, además, en algunas de estas otras modalidades, tanto las dimensiones horizontal como vertical pueden tener cada una un factor predeterminado diferente aplicado.
En algunas modalidades, los datos visuales de dimensión reducida pueden concatenarse en la etapa 1820, para formar una representación de resolución más baja 2120 de las imágenes de resolución completa extraídas 2110. En estas modalidades, la representación de resolución más baja 2120 se puede usar como base para cualquier análisis y técnicas de mejora de imagen que permitan el uso de redes de superresolución más grandes sin comprometer el tiempo de ejecución. En algunas modalidades, se pueden usar diferentes factores y tamaños predeterminados de la red de superresolución para obtener un rendimiento óptimo.
Alternativamente, en otras modalidades, la Figura 19 muestra un método 1900 basado en el método 1600 mostrado en la Figura 16. En el método 1900 de estas otras modalidades, las etapas 1810 y 1820 pueden producirse después de que los cuadros se agrupen en escenas en la etapa 1610.
Con referencia ahora a la Figura 20, se muestra un proceso 2000 modificado de acuerdo con algunas modalidades (basado en el proceso 1900 pero que podría ser igualmente una versión modificada del proceso 1800).
En estas modalidades, el proceso 1900 se modifica con etapas adicionales. Específicamente, en algunas de estas modalidades, la etapa 1710 puede comenzar con datos visuales de alta resolución, por ejemplo en resolución HD. A continuación, en la etapa 1720 de estas modalidades, los datos visuales pueden reducirse a, por ejemplo, resolución SD para permitir la transmisión a través de una red con ancho de banda restringido. En la etapa 1730 de estas modalidades, los datos visuales de resolución más baja pueden transmitirse a través de una red convirtiéndose por lo tanto en los datos visuales de entrada 310 del proceso 1800 o 1900 descrito anteriormente en relación con las Figuras 18 o 19 respectivamente.

Claims (14)

REIVINDICACIONES
1. Un método para reducir la cantidad de datos a transmitir cuando se comunican datos visuales a través de una red desde un primer nodo a un segundo nodo, el método en el primer nodo que comprende las etapas de: reducir la resolución de una sección de datos visuales de resolución más alta para proporcionar una sección correspondiente de datos visuales de resolución más baja;
desarrollar un modelo de red neuronal para aumentar la resolución de los datos visuales de resolución más baja, que comprende entrenar el modelo de red neuronal para aumentar la resolución de los datos visuales de resolución más baja para reproducir sustancialmente los datos visuales de resolución más alta, donde el entrenamiento comprende procesar la sección de datos visuales de resolución más baja mediante el uso del modelo de red neuronal, calcular un error que comprende una comparación entre la sección de datos visuales de resolución más alta y la salida obtenida con el modelo de red neuronal, el error se cuantifica mediante una función de costo predefinida, y ajustar los parámetros asociados con el modelo de red neuronal para minimizar el error;
transmitir la sección de datos visuales de resolución más baja; y
transmitir los parámetros asociados con el modelo de red neuronal desarrollado entrenado mediante el uso de la sección de datos visuales de resolución más baja,
en donde la sección de datos visuales de resolución más baja y los parámetros asociados con el modelo de red neuronal desarrollado permiten que el segundo nodo reproduzca sustancialmente la sección de datos visuales de resolución más alta de la sección transmitida de datos visuales de resolución más baja mediante el uso del modelo de red neuronal desarrollada entrenado mediante el uso de la sección de datos visuales de resolución más baja.
2. Un método de acuerdo con la reivindicación 1, en donde el modelo de red neuronal comprende un modelo de red neuronal convolucional.
3. Un método de acuerdo con la reivindicación 1 o la reivindicación 2, en donde los datos visuales de resolución más alta se dividen en secciones más pequeñas en base a similitudes entre una pluralidad de cuadros de los datos visuales de resolución más alta.
4. Un método de acuerdo con cualquiera de las reivindicaciones 1 a 3, en donde la sección de datos visuales de resolución más alta comprende cualquiera de: un cuadro único, una secuencia de cuadros y una región dentro de un cuadro o secuencia de cuadros.
5. Un método de acuerdo con cualquiera de las reivindicaciones 1 a 4, en donde los datos visuales se convierten en una secuencia de imágenes, antes de que se reduzca la resolución.
6. Un método de acuerdo con cualquiera de las reivindicaciones 1 a 5, en donde se usa submuestreo para reducir la resolución de la sección de datos visuales de resolución más alta para producir la sección de datos visuales de resolución más baja.
7. Un método de acuerdo con cualquiera de las reivindicaciones 1 a 6, en donde las etapas de transmitir la sección de datos visuales de resolución más baja y transmitir el modelo de red neuronal desarrollado que corresponde a la sección de datos visuales de resolución más baja se producen de manera sustancialmente simultánea.
8. Aparato configurado para llevar a cabo el método de cualquier reivindicación anterior.
9. Un producto de programa informático que comprende un código de software para llevar a cabo el método de cualquiera de las reivindicaciones 1 a 7.
10. Un sistema para reducir la cantidad de datos transmitidos cuando se comunican datos visuales a través de una red, el sistema que comprende dos o más nodos en donde un primer nodo está configurado para: reducir la resolución de una sección de datos visuales de resolución más alta para proporcionar una sección correspondiente de datos visuales de resolución más baja;
desarrollar un modelo de red neuronal para aumentar la resolución de los datos visuales de resolución más baja, que comprende entrenar el modelo de red neuronal para aumentar la resolución de los datos visuales de resolución más baja para reproducir sustancialmente los datos visuales de resolución más alta, en donde el entrenamiento comprende procesar la sección de datos visuales de resolución más baja mediante el uso del modelo de red neuronal, calcular un error que comprende una comparación entre la sección de datos visuales de resolución más alta y la salida obtenida con el modelo de red neuronal, el error se cuantifica mediante una función de costo predefinida, y ajustar los parámetros asociados con el modelo de red neuronal para minimizar el error;
transmitir la sección de datos visuales de resolución más baja; y
transmitir los parámetros asociados con el modelo de red neuronal desarrollado entrenado mediante el uso de la sección de datos visuales de resolución más baja;
en donde el segundo nodo está configurado para:
recibir la sección de datos visuales de resolución más baja a través de una red;
recibir los parámetros entrenados asociados con el modelo de red neuronal desarrollado; y
usar el modelo de red neuronal desarrollado para aumentar la resolución de la sección de datos visuales de resolución más baja para recrear sustancialmente la sección de datos visuales de resolución más alta.
11. Un sistema de acuerdo con la reivindicación 10, en donde el modelo de red neuronal comprende un modelo de red neuronal convolucional.
12. Un sistema de acuerdo con la reivindicación 10 o la reivindicación 11, en donde los datos visuales de resolución más alta se dividen en secciones más pequeñas en base a similitudes entre una pluralidad de cuadros de los datos visuales de resolución más alta.
13. Un sistema de acuerdo con cualquiera de las reivindicaciones 10 a 12, en donde la sección de datos visuales de resolución más alta comprende cualquiera de: un cuadro único, una secuencia de cuadros y una región dentro de un cuadro o secuencia de cuadros.
14. Un sistema de acuerdo con cualquiera de las reivindicaciones 10 a 13, en donde las etapas de transmitir la sección de datos visuales de resolución más baja al segundo nodo y transmitir al segundo nodo el modelo de red neuronal desarrollado que corresponde a la sección de datos visuales de resolución más baja transmitidos al segundo nodo se producen de manera sustancialmente simultánea.
ES16706418T 2015-02-19 2016-02-19 Aprendizaje automático para el procesamiento visual Active ES2873845T3 (es)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
GB201502753A GB201502753D0 (en) 2015-02-19 2015-02-19 Method for encoding and decoding video data
GB201503427A GB201503427D0 (en) 2015-02-27 2015-02-27 Method for adaptive upscaling of video data
GBGB1505544.5A GB201505544D0 (en) 2015-03-31 2015-03-31 Method for accelerating machine optimisation processes or algorithms
GBGB1507141.8A GB201507141D0 (en) 2015-04-27 2015-04-27 Method for encoding and decoding video data using reconstruction libraries
GBGB1508742.2A GB201508742D0 (en) 2015-05-21 2015-05-21 A method for encoding and decoding video data
GBGB1511231.1A GB201511231D0 (en) 2015-06-25 2015-06-25 Method for real-time encoding and decoding of video data
GBGB1519425.1A GB201519425D0 (en) 2015-11-03 2015-11-03 Image fidelity correction and restoration
GBGB1519687.6A GB201519687D0 (en) 2015-02-19 2015-11-06 Method for encoding and decoding video data
PCT/GB2016/050426 WO2016132148A1 (en) 2015-02-19 2016-02-19 Machine learning for visual processing

Publications (1)

Publication Number Publication Date
ES2873845T3 true ES2873845T3 (es) 2021-11-04

Family

ID=56688725

Family Applications (2)

Application Number Title Priority Date Filing Date
ES16706420T Active ES2872724T3 (es) 2015-02-19 2016-02-19 Mejora de los datos visuales mediante el uso de redes neuronales actualizadas
ES16706418T Active ES2873845T3 (es) 2015-02-19 2016-02-19 Aprendizaje automático para el procesamiento visual

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES16706420T Active ES2872724T3 (es) 2015-02-19 2016-02-19 Mejora de los datos visuales mediante el uso de redes neuronales actualizadas

Country Status (6)

Country Link
US (10) US10887613B2 (es)
EP (11) EP3259916B1 (es)
DE (6) DE202016009102U1 (es)
ES (2) ES2872724T3 (es)
GB (5) GB2539845B (es)
WO (10) WO2016132150A1 (es)

Families Citing this family (284)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
DE202016009102U1 (de) 2015-02-19 2022-04-22 Magic Pony Technology Limited Verbesserung visueller Daten mittels gestufter Faltungen
RU2596062C1 (ru) 2015-03-20 2016-08-27 Автономная Некоммерческая Образовательная Организация Высшего Профессионального Образования "Сколковский Институт Науки И Технологий" Способ коррекции изображения глаз с использованием машинного обучения и способ машинного обучения
GB201603144D0 (en) 2016-02-23 2016-04-06 Magic Pony Technology Ltd Training end-to-end video processes
GB201604672D0 (en) 2016-03-18 2016-05-04 Magic Pony Technology Ltd Generative methods of super resolution
GB201604345D0 (en) 2016-03-14 2016-04-27 Magic Pony Technology Ltd Super resolution using fidelity transfer
EP3278559B1 (en) 2015-03-31 2021-05-05 Magic Pony Technology Limited Training end-to-end video processes
EP3400706B1 (en) 2016-01-05 2022-04-13 RealD Spark, LLC Gaze correction of multi-view images
US10373019B2 (en) * 2016-01-13 2019-08-06 Ford Global Technologies, Llc Low- and high-fidelity classifiers applied to road-scene images
US10402700B2 (en) * 2016-01-25 2019-09-03 Deepmind Technologies Limited Generating images using neural networks
EP3395073A4 (en) * 2016-02-04 2019-04-10 Mediatek Inc. VIDEO ENCODING METHOD AND APPARATUS USING NON-LOCAL ADAPTIVE LOOP FILTERS
US11755913B2 (en) * 2016-03-11 2023-09-12 Telecom Italia S.P.A Convolutional neural networks, particularly for image analysis
US10387743B2 (en) * 2016-03-16 2019-08-20 Ramot At Tel-Aviv University Ltd. Reconstruction of high-quality images from a binary sensor array
US10089717B2 (en) * 2016-04-05 2018-10-02 Flipboard, Inc. Image scaling using a convolutional neural network
WO2017178808A1 (en) 2016-04-12 2017-10-19 Magic Pony Technology Limited Visual data processing using energy networks
EP3298783B1 (en) 2016-04-15 2020-11-18 Magic Pony Technology Limited Motion compensation using temporal picture interpolation
GB201608259D0 (en) 2016-05-11 2016-06-22 Magic Pony Technology Ltd Feature transfer
US10319076B2 (en) * 2016-06-16 2019-06-11 Facebook, Inc. Producing higher-quality samples of natural images
CN106447609A (zh) * 2016-08-30 2017-02-22 上海交通大学 一种基于深度卷积神经网络的图像超分辨方法
CN106355579A (zh) * 2016-09-14 2017-01-25 南京理工大学 烟条表面褶皱的缺陷检测方法
CN109952598B (zh) * 2016-09-18 2023-08-04 耶达研究及发展有限公司 基于荧光照明来生成3d图像的系统和方法
US11210589B2 (en) 2016-09-28 2021-12-28 D5Ai Llc Learning coach for machine learning system
KR102384234B1 (ko) * 2016-10-26 2022-04-07 삼성전자주식회사 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록 매체
US10289951B2 (en) * 2016-11-02 2019-05-14 Adobe Inc. Video deblurring using neural networks
US10573040B2 (en) * 2016-11-08 2020-02-25 Adobe Inc. Image modification using detected symmetry
US10192295B2 (en) * 2016-11-09 2019-01-29 AI Analysis, Inc. Methods and systems for normalizing images
US10701394B1 (en) 2016-11-10 2020-06-30 Twitter, Inc. Real-time video super-resolution with spatio-temporal networks and motion compensation
CN108133222B (zh) * 2016-12-01 2021-11-02 富士通株式会社 为数据库确定卷积神经网络cnn模型的装置和方法
US10748062B2 (en) * 2016-12-15 2020-08-18 WaveOne Inc. Deep learning based adaptive arithmetic coding and codelength regularization
CN106791927A (zh) * 2016-12-23 2017-05-31 福建帝视信息科技有限公司 一种基于深度学习的视频增强与传输方法
CN106686385B (zh) 2016-12-30 2018-09-25 平安科技(深圳)有限公司 视频压缩感知重构方法及装置
WO2018125580A1 (en) * 2016-12-30 2018-07-05 Konica Minolta Laboratory U.S.A., Inc. Gland segmentation with deeply-supervised multi-level deconvolution networks
CN106910161B (zh) * 2017-01-24 2020-06-19 华南理工大学 一种基于深度卷积神经网络的单幅图像超分辨率重建方法
US20190147361A1 (en) * 2017-02-03 2019-05-16 Panasonic Intellectual Property Management Co., Ltd. Learned model provision method and learned model provision device
KR102474168B1 (ko) 2017-03-17 2022-12-06 포틀랜드 스테이트 유니버시티 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션
US10276134B2 (en) * 2017-03-22 2019-04-30 International Business Machines Corporation Decision-based data compression by means of deep learning technologies
US11915152B2 (en) 2017-03-24 2024-02-27 D5Ai Llc Learning coach for machine learning system
CN108664981B (zh) * 2017-03-30 2021-10-26 北京航空航天大学 显著图像提取方法及装置
US10838922B2 (en) * 2017-03-31 2020-11-17 International Business Machines Corporation Data compression by using cognitive created dictionaries
US10482609B2 (en) 2017-04-04 2019-11-19 General Electric Company Optical flow determination system
US10410322B2 (en) 2017-04-05 2019-09-10 Here Global B.V. Deep convolutional image up-sampling
US11037330B2 (en) 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US10489887B2 (en) 2017-04-10 2019-11-26 Samsung Electronics Co., Ltd. System and method for deep learning image super resolution
US11164071B2 (en) * 2017-04-18 2021-11-02 Samsung Electronics Co., Ltd. Method and apparatus for reducing computational complexity of convolutional neural networks
US10552977B1 (en) 2017-04-18 2020-02-04 Twitter, Inc. Fast face-morphing using neural networks
US10922556B2 (en) * 2017-04-28 2021-02-16 Intel Corporation Storage system of DNN outputs for black box
CN107103585B (zh) * 2017-04-28 2020-09-11 广东工业大学 一种图像超分辨率系统
WO2018212599A1 (en) 2017-05-17 2018-11-22 Samsung Electronics Co., Ltd. Super-resolution processing method for moving image and image processing apparatus therefor
KR102511059B1 (ko) * 2017-05-17 2023-03-17 삼성전자주식회사 동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치
GB201707912D0 (en) * 2017-05-17 2017-06-28 Microsoft Technology Licensing Llc Data compression system
CN108959312B (zh) * 2017-05-23 2021-01-29 华为技术有限公司 一种多文档摘要生成的方法、装置和终端
US20200050099A1 (en) * 2017-05-26 2020-02-13 Asml Netherlands B.V. Assist feature placement based on machine learning
EP3635636A4 (en) 2017-06-05 2021-03-24 D5A1 Llc ASYNCHRONOUS AGENTS WITH LEARNING COACHES AND STRUCTURALLY MODIFIED DEEP NEURAL NETWORKS WITHOUT PERFORMANCE LOSS
CN109218727B (zh) * 2017-06-30 2021-06-25 书法报视频媒体(湖北)有限公司 视频处理的方法和装置
EP3649618A1 (en) 2017-07-03 2020-05-13 Artomatix Ltd. Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework
US10986356B2 (en) 2017-07-06 2021-04-20 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor
WO2019009449A1 (ko) * 2017-07-06 2019-01-10 삼성전자 주식회사 영상을 부호화/복호화 하는 방법 및 그 장치
US11190784B2 (en) 2017-07-06 2021-11-30 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor
US11308361B1 (en) 2017-07-07 2022-04-19 Twitter, Inc. Checkerboard artifact free sub-pixel convolution
US11861811B2 (en) 2017-07-27 2024-01-02 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US11475542B2 (en) 2017-07-27 2022-10-18 Nvidia Corporation Neural network system with temporal feedback for adaptive sampling and denoising of rendered sequences
US11557022B2 (en) 2017-07-27 2023-01-17 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US10740985B2 (en) 2017-08-08 2020-08-11 Reald Spark, Llc Adjusting a digital representation of a head region
EP3447721A1 (en) * 2017-08-24 2019-02-27 Agfa Nv A method of generating an enhanced tomographic image of an object
JP7129986B2 (ja) * 2017-09-04 2022-09-02 株式会社半導体エネルギー研究所 画像処理方法および半導体装置、ならびに電子機器
US11170467B2 (en) * 2017-09-05 2021-11-09 Dish Network L.L.C. Systems and methods for graphics adjustment based on output resolution
US10713535B2 (en) * 2017-09-15 2020-07-14 NovuMind Limited Methods and processes of encrypted deep learning services
US10891715B2 (en) * 2017-09-22 2021-01-12 Continental Automotive Systems, Inc. Deep neural network for image enhancement
US10482575B2 (en) * 2017-09-28 2019-11-19 Intel Corporation Super-resolution apparatus and method for virtual and mixed reality
US9984325B1 (en) * 2017-10-04 2018-05-29 StradVision, Inc. Learning method and learning device for improving performance of CNN by using feature upsampling networks, and testing method and testing device using the same
US10043113B1 (en) * 2017-10-04 2018-08-07 StradVision, Inc. Method and device for generating feature maps by using feature upsampling networks
US11122238B1 (en) * 2017-11-07 2021-09-14 Twitter, Inc. Frame interpolation with multi-scale deep loss functions and generative adversarial networks
WO2019102476A2 (en) 2017-11-26 2019-05-31 Yeda Research And Development Co. Ltd. Signal enhancement and manipulation using a signal-specific deep network
CN108012157B (zh) * 2017-11-27 2020-02-04 上海交通大学 用于视频编码分数像素插值的卷积神经网络的构建方法
CN108108738B (zh) * 2017-11-28 2018-11-16 北京达佳互联信息技术有限公司 图像处理方法、装置及终端
US11704771B2 (en) * 2017-12-01 2023-07-18 Huawei Technologies Co., Ltd. Training super-resolution convolutional neural network model using a high-definition training image, a low-definition training image, and a mask image
US10460259B2 (en) 2017-12-04 2019-10-29 Bank Of America Corporation Dynamic progress recognition and recommendations based on machine learning
US10540574B2 (en) * 2017-12-07 2020-01-21 Shanghai Cambricon Information Technology Co., Ltd Image compression method and related device
US10722210B2 (en) * 2017-12-14 2020-07-28 Siemens Healthcare Gmbh Method for memorable image generation for anonymized three-dimensional medical image workflows
US10579908B2 (en) * 2017-12-15 2020-03-03 Google Llc Machine-learning based technique for fast image enhancement
US11074671B2 (en) * 2017-12-18 2021-07-27 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
EP3503548B1 (en) * 2017-12-19 2019-10-23 Axis AB Video encoding method and system
CN109961396B (zh) * 2017-12-25 2020-12-22 中国科学院沈阳自动化研究所 一种基于卷积神经网络的图像超分辨率重建方法
KR102314703B1 (ko) * 2017-12-26 2021-10-18 에스케이하이닉스 주식회사 이미지 처리를 위한 조인트 딕셔너리 생성 방법, 그 조인트 딕셔너리들을 이용한 인터레이스 기반 하이 다이나믹 레인지 이미징 장치 및 그 이미지 처리 방법
CN108062780B (zh) * 2017-12-29 2019-08-09 百度在线网络技术(北京)有限公司 图像压缩方法和装置
KR102050780B1 (ko) * 2018-01-10 2019-12-02 한국과학기술원 신경망을 이용한 컨텐츠 인지 기반 컨텐츠 전송 서버 장치 및 방법
CN108184128A (zh) * 2018-01-11 2018-06-19 安徽优思天成智能科技有限公司 基于深度神经网络的视频序列丢失帧预测恢复方法
CN108322685B (zh) * 2018-01-12 2020-09-25 广州华多网络科技有限公司 视频插帧方法、存储介质以及终端
CN108259994B (zh) * 2018-01-15 2020-10-30 复旦大学 一种提高视频空间分辨率的方法
US20190228313A1 (en) * 2018-01-23 2019-07-25 Insurance Services Office, Inc. Computer Vision Systems and Methods for Unsupervised Representation Learning by Sorting Sequences
US11289125B1 (en) * 2018-01-25 2022-03-29 Disney Enterprises, Inc. Digital conformation of media content
CN110087084B (zh) * 2018-01-25 2022-03-18 联咏科技股份有限公司 视频处理装置及视频处理方法
US11321612B2 (en) 2018-01-30 2022-05-03 D5Ai Llc Self-organizing partially ordered networks and soft-tying learned parameters, such as connection weights
CN108495132B (zh) * 2018-02-05 2019-10-11 西安电子科技大学 基于轻量级深度卷积网络的遥感影像大倍率压缩方法
KR102237288B1 (ko) * 2018-02-07 2021-04-07 울산과학기술원 기계학습 알고리즘을 이용한 이미지 변환 방법 및 장치
CN108416748A (zh) * 2018-02-26 2018-08-17 阿博茨德(北京)科技有限公司 Jpeg压缩文档的图像预处理方法及装置
US11017575B2 (en) 2018-02-26 2021-05-25 Reald Spark, Llc Method and system for generating data to provide an animated visual representation
US11392802B2 (en) 2018-03-07 2022-07-19 Private Identity Llc Systems and methods for privacy-enabled biometric processing
US11138333B2 (en) 2018-03-07 2021-10-05 Private Identity Llc Systems and methods for privacy-enabled biometric processing
US11265168B2 (en) 2018-03-07 2022-03-01 Private Identity Llc Systems and methods for privacy-enabled biometric processing
US10938852B1 (en) 2020-08-14 2021-03-02 Private Identity Llc Systems and methods for private authentication with helper networks
US11789699B2 (en) 2018-03-07 2023-10-17 Private Identity Llc Systems and methods for private authentication with helper networks
US10721070B2 (en) * 2018-03-07 2020-07-21 Private Identity Llc Systems and methods for privacy-enabled biometric processing
US11170084B2 (en) 2018-06-28 2021-11-09 Private Identity Llc Biometric authentication
US11210375B2 (en) 2018-03-07 2021-12-28 Private Identity Llc Systems and methods for biometric processing with liveness
US11489866B2 (en) 2018-03-07 2022-11-01 Private Identity Llc Systems and methods for private authentication with helper networks
US11502841B2 (en) 2018-03-07 2022-11-15 Private Identity Llc Systems and methods for privacy-enabled biometric processing
US11394552B2 (en) 2018-03-07 2022-07-19 Private Identity Llc Systems and methods for privacy-enabled biometric processing
CN108346133B (zh) * 2018-03-15 2021-06-04 武汉大学 一种面向视频卫星超分辨率重建的深度学习网络训练方法
CN110324620B (zh) * 2018-03-30 2021-08-24 杭州海康威视数字技术股份有限公司 帧内预测方法、装置、电子设备及机器可读存储介质
CN110324635B (zh) * 2018-03-30 2021-06-15 北京大学 分像素插值方法、系统、计算机设备和介质
WO2019197712A1 (en) * 2018-04-09 2019-10-17 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US11657264B2 (en) * 2018-04-09 2023-05-23 Nokia Technologies Oy Content-specific neural network distribution
WO2019197715A1 (en) * 2018-04-09 2019-10-17 Nokia Technologies Oy An apparatus, a method and a computer program for running a neural network
EP3777104B1 (en) * 2018-04-09 2023-02-15 LumenRadio AB Streaming using constrained dynamic multi-hop network
WO2019209005A1 (ko) * 2018-04-24 2019-10-31 주식회사 지디에프랩 인공지능 기반 해상도 개선 시스템
WO2019209006A1 (ko) * 2018-04-24 2019-10-31 주식회사 지디에프랩 스트리밍 파일의 해상도 개선 방법
WO2019209007A1 (ko) * 2018-04-24 2019-10-31 주식회사 지디에프랩 Ai 기반의 영상 압축 및 복원 시스템
WO2019209008A1 (ko) * 2018-04-24 2019-10-31 주식회사 지디에프랩 변화 매크로블록 추출 기법을 이용한 동영상 화질 개선 시스템
KR102082816B1 (ko) * 2018-04-24 2020-02-28 주식회사 지디에프랩 스트리밍 파일의 해상도 개선 방법
CN108596855A (zh) * 2018-04-28 2018-09-28 国信优易数据有限公司 一种视频图像质量增强方法、装置以及视频画质增强方法
CN110458754B (zh) * 2018-05-07 2021-12-03 Tcl科技集团股份有限公司 图像生成方法及终端设备
CN108765287B (zh) * 2018-05-09 2022-02-11 浙江师范大学 一种基于非局部均值的图像超分辨率方法
US11423312B2 (en) 2018-05-14 2022-08-23 Samsung Electronics Co., Ltd Method and apparatus for universal pruning and compression of deep convolutional neural networks under joint sparsity constraints
JP7014044B2 (ja) * 2018-05-15 2022-02-01 コニカミノルタ株式会社 超音波診断装置
DE112019002749T5 (de) * 2018-05-29 2021-04-08 Lg Electronics Inc. Signalverarbeitungsvorrichtung und bildanzeigegerät mit selbiger
US11941501B2 (en) * 2018-05-30 2024-03-26 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
TW202013265A (zh) * 2018-06-04 2020-04-01 美商萊特美特股份有限公司 使用可編程奈米光子器件計算旋積的方法
US10885608B2 (en) * 2018-06-06 2021-01-05 Adobe Inc. Super-resolution with reference images
JP7282487B2 (ja) * 2018-06-07 2023-05-29 キヤノンメディカルシステムズ株式会社 医用画像診断装置
EP3803712A4 (en) * 2018-06-08 2022-04-20 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR SELECTING A NEURONAL NETWORK
US10969935B2 (en) 2018-06-08 2021-04-06 Microsoft Technology Licensing, Llc System for generation of novel artifacts with user-guided discovery and navigation of the creative space
CN108900848B (zh) * 2018-06-12 2021-03-02 福建帝视信息科技有限公司 一种基于自适应可分离卷积的视频质量增强方法
CN109146777B (zh) * 2018-06-15 2020-10-27 国网浙江省电力有限公司 利用预训练网络的感知相似性进行混合图像超分辨方法
US10692184B2 (en) 2018-07-05 2020-06-23 SVXR, Inc. Super-resolution X-ray imaging method and apparatus
KR102570562B1 (ko) * 2018-07-16 2023-08-24 삼성전자주식회사 영상 처리 장치 및 그 동작방법
KR102022648B1 (ko) 2018-08-10 2019-09-19 삼성전자주식회사 전자 장치, 이의 제어 방법 및 서버의 제어 방법
CN109190520A (zh) * 2018-08-16 2019-01-11 广州视源电子科技股份有限公司 一种超分辨率重建人脸图像方法及装置
US10332035B1 (en) * 2018-08-29 2019-06-25 Capital One Services, Llc Systems and methods for accelerating model training in machine learning
WO2020048359A1 (en) * 2018-09-06 2020-03-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method, system, and computer-readable medium for improving quality of low-light images
US11062210B2 (en) 2018-10-02 2021-07-13 Nokia Technologies Oy Method and apparatus for training a neural network used for denoising
CN109361919A (zh) * 2018-10-09 2019-02-19 四川大学 一种联合超分辨率和去压缩效应的图像编码性能提升方法
US11429867B2 (en) 2018-10-11 2022-08-30 International Business Machines Corporation Down-sampling for convolutional neural networks
KR20200044653A (ko) 2018-10-19 2020-04-29 삼성전자주식회사 딥 뉴럴 네트워크를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
US11616988B2 (en) 2018-10-19 2023-03-28 Samsung Electronics Co., Ltd. Method and device for evaluating subjective quality of video
WO2020080765A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
WO2020080751A1 (ko) * 2018-10-19 2020-04-23 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US11720997B2 (en) 2018-10-19 2023-08-08 Samsung Electronics Co.. Ltd. Artificial intelligence (AI) encoding device and operating method thereof and AI decoding device and operating method thereof
KR102525576B1 (ko) * 2018-10-19 2023-04-26 삼성전자주식회사 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KR102525578B1 (ko) * 2018-10-19 2023-04-26 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR102525577B1 (ko) * 2018-10-19 2023-04-26 삼성전자주식회사 데이터 스트리밍 방법 및 장치
WO2020080873A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Method and apparatus for streaming data
WO2020080827A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Ai encoding apparatus and operation method of the same, and ai decoding apparatus and operation method of the same
WO2020080665A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
CA3040685C (en) * 2018-10-24 2020-07-28 Alibaba Group Holding Limited Fast computation of a convolutional neural network
CN109410141B (zh) * 2018-10-26 2021-03-02 北京金山云网络技术有限公司 一种图像处理方法、装置、电子设备及存储介质
CN109448070B (zh) * 2018-11-06 2020-10-09 明峰医疗系统股份有限公司 一种ct宽展视野的重建方法
JP7024687B2 (ja) * 2018-11-07 2022-02-24 日本電信電話株式会社 データ分析システム、学習装置、方法、及びプログラム
CN112889069B (zh) * 2018-11-08 2024-04-05 Oppo广东移动通信有限公司 用于提高低照度图像质量的方法、系统和计算机可读介质
CN111178491A (zh) * 2018-11-09 2020-05-19 佳能株式会社 神经网络模型的训练和应用方法、装置、系统及存储介质
KR102622950B1 (ko) * 2018-11-12 2024-01-10 삼성전자주식회사 디스플레이장치, 그 제어방법 및 기록매체
KR20200057849A (ko) * 2018-11-15 2020-05-27 삼성전자주식회사 영상의 리타겟팅을 위한 영상 처리 장치 및 방법
US10885384B2 (en) * 2018-11-15 2021-01-05 Intel Corporation Local tone mapping to reduce bit depth of input images to high-level computer vision tasks
KR20200063303A (ko) * 2018-11-19 2020-06-05 삼성전자주식회사 영상 처리 장치 및 그 제어방법
WO2020108009A1 (en) * 2018-11-26 2020-06-04 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method, system, and computer-readable medium for improving quality of low-light images
CN109495741B (zh) * 2018-11-29 2023-03-31 四川大学 基于自适应下采样和深度学习的图像压缩方法
US11601644B2 (en) * 2018-12-11 2023-03-07 Google Llc Image and video coding using machine learning prediction coding models
KR102641423B1 (ko) * 2018-12-11 2024-02-28 삼성전자주식회사 영상 처리 장치 및 그 동작방법
US10909659B2 (en) * 2018-12-12 2021-02-02 Apical Limited Super-resolution image processing using a machine learning system
CN109685750A (zh) * 2018-12-14 2019-04-26 厦门美图之家科技有限公司 图像增强方法及计算设备
US10963757B2 (en) 2018-12-14 2021-03-30 Industrial Technology Research Institute Neural network model fusion method and electronic device using the same
CN109767386A (zh) * 2018-12-22 2019-05-17 昆明理工大学 一种基于深度学习的快速图像超分辨率重建方法
RU2697928C1 (ru) 2018-12-28 2019-08-21 Самсунг Электроникс Ко., Лтд. Способ сверхразрешения изображения, имитирующего повышение детализации на основе оптической системы, выполняемый на мобильном устройстве, обладающем ограниченными ресурсами, и мобильное устройство, его реализующее
IN201911000737A (es) * 2019-01-07 2019-09-22 Hcl Technologies Limited
US11080835B2 (en) * 2019-01-09 2021-08-03 Disney Enterprises, Inc. Pixel error detection system
US11521131B2 (en) * 2019-01-24 2022-12-06 Jumio Corporation Systems and methods for deep-learning based super-resolution using multiple degradations on-demand learning
CN109886990B (zh) * 2019-01-29 2021-04-13 理光软件研究所(北京)有限公司 一种基于深度学习的图像分割系统
EP3925214A4 (en) 2019-02-15 2022-11-23 Nokia Technologies Oy DEVICE, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING
US11487739B2 (en) * 2019-02-19 2022-11-01 Nasdaq, Inc. System and methods for data model detection and surveillance
US11009617B2 (en) * 2019-02-20 2021-05-18 Saudi Arabian Oil Company Method for fast calculation of seismic attributes using artificial intelligence
WO2020182092A1 (en) 2019-03-08 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Constraints on model-based reshaping in video processing
EP3941066A4 (en) 2019-03-24 2022-06-22 Guangdong Oppo Mobile Telecommunications Corp., Ltd. FILTER METHOD AND APPARATUS AND COMPUTER STORAGE MEDIUM
KR20200114436A (ko) * 2019-03-28 2020-10-07 국방과학연구소 스케일러블 영상 부호화를 수행하는 장치 및 방법
US10909700B2 (en) 2019-04-02 2021-02-02 Samsung Electronics Co., Ltd. Display apparatus and image processing method thereof
CA3135968C (en) 2019-04-18 2024-05-14 Beijing Bytedance Network Technology Co., Ltd. Restriction on applicability of cross component mode
CN113711610B (zh) 2019-04-23 2024-04-16 北京字节跳动网络技术有限公司 降低跨分量依赖性的方法
CN110147252A (zh) * 2019-04-28 2019-08-20 深兰科技(上海)有限公司 一种卷积神经网络的并行计算方法及装置
US20220215511A1 (en) * 2019-04-29 2022-07-07 Deep Render Ltd System and method for lossy image and video compression and/or transmission utilizing a metanetwork or neural networks
US11216917B2 (en) 2019-05-03 2022-01-04 Amazon Technologies, Inc. Video enhancement using a neural network
US11017506B2 (en) 2019-05-03 2021-05-25 Amazon Technologies, Inc. Video enhancement using a generator with filters of generative adversarial network
WO2020227179A1 (en) * 2019-05-03 2020-11-12 Amazon Technologies, Inc. Video enhancement using a neural network
CN113994366A (zh) * 2019-05-03 2022-01-28 华为技术有限公司 用于视频超分辨率的多阶段多参考自举
US11210769B2 (en) 2019-05-03 2021-12-28 Amazon Technologies, Inc. Video enhancement using a recurrent image date of a neural network
US20220156884A1 (en) * 2019-05-06 2022-05-19 Sony Group Corporation Electronic device, method and computer program
CN110121110B (zh) * 2019-05-07 2021-05-25 北京奇艺世纪科技有限公司 视频质量评估方法、设备、视频处理设备及介质
WO2020224629A1 (en) 2019-05-08 2020-11-12 Beijing Bytedance Network Technology Co., Ltd. Conditions for applicability of cross-component coding
KR102236582B1 (ko) * 2019-05-14 2021-04-06 삼성전자주식회사 영상 처리 장치 및 그 동작방법
CN110163802B (zh) * 2019-05-20 2020-09-01 电子科技大学 一种基于神经网络的sar图像超分辨方法
CN110099280B (zh) * 2019-05-24 2020-05-08 浙江大学 一种无线自组织网络带宽受限下的视频业务质量增强方法
CN112085652A (zh) * 2019-06-14 2020-12-15 深圳市中兴微电子技术有限公司 一种图像处理的方法、装置、计算机存储介质及终端
CN117478908A (zh) 2019-06-22 2024-01-30 北京字节跳动网络技术有限公司 色度残差缩放的语法元素
KR20210004702A (ko) * 2019-07-05 2021-01-13 삼성전자주식회사 Ai 프로세서 및 이의 신경망 연산 수행 방법
CN117395396A (zh) 2019-07-07 2024-01-12 北京字节跳动网络技术有限公司 色度残差缩放的信令通知
CN110378854B (zh) * 2019-07-17 2021-10-26 上海商汤智能科技有限公司 机器人图像增强方法及装置
CN110378976B (zh) * 2019-07-18 2020-11-13 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN110428378B (zh) 2019-07-26 2022-02-08 北京小米移动软件有限公司 图像的处理方法、装置及存储介质
CN112308200B (zh) * 2019-07-30 2024-04-26 华为技术有限公司 神经网络的搜索方法及装置
CN110650339A (zh) * 2019-08-08 2020-01-03 合肥图鸭信息科技有限公司 一种视频压缩方法、装置及终端设备
KR102248097B1 (ko) * 2019-08-19 2021-05-06 네이버 주식회사 컨텐츠전송방법 및 이를 이용한 컨텐츠 생성 단말
US10839565B1 (en) * 2019-08-19 2020-11-17 Samsung Electronics Co., Ltd. Decoding apparatus and operating method of the same, and artificial intelligence (AI) up-scaling apparatus and operating method of the same
US11551054B2 (en) 2019-08-27 2023-01-10 International Business Machines Corporation System-aware selective quantization for performance optimized distributed deep learning
US10972749B2 (en) * 2019-08-29 2021-04-06 Disney Enterprises, Inc. Systems and methods for reconstructing frames
US11012718B2 (en) 2019-08-30 2021-05-18 Disney Enterprises, Inc. Systems and methods for generating a latent space residual
EP4024875A4 (en) * 2019-08-30 2022-10-26 Sony Group Corporation RECEIVING DEVICE, RECEIVING METHOD AND TRANSMISSION DEVICE AND TRANSMISSION METHOD
US11392799B2 (en) * 2019-09-09 2022-07-19 Apple Inc. Method for improving temporal consistency of deep neural networks
US20220335571A1 (en) * 2019-09-11 2022-10-20 The State Of Israel, Ministry Of Agriculture & Rural Development, Agricultural Research Organization Methods and systems for super resolution for infra-red imagery
KR102166337B1 (ko) * 2019-09-17 2020-10-15 삼성전자주식회사 영상의 ai 부호화 방법 및 장치, 영상의 ai 복호화 방법 및 장치
KR20190117416A (ko) * 2019-09-26 2019-10-16 엘지전자 주식회사 동영상 프레임 해상도를 향상시키기 위한 방법 및 장치
US11445222B1 (en) 2019-09-30 2022-09-13 Isize Limited Preprocessing image data
US10789354B1 (en) * 2019-10-01 2020-09-29 Capital One Services, Llc Computer-based systems configured for detecting and sandboxing external resources and methods of use thereof
US11341688B2 (en) 2019-10-02 2022-05-24 Nokia Technologies Oy Guiding decoder-side optimization of neural network filter
KR102624027B1 (ko) 2019-10-17 2024-01-11 삼성전자주식회사 영상 처리 장치 및 방법
KR102436512B1 (ko) 2019-10-29 2022-08-25 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
DE102019217147A1 (de) * 2019-11-06 2021-05-06 Robert Bosch Gmbh Verwendung von Kostenkarten und Konvergenzkarten zur Lokalisierung und Kartierung
KR20210056179A (ko) * 2019-11-08 2021-05-18 삼성전자주식회사 Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
CN110853040B (zh) * 2019-11-12 2023-04-28 北京深境智能科技有限公司 一种基于超分辨率重建的图像协同分割方法
WO2021096159A1 (ko) 2019-11-15 2021-05-20 한국과학기술원 라이브 비디오 수집 시스템 및 방법
US11544815B2 (en) 2019-11-18 2023-01-03 Advanced Micro Devices, Inc. Gaming super resolution
US11556784B2 (en) 2019-11-22 2023-01-17 Samsung Electronics Co., Ltd. Multi-task fusion neural network architecture
KR20210067699A (ko) 2019-11-29 2021-06-08 삼성전자주식회사 전자 장치 및 그 제어 방법
US20210192019A1 (en) * 2019-12-18 2021-06-24 Booz Allen Hamilton Inc. System and method for digital steganography purification
KR20210078218A (ko) * 2019-12-18 2021-06-28 삼성전자주식회사 전자장치 및 그 제어방법
CN111083498B (zh) * 2019-12-18 2021-12-21 杭州师范大学 用于视频编码帧间环路滤波的模型训练方法和使用方法
US11172210B2 (en) 2020-01-05 2021-11-09 Isize Limited Processing image data
WO2021139380A1 (en) * 2020-01-10 2021-07-15 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image processing method and device, electronic device
US11206438B2 (en) 2020-01-17 2021-12-21 Amazon Technologies, Inc. Video enhancement service
KR102130076B1 (ko) * 2020-02-19 2020-07-03 주식회사 지디에프랩 특징 영역의 학습 중요도를 바탕으로 스트리밍 파일의 해상도를 개선하는 방법
KR102130078B1 (ko) * 2020-02-19 2020-07-03 주식회사 지디에프랩 해상도 향상도를 바탕으로 인공지능 파라미터를 변경하는 시스템
KR102130077B1 (ko) * 2020-02-19 2020-07-03 주식회사 지디에프랩 격자 생성 패턴 정보를 바탕으로 해상도를 개선하는 시스템
KR102287942B1 (ko) * 2020-02-24 2021-08-09 삼성전자주식회사 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
WO2021206687A1 (en) * 2020-04-07 2021-10-14 Purdue Research Foundation Image upsampling
CN113518227B (zh) * 2020-04-09 2023-02-10 于江鸿 数据处理的方法和系统
US11288771B2 (en) * 2020-04-29 2022-03-29 Adobe Inc. Texture hallucination for large-scale image super-resolution
CN111696034B (zh) * 2020-05-11 2023-10-27 青岛小鸟看看科技有限公司 图像处理方法、装置及电子设备
CN111683250B (zh) * 2020-05-13 2021-03-16 武汉大学 一种基于深度学习的生成式遥感图像压缩方法
US11223841B2 (en) * 2020-05-29 2022-01-11 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image
US11205077B1 (en) * 2020-05-29 2021-12-21 Arm Limited Operating on a video frame to generate a feature map of a neural network
TWI768364B (zh) * 2020-06-01 2022-06-21 宏碁股份有限公司 處理可播放於一虛擬裝置的圖片的方法及電子裝置
CN111402143B (zh) * 2020-06-03 2020-09-04 腾讯科技(深圳)有限公司 图像处理方法、装置、设备及计算机可读存储介质
CN111737909B (zh) * 2020-06-10 2021-02-09 哈尔滨工业大学 基于时空图卷积网络的结构健康监测数据异常识别方法
WO2021251614A1 (en) 2020-06-12 2021-12-16 Samsung Electronics Co., Ltd. Image processing apparatus and method of operating the same
US11436703B2 (en) * 2020-06-12 2022-09-06 Samsung Electronics Co., Ltd. Method and apparatus for adaptive artificial intelligence downscaling for upscaling during video telephone call
CN111899759B (zh) * 2020-07-27 2021-09-03 北京嘀嘀无限科技发展有限公司 音频数据的预训练、模型训练方法、装置、设备及介质
CN112070657B (zh) * 2020-08-14 2024-02-27 昀光微电子(上海)有限公司 图像处理方法、装置、系统、设备及计算机存储介质
US11908103B2 (en) * 2020-08-14 2024-02-20 Tencent America LLC Multi-scale-factor image super resolution with micro-structured masks
US20220067879A1 (en) * 2020-09-03 2022-03-03 Nvidia Corporation Image enhancement using one or more neural networks
EP3975105A1 (en) * 2020-09-25 2022-03-30 Aptiv Technologies Limited Method and system for interpolation and method and system for determining a map of a surrounding of a vehicle
US11792438B2 (en) * 2020-10-02 2023-10-17 Lemon Inc. Using neural network filtering in video coding
WO2022073100A1 (en) * 2020-10-07 2022-04-14 Afx Medical Inc. Systems and methods for segmenting 3d images
US20230389817A1 (en) * 2020-10-29 2023-12-07 Hewlett-Packard Development Company, L.P. Neural networks to determine respiration rates
US11683358B2 (en) 2020-11-04 2023-06-20 Microsoft Technology Licensing, Llc Dynamic user-device upscaling of media streams
US20220165002A1 (en) * 2020-11-25 2022-05-26 Siemens Healthcare Gmbh Iterative hierarchal network for regulating medical image reconstruction
CN112465701B (zh) * 2020-11-26 2023-08-29 上海健康医学院 显微图像的深度学习超分辨率重建方法、介质及电子设备
AU2020281143B1 (en) * 2020-12-04 2021-03-25 Commonwealth Scientific And Industrial Research Organisation Creating super-resolution images
DE102020215461A1 (de) * 2020-12-08 2022-06-09 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Bildgenerators
KR20220081648A (ko) * 2020-12-09 2022-06-16 삼성전자주식회사 Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
DE102020215852B4 (de) * 2020-12-14 2022-07-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Robuste Ankunftszeitschätzung unter Verwendung von faltenden neuronalen Netzerken (oder anderen Funktionsapproximationen) auf randomisierten Kanalmodellen
CN112714321B (zh) * 2020-12-18 2022-11-22 深圳大学 压缩视频处理方法、装置、设备及计算机可读存储介质
CN112541878A (zh) * 2020-12-24 2021-03-23 北京百度网讯科技有限公司 建立图像增强模型与图像增强的方法、装置
TWI766522B (zh) * 2020-12-31 2022-06-01 鴻海精密工業股份有限公司 資料處理方法、裝置、電子設備及存儲介質
FR3118747A1 (fr) * 2021-01-11 2022-07-15 Psa Automobiles Sa Procédé et dispositif de détermination d’information représentative d’adhérence entre un véhicule et un revêtement d’une route
US11451744B2 (en) 2021-01-21 2022-09-20 Dell Products, Lp Lighting, color vector, and virtual background correction during a video conference session
US11310464B1 (en) 2021-01-24 2022-04-19 Dell Products, Lp System and method for seviceability during execution of a video conferencing application using intelligent contextual session management
US20230343119A1 (en) * 2021-02-26 2023-10-26 Hewlett-Packard Development Company, L.P. Captured document image enhancement
US11271984B1 (en) * 2021-03-29 2022-03-08 International Business Machines Corporation Reduced bandwidth consumption via generative adversarial networks
US11924415B2 (en) 2021-05-11 2024-03-05 Tencent America LLC Method and apparatus for boundary handling in video coding
CN113507607B (zh) * 2021-06-11 2023-05-26 电子科技大学 一种无需运动补偿的压缩视频多帧质量增强方法
US11997326B2 (en) 2021-11-30 2024-05-28 Samsung Electronics Co., Ltd. Method of streaming image content between server and electronic device, server for streaming image content, and electronic device for streaming image content
CN114235970B (zh) * 2021-12-20 2024-04-23 西安科技大学 一种自适应超声重叠回波分离方法
WO2023199172A1 (en) * 2022-04-11 2023-10-19 Nokia Technologies Oy Apparatus and method for optimizing the overfitting of neural network filters
CN114845138A (zh) * 2022-04-26 2022-08-02 三星电子(中国)研发中心 自适应流媒体的超分辨率重建方法和装置及服务器
CN115879516B (zh) * 2023-03-02 2023-05-16 南昌大学 一种数据取证方法
CN116527833B (zh) * 2023-07-03 2023-09-05 清华大学 一种基于超分模型的高清视频生成方法及系统

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3037010A (en) 1957-11-27 1962-05-29 Du Pont Polymeric perfluoro-2-butyne
JPS6421385A (en) 1987-07-17 1989-01-24 Seiko Epson Corp Preparation of dial for clock
FR2646575A1 (fr) * 1989-04-26 1990-11-02 Labo Electronique Physique Procede et structure pour la compression de donnees
DE4326487C2 (de) 1992-09-16 1995-02-09 Konrad Michael Dipl Ing Weigl Adaptives Filter
US5376962A (en) 1993-03-31 1994-12-27 Panasonic Technologies, Inc. Neural network video image processor
KR0139154B1 (ko) 1994-07-08 1998-06-15 김광호 신경망을 이용한 부호화방법 및 그 장치
US6075884A (en) 1996-03-29 2000-06-13 Sarnoff Corporation Method and apparatus for training a neural network to learn and use fidelity metric as a control mechanism
WO1997039417A2 (en) 1996-03-29 1997-10-23 Sarnoff Corporation Method and apparatus for training a neural network to use a fidelity metric
JPH1021385A (ja) 1996-07-03 1998-01-23 N T T Data Tsushin Kk 画像処理方法及び装置
US5831678A (en) 1996-08-09 1998-11-03 U.S. Robotics Access Corp. Video encoder/decoder system
AU2352100A (en) 1998-12-03 2000-06-19 Qbeo, Inc. Digital image improvement through genetic image evolution
US6470097B1 (en) 1999-01-22 2002-10-22 Siemens Corporation Research, Inc. Total variational blind image restoration from image sequences
CN1520580A (zh) 2000-07-06 2004-08-11 ŦԼ�и��ױ��Ǵ�ѧ�йܻ� 用于增强数据解析度的方法和设备
US7133568B2 (en) 2000-08-04 2006-11-07 Nikitin Alexei V Method and apparatus for analysis of variables
US6735336B2 (en) 2001-05-16 2004-05-11 Applied Neural Computing Ltd. Apparatus for and method of pattern recognition and image analysis
KR20030009575A (ko) 2001-06-26 2003-02-05 박광훈 신경망 분류기를 이용한 동영상 전송률 제어 장치 및 그방법
US7298412B2 (en) 2001-09-18 2007-11-20 Ricoh Company, Limited Image pickup device, automatic focusing method, automatic exposure method, electronic flash control method and computer program
US7599434B2 (en) 2001-09-26 2009-10-06 Reynolds Jodie L System and method for compressing portions of a media signal using different codecs
US6874690B2 (en) 2002-01-11 2005-04-05 Metrologic Instruments, Inc. Modular omnidirectional bar code symbol scanning system with at least one service port for removable installation of scan module insert
GB0209780D0 (en) 2002-04-29 2002-06-05 Neural Technologies Ltd Method of encoding data for decoding data from and constraining a neural network
ATE521953T1 (de) 2002-10-22 2011-09-15 Artoolworks Verfolgung einer oberfläche in einerdreidimensionalen szene unter verwendung natürlicher visueller merkmale deroberfläche
JP2006509041A (ja) 2002-10-23 2006-03-16 ザイモジェネティクス,インコーポレイティド Il−28およびil−29を用いるウイルス感染を治療するための方法
KR100529311B1 (ko) 2003-01-21 2005-11-17 삼성전자주식회사 신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법
US7218796B2 (en) * 2003-04-30 2007-05-15 Microsoft Corporation Patch-based video super-resolution
KR100594056B1 (ko) 2003-09-01 2006-07-03 삼성전자주식회사 효율적인 비트율 제어를 위한 h.263/mpeg 비디오인코더 및 그 제어 방법
WO2005072337A2 (en) * 2004-01-23 2005-08-11 Sarnoff Corporation Method and apparatus for digital video reconstruction
JP2005352900A (ja) 2004-06-11 2005-12-22 Canon Inc 情報処理装置、情報処理方法、パターン認識装置、及びパターン認識方法
US7876833B2 (en) * 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
US7623731B2 (en) 2005-06-20 2009-11-24 Honda Motor Co., Ltd. Direct method for modeling non-rigid motion with thin plate spline transformation
FR2889778A1 (fr) 2005-08-12 2007-02-16 Thomson Licensing Sas Procede de codage et de decodage d'images video avec echelonnabilite spatiale
WO2007029443A1 (ja) 2005-09-09 2007-03-15 Matsushita Electric Industrial Co., Ltd. 画像処理方法、画像記録方法、画像処理装置および画像ファイルフォーマット
WO2008106615A1 (en) 2007-02-28 2008-09-04 Numenta, Inc. Spatio-temporal learning algorithms in hierarchical temporal networks
US7747107B2 (en) 2007-03-06 2010-06-29 Mitsubishi Electric Research Laboratories, Inc. Method for retargeting images
US9799098B2 (en) * 2007-04-24 2017-10-24 Massachusetts Institute Of Technology Method and apparatus for image processing
US8204128B2 (en) * 2007-08-01 2012-06-19 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Learning filters for enhancing the quality of block coded still and video images
US8331615B2 (en) 2007-08-01 2012-12-11 The Board Of Trustees Of The University Of Illinois Match, expand, and filter technique for multi-view stereopsis
US8223837B2 (en) 2007-09-07 2012-07-17 Microsoft Corporation Learning-based image compression
US20090110285A1 (en) 2007-10-26 2009-04-30 Technion Research And Development Foundation Ltd Apparatus and method for improving image resolution using fuzzy motion estimation
US8306121B2 (en) 2008-03-17 2012-11-06 Ati Technologies Ulc Method and apparatus for super-resolution of images
CN101621683A (zh) 2008-07-01 2010-01-06 邹采荣 一种基于avs的快速立体视频编码方法
KR100963424B1 (ko) 2008-07-23 2010-06-15 한국전자통신연구원 스케일러블 영상 복호화기 및 그 제어 방법
US8731255B2 (en) 2008-11-05 2014-05-20 University Of Louisville Research Foundation, Inc. Computer aided diagnostic system incorporating lung segmentation and registration
WO2011069021A2 (en) 2009-12-02 2011-06-09 Qualcomm Incorporated Improving performance of image recognition algorithms by pruning features, image scaling, and spatially constrained feature matching
EP2526698A1 (en) 2010-01-22 2012-11-28 Thomson Licensing Methods and apparatus for sampling -based super resolution video encoding and decoding
CN102726044B (zh) * 2010-01-22 2016-08-10 汤姆逊许可证公司 使用基于示例的超分辨率的用于视频压缩的数据剪切
CN102148996A (zh) 2010-02-04 2011-08-10 成都市世嘉电子实业有限公司 帧内宏块预测模式判定方法
US8521664B1 (en) 2010-05-14 2013-08-27 Google Inc. Predictive analytical model matching
US8428390B2 (en) 2010-06-14 2013-04-23 Microsoft Corporation Generating sharp images, panoramas, and videos from motion-blurred videos
EP2410746A1 (en) 2010-07-20 2012-01-25 Siemens Aktiengesellschaft Video coding with reference frames of high resolution
US9241160B2 (en) 2010-07-21 2016-01-19 Dolby Laboratories Licensing Corporation Reference processing using advanced motion models for video coding
WO2012030872A1 (en) 2010-09-02 2012-03-08 Edge3 Technologies Inc. Method and apparatus for confusion learning
EP2557789B1 (en) * 2011-08-09 2017-09-27 Dolby Laboratories Licensing Corporation Guided image up-sampling in video coding
US8718407B2 (en) * 2011-11-18 2014-05-06 Stmicroelectronics (Canada), Inc. High-quality single-frame superresolution training and reconstruction engine
EP2810243A4 (en) 2012-01-25 2015-12-02 Intel Corp RESIZING IMAGE BASED ON CONTENT USING SUPER PIXELS
US8620073B2 (en) 2012-02-24 2013-12-31 Mitsubishi Electric Research Laboratories, Inc. Upscaling natural images
CN103369349B (zh) 2012-03-28 2016-04-27 中国移动通信集团公司 一种数字视频质量控制方法及其装置
CN104685877B (zh) 2012-09-28 2019-03-29 Vid拓展公司 用于多层视频编码的自适应上采样
US9904889B2 (en) 2012-12-05 2018-02-27 Applied Brain Research Inc. Methods and systems for artificial cognition
US20140177706A1 (en) * 2012-12-21 2014-06-26 Samsung Electronics Co., Ltd Method and system for providing super-resolution of quantized images and video
US9924200B2 (en) * 2013-01-24 2018-03-20 Microsoft Technology Licensing, Llc Adaptive noise reduction engine for streaming video
KR102080859B1 (ko) 2013-04-08 2020-02-24 삼성전자주식회사 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법
WO2014174087A1 (en) * 2013-04-25 2014-10-30 Thomson Licensing Method and device for performing super-resolution on an input image
EP2806374B1 (en) 2013-05-24 2022-07-06 Tata Consultancy Services Limited Method and system for automatic selection of one or more image processing algorithm
MX369507B (es) 2013-06-14 2019-11-11 Arris Tech Inc Filtros de remuestreo para codificación de video escalable.
KR102103984B1 (ko) 2013-07-15 2020-04-23 삼성전자주식회사 깊이 영상 처리 방법 및 장치
US9195909B2 (en) 2013-09-23 2015-11-24 Adobe Systems Incorporated Using machine learning to define user controls for photo adjustments
US9668699B2 (en) 2013-10-17 2017-06-06 Siemens Healthcare Gmbh Method and system for anatomical object detection using marginal space deep neural networks
US9342870B2 (en) 2013-10-22 2016-05-17 Adobe Systems Incorporated Tree-based linear regression for denoising
US9208539B2 (en) 2013-11-30 2015-12-08 Sharp Laboratories Of America, Inc. Image enhancement using semantic components
JP6335504B2 (ja) 2013-12-20 2018-05-30 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US10846611B2 (en) 2014-06-16 2020-11-24 Nokia Technologies Oy Data processing
WO2015192316A1 (en) * 2014-06-17 2015-12-23 Beijing Kuangshi Technology Co., Ltd. Face hallucination using convolutional neural networks
US9996768B2 (en) 2014-11-19 2018-06-12 Adobe Systems Incorporated Neural network patch aggregation and statistics
DE202016009102U1 (de) 2015-02-19 2022-04-22 Magic Pony Technology Limited Verbesserung visueller Daten mittels gestufter Faltungen
GB201603144D0 (en) 2016-02-23 2016-04-06 Magic Pony Technology Ltd Training end-to-end video processes
GB201604672D0 (en) 2016-03-18 2016-05-04 Magic Pony Technology Ltd Generative methods of super resolution
EP3278559B1 (en) 2015-03-31 2021-05-05 Magic Pony Technology Limited Training end-to-end video processes
CN105120130B (zh) 2015-09-17 2018-06-29 京东方科技集团股份有限公司 一种图像升频系统、其训练方法及图像升频方法
EP3166070B1 (en) 2015-11-09 2021-01-06 InterDigital CE Patent Holdings Method for upscaling noisy images, and apparatus for upscaling noisy images
US10648924B2 (en) 2016-01-04 2020-05-12 Kla-Tencor Corp. Generating high resolution images from low resolution images for semiconductor applications
CN105931179B (zh) 2016-04-08 2018-10-26 武汉大学 一种联合稀疏表示与深度学习的图像超分辨率方法及系统
WO2017178808A1 (en) 2016-04-12 2017-10-19 Magic Pony Technology Limited Visual data processing using energy networks
GB201607994D0 (en) 2016-05-06 2016-06-22 Magic Pony Technology Ltd Encoder pre-analyser
US11024009B2 (en) 2016-09-15 2021-06-01 Twitter, Inc. Super resolution using a generative adversarial network
KR102631381B1 (ko) * 2016-11-07 2024-01-31 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치
US10832168B2 (en) 2017-01-10 2020-11-10 Crowdstrike, Inc. Computational modeling and classification of data streams
US10607319B2 (en) 2017-04-06 2020-03-31 Pixar Denoising monte carlo renderings using progressive neural networks

Also Published As

Publication number Publication date
US20170347061A1 (en) 2017-11-30
ES2872724T3 (es) 2021-11-02
DE202016009107U1 (de) 2022-04-27
DE202016009102U1 (de) 2022-04-22
EP3259920A1 (en) 2017-12-27
US20170347060A1 (en) 2017-11-30
GB2539845B (en) 2017-07-12
US10623756B2 (en) 2020-04-14
EP3259912B1 (en) 2021-09-01
US20180130180A1 (en) 2018-05-10
US20170347110A1 (en) 2017-11-30
US20180130179A1 (en) 2018-05-10
EP3259911B1 (en) 2021-04-07
EP3259919A1 (en) 2017-12-27
WO2016132151A1 (en) 2016-08-25
GB2543429B (en) 2017-09-27
EP3259916A1 (en) 2017-12-27
WO2016132150A1 (en) 2016-08-25
WO2016132145A1 (en) 2016-08-25
WO2016132148A1 (en) 2016-08-25
GB201617482D0 (en) 2016-11-30
EP3259918B1 (en) 2020-08-19
US20180129918A1 (en) 2018-05-10
US10904541B2 (en) 2021-01-26
GB201617471D0 (en) 2016-11-30
EP3259918A1 (en) 2017-12-27
US10887613B2 (en) 2021-01-05
GB2540889B (en) 2017-07-12
GB2543958B (en) 2017-09-27
EP3259910B1 (en) 2021-04-28
US10499069B2 (en) 2019-12-03
US10547858B2 (en) 2020-01-28
DE202016009089U1 (de) 2022-02-10
WO2016132154A1 (en) 2016-08-25
US20170374374A1 (en) 2017-12-28
EP3259913B1 (en) 2021-05-12
WO2016132153A1 (en) 2016-08-25
WO2016132152A1 (en) 2016-08-25
EP3259916B1 (en) 2021-05-26
GB2543429A (en) 2017-04-19
DE202016009101U1 (de) 2022-04-05
GB2539846A (en) 2016-12-28
US10582205B2 (en) 2020-03-03
WO2016132146A1 (en) 2016-08-25
GB2539846B (en) 2017-11-01
EP3259913A1 (en) 2017-12-27
EP3259910A1 (en) 2017-12-27
GB2540889A (en) 2017-02-01
GB2543958A (en) 2017-05-03
WO2016132147A1 (en) 2016-08-25
DE202016009100U1 (de) 2022-04-05
US20180130178A1 (en) 2018-05-10
US20180130177A1 (en) 2018-05-10
GB201617478D0 (en) 2016-11-30
EP3493149A1 (en) 2019-06-05
US10523955B2 (en) 2019-12-31
EP3259915A1 (en) 2017-12-27
US20170345130A1 (en) 2017-11-30
EP3259911A1 (en) 2017-12-27
US10516890B2 (en) 2019-12-24
EP3259914A1 (en) 2017-12-27
EP3259912A1 (en) 2017-12-27
WO2016132149A1 (en) 2016-08-25
DE202016009091U1 (de) 2022-02-10
US11528492B2 (en) 2022-12-13
GB201617475D0 (en) 2016-11-30
GB201617481D0 (en) 2016-11-30
US10630996B2 (en) 2020-04-21
GB2539845A (en) 2016-12-28

Similar Documents

Publication Publication Date Title
ES2873845T3 (es) Aprendizaje automático para el procesamiento visual
WO2017144881A1 (en) Training end-to-end video processes
GB2548749A (en) Online training of hierarchical algorithms