ES2872724T3 - Mejora de los datos visuales mediante el uso de redes neuronales actualizadas - Google Patents

Mejora de los datos visuales mediante el uso de redes neuronales actualizadas Download PDF

Info

Publication number
ES2872724T3
ES2872724T3 ES16706420T ES16706420T ES2872724T3 ES 2872724 T3 ES2872724 T3 ES 2872724T3 ES 16706420 T ES16706420 T ES 16706420T ES 16706420 T ES16706420 T ES 16706420T ES 2872724 T3 ES2872724 T3 ES 2872724T3
Authority
ES
Spain
Prior art keywords
neural network
video
resolution
network model
visual data
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
ES16706420T
Other languages
English (en)
Inventor
Zehan Wang
Robert David Bishop
Wenzhe Shi
Jose Caballero
Andrew Peter 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 ES2872724T3 publication Critical patent/ES2872724T3/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
    • 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
    • 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/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 (1000) 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 al menos una sección de datos visuales de mayor calidad para proporcionar al menos una sección de datos visuales de menor calidad; seleccionar (1040) un primer modelo de red neuronal que tiene un primer conjunto de parámetros de una biblioteca de modelos de red neuronal preentrenados; desarrollar (1060) un segundo modelo de red neuronal que tiene un segundo conjunto de parámetros diferentes al primer conjunto de parámetros, en donde desarrollar el segundo modelo de red neuronal comprende un entrenamiento adicional (1060) del primer modelo de red neuronal para recrear sustancialmente la al menos una sección de datos visuales de mayor calidad al aumentar la resolución de la al menos una sección correspondiente de datos visuales de menor calidad, en donde dicho entrenamiento adicional comprende calcular un error entre la al menos una sección de datos visuales de mayor calidad y una salida obtenida con el primer modelo de red neuronal, cuantificando el error mediante una función de costo predefinida y ajustando el primer conjunto de parámetros para minimizar el error; determinar un conjunto de modificaciones, que cuando se realizan en el primer modelo de red neuronal, producen el segundo modelo de red neuronal, en donde determinar el conjunto de modificaciones comprende comparar el primer modelo de red neuronal con el segundo modelo de red neuronal; transmitir (1050) una o más referencias al primer modelo de red neuronal a partir del cual se desarrolló el segundo modelo de red neuronal; y transmitir (1050) el conjunto de modificaciones, que cuando se realizan para el primer modelo de red neuronal, producen el segundo modelo de red neuronal, en donde el segundo nodo puede recibir la una o más referencias al primer modelo de red neuronal y el conjunto de modificaciones, y recrear sustancialmente los datos visuales de mayor calidad a partir de los datos visuales de menor calidad mediante el uso del segundo modelo de red neuronal, y en donde los datos visuales comprenden datos de vídeo o imágenes.

Description

DESCRIPCIÓN
Mejora de los datos visuales mediante el uso de redes neuronales actualizadas
Campo de la invención
La presente invención se refiere a métodos para reducir la cantidad de datos transferidos cuando se envían datos visuales a través de una red mediante el uso de un modelo de red neuronal. Específicamente, la presente invención se refiere a reducir la cantidad de datos transferidos mediante el submuestreo de datos visuales y el envío, si es posible, de actualizaciones a un modelo de red neuronal desarrollado durante el proceso de submuestreo.
Antecedentes
El documento US2005/200757 describe métodos y aparatos para la reconstrucción de vídeo digital.
El documento US2013/128111 describe un motor de reconstrucción y entrenamiento de superresolución de un solo cuadro de alta calidad
"A Survey of Transfer Learning". Sinno Jialin Pan y Qiang Yang, transacciones IEEE sobre conocimiento e ingeniería de datos vol. 22, núm. 10, 1 de octubre de 2010, páginas 1345-1359 se centra en categorizar y revisar el progreso actual en el aprendizaje por transferencia para problemas de clasificación, regresión y agrupamiento.
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 mostrar en hardware de visualización, tal como televisores, monitores de ordenadores y proyectores de vídeo. Por ejemplo, las pantallas de televisión que pueden mostrar 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 mostrar contenido de resolución de 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 "DVD-Video") (que generalmente tiene una resolución de 720 x 586 píxeles o 720 x 480 píxeles) o definición estándar o resolución "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 DVD-Video 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 resolución suficientemente alta para mostrar 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 mayor resolución. 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 mostrar las últimas pantallas de consumo que operan, por ejemplo, en resoluciones Ultra HD. Para proporcionar experiencias de realidad virtual suficientemente inmersivas (o "VR"), la tecnología de visualización debe tener una resolución suficientemente alta incluso para tamaños de pantalla más pequeñas.
La experiencia del usuario de tener que mostrar 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 tal 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, vídeo 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 la red existente.
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 de medios 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 son capaces de soportar 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 resolución más baja 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 típicamente una fracción de las velocidades de descarga y, por lo tanto, solo se puede transmitir típicamente 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 en 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 mayor resolución.
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 una compensación 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 6 {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 escala de 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 los recursos informáticos inadecuados que están disponibles en la localización.
Antecedentes - Técnicas de mejora de vídeo
Para reproducir un vídeo con una resolución más alta que aquella a 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 mayor resolución.
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 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, tal 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 mayor resolución se procesan entonces opcionalmente en la etapa 1440 en un formato adecuado para su salida como vídeo. El vídeo, al estar compuesto por cuadros de mayor resolución, tendrá la forma de un vídeo de mayor resolución 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 se conocen por el término interpolación, estas técnicas típicamente tienen en cuenta un valor ponderado promedio de píxeles conocidos en la vecindad de cada píxel intermedio desconocido o ajusta a una curva o línea a valores circundantes e interpola al punto medio a lo largo de la curva o línea (por ejemplo, interpolación bicúbica o bilineal). Normalmente, estas técnicas de ampliación determinan los valores de los píxeles adicionales necesarios para crear una imagen de mayor resolución promediando los píxeles vecinos, lo que crea un efecto de desenfoque u otros artefactos visuales tales 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 mayor resolución 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 convencionales de ampliación. Las técnicas de ampliación que reducen los bordes dentellados 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 son conscientes del 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 de ampliación actuales, la calidad de los datos de vídeo que se han "ampliado" a una resolución más alta que aquella en la que se almacenan o transmiten 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, 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 mayor resolución 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, generalmente a partir de una o más imágenes de baja resolución. Normalmente, 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 mayor resolución 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 ella, 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 generalmente se dividen en enfoques basados en el aprendizaje o 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 recogidos que el proceso de aprendizaje automático adquiere durante el desempeño de esas tareas por ordenador.
Normalmente, el aprendizaje automático se puede clasificar en términos generales como enfoques supervisados y no supervisados, aunque existen enfoques particulares, como el aprendizaje por refuerzo y el aprendizaje semisupervisado, que tienen reglas, técnicas y/o enfoques especiales.
El aprendizaje automático supervisado está relacionado con 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, normalmente donde se etiqueta un conjunto de datos que contiene las entradas.
El aprendizaje no supervisado está relacionado con determinar una estructura para los datos de entrada, por ejemplo, al realizar el reconocimiento de patrones, y normalmente usa conjuntos de datos no etiquetados.
El aprendizaje por refuerzo está relacionado con 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, tales 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 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 típicamente 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 suficiente información para predecir con precisión los valores de salida deseados sin proporcionar demasiadas funciones (lo que puede resultar en 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 supervisado o semisupervisado 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 tomar períodos de tiempo significativos, lo que retrasa la utilidad de los enfoques de aprendizaje automático y también evita 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 de 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 Hallo < 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, normalmente 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), entonces 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 este 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 diccionario, 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 modo 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 utilice 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 técnicas de superresolución con el aprendizaje de diccionario, se crean modelos de reconstrucción para mejorar la imagen en base a el 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 "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 mayor resolución 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, 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 vídeo 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 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 de 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. Ejemplos de tales técnicas incluyen métodos orientados al desbloqueo, tales 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
Los aspectos y/o modalidades se establecen en las reivindicaciones adjuntas. Estos y otros aspectos y modalidades también se describen en la presente descripción.
Ciertos aspectos y/o modalidades 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 aspectos y/o modalidades buscan proporcionar técnicas para la reconstrucción y/o mejora de datos visuales de menor calidad a datos visuales de mayor calidad.
Otros aspectos y/o modalidades 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.
Los de algoritmos jerárquicos de entrenamiento pueden 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 sea entrenado (y/o desarrollado) en base a el 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 algunos aspectos, 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 a el 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 a partir de 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 transmite 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 vídeojuego.
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 la salida de una o más secciones de datos visuales de mayor calidad.
En algunos aspectos, una sección de datos visuales que se ha transmitido a través de una red se puede mejorar mediante algoritmos jerárquicos. Al aplicar un algoritmo jerárquico en algunos o todos estos aspectos, se puede generar una versión de mayor calidad de los datos visuales para ingresar 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 otros aspectos, 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 algunos aspectos, 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 algunos aspectos, 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).
En algunos aspectos, 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 algunos aspectos, al recibir una o más secciones de datos visuales de menor calidad y aplicar sustancialmente de manera 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 resultar ventajoso minimizar el tiempo necesario para el procesamiento de datos visuales antes de la transmisión.
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.
Breve descripción de los dibujos
Ahora 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 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 de 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 datos visuales originales de resolución más baja hasta datos visuales de mayor resolución; 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 escalan desde un dato visual original de resolución más baja a un dato visual de mayor resolución, 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 transmisión a partir de datos visuales originales de mayor resolución; la transmisión de los datos visuales submuestreados; y un proceso de mejora de la imagen para ampliar desde los datos visuales submuestreados a datos visuales de mayor resolución, 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 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 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
Ahora, 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 se amplía y se amplía de manera 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 todas las neuronas 25 en cada capa 10, 20, 30 para conectarse 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, se 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 modo 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 se amplíe 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 agrupación o la agrupació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 rango bajo.
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 mayor resolución que la original. En tales modalidades, se puede combinar una serie de cuadros para formar un vídeo de mayor resolución que el que se proporcionó originalmente.
Para mejorar el enfoque basado en el 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, 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 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 para transmitir diccionarios demasiado completos aprendidos con las 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, como el enfoque de convolución en mosaico AMD®, que puede ser usado 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 datos de vídeo.
Los datos de vídeo originales 70 son un vídeo de alta resolución, por ejemplo, que tienen 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 la codificación mediante 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 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, 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, en dependencia de 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 de 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 vídeo, 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 artículo " Algorithms for manifold learning" de 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 artículo "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 modo 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.
Empleando 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.
En el documento se describe 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 "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 refiere al 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 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. 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 evitar 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 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 recodificar 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 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 imágenes 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, requerir 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 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 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 opera sobre un orden 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 artículo "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 ignorando estas áreas de la imagen. Alternativamente, en otras modalidades, se podrían usar detectores de bordes para identificar áreas de interés.
Más aún, en algunas modalidades se puede usar algún nivel de comparación entre cuadros para identificar regiones de la imagen que no cambian de cuadro a cuadro, eliminando de esta manera áreas de la imagen de duplicar 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, 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 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 recodificar 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 la resolución de vídeo 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, lo que disminuye 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 recodificar 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, como el descenso de gradiente o el descenso de gradiente estocástico). Por 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 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, conocidas de cualquier otra manera 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 a 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 la operación 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 el 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 introduce 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 sólo al final de la red, en la capa final o última de la red, evitando por lo tanto la necesidad de realizar la mayor parte del cálculo en la dimensionalidad de alta resolución más grande. 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 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 un ampliación (por ejemplo, un filtro de interpolación bicúbica) que se elige heurísticamente de antemano.
La tarea del modelo de red neuronal, por ejemplo, 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 la escala 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 el 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 pueden representarse como tensores de valor real de tamaño 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 ampliada 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 ampliar 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 capas L, las primeras capas L - 1 se pueden describir como sigue:
f\ lLR; Wv bl)= 0 (IVi */“ &!),
Figure imgf000018_0001
donde Wi, bi, l e (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 1, n0 = C y kL es el tamaño del filtro y el nivel 1. Los sesgos bl son vectores de longitud nl. La función de no linealidad 0 se aplica por elementos y es fijo. 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 capa final realiza un 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, lo que reduce 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 basadas en codificación dispersa y 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 se puede implementar por interpolación, perforar o desagrupar 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, convolución con un segmento de r en el espacio de baja resolución se realiza con un filtro Wd
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 .2
cada patrón de activación, de acuerdo con su localización, tiene como máximo © v z / 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 fl-1 (ILR) de la última capa de mapeo no lineal se agregan para producir el resultado la estimación final de la imagen de alta resolución f (ILR) mediante el uso de la siguiente fórmula:
ISR = f l(ILR ) = PS (WL * f L~\I LR) bL
donde WL y bL representan filtros y sesgos que se pueden aprender respectivamente. El filtro de convolución final WL es de tamaño nL-1 x r2C x kL x kL, 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 dimensiones horizontales y verticales de la imagen de alta resolución. El resultado de aplicar PS es una matriz rH x rW x C, 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(T")x,y,c T ^lj,cT-mod(y,r)+c-mocl(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.
rH r
Dado un conjunto de entrenamiento que consta de ejemplos de imágenes de alta resolución ln ' n = 1... N, las tL r
imágenes de baja resolución correspondientes ln 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 imgf000019_0001
Con referencia a la Figura 8, se muestra una arquitectura de red 800 para superresolución mediante el uso de tres tramas de entrada 810a, 810b y 810c (y luego 810b, 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 la reconstrucción de datos de vídeo al explotar la redundancia temporal entre cuadros consecutivos en un vídeo.
En algunas modalidades, se pueden usar los ajustes l = 3, (fi, ni) = (5, 64), f n2) = (3, 32) y f3 = 3. En la fase de entrenamiento de estas modalidades, se seleccionaron aleatoriamente subimágenes de píxeles de 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 a el 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 sus modalidades y se submuestrearon por 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 ya 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 como 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 modo que la entrada se pueda expresar o convertir en un vector tridimensional de parches correspondientes de múltiples cuadros de modo 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 vídeos tienen velocidades de cuadros diferentes o variables, seleccionando opcionalmente la velocidad de cuadros más baja cuando se entrena la red. Después de la extracción del parche, los datos se procesan 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 vecinos 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 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 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 imágenes 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 "computación 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 procesadas 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 modo 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 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 modo 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 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 intermedia se amplía por 2x y luego la última capa se amplía por 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, que tiene 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 capaz 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 recodificar 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 un ampliación de imágenes y/o vídeos 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.
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 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 generalmente 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 características redundantes (que no cambian) de cuadros secuenciales.
La selección del modelo o al menos la selección inicial del modelo 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). ejemplo).
En algunas modalidades, independientemente de si el vídeo se ha dividido en cuadros o escenas (es decir, grupos de cuadros múltiples) 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 baja resolución 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 se grabó 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 modo 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 recodificar 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 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 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 imágenes 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.
Esto no requiere optimización y comprende la aplicación de 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 pueden 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 por delante 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. El 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 posible 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 recodificar 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 "computación 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 anteriormente, se puede analizar una pluralidad de modelos 2760, 2770, 2780, 2790 basados en ejemplos 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 210 transmitido. A continuación, el paquete 210 transmitido 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 procesadas 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 cálculo reducido, ya que hay menos modelos para 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 de los modelos en la biblioteca de modelos.
Bibliotecas de modelos
Con referencia ahora a la Figura 25, se describirá ahora en detalle otra técnica para codificar datos visuales.
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 únicos 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 un 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 base a 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 submuestreada. La calidad de la escena mejorada se compara con la original mediante el uso de métricas objetivas tal 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á mejorando. 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 cuando se crean 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 pueden combinarse con otras secciones o el vídeo completo y colocarse en un formato contenedor de datos adecuado. En la etapa 2550, los cuadros de vídeo de baja resolución se pueden recodificar 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 imágenes 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 cuadro por cuadro.
En la etapa 2630, el modelo de reconstrucción correspondiente a la referencia de 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 por delante 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 recodificar 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 generalmente se dividen en enfoques basados en el aprendizaje o 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 base a 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 diccionario, 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 modo 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 la ampliación, 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 ejemplo o el vídeo 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 ejemplo o el vídeo 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 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 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 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 en un orden 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 recogiendo 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 subsiguiente de un cuadro subsiguiente es suficientemente similar de acuerdo con una métrica de comparación, entonces el cuadro o cuadros subsiguientes se pueden incluir como parte de un grupo de cuadros con el primer cuadro. En estas modalidades, este proceso puede continuar hasta que un cuadro posterior no sea lo suficientemente similar al cuadro o cuadros anteriores, en cuyo punto 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 un 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 1510 recibido. La biblioteca de la que se selecciona el modelo en la etapa 1540 comprende un conjunto de modelos entrenados previamente 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 está mejorando 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 en una cantidad de maneras en la etapa 1540. El enfoque más simple es usar una métrica de distancia o similitud predefinida, 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), 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 considerar 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 recodificar 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.
Debería 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 video 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 submuestrea 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 tal 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 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 vídeoconferencia o cualquier otra fuente de vídeo, 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, 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 ser usado 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 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 invertido 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, una 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 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 con 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 puede 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 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. 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, comparando la calidad del cuadro mejorado o recreado 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 va a usar ú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á mejorando.
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 modo que el modelo se puede usar para recrear sustancialmente la versión de resolución original de una 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 este. 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 recodificar 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 se define 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 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 a partir 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 imágenes 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 recodificar 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 transmitir.
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 submuestreo, 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 recreación inicial del cuadro o escena del vídeo. Una referencia al modelo de reconstrucción inicial conocido 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 conocen.
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 desempaqueta 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 1260 de resolución más alta sin la necesidad de que se aplique a una muestra de vídeo de baja resolución correspondiente. Por 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, tales 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 los métodos de generación de 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 en 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, controlando el nivel de artefactos esperados 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 los 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 maneras 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 necesaria. 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 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, se puede clasificar 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 agrupamiento usado en cada modalidad, y alguna función del error o diferencias se puede incluir en la métrica dependiendo de la modalidad. Las métricas de ejemplo pueden incluir las diferencias entre píxeles o diferencias de histograma tal como la suma de 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, como 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 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 de 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 modo que el modelo se pueda usar para recrear sustancialmente la versión original "limpia" de la escena de entrenamiento. Empleando un enfoque de aprendizaje profundo para generar el modelo en al menos 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 cuantizació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 en el que se entrenó el modelo. En estas modalidades, la biblioteca puede por tanto 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 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 clasificado 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 dentro de este 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 una 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 red receptor 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 receptor 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/vídeo reconstruida limpia, que luego se emite por el nodo receptor en la etapa 2360.
Con referencia ahora a la Figura 24, se describirá ahora un método alternativo del uso de los modelos de eliminación de artefactos de imagen de acuerdo con algunas modalidades.
En tales modalidades, este método se relaciona con el 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 submuestreada (es decir, una resolución más baja que una resolución original más alta) recibida 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 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 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.
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 escena y la gravedad del artefacto la escena recibida. En tales modalidades, esta coincidencia se puede realizar en el nodo de red receptor 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 receptor 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 red receptor. 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 submuestreada en la etapa 2450 para recrear sustancialmente la imagen submuestreada original 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 vídeo de resolución más alta en el primer nodo a partir de un número 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 que se ha 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 calidad inferior a la deseable, tal como a una baja resolución o baja velocidad de cuadros. Se apreciará que otras características pueden hacer que los datos visuales tengan una calidad inferior a la deseable. Pueden usarse uno o más algoritmos jerárquicos para aumentar la calidad de los datos visuales a una calidad más deseable. 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, 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.
Se pueden usar uno o más algoritmos jerárquicos para estimar versiones de resolución más alta de cuadros recibidos de resolución más baja. 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 recibidos de resolución más baja.
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.
En paralelo 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, 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 entrenado previamente 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 2110 extraídas 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 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 extraídas de resolución completa 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 submuestrearse 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.
Descripción específica - Flexibilidad de los aspectos y modalidades descritas
Cualquier característica del sistema como se describe en la presente descripción también puede proporcionarse como una característica del método, y viceversa.
Como se usa en la presente descripción, los medios más las características de función se pueden expresar alternativamente en términos de su estructura correspondiente.
En particular, los aspectos del método se pueden aplicar a los aspectos del sistema y viceversa.
Además, cualquiera, algunas y/o todas las características de un aspecto se pueden aplicar a cualquiera, algunas y/o todas las características de cualquier otro aspecto, en cualquier combinación apropiada.
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. En modalidades alternativas, los datos visuales de entrada en cuestión pueden ser medios para reproducción, como datos visuales grabados o datos visuales transmitidos en vivo, o pueden ser vídeos de vídeoconferencia o cualquier otra fuente de datos visuales, como vídeos grabados o que se están grabando en un dispositivo portátil como un teléfono móvil o un dispositivo de grabación de vídeo, como una cámara de vídeo o una cámara de vigilancia.
También debe apreciarse que el término "datos visuales" puede referirse a una sola imagen, una secuencia de imágenes, un vídeo o una sección de datos visuales.
Debe apreciarse además que el término "mejorar" puede referirse a la ampliación, aumentando la resolución y/o la calidad de los datos visuales. Las referencias a mejorar o aumentar la calidad de los datos visuales pueden referirse a la ampliación o el uso de técnicas de mejora de las posibles modalidades descritas. Las referencias al submuestreo pueden referirse a la reducción de la resolución y/o la calidad de los datos visuales (por ejemplo, mediante cuantificación para reducir la tasa de bits de los datos visuales).
También debería 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.

Claims (1)

  1. REIVINDICACIONES
    Un método (1000) 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 al menos una sección de datos visuales de mayor calidad para proporcionar al menos una sección de datos visuales de menor calidad;
    seleccionar (1040) un primer modelo de red neuronal que tiene un primer conjunto de parámetros de una biblioteca de modelos de red neuronal preentrenados;
    desarrollar (1060) un segundo modelo de red neuronal que tiene un segundo conjunto de parámetros diferentes al primer conjunto de parámetros, en donde desarrollar el segundo modelo de red neuronal comprende un entrenamiento adicional (1060) del primer modelo de red neuronal para recrear sustancialmente la al menos una sección de datos visuales de mayor calidad al aumentar la resolución de la al menos una sección correspondiente de datos visuales de menor calidad, en donde dicho entrenamiento adicional comprende calcular un error entre la al menos una sección de datos visuales de mayor calidad y una salida obtenida con el primer modelo de red neuronal, cuantificando el error mediante una función de costo predefinida y ajustando el primer conjunto de parámetros para minimizar el error; determinar un conjunto de modificaciones, que cuando se realizan en el primer modelo de red neuronal, producen el segundo modelo de red neuronal, en donde determinar el conjunto de modificaciones comprende comparar el primer modelo de red neuronal con el segundo modelo de red neuronal; transmitir (1050) una o más referencias al primer modelo de red neuronal a partir del cual se desarrolló el segundo modelo de red neuronal; y
    transmitir (1050) el conjunto de modificaciones, que cuando se realizan para el primer modelo de red neuronal, producen el segundo modelo de red neuronal,
    en donde el segundo nodo puede recibir la una o más referencias al primer modelo de red neuronal y el conjunto de modificaciones, y recrear sustancialmente los datos visuales de mayor calidad a partir de los datos visuales de menor calidad mediante el uso del segundo modelo de red neuronal, y
    en donde los datos visuales comprenden datos de vídeo o imágenes.
    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 primer modelo de red neuronal, en donde el primer modelo de red neuronal se ha seleccionado de una biblioteca de modelos de red neuronal almacenados en el primer nodo en base a una sección de datos visuales de mayor calidad, el primer modelo de red neuronal que comprende un primer conjunto de parámetros;
    recibir las modificaciones correspondientes al primer modelo de red neuronal operable para producir un segundo modelo de red neuronal que tiene un segundo conjunto de parámetros diferentes al primer conjunto de parámetros, las modificaciones que se han derivado de una comparación entre el primer modelo de red neuronal y el segundo modelo de red neuronal;
    producir el segundo modelo de red neuronal modificando el primer modelo de red neuronal de acuerdo con las modificaciones recibidas, y
    usar el segundo modelo de red neuronal para recrear sustancialmente la sección de datos visuales de mayor calidad aumentando la resolución de al menos una sección correspondiente de datos visuales de menor calidad, la al menos una sección de datos visuales de menor calidad que se ha derivado de la al menos una sección de datos visuales de mayor calidad, la referencia al primer modelo de red neuronal, las modificaciones al primer modelo de red neuronal y los datos visuales de menor calidad que se han transmitido por el primer nodo, y
    en donde los datos visuales comprenden datos de vídeo o imágenes.
    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 se configura para:
    reducir la calidad de al menos una sección de datos visuales de mayor calidad para proporcionar al menos una sección de datos visuales de menor calidad;
    desarrollar un segundo modelo de red neuronal a partir de un primer modelo de red neuronal seleccionado de una biblioteca de modelos de red neuronal preentrenados, en donde el primer modelo de red neuronal comprende un primer conjunto de parámetros y el segundo modelo de red neuronal comprende un segundo conjunto de parámetros diferentes al primer conjunto de parámetros, en donde desarrollar el segundo modelo de red neuronal comprende un entrenamiento adicional del primer modelo de red neuronal para recrear sustancialmente la al menos una sección de datos visuales de mayor calidad aumentando la resolución de la al menos una sección correspondiente de datos visuales de menor calidad, en donde dicho entrenamiento adicional comprende calcular un error entre la al menos una sección de datos visuales de mayor calidad y una salida obtenida con el primer modelo de red neuronal, el error que se cuantifica mediante una función de costo predefinida, y ajustando el primer conjunto de parámetros para minimizar el error;
    determinar un conjunto de modificaciones, que cuando se realizan en la primera red neuronal, producen el segundo modelo de red neuronal, en donde determinar el conjunto de modificaciones comprende comparar el primer modelo de red neuronal con el segundo modelo de red neuronal;
    transmitir referencias al primer modelo de red neuronal a partir del cual se desarrolló el segundo modelo de red neuronal; y
    transmitir el conjunto de modificaciones, que cuando se realizan en el primer modelo de red neuronal, producen el segundo modelo de red neuronal;
    en donde un segundo nodo se configura para:
    recibir una referencia para el primer modelo de red neuronal;
    recibir una o más modificaciones para el primer modelo de red neuronal; y
    usar el segundo modelo de red neuronal para recrear sustancialmente la sección de datos visuales de mayor calidad
    en donde los datos visuales comprenden datos de vídeo o imágenes.
    4. Un método o sistema, respectivamente, de acuerdo con la reivindicación 1 o la reivindicación 3, en donde una o más secciones de datos visuales de menor calidad correspondientes a la una o más secciones de datos visuales de mayor calidad se transmiten al segundo nodo y al cual se aplica el segundo modelo de red neuronal para reproducir sustancialmente la una o más secciones de datos visuales de mayor calidad.
    5. Un método o sistema, respectivamente, de acuerdo con cualquiera de las reivindicaciones 1, 3 o 4, en donde 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.
    6. Un método o sistema, respectivamente, de acuerdo con cualquiera de las reivindicaciones 1, 3, 4 o 5, en donde 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 cuantificación.
    7. El método o sistema de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el primer modelo de red neuronal comprende una pluralidad de capas.
    8. El método o sistema de acuerdo con la reivindicación 7, en donde las capas son cualquiera de secuenciales, recurrentes, recursivas, ramificadas o fusionadas.
    9. Un método o sistema, respectivamente, de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el segundo modelo de red neuronal comprende una o más redes neuronales convolucionales.
    10. Un método o sistema, respectivamente, de acuerdo con cualquier reivindicación anterior, en donde la referencia recibida por el segundo nodo corresponde a un modelo de red neuronal conocido almacenado en una biblioteca sustancialmente coincidente en el segundo nodo.
    11. Un método o sistema, respectivamente, de acuerdo con cualquier reivindicación anterior, en donde, si el segundo nodo no puede identificar el primer modelo de red neuronal, el segundo nodo envía una solicitud al primer nodo para la transmisión del primer modelo de red neuronal desde el primer nodo al segundo nodo. 12. Aparato para llevar a cabo el método de la reivindicación 1 o la reivindicación 2 o cualquiera de las reivindicaciones 4 a 11.
    13. Un producto de programa informático que comprende un código de software para llevar a cabo el método de la reivindicación 1 o la reivindicación 2 o cualquiera de las reivindicaciones 4 a 11.
ES16706420T 2015-02-19 2016-02-19 Mejora de los datos visuales mediante el uso de redes neuronales actualizadas Active ES2872724T3 (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/050428 WO2016132150A1 (en) 2015-02-19 2016-02-19 Enhancing visual data using and augmenting model libraries

Publications (1)

Publication Number Publication Date
ES2872724T3 true ES2872724T3 (es) 2021-11-02

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 After (1)

Application Number Title Priority Date Filing Date
ES16706418T Active ES2873845T3 (es) 2015-02-19 2016-02-19 Aprendizaje automático para el procesamiento visual

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
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
ES2873845T3 (es) 2021-11-04
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
ES2872724T3 (es) Mejora de los datos visuales mediante el uso de redes neuronales actualizadas
US20180139458A1 (en) Training end-to-end video processes
GB2548749A (en) Online training of hierarchical algorithms