ES2953917T3 - Codificación de una pluralidad de señales con objetivo de velocidad de datos de una señal en dependencia de la complejidad de la información - Google Patents

Codificación de una pluralidad de señales con objetivo de velocidad de datos de una señal en dependencia de la complejidad de la información Download PDF

Info

Publication number
ES2953917T3
ES2953917T3 ES16723801T ES16723801T ES2953917T3 ES 2953917 T3 ES2953917 T3 ES 2953917T3 ES 16723801 T ES16723801 T ES 16723801T ES 16723801 T ES16723801 T ES 16723801T ES 2953917 T3 ES2953917 T3 ES 2953917T3
Authority
ES
Spain
Prior art keywords
signals
signal
data
respective image
quality level
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
ES16723801T
Other languages
English (en)
Inventor
Richard Clucas
Guido Meardi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
V Nova International Ltd
Original Assignee
V Nova International Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by V Nova International Ltd filed Critical V Nova International Ltd
Application granted granted Critical
Publication of ES2953917T3 publication Critical patent/ES2953917T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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
    • 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/187Methods 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 scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

Se proporcionan un método y un sistema para codificar una pluralidad de señales. Se reciben una pluralidad de señales de entrada. Se obtiene información de complejidad relacionada con una señal de entrada dada de la pluralidad de señales de entrada. Un objetivo de velocidad de datos para cada una de la pluralidad de señales de entrada se deriva dependiendo de un objetivo de velocidad de datos general para la pluralidad de señales de entrada. El objetivo de velocidad de datos para la señal de entrada dada depende al menos en parte de la información de complejidad relacionada con la señal de entrada dada. La pluralidad de señales de entrada se codifican de acuerdo con los respectivos objetivos de velocidad de datos derivados para obtener una pluralidad de señales codificadas. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Codificación de una pluralidad de señales con objetivo de velocidad de datos de una señal en dependencia de la complejidad de la información
Antecedentes
El tamaño del flujo de bits, por ejemplo, el ancho de banda del flujo de bits, generado al codificar una señal (como una señal de audio o video) con configuraciones de calidad predefinidas (por ejemplo, mediante el uso de la codificación de velocidad de bits variable o VBR) varía ampliamente según en el contenido de la señal, tanto cuando se comparan diferentes señales (por ejemplo, el tamaño codificado de un partido de fútbol típicamente es mayor que el tamaño codificado de una escena de diálogo) como cuando se comparan diferentes porciones de tiempo de la misma señal (por ejemplo, el tamaño codificado de un partido de fútbol típicamente aumenta de modo significativo cuando la cámara pasa de un primer plano de un jugador con el fondo borroso a una toma de gran angular que incluye una multitud compleja).
Dado que las infraestructuras de comunicación (como la infraestructura de transmisión) proporcionan típicamente cantidades fijas de ancho de banda para transmitir un flujo de bits, los codificadores a menudo deben implementar estrategias de codificación que varían la configuración de calidad con el tiempo para generar un flujo de bits a una velocidad de bits constante (codificación de velocidad de bits constante, o CBR).
Cuando se multiplexa más de una señal en un solo flujo de datos ("conjunto de señales multiplexado") para ser transportado a través de un enlace de comunicación dado, la restricción de imponer una velocidad de bits constante durante un período definido se refiere al conjunto de señales, en lugar de a una sola señal.
Se conocen muchas tecnologías en la técnica para manejar la multiplexación de diferentes señales en un mismo flujo de datos con un CBR global. En particular, los dos enfoques más frecuentes se basan en forzar una velocidad de bits constante (CBR) para cada una de las señales o en aplicar técnicas denominadas de "multiplexación estadística".
Forzar la codificación CBR independiente para cada una de las señales del conjunto logra el objetivo de una velocidad de bits constante general para el conjunto, pero típicamente es subóptimo desde el punto de vista de la calidad, ya que, para un período de tiempo determinado del conjunto, el codificador puede necesitar reducir significativamente la configuración de calidad usada para codificar una señal compleja para cumplir con su CBR individual, mientras que al mismo tiempo otras señales más simples del conjunto se codifican con configuraciones de calidad innecesariamente altas.
Las técnicas de multiplexación estadística logran el objetivo de obtener una CBR global para el conjunto sin forzar necesariamente una CBR para cada una de las señales del conjunto. Estas tecnologías logran ese objetivo mediante la realización iterativa de múltiples codificaciones del mismo fragmento de tiempo (como el intervalo de tiempo correspondiente a un grupo de imágenes o GOP) del conjunto de señales multiplexado, con un lazo de retroalimentación de un intento de codificación al siguiente.
Por ejemplo, se realiza una primera codificación del fragmento de tiempo del conjunto con ajustes de calidad dados para cada una de las señales del conjunto. El multiplexor estadístico recibe el flujo de datos codificados y mide la velocidad de bits generada para cada una de las señales y, en consecuencia, retroalimenta al codificador con un nuevo conjunto de ajustes de calidad para cada una de las señales del conjunto, a fin de optimizar la asignación de la velocidad de bits total disponible para el conjunto de acuerdo con objetivos predefinidos (por ejemplo, nivel de prioridad de señales dadas, etc.).
La multiplexación estadística con CBR general generalmente logra mejores resultados de calidad que la CBR de señal única independiente, pero también presenta desventajas.
En primer lugar, la latencia de codificación es típicamente más alta, ya que cada fragmento de tiempo debe codificarse varias veces (en particular, al menos dos veces): este inconveniente es particularmente significativo ya que la multiplexación se usa a menudo en el contexto de la transmisión de canales lineales, en donde la codificación debe ocurrir en tiempo real.
En segundo lugar, las decisiones de multiplexación estadística se basan en datos limitados (por ejemplo, el resultado de un solo intento de codificación) durante un período de tiempo relativamente largo (es decir, varias muestras de tiempo): como consecuencia, las decisiones tomadas por el multiplexor estadístico se basan en heurísticas y extrapolaciones, y a menudo no son óptimas.
El documento US 6084 910 Adescribe un aparato para multiplexar estadísticamente una pluralidad de señales de video que se proporciona con detectores de complejidad primera y segunda que generan señales de complejidad primera y segunda que se relacionan con la complejidad de las señales de video primera y segunda, respectivamente, y codificadores primero y segundo para comprimir la primera y la segunda segundas señales de video a velocidades de compresión variables para generar una primera y una segunda señal de video comprimidas. El aparato también incluye un controlador para controlar las velocidades de compresión variables de los codificadores en función de las señales de señal de complejidad y un multiplexor acoplado para recibir las señales de vídeo comprimidas. El aparato puede proporcionarse en un sistema de radiodifusión, tal como un sistema de radiodifusión por satélite. El sistema de transmisión puede incluir un transmisor acoplado para recibir las señales de video del multiplexor, un satélite acoplado para recibir las señales de video del transmisor, un receptor para recibir las señales de video del satélite y uno o más decodificadores conectados para recibir las señales de video del receptor.
"Joint Rate Allocation for Statistical Multiplexing in Video Broadcast Applications”, por Wei Yao y otros, publicado en IEEE Transactions on Broadcasting, volumen 58, número 3, septiembre de 2012 describe un analizador de complejidad basado en la similitud que utiliza tanto la complejidad temporal como la complejidad espacial para caracterizar la complejidad de un video.
Breve descripción de las figuras
Varias características de la presente descripción serán evidentes a partir de la descripción detallada que sigue, tomada junto con las figuras adjuntas en las que:
La Figura 1 muestra esquemáticamente los componentes principales del hardware del procesador de un ordenador de acuerdo con un ejemplo;
La Figura 2 muestra esquemáticamente los componentes principales de un codificador que forma parte del hardware de procesamiento informático ilustrado en la figura 1;
La Figura 3 muestra los componentes principales de un estimador de complejidad que forma parte del codificador ilustrado en la figura 2;
La Figura 4 muestra un diagrama de flujo de un método para obtener información de complejidad de acuerdo con un ejemplo;
La Figura 5 muestra esquemáticamente los componentes principales de un asignador de objetivos de velocidad de bits que forma parte del hardware de procesamiento informático ilustrado en la figura 1;
La Figura 6 muestra esquemáticamente los componentes principales de un sistema de procesamiento de señales de acuerdo con un ejemplo alternativo;
La Figura 7 muestra una ilustración esquemática de una red de comunicación de datos de acuerdo con un ejemplo;
La Figura 8 muestra un diagrama de flujo para un método de codificación de una pluralidad de señales de acuerdo con un ejemplo;
La Figura 9 muestra un diagrama de flujo de un método para influir en la asignación de una velocidad de datos de al menos una señal de acuerdo con un ejemplo.
Descripción detallada
Con referencia a la Figura 1, se muestra una ilustración esquemática del hardware 190 del procesador del ordenador, de acuerdo con un ejemplo. En una modalidad no limitativa descrita en la presente descripción, un procesador de señales (por ejemplo, el hardware del procesador informático 190) se configura para recibir múltiples señales 100-1 a 100-N. Una señal dada 100-1 comprende una secuencia de imágenes 100-1-1, 100-1-2, etc. Durante las fases iniciales del proceso de codificación para cada una de las señales (y antes de codificar realmente cualquiera de las señales en datos codificados), el procesador de señales genera información de complejidad 120-1 a 120-N para cada una de las señales 100-1 a 100-N. La información de complejidad proporciona una indicación de un nivel de detalle en una imagen dada, por ejemplo, en una señal de video dada en una muestra dada en el tiempo. Como tal, la información de complejidad es indicativa de la cantidad en la que los datos correspondientes a la señal de video dada pueden reducirse codificando mientras se mantiene el nivel de calidad deseado. La información de complejidad 120-1 a 120-N puede generarse mediante codificadores 110-1 a 100-N.
Un procesador de señales configurado como un asignador de destino de velocidad de bits 130 recibe y procesa información de complejidad 120-1 a 120-N para cada una de las señales 100-1 a 100-N, junto con recibir y procesar la información sobre prioridades 125-1 a 125-N para cada una de las señales 100-1 a 100-N, y genera un objetivo de velocidad de bits de 140-1 a 140-N para cada señal. La información sobre prioridades relativa a una señal dada es indicativa de la importancia de retener una buena calidad para esa señal dada en comparación con otras de las señales 100-1 a 100-N. El objetivo de la velocidad de bits 140-1 a 140-N para cada señal puede basarse además en un objetivo de la velocidad de bits global para la pluralidad de señales 100-1 a 100-N tras la codificación de la pluralidad de señales 100-1 a 100-N. En algunos ejemplos, el objetivo de la velocidad de bits para una señal dada se deriva del objetivo de la velocidad de bits global. Una señal dada 100-1 se codifica así de acuerdo con el objetivo de velocidad de bits recibido correspondiente 140-1, generando datos codificados 150-1. Los datos codificados para cada uno de los flujos se multiplexan luego, en este ejemplo por el multiplexor 160, en un solo flujo de datos 170. El flujo de datos 170 puede ser, por ejemplo, un flujo de transporte MPEG.
En algunos ejemplos, se proporciona una pluralidad de asignadores 130 de objetivo de velocidad de bits separados, generando cada asignador de objetivo de velocidad de bits al menos un objetivo de velocidad de bits para un codificador correspondiente. La pluralidad de asignadores de objetivos de velocidad de bits puede acoplarse comunicativamente de manera que la información de complejidad y/o los objetivos de velocidad de bits puedan difundirse entre la pluralidad de asignadores de objetivos de velocidad de bits. En consecuencia, cada asignador objetivo de velocidad de bits puede tener acceso a información de complejidad y/o un objetivo de velocidad de bits para cada una de la pluralidad de señales.
La información sobre prioridades 125-1 a 125-N para cada una de las señales 100-1 a 100-N puede recibirse de una o más entidades adicionales (no mostradas en la figura 1). La una o más entidades adicionales pueden incluir un aparato de control, descrito con más detalle más abajo. La información sobre prioridades con relación a una señal determinada influye en la asignación de velocidad de bits para la señal dada. La información sobre prioridades puede influir en cuáles de las señales 100-1 a 100-N tienen prioridad en un momento determinado. Por ejemplo, la información sobre prioridades con relación a una primera señal de alta prioridad puede usarse para aumentar una velocidad de bits asignada para esa señal. La información sobre prioridades con relación a una segunda señal de menor prioridad puede usarse para disminuir una velocidad de bits asignada para esa señal. Una asignación de velocidad de bits dada puede estar influenciada tanto por la información sobre prioridades como por la información de complejidad. Se pueden asignar diferentes ponderaciones a la información sobre prioridades y/o a la información de complejidad, para variar la cantidad de influencia que tiene cada parámetro sobre una asignación de velocidad de bits dada.
En una modalidad no limitativa, el proceso anterior se usa en el contexto de la producción remota de video de baja latencia para un sitio de eventos. El centro de producción de video está ubicado en una ubicación diferente al sitio del evento, y todas las señales de video generadas en el sitio del evento son comprimidas y multiplexadas por un Codificador en el sitio del evento para ser transmitidas a través de una única transmisión de velocidad de bits constante al centro de producción de vídeos. Un sistema de conmutación en el centro de producción define, ocasionalmente (por ejemplo, por medio de un ejemplo no limitativo, en una muestra de tiempo determinada), qué fuentes de video se usan para la transmisión real de alta prioridad (por ejemplo, la señal de video en vivo que se emite en ese momento; la señal de vídeo en directo que es candidata a ser la próxima que se emita en un momento posterior; las señales de vídeo en directo que pueden ser útiles para producir una secuencia de repetición, etc.), y codifica dicha información en información sobre prioridades para cada una de las señales de video. La información sobre prioridades para cada una de las señales de video se envía al codificador, para influir en la asignación de velocidad de bits (y por lo tanto en la calidad) a las señales de video en el conjunto de señales multiplexado. Modalidades no limitativas similares permiten que el centro de producción de video produzca remotamente el evento en vivo con un consumo general de velocidad de bits mucho menor en el canal de transmisión (ya que, por ejemplo, no todas las señales de video requieren transmitirse con calidad visual sin pérdida en todo momento) mientras aun manteniendo una latencia muy baja en la transmisión de extremo a extremo. En una modalidad de ejemplo no limitativa, el controlador de velocidad de bits asigna a la señal de video que se transmite en ese momento dado la velocidad de bits que en cualquier fotograma dado es necesaria para lograr una calidad de video sin pérdidas visuales, a la siguiente señal de video en línea para ser transmitida en un momento posterior la velocidad de bits necesaria para conseguir una buena calidad; y para todas las otras señales ("señales restantes") la velocidad de bits que es necesaria para lograr sustancialmente el mismo nivel de calidad en las señales restantes y al mismo tiempo cumplir con el requisito de velocidad de bits constante para el conjunto multiplexado de señales.
En otras modalidades no limitantes, un vehículo no tripulado con múltiples cámaras transmite información de video en baja latencia a un sitio de control remoto. La información de video se transmite en forma de un conjunto multiplexado de señales de video codificadas. En función de la información sobre prioridades generada por el vehículo no tripulado, la calidad de video de cada señal de video se adapta en cualquier fotograma dado para asignar más velocidad de bits en función de 1) la prioridad del contenido de cada señal de video (según lo establecido por otro procesador de señal de el vehículo no tripulado), y 2) la complejidad del contenido de cada señal de video. En otras modalidades no limitantes, cuando el vehículo no tripulado recibe la información sobre prioridades para una o más señales de video desde el sitio de control remoto, la información sobre prioridades recibida desde el sitio de control remoto anula la información sobre prioridades generada por el vehículo no tripulado, y el asignador de velocidad de bits procesa y asigna la velocidad de bits de acuerdo con la información sobre prioridades recibida desde el sitio de control remoto.
En otras modalidades no limitantes, varias cámaras que forman parte de un sistema de seguridad CCTV transmiten información a un centro de control remoto en forma de un conjunto multiplexado de señales de vídeo codificadas. La calidad de video de cada señal de video se adapta en cualquier fotograma dado para asignar más velocidad de bits en función de 1) la prioridad del contenido de cada señal de video establecida por otro procesador de señal del sistema de seguridad CCTV (por ejemplo, en una modalidad no limitante, basada al menos en parte en la cantidad de objetos en movimiento en cada señal de video y en la presencia de humanos en la escena ilustrada por la señal de video), y 2) la complejidad del contenido de cada señal de video. En otras modalidades no limitantes, cuando el sistema de seguridad de CCTV recibe información sobre prioridades para una o más señales de video desde el sitio de control remoto, la información sobre prioridades recibida desde el sitio de control remoto anula la información sobre prioridades generada por el sistema de seguridad de CCTV, y el asignador de velocidad de bits procesa y asigna la velocidad de bits de acuerdo con la información sobre prioridades recibida del sitio de control remoto. Para simplificar, las modalidades no limitantes ilustradas en la presente descripción se refieren a una señal como una secuencia de muestras (es decir, imágenes bidimensionales, fotogramas de video, campos de video, etc.). En la descripción, los términos "imagen", "cuadro" o "plano" (en el sentido más amplio de "hiperplano", es decir, series de elementos con cualquier número de dimensiones y una rejilla de muestreo determinada) serán usados a menudo para identificar la reproducción digital de una muestra de la señal a lo largo de la secuencia de muestras, en donde cada plano tiene una resolución determinada para cada una de sus dimensiones (por ejemplo, X e Y), y comprende un conjunto de elementos planos (o "elemento", o "pel", o elemento de visualización para imágenes bidimensionales a menudo denominado "píxel", para imágenes volumétricas a menudo denominado "voxel", etc.) caracterizados por uno o más "valores" o "ajustes" (por ejemplo, por medio de ejemplos no limitantes, ajustes de color en un espacio de color adecuado, ajustes que indican niveles de densidad, ajustes que indican niveles de temperatura, ajustes que indican tono de audio, ajustes que indican amplitud, etc.). Cada elemento del plano se identifica mediante un conjunto adecuado de coordenadas que indica las posiciones enteras de dicho elemento en la cuadrícula de muestreo de la imagen. Las dimensiones de la señal pueden incluir sólo dimensiones espaciales (por ejemplo, en el caso de una imagen) o también una dimensión temporal (por ejemplo, en el caso de una señal que evoluciona con el tiempo).
Como ejemplos no limitantes, una señal puede ser una imagen, una señal de audio, una señal de audio multicanal, una señal de vídeo, una señal de vídeo multivista (por ejemplo, vídeo 3D), una señal volumétrica (por ejemplo, imágenes médicas, imágenes científicas, imágenes holográficas, etc.), una señal de vídeo volumétrica, o incluso señales con más de cuatro dimensiones.
Para simplificar, las modalidades no limitantes ilustradas en la presente descripción se refieren a menudo a señales que se visualizan como planos 2D de configuraciones (por ejemplo, imágenes 2D en un espacio de color adecuado), como por ejemplo una señal de vídeo. Los términos "fotograma" o "campo" se usarán indistintamente con el término "imagen", para indicar una muestra en el tiempo de la señal de video: cualquier concepto y método ilustrado para señales de video hechas de fotogramas (señales de video progresivas) puede ser fácilmente aplicable también a señales de video compuestas por campos (señales de video entrelazadas), y viceversa. A pesar de que las modalidades ilustradas en la presente descripción se centran en señales de vídeo, los expertos en la técnica pueden comprender fácilmente que los mismos conceptos y métodos son también aplicables a cualquier otro tipo de señal multidimensional (por ejemplo, señales volumétricas, señales de vídeo, señales de vídeo 3D, señales plenópticas, etc.).
Con referencia a la figura 2, se muestra una ilustración esquemática de un codificador 110-1, de acuerdo con un ejemplo. El codificador 110-1 forma parte del hardware del procesador del ordenador 190 descrito anteriormente. El codificador 110-1 incluye un estimador de complejidad 210-1.
En otras modalidades no limitantes descritas en la presente descripción, una señal 100-1 es procesada por un estimador de complejidad 210-1, produciendo datos para codificar 220-1 e información de complejidad 120-1. La información de complejidad 120-1 es procesada por un asignador de objetivo de velocidad de bits 130, produciendo un objetivo de velocidad de bits 140-1. El objetivo de velocidad de bits 140-1 es procesado por un controlador de velocidad de bits 230-1 junto con los datos para codificar 220-1, produciendo los parámetros de cuantificación 235-1. Los parámetros de cuantificación 235-1 y los datos para codificar 220-1 son recibidos y procesados por un cuantificador 240-1, que produce los datos cuantificados 250-1. Los datos cuantificados 250-1 son luego procesados por un codificador de entropía 260-1, produciendo los datos codificados 150-1. Los datos codificados 150-1 para una pluralidad de señales pueden entonces multiplexarse en un único flujo de datos para su transmisión.
En una modalidad no limitativa, el codificador de entropía 260-1 es un codificador de entropía paralelo, que opera en paralelo en múltiples porciones de los datos cuantificados 250-1.
En otras modalidades no limitantes descritas en la presente descripción, el estimador de complejidad se implementa procesando la señal de entrada en una jerarquía, con un enfoque basado en niveles.
Con referencia a la figura 3, se muestra una ilustración esquemática de dicho estimador de complejidad 210-1, de acuerdo con un ejemplo.
La señal de entrada X0 100-1-1 es procesado por un submuestreador 310, que produce una reproducción submuestreada de la señal X1 101-1-1, es decir, una reproducción de la señal con un nivel de calidad inmediatamente inferior (por ejemplo, en una modalidad no limitativa, una resolución espacial y/o temporal inferior). La reproducción submuestreada X'1 101-1-1 es a continuación procesada por un sobremuestreador 320, produciendo una reproducción de la señal sobremuestreada al siguiente nivel de calidad más alto (es decir, el original). La señal de entrada X0100-1-1 y la reproducción de la señal sobremuestreada son luego procesadas por una calculadora residual 330, generando datos residuales R0340.
La reproducción submuestreada X-1101-1-1 es procesado por un submuestreador 311, que produce una reproducción submuestreada de la señal X-2, es decir, una reproducción de la señal en el siguiente nivel inferior de calidad. La reproducción reducida X-2 luego es procesada por un sobremuestreador 321, produciendo una reproducción de la señal con muestreo superior al siguiente nivel de calidad más alto. La señal x-1101-1-1 y la reproducción de la señal sobremuestreada son luego procesadas por una calculadora residual 331, generando datos residuales R-1341.
El proceso se repite hacia abajo en la jerarquía escalonada hasta un nivel inferior de calidad B, generando datos residuales RB 340+B.
Los conjuntos de datos residuales R0340, R-1341 y RB 340+B son recibidos por una calculadora de información de complejidad 360, produciendo una información de complejidad 120-1. Luego, la información de complejidad 120-1 se ingresa en un asignador de objetivos de velocidad de bits, por ejemplo, el asignador de objetivos de velocidad de bits 130, para permitir que el asignador de objetivos de velocidad de bits derive un objetivo de velocidad de bits para la señal de entrada X0100-1 -1.
En algunos ejemplos, los conjuntos de datos residuales R0340, R'1341 y RB 340+B se generan para la señal de entrada X0100-1-1 en una primera muestra, por ejemplo, una primera imagen. Luego se genera una información de complejidad 120-1 en base a los conjuntos de datos residuales R0340, R_1341 y RB 340+B por primera vez, para derivar un objetivo de velocidad de bits para la señal de entrada X0100-1-1 en la primera muestra. Se generan más conjuntos de datos residuales para la señal de entrada X0100-1-1 en una segunda muestra de tiempo, por ejemplo, una segunda imagen. Luego se genera una información de complejidad 120-1 en función de los conjuntos adicionales de datos residuales para la segunda muestra de tiempo, con el fin de derivar un objetivo de velocidad de bits para la señal de entrada X0100-1-1 en la segunda muestra de tiempo, y así sucesivamente. En consecuencia, la información de complejidad se genera imagen por imagen, para influir dinámicamente en un objetivo de velocidad de bits para una señal dada.
Como se discutió anteriormente, la información de complejidad proporciona una indicación de un nivel de detalle en una imagen dada, por ejemplo, en una señal de video dada en una muestra dada en el tiempo. Una imagen que comprende una cantidad sustancial de desenfoque, por ejemplo, debido al movimiento de la cámara y/o un objeto en movimiento, puede tener un nivel de complejidad relativamente bajo. Por el contrario, una imagen que comprende una cantidad sustancial de detalles, por ejemplo, una imagen de uno o más objetos fijos, puede tener un nivel de complejidad relativamente alto. Esto contrasta con otras técnicas, que analizan el detalle y el movimiento a través de una pluralidad de imágenes, y en donde un mayor grado de movimiento da como resultado un mayor nivel de complejidad. Aquí, la información de complejidad se genera y se usa para la codificación de una sola imagen. En otras palabras, el proceso opera cuadro por cuadro. Esto permite que la velocidad de bits para un flujo de señal determinado se asigne y optimice dinámicamente para cada imagen a su vez. Además, dado que no es necesario agrupar, precodificar y/o analizar múltiples imágenes como un único fragmento de tiempo antes de la codificación, se puede reducir la complejidad computacional de la operación de asignación de velocidad de bits.
Con referencia a la figura 4, se muestra un método 400 para obtener información de complejidad, de acuerdo con un ejemplo. El método 400 puede ser realizado por el estimador de complejidad 210-1 como se describe anteriormente. En el bloque 410, se recibe una señal en un primer nivel de calidad en una jerarquía escalonada de niveles de calidad. En este ejemplo, la señal recibida tiene el nivel más alto de calidad.
En el bloque 420 se obtiene una reproducción de la señal en un segundo nivel de calidad. En este ejemplo, el segundo nivel de calidad es el siguiente nivel más bajo de calidad con relación al primer nivel de calidad en la jerarquía escalonada. En algunos ejemplos, la reproducción de la señal en el segundo nivel de calidad captura los atributos más gruesos de la señal original, pero no los atributos más finos y detallados de la señal original.
En el bloque 430, se obtiene un primer conjunto de datos residuales, mediante el uso de la señal que tiene el primer nivel de calidad y la reproducción de la señal en el segundo nivel de calidad. El primer conjunto de datos residuales puede comprender una pluralidad de valores de reconstrucción que indican cómo reconstruir la señal en el primer nivel de calidad mediante el uso de la reproducción de la señal en el segundo nivel de calidad. En algunos ejemplos, se obtiene una reproducción predicha de la señal en el primer nivel de calidad mediante el uso de la reproducción de la señal en el segundo nivel de calidad. El primer conjunto residual puede obtenerse basándose en la diferencia entre la señal que tiene el primer nivel de calidad y la reproducción prevista de la señal en el primer nivel de calidad. En el bloque 440 se obtiene una reproducción de la señal en un tercer nivel de calidad. En este ejemplo, el tercer nivel de calidad es el siguiente nivel más bajo de calidad con relación al segundo nivel de calidad en la jerarquía escalonada.
En el bloque 450, se genera un segundo conjunto de datos residuales, mediante el uso de la reproducción de la señal en el segundo nivel de calidad y la reproducción de la señal en el tercer nivel de calidad. El segundo conjunto de datos residuales puede comprender una pluralidad de valores de reconstrucción que indican cómo reconstruir la reproducción de la señal en el segundo nivel de calidad mediante el uso de la reproducción de la señal en el tercer nivel de calidad.
Las operaciones descritas anteriormente se repiten hasta el nivel de calidad más bajo o básico en la jerarquía escalonada. En el bloque 460, se obtiene una reproducción de la señal en un n-ésimo nivel de calidad, donde n es el número de niveles de calidad en la jerarquía escalonada de niveles de calidad. En el bloque 470, se genera un (n-1)ésimo conjunto de datos residuales, mediante el uso de una reproducción de la señal en el (n-1)ésimo nivel de calidad y la reproducción de la señal en el n nivel de calidad.
En el bloque 480, se obtiene información de complejidad mediante el uso de datos residuales de al menos algunos de los n-1 conjuntos de datos residuales. Los datos residuales pueden incluir cualquiera de los múltiples tipos diferentes de datos que indican cómo reconstruir la señal con mayores niveles de calidad. Por ejemplo, los datos residuales pueden incluir cualquiera de uno o más conjuntos, planos, etc., de diferentes tipos de datos de reconstrucción, como parámetros de operaciones de muestreo ascendente, información de umbral de cuantificación, metadatos, información espectral, datos de ajuste, etc., para reconstruir la señal a diferentes niveles.
El estimador de complejidad 210-1, como se describió con referencia a la figura 3, obtiene reproducciones de una señal dada en varios niveles de calidad en una jerarquía escalonada de niveles de calidad realizando operaciones de submuestreo y submuestreo en las diversas reproducciones. En otras modalidades de ejemplo, las reproducciones de una señal dada en diferentes niveles de calidad se obtienen realizando operaciones de cuantificación. Por ejemplo, una reproducción de la señal dada en un primer nivel de calidad puede cuantificarse para obtener una reproducción de la señal dada en un segundo nivel de calidad más bajo. En otros ejemplos, las reproducciones de una señal dada en diferentes niveles de calidad se obtienen realizando operaciones de filtrado. Por ejemplo, se puede filtrar una reproducción de la señal dada en un primer nivel de calidad para obtener una reproducción de la señal dada en un segundo nivel de calidad más bajo.
En otra modalidad no limitativa, la función de asignador objetivo de velocidad de bits se implementa como sigue, con referencia a la figura 5, que muestra una ilustración esquemática de un asignador objetivo de velocidad de bits 130 de acuerdo con un ejemplo. El objetivo de velocidad de bits general 510 para el conjunto es recibido por un simulador 530 junto con un conjunto de información de complejidad para cada subflujo 520 y un conjunto de información sobre prioridades para cada subflujo 540. El simulador 530 produce datos de simulación 535 que se envían a un selector de objetivo de velocidad de bits 550 que usa los datos de simulación 535 para generar un objetivo de velocidad de bits sugerido para todos los subflujos 560. Los objetivos de velocidad de bits para cada subflujo 560 se transmiten a todos los codificadores para su uso en la codificación de cada subflujo para obtener datos codificados para cada subflujo.
En algunos ejemplos, una pluralidad de asignadores objetivo de velocidad de bits separados calcula cada uno velocidades de bits para los mismos subflujos. En estos casos, la pluralidad de asignadores objetivo de velocidades de bits alcanza un consenso sobre las velocidades de bits asignadas antes de que se codifique cada subflujo. Alcanzar un consenso puede implicar, por ejemplo, compartir información objetivo de velocidad de bits y/o información de complejidad para uno o más flujos secundarios entre la pluralidad de asignadores de objetivos de velocidad de bits.
Con referencia a la figura 6, se muestra una ilustración esquemática de un sistema de procesamiento de señales 600, de acuerdo con un ejemplo. El sistema de procesamiento de señales 600 comprende un grupo de entidades de procesamiento de datos 610-1 a 610-N. Cada entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N comprende un asignador objetivo de velocidad de bits 130 y comprende además un codificador 110-1 a 110-N, como se describió anteriormente. En algunos ejemplos, no todas las entidades de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N comprenden un asignador de objetivos de velocidad de bits 130 y/o un codificador 110-1 a 110-N. Por ejemplo, un único asignador 130 de objetivo de velocidad de bits puede compartirse entre el grupo de entidades de procesamiento de datos 610-1 a 610-N. Cada entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N puede acoplarse de manera conectiva con al menos otra entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N, por ejemplo, a través de uno o más canales de comunicación 620-1. El uno o más canales de comunicación 620-1 pueden disponerse para permitir la comunicación entre al menos algunas de las entidades de procesamiento de datos a través de una o más redes. En otras palabras, el sistema de procesamiento de señales 600 puede disponerse como un sistema distribuido a través de uno o más dispositivos separados y/o una o más ubicaciones separadas. Cada entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N puede recibir una o más señales en una pluralidad de señales, por ejemplo, señales 100-1 a 100-N.
En algunos ejemplos, una entidad de procesamiento de datos dada en el grupo de entidades de procesamiento de datos 610-1 a 610-N obtiene información de complejidad relacionada con una o más señales de la pluralidad de señales. La entidad de procesamiento de datos dada puede entonces comunicar la información de complejidad obtenida a al menos otra entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N. En consecuencia, cada entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N puede tener acceso a información de complejidad relacionada con todas las señales en la pluralidad de señales. La información de complejidad relacionada con todas las señales en la pluralidad de señales puede usarse para influir en una asignación de velocidad de bits para una señal dada realizada en una entidad de procesamiento de datos dada. En otras palabras, cada entidad de procesamiento de datos puede configurarse para cooperar con otras entidades de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N para asignar una velocidad de bits para una señal dada.
En algunos ejemplos, una entidad de procesamiento de datos dada en el grupo de entidades de procesamiento de datos 610-1 a 610-N deriva un objetivo de velocidad de bits pronosticado para una señal dada de la pluralidad de señales. El objetivo de la velocidad de bits pronosticada se obtiene basándose, al menos en parte, en la información de complejidad obtenida para la señal dada. La entidad de procesamiento de datos dada puede entonces comunicar el objetivo de velocidad de bits prevista a al menos otra entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N. En consecuencia, cada entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos 610-1 a 610-N puede tener acceso a un objetivo de velocidad de bits prevista para todas las señales en la pluralidad de señales. Los objetivos de velocidad de bits predichos relacionados con todas las señales en la pluralidad de señales pueden usarse entonces para influir en una asignación de velocidad de bits para una señal dada realizada en una entidad de procesamiento de datos dada.
En algunos ejemplos, se emite una pluralidad de señales codificadas para su transmisión a uno o más receptores. La pluralidad de señales codificadas puede transmitirse a través de un único flujo de datos multiplexados. En algunos ejemplos, la pluralidad de señales codificadas puede transmitirse a través de una pluralidad de flujos de datos separados. Cada flujo de datos puede incluir al menos una señal codificada de la pluralidad de señales codificadas. Al menos algunos flujos de datos diferentes pueden transmitirse a diferentes receptores.
La pluralidad de señales codificadas puede emitirse en base a una velocidad de bits constante, CBR. Por ejemplo, una cantidad de datos de salida totales por período de tiempo puede configurarse para que sea constante. En algunos ejemplos, la pluralidad de señales codificadas puede emitirse en base a una velocidad de bits variable, VBR. Por ejemplo, una cantidad de datos de salida totales por período de tiempo puede configurarse para que varíe.
Con referencia a la figura 7, se muestra una red de comunicación de datos 700 de acuerdo con un ejemplo. La red de comunicación de datos 700 comprende un sistema de procesamiento de señales 600, como se describe anteriormente, y que comprende además un aparato de control 710. El aparato de control 710 puede estar dispuesto de forma remota al sistema de procesamiento de señales 600. El aparato de control 710 puede estar situado en un sitio de control remoto. El aparato de control 710 comprende un decodificador 730 y un mezclador de visión 740. En algunos ejemplos, el decodificador y/o el mezclador de visión pueden incluirse como parte de un módulo de hardware común o como módulos de hardware separados. El aparato de control 710 y el sistema de procesamiento de señales 600 pueden acoplarse de manera conectiva a través de uno o más canales de comunicación. El aparato de control 710 se configura para recibir una pluralidad de señales del sistema de procesamiento de señales 600. La pluralidad de señales puede ser, por ejemplo, un haz de señales multiplexado. La pluralidad de señales puede formar parte de un flujo de datos 170. La pluralidad de señales puede recibirse a través de uno o más canales de comunicación. La pluralidad de señales puede ser, por ejemplo, una pluralidad de transmisiones de video en vivo. El decodificador 730 se configura para decodificar al menos una señal de la pluralidad de señales.
La información sobre prioridades 720 es generada por el aparato de control 710 y transmitida al sistema de procesamiento de señales 600 para influir en una asignación de velocidad de bits para al menos una señal de la pluralidad de señales. La información sobre prioridades 720 es generada por el mezclador de visión 740. La información sobre prioridades 720 puede estar relacionada con al menos una señal seleccionada para su emisión durante un período de tiempo dado. En otras palabras, el aparato de control 710 retroalimenta un parámetro adicional, específicamente, la información sobre prioridades 720, al proceso de asignación de velocidad de bits realizado por el sistema de procesamiento de señales 600. Por ejemplo, la salida de la información sobre prioridades 720 relacionada con una señal dada puede dar como resultado que el sistema de procesamiento de señales 600 aumente una velocidad de bits asignada para la señal dada.
El aparato de control 710 se configura para obtener datos de transmisión. Los datos de transmisión indican al menos una señal de la pluralidad de señales recibidas. La al menos una señal indicada por los datos de transmisión se selecciona para su transmisión durante un período de tiempo dado. El aparato de control 710 se configura para generar la información sobre prioridades 720 basándose al menos en parte en los datos de transmisión obtenidos. El aparato de control 710 luego transmite la información sobre prioridades 720 al sistema de procesamiento de señales 600.
En algunos ejemplos, el aparato de control 710 incluye una interfaz del usuario. Los datos de transmisión se pueden obtener a través de la entrada del usuario en la interfaz del usuario. El aparato de control puede comprender, por ejemplo, un conmutador de video y/o una mesa de producción de video. En algunos ejemplos, se producen una o más señales de cámara en función de un sistema de luces indicadoras de cámara. La una o más señales de cámara pueden usarse para obtener datos de transmisión para generar la información sobre prioridades 720. En algunos ejemplos, uno o más relés de control que tienen contactos de entrada/salida de propósito general (GPIO) se usan para obtener los datos de transmisión.
Por el contrario, a las técnicas convencionales, ciertos ejemplos de métodos y modalidades en la presente descripción representan un enfoque innovador para lograr una multiplexación eficiente de un conjunto de señales dentro de una restricción de velocidad de bits constante general y al mismo tiempo mantener una latencia de codificación mínima y una máxima eficiencia de energía de procesamiento.
Ciertos ejemplos de métodos y modalidades ilustrados en la presente descripción también incluyen formas de producir un modelo de la curva de calidad de velocidad de bits de una porción de una señal antes de que la señal se codifique realmente, para generar configuraciones de codificación óptimas (como, por medio de no- ejemplo limitante, parámetros de cuantificación) para cada flujo sin requerir codificaciones múltiples o información de codificación de fragmentos de tiempo anteriores de la señal, con el beneficio de una complejidad computacional mucho menor para lograr una velocidad de bits constante común para un conjunto multiplexado de señales.
Ciertos ejemplos de modalidades en la presente descripción se desvían con respecto a los sistemas y métodos convencionales, proporcionando métodos novedosos para multiplexar dinámicamente señales adaptando su respectiva asignación de velocidad de bits en tiempo real, en función de la velocidad de bits total disponible, en la complejidad intrínseca de cada señal y (si está disponible) en la información sobre prioridades en tiempo real proporcionada por un usuario para una o más de las señales.
De acuerdo con una modalidad, la invención es un método para evaluar rápidamente la complejidad de una señal dada -parte de un conjunto dado de señales- antes de haberla codificado (opuesto a las técnicas de multiplexación estadística del estado de la técnica que aprovechan el resultado de una primera codificación) y, en consecuencia, adaptar en tiempo real el objetivo de velocidad de bits asignado a dicha señal dada, a fin de alcanzar un velocidad de bits objetivo global para un conjunto dado de señales.
En algunos ejemplos, la velocidad de bits objetivo para una imagen dada se obtiene en función del nivel de calidad deseado para la imagen dada. Las imágenes que tienen un alto nivel de complejidad pueden requerir una velocidad de bits correspondientemente alta para lograr un cierto nivel de calidad. En algunos ejemplos, las velocidades de bits objetivo para cada una de la pluralidad de señales se derivan de manera que se logre un nivel constante de calidad a través de la pluralidad de señales. Un nivel de calidad de una imagen dada puede estar determinado por una o más medidas de calidad. Los ejemplos de medidas de calidad incluyen, pero no se limitan a, relaciones máximas de señal a ruido (PSNR), medidas de similitud estructural (SSIM), medidas de error cuadrático medio (MSE), medidas de similitud estructural multiescala (MS-SSIM), etc.
Ciertas modalidades proporcionan un método para mejorar cómo se asigna el ancho de banda a una pluralidad de señales. Por ejemplo, se puede mantener un nivel dado de calidad a través de la pluralidad de señales mientras se reduce el ancho de banda requerido para transmitir la pluralidad de señales. Al derivar la información de complejidad imagen por imagen, mediante el uso de la información contenida en una sola imagen de una señal dada, se puede asignar dinámicamente una velocidad de datos a la señal dada en tiempo real. En algunos ejemplos, el uso de la información sobre prioridades puede permitir que la asignación de ancho de banda de una señal elegida, por ejemplo, una señal priorizada, exceda un nivel 'predeterminado' que de cualquier otra manera podría usarse. En consecuencia, se puede mejorar la calidad visual de la señal elegida.
Se apreciará que la inclusión y/o uso de un multiplexor no es esencial para proporcionar las ventajas descritas anteriormente. Por ejemplo, puede lograrse mejorar el nivel de calidad en una pluralidad de señales y/o mantener un nivel de calidad en la pluralidad de señales mientras se reduce el ancho de banda requerido para la transmisión, independientemente de si las señales de salida están multiplexadas. Las señales de salida pueden, por ejemplo, transmitirse a través de flujos separados a uno o más receptores separados.
De manera similar, se apreciará que una velocidad de bits es simplemente un ejemplo de una velocidad de datos que se puede asignar a una señal dada para codificar la señal dada en un nivel particular de calidad. Las ventajas descritas anteriormente, por ejemplo, mantener un nivel de calidad a través de una pluralidad de señales mientras se reduce el ancho de banda requerido para la transmisión, pueden lograrse independientemente del tipo de velocidad de datos empleada. Otros ejemplos de velocidades de datos adecuadas incluyen, pero no se limitan a, velocidades de información, velocidades de señalización de datos, velocidades de carga útil, etc.
En consecuencia, se proporcionan sistemas y métodos para codificar una pluralidad de señales. Dichos sistemas y métodos logran las ventajas descritas anteriormente.
Con referencia a la figura 8, se muestra un método 800 para codificar una pluralidad de señales, de acuerdo con un ejemplo. El método 800 es realizado por un sistema de procesamiento de señales. Un ejemplo de un sistema de procesamiento de señales es un procesador de señales. El sistema de procesamiento de señales puede ser una sola entidad de procesamiento de datos. En algunos ejemplos, el sistema de procesamiento de señales comprende un grupo de entidades de procesamiento de datos. El sistema de procesamiento de señales puede comprender uno o más procesadores configurados para procesar información y/o instrucciones. Las operaciones realizadas por uno o más procesadores pueden ser realizadas por hardware y/o software. El uno o más procesadores pueden comprender múltiples procesadores coubicados o múltiples procesadores ubicados de forma dispar. El sistema de procesamiento de señales puede comprender una memoria utilizable por computadora configurada para almacenar información y/o instrucciones para uno o más procesadores. La memoria puede comprender memoria volátil y/o memoria no volátil.
El sistema de procesamiento de señales puede comprender uno o más asignadores de velocidad de bits y/o uno o más codificadores, como se describió anteriormente. Puede usarse un asignador de velocidad de bits separado y/o un codificador separado para cada señal en una pluralidad de señales recibidas. En algunos ejemplos, un único asignador de velocidad de bits y/o un único codificador están configurados para manejar una pluralidad de señales de la pluralidad de señales recibidas.
Un ejemplo de una pluralidad de señales es un conjunto de señales. Una señal puede comprender un flujo de datos. Una señal dada en la pluralidad de señales puede ser, por ejemplo, una señal de video. Una señal de video dada puede corresponder a una fuente de video particular. Una señal de video dada puede comprender una secuencia de imágenes. Un ejemplo de una imagen es un fotograma. Una imagen dada de una señal de video dada puede ser indicativa de la señal de video dada en una muestra de tiempo dada. Un ejemplo de una muestra en el tiempo es un instante en el tiempo. Una pluralidad combinada de muestras en el tiempo puede formar un fragmento de tiempo. Por ejemplo, se puede obtener una señal de video a 25 fotogramas por segundo. Un fragmento de tiempo de un segundo de la señal de video puede comprender 25 muestras de tiempo, estando asociada cada muestra de tiempo con una imagen dada indicativa de la señal de video dada en una muestra de tiempo particular.
En el bloque 810, el sistema de procesamiento de señales recibe una pluralidad de señales de entrada.
En el bloque 820, el sistema de procesamiento de señales obtiene información de complejidad relativa a una señal de entrada dada de la pluralidad de señales de entrada. La información de complejidad puede basarse, al menos en parte, en datos residuales generados. Los datos residuales se generan basándose en una señal de entrada dada de la pluralidad de señales de entrada, teniendo la señal de entrada dada un primer nivel de calidad, y en una reproducción de la señal de entrada dada en un segundo nivel de calidad más bajo. El sistema de procesamiento de señales se configura para para procesar la señal de entrada dada de la pluralidad de señales de entrada, teniendo la señal de entrada dada un primer nivel de calidad, para producir una reproducción de la señal de entrada dada en un segundo nivel de calidad más bajo. Un ejemplo de tal operación de procesamiento es una operación de reducción de muestreo. Una operación de submuestreo puede ser realizada por un submuestreador. El sistema de procesamiento de señales está configurado además para procesar la reproducción de la señal de entrada dada en el segundo nivel de calidad más bajo para producir una reproducción de la señal de entrada dada en el primer nivel de calidad. Un ejemplo de tal operación de procesamiento es una operación de sobremuestreo. Una operación de muestreo puede ser realizada por un sobremuestreador. El sistema de procesamiento de señales está configurado además para generar los datos residuales basándose en la diferencia entre la señal de entrada dada en el primer nivel de calidad y la reproducción de la señal de entrada dada en el primer nivel de calidad.
En algunos ejemplos, el sistema de procesamiento de señales se configura para procesar, por ejemplo, reducir la muestra, la reproducción de la señal de entrada dada en el segundo nivel de calidad más bajo para producir una reproducción de la señal de entrada dada en un tercer nivel de calidad incluso más bajo. La reproducción de la señal de entrada dada en el tercer nivel de calidad puede entonces procesarse, por ejemplo, sobremuestreada, para producir una segunda reproducción de la señal de entrada dada en el segundo nivel de calidad. La reproducción de la señal de entrada dada en el segundo nivel de calidad y la segunda reproducción de la señal de entrada dada en el segundo nivel de calidad pueden entonces procesarse para generar segundos datos residuales. Este proceso de generación de conjuntos de residuos puede repetirse en una jerarquía escalonada de niveles de calidad. En otras palabras, se pueden generar conjuntos de datos residuales basados en reproducciones de una señal dada en niveles de calidad consecutivamente más bajos en una jerarquía escalonada de niveles de calidad.
El sistema de procesamiento de señales se configura para generar la información de complejidad relacionada con la señal de entrada dada. En algunos ejemplos, el sistema de procesamiento de señales se configura para recibir la información de complejidad de una o más entidades adicionales. En algunos ejemplos, el sistema de procesamiento de señales se configura para recuperar la información de complejidad de al menos una memoria. En algunos ejemplos, el sistema de procesamiento de señales se configura para obtener información de complejidad para cada señal de entrada de la pluralidad de señales de entrada. El sistema de procesamiento de señales se configura para obtener información de complejidad relacionada con una imagen de la señal de entrada dada. La información de complejidad para una imagen dada se obtiene antes de realizar una codificación en esa imagen dada. En algunos ejemplos, la información de complejidad relacionada con un solo fotograma dado se usa para influir en la codificación de un solo fotograma dado.
En el bloque 830, el sistema de procesamiento de señales deriva un objetivo de velocidad de datos para cada una de la pluralidad de señales de entrada. El objetivo de velocidad de datos para cada una de la pluralidad de señales de entrada se deriva en dependencia de un objetivo de velocidad de datos global para la pluralidad de señales de entrada. Un ejemplo de un objetivo de velocidad de datos general es un objetivo de velocidad de datos total. El objetivo de velocidad de datos global puede ser constante durante un período de tiempo dado. En algunos ejemplos, el objetivo de velocidad de datos general puede configurarse para variar durante un período de tiempo determinado. El objetivo de velocidad de datos para la señal de entrada dada depende, al menos en parte, de la información de complejidad con relación a la señal de entrada dada. Un ejemplo de una velocidad de datos es una velocidad de bits. Un ejemplo de un objetivo de velocidad de datos es un objetivo de velocidad de bits.
En el bloque 840, el sistema de procesamiento de señales codifica la pluralidad de señales de entrada de acuerdo con los respectivos objetivos de velocidad de datos derivados para obtener una pluralidad de señales codificadas. En el bloque 850, el sistema de procesamiento de señales emite la pluralidad de señales codificadas.
En algunos ejemplos, el sistema de procesamiento de señales se configura para obtener información compleja con relación a una primera imagen de la señal de entrada dada y realizar la codificación en la primera imagen de la señal de entrada dada. En otras palabras, la primera imagen se codifica en función de la información de complejidad obtenida para la misma imagen. En otras palabras, el sistema de procesamiento de señales puede estar configurado para obtener información de complejidad relativa a una imagen de una señal dada, la señal que comprende una secuencia de imágenes, y realizar una codificación en dicha imagen de la señal dada de acuerdo con el objetivo de velocidad de datos derivado mediante el uso de la información de complejidad para dicha imagen de la señal dada. En algunos ejemplos, el sistema de procesamiento de señales se configura para obtener información compleja relacionada con una primera imagen de la señal de entrada dada y realizar la codificación en una segunda imagen diferente de la señal de entrada dada. La segunda imagen puede ser indicativa de la señal de entrada dada en una muestra posterior en el tiempo con relación a la primera imagen. En otras palabras, la segunda imagen se codifica en función de la información de complejidad obtenida para una imagen anterior. La primera y la segunda imagen pueden ser, por ejemplo, parte de una secuencia cronológica de imágenes. La segunda imagen puede ser una imagen que sigue directamente a la primera imagen en la secuencia cronológica. La velocidad de bits objetivo puede usarse entonces en una codificación de la segunda imagen de la señal de entrada dada. En otras palabras, el sistema de procesamiento de señales puede estar configurado para obtener información de complejidad relativa a una imagen de una señal dada, la señal que comprende una secuencia de imágenes, y realizar una codificación en otra imagen de la señal dada de acuerdo con el objetivo de velocidad de datos derivado mediante el uso de la información de complejidad para dicha imagen de la señal dada, siendo dicha otra imagen posterior a dicha imagen en la secuencia de imágenes de la señal de vídeo dada.
En algunos ejemplos, el sistema de procesamiento de señales se configura para multiplexar la pluralidad de señales codificadas para obtener un conjunto multiplexado de señales codificadas. El conjunto multiplexado de señales codificadas puede tener una velocidad de datos global que satisfaga un objetivo de velocidad de datos global.
En algunos ejemplos, el sistema de procesamiento de señales se configura para recibir información sobre prioridades relacionada con una señal de entrada dada en la pluralidad de señales de entrada. En algunos ejemplos, la información sobre prioridades se recibe desde un aparato de control remoto. En algunos ejemplos, la información sobre prioridades es generada por el sistema de procesamiento de señales. El objetivo de velocidad de datos para la señal de entrada dada puede derivarse en base a la información de complejidad para la señal de entrada dada y la información sobre prioridades para la señal de entrada dada. En algunos ejemplos, la pluralidad de señales codificadas es emitida por el sistema de procesamiento de señales para su transmisión al aparato de control remoto. La información sobre prioridades puede, por ejemplo, indicar al menos una señal de entrada dada de la pluralidad de señales que se emiten durante un período de tiempo dado. En algunos ejemplos, la información sobre prioridades indica al menos una señal de entrada dada de la pluralidad de señales que se están emitiendo actualmente, por ejemplo, durante un período de tiempo instantáneo. La información sobre prioridades puede, por ejemplo, indicar al menos una señal de entrada dada de la pluralidad de señales de entrada que es candidata para la transmisión durante un período de tiempo posterior. La información sobre prioridades puede influir en una asignación de velocidad de datos de la señal dada.
En algunos ejemplos, el sistema de procesamiento de señales comprende un grupo de entidades de procesamiento de datos, estando configurada cada entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos para codificar al menos una señal de entrada de la pluralidad de señales de entrada. Una entidad de procesamiento de datos dada puede configurarse para generar información de complejidad relacionada con al menos una señal de entrada y transmitir datos que indican la información de complejidad generada a al menos otra entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos.
En algunos ejemplos, el sistema de procesamiento de señales se configura para procesar una señal de entrada dada en la pluralidad de señales de entrada para obtener al menos datos para codificar para la señal de entrada dada. El objetivo de velocidad de datos para la señal de entrada dada y los datos para codificar para la señal de entrada dada pueden procesarse para obtener al menos un parámetro de cuantificación para la señal de entrada dada. El al menos un parámetro de cuantificación y los datos a codificar pueden procesarse para obtener datos cuantificados para la señal de entrada dada. Los datos cuantificados pueden procesarse para obtener datos codificados para la señal de entrada dada. El sistema de procesamiento de señales puede configurarse para procesar múltiples porciones de los datos cuantificados en paralelo.
Con referencia a la figura 9, se muestra un diagrama de señalización 900 que ilustra un método para influir en la asignación de velocidad de datos para una o más señales en una pluralidad de señales, de acuerdo con un ejemplo. El método puede realizarse en una red de comunicación de datos, como la red de comunicación de datos 700 y descrita anteriormente, que comprende un aparato de control 710 y un sistema de procesamiento de señales 600. La red de comunicación de datos comprende además una red de transmisión 910.
En algunos ejemplos, el aparato de control 710 está dispuesto de forma remota al sistema de procesamiento de señales 600. El aparato de control 710 puede estar dispuesto dentro de una mesa de producción de video.
En el elemento s9a, se recibe una pluralidad de señales en el aparato de control 710 desde el sistema de procesamiento de señales 600.
En el elemento s9b, el aparato de control 710 obtiene datos de transmisión, indicando los datos de transmisión una selección de al menos una señal de la pluralidad de señales recibidas para su transmisión durante un período de tiempo dado.
En el elemento s9c, el aparato de control 710 genera información sobre prioridades, basándose al menos en parte en los datos de transmisión obtenidos. La información sobre prioridades generada está relacionada con la al menos una señal seleccionada para la transmisión durante el período de tiempo dado, e indica que la al menos una señal seleccionada para la transmisión tiene prioridad sobre las señales no seleccionadas para la transmisión.
En el elemento s9d, la información sobre prioridades generada se emite para su transmisión al sistema de procesamiento de señales 600.
En el elemento s9e, el sistema de procesamiento de señales 600 deriva un objetivo de velocidad de datos para al menos una señal en dependencia de la información sobre prioridades generada por el aparato de control 710. En otras palabras, la asignación de objetivo de velocidad de datos está influenciada por la información sobre prioridades generada en el elemento s9c. Por lo tanto, la asignación del objetivo de velocidad de datos se basa en la información sobre prioridades recibida además de la información de complejidad obtenida para al menos una señal, como se describió con más detalle anteriormente.
En el elemento s9f, el sistema de procesamiento de señales 600 transmite una pluralidad de señales al aparato de control 710. La pluralidad de señales incluye al menos una señal indicada por los datos de transmisión en el elemento s9b, que tiene una velocidad de datos asignada en el elemento s9e.
En el elemento s9g, el aparato de control 710 transmite al menos una señal a través de la red de transmisión 910. En algunos ejemplos, el aparato de control 710 obtiene los primeros datos de transmisión, indicando al menos una primera señal de la pluralidad de señales recibidas. La al menos una primera señal puede comprender al menos una señal emitida actualmente. Se puede generar información de primera prioridad en relación con la al menos una primera señal. El sistema de procesamiento de señales 600 puede configurarse para aumentar el objetivo de velocidad de datos derivada de al menos una primera señal en dependencia de la primera información sobre prioridades. En otras palabras, la información de primera prioridad puede se puede usar para influir en una operación de asignación de velocidad de datos relacionada con al menos una primera señal.
En algunos ejemplos, la información de segunda prioridad es generada por el aparato de control 710. La información de segunda prioridad se refiere a al menos una segunda señal de la pluralidad de señales recibidas, siendo la al menos una segunda señal diferente de la al menos una primera señal. El sistema de procesamiento de señales 600 puede configurarse para disminuir el objetivo de velocidad de datos derivada de al menos una segunda señal en dependencia de la información de segunda prioridad. En otras palabras, la información de segunda prioridad puede utilizarse para influir en una operación de asignación de velocidad de datos relacionada con al menos una segunda señal.
En algunos ejemplos, el aparato de control 710 obtiene los segundos datos de transmisión. Los segundos datos de difusión indican al menos una tercera señal de la pluralidad de señales recibidas. La al menos una tercera señal puede comprender al menos una señal que se selecciona para su emisión durante un período de tiempo posterior, por ejemplo, después de la emisión de la al menos una primera señal. Puede generarse información de tercera prioridad en relación con al menos una tercera señal. El sistema de procesamiento de señales 600 puede configurarse para aumentar o disminuir el objetivo de velocidad de datos derivada de al menos una tercera señal en dependencia de la información de tercera prioridad. En otras palabras, la información de tercera prioridad se puede usar para influir en una operación de asignación de velocidad de datos relacionada con al menos una tercera señal.
En otras palabras, la velocidad de datos asignada a una señal que se esté emitiendo en ese momento puede verse influida en un primer grado, por ejemplo, para lograr un primer nivel de calidad, la velocidad de datos asignada a una señal que sea la siguiente en emitirse puede verse influida en un segundo grado, por ejemplo, para lograr un segundo nivel de calidad, y la velocidad de datos asignada de otras señales que no están en línea para la transmisión puede verse influenciada en un tercer grado, por ejemplo, para lograr un tercer nivel de calidad.
En algunos ejemplos, el aparato de control comprende una interfaz del usuario. Los datos de difusión pueden ser obtenidos por el aparato de control a través de la entrada del usuario en la interfaz del usuario.
Las técnicas descritas en la presente descripción pueden implementarse en software o hardware, o pueden implementarse mediante el uso de una combinación de software y hardware. Pueden incluir la configuración de un aparato para llevar a cabo y/o soportar cualquiera o todas las técnicas descritas en la presente descripción.
Los métodos descritos anteriormente pueden realizarse mediante software informático. En algunas modalidades, se proporciona un producto de programa informático, que comprende un medio de almacenamiento legible por ordenador no transitorio que tiene instrucciones legibles por ordenador almacenadas en el mismo. Las instrucciones legibles por computadora son ejecutables por un dispositivo computarizado para hacer que el dispositivo computarizado realice los métodos descritos anteriormente.
Las modalidades descritas en la presente descripción pueden incluir una configuración de uno o más dispositivos informatizados, enrutadores, redes, estaciones de trabajo, computadoras de mano o portátiles o similares, para llevar a cabo y/o soportar cualquiera o todos los métodos descritos en este documento. En otras palabras, uno o más dispositivos informatizados o procesadores pueden ser programados y/o configurados para operar para llevar a cabo las modalidades descritas en la presente descripción.
Las modalidades descritas en la presente descripción pueden incluir programas de software para realizar los métodos y procesos descritos anteriormente. Una de estas modalidades comprende un recurso de almacenamiento de hardware legible por ordenador (es decir, un medio legible por ordenador no transitorio) que incluye lógica de programa informático, instrucciones, etc. codificadas en él que, cuando se ejecutan en un dispositivo informático que tiene un procesador y la memoria correspondiente, hace que el procesador realice cualquiera de los métodos o procesos descritos en la presente descripción. Dichos arreglos pueden proporcionarse como software, código y/o estructuras de datos organizados o codificados en un medio legible por computadora como un medio óptico (por ejemplo, CD-ROM), disquete o disco duro u otro medio como microprograma o microcódigo en uno o más chips o como un circuito integrado de aplicación específica (ASIC). El software o microprograma u otras configuraciones de este tipo pueden instalarse en un dispositivo informatizado para que éste realice las técnicas descritas en la presente descripción.
La descripción anterior se ha presentado para ilustrar y describir ejemplos de los principios descritos. Esta descripción no pretende ser exhaustiva ni limitar estos principios a ninguna forma precisa descrita.

Claims (10)

REIVINDICACIONES
1. Un sistema de procesamiento de señales para asignar velocidades de datos para codificar una pluralidad de señales para obtener un conjunto de señales multiplexado, estando configurado el sistema de procesamiento de señales para:
recibir una pluralidad de señales de entrada, comprendiendo una señal de entrada dada de la pluralidad de señales de entrada una secuencia de imágenes;
generar datos residuales y obtener información de complejidad imagen por imagen, que comprende, para una imagen respectiva de la secuencia de imágenes:
generar datos residuales basados en (a) la imagen respectiva, la imagen respectiva que tiene un primer nivel de calidad, y (b) en una reproducción de la imagen respectiva en un segundo nivel de calidad más bajo, el sistema de procesamiento de señales está configurado para generar los datos residuales al:
procesar la imagen respectiva que tiene el primer nivel de calidad para generar la reproducción de la imagen respectiva en el segundo nivel de calidad más bajo;
procesar la reproducción generada de la imagen respectiva en el segundo nivel de calidad más bajo para generar una reproducción de la imagen respectiva en el primer nivel de calidad; y
generar los datos residuales en base a la diferencia entre la imagen respectiva en el primer nivel de calidad y la reproducción generada de la imagen respectiva en el primer nivel de calidad; y
antes de codificar la imagen respectiva, obtener información de complejidad relacionada con la imagen respectiva basándose al menos en parte en los datos residuales generados para la imagen respectiva; derivar un objetivo de velocidad de datos para cada una de la pluralidad de señales de entrada en dependencia de un objetivo de velocidad de datos general para la pluralidad de señales de entrada, dependiendo el objetivo de velocidad de datos para la señal de entrada dada al menos en parte de la información de complejidad; codificar la pluralidad de señales de entrada de acuerdo con los respectivos objetivos de velocidad de datos derivados para obtener una pluralidad de señales codificadas;
multiplexar la pluralidad de señales codificadas para obtener un conjunto multiplexado de señales codificadas, teniendo el conjunto multiplexado de señales codificadas una velocidad de datos combinada que satisface el objetivo de velocidad de datos global; y
emitir el conjunto multiplexado de señales codificadas.
2. Un sistema de procesamiento de señales de acuerdo con la reivindicación 1, que comprende:
un submuestreador para procesar la imagen respectiva que tiene el primer nivel de calidad para generar la reproducción de la imagen respectiva que tiene el segundo nivel de calidad más bajo, y
un sobremuestreador para procesar la reproducción generada de la imagen respectiva en el segundo nivel inferior de calidad para generar la reproducción de la imagen respectiva en el primer nivel de calidad.
3. Un sistema de procesamiento de señales de acuerdo con la reivindicación 1 ó 2, estando configurado el sistema de procesamiento de señales para generar la información de complejidad relativa a cada una de la pluralidad de señales.
4. Un sistema de procesamiento de señales de acuerdo con cualquiera de las reivindicaciones 1 a 3, en donde el objetivo de velocidad de datos global para la pluralidad de señales de entrada es constante durante un período de tiempo dado.
5. Un sistema de procesamiento de señales de acuerdo con cualquiera de las reivindicaciones 1 a 4, en donde la pluralidad de señales de entrada comprende una pluralidad de señales de vídeo, cada una de las cuales corresponde a una fuente de vídeo diferente.
6. Un sistema de procesamiento de señales de acuerdo con cualquiera de las reivindicaciones 1 a 5, en donde el objetivo de velocidad de datos para cada una de la pluralidad de señales comprende un objetivo de velocidad de bits para cada una de la pluralidad de señales, respectivamente.
7. Un sistema de procesamiento de señales de acuerdo con cualquiera de las reivindicaciones 1 a 6, que comprende un grupo de entidades de procesamiento de datos, estando configurada cada entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos para codificar al menos una señal de entrada de la pluralidad de señales de entrada,
en donde una entidad de procesamiento de datos dada en el grupo de entidades de procesamiento de datos se configura para para generar información de complejidad relacionada con al menos una señal de entrada y transmitir datos que indican la información de complejidad generada a al menos otra entidad de procesamiento de datos en el grupo de entidades de procesamiento de datos.
8. Un sistema de procesamiento de señales de acuerdo con cualquiera de las reivindicaciones 1 a 7, estando configurado el sistema de procesamiento de señales para:
procesar una señal de entrada en la pluralidad de señales de entrada para obtener al menos datos para codificar la señal de entrada; y
procesar el objetivo de velocidad de datos para la señal de entrada y los datos para codificar para la señal de entrada para obtener al menos un parámetro de cuantificación para la señal de entrada.
9. Un método, realizado por un sistema de procesamiento de señales, para asignar velocidades de datos para codificar una pluralidad de señales para obtener un conjunto multiplexado de señales, comprendiendo el método: recibir una pluralidad de señales de entrada, comprendiendo una señal de entrada dada de la pluralidad de señales de entrada una secuencia de imágenes;
generar datos residuales y obtener información de complejidad imagen por imagen, que comprende, para una imagen respectiva de la secuencia de imágenes:
generar datos residuales basados en (a) la imagen respectiva, la imagen respectiva que tiene un primer nivel de calidad, y (b) en una reproducción de la imagen respectiva en un segundo nivel de calidad más bajo, el sistema de procesamiento de señales está configurado para generar los datos residuales al:
procesar la imagen respectiva que tiene el primer nivel de calidad para generar la reproducción de la imagen respectiva en el segundo nivel de calidad más bajo;
procesar la reproducción generada de la imagen respectiva en el segundo nivel de calidad más bajo para generar una reproducción de la imagen respectiva en el primer nivel de calidad; y
generar los datos residuales en base a la diferencia entre la imagen respectiva en el primer nivel de calidad y la reproducción generada de la imagen respectiva en el primer nivel de calidad; y
antes de codificar la imagen respectiva, obtener información de complejidad relacionada con la imagen respectiva basándose al menos en parte en los datos residuales generados para la imagen respectiva; derivar un objetivo de velocidad de datos para cada una de la pluralidad de señales de entrada en dependencia de un objetivo de velocidad de datos general para la pluralidad de señales de entrada, dependiendo el objetivo de velocidad de datos para la señal de entrada dada al menos en parte de la información de complejidad; codificar la pluralidad de señales de entrada de acuerdo con los respectivos objetivos de velocidad de datos derivados para obtener una pluralidad de señales codificadas;
multiplexar la pluralidad de señales codificadas para obtener un conjunto multiplexado de señales codificadas, teniendo el conjunto multiplexado de señales codificadas una velocidad de datos combinada que satisface el objetivo de velocidad de datos global; y
emitir el conjunto multiplexado de señales codificadas.
10. Un método de acuerdo con la reivindicación 9, en donde:
la reproducción de la imagen respectiva en el segundo nivel de calidad más bajo es indicativa del resultado de una operación de reducción de resolución realizada en la imagen respectiva en el primer nivel de calidad, y la reproducción de la imagen respectiva en el primer nivel de calidad es indicativa de una operación de sobremuestreo realizada en la reproducción de la imagen respectiva en el segundo nivel de calidad más bajo.
ES16723801T 2015-04-13 2016-04-13 Codificación de una pluralidad de señales con objetivo de velocidad de datos de una señal en dependencia de la complejidad de la información Active ES2953917T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562146663P 2015-04-13 2015-04-13
PCT/GB2016/051034 WO2016166532A1 (en) 2015-04-13 2016-04-13 Encoding a plurality of signals with data rate target of a signal depending on complexity information

Publications (1)

Publication Number Publication Date
ES2953917T3 true ES2953917T3 (es) 2023-11-17

Family

ID=56024329

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16723801T Active ES2953917T3 (es) 2015-04-13 2016-04-13 Codificación de una pluralidad de señales con objetivo de velocidad de datos de una señal en dependencia de la complejidad de la información

Country Status (6)

Country Link
US (2) US10609381B2 (es)
EP (2) EP3284255B1 (es)
CN (1) CN107750456B (es)
ES (1) ES2953917T3 (es)
PL (1) PL3284255T3 (es)
WO (1) WO2016166532A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180302455A1 (en) * 2017-04-18 2018-10-18 Facebook, Inc. Systems and methods for adjusting video transmission bitrates
US10225211B2 (en) * 2017-07-20 2019-03-05 Arris Enterprises Llc Statistical multiplexer with service priority weighting
US10880354B2 (en) * 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
GB2598701B (en) 2020-05-25 2023-01-25 V Nova Int Ltd Wireless data communication system and method

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US6084910A (en) * 1997-01-31 2000-07-04 Hughes Electronics Corporation Statistical multiplexer for video signals
US6078958A (en) * 1997-01-31 2000-06-20 Hughes Electronics Corporation System for allocating available bandwidth of a concentrated media output
DE10122419B4 (de) * 2001-05-09 2007-11-08 Siemens Ag Verfahren zur dynammischen Kanalzuordnung
US8204079B2 (en) * 2002-10-28 2012-06-19 Qualcomm Incorporated Joint transmission of multiple multimedia streams
US7643553B2 (en) * 2004-10-27 2010-01-05 Arris Group, Inc. Optimal rate allocation for a group of channels
US20090276815A1 (en) * 2008-04-30 2009-11-05 Echostar Technologies L.L.C. Systems, methods and apparatus for democratic allocation of bandwidth
US8922659B2 (en) * 2008-06-03 2014-12-30 Thales Dynamically reconfigurable intelligent video surveillance system
US8977065B2 (en) 2011-07-21 2015-03-10 Luca Rossato Inheritance in a tiered signal quality hierarchy
US10873772B2 (en) 2011-07-21 2020-12-22 V-Nova International Limited Transmission of reconstruction data in a tiered signal quality hierarchy
US8531321B1 (en) * 2011-07-21 2013-09-10 Luca Rossato Signal processing and inheritance in a tiered signal quality hierarchy
US9129411B2 (en) 2011-07-21 2015-09-08 Luca Rossato Upsampling in a tiered signal quality hierarchy
US8948248B2 (en) 2011-07-21 2015-02-03 Luca Rossato Tiered signal decoding and signal reconstruction
US8711943B2 (en) 2011-07-21 2014-04-29 Luca Rossato Signal processing and tiered signal encoding
US9300980B2 (en) 2011-11-10 2016-03-29 Luca Rossato Upsampling and downsampling of motion maps and other auxiliary maps in a tiered signal quality hierarchy
US9510018B2 (en) 2011-11-23 2016-11-29 Luca Rossato Signal analysis and generation of transient information
US9626772B2 (en) 2012-01-18 2017-04-18 V-Nova International Limited Distinct encoding and decoding of stable information and transient/stochastic information
CA2873496A1 (en) * 2012-05-14 2013-11-21 Luca Rossato Encoding and decoding based on blending of sequences of samples along time
US9313495B2 (en) * 2012-05-14 2016-04-12 Luca Rossato Encoding and decoding based on blending of sequences of samples along time
US11146803B2 (en) * 2013-03-11 2021-10-12 Dolby Laboratories Licensing Corporation Distribution of multi-format high dynamic range video using layered coding
EA035886B1 (ru) 2013-04-15 2020-08-27 В-Нова Интернэшнл Лтд. Гибридное обратно совместимое кодирование и декодирование сигналов
EP3105926B1 (en) * 2014-02-13 2018-04-11 Dolby International AB Piecewise inter-layer prediction for signals with enhanced dynamic range
CN106464890A (zh) * 2014-03-14 2017-02-22 三星电子株式会社 可伸缩视频编码/解码方法和设备
US20160088298A1 (en) * 2014-09-22 2016-03-24 Ximin Zhang Video coding rate control including target bitrate and quality control

Also Published As

Publication number Publication date
US20200322612A1 (en) 2020-10-08
PL3284255T3 (pl) 2023-10-30
EP3284255A1 (en) 2018-02-21
EP3284255B1 (en) 2023-06-07
US20180054616A1 (en) 2018-02-22
EP4270952A2 (en) 2023-11-01
WO2016166532A1 (en) 2016-10-20
CN107750456A (zh) 2018-03-02
EP3284255C0 (en) 2023-06-07
CN107750456B (zh) 2022-02-11
US11159799B2 (en) 2021-10-26
EP4270952A3 (en) 2023-12-27
US10609381B2 (en) 2020-03-31

Similar Documents

Publication Publication Date Title
US11917130B2 (en) Error mitigation in sub-picture bitstream based viewpoint dependent video coding
US11159799B2 (en) Encoding a plurality of signals
US10999583B2 (en) Scalability of multi-directional video streaming
ES2953958T3 (es) Control de la relación de tasa de bits adaptativa
CN113170234A (zh) 多向视频的自适应编码和流式传输
US10754242B2 (en) Adaptive resolution and projection format in multi-direction video
CN113170237B (zh) 视频编码与解码方法和设备
US20240031589A1 (en) Tile Shuffling for 360 Degree Video Decoding
US20230370624A1 (en) Distributed analysis of a multi-layer signal encoding
BR112021003999A2 (pt) relação entre elementos de restrição de partição
US20220182654A1 (en) Exchanging information in hierarchical video coding
US11457053B2 (en) Method and system for transmitting video
US20190141352A1 (en) Tile-based 360 vr video encoding method and tile-based 360 vr video decoding method
US20210281850A1 (en) Spatial Layer Rate Allocation
JP2011211351A (ja) 画像符号化装置、画像符号化装置の制御方法、制御プログラムおよび記録媒体
Sauer Efficient coding tools for 360° video
JP6231046B2 (ja) 動画データ配信管理装置、動画データ配信管理方法、プログラム
JP6450288B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR20210051691A (ko) 타일 기반 스트리밍을 위한 관심 영역 기반 타일 부호화 방법 및 장치
TH2001007039A (th) ระบบและวิธีสำหรับการเข้ารหัสวีดิทัศน์เสมือนจริง 360 องศา
JPH10243403A (ja) 動画像符号化装置及び動画像復号化装置