ES2410304A2 - Device and scalable system for the overprinting of video flows. (Machine-translation by Google Translate, not legally binding) - Google Patents

Device and scalable system for the overprinting of video flows. (Machine-translation by Google Translate, not legally binding) Download PDF

Info

Publication number
ES2410304A2
ES2410304A2 ES201132008A ES201132008A ES2410304A2 ES 2410304 A2 ES2410304 A2 ES 2410304A2 ES 201132008 A ES201132008 A ES 201132008A ES 201132008 A ES201132008 A ES 201132008A ES 2410304 A2 ES2410304 A2 ES 2410304A2
Authority
ES
Spain
Prior art keywords
video streams
clippings
video
input
streams
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.)
Granted
Application number
ES201132008A
Other languages
Spanish (es)
Other versions
ES2410304B1 (en
ES2410304R1 (en
Inventor
Víctor Manuel GULIAS FERNANDEZ
Javier TAIBO PENA
Miguel BARREIRO PAZ
Pablo MONTERO MANSO
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.)
Universidade da Coruna
Original Assignee
Universidade da Coruna
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 Universidade da Coruna filed Critical Universidade da Coruna
Priority to ES201132008A priority Critical patent/ES2410304B1/en
Publication of ES2410304A2 publication Critical patent/ES2410304A2/en
Publication of ES2410304R1 publication Critical patent/ES2410304R1/en
Application granted granted Critical
Publication of ES2410304B1 publication Critical patent/ES2410304B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement

Landscapes

  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Circuits (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

Device and scalable system that allows the dynamic alteration of video streams by minimizing their recoding for the insertion of images in frames, such as the logos identifying television channels ("fly"), overprinting of multiple channels (multi picture-in-picture ), overprinting of personalized images, among others. It comprises a trimmer (20), a synthesizer (30), a mixer (40) and a controller (10). The trimmer (20) cuts out regions in the frames of a video stream (50) according to a cropping pattern (52) to produce a clipped stream (60) and streams of clippings (70) and/or scalings (74). The synthesizer (30) synthesizes video streams coincident with the cutouts according to a synthesis pattern (32) to produce streams with synthesized clippings (80) from (70, 74). The mixer (40) mixes the streams (60, 80) according to a mixing pattern (42) to produce video streams with overprinted clippings (90). The controller (10) coordinates the joint operation. (Machine-translation by Google Translate, not legally binding)

Description

Dispositivo y sistema escalable para la sobreimpresión de flujos de vídeo. Scalable device and system for overprinting video streams.

Sector de la Técnica Technical Sector

La presente invención pertenece al campo del tratamiento de flujos de vídeo en redes de comunicaciones, particularmente en Internet. The present invention pertains to the field of processing video streams in communications networks, particularly on the Internet.

Antecedentes de la invención Background of the invention

En el estado de la técnica se conocen diversas propuestas relacionadas con la presente invención. Various proposals related to the present invention are known in the state of the art.

En el documento US 6,573,945 se divulga un método para la sobreimpresión de imágenes durante el proceso de codificación. En cambio, la presente invención se realiza sobre vídeo ya codificado, minimizando la recodificación de las partes afectadas y permitiendo la generación bajo demanda de las imágenes insertadas. In US 6,573,945 a method for overprinting images is disclosed during the coding process. On the other hand, the present invention is carried out on video already encoded, minimizing the recoding of the affected parts and allowing the generation of the inserted images on demand.

El documento US 6,658,057 divulga un método para la inserción de logos en un flujo de datos. Se limita únicamente a la inserción de logos (no permite imágenes arbitrarias, ni múltiples regiones, ni combinaciones de otros flujos de vídeo), intenta reaprovechar la información de movimiento original para recodificar los bloques afectados. No está pensada para ser escalable con elevados volúmenes de canales y usuarios diferentes. US 6,658,057 discloses a method for inserting logos into a data stream. It is limited only to the insertion of logos (it does not allow arbitrary images, or multiple regions, or combinations of other video streams), it tries to reuse the original movement information to recode the affected blocks. It is not intended to be scalable with high volumes of channels and different users.

US 6,226,041 divulga un método para insertar logos según una técnica que se apoya en la inserción de logos sólo en fotogramas/bloques prescindibles que no son referenciados en otros fotogramas. Por tanto, esta propuesta no es general, ni es adecuada para escalar con un volumen de canales y usuarios elevado. US 6,226,041 discloses a method for inserting logos according to a technique that relies on the insertion of logos only on expendable frames / blocks that are not referenced in other frames. Therefore, this proposal is not general, nor is it suitable for climbing with a high volume of channels and users.

WO2001033861 propone una aproximación similar a la presente invención pero nuevamente está orientado a imágenes estáticas, no a imágenes generadas bajo demanda. Además, no permite escalar con un volumen de canales y usuarios elevado. WO2001033861 proposes an approach similar to the present invention but again it is oriented to static images, not images generated on demand. In addition, it does not allow scaling with a high volume of channels and users.

El artículo de Yu Liu; Gulling Li; Qiang Tang; JiChang Guo; , "DCT domain logo insertion of MPEG-2 transcoding," (Electrical and Computer Engineering, 2003. IEEE CCECE 2003. Canadian Conference on , vol.2, no., pp. 12191222 vol.2, 4-7 May 2003, doi: 10.1109/CCECE.2003.1226118), evita por completo la recodificación del flujo de vídeo comprimido mediante la inserción de imágenes en el espacio transformado, por tanto tiene una aproximación totalmente diferente. Yu Liu's article; Gulling Li; Qiang Tang; JiChang Guo; , "DCT domain logo insertion of MPEG-2 transcoding," (Electrical and Computer Engineering, 2003. IEEE CCECE 2003. Canadian Conference on, vol.2, no., Pp. 12191222 vol.2, 4-7 May 2003, doi : 10.1109 / CCECE.2003.1226118), completely prevents the recoding of the compressed video stream by inserting images into the transformed space, therefore it has a totally different approach.

Actualmente, se puede concluir que la sobreimpresión de imágenes en flujos de vídeo se resuelve mediante las siguientes acciones: Currently, it can be concluded that the overprinting of images in video streams is resolved by the following actions:

--
Descodificar todos los flujos de entrada. Decode all input streams.

--
Sobre-imponer los flujos sintéticos (esto es, flujos de vídeo cuyos fotogramas son generados por ordenador) para cada usuario sobre los fotogramas descodificados.  Over-impose synthetic streams (that is, video streams whose frames are generated by computer) for each user over decoded frames.

--
Recodificar los fotogramas descodificados modificados por cada usuario.  Recode the decoded frames modified by each user.

--
Enviar el vídeo comprimido codificado de forma individualizada para cada usuario. En la práctica, esta solución presenta dos grandes dificultades que provocan su inviabilidad en sistemas reales: a) Coste computacional. b) Pérdida de calidad debido a las re-codificaciones.  Send the encoded compressed video individually for each user. In practice, this solution presents two major difficulties that cause its unfeasibility in real systems: a) Computational cost. b) Loss of quality due to re-coding.

Descripción de la invención Description of the invention

A la luz de lo anterior, sería deseable diseñar un sistema que supere las dificultades apuntadas. Por tanto, se ha de conseguir una reducción del coste computacional y evitar la pérdida de calidad resultante de la recodificación. Para ello, la presente invención emplea técnicas basadas en computación distribuida: In light of the above, it would be desirable to design a system that overcomes the difficulties noted. Therefore, a reduction in computational cost must be achieved and the loss of quality resulting from recoding should be avoided. For this, the present invention employs techniques based on distributed computing:

a) Computación distribuida para el recorte y mezcla de vídeo digital en espacio transformado, en la medida de lo posible. a) Distributed computing for clipping and mixing digital video in transformed space, as far as possible.

b) Computación distribuida para repartir el coste de generación de flujos sintéticos que serán sobreimpuestos. b) Distributed computing to distribute the cost of generating synthetic flows that will be superimposed.

La invención tiene, entre otras, como aplicaciones inmediatas las siguientes: The invention has, among others, as immediate applications the following:

--
Inserción de imágenes, como los logos identificativos de los canales de televisión (“mosca”), en tiempo real minimizando la recodificación.  Insertion of images, such as logos identifying television channels ("fly"), in real time minimizing recoding.

--
Sobreimpresión de múltiples canales (multi picture-in-picture).  Multi-channel overprint (multi picture-in-picture).

--
Sobreimpresión de publicidad y anuncios personalizados por usuario.  Overprinting of advertising and personalized ads by user.

--
Sobreimpresión de aplicaciones interactivas sobre canales de televisión existentes.  Overprinting of interactive applications on existing television channels.

Para ello se propone un dispositivo para la sobreimpresión de flujos de vídeo que comprende un recortador, un sintetizador, un mezclador y un controlador. For this purpose, a device for overprinting video streams comprising a trimmer, a synthesizer, a mixer and a controller is proposed.

El recortador recorta en los fotogramas de al menos un flujo de vídeo de entrada, al menos una región rectangular según un patrón de recorte para producir: The trimmer cuts into the frames of at least one input video stream, at least one rectangular region according to a crop pattern to produce:

--
Un flujo de vídeo recortado que comprende una pluralidad de bloques correspondientes a una pluralidad de fotogramas recortados.  A clipped video stream comprising a plurality of blocks corresponding to a plurality of clipped frames.

--
Una pluralidad de flujos de vídeo de recortes, que comprende una pluralidad de bloques correspondientes a una pluralidad de fotogramas de recortes;  A plurality of clip video streams, comprising a plurality of blocks corresponding to a plurality of clip frames;

--
Una pluralidad de flujos de vídeo escalados, que comprende una pluralidad de bloques correspondientes al fotograma de entrada redimensionado a un tamaño distinto.  A plurality of scaled video streams, comprising a plurality of blocks corresponding to the input frame resized to a different size.

El recortador además asocia el flujo de vídeo recortado y los flujos de vídeo de recortes mediante la asignación de un número de secuencia a cada pareja compuesta por un fotograma recortado y los fotogramas de recorte correspondientes. The trimmer also associates the clipped video stream and clip video streams by assigning a sequence number to each pair consisting of a cropped frame and the corresponding crop frames.

El sintetizador sintetiza dinámicamente flujos de vídeo coincidentes con los agujeros del flujo de vídeo recortado según una operación de síntesis establecida para producir flujos de vídeo con recortes sintetizados. The synthesizer dynamically synthesizes video streams coinciding with the holes of the clipped video stream according to a synthesis operation established to produce video streams with synthesized clippings.

El mezclador mezcla los fotogramas con un mismo número de secuencia del flujo de vídeo recortado y de los flujos de vídeo de recortes sintetizados de acuerdo con una operación de mezcla para generar flujos de vídeo con recortes sobreimpresos. The mixer mixes the frames with the same sequence number of the clipped video stream and the video streams of synthesized clippings according to a mixing operation to generate video streams with overprinted clippings.

Opcionalmente, el recortador puede rectificar la pluralidad de bloques de cada fotograma inter del flujo de vídeo de entrada recortado, si dichos bloques comprimidos tienen vectores de movimiento referenciando a bloques pertenecientes a las regiones definidas por el patrón de recorte que lo produjo. Optionally, the trimmer can rectify the plurality of blocks of each inter frame of the clipped input video stream, if said compressed blocks have motion vectors referencing blocks belonging to the regions defined by the crop pattern that produced it.

Opcionalmente, el recortador puede rectificar la pluralidad de bloques de cada fotograma inter del flujo de vídeo de recortes, si dichos bloques comprimidos tienen vectores de movimiento referenciando a bloques no pertenecientes a la región descrita en el patrón de recorte que lo produjo. Optionally, the trimmer can rectify the plurality of blocks of each inter frame of the clip video stream, if said compressed blocks have motion vectors referencing blocks not belonging to the region described in the crop pattern that produced it.

Opcionalmente, la operación de síntesis realizada por el sintetizador para producir flujos de vídeo con recortes sintetizados puede ser escalar el recorte a un tamaño diferente, modificar la calidad del recorte, reemplazar por un color uniforme, reemplazar por una imagen estática o dinámica, reemplazar por una imagen que representa un texto en una fuente y tamaño dado, transformar un recorte (voltear horizontalmente/verticalmente, girar), modificar colores del recorte (modificar balance de color, modificar brillo y contraste, modificar tono y saturación, transformar colores, invertir colores), aplicar un filtro sobre un recorte (posterizar, saturar, enfocar, desenfocar, realzar, distorsionar, añadir luces y sombras, añadir ruido, detectar bordes), o combinación de las anteriores. Optionally, the synthesis operation performed by the synthesizer to produce video streams with synthesized clippings can be to scale the crop to a different size, modify the quality of the crop, replace with a uniform color, replace with a static or dynamic image, replace with an image that represents a text in a given font and size, transform a crop (flip horizontally / vertically, rotate), modify crop colors (modify color balance, modify brightness and contrast, modify hue and saturation, transform colors, invert colors ), apply a filter on a clipping (posterize, saturate, focus, blur, enhance, distort, add lights and shadows, add noise, detect edges), or combination of the above.

Opcionalmente, el mezclador comprende una memoria intermedia (o buffer) para mitigar los desfases temporales entre flujos de vídeo para resincronizar dichos flujos de vídeo utilizando el número de secuencia asignado por el recortador. Optionally, the mixer comprises an intermediate memory (or buffer) to mitigate the time lags between video streams to resynchronize said video streams using the sequence number assigned by the trimmer.

Es también objeto de la invención un sistema para la sobreimpresión de flujos de vídeo caracterizado por que comprende una pluralidad de dispositivos con sus elementos en cluster. Cada recortador individual de un dispositivo está configurado para recortar un subconjunto de los flujos de vídeo de entrada, de acuerdo con un subconjunto de patrones de recorte asociados para producir al menos los flujos de vídeo recortados, flujos de vídeo de recortes y flujos de vídeo escalados correspondientes a exclusivamente dicho subconjunto de flujos de vídeo de entrada. The object of the invention is also a system for the overprinting of video streams characterized in that it comprises a plurality of devices with their elements in clusters. Each individual trimmer of a device is configured to trim a subset of the input video streams, according to a subset of associated crop patterns to produce at least the trimmed video streams, clip video streams and scaled video streams. corresponding exclusively to said subset of input video streams.

Opcionalmente en el sistema anterior, los sintetizadores de cada dispositivo están distribuidos en cluster y cada sintetizador individual está configurado para recibir los flujos de vídeo de recortes y flujos de vídeo escalados correspondientes con un subconjunto de flujos de vídeo de entrada para producir un subconjunto de flujos de vídeo con recortes sintetizados de acuerdo con unos patrones de síntesis asociados. Optionally in the previous system, the synthesizers of each device are distributed in clusters and each individual synthesizer is configured to receive the corresponding scaled video streams and video streams with a subset of incoming video streams to produce a subset of streams video with synthesized clippings according to some associated synthesis patterns.

Opcionalmente en el sistema anterior, los mezcladores de cada dispositivo están distribuidos en cluster y cada mezclador individual está configurado para recibir los flujos de vídeo recortados y los flujos con recortes sintetizados correspondientes con un subconjunto de flujos de vídeo de entrada para producir un subconjunto de flujos de vídeo con recortes sobreimpresos. Optionally in the previous system, the mixers of each device are distributed in clusters and each individual mixer is configured to receive the clipped video streams and the corresponding synthesized clip streams with a subset of input video streams to produce a subset of streams of video with overprinted clippings.

Opcionalmente el sistema puede incluir un controlador configurado para recibir un patrón de sobreimposición asociado a un usuario para construir los correspondientes patrones de recorte, síntesis y mezcla, con los que configurar el recortador, el sintetizador y el mezclador, respectivamente, para enviar la pluralidad de flujos de vídeo con recortes sobreimpresos por una red de telecomunicaciones (por ejemplo Internet) a una pluralidad de direcciones destino asignadas a dichos usuarios. Optionally, the system may include a controller configured to receive an overlay pattern associated with a user to construct the corresponding clipping, synthesis and mixing patterns, with which to configure the trimmer, synthesizer and mixer, respectively, to send the plurality of video streams with overprinted clippings over a telecommunications network (eg Internet) to a plurality of destination addresses assigned to said users.

Descripción de los dibujos Description of the drawings

A continuación se pasa a describir de manera muy breve una serie de dibujos que ayudan a comprender mejor la invención y que se relacionan expresamente con una realización de dicha invención que se presenta como un ejemplo no limitativo de ésta. A series of drawings that help to better understand the invention and that expressly relate to an embodiment of said invention which is presented as a non-limiting example thereof is described very briefly below.

Fig. 1 describe un ejemplo de realización de un dispositivo para la sobre-impresión que comprende un recortador (20), un sintetizador (30), un mezclador (40) y un controlador (10) Fig. 1 describes an exemplary embodiment of a device for overprinting comprising a trimmer (20), a synthesizer (30), a mixer (40) and a controller (10)

Fig. 2 describe un ejemplo concreto formado por dos flujos de vídeo IP (50) a la entrada de un recortador (20) parametrizado con tres patrones de recorte (52), un sintetizador (30) parametrizado con cinco patrones de síntesis Fig. 2 describes a concrete example formed by two IP video streams (50) at the input of a trimmer (20) parameterized with three trim patterns (52), a synthesizer (30) parameterized with five synthesis patterns

(32) y un mezclador (40) parametrizado con cuatro patrones de mezcla (42). (32) and a mixer (40) parameterized with four mixing patterns (42).

Fig. 3 describe un recortador en cluster que comprende varios recortadores (20) acoplados. Fig. 3 describes a cluster trimmer comprising several coupled trimmers (20).

Fig. 4 muestra un diagrama de flujo de las principales etapas llevadas a cabo en un recortador (20). Fig. 4 shows a flow chart of the main stages carried out in a trimmer (20).

Fig. 5 describe en detalle la etapa de recortado y rectificado (21), en la que se recorta (56) el fotograma actual comprimido (51) y éste se rectifica (57) usando un fotograma de referencia descomprimido (53). Fig. 5 describes in detail the step of trimming and grinding (21), in which the current compressed frame (51) is trimmed (56) and it is rectified (57) using an unzipped reference frame (53).

Fig. 6 describe en detalle la etapa de escalado (25), en la que se escala (28) el fotograma actual descomprimido (54) y, opcionalmente, se codifica (26) a algún formato de vídeo (por ejemplo, MPEG-2 ISO 13818). Fig. 6 describes in detail the scaling stage (25), in which the current decompressed frame (54) is scaled (28) and, optionally, encoded (26) to some video format (eg MPEG-2 ISO 13818).

Realización preferente de la invención Preferred Embodiment of the Invention

Sin carácter limitativo, el sistema propuesto por la presente invención puede implementarse mediante cuatro componentes: Without limitation, the system proposed by the present invention can be implemented by four components:

a) Un recortador (20) diseñado para procesar unos flujos de vídeo de entrada (50) según unos patrones de recorte a) A trimmer (20) designed to process input video streams (50) according to cropping patterns

(52) dados y para generar como resultado diferentes flujos independientes de vídeo de salida (60,70), preferentemente: flujos de vídeo de entrada recortados (60) (el vídeo original con agujeros), flujos de vídeo con los recortes (70) (el contenido de los agujeros) y flujos de vídeo de entrada escalados (74). (52) given and to generate as a result different independent output video streams (60,70), preferably: trimmed input video streams (60) (the original video with holes), video streams with the clippings (70) (the contents of the holes) and scaled input video streams (74).

b) Un sintetizador (30) diseñado para generar unos flujos de vídeo con recortes sintetizados (80) (vídeo de tamaño coincidente con los recortes) según unos patrones de síntesis (32) a partir de los flujos de vídeo de entrada recortados (70) y flujos de vídeo de entrada escalados (74). b) A synthesizer (30) designed to generate video streams with synthesized clippings (80) (video of matching size with the clippings) according to synthetic patterns (32) from the clipped input video streams (70) and scaled input video streams (74).

c) Un mezclador (40) diseñado para mezclar el flujo de vídeo de entrada recortado (60) y flujos de vídeo con recortes sintetizados (80) según unos patrones de mezcla (42) para construir un flujo de vídeo de entrada con recortes sobreimpresos (90) (el vídeo original con agujeros adecuadamente rellenados con recortes sintetizados) que será enviado de forma individual a cada usuario. c) A mixer (40) designed to mix the clipped input video stream (60) and video streams with synthesized clippings (80) according to mix patterns (42) to construct an input video stream with overprinted clippings ( 90) (the original video with holes properly filled with synthesized cutouts) that will be sent individually to each user.

d) Un controlador (10) diseñado para coordinar el funcionamiento conjunto de recortador (20), sintetizador (30) y mezclador (40). d) A controller (10) designed to coordinate the joint operation of trimmer (20), synthesizer (30) and mixer (40).

A continuación se describen en detalle cada uno. Each one is described in detail below.

a) Recortador a) Trimmer

El recortador (20) recibe n flujos de vídeo IP (50) c1, c2, …, cn y, para cada flujo ci recibe una serie de ki patrones de recorte (52) {pri1, pri2,... prik }, y genera 3 tipos de flujos de salida diferentes: The trimmer (20) receives n IP video streams (50) c1, c2, ..., cn and, for each stream ci receives a series of ki clipping patterns (52) {pri1, pri2, ... prik}, and It generates 3 different types of output streams:

i i

t: (RECORTADO) flujos de vídeo IP de entrada recortados (60), esto es, los vídeos de entrada en los que se han suprimido apropiadamente una o más regiones rectangulares disjuntas. t: (CLOSED) clipped input IP video streams (60), that is, the input videos in which one or more disjoint rectangular regions have been properly suppressed.

r: (RECORTE) flujos de vídeo IP con los recortes (70) de la entrada, esto es, los flujos correspondientes a cada una de las regiones suprimidas apropiadamente del flujo de vídeo de entrada. A: (TRIM) IP video streams with the cutouts (70) of the input, that is, the streams corresponding to each of the regions properly suppressed from the input video stream.

s: (ESCALADO) flujos de vídeo IP de entrada escalados (74), esto es, los vídeos de entrada redimensionados normalmente a una resolución o escala menor. s: (SCALING) scaled input IP video streams (74), that is, resized input videos normally at a smaller resolution or scale.

Cada patrón de recorte (52) prij es un conjunto de regiones rectangulares, no solapadas y alineadas al tamaño de bloque utilizado por el estándar de vídeo utilizado, identificadas por el par (esquina superior izquierda, esquina inferior derecha) para el flujo de entrada (50) ci. Each clipping pattern (52) prij is a set of rectangular regions, not overlapping and aligned to the block size used by the video standard used, identified by the pair (upper left corner, lower right corner) for the input stream ( 50) ci.

i) Flujos de vídeo IP de entrada recortados (60), t: i) Clipped input IP video streams (60), t:

Cada flujo de vídeo con un canal de entrada recortado tij se construye a partir de un flujo de vídeo de entrada (50) ci en el cual se eliminan adecuadamente (ver PROCESO DE RECORTADO, ESCALADO Y ENVIO) todos los bloques incluidos en todas las regiones rectangulares definidas por el patrón de recorte (52) específico prij, obteniendo un flujo de vídeo (60) en el que todos sus fotogramas tienen agujeros consistentes con el patrón de recorte. Each video stream with a tij trimmed input channel is constructed from an input video stream (50) ci in which all blocks included in all regions are properly removed (see PROCESSING CLIPPING, SCALING AND SENDING) rectangles defined by the specific prij cropping pattern (52), obtaining a video stream (60) in which all of its frames have holes consistent with the cropping pattern.

Si existen n flujos de entrada y, para cada flujo ci, existen ki patrones de recorte (52) distintos, se generarán If there are n input flows and, for each flow ci, there are ki different clipping patterns (52), they will be generated

sumi=1..n(ki) flujos distintos de vídeo (60), identificados como t11, t12, …, t1k , t21, t22, …, t2k , …, tn1, tn2, …, tnk . Junto sumi = 1..n (ki) different video streams (60), identified as t11, t12, ..., t1k, t21, t22, ..., t2k, ..., tn1, tn2, ..., tnk. Together

12 n con cada fotograma de cada flujo de vídeo se envía un número de secuencia único del fotograma (61,71,73) que será utilizados posteriormente por el sintetizador (30) y el mezclador (40) para asociar adecuadamente dicho fotograma recortado (61) con los recortes sintetizados (81) para este mismo fotograma (ver SINTETIZADOR y MEZCLADOR). 12 n with each frame of each video stream a unique sequence number of the frame (61,71,73) is sent and will be used later by the synthesizer (30) and the mixer (40) to properly associate said cropped frame (61 ) with synthesized clippings (81) for this same frame (see SYNTHETIZER and MIXER).

Cada flujo de vídeo IP de entrada recortado (60) se envía por la red a múltiples destinos usando algún procedimiento de envío multipunto, por ejemplo enviando el flujo a un grupo multicast específico. Each clipped input IP video stream (60) is sent over the network to multiple destinations using some multipoint sending procedure, for example by sending the stream to a specific multicast group.

ii) Flujos de vídeo IP con los recortes (70) de la entrada, r: ii) IP video streams with the clippings (70) of the input, r:

Los distintos patrones de recorte (52) para un mismo flujo de vídeo IP de entrada definen regiones a recortar, algunas de las cuales pueden ser coincidentes en distintos patrones de recorte (52). Denominamos Ri (55) al conjunto de esas regiones para el flujo de vídeo IP de entrada ci ; es necesario generar un único flujo de vídeo con el recorte de la entrada (70) para cada región en Ri (55). The different clipping patterns (52) for the same input IP video stream define regions to be trimmed, some of which may be coincident in different clipping patterns (52). We denominate Ri (55) to all these regions for the input IP video stream ci; It is necessary to generate a single video stream with the input trim (70) for each region in Ri (55).

Para cada flujo de vídeo IP de entrada ci (50) y para cada una de las regiones rectangulares del conjunto Ri (55) definidas en algún patrón de recorte prij (52) para dicho canal de entrada se generará un flujo de vídeo IP (70) rik con el recorte del flujo de entrada correspondiente a la región rectangular k perteneciente a Ri.. Dicho recorte rik se construye eliminando adecuadamente (ver PROCESO DE RECORTADO, ESCALADO Y ENVIO) todos los bloques NO incluidos en la región rectangular. Si Rpr(prij) son las regiones definidas por el patrón de recorte prij, Ri es el conjunto unionj=1..k ( Rpr(prij) ). For each input IP video stream ci (50) and for each of the rectangular regions of the Ri set (55) defined in some prij clipping pattern (52) for said input channel an IP video stream (70) will be generated ) rik with the cut-out of the inlet flow corresponding to the rectangular region k belonging to Ri .. Said cut-out rik is constructed by suitably eliminating (see CUTTING, SCALING AND SHIPPING PROCESS) all blocks NOT included in the rectangular region. If Rpr (prij) are the regions defined by the prij clipping pattern, Ri is the set unionj = 1..k (Rpr (prij)).

i i

Para cada flujo de vídeo IP de entrada (50) ci se generarán |Ri| flujos IP con los recortes de la entrada (70), identificados como ri1, ri2, …, ri|R |, generándose en total sumi=1..n(|Ri|) flujos. For each input IP video stream (50) ci will be generated | Ri | IP flows with the input cuts (70), identified as ri1, ri2, ..., ri | R |, generating in total sumi = 1..n (| Ri |) flows.

i i

Junto con cada fotograma (71) de cada flujo de vídeo con los recortes (70) de la entrada se envía el número de secuencia único del fotograma (51) que será utilizado posteriormente por el sintetizador (30) y el mezclador (40) para asociar adecuadamente el fotograma recortado (61) con los recortes sintetizados (81) para un mismo fotograma (51) (ver SINTETIZADOR y MEZCLADOR). Together with each frame (71) of each video stream with the clippings (70) of the input, the unique sequence number of the frame (51) is sent, which will be used later by the synthesizer (30) and the mixer (40) to properly associate the trimmed frame (61) with the synthesized clippings (81) for the same frame (51) (see SYNTHETIZER and MIXER).

Cada flujo de vídeo IP con los recortes (70) de la entrada se envía por la red a múltiples destinos usando algún procedimiento de envío multipunto, por ejemplo enviando el flujo a un grupo multicast específico. El flujo de vídeo IP con los recortes (70) de la entrada puede estar comprimido según algún estándar o descomprimido. Each IP video stream with the clippings (70) of the input is sent over the network to multiple destinations using some multipoint sending procedure, for example by sending the stream to a specific multicast group. The IP video stream with the cutouts (70) of the input can be compressed according to some standard or decompressed.

iii) Flujos de vídeo IP de entrada escalados, s: iii) Scaled input IP video streams, s:

Cada flujo de vídeo de entrada escalado (74) se construye redimensionando los fotogramas (51) de un flujo de vídeo IP (50) de la entrada a Q tamaños de fotograma distintos (73). Si existen n flujos de entrada, se generarán Q x n flujos distintos de vídeo escalado (74), identificados como s11, s12, …, s1Q, s21, s22, …, s2Q, …, sn1, sn2, …, snQ. Each scaled input video stream (74) is constructed by resizing the frames (51) of an IP video stream (50) of the input to Q different frame sizes (73). If there are n input streams, Q x n different streams of scaled video (74) will be generated, identified as s11, s12, ..., s1Q, s21, s22, ..., s2Q, ..., sn1, sn2, ..., snQ.

Cada flujo de vídeo IP de entrada escalado (74) se envía por la red a múltiples destinos usando algún procedimiento de envío multipunto, por ejemplo enviando el flujo a un grupo multicast específico. El flujo de vídeo IP con los recortes (70) de la entrada puede estar comprimido según algún estándar o descomprimido (ver PROCESO DERECORTADO, ESCALADO Y ENVÍO). Each scaled input IP video stream (74) is sent over the network to multiple destinations using some multipoint sending procedure, for example by sending the stream to a specific multicast group. The IP video stream with the clippings (70) of the input can be compressed according to some standard or decompressed (see RIGHT PROCESS, SCALING AND SHIPPING).

Proceso de recortado, escalado y envío Trimming, scaling and shipping process

Aclarar previamente que dentro de un fotograma inter (P-frame, B-frame) puede haber bloques predictivos (inter) o no predictivos (intra). De otra parte, un fotograma intra (I-frame) sólo tiene bloques intra. Clarify previously that within an inter (P-frame, B-frame) frame there may be predictive (inter) or non-predictive (intra) blocks. On the other hand, an intra-frame (I-frame) only has intra blocks.

Por cada flujo de entrada (50) ci se dispone de un número de secuencia y se sigue el siguiente procedimiento: For each input stream (50) ci a sequence number is available and the following procedure is followed:

i) A partir del flujo de entrada (50) ci se extrae el siguiente fotograma (58), el fotograma actual comprimido (51), y se incrementa el número de secuencia. i) From the input stream (50) ci the next frame (58), the current compressed frame (51), is extracted, and the sequence number is increased.

ii) Se descomprime (23) el fotograma actual (51), obteniendo el fotograma actual descomprimido (54). ii) The current frame (51) is decompressed (23), obtaining the current decompressed frame (54).

iii) Se almacena (24) el fotograma actual descomprimido (54). iii) The decompressed current frame (54) is stored (24).

iv) Se aplica la etapa de escalado (25) para cada una de las Q calidades q: : iv) The scaling stage (25) is applied for each of the Q qualities q:

1. one.
se escala (28) el fotograma actual descomprimido (54) a la resolución correspondiente a q. the decompressed current frame (54) is scaled (28) to the resolution corresponding to q.

2. 2.
si el flujo se envía comprimido, se comprime el fotograma escalado (26) según el estandar utilizado (por ejemplo, MPEG-2 ISO 13818). if the flow is sent compressed, the scaled frame (26) is compressed according to the standard used (for example, MPEG-2 ISO 13818).

3. 3.
se encapsula y envía el fotograma escalado (73) (comprimido, si es el caso) en el flujo de vídeo escalado siq (74). the scaled frame (73) (compressed, if applicable) is encapsulated and sent in the scaled video stream siq (74).

v) Se aplica la etapa de recortado y rectificado (21) sobre el fotograma actual comprimido (51) para cada patrón de recorte (52) prij con j = 1..ki, : v) The trimming and grinding stage (21) is applied to the current compressed frame (51) for each clipping pattern (52) prij with j = 1..ki,:

1. one.
se recorta (56) el fotograma actual (51), eliminando los bloques comprimidos que están dentro de alguna de las regiones rectangulares definidas por el patrón de recorte (52) prij. the current frame (51) is trimmed (56), eliminating the compressed blocks that are within any of the rectangular regions defined by the clipping pattern (52) prij.

2. 2.
si el fotograma actual (51) es un fotograma inter, se rectifican (57) los bloques comprimidos con vectores de movimiento apuntando a algún bloque en las regiones rectangulares definidas por el patrón de recorte (52) prij (ver PROCESO DE RECTIFICACIÓN DE VECTORES DE MOVIMIENTO). if the current frame (51) is an inter frame, the compressed blocks with motion vectors are rectified (57) pointing to some block in the rectangular regions defined by the clipping pattern (52) prij (see VECTORS RECTIFICATION PROCESS OF MOVEMENT).

3. 3.
se encapsulan y envían los bloques del conjunto en el flujo (60) tij, junto con el número de secuencia. The blocks of the set are encapsulated and sent in the flow (60) tij, together with the sequence number.

vi) Se calculan los recortes a obtener (27) obteniendo Ri (55). vi) The cuts to be obtained (27) are calculated by obtaining Ri (55).

vii) Se aplica la etapa de recortado y rectificado (21) sobre el fotograma actual comprimido (51) para cada región k en Ri (55): vii) The trimming and grinding stage (21) is applied to the current compressed frame (51) for each region k in Ri (55):

1. one.
se recorta (56) el fotograma actual (51), eliminando los bloques comprimidos que están fuera de la región k. the current frame (51) is trimmed (56), eliminating the compressed blocks that are outside the region k.

2. 2.
si el fotograma actual (51) es un fotograma inter y los recortes se envían de forma comprimida, se rectifican (57) los bloques comprimidos de k que tengan vectores de movimiento apuntando a algún bloque fuera de k (ver PROCESO DE RECTIFICACIÓN DE VECTORES DE MOVIMIENTO). If the current frame (51) is an inter frame and the clippings are sent in a compressed form, the compressed blocks of k having motion vectors pointing to some block outside k are rectified (see VECTORS RECTIFICATION PROCESS OF MOVEMENT).

3. 3.
se encapsulan y envían los bloques del conjunto en el flujo (70) rik, junto con el número de secuencia. the blocks of the set are encapsulated and sent in the flow (70) rik, together with the sequence number.

viii) ir a i) para continuar procesando el resto del flujo de vídeo IP (50) de entrada. viii) go to i) to continue processing the rest of the incoming IP video stream (50).

Proceso de rectificación de vectores de movimiento Motion vector rectification process

Para evitar que en el tratamiento por separado del fotograma recortado y sus recortes la información de movimiento sea incorrecta (lo cual se traduciría en artefactos visuales, esto es, ruido apreciable por el usuario en la descodificación del vídeo mezclado resultante), los vectores de movimiento asociados a cada bloque comprimido deben ser analizados y rectificados (57) en el caso de que referencien a un bloque externo al conjunto de bloques a rectificar. A la entrada de este proceso tenemos una colección de bloques comprimidos, previamente recortados a partir del fotograma actual (51), a rectificar. En función del tipo de bloque comprimido se actúa del modo siguiente: To avoid that in the separate treatment of the cropped frame and its clippings the movement information is incorrect (which would result in visual artifacts, that is, noise appreciable by the user in decoding the resulting mixed video), the motion vectors associated to each compressed block must be analyzed and rectified (57) in the case that they refer to a block external to the set of blocks to be rectified. At the entrance of this process we have a collection of compressed blocks, previously trimmed from the current frame (51), to be rectified. Depending on the type of compressed block, the following steps are taken:

i) Bloques intra: el bloque comprimido está auto-contenido, no existen referencias de movimiento con respecto a otros bloques. No es necesario ningún procesamiento adicional. i) Intra blocks: the compressed block is self-contained, there are no movement references with respect to other blocks. No additional processing is necessary.

ii) Bloques inter: los vectores de movimiento hacen referencia a una región de un fotograma anterior (en Pframes y B-frames) o posterior (sólo en B-frames). ii) Inter blocks: motion vectors refer to a region of a previous frame (in Pframes and B-frames) or later (only in B-frames).

i.a) En el caso de una referencia anterior (en P-frames y B-frames), si la región referenciada está íntegramente contenida dentro del conjunto de bloques a rectificar, entonces no es necesario ningún procesamiento adicional. En caso contrario, el bloque inter será RECTIFICADO, siendo reemplazado por un nuevo bloque resultado de comprimir como bloque intra, según el estándar utilizado (por ejemplo, MPEG-2 ISO 13818), la región correspondiente a partir de un fotograma anterior de referencia descomprimido (53), previamente almacenado (24). i.a) In the case of a previous reference (in P-frames and B-frames), if the referenced region is fully contained within the set of blocks to be rectified, then no further processing is necessary. Otherwise, the inter block will be RECTIFIED, being replaced by a new block resulting from compressing as an intra block, according to the standard used (for example, MPEG-2 ISO 13818), the corresponding region from an earlier decompressed reference frame (53), previously stored (24).

i.b) En el caso de referencias posteriores (en B-frames), los estándares de vídeo (por ejemplo, el estandar MPEG-2 ISO 13818) garantizan que los fotogramas se reordenan dentro de los flujos de tal forma que los fotogramas referenciados siempre son enviados antes en el flujo de vídeo, siendo responsabilidad de los descodificadores el adecuado buffering y reordenación en la reproducción. Por lo tanto, el procesamiento es idéntico al presentado en (i.a), pero utilizando un fotograma que fue descomprimido (53) y almacenado (24) previamente, aunque en la secuencia lógica de reproducción sea correspondiente a un fotograma posterior. ib) In the case of subsequent references (in B-frames), the video standards (for example, the MPEG-2 ISO 13818 standard) guarantee that the frames are rearranged within the flows so that the referenced frames are always sent before in the video stream, being the responsibility of the decoders the appropriate buffering and reordering in the reproduction. Therefore, the processing is identical to that presented in (i.a), but using a frame that was decompressed (53) and previously stored (24), although in the logical sequence of reproduction it corresponds to a subsequent frame.

Opcionalmente, y para evitar la propagación de errores residuales en la rectificación (traducida en pequeños artefactos) a lo largo de una secuencia de bloques inter, si la región referenciada ha sido parcialmente rectificada desde el último fotograma intra, se rectificará como si referenciase a una región que no está íntegramente contenida en los bloques comprimidos a rectificar. Optionally, and to prevent the spread of residual errors in the rectification (translated into small artifacts) along a sequence of inter blocks, if the referenced region has been partially rectified since the last intra-frame, it will be rectified as if referring to a region that is not entirely contained in the compressed blocks to be rectified.

Recortador en cluster Cluster Trimmer

Un recortador en cluster es un recortador cuya responsabilidad se reparte entre varios sub-recortadores, esto es, varios recortadores individuales (20) por razones de escalabilidad. Los sub-recortadores (20) pueden recibir sus entradas de redes distintas, pero sus salidas deben estar en la misma red que el sintetizador (30) (o los subsintetizadores, en el caso de un sintetizador en cluster), para los flujos de vídeo IP con los recortes (70) de la entrada y los flujos de vídeo IP de entrada escalados (74), y del mezclador (40) (o los sub-mezcladores, en el caso de un mezclador en cluster), para los flujos de vídeo IP con la entrada recortada (60). Los sub-recortadores procesan sus entradas de la misma forma que un recortador individual (20). A cluster trimmer is a trimmer whose responsibility is shared among several sub-trimmers, that is, several individual trimmers (20) for scalability reasons. Sub-trimmers (20) can receive their inputs from different networks, but their outputs must be on the same network as the synthesizer (30) (or sub-synthesizers, in the case of a cluster synthesizer), for video streams IP with cutouts (70) of the input and scaled input IP video streams (74), and of the mixer (40) (or sub-mixers, in the case of a cluster mixer), for the streams of IP video with the input clipped (60). Sub-trimmers process their inputs in the same way as an individual trimmer (20).

Todos los sub-recortadores, de forma conjunta, funcionan como si fueran un recortador único. Los n flujos de vídeo de entrada (50) se distribuyen sobre x sub-recortadores, encargados de procesar a lo sumo ceil(n/x), donde ceil(x) es la función que calcula el menor entero mayor o igual que x. Cada sub-recortador i recibe los flujos de entrada (i1)*ceil(n/x)+1 a i*ceil(n/x), con la excepción de i=x, en cuyo caso recibe los flujos de entrada (x-1)*ceil(n/x)+1 a n. All sub-trimmers, together, function as if they were a single trimmer. The n input video streams (50) are distributed over x sub-trimmers, responsible for processing at most ceil (n / x), where ceil (x) is the function that calculates the smallest integer greater than or equal to x. Each sub-trimmer i receives the input streams (i1) * ceil (n / x) +1 ai * ceil (n / x), with the exception of i = x, in which case it receives the input streams (x- 1) * ceil (n / x) +1 to n.

Cada sub-recortador i recibe únicamente los patrones de recorte (52) correspondientes a los, a lo sumo, ceil(n/x) flujos de vídeo IP de entrada (50) que debe procesar. Each sub-trimmer i receives only the clipping patterns (52) corresponding to, at most, ceil (n / x) input IP video streams (50) that it must process.

Cada sub-recortador i produce los flujos (70) r, (74) s y (60) t correspondientes a los, a lo sumo, ceil(n/x) flujos de vídeo IP de entrada (50) que debe procesar, entregándolos en los grupos multicast correspondientes. Each sub-trimmer i produces the flows (70) r, (74) s and (60) t corresponding to the, at most, ceil (n / x) input IP video streams (50) to be processed, delivering them in the corresponding multicast groups.

La salida conjunta del recortador distribuido es el agregado de las salidas individuales de cada sub-recortador. The joint output of the distributed trimmer is the aggregate of the individual outputs of each sub-trimmer.

b) Sintetizador b) Synthesizer

Si |Ri| es el número de regiones rectangulares distintas definidas en los patrones de recorte (52) prij que afectan al flujo de vídeo de entrada (50) ci, el sintetizador recibe: Yes | Ri | is the number of distinct rectangular regions defined in the clipping patterns (52) prij that affect the input video stream (50) ci, the synthesizer receives:

c.1) sumi=1..n(|Ri|) flujos de vídeo con los flujos de vídeo IP con los recortes de la entrada (70), identificados c.1) sumi = 1..n (| Ri |) video streams with IP video streams with input clippings (70), identified

como r11, r12, …, r1|R | , r21, r22, …, r2|R |, …, rn1, rn2, …, rn|R | producidos por el recortador (20). Dichos flujos like r11, r12, ..., r1 | R | , r21, r22, ..., r2 | R |, ..., rn1, rn2, ..., rn | R | produced by the trimmer (20). Such flows

12 n 12 n

incluyen el número de secuencia del fotograma (51) dentro del flujo y la información del tipo de fotograma a utilizar (I-frame, P-frame, B-frame). they include the sequence number of the frame (51) within the flow and the information of the type of frame to be used (I-frame, P-frame, B-frame).

c.2) n x Q flujos de vídeo de entrada escalados (74), identificados como s1q, s2q, …, snq, para q = 1..Q, donde Q es el número de escalados distintos utilizados en el sistema. c.2) n x Q scaled input video streams (74), identified as s1q, s2q, ..., snq, for q = 1..Q, where Q is the number of different scales used in the system.

c.3) Z patrones de síntesis (32), cada uno asociando un flujo de vídeo IP con los recortes de entrada (70), una operación de síntesis (33) concreta para modificar dicho recorte y un subconjunto de los flujos de entrada escalados (74). c.3) Z synthesis patterns (32), each associating an IP video stream with the input clippings (70), a specific synthesis operation (33) to modify said clipping and a subset of the scaled input streams (74).

Un patrón de síntesis (32) define la forma en que se genera un recorte sintetizado (80), como por ejemplo, mezclando el recorte de la entrada con una imagen estática (mosca), sustituyendo el recorte de la entrada por otra entrada distinta escalada (picture-in-picture), aplicar un filtro al recorte de la entrada (por ejemplo, invertir el vídeo), etc.; dado que las operaciones pueden necesitar para la generación del recorte sintetizado el recorte de entrada original, otros vídeos de entrada escalados, esta información forma parte del patrón de síntesis (32). A synthesis pattern (32) defines the way in which a synthetic cut-out (80) is generated, such as by mixing the input cut with a static image (fly), replacing the input cut with another different climbing input (picture-in-picture), apply a filter to the input crop (for example, invert the video), etc .; Since operations may require the generation of synthesized trimming the original input clipping, other scaled input videos, this information is part of the synthesis pattern (32).

Cada patrón de síntesis (32) psz es un conjunto de tuplas (flujo de video IP de recortes de entrada (70), operación de síntesis (33), conjunto de flujos de vídeo IP de entrada escalado (74)) que asocia un flujo de vídeo IP de recortes de la entrada (70) rz con una operación de síntesis (33) concreta a utilizar (opsz) y un subconjunto de los flujos de vídeo IP de entrada escalados (74) (Sz) de la forma (rz, opsz, Sz). En particular, Sz puede ser el conjunto vacío, en aquellas operaciones de síntesis (33) que no requieran ningún flujo de vídeo IP de entrada escalados (74). Each synthesis pattern (32) psz is a set of tuples (IP video stream of input clippings (70), synthesis operation (33), set of scaled input IP video streams (74)) that associates a stream IP video clip of the input (70) rz with a concrete synthesis operation (33) to be used (opsz) and a subset of the scaled input IP video streams (74) (Sz) of the form (rz, opsz, Sz). In particular, Sz can be the empty set, in those synthesis operations (33) that do not require any scaled input IP video stream (74).

El sintetizador (30) genera Z flujos de vídeo IP con recortes sintetizados (80), uno por cada patrón de síntesis (32) distinto, identificados como z1, z2, …, zZ, exactamente de las mismas dimensiones que el flujo de vídeo IP con los The synthesizer (30) generates Z IP video streams with synthesized clippings (80), one for each different synthesis pattern (32), identified as z1, z2, ..., zZ, of exactly the same dimensions as the IP video stream with the

recortes de la entrada (70) asociado en el patrón de síntesis (32). Cada flujo de vídeo IP con recortes sintetizados input cuts (70) associated in the synthesis pattern (32). Each IP video stream with synthesized clippings

(80) se envía por la red a múltiples destinos usando algún procedimiento de envío multipunto, por ejemplo enviando el flujo a un grupo multicast específico para ese flujo de de recorte sintetizado (80). Junto con cada flujo de vídeo se incluye el número de secuencia de fotograma que será utilizado posteriormente por el mezclador (40). (80) is sent over the network to multiple destinations using some multipoint sending procedure, for example by sending the flow to a specific multicast group for that synthesized clipping flow (80). Together with each video stream, the frame sequence number that will be used later by the mixer (40) is included.

La operación de síntesis (33) opsz determina cómo se construye el flujo de recorte sintetizado (80) zz a ser generado por el sintetizador (30), es decir, la forma en que se construye un flujo con una región de cada fotograma (81) y que sustituirá al recorte (71) en los agujeros del flujo de vídeo recortado (61) a la salida del mezclador, distinguiendo: The synthesis operation (33) opsz determines how the synthesized clipping flow (80) zz is constructed to be generated by the synthesizer (30), that is, the way in which a flow is constructed with a region of each frame (81) ) and which will replace clipping (71) in the holes of the clipped video stream (61) at the output of the mixer, distinguishing:

b.1) flujo de vídeo generado (80) a partir de los flujos de vídeo IP de entrada escalados Sz (74). De esta forma, por ejemplo, se podría sustituir el recorte por el flujo de vídeo escalado de otro canal para definir una superposición de un canal sobre otro (picture-in-picture). b.1) generated video stream (80) from scaled input IP video streams Sz (74). In this way, for example, clipping could be replaced by the scaled video stream of another channel to define an overlay of one channel over another (picture-in-picture).

b.2) flujo de vídeo generado (80) a partir de flujo de vídeo IP con recorte de la entrada (74) rz. De esta forma, por ejemplo, se podría sustituir el recorte por la aplicación de un filtro sobre el recorte, por ejemplo para resaltar en vídeo inverso una región del fotograma. b.2) generated video stream (80) from IP video stream with input clipping (74) rz. In this way, for example, the crop could be replaced by applying a filter on the crop, for example to highlight a region of the frame in reverse video.

b.3) flujo de vídeo generado (80) independientemente de b.1 y b.2, por ejemplo, a partir de vídeo almacenado, imágenes estáticas, imagen generada u otros flujos de vídeo distintos de los contemplados en el resto del sistema. De esta forma, por ejemplo, se podría reemplazar el recorte (71) por una imagen que representase un anuncio publicitario (banner). b.3) generated video stream (80) independently of b.1 and b.2, for example, from stored video, static images, generated image or other video streams other than those contemplated in the rest of the system. In this way, for example, the cutout (71) could be replaced by an image that represented an advertisement (banner).

b.4) combinaciones de los anteriores mediante operaciones gráficas (transparencias, rotaciones, deformaciones, etc). De esta forma, por ejemplo, se podria definir una mosca no rectangular, estableciendo como fondo el recorte y sobreimponiéndole una imagen estática combinadas con transparencias. b.4) combinations of the above through graphic operations (transparencies, rotations, deformations, etc.). In this way, for example, a non-rectangular fly could be defined, establishing as a background the clipping and superimposing a static image combined with transparencies.

Sintetizador en cluster Cluster synthesizer

Un sintetizador en cluster es un sintetizador (30) cuya responsabilidad se reparte entre varios sub-sintetizadores por razones de escalabilidad. Los sub-sintetizadores reciben todas sus entradas de una misma red y su salida debe estar en la misma red que el mezclador (40) (o los sub-mezcladores, en el caso de un mezclador en cluster). Los sub-sintetizadores procesan sus entradas de la misma forma que un sintetizador individual (30). A cluster synthesizer is a synthesizer (30) whose responsibility is shared among several sub-synthesizers for scalability reasons. Sub-synthesizers receive all their inputs from the same network and their output must be on the same network as the mixer (40) (or sub-mixers, in the case of a cluster mixer). Sub-synthesizers process their inputs in the same way as an individual synthesizer (30).

Todos los sub-sintetizadores, de forma conjunta, funcionan como si fueran un sintetizador único. El sintetizador se particiona en p sub-sintetizadores, cada uno encargado de generar un subconjunto de los flujos de vídeo IP con recortes sintetizados. Cada sub-sintetizador recibe un subconjunto disjunto de los patrones de síntesis (32). All sub-synthesizers, together, work as if they were a single synthesizer. The synthesizer is partitioned into p sub-synthesizers, each responsible for generating a subset of the IP video streams with synthesized clippings. Each sub-synthesizer receives a disjoint subset of the synthesis patterns (32).

Cada sub-sintetizador recibe todos los flujos de entrada escalados (74) s que estén referenciados por algún patrón de síntesis (32) asignado al sub-sintetizador. Para ello, el sub-sintetizador se subscribe a un punto específico de recepción multipunto para los flujos de entrada escalado de su interés, por ejemplo subscribiéndose a los grupos multicast correspondientes a cada flujo de entrada escalado presente en los patrones de síntesis (32) asignados al sub-sintetizador, esto es, unionps asignado(Sz). Each sub-synthesizer receives all scaled input streams (74) s that are referenced by some synthesis pattern (32) assigned to the sub-synthesizer. For this, the sub-synthesizer subscribes to a specific multipoint reception point for the scaled input streams of interest, for example by subscribing to the multicast groups corresponding to each scaled input stream present in the assigned synthesis patterns (32) to the sub-synthesizer, that is, assigned unionps (Sz).

zz

Cada sub-sintetizador recibe los recortes de flujos de entrada (70) r que estén referenciados por algún patrón de síntesis (32) asignado al sub-sintetizador. Para ello, el sub-sintetizador se subscribe a un punto específico de recepción multipunto para los flujos de entrada escalado de su interés, por ejemplo subscribiéndose a los grupos multicast correspondientes a cada flujo de vídeo IP de recortes (70) de entrada presente en los patrones de síntesis Each sub-synthesizer receives the input stream cuts (70) r that are referenced by some synthesis pattern (32) assigned to the sub-synthesizer. For this, the sub-synthesizer subscribes to a specific multipoint reception point for the scaled input streams of interest, for example by subscribing to the multicast groups corresponding to each IP video stream of input clippings (70) present in the synthesis patterns

(32) asignados al sub-sintetizador, esto es, unionps asignado({rz}). z(32) assigned to the sub-synthesizer, that is, assigned unionps ({rz}). z

La salida conjunta del sintetizador en cluster es el agregado de las salidas individuales de cada sub-sintetizador. The joint output of the cluster synthesizer is the aggregate of the individual outputs of each sub-synthesizer.

c) Mezclador c) Mixer

Si ki es el número de patrones de recorte (52) definidos para cada flujo (50) ci de los n flujos de entrada y m es el número de usuarios a los que da servicio el sistema, el mezclador (40) recibe: If ki is the number of trim patterns (52) defined for each flow (50) ci of the n input streams and m is the number of users that the system serves, the mixer (40) receives:

c.1) sumi=1..n(ki) flujos de vídeo IP con los flujos de entrada recortados (60), identificados como t11, t12, …, c.1) sumi = 1..n (ki) IP video streams with trimmed input streams (60), identified as t11, t12, ...,

t1k , t21, t22, …, t2k , …, tn1, tn2, …, tnk , producidos por el recortador (20). Dichos flujos incluyen el número t1k, t21, t22, ..., t2k, ..., tn1, tn2, ..., tnk, produced by the trimmer (20). These flows include the number

12 n de secuencia del fotograma dentro del flujo, añadido por el recortador. 12 n of frame sequence within the flow, added by the trimmer.

c.2) p flujos de vídeo IP con recortes sintetizados (80), identificados como z1, z2, …, zp . Dichos flujos incluyen el número de secuencia del fotograma dentro del flujo, añadido por el sintetizador (30) a partir de la información proporcionada por el recortador (20). c.2) p IP video streams with synthesized clippings (80), identified as z1, z2, ..., zp. Such flows include the sequence number of the frame within the flow, added by the synthesizer (30) from the information provided by the trimmer (20).

c.3) m patrones de mezcla (42) que asocian flujos de vídeo IP de entrada recortados (60) con los flujos de c.3) m mix patterns (42) that associate clipped input IP video streams (60) with the streams of

vídeo IP con recortes sintetizados (80), para construir un flujo de vídeo IP de la entrada con recortes sobreimpresos para cada uno de los m usuarios del sistema. IP video with synthesized clippings (80), to build an IP video stream of the input with overprinted clippings for each of the m users of the system.

Cada patrón de mezcla (42) pmx es un conjunto de tuplas (flujo de vídeo IP de entrada recortado (60), secuencia de flujos de vídeo IP de recortes sintetizado (80), dirección destino del usuario) que asocian cada flujo de entrada Each mix pattern (42) pmx is a set of tuples (clipped input IP video stream (60), sequence of synthesized clip IP video streams (80), user destination address) that associate each input stream

recortado con una secuencia Zx = {zx , zx ,...,zx|pr |} de los flujos de vídeo IP con recortes sintetizados (80), de la trimmed with a sequence Zx = {zx, zx, ..., zx | pr |} of the IP video streams with synthesized clippings (80), of the

12 ij forma (tij, Zx, Dx). El número de elementos en la secuencia Zx coincide con |prij|, el número de regiones definidas en el patrón de recorte prij. Adicionalmente, las dimensiones de cada una de las regiones definidas en Zx coinciden con cada una de las regiones del patrón de recorte prij. El flujo resultante (90) se entrega en la dirección destino Dx ,. 12 ij form (tij, Zx, Dx). The number of elements in the sequence Zx matches | prij |, the number of regions defined in the prij clipping pattern. Additionally, the dimensions of each of the regions defined in Zx coincide with each of the regions of the prij clipping pattern. The resulting flow (90) is delivered to the destination address Dx,.

El mezclador produce m flujos (90) combinando los fotogramas del flujo de vídeo IP de entrada recortado (60) y de los flujos de vídeo IP de recortes sintetizado (80) que coinciden en número de secuencia (generados originalmente por el recortador (20) y propagados por el sintetizador (30)), utilizando buffers intermedios para mitigar los desfases temporales entre flujos. Estos flujos con vídeo de entrada al que se le sobreimponen recortes sintéticos (90) se envían por la red a las direcciones destino D1, D2, …, Dm, por ejemplo una dirección unicast y puerto UDP, uno para cada uno de los m usuarios. The mixer produces m streams (90) by combining the frames of the clipped input IP video stream (60) and the synthesized clip IP video streams (80) that match in sequence number (originally generated by the trimmer (20) and propagated by the synthesizer (30)), using intermediate buffers to mitigate the time lags between flows. These streams with input video that are superimposed on synthetic clippings (90) are sent over the network to the destination addresses D1, D2, ..., Dm, for example a unicast address and UDP port, one for each of the m users .

Mezclador en cluster Cluster mixer

Un mezclador en cluster es un mezclador (40) cuya responsabilidad se reparte entre varios sub-mezcladores por razones de escalabilidad. Los sub-mezcladores reciben los flujos de vídeo de entrada recortado (60) de la misma red que las salidas de los sub-recortadores, y los flujos de vídeo con recortes sintetizados (80) de la misma red que las salidas de los sub-sintetizadores; la salida de cada sub-mezclador puede estar en redes diferentes. Los submezcladores procesan sus entradas de la misma forma que un mezclador individual (40). A cluster mixer is a mixer (40) whose responsibility is shared among several sub-mixers for scalability reasons. The sub-mixers receive the clipped input video streams (60) of the same network as the sub-trimmer outputs, and the video streams with synthesized clippings (80) of the same network as the sub- outputs synthesizers; The output of each sub-mixer can be in different networks. Submixers process their inputs in the same way as an individual mixer (40).

Todos los sub-mezcladores, de forma conjunta, funcionan como si fueran un mezclador único. El mezclador se divide en y sub-mezcladores encargados de generar el flujo de vídeo IP de la entrada con recortes sobreimpresos All sub-mixers, together, work as if they were a single mixer. The mixer is divided into and sub-mixers responsible for generating the IP video stream of the input with overprinted clippings

(90) para, a lo sumo, ceil(m/y) usuarios. Cada sub-mezclador i recibe los patrones de mezcla (42) correspondientes a los usuarios (i-1)*ceil(m/y) +1 a i*ceil(m/y) con la excepción de i=y, en cuyo caso recibe los patrones de mezcla (y1)*ceil(m/y)+1 a m. (90) for, at most, ceil (m / y) users. Each sub-mixer i receives the mixing patterns (42) corresponding to the users (i-1) * ceil (m / y) +1 ai * ceil (m / y) with the exception of i = y, in which case receive the mixing patterns (y1) * ceil (m / y) +1 to m.

Cada sub-mezclador recibe únicamente los flujos de vídeo IP con recortes sintetizados (80) z relevantes para los patrones de mezcla (42) recibidos en el sub-mezclador. Para ello, el sub-mezclador se subscribe a un punto específico de recepción multipunto para los flujos de vídeo con recortes sintetizados (80) de su interés, por ejemplo subscribiéndose a los grupos multicast correspondientes a cada flujo de vídeo con recortes sintetizados presente en los patrones de mezcla asignados al sub-mezclador, esto es, unionpm asignado(Zx). Each sub-mixer receives only the IP video streams with synthesized clippings (80) z relevant to the mix patterns (42) received in the sub-mixer. For this, the sub-mixer subscribes to a specific multipoint reception point for video streams with synthesized clippings (80) of interest, for example by subscribing to the multicast groups corresponding to each video stream with synthesized clippings present in the mix patterns assigned to the sub-mixer, that is, assigned unionpm (Zx).

xx

Cada sub-mezclador recibe únicamente, a lo sumo, ceil(m/y) flujos de vídeo IP de entrada recortados (60) correspondientes a los patrones de mezcla (42) recibidos en el sub-mezclador. Para ello, el sub-sintetizador se subscribe a un punto específico de recepción multipunto para los flujos de vídeo IP de entrada recortados (60) de su interés, por ejemplo subscribiéndose a los grupos multicast correspondientes a cada flujo de vídeo IP de entrada recortado presente en los patrones de mezcla asignados al sub-mezclador, esto es, unionpm asignado({tij}). Each sub-mixer only receives, at most, ceil (m / y) clipped input IP video streams (60) corresponding to the mix patterns (42) received in the sub-mixer. To do this, the sub-synthesizer subscribes to a specific multipoint reception point for the clipped input IP video streams (60) of interest, for example by subscribing to the multicast groups corresponding to each clipped input IP video stream present in the mix patterns assigned to the sub-mixer, that is, assigned unionpm ({tij}).

x=(rij, Zx, Dx)x = (rij, Zx, Dx)

Cada sub-mezclador produce los, a lo sumo, ceil(m/y) flujos de vídeo para cada uno de los, a lo sumo, ceil(m/y) usuarios con flujos de video IP de entrada sobreimpreso con recortes sintéticos (90). Each sub-mixer produces, at most, ceil (m / y) video streams for each of the, at most, ceil (m / y) users with overprinted input IP video streams with synthetic clippings (90 ).

La salida conjunta del mezclador en cluster es el agregado de las salidas individuales de cada sub-mezclador. The joint output of the cluster mixer is the aggregate of the individual outputs of each sub-mixer.

d) Controlador d) Controller

El controlador (10) está a cargo de coordinar el funcionamiento conjunto de recortador (20), sintetizador (30) y mezclador (40). El controlador (10) recibe, para cada uno de los m usuarios en el sistema, un patrón de sobreimposición (12) pok = (ci, prk, Opsk, Dk), que asocia un flujo de entrada (50) ci, un patrón de recorte (52) prk para ci , y una secuencia de pares (operación de síntesis (33), conjunto de flujos de entrada escalados (74)) Opsk, para cada una de las regiones rectangulares de prk.. Con esta información el sistema genera un flujo de vídeo IP con la entrada ci sobre-impuesta (90) de acuerdo al patrón de sobre-imposición (12) y la envía a la dirección destino Dk . The controller (10) is in charge of coordinating the joint operation of trimmer (20), synthesizer (30) and mixer (40). The controller (10) receives, for each of the m users in the system, an overlay pattern (12) pok = (ci, prk, Opsk, Dk), which associates an input stream (50) ci, a pattern trimming (52) prk for ci, and a sequence of pairs (synthesis operation (33), set of scaled input streams (74)) Opsk, for each of the rectangular regions of prk .. With this information the system It generates an IP video stream with the superimposed input ci (90) according to the overlay pattern (12) and sends it to the destination address Dk.

El proceso de admisión (11) seguido por el controlador (10) para incorporar un nuevo usuario k es el siguiente: The admission process (11) followed by the controller (10) to incorporate a new user k is as follows:

i) Recibir el patrón de superposición (12) pok = (ci, prk, Opsk, Dk). i) Receive the overlay pattern (12) pok = (ci, prk, Opsk, Dk).

ii) Determinar si en el recortador (20) existe un prij = prk para ci; si no existe entonces añade al recortador (20) el nuevo patrón de recorte (52) prij = prk para el flujo de entrada (50) ci . En caso de que el recortador (20) esté distribuido en cluster, el controlador (20) se comunica exclusivamente con el sub-recortador a cargo del flujo de entrada (50) ci . ii) Determine if the trimmer (20) has a prij = prk for ci; if it does not exist then add to the trimmer (20) the new clipping pattern (52) prij = prk for the input stream (50) ci. If the trimmer (20) is distributed in a cluster, the controller (20) communicates exclusively with the sub-trimmer in charge of the input flow (50) ci.

iii) Para cada uno de los elementos en Opsk = {(opsk1, Sk1), (opsk2, Sk2), …, (opsk|pr |, Sk|pr |)}, añadir en el iii) For each of the elements in Opsk = {(opsk1, Sk1), (opsk2, Sk2),…, (opsk | pr |, Sk | pr |)}, add in the

ij ij sintetizador (40), de no existir previamente, el nuevo patrón de síntesis (32) pskl = (ril, opskl, Skl), donde ril es el flujo de vídeo con recortes de la entrada (60) correspondiente a cada región l definida por prij para l = 1..|prij|. Sea Uk la secuencia de |prij| flujos de vídeo IP con recortes sintetizados (80) resultantes de los nuevos patrones de síntesis (32) añadidos. En caso de que el sintetizador (30) esté distribuido en cluster, el controlador (10) asigna los patrones de síntesis (32) a los sub-sintetizadores más descargados de acuerdo con alguna política definida (por ejemplo, la máquina con menor ocupación de CPU), no necesariamente a los mismos sub-sintetizadores. ij ij synthesizer (40), if it does not exist previously, the new synthesis pattern (32) pskl = (ril, opskl, Skl), where ril is the video stream with input clippings (60) corresponding to each region l defined by prij for l = 1 .. | prij |. Let Uk be the sequence of | prij | IP video streams with synthesized clippings (80) resulting from the new synthesis patterns (32) added. In case the synthesizer (30) is distributed in a cluster, the controller (10) assigns the synthesis patterns (32) to the most downloaded sub-synthesizers according to some defined policy (for example, the machine with the lowest occupancy of CPU), not necessarily the same sub-synthesizers.

iv) Se añade en el mezclador (30) un nuevo patrón de mezcla (42) pmk = (tij, Uk, Dk). En caso de que el mezclador esté distribuido en cluster, el controlador se comunica exclusivamente con el sub-mezclador a cargo del usuario k. iv) A new mixing pattern (42) pmk = (tij, Uk, Dk) is added to the mixer (30). In case the mixer is distributed in a cluster, the controller communicates exclusively with the sub-mixer in charge of the user k.

REFERENCIAS NUMÉRICAS NUMERICAL REFERENCES

10 Controlador 10 Controller

11 Proceso de admisión de un usuario 11 User admission process

12 Patrón de sobreimposicion 12 Overlay pattern

20 Recortador 20 Trimmer

21 Etapa de recortado y rectificado 21 Trimming and grinding stage

23 Descodificación 23 Decoding

24 Almacenar fotograma de referencia descomprimido 24 Store unzipped reference frame

25 Etapa de escalado 25 Climbing stage

26 Codificar fotograma descomprimido escalado 26 Encode decompressed frame scaling

27 Cálculo de Ri 27 Calculation of Ri

28 Escalar fotograma descomprimido 28 Scale unzipped frame

30 Sintetizador 30 Synthesizer

32 Patrón de síntesis 32 Synthesis Pattern

33 Operación de síntesis 33 Synthesis Operation

40 Mezclador 40 mixer

42 Patrón de mezcla 42 Blend Pattern

50 Flujo de vídeo de entrada 50 Input video stream

51 Fotograma del vídeo de entrada 51 Input video frame

52 Patrón de recorte 52 Clipping Pattern

53 Fotograma de referencia descomprimido 53 Unzipped reference frame

54 Fotograma actual descomprimido 54 Unzipped current frame

55 Unión de patrones de recorte, Ri 55 Clipping Pattern Union, Ri

56 Recorte de fotograma comprimido 56 Compressed Frame Trimming

57 Rectificación de bloques comprimidos 57 Rectification of compressed blocks

58 Extracción del fotograma actual comprimido 58 Removing the current compressed frame

60 Flujo de vídeo recortado 60 Trimmed video stream

61 Fotograma del flujo de vídeo recortado 61 Frame of cropped video stream

70 Flujo de vídeo de recortes 70 Clip video stream

71 Fotograma del flujo de vídeo de recortes 73 Fotograma del flujo de vídeo escalado 74 Flujo de vídeo escalado 80 Flujo de vídeo de recortes sintetizados 81 Fotograma del flujo de vídeo de recortes sintetizados 90 Flujo de vídeo con recortes sobreimpresos 91 Fotograma del flujo de vídeo con recortes sobreimpresos 71 Frame of the video clip stream 73 Frame of the video stream scaled 74 Video stream scaled 80 Video stream of synthesized clippings 81 Frame of the video stream of synthesized clippings 90 Video stream with overprinted clippings 91 Video stream frame with overprinted cuts

Claims (6)

REIVINDICACIONES 1. Dispositivo escalable para la sobreimpresión de flujos de vídeo caracterizado por que comprende: 1. Scalable device for overprinting video streams characterized by comprising:
--
un recortador (20) configurado para recortar en los fotogramas (51) de al menos un flujo de vídeo de entrada (50), al menos una región rectangular según un patrón de recorte (52) para producir:  a trimmer (20) configured to trim in the frames (51) of at least one input video stream (50), at least one rectangular region according to a clipping pattern (52) to produce:
--
un flujo de vídeo recortado (60) que comprende una pluralidad de bloques correspondientes a una pluralidad de fotogramas recortados (61);  a clipped video stream (60) comprising a plurality of blocks corresponding to a plurality of clipped frames (61);
--
una pluralidad de flujos de vídeo de recortes (70), que comprende una pluralidad de bloques correspondientes a una pluralidad de fotogramas de recortes (71); a plurality of clip video streams (70), comprising a plurality of blocks corresponding to a plurality of clip frames (71);
--
y una pluralidad de flujos de vídeo escalados (74), que comprende una pluralidad de bloques correspondientes al fotograma de entrada (51) redimensionado a un tamaño distinto; and a plurality of scaled video streams (74), comprising a plurality of blocks corresponding to the input frame (51) resized to a different size;
donde el recortador (20) está además configurado para asociar ambos flujos de vídeo (60,70) mediante la asignación de un número de secuencia a cada pareja compuesta por un fotograma recortado (61) y los fotogramas de recorte (71) correspondientes; where the trimmer (20) is further configured to associate both video streams (60,70) by assigning a sequence number to each pair consisting of a cropped frame (61) and the corresponding crop frames (71);
--
un sintetizador (30) configurado para sintetizar dinámicamente flujos de vídeo coincidentes con los agujeros del flujo de vídeo recortado (60) según una operación de síntesis establecida (32) para producir flujos de vídeo con recortes sintetizados (80);  a synthesizer (30) configured to dynamically synthesize video streams coinciding with the holes of the clipped video stream (60) according to an established synthesis operation (32) to produce video streams with synthesized clippings (80);
--
un mezclador (40) configurado para mezclar los fotogramas (61,81) con un mismo número de secuencia del flujo de vídeo recortado (60) y de los flujos de vídeo de recortes sintetizados (80) de acuerdo con una operación de mezcla (42) para generar flujos de vídeo con recortes sobreimpresos (90).  a mixer (40) configured to mix the frames (61.81) with the same sequence number of the clipped video stream (60) and the video streams of synthesized clippings (80) according to a mixing operation (42 ) to generate video streams with overprinted clippings (90).
2.2.
Dispositivo de acuerdo con la reivindicación 1, caracterizado por que el recortador (20) está configurado además para rectificar la pluralidad de bloques de cada fotograma inter del flujo de vídeo de entrada recortado (60), si dichos bloques comprimidos tienen vectores de movimiento referenciando a bloques pertenecientes a las regiones definidas por el patrón de recorte (52) que lo produjo.  Device according to claim 1, characterized in that the trimmer (20) is further configured to rectify the plurality of blocks of each inter frame of the clipped input video stream (60), if said compressed blocks have motion vectors referring to blocks belonging to the regions defined by the clipping pattern (52) that produced it.
3.3.
Dispositivo de acuerdo con la reivindicación 2, caracterizado por que el recortador (20) está configurado para rectificar la pluralidad de bloques de cada fotograma inter del flujo de vídeo de recortes (70), si dichos bloques comprimidos tienen vectores de movimiento referenciando a bloques no pertenecientes a la región descrita en el patrón de recorte (52) que lo produjo.  Device according to claim 2, characterized in that the trimmer (20) is configured to rectify the plurality of blocks of each inter frame of the clip video stream (70), if said compressed blocks have motion vectors referring to blocks not belonging to the region described in the clipping pattern (52) that produced it.
4.Four.
Dispositivo de acuerdo con una cualquiera de las reivindicaciones anteriores, caracterizado por que la operación de síntesis (33) realizada por el sintetizador (30) para producir flujos de vídeo con recortes sintetizados (80) comprende al menos una de las siguientes:  Device according to any one of the preceding claims, characterized in that the synthesis operation (33) performed by the synthesizer (30) to produce video streams with synthesized clippings (80) comprises at least one of the following:
--
escalar el recorte a un tamaño diferente,  scale the crop to a different size,
--
modificar la calidad del recorte,  modify clipping quality,
--
reemplazar por un color uniforme  replace with a uniform color
--
reemplazar por una imagen estática o dinámica,  replace with a static or dynamic image,
--
reemplazar por una imagen que representa un texto en una fuente, color y tamaño dado,  replace with an image that represents a text in a given font, color and size,
--
transformar un recorte: voltear horizontalmente/verticalmente, girar.  transform a crop: flip horizontally / vertically, rotate.
--
modificar colores del recorte: modificar balance de color, modificar brillo y contraste, modificar tono y saturación, transformar colores, invertir colores.  modify crop colors: modify color balance, modify brightness and contrast, modify hue and saturation, transform colors, invert colors.
--
aplicar un filtro sobre un recorte: posterizar, saturar, enfocar, desenfocar, realzar, distorsionar, añadir luces y sombras, añadir ruido, detectar bordes.  Apply a filter on a cut: posterize, saturate, focus, blur, enhance, distort, add light and shadow, add noise, detect edges.
o combinación de las anteriores. or combination of the above.
5. Dispositivo de acuerdo con una cualquiera de las reivindicaciones anteriores, caracterizado por que el mezclador 5. Device according to any one of the preceding claims, characterized in that the mixer (40) comprende una memoria intermedia (buffer) para mitigar los desfases temporales entre flujos de vídeo (60,80) y por que el mezclador (40) está configurado para resincronizar dichos flujos de vídeo (60,80) utilizando el número de secuencia asignado por el recortador (20). (40) comprises a buffer (buffer) to mitigate the time lags between video streams (60.80) and why the mixer (40) is configured to resynchronize said video streams (60.80) using the sequence number assigned by the trimmer (20). 6. Sistema escalable para la sobreimpresión de flujos de vídeo caracterizado por que comprende una pluralidad de dispositivos de acuerdo con una cualquiera de las reivindicaciones anteriores 1 a 5, donde los recortadores de cada dispositivo están distribuidos en cluster y cada recortador individual (20) de un dispositivo está configurado para recortar un subconjunto de los flujos de vídeo de entrada (50), de acuerdo con un subconjunto de patrones de recorte (52) asociados para producir al menos los flujos de vídeo recortados (60), flujos de vídeo de recortes (70) y flujos de vídeo escalados (74) correspondientes a exclusivamente dicho subconjunto de flujos de vídeo de entrada (50). 6. Scalable system for overpressing video streams characterized in that it comprises a plurality of devices according to any one of the preceding claims 1 to 5, wherein the trimmers of each device are distributed in clusters and each individual trimmer (20) of A device is configured to trim a subset of the input video streams (50), according to a subset of associated clipping patterns (52) to produce at least the trimmed video streams (60), clip video streams (70) and scaled video streams (74) corresponding exclusively to said subset of input video streams (50).
5 7. Sistema de acuerdo con la reivindicación 6, caracterizado por que los sintetizadores (30) de cada dispositivo están distribuidos en cluster y cada sintetizador individual (30) está configurado para recibir los flujos de vídeo de recortes System according to claim 6, characterized in that the synthesizers (30) of each device are distributed in clusters and each individual synthesizer (30) is configured to receive video clippings
(70) (70)
y flujos de vídeo escalados (74) correspondientes con un subconjunto de flujos de vídeo de entrada (50) para producir un subconjunto de flujos de vídeo con recortes sintetizados (80) de acuerdo con unos patrones de síntesis and corresponding scaled video streams (74) with a subset of input video streams (50) to produce a subset of video streams with synthesized clippings (80) according to synthesis patterns
(32)(32)
asociados.  Associates
10 8. Sistema de acuerdo con la reivindicación 7, caracterizado por que los mezcladores (40) de cada dispositivo están distribuidos en cluster y cada mezclador individual (40) está configurado para recibir los flujos de vídeo recortados System according to claim 7, characterized in that the mixers (40) of each device are distributed in clusters and each individual mixer (40) is configured to receive the clipped video streams
(60) (60)
y los flujos con recortes sintetizados (80) correspondientes con un subconjunto de flujos de vídeo de entrada and corresponding synthesized clip streams (80) with a subset of input video streams
(50)(fifty)
para producir un subconjunto de flujos de vídeo con recortes sobreimpresos (90) destinados a un subconjunto de usuarios.  to produce a subset of video streams with overprinted clippings (90) intended for a subset of users.
15 9. Sistema de acuerdo con la reivindicación 8, caracterizado por que comprende un controlador configurado para recibir un patrón de sobreimposición (12) asociado a un usuario para construir los correspondientes patrones de recorte (52), síntesis (32) y mezcla (42), con los que configurar el recortador (20), el sintetizador (30) y el mezclador (40), respectivamente, para enviar la pluralidad de flujos de vídeo con recortes sobreimpresos (90) por una red de telecomunicaciones a una pluralidad de direcciones destino asignadas a dichos usuarios. A system according to claim 8, characterized in that it comprises a controller configured to receive an overlay pattern (12) associated with a user to construct the corresponding cutout patterns (52), synthesis (32) and mixing (42 ), with which to configure the trimmer (20), the synthesizer (30) and the mixer (40), respectively, to send the plurality of video streams with overprinted clippings (90) over a telecommunications network to a plurality of addresses Destination assigned to these users.
20 10. Sistema de acuerdo con la reivindicación 9, caracterizado por que la red de telecomunicaciones es Internet. A system according to claim 9, characterized in that the telecommunications network is the Internet.
ES201132008A 2011-12-14 2011-12-14 DEVICE AND SCALABLE SYSTEM FOR OVERPRINTING OF VIDEO FLOWS. Active ES2410304B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES201132008A ES2410304B1 (en) 2011-12-14 2011-12-14 DEVICE AND SCALABLE SYSTEM FOR OVERPRINTING OF VIDEO FLOWS.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES201132008A ES2410304B1 (en) 2011-12-14 2011-12-14 DEVICE AND SCALABLE SYSTEM FOR OVERPRINTING OF VIDEO FLOWS.

Publications (3)

Publication Number Publication Date
ES2410304A2 true ES2410304A2 (en) 2013-07-01
ES2410304R1 ES2410304R1 (en) 2013-11-04
ES2410304B1 ES2410304B1 (en) 2014-09-15

Family

ID=48607515

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201132008A Active ES2410304B1 (en) 2011-12-14 2011-12-14 DEVICE AND SCALABLE SYSTEM FOR OVERPRINTING OF VIDEO FLOWS.

Country Status (1)

Country Link
ES (1) ES2410304B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194032B1 (en) * 1999-09-03 2007-03-20 Equator Technologies, Inc. Circuit and method for modifying a region of an encoded image
US6507618B1 (en) * 2000-04-25 2003-01-14 Hewlett-Packard Company Compressed video signal including independently coded regions
US7839927B2 (en) * 2005-03-24 2010-11-23 Terayon Communication Systems, Inc. Motion graphics keying in the compressed domain

Also Published As

Publication number Publication date
ES2410304B1 (en) 2014-09-15
ES2410304R1 (en) 2013-11-04

Similar Documents

Publication Publication Date Title
CN113347440B (en) Method for encoding pictures into a data stream
RU2648592C2 (en) Motion-constrained control data for tile set
US10425652B2 (en) Video composition
US20060146734A1 (en) Method and system for low-delay video mixing
SA516371001B1 (en) Multi-Layer Video File Format Designs
JP7359926B2 (en) bitstream merge
SA515360731B1 (en) Signaling of Clock Tick Derivation Information for Video Timing in Video Coding
CN113519162B (en) Parameter set signaling in digital video
US11363248B2 (en) Method and device for transmitting region information of 360-degree video
CN113170237B (en) Video encoding and decoding method and apparatus
JP2023143935A (en) Encoder, decoder and corresponding method for sub-block partitioning mode
Feldmann et al. Efficient stream-reassembling for video conferencing applications using tiles in HEVC
CN114846800A (en) Sub-picture signaling in video coding
WO2019128668A1 (en) Method and apparatus for processing video bitstream, network device, and readable storage medium
CN114930829A (en) Sub-picture signaling in video coding
Santamaria et al. Coding of volumetric content with MIV using VVC subpictures
ES2410304A2 (en) Device and scalable system for the overprinting of video flows. (Machine-translation by Google Translate, not legally binding)
CN113545060A (en) Empty tile coding in video coding
Civanlar et al. Efficient multi-resolution multi-stream video systems with standard codecs
KR101070581B1 (en) Video-Conference Image Making System and Control Method thereof
JP2016171525A (en) Image processing device, control method, and program

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2410304

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20140915