ES2314259T3 - VIDEO TRANSMISSION. - Google Patents

VIDEO TRANSMISSION. Download PDF

Info

Publication number
ES2314259T3
ES2314259T3 ES03775577T ES03775577T ES2314259T3 ES 2314259 T3 ES2314259 T3 ES 2314259T3 ES 03775577 T ES03775577 T ES 03775577T ES 03775577 T ES03775577 T ES 03775577T ES 2314259 T3 ES2314259 T3 ES 2314259T3
Authority
ES
Spain
Prior art keywords
sequence
segment
bits
rate
encoded
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.)
Expired - Lifetime
Application number
ES03775577T
Other languages
Spanish (es)
Inventor
Mohammed Ghanbari
Kai Sun
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB0226872A external-priority patent/GB0226872D0/en
Priority claimed from GB0322767A external-priority patent/GB0322767D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of ES2314259T3 publication Critical patent/ES2314259T3/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6338Control signals issued by server directed to the network components or client directed to network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Glass Compositions (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

Procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, que comprende las etapas siguientes: (a) dividir (102) la secuencia en segmentos; (b) determinar (107) una tasa de bits (Rm) para cada segmento, no siendo dicha tasa de bits superior a la tasa de bits del segmento inmediatamente precedente y (c) transmitir (115) las señales a las tasas de bits determinadas; caracterizado porque la secuencia se divide en segmentos, de tal forma que el primer segmento es una parte situada al principio de la secuencia que contiene un número medio de bits codificados por trama (A i) que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y en el que cada segmento consecutivo es una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento precedente.Method for transmitting a digital sequence of video signals that have been encoded by a compression algorithm, such that the number of bits encoded per frame is not constant, comprising the following steps: (a) dividing (102) the sequence in segments; (b) determine (107) a bit rate (Rm) for each segment, said bit rate not being higher than the bit rate of the immediately preceding segment and (c) transmit (115) the signals at the determined bit rates ; characterized in that the sequence is divided into segments, such that the first segment is a part located at the beginning of the sequence that contains an average number of bits encoded per frame (A i) that is greater than or equal to the average number of bits encoded per frame of any possible part starting at the beginning of the sequence, and in which each consecutive segment is a part immediately following the preceding segment containing an average number of bits encoded per frame that is greater than or equal to the average number of frame-coded bits of any possible part immediately following the preceding segment.

Description

Transmisión de vídeo.Video streaming

La presente invención se refiere a la transmisión de señales de vídeo codificadas digitalmente (por ejemplo, a través de una red de telecomunicaciones) y, más particularmente, de señales de vídeo que se han codificado mediante un algoritmo de compresión.The present invention relates to the transmission of digitally encoded video signals (by example, through a telecommunications network) and, more particularly, of video signals that have been encoded by A compression algorithm

La base lógica de los algoritmos de compresión consiste en explotar la redundancia inherente de la señal de vídeo original para reducir el número de bits que se necesita transmitir. Muchos de dichos algoritmos se definen en las normas internacionales, tales como las normas ITU H. 263 e ISO MPEG. En el documento de Ghanbari, M., Video Coding, an introduction to Standard codecs, IEE, Londres, 1999, se proporciona una reseña útil de dichos algoritmos.The logical basis of compression algorithms is to exploit the inherent redundancy of the video signal original to reduce the number of bits that need to be transmitted. Many of these algorithms are defined in the standards international, such as ITU H. 263 and ISO MPEG standards. At document by Ghanbari, M., Video Coding, an introduction to Standard codecs, IEE, London, 1999, a useful review is provided of these algorithms.

Como es natural, el grado de redundancia (y por lo tanto la eficacia de compresión) varía con el contenido de la imagen, hecho que da por resultado un número variable de bits codificados por trama. Una opción consiste en transmitir los bits a medida que se generan, como en los denominados sistemas de tasa de bits variable (VBR) en los cuales la tasa de bits transmitidos varía considerablemente con el tiempo. Otra opción - la de los sistemas de tasa de bits constante (CBR) - consiste en emplear una memoria tampón tanto en el transmisor como en el receptor para eliminar estas fluctuaciones y transmitir desde la memoria tampón de transmisión hasta la memoria tampón de recepción a una velocidad constante. Los sistemas CBR utilizan un mecanismo de retroalimentación para variar la tasa de generación de los datos (por ejemplo, ajustando el nivel de detalle de la cuantificación utilizada o descartando tramas) y prevenir el desbordamiento de la memoria tampón. La utilización del almacenamiento en memoria tampón conlleva necesariamente la introducción de un retardo, el incremento de la latencia de inicio (LOS) - es decir, el usuario debe esperar a que la memoria tampón de recepción se llene hasta el nivel necesario para poder comenzar la decodificación y la presentación de las imágenes. El mecanismo de retroalimentación conlleva la reducción de la calidad de la imagen.Naturally, the degree of redundancy (and by therefore the compression efficiency) varies with the content of the image, which results in a variable number of bits encoded by frame. One option is to transmit the bits to measure that are generated, as in the so-called rate systems of variable bits (VBR) in which the bit rate transmitted It varies considerably over time. Another option - that of constant bit rate (CBR) systems - involves using a buffer memory on both the transmitter and the receiver to eliminate these fluctuations and transmit from the buffer transmission to receive buffer at a speed constant. CBR systems use a mechanism of feedback to vary the rate of data generation (for example, adjusting the level of quantification detail used or discarding frames) and prevent overflow of the buffer memory The use of buffer storage necessarily entails the introduction of a delay, the increase in startup latency (LOS) - that is, the user you must wait until the reception buffer becomes full until the level needed to begin decoding and Presentation of the images. The feedback mechanism entails the reduction of image quality.

También se ha propuesto emplear un grado de almacenamiento en memoria tampón para reducir, aunque no eliminar por completo, las variaciones de la tasa de bits (véase, por ejemplo, el documento de Furini, M. y Towsley, D.F., "Real-Time Traffic transmissions over the Internet", IEEE Transactions on Multimedia, Vol. 3, nº 1, marzo de 2001).It has also been proposed to employ a degree of buffer storage to reduce, but not eliminate completely, bit rate variations (see, for example, the document by Furini, M. and Towsley, D.F., "Real-Time Traffic transmissions over the Internet ", IEEE Transactions on Multimedia, Vol. 3, No. 1, March from 2001).

Un factor importante a tener en cuenta cuando se transmite a través de una red de telecomunicaciones, y en particular a través de redes de paquetes tal como Internet, es el efecto de la congestión de la red, en el que la pérdida de paquetes y los retardos impredecibles pueden ocasionar problemas. Esto ha dado lugar a la presentación de propuestas de sistemas de reserva, en los que un transmisor puede solicitar a la red que asigne una tasa de bits garantizada específica para sus transmisiones durante un período de tiempo. Uno de dichos sistemas denominado "RSVP" se describe en el documento RFC 2205 del grupo Internet Engineering Task Force (IETF). No obstante, se pueden utilizar otros sistemas, tales como Expedited Forwarding of Differentiated Service o CR-LDP.An important factor to consider when transmits through a telecommunications network, and in particular through packet networks such as the Internet, is the effect of network congestion, in which packet loss and unpredictable delays can cause problems. This has resulted in the presentation of proposals for reservation systems, in which a transmitter can request the network to assign a specific guaranteed bit rate for your transmissions during A period of time. One such system called "RSVP" described in document RFC 2205 of the Internet Engineering group Task Force (IETF). However, other systems can be used, such as Expedited Forwarding of Differentiated Service or CR-LDP.

En el caso de la emisión de un vídeo que se está grabando actualmente, las características futuras de la corriente de bits que se está codificando se desconocen; en cambio, en un vídeo grabado dichas características sí se conocen. El hecho de que los sistemas de reserva permitan cambiar la cantidad de la tasa de bits reservada ofrece la posibilidad de decidir una política a seguir para reservar la cantidad de capacidad de red adecuada en cada momento, basándose en el conocimiento del material codificado. Una propuesta simple consiste en calcular la tasa de bits de pico (VBR, sin memoria tampón) y solicitarla para toda la duración de la transmisión, aunque debe tenerse en cuenta que esto significa desperdiciar la capacidad de la red, y por supuesto, que cuanto mayor es la capacidad solicitada mayor es la probabilidad que la red sea incapaz de facilitarla y, por consiguiente, que la petición de reserva sea rechazada. Otra propuesta simple, que reduce al mínimo la tasa de bits que se va a solicitar, consiste en calcular la tasa de bits media de toda la transmisión y solicitarla; no obstante, esto determina la necesidad de disponer de una memoria tampón de tamaño muy grande en el receptor y, todavía más importante (puesto que las grandes cantidades de almacenamiento actualmente son relativamente económicas), una gran LOS. En el documento de Furini y Towsley citado anteriormente, se da a conocer una modificación de la propuesta de tasa de pico. Este sistema comprende la determinación del punto de la secuencia de vídeo en el cual la tasa de pico alcanza un valor máximo, y la petición de esta tasa para el período de tiempo hasta ese instante. A continuación, se determina la tasa de pico máxima durante el resto de la secuencia, y se solicita esta tasa (inferior). El procedimiento continúa de la misma manera durante toda la secuencia. El documento también indica que puede aplicarse un grado de almacenamiento en memoria tampón, para reducir de ese modo las tasas de pico efectivas antes de aplicar el algoritmo de reserva. Aunque este sistema aumenta la eficacia de utilización de la red en comparación con el sistema de tasa de pico única, todavía se sigue desperdiciando mucha capacidad de red (es decir, que está reservada pero que no se utiliza), y evidentemente el beneficio es pequeño si la tasa de pico máxima se produce cerca del final de la secuencia. No obstante, un beneficio de este sistema es que la cantidad de capacidad de red solicitada desciende y, en particular, las peticiones de reserva nunca especifican una tasa de bits superior a la de las peticiones previas, reduciéndose de ese modo el riesgo de rechazo de la petición de reserva.In the case of the broadcast of a video that is being currently recording the future characteristics of the stream of bits that are being encoded are unknown; instead, in a recorded video these characteristics are known. The fact that the reservation systems allow changing the amount of the rate of reserved bits offers the possibility of deciding a policy to continue to reserve the appropriate amount of network capacity in each moment, based on knowledge of the encoded material. A simple proposal is to calculate the peak bit rate (VBR, without buffer) and request it for the entire duration of the transmission, although it should be borne in mind that this means wasting network capacity, and of course, how much the greater the capacity requested, the greater the probability that the network is unable to facilitate it and, therefore, that the request of reservation is rejected. Another simple proposal, which reduces to minimum bit rate to be requested is to calculate the average bit rate of the entire transmission and request it; no However, this determines the need for a memory very large size buffer in the receiver and, even more important (since large amounts of storage They are currently relatively inexpensive), a great LOS. At Furini and Towsley document cited above, is disclosed a modification of the proposed peak rate. This system comprises determining the point of the video sequence in the which peak rate reaches a maximum value, and the request of this rate for the period of time until that instant. Then, the maximum peak rate is determined during the rest of the sequence, and this (lower) rate is requested. The procedure continue in the same way throughout the sequence. The document it also indicates that a degree of storage can be applied in buffer memory, to thereby reduce peak rates effective before applying the reservation algorithm. Even though this system increases the efficiency of network utilization compared With the single peak rate system, it still follows wasting a lot of network capacity (i.e. it is reserved but that is not used), and obviously the benefit is small if the maximum peak rate occurs near the end of the sequence. However, a benefit of this system is that the amount of requested network capacity drops and, in particular, the backup requests never specify a bit rate greater than that of previous requests, thereby reducing the risk of Rejection of the reservation request.

Según un aspecto de la presente invención, se proporciona un procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, que comprende las etapas siguientes:According to one aspect of the present invention, provides a procedure to transmit a digital sequence of video signals that have been encoded using an algorithm of compression, so that the number of bits encoded per frame It is not constant, which includes the following stages:

(a) (to)
dividir la secuencia en segmentos;divide the sequence into segments;

(b) (b)
determinar una tasa de bits para cada segmento, no siendo dicha tasa de bits superior a la tasa de bits del segmento inmediatamente precedente ydetermine a bit rate for each segment, not said bit rate being higher than the segment bit rate immediately preceding and

(c) (C)
transmitir las señales a las tasas de bits determinadas;transmit the signals at bit rates determined;

caracterizado porque la secuencia se divide en segmentos, de tal forma que el primer segmento es una parte situada al principio de la secuencia que contiene un número medio de bits codificados por trama (A_{j}) que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y porque cada elemento consecutivo es una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento precedente.characterized in that the sequence is divided into segments, so that the first segment is a part located at the beginning of the sequence that contains an average number of bits encoded per frame (A_ {j}) that is greater than or equal to the number half bit frame-encoded from any possible part starting at the beginning of the sequence, and because each element consecutive is a part located immediately after the preceding segment that contains an average number of coded bits  per frame that is greater than or equal to the average number of bits frame encoded from any possible located part immediately after the preceding segment.

En otro aspecto, la presente invención proporciona un procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, en el que el vídeo de origen se ha codificado como una primera secuencia y una segunda secuencia que presentan respectivos índices de compresión diferentes, que comprende las etapas siguientes:In another aspect, the present invention provides a procedure to transmit a digital sequence of video signals that have been encoded using an algorithm of compression, so that the number of bits encoded per frame it is not constant, in which the source video has been encoded as a first sequence and a second sequence that present respective different compression rates, comprising the following stages:

(a) (to)
dividir por lo menos la primera o la segunda secuencia en segmentos, siendo el primer segmento la parte del principio de la secuencia que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y siendo cada segmento consecutivo una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento precedente;divide at least the first or the second sequence in segments, the first segment being part of the beginning of the sequence that contains an average number of bits encoded per frame that is greater than or equal to the average number of frame-coded bits of any possible part starting with the beginning of the sequence, and each consecutive segment being a part immediately following the preceding segment which contains an average number of bits encoded per frame that is greater than or equal to the average number of bits encoded per frame of any possible part immediately following the preceding segment;

(b) (b)
seleccionar un punto de cambio en un límite entre dos segmentos determinados en la etapa (a);select a change point in a boundary between two segments determined in step (a);

(c) (C)
si la primera secuencia no se ha analizado en la etapa (a), analizar la primera secuencia para dividirla en segmentos;if the first sequence has not been analyzed in the step (a), analyze the first sequence to divide it into segments;

(d) (d)
determinar la tasa de bits para el segmento o cada segmento desde la primera secuencia hasta el punto de cambio;determine the bit rate for the segment or each segment from the first sequence to the point of change;

(e) (and)
transmitir la señal desde la primera secuencia hasta el punto de cambio a la tasa o las tasas de bits determinadas; ytransmit the signal from the first sequence to the point of change at the rate or the determined bit rates; Y

(f) (F)
transmitir, utilizando el procedimiento del primer aspecto, de una secuencia modificada que comprende la segunda secuencia desde el punto de cambio en adelante.transmit, using the first procedure aspect, of a modified sequence comprising the second sequence from the point of change onwards.

En las reivindicaciones subordinadas adjuntas, se exponen otros aspectos de la presente invención.In the attached subordinate claims, Other aspects of the present invention are set forth.

A continuación, se describen algunas formas de realización de la presente invención a titulo de ejemplo, haciendo referencia a los dibujos adjuntos, en los cuales:Here are some ways to describe embodiment of the present invention by way of example, making reference to the attached drawings, in which:

las figuras 1A a 3C representan gráficamente los resultados de las pruebas realizadas;Figures 1A to 3C graphically represent the results of the tests performed;

la figura 4 es un diagrama de bloques de una forma de aparato para implementar la presente invención;Figure 4 is a block diagram of a form of apparatus for implementing the present invention;

la figura 5 es un diagrama de flujo que ilustra el funcionamiento del aparato de la figura 4 yFigure 5 is a flow chart illustrating the operation of the apparatus of figure 4 and

las figuras 6 a 10 son unos gráficos que representan los resultados de otras pruebas.Figures 6 to 10 are graphics that They represent the results of other tests.

Se considerará, en el receptor, cierto segmento de tiempo arbitrario (pero igual al número total de períodos de trama) comprendido desde el tiempo t_{g}, en el que el receptor empieza a decodificar la trama g, hasta el tiempo t_{h}, en el que el receptor empieza a decodificar la trama h. La duración de este segmento es h - g. Se supondrá además que la tasa de transmisión durante este segmento es A bits/período de trama.In the receiver, a certain segment of arbitrary time (but equal to the total number of frame periods) ranging from the time t {g} is considered, in which the receiver begins to decode the frame g, until the time t {h}, in which the receiver starts decoding the frame h . The duration of this segment is h - g . It will also be assumed that the transmission rate during this segment is A bits / frame period .

Obviamente, en el tiempo t_{g}, el receptor deberá haber recibido los bits para todas las tramas hasta la trama g inclusive, es decir:Obviously, at the time t {g}, the receiver must have received bits for all frames until the frame g inclusive, ie:

100100

siendo d_{j} el número de bits codificados generados por el codificador para la trama j.where d j is the number of encoded bits generated by the encoder for frame j .

No obstante, a continuación se supondrá que el receptor también ha recibido, antes del tiempo g, p bits adicionales, es decir, en total:However, then it will be assumed that the receiver has also received, before time g, p additional bits, that is, in total:

101101

En cualquier momento de tiempo t_{k}(t_{g} \leq t_{k} \leq t_{h}), en el que el receptor empiece a decodificar la trama k, el receptor habrá recibido también (k - g)A bits y entonces:At any time of time t k ( t g le t k \ t h), in which the receiver starts decoding the frame k , the receiver will also have received ( k - g ) To bits and then:

102102

En este momento, el receptor necesita disponer de todos los bits para todas las tramas hasta la trama k inclusive, es decir:At this time, the receiver needs to have all the bits for all frames up to frame k inclusive, that is:

103103

Puesto que el número de bits recibidos debe ser por lo menos igual al número necesario, la condición que debe satisfacerse para evitar el desbordamiento de la memoria tampón es:Since the number of bits received must be at least equal to the necessary number, the condition that must Satisfy to avoid buffer overflow is:

104104

Si este resultado debe alcanzarse sin la transmisión de bits de precarga p, entonces debe cumplirse:If this result must be achieved without the transmission of preload bits p , then it must be met:

105105

Por lo tanto, la tasa transmitida A debe ser superior o igual al número medio de bits por trama generados durante las tramas g+1 a k, para cualquier valor de k(g + 1 \leq k \leq h), condición que se cumple siTherefore, the transmitted rate A must be greater than or equal to the average number of bits per frame generated during frames g + 1 to k , for any value of k ( g + 1 \ leq k \ leq h ), a condition that is meets yes

106106

La utilización de esta tasa significa que el número de bits (h-g)A transmitidos durante el segmento sobrepasará el número de bits generados para el segmento, a menos que se alcance el valor máximo para k = h, es decir, al final del segmento. Partiendo de la base de que la utilización continuada de la tasa de transmisión calculada de este modo, una vez que se ha pasado el valor máximo, parece suponer la utilización de una velocidad superior a la absolutamente necesaria, la primera versión de la presente invención descrita a continuación tiene como objetivo dividir los datos en segmentos, de tal manera que los valores máximos se produzcan siempre al final del segmento.The use of this rate means that the number of bits ( hg ) A transmitted during the segment will exceed the number of bits generated for the segment, unless the maximum value for k = h is reached, that is, at the end of the segment. On the basis that the continued use of the transmission rate calculated in this way, once the maximum value has been exceeded, seems to imply the use of a speed greater than absolutely necessary, the first version of the present invention described It then aims to divide the data into segments, so that maximum values always occur at the end of the segment.

       \newpage\ newpage
    

El primer procedimiento que se va a describir es para la transmisión de material de vídeo almacenado que ya se ha codificado mediante un algoritmo de compresión, tal como el MPEG, a través de una red de paquetes, tal como Internet. Se presupone que la red dispone de medios para reservar capacidad de tasa de bits. Lo que se pretende es determinar la tasa de bits que se va a utilizar como una función del tiempo, para obtener de ese modo:The first procedure to be described is for the transmission of stored video material that has already been encoded by a compression algorithm, such as MPEG, to through a network of packages, such as the Internet. It is assumed that the network has means to reserve bit rate capacity. What is intended is to determine the bit rate to be use as a function of time, to get that way:

- una baja latencia de inicio;- a low start latency;

- una baja tasa de bits transmitidos y- a low bit rate transmitted and

- una alta eficacia de transmisión (es decir, un menor desperdicio),- high transmission efficiency (that is, a less waste),

aunque, puesto que los requisitos anteriores son opuestos, cualquier solución deberá ser necesariamente una solución de compromiso.although, since the above requirements are opposite, any solution must necessarily be a solution of compromise.

En este ejemplo, se supone que no existe ninguna restricción sobre la tasa de bits que se puede elegir y que la tasa de bits utilizada para la transmisión y la tasa de bits reservada en la red son iguales.In this example, it is assumed that there is no restriction on the bit rate that can be chosen and that the rate of bits used for transmission and the reserved bit rate on the net they are the same.

Esta primera versión también está sujeta a una restricción, en la medida en que la tasa de bits solicitada no puede incrementarse nunca, es decir, es una función del tiempo que decrece monotónicamente. Como se ha indicado anteriormente, esto es deseable para reducir el riesgo de rechazo de la reserva.This first version is also subject to a restriction, to the extent that the requested bit rate does not it can never increase, that is, it is a function of the time that decreases monotonously. As stated above, this is desirable to reduce the risk of rejection of the reservation.

Puesto que el hardware de almacenamiento de gran tamaño no resulta problemático para los usuarios actuales, en esta solución, la reducción del tamaño de la memoria tampón necesaria en el decodificador no constituye un tema de interés principal. No obstante, de hecho, el tamaño de memoria tampón necesario que resulta de este procedimiento también se reduce sumamente en comparación con el tamaño obtenido utilizando la tasa de bits media para realizar una transmisión de vídeo VBR. Aun en el peor de los casos, que raramente se produce en la práctica, el tamaño de memoria tampón necesario no será superior al que se requiere cuando se transmite una secuencia de vídeo VBR a la tasa de bits media.Since the large storage hardware size is not problematic for current users, in this solution, reducing the size of the buffer required in The decoder is not a topic of primary interest. Do not However, in fact, the buffer size required that results of this procedure is also greatly reduced by comparison with the size obtained using the average bit rate to perform a VBR video stream. Even in the worst of cases, which rarely occurs in practice, memory size necessary buffer will not exceed what is required when It transmits a VBR video stream at the average bit rate.

El algoritmo siguiente determina la función de transmisión ("FOT") que se debe utilizar.The following algorithm determines the function of transmission ("FOT") to be used.

Se supone que existen N tramas en la secuencia de vídeo y que el número de bits codificados para cada trama es d_{0}, d_{1} ..., d_{N-1}, respectivamente.It is assumed that there are N frames in the video sequence and that the number of bits encoded for each frame is d 0, d 1 ..., d N-1, respectively.

Como se ha indicado anteriormente, el algoritmo está limitado en la medida en que la función de transmisión nunca puede incrementarse, sino solo decrecer.As indicated above, the algorithm is limited to the extent that the transmission function never It can increase, but only decrease.

Conceptualmente, se pueden producir cambios en la tasa de transmisión en cualquier intervalo de tramas de la FOT. En la práctica, puede imponerse un límite a la frecuencia a la que se puede cambiar la tasa, dependiendo de las restricciones del sistema de reserva particular que se está utilizando. No obstante, con una FOT que decrece monotónicamente, un retardo en el cambio de la tasa no da por resultado una pérdida de calidad (aunque supone desperdiciar capacidad de la red), ya que su único efecto es la reserva de más capacidad de la que realmente se necesita. La primera etapa del algoritmo tiene por finalidad hallar cuántos "escalones" presentará la FOT y cuando se producirá cada escalón.Conceptually, changes can occur in the transmission rate in any frame interval of the FOT. In practice, a limit may be imposed on the frequency at which the rate can be changed, depending on the restrictions of the particular reservation system that is being used. However, with a FOT that decreases monotonically, a delay in the change of the rate does not result in a loss of quality (although it implies wasting network capacity), since its only effect is the Reserve more capacity than is really needed. The first algorithm stage aims to find how many "steps" will present the FOT and when each will occur step.

En primer lugar, se define:First, it defines:

107107

que representa la tasa de bits media de la secuencia de vídeo desde el inicio hasta la trama i inclusive. A continuación, se calculan A_{0}, A_{1}, ..., A_{N-1}, y a partir de éstas se calcula el valor de i que presenta la A_{i} más elevada. Si se supone que este valor es k_{0}, el borde del primer "escalón" se establece al final de la trama k_{0}, lo cual significa que, hasta el final de la trama k_{0}, la FOT necesita su tasa de transmisión más alta.which represents the average bit rate of the video stream from start to frame i inclusive. Next, A 0, A 1, ..., A N-1 are calculated, and from these the value of i having the highest A i is calculated. If this value is assumed to be k 0, the edge of the first "step" is set at the end of the frame k 0, which means that, until the end of the frame k 0, the FOT needs its highest transmission rate.

Una vez determinado el primer "escalón", la trama (k_{0}+1) se considera la "primera" trama para las tramas siguientes, y se calcula A_{i-1} ^{(1)} para i = k_{0+1}, k_{0+2}, ..., N-1. La fórmula que se aplica es:Having determined the first "step", the frame (k +1 {0}) is considered the "first" frame for the next frames, and calculated _ {i-1} ^ {(1)} for i = k 0 + 1, k 0 + 2, ..., N-1 . The formula that applies is:

108108

o en el caso general,or in the case general,

109109

Asimismo en este caso, se elige el valor más elevado como borde del segundo "escalón", al final de la trama k_{1}, siendo k_{1} el correspondiente valor de i. El procedimiento anterior se repite hasta que se llega al borde del último "escalón" en la trama N-1. En general, esto da por resultado M valores k_{m}, m = 0, ..., M-1 (siendo k_{M-1} siempre igual a N-1), que se puede considerar que dividen la secuencia de vídeo en M-1 segmentos, de los cuales el segmento 0 comprende las tramas 0 a k_{0}, y cada uno de los otros m segmentos comprende las tramas k_{m-1} +1 a k_{m}.Also in this case, the highest value is chosen as the edge of the second "step", at the end of the frame k1 , where k1 is the corresponding value of i. The above procedure is repeated until the edge of the last "step" in frame N-1 is reached. In general, this results in M values k m, m = 0, ..., M-1 (where k M-1 is always equal to N-1 ), which can be considered to divide the video sequence m-1 segments of which segment 0 comprises frames 0 to k {0}, and each of the other m segments comprising frames k {m-1} + 1 to k { m}.

El propósito del segundo paso del algoritmo es el de elegir una tasa de transmisión adecuada para el "nivel" de cada "escalón". Teóricamente, en este caso, la tasa más baja que permite asegurar que se transmitan todos los bits necesarios antes de que finalice cada "escalón", aunque se carezca de bits de precarga, es la media de las tasas de bits de las tramas que componen el segmento. Una tasa inferior requerirá necesariamente disponer de bits de precarga y, en consecuencia, una LOS superior, mientras que las tasas más altas, podrán provocar un desperdicio de la capacidad de la red.
Asimismo, es de prever que las tasas más altas incrementen el riesgo de que la reserva de recursos resulte infructuosa.
The purpose of the second step of the algorithm is to choose an appropriate transmission rate for the "level" of each "step". Theoretically, in this case, the lowest rate that ensures that all necessary bits are transmitted before each "step" ends, even if no preload bits are lacking, is the average bit rate of the frames that make up the segment A lower rate will necessarily require having preload bits and, consequently, a higher LOS, while higher rates may cause a waste of network capacity.
It is also expected that higher rates increase the risk that the resource reserve will be unsuccessful.

Existen M segmentos, siendo m = 0,1, ..., M-1. Asimismo se establece lo siguiente:There are M segments, where m = 0.1, ..., M-1 . The following is also established:

S_{i} es la suma de los bits generados en el segmento i, es decir 110 S_ {i} is the sum of the bits generated in segment i, that is 110

R_{i} es la tasa de transmisión de la FOT en el segmento i (obsérvese que K_{0}=k_{0}+1) yR {i} is the transmission rate of FOT in segment i (note that K = {0} {0} k +1) and

K_{i} es el número de tramas del segmento i, es decir, k_{i-}k_{i-1}.K_ is the number of frames of segment i, that is, k i- k i-1.

En este caso, las tasas necesarias son simplemente las tasas medias R_{i}= S_{i} / K_{i}; i = 1,2, ..., M-1.In this case, the necessary rates are simply the average rates R i = S i / K i; i = 1,2, ..., M -1.

Este procedimiento también puede utilizarse para calcular la tasa R_{0} para el segmento 0, si se establece k_{-1} = -1.This procedure can also be used to calculate the R 0 rate for segment 0 , if k -1 = -1 is set .

Debe observarse que, en la codificación de vídeo MPEG, la primera trama siempre es una trama I que genera más bits que las tramas P o B. Por consiguiente, a menudo, los resultados ponen de manifiesto que el primer segmento solo comprende una trama y que la tasa de transmisión R_{0} es muy inferior a la tasa de transmisión R_{1}. Puesto que los usuarios pueden esperar fácilmente a que transcurra un intervalo de algunas tramas para obtener una mejor oportunidad para realizar con éxito una reserva de recursos, es preferible establecer la igualdad R_{0} = R_{1}.It should be noted that, in MPEG video encoding, the first frame is always an I frame that generates more bits than the P or B frames. Consequently, the results often show that the first segment only comprises one frame and that the transmission rate R 0 is much lower than the transmission rate R 1. Since users can easily wait for an interval of some frames to pass in order to obtain a better opportunity to successfully make a reservation of resources, it is preferable to establish the equality R 0 = R 1.

En la tercera etapa, una vez que se ha determinado la FOT completa, puede calcularse el tamaño de memoria tampón que se necesita en el decodificador.In the third stage, once it has been determined the full FOT, the memory size can be calculated buffer that is needed in the decoder.

A continuación, se describe una segunda versión modificada, en la que la selección de las tasas está sujeta a una limitación. Por ejemplo, la limitación puede consistir en la necesidad de que la tasa sea de un número entero de bits por trama o, más generalmente, que sea una tasa de un grupo de tasas discretas. En el análisis, se utilizan los operadores de cuantificación definidos a continuación:Next, a second version is described modified, in which the selection of rates is subject to a limitation. For example, the limitation may consist of need for the rate to be an integer number of bits per frame or, more generally, that it is a rate of a group of rates discreet In the analysis, the operators of Quantification defined below:

Q^{+}(X) significa la tasa más baja permitida que es superior o igual a X (también denominada tasa de "techo") y Q <+> (X) means the lowest allowable rate that is greater than or equal to X (also called the "roof" rate) and

Q^{-}(X) significa la tasa más alta permitida que es inferior o igual a X (también denominada tasa de "suelo"). Q - (X) means the highest allowable rate that is less than or equal to X (also called the "ground" rate).

A continuación, se describen dos opciones:Two options are described below:

(a) (to)
redondeo hacia arriba hasta la tasa de techo: en este caso, la tasa utilizada puede resultar más alta de lo que es estrictamente necesario para un segmento particular, hecho que puede brindar la oportunidad de utilizar una tasa inferior para el segmento siguiente yrounding up to the ceiling rate: in In this case, the rate used may be higher than it is. strictly necessary for a particular segment, made that can provide the opportunity to use a lower rate for the next segment and

(b) (b)
redondeo hacia abajo hasta la tasa de suelo: en este caso, la tasa utilizada puede resultar más baja de lo que es necesario para un segmento particular, hecho que determina la necesidad de utilizar una tasa más alta para el segmento precedente.rounding down to the ground rate: in this In this case, the rate used may be lower than it is necessary for a particular segment, which determines the need to use a higher rate for the segment preceding.

Se considerará en primer lugar la opción de techo y se definirá el valor de techo de la "altura" del primer "escalón" de la FOT original como la "altura" del primer "escalón" delimitado en la nueva FOT. Debe observarse que, de esta forma, después del primer "escalón", se habrán transmitido más bits al receptor que la suma de bits de las tramas que pertenecen al "primer" escalón. Por lo tanto, cuando se delimita el segundo "escalón", debe excluirse el número de bits que pertenecen al "escalón" siguiente pero que se han transmitido en el "escalón" o los "escalones" anteriores, y recalcularse la tasa media del segundo "escalón". Si el valor de techo de la nueva tasa de bits media no es inferior al valor de techo de la tasa media del antiguo tercer "escalón", éste se define como la "altura" del segundo "escalón" delimitado. En caso contrario, se define el valor de techo de la tasa de bits media del antiguo tercer "escalón" como la "altura" del segundo "escalón" delimitado. Se sigue este procedimiento hasta que se fija la "altura" del último "escalón" delimitado. Puesto que siempre se adopta el valor de techo de cada "escalón", es posible que la transmisión de la corriente de vídeo VBR se realice con algunos intervalos de trama menos que la duración de la secuencia de vídeo. Con la simulación de la transmisión basada en la nueva FOT, el tiempo de duración de la FOT puede especificarse con exactitud. Una vez que se ha realizado la transmisión de la corriente de vídeo VBR, los recursos de red reservados pueden liberarse de inmediato. Por lo tanto, la utilización del 100% del ancho de banda sigue estando asegurada. Con la "altura" del primer "escalón" delimitado, la LOS puede recalcularse con precisión. Por último, a través de la simulación del procedimiento de transmisión, también puede fijarse el tamaño de memoria tampón necesario para prevenir el desbordamiento de esta.The option of ceiling and the ceiling value of the "height" of the first "step" of the original FOT as the "height" of the first "step" delimited in the new FOT. Must be observed that, in this way, after the first "step", they will have transmitted more bits to the receiver than the sum of frames bits that belong to the "first" step. Therefore, when delimits the second "step", the number of bits that belong to the next "step" but that have transmitted on the "step" or the previous "steps", and recalculate the average rate of the second "step". If he ceiling value of the new average bit rate is not less than ceiling value of the average rate of the former third "step", this is defined as the "height" of the second "step" delimited Otherwise, the ceiling value of the average bit rate of the old third "step" like the "height" of the second "step" delimited. This is followed procedure until the "height" of the last one is set "step" delimited. Since the value of roof of each "step", it is possible that the transmission of the VBR video stream is performed with some frame intervals less than the duration of the video sequence. With the simulation of the transmission based on the new FOT, the duration of the FOT can be specified exactly. Once it has been done VBR video stream transmission, network resources Reserved can be released immediately. Therefore, the 100% bandwidth utilization is still ensured. With the "height" of the first "step" delimited, the LOS It can be recalculated accurately. Finally, through the simulation of the transmission procedure, can also be set the buffer size needed to prevent overflow of this.

El procedimiento adoptado tiene lugar de la forma indicada a continuación. La división en segmentos se realiza de la forma indicada anteriormente.The procedure adopted takes place from the form indicated below. Segmenting is done in the manner indicated above.

Aparte de las cantidades S_{i}, R_{i} y K_{i} definidas anteriormente, también se introduce R^{1}{}_{i}, un valor temporal para la tasa de transmisión en el segmento i.Apart from the amounts S i, R i and K i defined above, R 1 {i} is also introduced, a temporary value for the transmission rate in the segment i .

I. I.
Cálculo de todas las tasas medias R^{1}{}_{i} = S_{i} / K_{i}, i = 0,1, ..., M-1,Calculation of all average rates R 1 {i = S i / K i, i = 0.1, ..., M-1 ,

II. II.
Establecimiento de la tasa para el segmento 0 como R_{0} = Q^{+}(R^{1}{}_{0}). (Debe tenerse en cuenta que si, como se ha indicado anteriormente, es deseable utilizar una tasa inferior para el primer segmento, en lugar de empezar por el segmento 0 se puede empezar por el segmento 1),Setting the rate for segment 0 as R 0 = Q + ( R 1 {0}). (It should be borne in mind that if, as indicated above, it is desirable to use a lower rate for the first segment, instead of starting with segment 0 you can start with segment 1),

III. III.
Establecimiento de la tasa para el segmento 1 restando, antes de la cuantificación, los bits adicionales enviados durante el segmento anterior:Setting the rate for segment 1 subtracting, before quantification, the additional bits sent during the previous segment:

111111

\quadquad
seleccionando la mayor de las dos.selecting the largest of the two.

IV. IV.
Para los segmentos anteriores i = 2, ..., M-1: For the previous segments i = 2, ..., M-1:

112112

seleccionando la mayor de las dos. Como es obvio, la segunda alternativa no se aplica para i = M-1.selecting the largest of the two. Obviously, the second alternative does not apply to i = M -1.

En la tercera versión que se describe a continuación, se utilizan las tasas de "suelo". En este caso, el procesamiento debe realizarse en orden inverso, empezando por el último "escalón". Esto es necesario para que los bits que no pueden transmitirse en un segmento particular puedan pre-transmitirse en los segmentos previos. El procedimiento específico primero define el valor de suelo de la tasa de bits media del último "escalón" como la nueva tasa de transmisión del último "escalón" delimitado de la nueva FOT. Entonces, puede determinarse el número de bits que se necesitan para el último "escalón" delimitado pero que no se pueden transmitir. El "escalón" o los "escalones" previos deben asegurar que dicho número de bits adicionales se transmita antes de que se inicie el nuevo último "escalón" de la FOT. Por lo tanto, cuando se delimita el penúltimo "escalón", debe procurarse que este contenga los bits que necesita, más el número adicional de bits necesarios para el último "escalón". Por consiguiente, es necesario recalcular una nueva tasa de bits media para el penúltimo "escalón". Si el valor de suelo de la nueva tasa de bits media del penúltimo "escalón" no es superior al valor de suelo de la tasa media del antepenúltimo "escalón" de la FOT original, éste se define simplemente como la "altura" del nuevo penúltimo "escalón". En caso contrario, se define el valor de suelo de la tasa de bits media del antiguo antepenúltimo "escalón" como la "altura" del nuevo penúltimo "escalón". Siguiendo este procedimiento hasta el primer "escalón", la delimitación se completa y se obtiene la FOT delimitada. Como en el caso del valor de techo, con el número de bits precargados y la "altura" del primer "escalón" delimitado, puede recalcularse con precisión la LOS. Por último, mediante la simulación del procedimiento de transmisión, también puede fijarse el tamaño de memoria tampón necesario para prevenir el desbordamiento de ésta.In the third version described to Next, the "ground" rates are used. In this case, the processing must be done in reverse order, starting with the last "step". This is necessary so that the bits that do not can be transmitted in a particular segment can pre-transmitted in previous segments. He specific procedure first defines the soil value of the average bit rate of the last "step" as the new rate of transmission of the last "step" delimited of the new FOT. Then, the number of bits needed to determine the last "step" delimited but that cannot be to transmit. The "step" or the previous "steps" must ensure that said number of additional bits is transmitted before that the new last "step" of the FOT be started. For the therefore, when the penultimate "step" is delimited, it must ensure that it contains the bits you need, plus the number additional bits needed for the last "step". By consequently, it is necessary to recalculate a new average bit rate for the penultimate "step". If the land value of the new average bit rate of the penultimate "step" is not higher than soil value of the average rate of the last-to-last "step" of the original FOT, this is simply defined as the "height" of the new penultimate "step". Otherwise, the soil value of the average bit rate of the former antepenultimate "step" as the "height" of the new penultimate "step". Following this procedure until the first "step", the delimitation is completed and the FOT is obtained delimited As in the case of the ceiling value, with the number of preloaded bits and the "height" of the first "step" defined, the LOS can be accurately recalculated. By last, by simulating the transmission procedure, also the buffer size required to prevent the overflow of this one.

Como en el caso anterior, existen M segmentos m = 0,1,..., M-1. Asimismo, se establece lo siguiente:As in the previous case, there are M segments m = 0.1, ..., M-1 . It also states the following:

S_{i} es la suma de los bits generados en el segmento i, es decir 113 S_ {i} is the sum of the bits generated in segment i , that is 113

R_{i} es la tasa de transmisión de la FOT en el segmento i;R_ {i} is the transmission rate of the FOT in segment i;

K_{i} es el número de tramas del segmento i, es decir, k_{i-}k_{i-1} yK_ {i} is the number of frames of segment i, that is, k i- k i-1 and

R^{1}{}_{i} es una tasa de transmisión temporal que se supone para el segmento i.R 1 {i} is a transmission rate temporary assumed for segment i.

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

I. I.
Cálculo de todas las tasas medias R^{1}{}_{i} = S_{i} / K_{i}, i = 0,1, ..., M-1,Calculation of all average rates R 1 {i = S i / K i, i = 0.1, ..., M-1 ,

II. II.
Establecimiento de la tasa de transmisión R_{M-1} para el segmento M-1 igual al valor de suelo de la tasa media para este segmento. Es decir,Setting the transmission rate R {M-1} for the segment M-1 equals the value of the average rate floor for this segment. That is to say,

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

114114

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

II. II.
Cálculo del número de bits precargados, P_{M-1} que es necesario que estén presentes en la memoria tampón del receptor al principio del segmento M-1 para prevenir el subdesbordamiento en el segmento M-1.Calculation of the number of preloaded bits, P M-1 that are required to be present in the receiver buffer at the beginning of the M-1 segment to prevent underflow in the M-1 segment.

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

115115

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

III. III.
A continuación, la tasa para el siguiente segmento puede calcularse comoThen the rate for the next segment can be calculated as

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

116116

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

\quadquad
seleccionando la menor de las dos, conselecting the smaller of the two, with

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

117117

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

IV. IV.
Este procedimiento se repite utilizando la fórmula general, m=M-3,..., 0: This procedure is repeated using the general formula, m = M-3, ..., 0:

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

118118

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

\quadquad
seleccionando la menor de las dos.selecting the smaller of the two.

YY

119119

Nuevamente, si se desea, esta iteración puede detenerse cuando m = 1 y cuando se utiliza R_{1} para el segmento 0.Again, if desired, this iteration can be stopped when m = 1 and when R 1 is used for segment 0.

Este procedimiento da por resultado un valor de P_{0} que es una precarga para el primer segmento y que es necesario transmitir en primer lugar. En realidad, es conveniente definir una precarga b_{0} que comprenda todos los bits que se transmiten antes de que el receptor empiece a decodificar la primera trama en t=0. This procedure results in a value of P {0} which is a preload to the first segment and that must be transmitted first. Actually, it is convenient to define a preload b 0 that comprises all the bits that are transmitted before the receiver starts decoding the first frame at t = 0.

Suponiendo que R_{0} se calcule como se ha indicado anteriormente, entoncesAssuming that R 0 is calculated as indicated above, then

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

120120

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

No obstante, si se utiliza la tasa R_{1} para el segmento 0, entonces sólo pueden transmitirse (K_{0} -1)R_{1} bits entre t=0 y el final del segmento, siendo entonces la precarga total:However, if the rate R {1} for the segment 0 is used, then only be transmitted (K {0} - 1) R {1} bits between t = 0 and the end of the segment and is then total preload:

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

121121

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

Si se supone que se utiliza R1, la latencia de inicio (LOS) es b_{0} / R_{1}.Assuming that R1 is used, the startup latency (LOS) is b _ {0} / R {1}.

A continuación, se hace referencia a la cuestión del tamaño de la memoria tampón. Indudablemente, con la presente FOT, se puede obtener una tasa de transmisión y una LOS razonable. La eficacia de transmisión de la red puede ser casi del 100% y requiere un tamaño de memoria tampón menor que el que se necesitaría utilizando directamente un ancho de banda de tasa media fijo. No obstante, en algunas situaciones, dicho tamaño todavía es mucho más grande de lo que se necesita debido a que se reserva el ancho de banda de la tasa de pico. En el sistema de reserva del ancho de banda de la tasa de pico, basta con que el tamaño de la memoria tampón del decodificador sea tan grande como el número de bits utilizados en la trama más complicada. No obstante, en el presente sistema, se necesita una memoria tampón de un tamaño superior a ese. Aunque en comparación con una tasa de bits media constante el presente sistema puede conseguir un tamaño de memoria tampón mucho menor en la mayoría de situaciones, debe admitirse que, en la peor situación, el tamaño de memoria tampón necesario para el presente sistema se aproxima al tamaño de memoria tampón necesario para una tasa de bits media constante. Dicha situación se produce cuando la A; más elevada aparece en las últimas tramas de la secuencia de vídeo. En tal situación, la presente curva de "descenso escalonado" prácticamente presenta un solo "escalón". Por lo tanto, no resulta suficientemente efectivo reducir al mínimo el tamaño de la memoria tampón a través de cambios "escalonados". A pesar de todo, dicha situación apenas se produce, debido a que cuanto más tarde aparecen los "bits de pico", menos es el efecto sobre A;. y, a menos que al final de la secuencia aparezcan de manera anormal algunas tramas excepcionalmente complicadas, no se producirá nunca. Sea cual sea la situación, la LOS nunca supondrá ningún problema en el presente sistema. Actualmente, se considera que disponer de hardware con una memoria un poco grande no debería ser problemático para el usuario. Lo que debería preocupar más a los usuarios es obtener una baja LOS y una buena eficacia de transmisión de la red.Next, reference is made to the issue of the size of the buffer. Undoubtedly, with the present FOT, you can get a transmission rate and a reasonable LOS. The transmission efficiency of the network can be almost 100% and requires a buffer size smaller than the one would need to directly use a medium rate bandwidth permanent. However, in some situations, this size is still much larger than what is needed because it reserves the bandwidth of the peak rate. In the reservation system of the bandwidth of the peak rate, just that the size of the decoder buffer is as large as the number of bits used in the most complicated frame. However, in the In this system, a buffer of one size is required superior to that. Although compared to an average bit rate constant the present system can get a memory size much smaller buffer in most situations, must be admitted that, in the worst situation, the buffer size needed for the present system it approximates the buffer size necessary for a constant average bit rate. This situation is produces when the A; higher appears in the last frames of the video sequence In such a situation, the present curve of "stepped descent" practically presents only one "step". Therefore, it is not effective enough minimize the size of the buffer through "staggered" changes. In spite of everything, this situation hardly occurs, because the later the "bits of peak ", less is the effect on A ;. and, unless at the end of the sequence appear abnormally some frames exceptionally complicated, it will never occur. Whatever it is the situation, the LOS will never be a problem in the present system. Currently, it is considered that having hardware with a A bit large memory should not be problematic for the user. What should concern users the most is to obtain a low LOS and a good network transmission efficiency.

Además, aun cuando los usuarios no puedan costearse la memoria tampón de gran tamaño que el presente sistema requiere, se puede hallar una solución de compromiso entre la eficacia de transmisión y el tamaño de memoria tampón necesaria en el decodificador. Con dicha solución de compromiso, el tamaño de memoria tampón necesario puede reducirse todavía más según las necesidades de los usuarios.In addition, even when users cannot cost the large buffer that the present system requires, a compromise solution can be found between the Transmission efficiency and buffer size required in The decoder With this compromise solution, the size of necessary buffer memory can be further reduced according to user needs

Aunque la descripción del algoritmo actual solo se basa en los bits por trama como unidad básica, resulta evidente que la unidad puede definirse como un GOP o un determinado número de imágenes o paquetes juntos. Independientemente de la unidad que se desee definir en este algoritmo, el principio es general y debe ser común.Although the description of the current algorithm only It is based on the bits per frame as a basic unit, it is evident that the unit can be defined as a GOP or a certain number of images or packages together. Regardless of the unit that you want to define in this algorithm, the principle is general and should be common

A continuación, se describen algunos ejemplos de secuencias de codificación de vídeo de prueba, mediante el procedimiento de "suelo". En cada caso, se indican los valores de la función de transmisión f(t) o (R_{i}), el valor de b_{0} y una tasa de transmisión propuesta para b_{0}, (a) cuando se utiliza el algoritmo anterior, (b) cuando se utiliza el procedimiento de Furini y Towsley y (c) cuando se utiliza una única tasa de bits media.Here are some examples of Test video coding sequences, using the "soil" procedure. In each case, the values are indicated of the transmission function f (t) or (R_ {i}), the value of b_ {0} and a proposed transmission rate for b_ {0}, (a) when the above algorithm is used, (b) when the Furini and Towsley procedure and (c) when using a single average bit rate

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    
Ejemplo 1Example 1 JacknBox Jacknbox

(a) (to)
Se codifica una secuencia de prueba (denominada JacknBox) de formato intermedio común (CIF) y 140 tramas de duración con un cuantificador fijo de tamaño de etapa 16 de conformidad con la norma H.263+, y se calcula la función FOT con el presente algoritmo.A test sequence is coded (called JacknBox) common intermediate format (CIF) and 140 frames of duration with a fixed quantifier of stage size 16 of conformity with the H.263 + standard, and the FOT function is calculated with the Present algorithm.

122122

En este documento, se define T_{i} como el tiempo en el que el decodificador presenta la trama i. Se define la unidad de medida de todas las tasas de medición de este documento como los bits por intervalo de trama b_{0} = 39824 bits, La tasa de transmisión propuesta para b_{0} es de 5100 bits por intervalo de trama.In this document, T_ {i} is defined as the time in which the decoder presents the plot i. The unit of measure of all measurement rates in this document as the bits per frame interval b_ {0} = 39824 bits, the rate The proposed transmission rate for b_ {0} is 5100 bits per interval of plot.

(b) (b)
Utilizando el procedimiento de Furini y Towsley, se obtieneUsing the Furini and Towsley procedure, you gets

123123

\quadquad
b_{0} = 39824 bitsb_ {0} = 39824 bits

En este sistema de transmisión, el valor b_{0} se obtiene mediante 39824 por intervalo de trama.In this transmission system, the value b_ {0} is obtained by 39824 per frame interval.

(c) (C)
Con una tasa de bits media constante, la función será:With a constant average bit rate, the function be:

\quadquad
f(t) = 3669f (t) = 3669

\quadquad
b_{0} = 108488 bits;b_ {0} = 108488 bits;

\quadquad
b_{0} se alcanza mediante 3669 bits por intervalo de trama.b_ {0} is reached by 3669 bits per interval of plot.

La figura 1 representa estos resultados en un gráfico.Figure 1 represents these results in a graphic.

Los resultados del análisis se indican en la tabla 1:The results of the analysis are indicated in the Table 1:

TABLA 1TABLE 1 JacknBox de 140 tramas según H.263+140 frame jacknBox according to H.263 +

1one

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

Con el presente sistema, también se ha codificado la misma secuencia de vídeo con un control de tasa para CBR. En este caso, la LOS sería de 29656/3735 = 7,94 tramas. No obstante, con el control de tasa para CBR normal se saltan 10 tramas, y el cálculo de bits que se proporciona es el mismo que el número medio de bits de la codificación VBR.With the present system, it has also encoded the same video sequence with a rate control for CBR In this case, the LOS would be 29656/3735 = 7.94 frames. Do not However, with the rate control for normal CBR, 10 are skipped frames, and the bit calculation that is provided is the same as the average number of bits of the VBR encoding.

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    
Ejemplo 2Example 2 Programa de TV de 8400 tramas según H.263+8400 frame TV program according to H.263 +

En esta prueba, se utiliza una secuencia QCIF (quarter-CIF) de programa de TV normal con 8400 tramas, codificada con un tamaño de paso de cuantificador fijo de 16 de conformidad con la norma H.263+. El tipo de imagen es IPPPP... con actualización forzada cada 132 tramas según la recomendación H.263+.In this test, a QCIF sequence is used (quarter-CIF) of normal TV program with 8400 frames, encoded with a fixed quantizer step size of 16 in accordance with the H.263 + standard. The type of image is IPPPP ... with forced update every 132 frames according to the recommendation H.263 +.

(a)(to)

124124

Como antes, b_{0} puede obtenerse mediante la primera tasa de 4977 bits por intervalo de trama.As before, b_ {0} can be obtained by First rate of 4977 bits per frame interval.

       \newpage\ newpage
    

(b)(b)

125125

\quadquad
b_{0} = 13944 bitsb_ {0} = 13944 bits

\quadquad
b_{0} puede transmitirse a 29762 bits por intervalo de trama.b_ {0} can be transmitted at 29762 bits per frame interval

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

(c) (C)
Con una tasa de bits media constante, la FOT será:With a constant average bit rate, the FOT be:

\quadquad
f(t) = 3966f (t) = 3966

\quadquad
b_{0} = 3348584 bits;b_ {0} = 3348584 bits;

\quadquad
b_{0} puede establecerse a 3669 bits por intervalo de trama.b_ {0} can be set to 3669 bits per interval of plot.

La figura 2 representa las curvas de la FOT para un programa de TV de 8400 tramas con codificación H.263+.Figure 2 represents the FOT curves for an 8400 frame TV program with H.263 + encoding.

Los resultados del análisis se indican en la tabla 2:The results of the analysis are indicated in the table 2:

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    
TABLA 2TABLE 2 8400 tramas, codificación H.263+8400 frames, H.263 + encoding

22

Ejemplo 3Example 3 Secuencia QCIF de programa de TV de 8400 tramas codificada con MPEG4QCIF sequence of 8400 frame TV program encoded with MPEG4

Se codifica la misma secuencia QCIF de programa de TV de 8400 tramas mediante codificación MPEG4, con un tamaño de paso de cuantificador fijo de 10. El tipo de imagen es IBBPBBPBBPBB (N=12, M=3). Debe observarse que, con las imágenes B, la secuencia de codificación de las imágenes es diferente de la secuencia de presentación de las imágenes. Por consiguiente, las imágenes I o P relacionadas deben transmitirse antes de la imagen B. Se necesita cierta cantidad de preprocesamiento antes de utilizar el presente algoritmo.The same program QCIF sequence is encoded of 8400 frames TV by MPEG4 encoding, with a size of fixed quantizer step of 10. The image type is IBBPBBPBBPBB (N = 12, M = 3). It should be noted that, with images B, the sequence Image coding is different from the sequence of Presentation of the images. Therefore, images I or P related must be transmitted before image B. It is needed certain amount of preprocessing before using this algorithm.

(a) (to)
Por último, la presente FOT es:Finally, this FOT is:

126126

\quadquad
b_{0} = 16548 bits;b_ {0} = 16548 bits;

\quadquad
b_{0} puede establecerse mediante 7426 bits por intervalo de trama.b_ {0} can be set by 7426 bits per frame interval

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

(b)(b)

127127

\quadquad
b_{0} = 16040 bits;b_ {0} = 16040 bits;

\quadquad
b_{0} puede establecerse a 57472 bits por intervalo de trama.b_ {0} can be set to 57472 bits per frame interval

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

(c) (C)
Con una tasa de bits media constante, la FOT será:With a constant average bit rate, the FOT be:

\quadquad
f(x) = 6825.f (x) = 6825.

\quadquad
b_{0} = 2874758 bits;b_ {0} = 2874758 bits;

\quadquad
b_{0} puede establecerse a 6825 bits por intervalo de trama.b_ {0} can be set to 6825 bits per interval of plot.

La figura 3 representa las curvas de la FOT para un programa de TV de 8400 tramas con codificación MPEG4 (N=12, M=3).Figure 3 represents the FOT curves for an 8400 frame TV program with MPEG4 encoding (N = 12, M = 3).

Los resultados del análisis se indican en la tabla 3:The results of the analysis are indicated in the table 3:

TABLA 3TABLE 3 8400 tramas, codificación MPEG48400 frames, MPEG4 encoding

33

A partir de los resultados experimentales anteriores, puede deducirse que la LOS se ha reducido en gran medida, mientras se sigue manteniendo el 100% de eficacia. Debe tenerse en cuenta, asimismo, que no se desperdicia ningún recurso de red. Lo único que todavía se puede mejorar es el tamaño ele memoria tampón necesario para el decodificador, que podría reducirse todavía más.From the experimental results above, it can be deduced that LOS has been greatly reduced measure, while maintaining 100% efficiency. Should It should also be borne in mind that no resource is wasted net. The only thing that can still be improved is the memory size buffer needed for the decoder, which could be reduced even more.

La figura 4 es un diagrama de bloques de un servidor operativo de conformidad con la presente invención. El servidor contiene los componentes de ordenador habituales, es decir, un procesador 10, una memoria 11, una memoria de disco 12, un teclado 13, una pantalla 14 y una interfaz de red 15 para la conexión con una red de telecomunicaciones 16. Las secuencias de vídeo disponibles para transmitir se almacenan en la memoria de disco 12 de una manera convencional, en forma de archivos codificados 20.Figure 4 is a block diagram of a operating server in accordance with the present invention. He server contains the usual computer components, it is that is, a processor 10, a memory 11, a disk memory 12, a keyboard 13, a screen 14 and a network interface 15 for the connection to a telecommunications network 16. The sequences of Video available for streaming are stored in the memory of disk 12 in a conventional way, in the form of files coded 20.

En la memoria de disco 12, también está almacenado un programa informático 21 para implementar el control de la operación del servidor. A continuación, se describe el funcionamiento de este programa, en el que se utiliza el procedimiento de "suelo", con referencia al diagrama de flujo representado en la figura 5.In disk memory 12, it is also stored a computer program 21 to implement the control of server operation. Next, the operation of this program, in which the "soil" procedure, with reference to the flow chart represented in figure 5.

Etapa 100Stage 100

Desde un terminal remoto, se recibe una petición para la transmisión de una secuencia de vídeo deseada, por medio de la interfaz 15. Dicha petición comprende el nombre de archivo de uno de los archivos 20 que contiene la secuencia.From a remote terminal, a request is received for the transmission of a desired video sequence, by means of interface 15. Said request includes the file name of one of the files 20 that contains the sequence.

Etapa 101Stage 101

El procesador 10 lee el archivo en cuestión en la memoria de disco 12 y determina el número de bits codificados d; del archivo para cada una de las N tramas de la secuencia almacenada, y almacena el valor de N y d_{j} (j=0,...,N-1) en la memoria 11.The processor 10 reads the file in question in disk memory 12 and determines the number of coded bits d; of the file for each of the N frames of the sequence stored, and stores the value of N and d_ {j} (j = 0, ..., N-1) in memory 11.

Etapa 102Stage 102

El procesador calcula k_{0}, ..., k_{M-1} de la forma descrita anteriormente y almacena M y k_{0}, ..., k_{M-1} en la memoria 11.The processor calculates k_ {0}, ..., k_ {M-1} in the manner described above and stores M and k_ {0}, ..., k_ {M-1} in memory eleven.

Etapa 103: cálculo de R^{1}i = para todos los valores de i Step 103: calculation of R 1 i = for all values of i

Etapa 104: establecimiento de R_{M-1} = Q - {R^{1}{}_{M-1}} y cálculo de P_{M-1}Step 104: establishment of R M-1 = Q - { R 1 {M-1} and calculation of P M-1

Etapa 106: establecimiento de un puntero m = M-2 Stage 106: establishment of a pointer m = M-2

Etapa 107: cálculo de R_{m} y P_{m}Step 107: calculation of R m and P m

Etapa 109: decremento de m. Si m \geq 0, regreso a etapa 107Stage 109: decrease of m. If m \ 0 , return to step 107

Etapa 111: cálculo de b_{0} = P_{0} + R_{0}Step 111: calculating b _ {0} = P {0} + R {0}

Etapa 112: cálculo de las duraciones de los segmentos - en esta implementación, la precarga y el segmento 0 se consideran un único segmento a efectos de transmisión. Por lo tantoStage 112: calculation of the durations of the segments - in this implementation, the preload and segment 0 are they consider a single segment for transmission purposes. For the so much

128128

i=1...M-1i = 1 ... M-1

siendo \tau la longitud de un período de trama.being ta the length of a period of plot.

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

Etapa 113: establecimiento de i en 0Stage 113: setting of i to 0

Etapa 114: transmisión de una petición de reserva que especifica una tasa de R_{i} y una duración de por lo menos \tau_{i}Step 114: transmission of a reservation request specifying a rate of R i and a duration of at least \ tau_ {i}

Etapa 115: transmisión de segmento i a una tasa R_{i} (precedido, cuando i = 0, por P_{0} bits de precarga)Step 115: transmission at a rate segment i {i} R (preceded, when i = 0, P {0} bits precharge)

Etapa 116: si se han transmitido todos los segmentos, parada; en caso contrario, incremento de i en la etapa 117 y retroceso a la etapa 114.Stage 116: if all segments have been transmitted, stop; otherwise, increase of i in step 117 and backward step to step 114.

En algunos sistemas de reserva, tales como el sistema RSVP mencionado anteriormente, es necesario que el terminal de recepción formule una petición de reserva para adaptarse a la multidifusión. En tal caso, la etapa 113 se modifica para especificar la transmisión de un mensaje al terminal de recepción, en el que se indican R_{i} y \tau_{i}, y a continuación el terminal transmite la petición de reserva deseada a la red.In some reservation systems, such as the RSVP system mentioned above, it is necessary for the receiving terminal to make a reservation request to accommodate multicasting. In this case, step 113 is modified to specify the transmission of a message to the receiving terminal, where R i and y are indicated, and then the terminal transmits the desired reservation request to the net.

En algunas redes, los tiempos permitidos para cambiar la tasa reservada pueden estar sujetos a ciertas restricciones. No obstante, el sistema adoptado anteriormente es resistente ante dichos problemas, debido a que todas las peticiones de reserva, excepto la primera, solicitan una tasa inferior a la anterior. En consecuencia, el retardo en el procesamiento de dichas peticiones determina que la tasa reservada permanezca alta una vez que la tasa de transmisión se ha reducido. En este caso, la eficacia de utilización de la red desciende, pero la calidad de la transmisión no cambia.In some networks, the times allowed for change the reserved rate may be subject to certain restrictions However, the system adopted above is resistant to such problems, because all requests of reservation, except the first, request a lower rate than the previous. Consequently, the delay in processing said requests determines that the reserved rate remains high once that the transmission rate has been reduced. In this case, the effectiveness network utilization drops, but the quality of the Transmission does not change.

Una segunda forma de realización de la presente invención analiza la posibilidad de cambiar la tasa de vídeo. En este caso, se generan dos (o más) corrientes de vídeo con diferentes calidades de imagen y, por lo tanto, diferentes tasas de datos. Habitualmente, estas secuencias pueden generarse utilizando niveles de detalle de cuantificación diferentes; es decir, en la corriente de baja calidad y baja tasa de datos, se utiliza un cuantificador de ajuste grueso y, en una secuencia de calidad más alta y tasa de datos más alta, se utiliza un cuantificador de ajuste menos grueso. La posibilidad de cambiar la tasa de vídeo resulta particularmente interesante en el presente contexto, en el que tal vez se produzca un fallo de reserva de tasa al principio de una transmisión, y en el que dicha situación puede remediarse enviando en primer lugar una corriente de calidad relativamente escasa y, a continuación, cambiando a una corriente de calidad superior cuando la naturaleza de la señal o las condiciones de la red lo permiten. No obstante, el sistema que se va a describir también es útil cuando se realiza el cambio de la tasa de vídeo por algún otro motivo.A second embodiment of the present Invention analyzes the possibility of changing the video rate. In In this case, two (or more) video streams are generated with different image qualities and, therefore, different rates of data. Usually, these sequences can be generated using different levels of quantification detail; that is, in the Low quality stream and low data rate, a coarse adjustment quantifier and, in a more quality sequence high and higher data rate, a quantifier of less thick fit. The possibility of changing the video rate it is particularly interesting in the present context, in the that there may be a failure to reserve a fee at the beginning of a transmission, and in which said situation can be remedied sending a relatively high quality stream first poor and then changing to a quality stream superior when the nature of the signal or the conditions of the network allow. However, the system to be described It is also useful when changing the video rate by Some other reason.

Cuando se utiliza la codificación intertrama, el cambio entre dos corrientes diferentes puede ocasionar una alteración importante de la imagen, debido al mal seguimiento de los predoctores en el codificador y el decodificador. No obstante, este cambio puede realizarse sin dicha degradación de la calidad de la imagen, generando de vez en cuando tramas codificadas de transición que esencialmente codifican la diferencia entre la trama de la corriente de destino del cambio y la trama de la corriente de origen del cambio. Por lo tanto, la transmisión de las tramas de una primera corriente va seguida de una o más tramas de transición y, a continuación, de las tramas de la segunda corriente. La generación de dichas tramas de transición no es nueva; por este motivo, no se describe en mayor detalle. Puede hallarse una descripción de dicho sistema en la solicitud de patente internacional WO 98/26604 (y la correspondiente patente US nº 6.002.440). Otro sistema de este tipo, en el que se utilizan las denominadas "tramas SP", se describe en el documento de Marta Karczewicz y Ragip Kurceren titulado "A Proposal for SP-frames", VCEG-L-27, ITU-T Video Coding Experts Group Meeting, Eibsee, Alemania, 9-12 de enero de 2001, y el documento de Ragip Kurceren y Marta Karczewicz titulado "SP-frame demonstrations", VCEG-N42, ITU-T Video Coding Experts Group Meeting, Santa Barbara, CA, USA, 24-27 de septiembre de 2001.When interframe coding is used, the change between two different currents can cause a major alteration of the image, due to poor tracking of the predoctors in the encoder and decoder. However, this change can be made without such degradation of the quality of the image, occasionally generating coded frames of transition that essentially encode the difference between the plot of the target current of the change and the plot of the current of Origin of the change Therefore, the transmission of the frames of a first stream is followed by one or more transition frames and then of the frames of the second stream. The generation of such transition frames is not new; for this reason, is not described in greater detail. You can find a description of said system in the patent application WO 98/26604 (and the corresponding US Patent No. 6,002,440). Another system of this type, in which the called "SP frames", described in Marta's document Karczewicz and Ragip Kurceren titled "A Proposal for SP-frames ", VCEG-L-27, ITU-T Video Coding Experts Group Meeting, Eibsee, Germany, January 9-12, 2001, and the Ragip document Kurceren and Marta Karczewicz titled "SP-frame demonstrations ", VCEG-N42, ITU-T Video Coding Experts Group Meeting, Santa Barbara, CA, USA, September 24-27, 2001.

En el contexto de la propuesta de la "FOT" descrita anteriormente, la cuestión del cambio entre dos corrientes plantea ciertas dudas que es necesario aclarar. Si en un punto de tiempo determinado se produce un cambio desde una primera corriente hasta una segunda corriente, entonces la memoria tampón del decodificador generalmente contiene tramas de la primera corriente que no son útiles para decodificar la segunda corriente. Por consiguiente, suponiendo que el decodificador vaya a iniciar de inmediato la decodificación de la segunda corriente, estas tramas no se utilizarán y supondrán un desperdicio de la capacidad de transmisión. Peor todavía, las tramas necesarias para decodificar la segunda corriente no estarán presentes en la memoria tampón. Teóricamente, esto se puede resolver recalculando la FOT de la segunda corriente, considerando que el principio de la parte de la segunda corriente que realmente se va a transmitir es el inicio de la corriente, aunque en la práctica esto puede dar por resultado un requisito de tasa de datos transmitidos extremadamente alta si se desea evitar la interrupción de las imágenes presentadas.In the context of the "FOT" proposal described above, the question of the change between two streams raises certain questions that need clarification. If at a point of given time a change occurs from a first stream until a second stream, then the buffer memory of the decoder usually contains first stream frames which are not useful for decoding the second stream. By consequently, assuming that the decoder will start from immediately decoding the second stream, these frames will not be used and will result in a waste of the ability to transmission. Worse yet, the frames needed to decode The second stream will not be present in the buffer. Theoretically, this can be solved by recalculating the FOT of the second stream, considering that the principle of the part of the second stream that is really going to be transmitted is the beginning of the current, although in practice this can result in a extremely high transmitted data rate requirement if You want to avoid interrupting the images presented.

El problema del desperdicio de bits puede evitarse dejando que el decodificador continúe decodificando las tramas de la primera corriente que permanecen en la memoria tampón, mientras que la memoria tampón puede acumular durante este período algunas de las tramas que se necesitan para decodificar la segunda corriente (es decir, la trama o las tramas de transición y las tramas de la segunda corriente). A pesar de todo, el peligro de que el requisito de la tasa de bits transmitidos sea excesivo no desaparece.The waste of bit problem can avoid letting the decoder continue decoding the first stream frames that remain in the buffer, while the buffer can accumulate during this period some of the frames that are needed to decode the second current (i.e. the plot or transition frames and the frames of the second stream). In spite of everything, the danger that the requirement of the bit rate transmitted is excessive not disappears

Idealmente, el cambio de corriente de bits deberá producirse tan pronto como se disponga del ancho de banda. No obstante, debido a los problemas que se acaban de describir, esto no resulta práctico. Asimismo, si es necesario generar tramas de transición (que normalmente no se generan en cada trama, sino solo en puntos seleccionados), entonces deberá planificarse de antemano en qué puntos (los puntos de cambio) deben situarse dichas tramas.Ideally, the bit stream change It should occur as soon as bandwidth is available. However, due to the problems just described, This is not practical. Also, if it is necessary to generate frames of transition (which are not normally generated in each frame, but only at selected points), then you should plan for in advance at what points (the points of change) these should be placed frames

Basándose en dichas cuestiones, se considera primero la posibilidad de cambiar en tiempos que coinciden con el "borde" de un "escalón" de la FOT. Una característica de este sistema es que, en el "borde" de cada "escalón", la memoria tampón del receptor no almacena ningún bit, puesto que todos los bits transmitidos se han decodificado como imágenes. Por lo tanto, si se desea cambiar en el "borde" de la corriente original, se deberán extraer todos los bits transmitidos de la memoria tampón del receptor y de ese modo no se desperdiciará ningún bit debido al cambio de la corriente de bits.Based on these issues, it is considered first the possibility of changing in times that coincide with the "edge" of a "step" of the FOT. A feature of this system is that, on the "edge" of each "step", the buffer memory of the receiver does not store any bit, since All transmitted bits have been decoded as images. By therefore, if you want to change at the "edge" of the stream original, all transmitted bits of the buffer memory of the receiver and thus will not be wasted no bit due to the change in bitstream.

Aunque con el establecimiento de los puntos de cambio en los "bordes de escalón" de la corriente de bits original se puede impedir que no se desperdicien bits transmitidos, todavía surgirá un problema si el punto de cambio de la nueva corriente no se halla en un "borde de escalón". Esto se debe a que si el punto de cambio no está situado en un "borde de escalón" en la nueva corriente, tal vez sea necesario transmitir algunos bits preacumulados para la nueva corriente dentro de un espacio de tiempo muy corto para reproducir vídeo de manera continua en el receptor. Esto puede provocar una petición de reserva de tasa muy superior, tal vez superior incluso a la tasa de reserva que implica la nueva corriente. Si el punto de cambio de la nueva corriente de bits se halla en el centro de un "escalón", la falta de bits acumulados provoca una reserva de tasa elevada. Por lo tanto, idealmente, el punto de cambio de la nueva corriente de vídeo deberá hallarse también en los "bordes de escalón".Although with the establishment of the points of change in the "step edges" of the bit stream original can be prevented not to waste transmitted bits, a problem will still arise if the change point of the new current is not on a "step edge". This is due to that if the change point is not located on an "edge of step "in the new current, it may be necessary to transmit some pre-accumulated bits for the new current within a very short time to play video so Continue in the receiver. This may cause a request for Reserve rate much higher, perhaps even higher than the rate of reserve that implies the new current. If the change point of the new bitstream is at the center of a "step", the lack of accumulated bits causes a high rate reservation. By therefore, ideally, the point of change of the new current of video should also be found on the "step edges".

Según los análisis anteriores, puede parecer que la única oportunidad de disponer de los puntos de cambio óptimos para las dos corrientes se tiene cuando estas presentan los mismos "puntos de borde". De no ser así, o bien se desperdician bits, o bien se necesita una tasa de bits muy alta tras el cambio de corriente de bits. Afortunadamente, en posteriores investigaciones se ha comprobado que en realidad las curvas de FOT generadas a partir de cuantificadores diferentes presentan "bordes de escalón" situados en posiciones similares, aunque puede que no sean absolutamente iguales. Esto se debe a que, en una secuencia de vídeo, las imágenes complejas deben ocupar más bits que las normales, independientemente del cuantificador que se seleccione.According to the previous analysis, it may seem that the only opportunity to have the optimal change points for the two currents you have when they present the same "edge points". Otherwise, or bits are wasted, or a very high bit rate is needed after changing bit stream Fortunately, in subsequent investigations it has been proven that in fact the FOT curves generated at from different quantifiers present "edges of step "located in similar positions, although it may not Be absolutely the same. This is because, in a sequence of video, complex images should occupy more bits than normal, regardless of the quantifier that select

Este resultado se ha obtenido a través de algunos experimentos, en los que se ha seleccionado una secuencia de vídeo 140 CIF JacknBox.This result has been obtained through some experiments, in which a sequence has been selected Video 140 CIF JacknBox.

En el primer experimento, se desea aclarar si unas corrientes de vídeo diferentes basadas en la misma secuencia de vídeo acercan o no sus "bordes de escalón" en las FOT. En la figura 6, se representa la similitud de las curvas de FOT basadas en diferentes cuantificadores. Las curvas corresponden a los tamaños de paso de cuantificador de 2, 3, 4, 10, 16 y 31 y se marcan como Q2, Q3, etc. Puede observarse que cuando se incrementa el tamaño de paso del cuantificador, la FOT va adquiriendo una forma cada vez más plana. No obstante, dichas corrientes siguen presentando los "bordes de escalón" casi al mismo tiempo. Además, debe observarse que, aunque similares, los puntos de "escalón" de FOT diferentes no son exactamente iguales. Las figuras 7 y 8 dan a conocer más detalles de curvas FOT diferentes en los "bordes de escalón". Aunque dichos puntos no son exactamente iguales, resulta poco perjudicial que el cambio de corriente de bits tenga lugar en un lugar aproximado. El siguiente experimento puede aclarar todavía más esta cuestión.In the first experiment, you want to clarify if different video streams based on the same sequence of video approach or not their "step edges" in the FOT. In Figure 6 shows the similarity of the FOT curves based in different quantifiers. The curves correspond to the quantizer step sizes of 2, 3, 4, 10, 16 and 31 and it mark as Q2, Q3, etc. It can be seen that when it increases the size of the quantizer step, the FOT is acquiring a form increasingly flat. However, these currents continue presenting the "step edges" almost at the same time. In addition, it should be noted that, although similar, the points of "step" of different FOTs are not exactly the same. The Figures 7 and 8 disclose more details of different FOT curves on the "step edges". Although these points are not exactly the same, it is little harmful that the change of Bit stream takes place in an approximate place. The next Experiment can further clarify this issue.

En el segundo experimento, se supone que se va a cambiar de la corriente de bits (corriente Q16) generada con un cuantificador fijo 16 a una segunda corriente de bits (corriente Q8) generada con un cuantificador fijo 8 en cada intervalo de trama. En la figura 9, se representan las curvas de reserva de cuando se cambia respectivamente la corriente de bits en las tramas 35, 42, 45, 49, 50 y 52. En la figura 10, se representa el número de bits desperdiciados cuando la corriente de bits se cambia en diferentes intervalos de trama. Las figuras 9 y 10 deberán ilustrar por sí solas la diferencia entre cambiar las corrientes en el punto de "borde" y cambiarlas en otros puntos. En la figura 9, puede observarse que, si los puntos de cambio están alejados de los "bordes de escalón", la tasa de transmisión necesaria es todavía más elevada que la tasa de transmisión necesaria originalmente para la corriente Q8. Esto es exactamente lo que sucedía en los análisis anteriores. En esta situación, es necesario conseguir la acumulación de bits necesaria en un plazo de tiempo corto para obtener una presentación adecuada tras el cambio de corriente de bits. Por lo tanto, la tasa de transmisión necesaria puede llegar a ser muy alta, resultando poco realista finalizar dicho cambio de corriente de bits. Por otro lado, si la corriente de bis se cambia cerca de los puntos de "borde", no se requiere una tasa de transmisión muy alta para lograr la acumulación de bits necesaria, porque cada "escalón" de la FOT es independiente. En la figura 10, también se puede observar que cambiar la corriente de bits cerca de los puntos de "borde" resulta más aconsejable. En la curva de la FOT, siempre es necesario preacumular algunos bits para las tramas siguientes. Si se aplica el cambio de corriente de bits, los bits preacumulados para la corriente original no tendrán ninguna utilidad, sino que se desperdiciarán.In the second experiment, it is supposed to be change the bitstream (current Q16) generated with a fixed quantifier 16 to a second bit stream (stream Q8) generated with a fixed quantifier 8 in each frame interval. In figure 9, the reserve curves of when the bit stream in frames 35, 42 respectively changes, 45, 49, 50 and 52. In figure 10, the number of bits is represented wasted when the bit stream is changed in different frame intervals Figures 9 and 10 should illustrate by themselves alone the difference between changing the currents at the point of "edge" and change them at other points. In figure 9, you can Note that if the change points are far from the "step edges", the necessary transmission rate is still higher than the necessary transmission rate originally for current Q8. This is exactly what It happened in the previous analyzes. In this situation, it is necessary get the necessary accumulation of bits in a period of time short to get a proper presentation after changing bit stream Therefore, the necessary transmission rate it can become very high, resulting in unrealistic end said bitstream change. On the other hand, if the current of bis is changed near the "edge" points, it is not required a very high transmission rate to achieve bit accumulation necessary, because each "step" of the FOT is independent. In figure 10, it can also be seen that changing the current Bit near the "edge" points is more advisable. In the FOT curve, it is always necessary to pre-accumulate some bits for the following frames. If the change of bit stream, the pre-accumulated bits for the original stream they will have no use, but will be wasted.

En la figura 10, es fácil observar que cuando se cambia la corriente de bits solo en los "bordes de escalón" no se puede desperdiciar ningún bit. Cuanto más cerca se está de los "bordes de escalón", menos bits se desperdician. Tanto a partir de la figura 9 como de la figura 10, se verifica que los mejores puntos de cambio de la FOT son sus "bordes de escalón".In Figure 10, it is easy to observe that when change the bitstream only at the "step edges" not No bit can be wasted. The closer you are to the "step edges", fewer bits are wasted. Both starting of figure 9 as of figure 10, it is verified that the best Change points of the FOT are its "step edges".

En cuanto a la cuestión del punto preciso que se debe elegir como punto de cambio para cambiar de una primera a una segunda corriente en la práctica, si los escalones de las dos corrientes coinciden, entonces, por supuesto, no existe ninguna ambigüedad. No obstante, si existe alguna diferencia en los tiempos, pueden emprenderse las siguientes acciones:Regarding the question of the precise point that you must choose as a point of change to change from a first to a second current in practice, if the steps of the two currents match, then, of course, there is no ambiguity. However, if there is any difference in the times, The following actions can be taken:

a) to)
elegir un escalón de la primera corriente (fácil de implementar);choose a step of the first stream (easy to implement);

b) b)
elegir un escalón de la segunda corriente (igualmente fácil de implementar);choose a step of the second stream (equally easy to implement);

c) C)
elegir el primero de los dos escalones (reduciendo al mínimo el desperdicio de bits);choose the first of the two steps (reducing to a minimum the waste of bits);

d) d)
elegir el último de los dos escalones (evitando cualquier incremento del ancho de banda de reserva para la segunda corriente).choose the last of the two steps (avoiding any increase in reserve bandwidth for the second stream).

No obstante, en la práctica tiene poca relevancia qué opción se selecciona, puesto que las diferencias de rendimiento entre estas son bastante pequeñas. En realidad, si el punto de cambio elegido está desplazado algunas tramas respecto del "escalón", a menudo se puede obtener un rendimiento satisfactorio.However, in practice it has little relevance which option is selected, since the differences of Performance between these are quite small. Actually, if the chosen change point is displaced some frames with respect to the "step", you can often get a performance satisfactory.

En vista de lo anterior, el procedimiento propuesto se realiza de la forma indicada a continuación (suponiendo que se elige la opción (a) indicada):In view of the above, the procedure proposed is done as indicated below (assuming that the option (a) indicated is chosen):

i) i)
cálculo de la FOT para la primera corriente;FOT calculation for the first stream;

ii) ii)
elección de un punto de cambio que coincide con un escalón de esta FOT;choice of a change point that matches a step of this FOT;

iii) iii)
generación de una trama de transición;generation of a transition plot;

iv) iv)
cálculo de la FOT para la trama de transición más el resto de la segunda corriente;FOT calculation for the transition frame plus the rest of the second stream;

v) v)
transmisión de la primera corriente hasta el punto de cambio ytransmission of the first current to the point of change and

vi) saw)
transmisión de la trama de transición más el resto de la segunda corriente.transition frame transmission plus the rest of the second stream.

En caso de que se utilice la opción (b), (c) o (d), la etapa i) comprenderá el cálculo de la FOT de la segunda corriente también, y la etapa (ii) comprenderá la selección según la opción elegida. A pesar de todo, todavía es necesario recalcular la FOT para la segunda corriente en la etapa 4. Debe observarse también que el (re)cálculo de la etapa (iv) tendrá en cuenta automáticamente todas las correcciones necesarias debidas a la no coincidencia del punto de cambio con la etapa calculada originalmente para la segunda corriente o debidas a la utilización de las tasas de "techo" o "suelo" descritas anteriormente.In case option (b), (c) or (d), step i) will include the calculation of the FOT of the second current also, and step (ii) will comprise the selection according to The option chosen. In spite of everything, it is still necessary to recalculate the FOT for the second current in stage 4. It should be observed also that the (re) calculation of stage (iv) will take into account automatically all necessary corrections due to no coincidence of the change point with the calculated stage originally for the second current or due to use of the "roof" or "floor" rates described previously.

Evidentemente, es posible elegir más de un punto de cambio si así se desea; por ejemplo, para volver a cambiar a la primera corriente o para cambiar a una tercera corriente.Obviously, it is possible to choose more than one point exchange if desired; for example, to switch back to the first stream or to switch to a third stream.

Aunque las cuestiones concernientes al cambio se han descrito dentro del contexto de los sistemas que están sujetos a la limitación de presentar una FOT que decrece monotónicamente, la presente propuesta de cambio también puede utilizarse cuando no se aplica esta limitación. Asimismo, esta propuesta también es útil cuando se realiza el cambio desde una corriente de alta calidad hasta una corriente de baja calidad.Although the issues concerning change are have described within the context of the systems that are subject to the limitation of presenting a FOT that decreases monotonically, This change proposal can also be used when not this limitation applies. Also, this proposal is also useful when the change is made from a high quality stream Up to a stream of poor quality.

Claims (15)

1. Procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, que comprende las etapas siguientes:1. Procedure to transmit a sequence digital video signals that have been encoded using a compression algorithm, such that the number of bits encoded by frame is not constant, which comprises the stages following:
(a) (to)
dividir (102) la secuencia en segmentos;divide (102) the sequence into segments;
(b) (b)
determinar (107) una tasa de bits (R_{m}) para cada segmento, no siendo dicha tasa de bits superior a la tasa de bits del segmento inmediatamente precedente ydetermine (107) a bit rate (R_ {m}) for each segment, said bit rate not being higher than the rate of bits of the immediately preceding segment and
(c) (C)
transmitir (115) las señales a las tasas de bits determinadas;transmit (115) signals at bit rates determined;
caracterizado porque la secuencia se divide en segmentos, de tal forma que el primer segmento es una parte situada al principio de la secuencia que contiene un número medio de bits codificados por trama (A_{i}) que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y en el que cada segmento consecutivo es una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento
precedente.
characterized in that the sequence is divided into segments, such that the first segment is a part located at the beginning of the sequence that contains an average number of bits encoded per frame (Ai) that is greater than or equal to the average number of frame-coded bits of any possible part starting at the beginning of the sequence, and in which each consecutive segment is a part immediately following the preceding segment containing an average number of bits coded per frame that is greater than or equal to the number half bit frame-encoded from any possible part immediately following the segment
preceding.
2. Procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, en el que el vídeo de origen se ha codificado como una primera secuencia y una segunda secuencia que presentan respectivos índices de compresión diferentes, que comprende las etapas siguientes:2. Procedure to transmit a sequence digital video signals that have been encoded using a compression algorithm, such that the number of bits encoded by frame is not constant, in which the source video it has been encoded as a first sequence and a second sequence which have respective different compression rates, which It comprises the following stages:
(a) (to)
dividir por lo menos la primera y la segunda secuencias en segmentos, siendo el primer segmento la parte del principio de la secuencia que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y siendo cada segmento consecutivo una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento precedente;divide at least the first and the second segment sequences, the first segment being part of the beginning of the sequence that contains an average number of bits encoded per frame that is greater than or equal to the average number of frame-coded bits of any possible part starting with the beginning of the sequence, and each segment being consecutive a part immediately following the segment precedent that contains an average number of bits encoded by frame that is greater than or equal to the average number of coded bits by plot of any possible part immediately located at continuation of the preceding segment;
(b) (b)
seleccionar un punto de cambio en un límite entre dos segmentos determinados en la etapa (a);select a change point in a boundary between two segments determined in step (a);
(c) (C)
si la primera secuencia no se ha analizado en la etapa (a), analizar la primera secuencia para dividirla en segmentos;if the first sequence has not been analyzed in the step (a), analyze the first sequence to divide it into segments;
(d) (d)
determinar la tasa de bits para el segmento o cada segmento desde la primera secuencia hasta el punto de cambio;determine the bit rate for the segment or each segment from the first sequence to the point of change;
(e) (and)
transmitir la señal desde la primera secuencia hasta el punto de cambio a la tasa o las tasas de bits determinadas; ytransmit the signal from the first sequence to the point of change at the rate or the determined bit rates; Y
(f) (F)
transmitir, mediante el procedimiento según la reivindicación 1, de una secuencia modificada que comprende la segunda secuencia desde el punto de cambio en adelante.transmit, by the procedure according to the claim 1, of a modified sequence comprising the second sequence from the point of change onwards.
3. Procedimiento según la reivindicación 2, en el que, en la etapa (b) se selecciona un punto de cambio que se halla en el límite entre dos segmentos de la primera secuencia.3. Method according to claim 2, in which, in step (b) a change point is selected that It is on the boundary between two segments of the first sequence. 4. Procedimiento según la reivindicación 2, en el que, en la etapa (b), se selecciona un punto de cambio que se halla en el límite entre dos segmentos de la segunda secuencia.4. Method according to claim 2, in which, in step (b), a change point is selected that It is on the boundary between two segments of the second sequence. 5. Procedimiento según la reivindicación 2, en el que, en la etapa (a), tanto la primera como la segunda secuencia se dividen en segmentos, y en la etapa (b), se selecciona un punto de cambio que se halla en el límite entre dos segmentos tanto de la primera como de la segunda secuencias o, en caso de que los límites no coincidan, en el primero de los dos límites.5. Method according to claim 2, in which, in step (a), both the first and the second sequence they are divided into segments, and in step (b), a point is selected exchange rate that is in the boundary between two segments of both the first as of the second sequences or, in case the limits do not match, in the first of the two limits. 6. Procedimiento según la reivindicación 2, en el que, en la etapa (a), tanto la primera como la segunda secuencia se dividen en segmentos, y en la etapa (b), se selecciona un punto de cambio que se halla en el límite entre dos segmentos tanto de la primera como de la segunda secuencias o, en caso de que los límites no coincidan, en el último de los dos límites.6. Method according to claim 2, in which, in step (a), both the first and the second sequence they are divided into segments, and in step (b), a point is selected exchange rate that is in the boundary between two segments of both the first as of the second sequences or, in case the limits do not match, in the last of the two limits. 7. Procedimiento según cualquiera de las reivindicaciones 2 a 6, en el que se selecciona un punto de cambio que se encuentra a cuatro tramas del límite pertinente.7. Procedure according to any of the claims 2 to 6, wherein a change point is selected which is four frames from the relevant limit. 8. Procedimiento según la reivindicación 7, en el que se selecciona un punto de cambio que coincide con el límite pertinente.8. Method according to claim 7, in which selects a change point that matches the limit relevant. 9. Procedimiento según cualquiera de las reivindicaciones 2 a 8, en el que la primera secuencia se codifica a un índice de compresión superior al de la segunda secuencia.9. Procedure according to any of the claims 2 to 8, wherein the first sequence is encoded at a compression rate higher than the second sequence. 10. Procedimiento según la reivindicación 9, en el que la primera secuencia se codifica utilizando una cuantificación más gruesa que la segunda secuencia.10. Method according to claim 9, in which the first sequence is encoded using a Quantification thicker than the second sequence. 11. Procedimiento según cualquiera de las reivindicaciones 2 a 10, en el que las secuencias se codifican mediante la codificación intertrama, y que comprende la generación en el punto de cambio de una secuencia de transición que comprende o empieza con una trama de la segunda secuencia codificada utilizando una trama decodificada de la primera secuencia como predictor, y en el que la secuencia modificada comprende la secuencia de transición seguida de tramas de la segunda secuencia.11. Procedure according to any of the claims 2 to 10, wherein the sequences are encoded through interframe coding, and that includes the generation at the point of change of a transition sequence comprising or  start with a frame of the second sequence encoded using a decoded frame of the first sequence as a predictor, and in which the modified sequence comprises the transition sequence followed by frames of the second sequence. 12. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que la tasa de bits determinada para cada uno de por lo menos los últimos segmentos de la secuencia o una de las secuencias es un número de bits por período de trama igual al número medio de bits codificados por trama para dicho segmento.12. Procedure according to any of the previous claims, wherein the determined bit rate for each of at least the last segments of the sequence or one of the sequences is a number of bits per frame period equal to the average number of bits encoded per frame for said segment. 13. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que la tasa de bits determinada para cada uno de por lo menos los últimos segmentos de la secuencia o una de las secuencias es un número de bits por período de trama igual al mayor de los siguientes valores:13. Procedure according to any of the previous claims, wherein the determined bit rate for each of at least the last segments of the sequence or one of the sequences is a number of bits per frame period equal to the greater of the following values:
(i) (i)
la más baja de un conjunto de tasas de bits permitidas que es mayor o igual a una tasa nominal para el segmento, siendo dicha tasa nominal el número medio de bits codificados por trama para dicho segmento, menos cualquier reducción permitida como consecuencia de una tasa de bits determinada para la secuencia precedente que sobrepasa la tasa nominal para dicho segmento precedente; ythe lowest of a set of bit rates allowed that is greater than or equal to a nominal rate for the segment, said nominal rate being the average number of bits encoded per frame for said segment, minus any reduction  allowed as a result of a certain bit rate for the preceding sequence that exceeds the nominal rate for said preceding segment; Y
(ii) (ii)
la más baja de un conjunto de tasas de bits permitidas que es mayor o igual al número medio de bits codificados por trama para el segmento siguiente.the lowest of a set of bit rates allowed that is greater than or equal to the average number of coded bits per frame for the next segment.
14. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que la tasa de bits determinada para cada uno de por lo menos los últimos segmentos de la secuencia o una de las secuencias es un número de bits por período de trama igual al menor de los siguientes valores:14. Procedure according to any of the previous claims, wherein the determined bit rate for each of at least the last segments of the sequence or one of the sequences is a number of bits per frame period equal to the lower of the following values:
(i) (i)
la más alta de un conjunto de tasas de bits permitidas que es menor o igual a una tasa nominal para el segmento, siendo dicha tasa nominal el número medio de bits codificados por trama para el segmento más cualquier incremento necesario como consecuencia de la tasa de bits determinada para la secuencia siguiente que es inferior a la tasa nominal para dicho segmento precedente ythe highest of a set of bit rates allowed that is less than or equal to a nominal rate for the segment, said nominal rate being the average number of bits encoded per frame for the segment plus any increment necessary as a result of the bit rate determined for the following sequence that is lower than the nominal rate for said preceding segment and
(ii) (ii)
la más alta del conjunto de tasas de bits permitidas que es menor o igual al número medio de bits codificados por trama para el segmento precedente.the highest of the set of allowed bit rates which is less than or equal to the average number of bits encoded per frame for the preceding segment.
15. Procedimiento según cualquiera de las reivindicaciones anteriores, que comprende la transmisión, a una red de telecomunicaciones, de mandatos que solicitan la reserva de dichas tasas de bits determinadas.15. Procedure according to any of the previous claims, comprising the transmission, to a telecommunications network, of mandates that request the reservation of such determined bit rates.
ES03775577T 2002-11-18 2003-11-18 VIDEO TRANSMISSION. Expired - Lifetime ES2314259T3 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0226872 2002-11-18
GB0226872A GB0226872D0 (en) 2002-11-18 2002-11-18 Video transmission
GB0322767 2003-09-29
GB0322767A GB0322767D0 (en) 2003-09-29 2003-09-29 Transmission of video

Publications (1)

Publication Number Publication Date
ES2314259T3 true ES2314259T3 (en) 2009-03-16

Family

ID=32328068

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03775577T Expired - Lifetime ES2314259T3 (en) 2002-11-18 2003-11-18 VIDEO TRANSMISSION.

Country Status (10)

Country Link
US (1) US7760801B2 (en)
EP (1) EP1563689B1 (en)
JP (1) JP4087852B2 (en)
KR (1) KR101044213B1 (en)
AT (1) ATE410029T1 (en)
AU (1) AU2003283600A1 (en)
CA (1) CA2505853A1 (en)
DE (1) DE60323860D1 (en)
ES (1) ES2314259T3 (en)
WO (1) WO2004047455A1 (en)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
CN100539439C (en) 2002-10-05 2009-09-09 数字方敦股份有限公司 The system coding of chain reaction sign indicating number and decode system and method
EP1665539B1 (en) 2003-10-06 2013-04-10 Digital Fountain, Inc. Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
CN101019326B (en) 2004-05-07 2013-02-27 数字方敦股份有限公司 File download and streaming system
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
EP2203836A4 (en) 2007-09-12 2014-11-05 Digital Fountain Inc Generating and communicating source identification information to enable reliable communications
EP2101503A1 (en) * 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
EP2200319A1 (en) 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
EP2219342A1 (en) 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8838824B2 (en) * 2009-03-16 2014-09-16 Onmobile Global Limited Method and apparatus for delivery of adapted media
US8782267B2 (en) * 2009-05-29 2014-07-15 Comcast Cable Communications, Llc Methods, systems, devices, and computer-readable media for delivering additional content using a multicast streaming
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
EP2589223B1 (en) * 2010-06-30 2016-03-09 British Telecommunications Public Limited Company Video streaming
EP2408204A1 (en) 2010-07-12 2012-01-18 British Telecommunications public limited company Video streaming
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
EP2426923A1 (en) 2010-09-02 2012-03-07 British Telecommunications Public Limited Company Adaptive streaming of video at different quality levels
EP2469774A1 (en) 2010-12-23 2012-06-27 British Telecommunications public limited company Video streaming over data networks
EP2469773A1 (en) 2010-12-23 2012-06-27 British Telecommunications public limited company A method for delivering video content encoded at one or more quality levels over a data network
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
EP2490447A1 (en) 2011-02-16 2012-08-22 British Telecommunications Public Limited Company Compact cumulative bit curves
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US20140181266A1 (en) * 2011-09-29 2014-06-26 Avvasi Inc. System, streaming media optimizer and methods for use therewith
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9160778B2 (en) 2011-10-26 2015-10-13 Nokia Solutions And Networks Oy Signaling enabling status feedback and selection by a network entity of portions of video information to be delivered via wireless transmission to a UE
KR101854469B1 (en) * 2011-11-30 2018-05-04 삼성전자주식회사 Device and method for determining bit-rate for audio contents
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9363473B2 (en) * 2012-12-17 2016-06-07 Intel Corporation Video encoder instances to encode video content via a scene change determination
US9349304B2 (en) * 2013-02-04 2016-05-24 Bose Corporation Demonstrating an active vibration isolation system
WO2016183251A1 (en) 2015-05-11 2016-11-17 Mediamelon, Inc. Systems and methods for performing quality based streaming
US11076187B2 (en) 2015-05-11 2021-07-27 Mediamelon, Inc. Systems and methods for performing quality based streaming

Family Cites Families (7)

* 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
US5991811A (en) * 1995-09-04 1999-11-23 Kabushiki Kaisha Toshiba Information transmission system utilizing both real-time data transmitted in a normal-in-time direction and in a retrospective-in-time direction
DE69715660T2 (en) 1996-12-10 2003-07-31 British Telecomm VIDEO CODING
JP2001237828A (en) * 2000-02-18 2001-08-31 Sony Corp Data transmission management device and method, data transmission system and data transmission method
US6522693B1 (en) * 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
US6741648B2 (en) * 2000-11-10 2004-05-25 Nokia Corporation Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
US6937770B1 (en) * 2000-12-28 2005-08-30 Emc Corporation Adaptive bit rate control for rate reduction of MPEG coded video

Also Published As

Publication number Publication date
CA2505853A1 (en) 2004-06-03
JP2006506926A (en) 2006-02-23
KR101044213B1 (en) 2011-06-29
US7760801B2 (en) 2010-07-20
EP1563689B1 (en) 2008-10-01
WO2004047455A1 (en) 2004-06-03
AU2003283600A1 (en) 2004-06-15
KR20050086731A (en) 2005-08-30
JP4087852B2 (en) 2008-05-21
US20060045180A1 (en) 2006-03-02
DE60323860D1 (en) 2008-11-13
ATE410029T1 (en) 2008-10-15
EP1563689A1 (en) 2005-08-17

Similar Documents

Publication Publication Date Title
ES2314259T3 (en) VIDEO TRANSMISSION.
US10972772B2 (en) Variable bit video streams for adaptive streaming
US7400678B2 (en) Methods in transmission and searching of video information
EP2649599B1 (en) Variable bit video streams for adaptive streaming
US7240358B2 (en) Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
CN101690078B (en) Bandwidth allocation control in multiple video streaming
US7958532B2 (en) Method of transmitting layered video-coded information
US8955024B2 (en) Video streaming
CN100481956C (en) Transmission of video
EP1043877B1 (en) Method and apparatus for reducing start-up delay in data packet-based network streaming applications
KR101014451B1 (en) Video on demand server system and method
UA94811C2 (en) Dynamically interleaving steams and delivery based on subprotocols
JP2003525547A (en) Method and apparatus for streaming scalable video
EP2058968A1 (en) Method and apparatus for FEC encoding and decoding
Hadar et al. PCRTT enhancement for off-line video smoothing
CN1765103A (en) Transmitting over a network
US20080008190A1 (en) Method and apparatus for distributing statistical multiplex signals to handheld devices
KR100433508B1 (en) Method and Apparatus for Multimedia Data Delivery Having an Efficient Bandwidth Smoothing Algorithm and a Recording Medium Used therefor
JP2023019370A (en) Rate control server, distribution system and rate control program
CN114245178A (en) Method, device, equipment and storage medium for transmitting video
Palawan Scalable video transportation using look ahead scheduling
Kabir et al. A CBR-streaming scheme for VBR-encoded videos
Chang et al. VBR Traffic Shaping for Streaming of Multimedia Transmission
JP2000078151A (en) Distribution system and distributor
JP2007243260A (en) Image communication system, image distribution system, server apparatus, image communication method, image distribution system control program and program recording medium thereof