Delivery of information over a communication channel.
Abstract
Methods and apparatus are described for transmitting information units over a plurality of constant bit rate communication channel. The techniques include encoding the information units, thereby creating a plurality of data packets. The encoding is constrained such that the data packet sizes match physical layer packet sizes of the communication channel. The information units may include a variable bit rate data stream, multimedia data, video data, and audio data. The communication channels include CMDA channels, WCDMA, GSM channels, GPRS channels, and EDGE channels.

Term
Term ended
Expired 13 May 2025, 1.4 years ago.
- Priority
- Filed
- Expired
- Today
67 claims: 12 independent, 55 dependent
- 1CLAIMS REIVINDICACIONES 1, - A method to transmit information in a wireless communication system, the method comprises:determining the possible physical layer packet sizes of a plurality of constant bit rate communication channels;and establish the limits for dividing the information units in such a way as to determine the size of the divisions so that it does not exceed the physical layer packet size of at least one of the available physical layer packet sizes provided by the plurality of constant bit rate communication channels available. 1,- Un método para transmitir información en un sistema de comunicación inalámbrica, el método comprende: determinar los tamaños de paquete de capa física posibles de una pluralidad de canales de comunicación de velocidad de bit constante;y establecer los límites para dividir las unidades de información de tal forma que se determine el tamaño de las divisiones para que no exceda el tamaño del paquete de capa física de por lo menos uno de los tamaños del paquete de capa física disponible provistos por la pluralidad de canales de comunicación de velocidad de bit constante disponibles.
- 1515 - A method in accordance with claim 1, characterized in that the information units occur in a constant interval. 15,- Un método de conformidad con la reivindicación 1, caracterizado porque las unidades de información ocurren en un intervalo constante.
- 1616, - A method for transmitting information in a wireless communication system, the method comprises:determining the physical layer packet sizes available for a plurality of constant bit rate communication channels available;and encoding an information unit into data packets, wherein the individual data packet sizes are selected so as not to exceed one of the physical layer packet sizes of the available constant bit rate communication channels. 16,- Un método para transmitir información en un sistema de comunicación inalámbrico, el método comprende: determinar los tamaños de paquete de capa física disponibles para una pluralidad de canales de comunicación de velocidad de bit constante disponibles;y codificar una unidad de información en paquetes de datos, en donde se seleccionan los tamaños de paquete de datos individuales para que no excedan uno de los tamaños del paquete de capa física de los canales de comunicación de velocidad de bit constante disponibles.
- 2529 .- A wireless communication device comprises:a receiver configured to accept a plurality of constant bit rate communication channels;and a decoder configured to accept the received plurality of constant bit rate communication channels and to decode the constant bit rate channels, wherein the decoded constant bit rate channels are accumulated to produce a bit rate stream. data variable. 29 .- Un dispositivo de comunicación inalámbrica comprende: un receptor configurado para aceptar una pluralidad de canales de comunicación de velocidad de bit constante;y un decodificador configurado para aceptar la pluralidad recibida de los canales de comunicación de velocidad de bit constante y para decodificar los canales de velocidad de bit constante, en donde se acumulan los canales de velocidad de bit constante decodificados para producir un flujo de velocidad de bit variable de datos.
- 3539 .- A wireless communication device comprises:a controller configured to determine a set of physical layer packet sizes of a 39 .- Un dispositivo de comunicación inalámbrica comprende: un controlador configurado para determinar un conjunto de tamaños de paquete de capa física de una 100 plurality of constant bit rate communication channels available;and an encoder configured to divide the information units into data packets, wherein an individual data packet size is selected so as not to exceed at least one of the physical layer packet sizes of the speed communication channels. constant bit available. 100 pluralidad de canales de comunicación de velocidad de bit constante disponibles;y un codificador configurado para dividir las unidades de información en paquetes de datos, en donde se selecciona un tamaño de paquete de datos individual para que no exceda por lo menos uno de los tamaños de paquetes de capa física de los canales de comunicación de velocidad de bit constante disponibles.
- 4549 .- An encoder in a wireless communication system, the encoder configured to accept the information units and divide the information units into data packets, where the size of the data packets is determined so that it does not exceed by 49 .- Un codificador en un sistema de comunicación inalámbrica, el codificador configurado para aceptar las unidades de información y dividir las unidades de información en paquetes de datos, en donde se determina el tamaño de los paquetes de datos para que no exceda por lo 102 minus one physical layer packet size of an available constant bit rate communication channel. 102 menos un tamaño de paquete de capa física de un canal de comunicación de velocidad de bit constante disponible.
- 5559 .- An encoder in accordance with claim 46, characterized in that the encoder is limited in such a way that the aggregation of packets is limited to a preselected maximum number of bits. 59 .- Un codificador de conformidad con la reivindicación 46, caracterizado porque se limita el codificador de tal forma que se limite la agregación de paquetes a un número de bits máximo preseleccionado.
- 5660, - A decoder in a wireless communication system, the decoder configured to accept data streams from a plurality of constant bit rate communication channels, decode the data streams, and accumulate the decoded plurality of data streams in one stream variable bit rate data. 60,- Un decodificador en un sistema de comunicación inalámbrica, el decodificador configurado para aceptar flujos de datos de una pluralidad de canales de comunicación de velocidad de bit constante, decodificar los flujos de datos y acumular la pluralidad decodificada de flujos de datos en un flujo de datos de velocidad de bit variable.
- 5862, - A decoder in accordance with claim 60, characterized in that a size is indicated 62,- Un decodificador de conformidad con la reivindicación 60, caracterizado porque se indica un tamaño 104 of data packets received from the communication channels in the additional signals. 104 de paquetes de datos recibidos de los canales de comunicación en las señales adicionales.
- 6569 .- A decoder in accordance with claim 60, characterized in that the channels of 69 .- Un decodificador de conformidad con la reivindicación 60, caracterizado porque los canales de 105 constant bit rate communication are EDGE channels. 105 comunicación de velocidad de bit constante son canales EDGE.
- 6670 .- A computer-eligible means provides a data coding method, the method comprises dividing the information units, thereby creating a plurality of data packets where the size of each data packet is determined so that it does not exceed the size of at least one physical layer packet size from a set of physical layer packet sizes corresponding to the available constant bit rate communication channels. 70 .- Un medio elegible por computadora modaliza un método de codificación de datos, el método comprende dividir las unidades de información, de ese modo se crea una pluralidad de paquetes de datos en donde se determina el tamaño de cada paquete de datos para que no exceda el tamaño de por lo menos un tamaño de paquete de capa física de un conjunto de tamaños de paquete de capa física correspondiente a los canales de comunicación de velocidad de bit constante disponibles.
- 6771, - A computer-readable medium that uses a transmission content encoding method, the method comprises:accepting data streams from a plurality of constant bit rate channels;and decoding the data streams and accumulating the decoded plurality of data streams into a variable bit rate data stream. 71,- Un medio legible por computadora que modaliza un método de codificación de contenido de transmisión, el método comprende: aceptar los flujos de datos de una pluralidad de canales de velocidad de bit constante;y decodificar los flujos de datos y acumular la pluralidad decodificada de flujos de datos en un flujo de datos de velocidad de bit variable. 106 106
Independent claims12
246 paragraphs in 11 sections, as filed
(54) Title: PROVISION OF INFORMATION IN A COMMUNICATION CHANNEL.
(54) Title: DELIVERY OF INFORMATION OVER A COMMUNICATION CHANNEL.
(57) Summary
Methods and apparatus for transmitting information units on a plurality of constant bit rate communication channels are described; The techniques include encoding the information units, thereby creating a plurality of data packets; the encoding is limited such that the sizes of the data packet match the sizes of the physical layer packet of the communication channel; The information units can include a variable bit rate data stream, multimedia data, video data, and audio data; communication channels include CDMA, WCDMA channels, GSM channels, GPRS channels, and EDGE channels.
(57) Abstract
Methods and apparatus are described for transmitting information units over a plurality of constant bit rate communication channel. The techniques include encoding the information units, thereby creating a plurality of data packets. The encoding is constrained such that the data packet sizes match physical layer packet sizes of the communication channel. The Information units may include a variable bit rate data stream, multimedia data, video data, and audio data. The communication channels include CMDA channels, WCDMA, GSM channels, GPRS channels, and EDGE channels.
PROVISION OF INFORMATION IN A COMMUNICATION CHANNEL
FIELD OF THE INVENTION
The present invention relates generally to the provision of information in a communication system, and more specifically, to the division of information units to match a physical layer packet of a constant bit rate communication link.
BACKGROUND OF THE INVENTION
The demand for the provision of multimedia data in various communication networks has increased. For example, consumers want the provision of video over various communication channels, such as the Internet, radio and cable networks. Multimedia data can be of different formats and data rates, and various communication networks use different mechanisms for real-time data transmission on their respective communication channels.
One type of communication network that has become commonplace consists of mobile radio networks for wireless communication. Wireless communication systems have several applications including, for example, cell phones, messaging devices, wireless local loops, personal digital assistants (PDAs), Internet telephony, and satellite communication systems. One particularly important application consists of cell phone systems for mobile subscribers. As used in the present invention, the term cellular system consists of the frequencies of the personal and cellular communications services (PCS). Various air interfaces have been developed for such cellular telephone systems including frequency division multiple access (FDMA), time division multiple access, and code division multiple access (CDMA).
Different international and domestic standards have been established to support various air interfaces including, for example, Advanced Mobile Phone Service (AMPS), Global System for Mobile Devices (GSM), General Packet Radio Service (GPRS), GSM Data Environment Enhanced (EDGE), Interim Standard 95 (IS-95) and its derivations, IS-95A, IS-95B, ANSI J-STD-008 (jointly referred to herein as IS-95), and emerging high-speed data systems such as cdma 2000, Universal Mobile Telecommunications Service (UMTS), and
Broadband CDMA, (WCDMA). The Telecommunication Industry Association (TIA), the Society Project of the 3rd. Generation (3GPP), the European Telecommunication Standards Institute (ETSI) have promulgated these standards, as well as other known standards.
Users, or clients, of mobile radio networks, such as cell phone networks, would like to receive streaming media such as video, multimedia, and Internet Protocol (IP) over a wireless communication link. For example, customers want to be able to receive the video stream, such as a teleconference or television broadcasts, on their cell phones or other portable wireless communication devices. Other examples of the type of data customers want to receive with their wireless communication devices include multimedia streaming / multistreaming and internet access.
There are different types of multimedia data sources and different types of communication channels in which it is desired to transmit the data stream. For example, a multimedia data source can produce data at a constant bit rate (CBR) or a variable bit rate (VBR). Furthermore, the communication channel can transmit the data to a CBR or a VBR.
Table 1 below lists various combinations of data sources and communication channels.
TABLE 1
<td>Source</td><td>Channel</td><td>Example</td>
<td>CBR</td><td>CBR</td><td>My-Law, or Ά-Law on PSTN</td>
<td>Vbr</td><td>Vbr</td><td>MPEG-4 over IP cable network, cdma2000 variable speed vocoders, EVRC and fundamental channel SMV (FCH)</td>
<td>CBR</td><td>Vbr</td><td>AMR flow on FCH cdma2000</td>
<td>Vbr</td><td>CBR</td><td>Compressed Vines in Circuit Switched Wireless Networks (3G-324M)</td>
Communication channels typically transmit data in parts, referred to as physical layer packets or physical layer frames. The data generated by the multimedia source can be a continuous stream of bytes, such as a voice signal encoded using My-law or A-Law. Most often, the data generated by the multimedia source consists of groups of bytes, called data packets. For example, an MPEG-4 video encoder compresses visual information as a sequence of information units, referred to in the present invention as video frames. Typically, the visual information is encoded at a constant video frame rate by means of the encoder, or typically at 25 or 30 Hz, and must be provided at the same rate by means of the decoder. The video frame period is the time between two video frames and can be calculated inversely to the video frame rate, for example the video frame period of 40 ms corresponds to a video frame rate 25 Hz. Each video frame is encoded into a variable number of data packets, and all data packets are transmitted to the decoder. In the event that a part of a data packet is lost, that packet is rendered useless by the decoder. On the other hand, the decoder can reconstitute the video frame even if some of the data packets are lost, but at the cost of some quality degradation in the resulting video sequence. Therefore, each data packet contains part of the description of the video frame, and consequently the number of packets is variable from one video frame to another.
In the event that a source produces data at a constant bit rate and a communication channel transmits the data at a constant rate, the resources of the communication system are used efficiently, assuming that the data rate of the communication channel is therefore less, as fast as the source data rate, or otherwise the two data rates match. In other words, if the constant data rate of the source is the same as the constant data rate of the channel, then the channel resources can be fully utilized, and the source data can be transmitted without delay. Similarly, if the source produces the data at a variable rate and the channel transmits at a variable rate, then, as the data rate of the channel can support the data rate of the source, then the two rates can coincide. and, again, channel resources can be fully utilized and all source data can be transmitted without delay.
In case the source produces data at a constant data rate and the channel is a variable data rate channel, then the channel resources cannot be used efficiently as possible. For example, if they don't match, the statistical multiplexing gain (SMG) is lower compared to a CBR source on a matching CBR channel. Statistical multiplexing gain results when the same communication channel can be used, or multiplexed, between multiple users. For example, when a communication channel is used to transmit voice, the person speaking generally does not speak continuously. That is, there will be a flow of conversation from the person speaking followed by silence (listening). If the time ratio for the flow of talk followed by silence was, for example, 1: 1, then an average of the same communication channel could be multiplexed and could support two users. But in case the data source has a constant data rate and is supplied in a variable rate channel, there will be no SMG, since there is no time when another user can use the communication channel. That is, there is no space during silence for a CBR source.
The last case noted in Table 1 above is the situation when the source of the multimedia data is a variable bit rate stream, such as a multimedia data stream such as video, and it is transmitted on a communication channel that counts with a constant bit rate, such as a wireless radio channel with a constant bit rate allocation. In this case, the delay between the source and the communication channel is typically introduced, creating data streams so that the communication channel can be used efficiently. In other words, the variable rate data stream is stored in a buffer and delayed enough so that the output of the buffer can be flushed at a constant data rate, to match the fixed data rate of the channel. The buffer needs to store, or delay, enough data so that it has the ability to maintain a constant output without flushing the buffer so that the communication channel can be fully utilized and the communication channel resources are not wasted.
The encoder periodically generates the video frames according to the video frame period. Video frames consist of data packets, and the total amount of data in a video frame is variable. The video decoder can provide the video frames at the same video frame rate used by the encoder to ensure an acceptable result for the viewer. Transmission of video frames, which have a variable amount of data, at a constant video frame rate, and on a constant speed communication channel can result in inefficiency. For example, if the total amount of data in a video frame is so large that it cannot be transmitted in the video frame period at the channel bit rate, then the decoder can receive the entire frame in time to provide it accordingly. with the video frame rate. In practice, a buffer is used according to traffic to lighten such large variations to supply them on a constant rate channel. This results in a delay in delivering the video, in the event that a constant video frame rate is maintained by the decoder.
Another problem is that if data from multiple video frames is contained in the same physical layer packet, then the loss of a single physical layer packet results in degradation of multiple video frames. Even for situations when data packets approach physical layer packet sizes, the loss of a physical layer packet can result in the degradation of multiple video frames.
Therefore, there is a need in the art for techniques and apparatus that can improve the transmission of variable data rate multimedia data on a wireless communication channel.
SUMMARY OF THE INVENTION
The embodiments described in the present invention establish the needs indicated above to provide methods and apparatus for transmitting the information units on a constant bit rate communication channel. The techniques include dividing the information units into data packets wherein the size of the data packets is selected to match the sizes of the physical layer data packet of a communication channel. For example, the number of bytes contained in each information unit may vary over time, and the number of bytes that each physical layer data packet that can carry communication channels may vary independently. The techniques describe the division of the information units, thereby creating a plurality of data packets. For example, an encoder can be limited such that it encodes the information units into data packets of sizes that do not exceed, or match, the physical layer packet sizes of the communication channel. Subsequently, the data packets are assigned to the physical layer data packets of the communication channel.
The phrase multimedia frame, for video, is used in the present invention to mean a video frame that can be displayed / provided on a display device, after it has been decoded. A video frame can further be divided into independently decodable units. In the language of video, they are called portions. In the case of audio and dialogue, the term multimedia frame is used in the present invention to mean that the information in a time window in which the dialogue or audio is compressed to be transported and decoded at the receiver. The phrase information unit interval is used in the present invention to represent the time duration of the multimedia frame described above. For example, in the case of video, the information unit interval is 100 milliseconds in the case of 10 frames per second of video. Also, as an example, in the case of dialogue, the information unit interval is typically 20 milliseconds in cdma2000, GSM and WCDMA. From this description, it should be apparent that typically the audio / dialogue frames are further divided into portions that are independently decodable.
It should be clear from the context when the phrases multimedia frame, information unit interval, etc. refer to multimedia data from video, audio and dialogue.
Techniques with multiple air interfaces can be used. For example, techniques with the Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), or CDMA-based standards such as TIA / EIA-95 can be used. -B (IS-95), TIA / EIA-98-C (IS-98), IS2000, HRPD, cdma2000, Broadband CDMA (WCDMA), and others.
Aspects include determining the possible physical layer packet sizes of at least one constant bit rate communication channel. The information units are divided, thereby creating a plurality of data packets such that the size of an individual data packet does not exceed or match one of the physical layer packets of at least one constant bit rate communication channels. The data packets are then encoded and assigned to the physical layer packets of the matching constant bit rate communication channel. The encoded information may include a source encoder equipped with a rate control module that has the ability to generate slices of various sizes.
Using the techniques described, the information units are encoded in a stream of data packets that are transmitted in one or more channels of constant bit rate. Since the information units vary in size, they can be encoded into different size-determined data packets, and different combinations of constant bit rate channels, with different available physical layer packet sizes, can be used to transmit the data packets. . For example, an information unit may include the video data that is included in the video frames of different sizes, and thus, different combinations of fixed bit rate communication channel physical layer packets may be selected to accommodate the transmission of different video frames with determined sizes.
Other aspects include determining a physical layer packet size and an available data rate of a plurality of constant bit rate communication channels. The information units are then assigned to the data packets, where individual data packet sizes are selected to have a size that matches a physical layer packet on one of the constant bit rate communication channels. individual. A combination of individual constant bit rate channels may be selected such that the physical layer packet sizes match the sizes of the variable bit rate data stream packet. Different combinations of constant bit rate channels can be selected eg one or more, depending on the constant bit rate data stream.
Another aspect is an encoder configured to accept the information units. Subsequently, the information units are divided into data packets, where the size of the individual data packets does not exceed, or match, a physical layer packet size of one of a constant bit rate communication channel.
Another aspect is a decoder configured to accept the data streams from a plurality of constant bit rate communication channels. The data streams are decoded and the decoded data streams are accumulated into a variable bit rate data stream.
. Examples of constant bit rate communication channels include GSM, GPRS, EDGE, or CDMA-based standards such as TIA / EIA-95-B (IS-95), TIA / EIA-98-C (IS98), IS- 2000, HRPD and Broadband CDMA (WCDMA).
Other features and advantages of the present invention should be apparent from the following description of exemplary embodiments, which illustrate, by way of example, aspects of the invention.
BRIEF DESCRIPTION OF THE FIGURES
Figure 1 is an illustration of parts of a communication system 100 constructed in accordance with the present invention.
Figure 2 is a block diagram illustrating an exemplary packet data network and various air interface options for supplying packet data in a wireless network in the system of Figure 1.
Figure 3 is a block diagram illustrating two radio frames 302 and 304 in the system of Figure 1 using the GSM air interface.
Figure 4 is a diagram illustrating the protocol stack for packet data in a wireless communication system.
Figure 5 is a block diagram illustrating a buffer delay used to support the transmission of frames of various sizes to be transmitted on a CBR channel in the system of Figure 1.
Figure 6 is a graph illustrating the buffer delay introduced by streaming a variable bit rate (VBR) multimedia stream on a CBR channel in the system of Figure 1.
Figure 7 is a bar graph illustrating the buffer delay Δ in milliseconds, for various video fragments of 50 frame sequence encoded with nominal rate of 64 kbps and constant Qp for AVC / H.264 and MPEG-4 in the system.
Figure 8 is a bar graph illustrating visual quality, as represented by the known objective peak noise / signal ratio (PSNR) metric of the sequences illustrated in Figure 7.
Figure 9 is a diagram illustrating various levels of encapsulation present when multimedia data, such as video data, is transmitted over a wireless link using the RTP / UDP / IP protocol in the system.
Fig. 10 is a diagram illustrating an example of the allocation of application data packets, such as multimedia data packets, to physical layer data packets in the system.
Figure 11 illustrates an example to encode the application layer packets according to the EBR technique in the system.
Figure 12 is a block diagram illustrating one embodiment of an encoder / decoder (codee) transmitting a VBR data stream over an IP / UDP / RTP network, such as the Internet.
Figure 13 is a bar graph illustrating the relative drop in maximum signal-to-noise ratio (PSNR) for various examples of encoded video sequences, using different encoding techniques and with a 1% channel packet loss.
Figure 14 is a bar graph illustrating the relative drop in peak signal-to-noise ratio (PSNR) when channel loss is 5% for various examples of encoded video sequences.
Figure 15 is a bar graph illustrating the percentage of defective data packets received for the encoded video sequences in Figure 13.
Figure 16 is a bar graph illustrating the percentage of defective data packets received for the encoded video sequences of Figure 14.
Figure 17 is a graph illustrating the PSNR of a sample encoded video sequence compared to the bit rate for four different cases.
Figure 18 is a graph illustrating the PSNR of other encoded video streams compared to the bit rate for four different cases.
Fig. 19 is a graph illustrating the transmission plan for an AVC / H-264 stream of the average speed of 64 kbps.
Fig. 20 is a flow chart illustrating one embodiment of a data transmission method.
Fig. 21 is a flow chart illustrating another embodiment of a data transmission method.
Figure 22 is a block diagram of a wireless communication device, or mobile station (MS), constructed in accordance with an exemplary embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The word "exemplary" as used in the present invention means that it serves as an example, instance, or illustration. Any embodiment described in the present invention as exemplary is not necessarily limited as being preferred or advantageous over other embodiments.
The word stream is used in the present invention to mean the real-time delivery of multimedia data of a continuous nature, such as audio, dialogue or video information, on dedicated or shared channels in streaming, single streaming and conversational applications. . The phrase multimedia frame, for video, is used in the present invention to mean the video frame that can be displayed / provided on a display device, after decoding. A video frame can further be divided into independently decodable units. In the language of video, they are called portions. In the case of audio and dialogue, the term multimedia frame is used in the present invention to mean the information in a time window in which the dialogue or audio is compressed to transport and decode at the receiver. The phrase information unit interval is used in the present invention to represent the duration of the multimedia frame described above. For example, in the video field, the information unit interval is 100 milliseconds in the case of 10 frames per second of video. Also, as an example, in the case of dialogue, the information unit interval is typically 20 milliseconds in cdma2000, GSM and WCDMA. From this description, it should be apparent that typically the speech / audio frames are not further divided into independently decodable units and the video frames are typically further divided into portions that are independently decodable. It should be apparent that the context of the phrases multimedia frame, information unit interval, etc., refer to the multimedia data of video, audio and dialogue.
Techniques for transmitting information units on a plurality of constant bit rate communication channels are described. The techniques include dividing the information units into data packets wherein the size of the data packets is selected to match the physical layer data packet sizes of a communication channel. For example, information units can occur at a constant rate and communication channels can transmit physical layer data packets at a different rate. The techniques describe the division of the information units, thereby creating a plurality of data packets. For example, an encoder can be limited such that it encodes the information units in sizes that match the physical layer packet sizes of the communication channel. Subsequently, the encoded data packets are assigned to the physical layer data packets of the communication channel. The information units can include a variable bit rate data stream, multimedia data, video data, and audio data. Communication channels include GSM, GPRS, EDGE, or CDMA-based standards such as TIA / EIA-95-B (IS95), TIA / EIA-98-C (IS-98), IS-2000, HRPD, cdma2000, Broadband CDMA (WCDMA), and others.
Aspects include determining the possible physical layer packet sizes of at least one constant bit rate communication channel. The information units are divided, thereby creating a plurality of data packets such that the size of the individual data packet matches one of the physical layer packets of at least one of the communication channels of matching constant bit rate. In this way, the information units are encoded in a stream of data packets that are transmitted on one or more channels of constant bit rate. As the information units vary, they can be encoded into different data packets of given sizes, and different combinations of constant bit rate channels, with different available physical layer packet sizes, can be used to transmit the data packets. For example, an information unit may include video data that is included in the frames of different sizes, and thus different combinations of physical layer packets from the fixed bit rate communication channel may be selected to accommodate transmission. of different video frames with certain sizes.
Other aspects include determining a physical layer packet size and an available data rate of a plurality of constant bit rate communication channels. The information units are then assigned to the data packets, where the individual data packet sizes are selected to be sized to fit the physical layer packet of one of the constant bit rate communication channels. individual. A combination of individual constant bit rate channels may be selected such that the physical layer packet sizes match the sizes of the variable bit rate data stream packet. Different combinations of constant bit rate channels can be selected, for example one or more, depending on the variable bit rate data stream.
Another aspect is an encoder configured to accept the information units. Subsequently, the information units are divided into data packets where the size of the individual data packets matches the size of the physical layer packet of one of an available constant bit rate communication channel.
Another aspect is a decoder configured to accept the data streams from a plurality of constant bit rate communication channels. The data streams are decoded and the decoded data streams are accumulated into a variable bit rate data stream.
Examples of the information units include variable bit rate data streams, multimedia data, video data, and audio data. Information units can occur at a constant repetition rate. For example, the information units can be frames of video data. Examples of constant bit rate communication channels include CDMA channels, GSM channels, GPRS channels, and EDGE channels.
Examples of protocols and formats for transmitting units of information, such as variable bit rate data, multimedia data, video data, dialog data, or audio data, from a source or content server on the wired network are also provided. to a mobile. The techniques described are applicable for any type of multimedia applications, such as single stream, streaming and conversational applications. For example, techniques for transmitting multimedia data, such as video data (such as a wireline streaming content server or wireless mobile), as well as other multimedia applications such as streaming / multicasting services can be used. , or conversations and audio services such as video telephony between two mobiles.
Figure 1 shows a communication system 100 constructed in accordance with the present invention. Communication system 100 includes infrastructure 101, multiple wireless communication devices (WCDs) 104 and 105, and land line communication devices 122 and 124. WCDs will also be referred to as mobile stations (MS) or mobiles. Generally,
WCDs can be mobile or fixed. Land line communication devices 122 and 124 may include, for example, service nodes, or content servers, that provide various types of multimedia data, such as streaming data. Furthermore, MSs can transmit data streams, such as multimedia data.
The infrastructure 101 may also include other components, such as base stations 102, base station controllers 106, mobile switching centers 108, a switching network 120, and the like. In one embodiment, base station 102 integrates with base station controller 106, and in other embodiments, base station 102 and base station controller 106 are separate components. Different types of switching networks 120 can be used to route signals in communication system 100, eg, IP networks, or the public switched telephone network (PSTN).
The term "forward link" or "downlink" refers to the signal path from infrastructure 101 to an MS, and the term "reverse link" or "uplink" refers to the signal path from an MS to the infrastructure. As shown in Figure 1, MSs 104 and 105 receive signals 132 and 136 on the forward link and transmit signals 134 and 138 on the reverse link. Generally, the signals transmitted from an MS 104 and 105 are intended to be received at another communication device, such as another remote unit, or a land line communication device 122 and 124, and are routed over the IP network or switching network 120. For example, if signal 134 transmitted from a start WCD 104 is intended to be received by a destination MS 105, the signal is routed through the infrastructure 101 and a signal 136 is transmitted on the forward link to the MS. destination 105. Similarly, signals initiated in infrastructure 101 can be transmitted to an MS 105. For example, a content provider can send multimedia data, such as streaming multimedia data to an MS 105. Typically, a communication device, such as an MS or a land line communication device, can be an initiator of and a destination for the signals.
Examples of an MS 104 include cellular phones, wireless communication-enabled personal computers, and personal digital assistants (PDAs), and other wireless devices. Communication system 100 can be designed to support one or more wireless standards. For example, standards may include standards referred to as Global Mobile Communication System (GSM), General Packet Radio Service (GPRS),
Enhanced GSM Data Environment (EDGE), TIA / EIA-95-B (IS-95), TIA / EIA-98-C (IS-98), IS2000, HRPD, cdma2000, CDMA Broadband (WCDMA), and others.
Figure 2 is a block diagram illustrating an exemplary packet data network and various air interface options for providing packet data in a wireless network. The techniques can be implemented in a packet switched data network 200, such as the one illustrated in FIG. 2. As shown in the example of Figure 2, the packet switched data network system may include a wireless channel 202, a plurality of receiver or MS nodes 204, a content sending or server node 206, a host node service 208, and a controller 210. Sending node 206 may be coupled to service node 2 08 via a network 212, such as the Internet.
Service node 208 may comprise, for example, a packet data service node (PDSN) or a Service GPRS Support Node (SGSN) and a Gate Network GPRS Support Node (GGSN). The serving node 208 may receive the packet data from the forwarding node 206, and serve the information packets to the controller 210. Controller 210 may comprise, for example, a Base Station Controller / Packet Control Function (BSC / PCF) or Radio Network Controller (RNC). In one embodiment, controller 210 communicates with service node 208 on a Radio Access Network (RAN). Controller 210 communicates with service node 208 and transmits the information packets on wireless channel 202 to at least one of receiver nodes 204, such as an MS.
In one embodiment, the serving node 208 or the sending node 206, or both, can also include an encoder to encode a data stream, or a decoder to decode a data stream, or both. For example, the encoder may encode a video stream and thereby produce data frames of varying size, and the decoder may receive data frames of varying sizes and decode them. Since the frames are variable in size, but the video frame rate is constant, a variable bit rate data stream occurs. Similarly, an MS may include an encoder to encode a data stream, or a decoder to decode a received data stream, or both. The term codee is used to describe the combination of an encoder and a decoder.
In an example illustrated in Figure 2, data, such as multimedia data, from the sending node 206 that connects to the network, or the Internet 212, can be sent to a receiving node, or MS 204, through the node Service Node, or Packet Data Service Node (PDSN) 206, and a Controller, or Packet Control Function / Base Station Controller (BSC / PCF) 208. The wireless channel 202 interface between the MS 204 and BSC / PCF 210 is an air interface and can typically use many channels to signal and carry, or upload, data.
Air interface
The air interface 202 can operate in accordance with any number of standard standards. For example, standards may include TDMA or FDMA-based standards, such as Global Mobile Communication System (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), or standards based on CDMA, such as TIA / EIA-95-B (IS-95), TIA / EIA-98-C (IS-98), IS2000, HRPD, cdma2000, Broadband CDMA (WCDMA), and others.
In a cdma2000-based system, data can be transmitted in multiple channels, for example, on a fundamental channel (FCH), generally used to transmit voice, a dedicated control channel (DCCH), a supplemental channel (SCH), and a Packet Data Channel (PDCH), as well as other channels.
The FCH provides a communication channel for the transmission of dialogue at multiple fixed rates, eg, full rate, medium rate, 1/4 rate, and 1/8 rate. The FCH provides these rates and when the user's dialogue activity requires less than full rate to achieve target voice quality, the system reduces interference to other users in the system by using one of the lower data rates. The benefit of reducing source speed to increase system capacity is well known in CDMA networks.
DCCH is similar to FCH but provides only full speed traffic in one of two fixed speeds, 9.6 kbps in three radio configurations (RC3), and 14.4 in five radio configurations (RC5). This is called the lx traffic speed. SCH can be configured to provide traffic rates at lx, 2x, 4x, 8x, and 16x on cdma2000. When there is no data to transmit, both DCCH and SCH can cease transmission, that is, not transmit any data, also referred to as dtx, to ensure that interference is reduced to other users on the system or remain within of the base station transmitter transmit power budget. PDCH can be configured to transmit data packets that are n * 45 bytes, where n = {1, 2,4,8}.
The FCH and DCCH channels provide a constant delay and low data packet loss to communicate data, for example to enable speech services. The SCH and PDCH channels provide fixed bit rate channels that provide higher bandwidths, for example 300 kbps to 3 Mbps, than the FCH and DCCH. SCH and PDCH also have variable delays since these channels are shared among many users. In the case of SCH, multiple users are time multiplexed, which introduces different amounts of delay depending on the system load. In the case of PDCH, bandwidth and delay depend, for example, on radio conditions, negotiated Quality of Service (QoS), and other programmed conditions. Similar channels are available on TIA / EIA-95-B (IS95), TIA / EIA-98-C (IS-98), IS2000, HRPD, UMTS, and Broadband CDMA (WCDMA) based systems.
Note that FCH provides multiple fixed bit rates (full, half, 1/4 and 1/8), to conserve the power required by a voice user. Typically, a speech coder, or vocoder, will use a lower data rate when the time frequency structure of a signal to be transmitted allows for higher compression without unduly compromising quality. This technique is commonly referred to as controlled variable bit rate speech coding. Thus, in a system based on TIA / EIA-98-C (IS-98), IS2000, HRPD, UMTS, cdma2000, or Broadband CDMA (WCDMA), there are multiple fixed bit rate channels available to transmit. data.
In a CDMA-based system, such as cdma2000, the communication channels are divided into a continuous stream of slots. For example, communication channels can be divided into 20 ms segments or time slots. This is called a Transmission Time Interval (TTI). The data transmitted during these time slots is assembled into packets, where the size of the data packet depends on the available data rate, or bandwidth, of the channel. Thus, during any individual time slot it is possible for individual data packets to exist to be transmitted on their respective communication channel. For example, during a single time slot, one data packet may be transmitted on the DCCH channel and a different data packet may be transmitted simultaneously on the SCH channel.
Likewise, in a GSM, or GPRS, or EDGE based system, data can be transmitted between BSC 208 and MS 204 using multiple time slots in one frame. Figure 3 is a block diagram illustrating two radio frames 302 and 304 at the GSM air interface. As shown in Figure 3, the GSM air interface radio frames 302 and 304 are each divided into eight time slots. Individual time slots are assigned for particular users in the system. Also, GSM transmission and reception uses two different frequencies and the forward link and reverse link are compensated for by the three time slots. For example, in Figure 3, a downlink radio frame 302 starts at time to and would be transmitted at one frequency, and an uplink radio frame 304 starts at a later time and would be transmitted at a different frequency. . The downlink radio frame 302 is offset by the three time slots, TS0-TS2, from the uplink radio frame. By having an offset between the uplink and downlink radio frames, it allows wireless communication devices, or terminals, to have the ability to operate without having the ability to transmit and receive at the same time.
Advances in GSM wireless communication devices, or terminals, have resulted in GSM terminals and can receive multiple time slots during the same radio frames. These are called multiple slot classes and can be found in the
Annex B of 3GPP TS 45.002, incorporated in the present invention in its entirety. Thus, in a GSM, or GPRS, or EDGE based system, there are multiple fixed time slots available to transmit data.
Multimedia VBR Features
Variable Bit Rate (VBR) multimedia data, such as video, generally includes the common features. For example, video data is generally captured at a constant frame rate by means of a sensor, such as a camera. A media streamer generally requires finite processing time with an upper limit to encode the video stream. A set top box generally requires finite processing time with an upper limit to decode the video stream.
Generally, it is desired to reconstruct multimedia frames at the same frame rate at which they were produced. For example, in the case of video, you want to display the reconstructed video frames at the same speed at which the video was captured on a sensor or camera. Counting on the speed of capture and reconstruction makes it easier to synchronize with other multimedia elements, for example, synchronizing a video stream with an accompanying audio stream, or dialogue, for simplicity.
In the case of video, from a human perception point of view, you generally want to maintain a consistent quality level. Generally, it is more troublesome, and burdensome, for a person to process a continuous media stream with fluctuations in quality than it is to process a media stream of consistent quality. For example, it is generally annoying for a person to process a video stream that includes quality artifacts such as freeze frames and blocks.
Delay considerations
Transporting multimedia content, eg audio / video typically incurs delays. Some of these delays are due to encoder / decoder (codee) settings and some are due to network settings such as radio link protocol (RLP) transmissions that allow, among other things, retransmission and reordering of packets sent over the air interface, etc. An objective methodology for calculating the delay of multimedia transmissions is to observe the encoded stream. For example, a transmission cannot be decoded until a complete independently decodable packet has been received. In this way, the delay can be affected by the size of the packets and the transmission speed.
For example, if a packet is 64 kbytes in size, and is transmitted on a 64 kbytes per second channel, then the packet cannot be decoded, and must be delayed 1 second until the entire packet is received. All incoming packets would need to be delayed long enough to accommodate the longest packet so that packets can be decoded at a constant rate. For example, if video packets are transmitted, or vary in size, a receiver, or buffer, would need to delay all received packets by an amount equal to the delay necessary to accommodate the size of the longest packet. The delay would allow the decoded video to be provided or displayed at a constant rate. In case the maximum packet size is not known in advance, then the maximum packet size and its associated delay is calculated and can be done based on the parameters used during the encoding of the packets.
The technique just described can be used to calculate the delay for any video encoder / decoder (codee) (H.263, AVC / H.264, MPEG-4, etc.). Also, since only video decoders are normally specified by the Motion Photography Expert Group (MPEG) and the International Telecommunication Union (ITU), it is useful to have an objective measurement that can be used to calculate the delays introduced by different Mobile encoder implementations in typical wireless deployments.
Generally, video streams will have more delay than others. data types in multimedia services, for example, more delay than dialogue, audio, time text, etc. Due to the longer delay typically experienced by a video stream, other multimedia data that needs to be synchronized with the video data will generally need to be intentionally delayed to maintain synchronization with the video.
Encoder / Decoder Delays
In some multimedia coding techniques, multimedia data frames are encoded or decoded using information from a previous reference multimedia data frame. For example, encoders / decoders that implement the MPEG-4 standard will encode and decode different types of video frames. In MPEG-4, video is typically encoded in an I frame and a P frame.
An I-frame is self-contained, that is, it includes all the information necessary to provide, or display, a complete video frame. A P-frame is not self-contained and will typically contain different information relative to the previous frame, such as motion vectors and different texture information. Typically, I-frames are about 8 to 10 times longer than a P-frame, depending on content and encoder settings. The encoding and decoding of multimedia data introduces delays that may depend on available processing resources. A typical implementation of this type of scheme may use a reflection buffer to allow processing resources to simultaneously capture or display one frame and process another.
Video encoders such as H.263, AVC / H.264, MPEG-4, etc. they are inherently variable rates by nature due to predictive coding and also due to the use of variable length coding (VLC) of many parameters. Generally, real-time provisioning of variable rate bit streams in circuit switched networks and packet switched networks is achieved by shaping the traffic with the buffers in the sending device and in the receiver. The buffers that make up the traffic introduce additional delay that is typically undesirable. For example, the extra delay can be annoying during the conference call when there is a delay between one person speaking and another person listening to the dialogue.
Encoder and decoder delays can affect the amount of time encoders and decoders have to process multimedia data. For example, an upper limit on the time allowed for an encoder and decoder to process and maintain a desired frame rate is obtained by:
Eq. 1 where A<sub>and</sub> and ñ<sub>d</sub> represent the encoder and decoder delays, respectively; and f is the desired frame rate, in frames per second (fps), for a given service.
For example, video data has typically desired frame rates that are 15 fps, 10 fps, or 7.5 fps. At the upper limit on the time allowed for an encoder and decoder to process the data and maintain the desired frame rate resulting in upper limits of 66.6 ms, 100 ms and
133 ms with frame rates of 15 fps, 10 fps, or 7.5 fps respectively.
Speed Control Buffer Delay
In general, to maintain a consistent perceptual quality of a multimedia service, a different number of bits may be required for different frames. For example, a video encoder / decoder (codee) may need to use a different number of bytes to encode an I frame than a P frame to keep quality constant. Thus, consistent quality and constant frame rate are maintained for the video stream which is a variable bit rate stream. Consistent quality of an encoder can be achieved by setting a quantization parameter (Q<sub>p</sub>) for a constant or less variable value around a Q<sub>p</sub> objective.
Figure 4 is a diagram illustrating an example of frame size variation for a typical video sequence titled Carphone. The Carphone sequence is a standard video sequence that is known to those skilled in the art, and is used to provide a common video sequence for use in evaluating various techniques, such as video compression, error correction, and transmission. Figure 4 shows an example of the variation in frame size, in bytes, for a number of sample frames of Carphone data encoded using MPEG-4 and AVC / H.264 encoding techniques indicated by references 402 and 404 respectively. A desired quality of encoding can be achieved by setting the encoder parameter Qp to a desired value. In Figure 4, the Carphone data is encoded using an MPEG encoder with Qp = 33 and using an AVC / H.264 encoder with Qp = 33. When the encoded data streams illustrated in Figure 4 are to be transmitted on a constant bit rate (CBR) channel, such as a typical wireless radio channel, variations in frame size would need to be lightened to maintain a program. visual QoS constant, or negotiated. Typically, this lightening of variations in frame size results in an introduction of additional delay, commonly called the Δ buffer delay.
Figure 5 is a block diagram illustrating how buffer delay can be used to support the transmission of frames of various sizes to be transmitted on a CBR channel. As shown in FIG. 5, data frames of various sizes 502 enter buffer 504. Buffer 504 can store a sufficient number of data frames such that data frames having a constant size can exit buffer 506 for transmission on a CBR channel 508. This type is commonly referred to. buffer as a dynamic counter buffer. A dynamic counter buffer outputs data at a constant rate, like a bucket with a hole in the bottom. If the speed at which the water enters the bucket varies, then the bucket needs to keep a sufficient amount of water in the bucket to prevent the bucket from drying out when the speed of the water entering the bucket falls below speed of the spill. Likewise, the bucket needs to be large enough so that the bucket does not spill when the speed of the water entering the bucket exceeds the speed of the spill. The buffer 504 works in a similar way to the bucket and the amount of data the buffer needs to store to prevent buffer overflow from resulting in a delay corresponding to the length of time the data remains in the buffer.
Figure 6 is a graph illustrating the buffer delay that is introduced by the stream of a variable bit rate (VBR) multimedia stream on a CBR channel in the system of Figure 1. As illustrated in the figure 6, a video signal is encoded using a VBR encoding scheme, MPEG-4, producing a VBR stream. The number of bytes in the VBR stream is illustrated in Figure 6 by a line 602 representing the cumulative, or total, number of bytes required to transmit a given number of video frames. In this example, the MPEG-4 stream is encoded at an average bit rate of 64 kbps and transmitted on a 64 kbps CBR channel. The number of bytes that are transmitted on the CBR channel is represented by a constant slanted line 604 corresponding to the constant transmission rate of 64 kps.
To avoid buffer overflow at the decoder, due to insufficient data received at the decoder to allow an entire video frame to be decoded, the display needs to be delayed 606 at the decoder. In this example, the delay is 10 frames, or 1 second, for a desired display speed of 10 fps. In this example, a constant speed of 64 kbps was used for the channel, but if an MPEG-4 stream that has an average data rate of 64 kbps is transmitted on a 32 kbps CBR channel. The buffer delay would increase with the length of the sequence. For example, for the frame sequence 50 illustrated in Figure 6, the buffer delay would be 2 seconds.
Generally, the buffer delay Δ due to buffer overflow limits can be calculated as follows:
Χ /) = Σλ (0-Σ ^ ζ) B (i)> 0 Eq. 2; = o; = o
Eq.3 where:
B (i) = Occupation of the buffer memory in the encoder in bytes at time i (video frame #i)
R (i) = Encoder output in bytes at time i (video frame #i)
C (i) = Number of bytes that can be transmitted in a frame if = Desired number of frames per second
BhZ (i) - Broadband available at time i
Note that for the special case of CBR transmission,
C (i) = C VZ Eq. 4
To avoid decoder buffer overflow, or buffer starvation, throughout the presentation, the display has to be delayed by the time required to transmit the maximum buffer occupancy at the encoder. Thus, the buffer delay can be represented as:
Δ<sub>α</sub> = max
Be (i)
Eq. 5
The denominator in Equation 5 represents the average data rate for the entire duration of Session 1. For a CBR channel assignment, the denominator is C. The preceding analyzes can be used to calculate the nominal encoder buffer sizes for avoid overflow in the encoder by calculating max (Be (i)} for all i's in a set of exemplary sequences.
MPEG-4 Buffer Delay Example and
AVC / H.264
Figure 7 is a bar graph illustrating buffer delay A<sub>b</sub> in milliseconds, for multiple 50 frame sequence video fragments encoded at nominal 64 kbps rate and constant Qp for AVC / H.264 and MPEG-4. As shown in Figure 7, the MPEG-4 frame sequence of Figure 6 is represented by a bar 702 indicating a buffer delay of 1000 ms. The same video stream encoded using AVC / H.264 is represented by a bar 704 indicating a buffer delay of 400 ms. Additional examples of the 50 frame sequences of the video fragments are shown in Figure 7, where the buffer delay associated with each sequence is indicated, encoded with MPEG-4 and AVC / H.264 masters.
Figure 8 is a bar graph illustrating the video quality, as represented by the maximum signal-to-noise ratio (PSNR), of the sequences illustrated in Figure 7. As shown in Figure 8, the sequence Carphone encoded using MPEG-4 with Qp = 15 is represented by a bar 802 indicating a PSNR of approximately 28 dB. The same sequence encoded using AVC / H.264 with Qp = 33 is indicated by a bar 804 indicating a PSNR of approximately 35 dB.
Transmission Channel Delay
The transmission delay depends on the number of retransmissions used and a certain constant time for a given network. It can be assumed that A<sub>t</sub> it has a nominal value when retransmissions are not used. For example, it can be assumed that ñ<sub>t</sub> it is nominally 40 ms when retransmissions are not used. If retransmissions are used, the Frame Erase Rate (FER) drops, but the delay will increase. The delay will depend, at least in part, on the number of retransmissions and associated header delays.
Error Resistance Considerations
When RTP streams are transmitted on a wireless link, or channel, there will generally be some residual packet losses because RTP streams are delay sensitive and 100% reliable transmission is ensured by means of a relay protocol, such as RLP or RLC, which is not practical. To help understand the effect of channel errors, a description of various protocols, such as the RTP / UDP / IP protocol, is provided below. Figure 9 is a diagram illustrating various levels of encapsulation present when multimedia data, such as video data, is transmitted over a wireless link using the RTP / UDP / IP protocol.
<td>As</td><td>it shows</td><td>in</td><td>the figure</td><td> 9,</td><td>a</td>
<td colspan="3">encoder / decoder (codee)</td><td>generates a</td><td>load</td><td> 902</td>
<td>what includes</td><td>information</td><td>what</td><td>describes a</td><td>plot</td><td>of</td>
video. The upload 902 can be generated from various video packets (not shown). The payload 902 includes a Slice_Head (SH) 904. Thus, an application layer data packet 905 consists of video data 902 and the associated Slot_Head 904. As the payload passes through the network, such as the internet, additional header information can be added. For example, you can add a Real Time Protocol (RTP) header 906, a User Datagram Protocol (UDP) 908, and an Internet Protocol (IP) header 910. These headers provide information used to route payload from your source to your destination.
When entering the wireless network, a 912 point-to-point (PPP) header is added to provide the framing information to serialize the packets in a continuous bit stream. A radio link protocol, for example RLP on cdma2000 or RLC on W-CDMA, then packs the bit stream into RLP 914 packets. The radio link protocol allows, among other things, the retransmission and reordering of packets sent on the air interface. Finally, the layer-MAC air interface takes one or more RLP packets 914, packages them into the MUX layer packet 916, and adds a multiplexing (MUX) header 918. Subsequently, a physical layer packet channel encoder adds a checksum (CRC) 920 to detect decoding errors, and a tail portion 922 to form a physical layer packet 925.
The successive uncoordinated encapsulations illustrated in Figure 9 have several consequences in the transmission of multimedia data. One consequence is that there is possibly no match between the application layer data packets 905 and the physical layer packets 925. As a result of this mismatch, each time a physical layer packet 925 containing portions of one or more application layer packets 905 is lost, the corresponding application layer 905 is lost entirely. Since portions of a single 705 application layer data packet can be included in more than one 925 physical layer data packet, dropping one 925 physical layer packet could result in the loss of an entire 905 application layer packet. , since the entire application layer data packet 905 is needed to be properly decoded. Another consequence is that if portions of more than one application layer data packet 905 are included in a physical layer data packet 925, then the loss of a single physical layer data packet 925 could result in the loss of more than one application layer data packet 905.
Fig. 10 is a diagram illustrating an example of conventional mapping of 905 application data packets, such as multimedia data packets, into physical layer data packets 925. As shown in Fig. 10, there are two packets of application data 1002 and 1004. The application data packets can be multimedia data packets, for example, each data packet 1002 and 1004 can represent a video frame. The uncoordinated encapsulations illustrated in Figure 10 can result in a physical layer packet having data that provides a single application data packet of application data or more than one application data packet. As shown in Figure 10, a first physical layer data packet 1006 may include data from a single application layer packet 1002, while a second physical layer data packet 1008 may include data from more than one application layer packet. application data 1002 and 1004. In this example, if physical layer data packet 1006 is lost, or corrupted during transmission, then a single application layer data packet 1002 is lost. On the other hand, if the second physical layer packet 1008 is lost, then two application data packets 1002 are also lost.
For example, if the application layer data packets are two successive video frames, then the loss of the first physical layer data packet 1006 results in the loss of a single video frame. But, the loss of the second physical layer data packet results in the loss of both video frames because portions of both frames are video lost and neither video frame can be properly decoded, or recovered, by the decoder.
Explicit Bit Rate Control
Using a technique referred to as Explicit Bit Rate Control (EBR), instead of CBR or VBR, can improve the transmission of a VBR source on a CBR channel. The EBR information units are divided into data packets in such a way that the size of the data packets matches a size of an available physical layer packet. For example, a VBR stream of data, such as video data, can be divided into data packets such that the application layer data packets match the physical layer data packets of a communication channel in which the data is to be transported. For example, in EBR, an encoder can be limited, or configured, to output bytes at time i (previously denoted R (i)) that match the capacity of the physical channel used to supply the data stream in any standard. such as, GSM, GPRS, EDGE, TIA / EIA-95-B (IS-95), TIA / EIA-98-C (IS-98), cdma2000, CDMA Broadband (WCDMA), and others. Furthermore, encoded packets can be limited in such a way as to produce data packets that are of a certain size, that is, the same number of bytes, or less than, the size of the physical layer data packets of the communication channel. Also, the encoder can be limited such that each application layer data packet in which its output is independently decodable. The simulations of the EBR technique, in an AVC / H.264 reference encoder, show that there is no perceptible loss of quality when the encoder is limited according to the EBR techniques, such that the number of explicit speeds is used to limit VBR encoding. Examples of limitations for some channels are shown below as examples.
Multimedia Decoding and Encoding
As noted, multimedia encoders, for example video encoders, can generate multimedia frames of varying sizes. For example, in some compression techniques, each new multimedia frame may include all the information necessary to fully provide the content of the frame, while other frames may include information about changes to content from previously fully provided content. For example, as noted above, in a system based on MPEG-4 compression techniques, video frames can typically be of two types: I or P frames. I frames are self-contained, similar to JPEG files. , in which each I frame contains all the information necessary to provide, or display, a complete frame. In contrast, P-frames typically include information relative to the previous frame, such as differential information relative to the previous frame, and motion vectors. Therefore, since P-frames are based on previous frames, a P-frame is not self-contained, and cannot provide, or display, a complete frame without relying on a previous frame, in other words, it cannot self-contain. decode a P frame. here, the word decode is used to mean complete reconstruction to display a frame.
Typically I frames are larger than P frames, for example about 8 to 10 times longer depending on content and encoder settings.
In general, each data frame can be divided into parts, or portions, such that each portion can be independently decoded, as further described below. In one case, a data frame may be contained in a single portion, in other cases, a data frame is divided into multiple portions. For example, if the data frame is the video information, then the video frame may be included in an independently decodable portion, or the frame may be divided into more than one independently decodable portion. In one embodiment, each encoded portion is configured such that the size of the portion matches an available size of a physical layer data packet on the communication channel. If the encoder is encoding the video information, then each portion is configured such that the size of each video portion matches the available size of a physical layer packet. In other words, the frame portion sizes match the physical layer packet sizes.
The advantages of forming portions of a size that matches a physical layer data size of the available communication channel is that there is one-to-one correspondence between application packets and physical layer data packets. This helps solve some problems associated with uncoordinated encapsulation as illustrated in Figure 10. Thus, if a physical layer data packet is corrupted, or lost, during transmission, only the corresponding portion is lost. Also if each portion of a frame is independently decodable, then the loss of a portion of a frame will not prevent the decoding of other portions of the frame. For example, if a video frame is divided into five slices, such that each slice is independently decodable and matches a physical layer data packet, then the corruption, or loss, of one of the layer data packets Physical layer will result in the loss of only the corresponding portion and the physical layer packets that are transmitted successfully can be decoded successfully. Thus, even though the entire video frame cannot be decoded, parts of it can be decoded. In this example, four of the five video portions will be successfully decoded, thereby allowing the video frame to be provided, or displayed, albeit with reduced performance.
For example, if video slices are communicated from a serving node to an MS, in a cdma2000 based system using the DCCH and SCH channels, then the video slices will be sized to match these available channels. As noted above, the DCCH channel can be configured to support multiple fixed data rates. For example, the DCCH can support data transmission rates of either 9.60 kbps or 14.4 kbps depending on the selected speed set (RS), RS1 and RS2, respectively. The SCH channel can also be configured to support multiple fixed data rates, depending on the SCH radio configuration (RC). The SCH supports multiples of 9.6 kps when configured in RC3 and multiples of 14.4 kps when configured as RC5. The SCH data rates are:
SCHnATQS — VjjLQciDAD = (n * RC data rate) Ec.6 where n = 1,2,4,8, or 16 depending on the channel configuration.
Table 2, below, illustrates the physical layer data packet sizes for the DCCH and SCH channels in a cdma2000-based communication system. The first column identifies a case, or possible configuration. The second and third columns are the DCCH speed setting and SCH radio setting, respectively. The fourth column has three annotations. The first is the physical layer data packet size of a 20 ms time slot for the DCCH channel. The second entry is a physical layer data packet size of a 20 ms timeslot for the SCH channel. The third entry is the physical layer data packet size of a 20 ms time slot for a combination of the DCCH and SCH channels.
TABLE 2
<td>Case</td><td>DCCH configuration</td><td>SCH configuration</td><td>Physical Layer Packet Sizes (bytes) dtx, DCCH SCH DCCH + SCH</td>
<td> 1</td><td>RS1</td><td>2x on RC3</td><td> 0, 20, 40, 60</td>
<td> 2</td><td>RS1</td><td>4x on RC3</td><td> 0, 20, 80, 100</td>
<td> 3</td><td>RS1</td><td>8x on RC3</td><td> 0, 20, 160, 180</td>
<td> 4</td><td>RS1</td><td>16x on RC3</td><td> 0, 20, 320, 340</td>
<td> 5</td><td>RS2</td><td>2x on RC3</td><td> 0, 31, 40, 71</td>
<td> 6</td><td>RS2</td><td>4x on RC3</td><td> 0, 31, 80, 111</td>
<td> 7</td><td>RS2</td><td>8x on RC3</td><td> 0, 31, 160, 191</td>
<td> 8</td><td>RS2</td><td>16x on RC3</td><td> ', 31, 320, 351</td>
<td> 9</td><td>RS1</td><td>2x on RC5</td><td> 0, 20, 64, 84</td>
<td> 10</td><td>RS1</td><td>4x on RC5</td><td> 0, 20, 128, 148</td>
<td> 11</td><td>RS1</td><td>8x on RC5</td><td> 0, 20, 256, 276</td>
<td> 12</td><td>RS1</td><td>16x on RS5</td><td> 0, 20, 512, 532</td>
<td> 13</td><td>RS2</td><td>2x on RC5</td><td> 0, 31, 64, 95</td>
<td> 14</td><td>RS2</td><td>4x on RC5</td><td> 0, 31, 128, 159</td>
<td> 15</td><td>RS2</td><td>8x on RC5</td><td> 0, 31, 256, 287</td>
<td> 16</td><td>RS2</td><td>16x on RS5</td><td> 0, 31, 512, 543</td>
Possible Physical Layer Package Sizes for
Combinations of DCCH and SCH
It should be noted that there is a trade-off that can be considered when the application layer data packet is too long to fit the physical layer data packets of SCH or DCCH, instead using a combination of the SCH packet more DCCH. A trade-off in deciding to encode an application layer data packet to size to fit a combined SCH plus DCCH data packet size, rather than forming two packets, is that one layer packet Larger application size, or portion, generally produces better compression efficiency, while smaller portions generally produce better error resistance. For example, a larger portion generally requires less heading. Referring to Figure 9, each slice 902 has its own slice header 904. Thus, if two slices are used instead of one, there are two slice headers added to the payload, resulting in more data needed to encode the packet, thereby reducing compression efficiency. On the other hand, if two slices are used, one is transmitted on DCCH and the other is transmitted on SCH, then the corruption, or loss, of only one of either the DCCH or SCH data packets would only allow the recovery of other data packet, thereby, error resistance is improved.
To help understand Table 2, the derivation of Case 1 and 9 will be explained in detail. In Case 1, DCCH is configured as RS1 corresponding to a data rate of 9.6 Kbps. Since the channels are divided into time slots than 20 ms, in a single time slot, the amount of data, or physical layer packet size, that can be transmitted on the configured RS1 DCCH is:
9600 bits / sec * 20 msec = 192 bits = 24 bytes Ec.7 Since the additional header added to the physical layer packet, for example RLP for error correction, only 20 bytes are available for the application data packet , which includes the slice and the slice header. Thus, the first entry in the fourth column of Table 2, for Case 1 is 20.
SCH for Case 1 is configured as 2x in RC3. RC3 corresponds to a base data rate of 9.6 Kbps and 2X means that the channel data rate is twice the base data rate. Thus, in an individual timeslot, the amount of data, or physical layer packet size, that can be transmitted in 2x RC3 configured SCH is:
2 * 9600 bits / sec * 20 msec = 384 bits = 48 bytes Ec.8
Here, due to the extra header that is added to the physical layer packet, only 40 bytes are available for the application layer data packet, which includes the slice and the slice header. Thus, the second entry in the fourth column of Table 2, for Case 1 is 40. The third entry in the fourth column of Table 2 for Case 1 is the sum of the first and second annotations, or 60 .
Case 9 is similar to Case 1. In different cases, DCCH is configured as RS1, corresponding to the physical layer packet size of 20 bytes. The SCH channel in Case 9 is configured as 2x RC5. RC5 corresponds to a base data rate of 14.4 Kbps and 2X means that the channel data rate is twice the base data rate. Thus, in a single timeslot, the amount of data, or physical layer packet size, that can be transmitted in 2x RC5 configured SCH is:
2 * 14400 bits / sec * 20 msec = 576 bits = 72 bytes Eq. 9 Here, due to the additional header added to the physical layer packet, only 64 bytes are available for the application layer data packet, which includes the portion and the portion header. Thus, the second entry in the fourth column of Table 2, for Case 9 is 64. The third entry in the fourth column of Table 2 for Case 9 is the sum of the first and second annotations, or 84 .
The other annotations in Table 2 are determined in a similar way, where RS2 corresponds to DCCH which has a data rate of 14.4 Kbps, corresponding to 36 bytes in a 20 msec time slot, of which 31 are available for the application layer. Note that the dtx operation is available for all cases, and that it is the zero load size, where no data is transmitted on any channel. When user data can be transmitted in fewer available physical layer slots (20 ms each), dtx is used in the rear slots, reducing interference to other users in the system.
As illustrated in Table 2 above, by configuring multiple available fixed data rate channels, for example DCCH and SCH, a set of CBR channels can behave similarly to a VBR channel. That is, configuring multiple fixed rate channels can make a CBR channel behave like a pseudo-VBR channel. Techniques that take advantage of the pseudo-VBR channel include determining physical layer data packet sizes corresponding to a CBR channel bit rate of a plurality of constant bit rate communication channels, and encoding a rate data stream Variable bit rate a plurality of data packets is created such that a size of each of the data packets matches a size of one of the sizes of the physical layer data packets.
In one embodiment, the configuration of the communication channels is established at the beginning of a session, and therefore, there is no change throughout the communication session, or there is only a low frequency of change. For example, the SCH mentioned in the previous example is generally set for one configuration - and remains in that configuration throughout the session. That is, the SCH described is a fixed rate SCH. In another embodiment, the channel configuration can be changed dynamically during the session. For example, a variable speed SCH (V-SCH) can change its configuration for each time slot. That is, during one time slot, a V-SCH can be configured in a configuration such as 2x RC3, and in the next time slot, V-SCH can be configured to a different configuration, such as 16xRC3, or any other possible configuration. by V-SCH. A V-SCH provides additional flexibility, and can improve system performance in EBR techniques.
If the communication channel configuration is fixed for the entire session, then the application layer packets, or chunks, are selected to match one of the available physical layer data packets that are available. For example, if the DCCH and SCH are configured as RS1 and 2xRC3, as illustrated in Case 1 in Table 2, then the application layer portions would be selected to fit either 0-byte, 20-byte packets, 40 bytes, or 60 bytes. Similarly, if the channels were configured as RS1 and 16xRC3, as illustrated in Case 4 of Table 2, then the portions of the application layer would be selected to fit either 0-byte, 20-byte packets, 320 bytes, or 340 bytes. If a V-SCH channel was used, then it is possible to switch between two different settings for each slice. For example, if the DCCH is configured as RS1 and V-SCH is configured as RC3, then it is possible to switch between any of the V-SCH configurations 2xRC3, 4xRC3, 8xRC3, or 16xRC3, corresponding to Cases 1-4 of the Table 2. Selection among these various settings provides the physical layer data packets of 0 bytes, 20 bytes, 40 bytes, 60 bytes, 80 bytes, 100 bytes, 160 bytes, 180 bytes, 320 bytes, or 340 bytes as illustrated. in Cases 1-4 of Table 2. Thus, in this example, using a V-SCH channel allows the application layer portions to be selected to fit any of the ten different physical layer data packet sizes listed in Cases 1-4 of the Table 2. In the case of cdma2000, the size of the data provided is estimated by the MS and this process is called Blind Detection.
A similar technique can be used in Broadband CDMA (WCDMA) using a Data Channel (DCH). DCH, similar to V-SCH, supports different physical layer packet sizes. For example, DCH can support rates from 0 to nx in multiples of 40 octets, where nx corresponds to the maximum allocated rate of the DCH channel. Typical values for nx include 64 kbps, 128 kbps, and 256 kbps. In the case of WCDMA, the packet size delivered for the data is indicated using the additional signals using the Transport Format Combination Indicator (TFCI), so that MS does not have to perform a blind detection, thereby , the computational load on the MS is reduced, when the packets of varying sizes are used as in EBR. The EBR concepts described in this invention are applicable for both concepts, blind detection and explicit indication, of packet sizes.
The application layer data packets are selected in such a way that they conform to the physical layer data packets, a combination of constant bit rate communication channels, with their aggregate data rate, can transmit a data stream VBR with performance similar to, and in some cases superior to, a VBR communication channel. In one embodiment, a variable bit rate data stream is encoded into a stream of data packets that are of a size that matches the size of the physical layer data packet of the available communication channels, and subsequently transmitted on a combination of constant bit rate channels. In another embodiment, since the bit rate of the variable bit rate data stream varies, it can be encoded into different data packets of the same size and different combinations of constant bit rate channels can be used to transmit the data packets.
For example, different video data frames can be of different sizes, and thus different combinations of fixed bit rate communication channels can be selected to accommodate the transmission of different video frames of the same size. In other words, variable bit rate data can be efficiently transmitted in a constant bit rate channel by assigning the data packets to at least one of the constant bit rate communication channels to match the bit rate. of the constant bit rate communication channels with the bit rate of the variable bit rate stream.
Another aspect is that the encoder can be limited to limit the total number of bits used to represent the variable bit rate data stream to a preselected maximum number of bits. That is, if the variable bit rate data stream is a multimedia data frame, such as video, the frame can be divided into portions where the portions are selected in such a way that each portion can be decoded independently and the number of bits in the portion it is limited to a preselected number of bits. For example, if the DCCH and SCH channels are configured as RS1 and 2xRC3 respectively (Case 1 in Table 2), then the encoding can be limited such that a portion will not be larger than either 20 bytes, 40 bytes or 60 bytes. .
In another embodiment using EBR to transmit multimedia data you can use the cdma2000 Packet Data Channel (PDCH). PDCH can be configured to transmit data packets that are n * 45 bytes, where n = {1, 2,4,8}. Again, using the PDCH, the multimedia data, eg video data, can be divided into portions that match the available physical layer packet sizes. In cdma2000, PDCH has different data rates available from forward PDCH (F-PDCH) and reverse PDCH (R-PDCH). In cdma2000, FPDCH has slightly less bandwidth available than RPDCH. Since this difference in bandwidth can be taken advantage of, in some cases it is advantageous to limit the R-PDCH to the same bandwidth of F-PDCH. For example, if a first MS transmits a video stream to a second MS, the video stream will be transmitted by means of the first MS on the R-PDCH and received by means of the second MS on the FPDCH. If the first MS used all of the RPDCH bandwidth, then some part of the data stream would have been removed to make up for the F-PDCH transmission bandwidth for the second MS. To alleviate these difficulties associated with reformatting the transmission from the first MS so that it can be transmitted to the second MS on a channel with a smaller bandwidth, the bandwidth of R-PDCH can be limited to be the same as F- PDCH. One way to limit the FPDCH bandwidth is to limit the sizes of the application data packet sent on R-PDCH to those supported by the F-PDCH, and then add the padding bits for the remaining bits in the physical layer packet by R-PDCH. In other words, if the padding bits are added to the R-PDCH data packets to match the F-PDCH data packets, then the R-PDCH data packets can be used on the forward link of F67
PDCH with minimal change, for example, pulling the stuffing bits.
Using the technique just described, Table 3 lists the possible physical layer data packet sizes for F-PDCH and R-PDCH for four possible data rate cases, and the number of padding bits to be added. to R-PDCH.
TABLE 3
<td>n</td><td>Physical layer packet size (bytes) F-PDCH and R-PDCH</td><td>R-PDCH padding bits</td>
<td> 1</td><td> 45</td><td> 0</td>
<td> 2</td><td> 90</td><td> 24</td>
<td> 4</td><td> 180</td><td> 72</td>
<td> 8</td><td> 360</td><td> 168</td>
Possible Physical Layer Packet Sizes for PDCH and Padding Bits ”for R-PDCH
As with EBR using DCCH plus SCH, when a multimedia stream, such as a video stream, is divided into slices, small slice sizes generally improve error resistance, but can compromise compression efficiency. Similarly, if larger chunks are used, there will generally be an increase in compression efficiency, but system performance may be degraded due to lost packets because the loss of an individual packet results in the loss of more data.
Similarly, techniques can be developed to match multimedia data, such as video portions, to an available physical layer packet size in systems based on other air standards. For example, in a GSM, or GPRS, or EDGE based system, multimedia frames, such as video portions, can be sized to match available time slots. As noted earlier, many GSM, GPRS, and EDGE devices have the ability to receive multiple time slots. Thus, depending on the number of available time slots, a stream of coded frames can be limited in such a way that the video portions match the physical packets. In other words, the multimedia data can be encoded in such a way that the packet sizes match an available size of a physical layer packet, such as the GSM time slot, and the aggregate data rate of the physical layer packets used. Supports the data rate of multimedia data.
EBR Performance Considerations
As noted, when a media stream encoder operates in an EBR mode, it generates the media portions that match the physical layer, and therefore, there is no loss in compression efficiency compared to VBR mode. true. For example, a video encoder / decoder operating in accordance with the EBR technique generates portions of video that match the particular physical layer on which the video is transmitted. Additionally, there are benefits regarding error resistance, lower latency, and lower transmission load. Details of these benefits are further explained below.
Performance on Channel Errors
As mentioned in the reference to Figure 10, it can be seen that in a conventional encapsulation, when the physical layer packet is lost, more than one application layer can be lost. In the EBR technique, each physical packet loss on the wireless link results in the loss of exactly one application layer packet.
Figure 11 illustrates an example of application layer packet encoding according to the EBR technique. As noted earlier, application layer packages can be of various sizes. As mentioned in Tables 2 and 3, the physical layer packets can be of various sizes too, for example the physical layer of channels using different sizes of physical layer data packets can be provided. In the example of Figure 11, there are four application packages 1102, 1104, 1106, and 1108 and four physical layer packages 1110, 1112, 1114, and 1116 illustrated. Three different examples of matching application layer packets to physical layer packets are illustrated. First, a single application layer packet can be encoded in such a way that it is transmitted in the multiple physical layer packets. In the example shown in figure 11, a single physical layer packet 1102 is encoded into two physical layer packets 1110 and 1112. For example, if DCCH and SCH RS1 and 2xRC3 are configured respectively (Case 1 in Table 2) and the application data packet is 60 bytes, then it could be transmitted in two physical layer packets corresponding to the combination of the DCCH and SCH packet. It is envisioned that a single application layer packet can be encoded into any number of physical layer packets corresponding to the available communication channels. A second example illustrated in FIG. 11 is that a single application layer packet 1104 is encoded into a single physical layer packet 1114. For example, if the application layer data packet is 40 bytes, it could be transmitted using only the SCH physical layer data packet in Case 1 of Table 2. In both examples, the loss of a layer packet Unique physics results in the loss of only a single application layer packet.
A third example illustrated in Figure 11 is that multiple application layer packets can be encoded into a single physical layer packet 1116. In the example shown in Figure 11, two application layers 1106 and 1108 are encoded and transmitted in a single physical layer packet. It is envisioned that more than two application layer packets can be encoded to fit into a single physical layer packet. A drawback of this example is that the loss of a single physical layer packet 1116 would result in the loss of multiple application layer packets 1106 and 1108. However, there may be recoveries, such as full utilization of the physical layer that would ensure the encoding of multiple application layer packets to be transmitted in a single physical layer packet.
Figure 12 is a block diagram illustrating one embodiment of an encoder / decoder transmitting a VBR data stream over an IP / UDP / RTP network, such as the Internet. As shown in FIG. 12, the encoder / decoder generates an application layer data packet 1202 that includes a payload, or slice, 1204 and a slice header 1206. Application layer 1202 passes through the network where the IP / UDP / RTP header information 1208 is added to the application layer data packet 1202. Subsequently, the packet passes through the wireless network where it is added an RLP header 1210 and a MUX header 1212 to the packet. Since the sizes of the IP / UDP / RTP header 1208, the RLP header 1210, and the MUX header 1214 are known, the encoder / decoder selects a size for the portion 1204 so that the portion and all associated headers will fit the packet. physical layer data, or payload, 1216.
Figure 13 is a bar graph illustrating the relative drop in maximum signal-to-noise ratio (PSNR) for various examples of the encoded video sequences, using a true VBR transmission channel, and using an EBR transmission using DCCH plus SCH, and PDCH, when the channel packet loss is 1%. The video sequences illustrated in Figure 13 are standard video sequences, which are known to those skilled in the art, and are used to provide common video sequences for use in evaluating various techniques, such as video compression, error correction and transmission. As shown in Figure 13, true VBR sequences 1302 have the longest PSNR drop followed by EBR using PDCH 1306 and later EBR using DCCH plus SCH 1304. For example, in the Carphone sequence, the true VBR sequence 1302 suffered a drop of approximately 1.5 dB in PSNR, while EBR using PDCH 1306 and EBR using DCCH and SCH 1304 suffered drops in PSNR of approximately 0.8 and 0.4 dB respectively. Figure 13 illustrates that when a transmission channel experiences 1% packet loss, the distortion, as measured by PSNR, for the VBR sequence is more severe than for the EBR sequences.
Figure 14, similar to Figure 13, is a bar graph illustrating the relative drop in maximum signal-to-noise ratio (PSNR) when channel loss is 5% for various examples of standard encoded video sequences, using a true VBR 1402, EBR using DCCH plus SCH 1404, and EBR using PDCH 1406. As shown in Figure 14, true VBR 1402 sequences have the longest PSNR drop followed by EBR using PDCH 1406 and subsequently EBR using DCCH plus SCH 1404. For example, in the Carphone sequence, the true VBR 1402 sequence suffered approximately 2.5 dB drop in PSNR, while EBR using PDCH 1406 and EBR using DCCH plus SCH 1404 suffered drops in PSNR of approximately 1.4 and 0.8 dB respectively. Comparing Figures 14 and 13 which illustrate that when the packet loss of the transmission channel increases, the distortion, measured by PSNR, for the VBR sequence is more severe than for the EBR sequences.
Figure 15 is a bar graph illustrating the percentage of defective macroblock received by the encoded video sequences of Figure 13, using a true VBR 1502, EBR using DCCH and SCH 1504, and EBR using PDCH 1506, when loss of the channel package is 1%. Figure 16 is a bar graph illustrating the percentage of received bad macroblocks for the encoded video sequences of Figure 14, using a true VBR 1602, EBR using DCCH and SCH 1604, and EBR using PDCH 1606, when the loss of the channel package is 5%. Comparing these graphs it is shown that in both cases the percentage of defective macroblocks is higher in the VBR sequences than in the EBR sequences. Note that in EBR, since the chunks match the physical layer packet size, that the percentage defective of the chunks should be the same as for the packet loss rate. However, since the slices may include different numbers of macroblocks, the loss of a data packet, corresponding to one slice, may result in a different number of defective macroblocks than the loss of a different data packet corresponding to a different slice. which includes a different number of macroblocks.
Figure 17 is a graph illustrating the rate distortion of one of the standard encoded video sequences, titled Foreman (Supervisor). As shown in FIG. 17, four different cases are illustrated showing PSNR compared to bit rate. The first two cases show the video sequence encoded using VBR 1702 and 1704. The following two cases show the video sequence encoded using EBR15, where EBR15 is EBR using DCCH plus SCH configured as RS2 and 8x in RC5 respectively, as listed in case 15 in Table 2 above. EBR and VBR data streams are transmitted on a clean channel 1702 and 1706 and a noisy channel 1704 and 1708. As noted earlier, on a clean channel there is no packet loss during transmission, and a noisy channel loses 1% of the data packets. As shown in Figure 17, the VBR encoded sequence that is transmitted on clean channel 1702 has the highest PSRN for all bit rates. But the EBR15 encoded stream that is transmitted on a 1706 clean channel has roughly the same PSNR performance, or rate distortion, for all bit rates. Thus, there is a very small drop in performance between VBR and EBR 15 encoding when the transmission channel is clean. This example illustrates that when there is no packet loss during transmission, there may be enough granularity in an EBR encoding configuration to have approximately the same performance for a VBR encoding configuration.
When the VBR encoded sequence is transmitted on a noisy channel 1704, the PSNR drops significantly, approximately 3 dB, at all bit rates. But, when EBR 15 encoded sequence is transmitted on the same noisy channel 1708, through its PSNR, performance degrades at all bit rates, its performance only drops by about 1 dB. Thus, when transmitted on a noisy channel, the PSNR performance of an EBR15 encoded sequence is approximately 2 dB higher than a VBR encoded sequence transmitted on the same noisy channel. As figure 17 shows, on a clean channel, the rate distortion performance of EBR15 encoding is comparable to that of VBR encoding, and when the channel becomes noisy, the rate distortion performance of EBR15 encoding it is superior to VBR encoding.
Figure 18 is a graph, similar to Figure 17, illustrating the rate distortion curves of other encoded video sequences, titled Carphone. Four different cases are again illustrated showing PSNR compared to bit rate. The first two cases show the video sequence encoded using VBR 1802 AND 1804. The next two cases show the video sequence encoded using EBR15, where EBR15 is EBR using DCCH plus VSCH configured as RS2 and 8x in RC5 respectively, as listed in case 15 in Table 2 above. EBR and VBR data streams are transmitted on a clean channel 1802 and 1806, and a noisy channel 1804 and 1808. In this example, the PSNR performance of the EBR15 encoded sequence transmitted on a clean channel 1806 exceeds the performance of the VBR sequence on the clean channel 1802. The PSNR performance of the EBR15 sequence on the noisy channel 1808 exceeds the transmitted VBR sequence on noisy channel 1804 by about 1.5 dB. In this example, using the Carphone sequence on both channels, clean and noisy, resulted in the speed distortion performance of the EBR15 encoding having superior performance, as measured by PSNR for VBR encoding.
Patent Considerations
Using EBR encoding improves latency performance. For example, using the video portions it can be transmitted on a wireless channel without traffic-forming buffers in the encoder and decoder. For real-time services, this is a significant benefit as the entire user experience can be improved.
To illustrate the buffer delay due to the (VBR) nature of variable audiovisual programs in video encoding, a transmission plan is considered for a typical sequence encoded at an average bit rate of 64 kbps and transmitted at a 64 kbps CBR channel, shown in FIG. 6. To avoid buffer overflow in the decoder, the display, depicted in curve 608, needs to be delayed. In this example, the delay is 10 frames or 1 second for a desired display speed of 10 fps.
The delay A<sub>b</sub> Due to buffer overflow limits they can be calculated as follows:
= Eq. 10 j = 0 7 = 0 where:
B (i) = Buffer occupation in the encoder in bytes in frame i
R (i) = Encoder output in bytes for frame i C (i) = Number of bytes that can be transmitted in the frame interval if = Desired number of frames per second
BW (i) = Available bandwidth in bits in frame interval i
Note that for the special case of CBR transmission, C (f) = CV i.
To avoid starvation of the decoder buffer throughout the presentation, transmission has to be delayed for the required time of the maximum transmit buffer occupancy in the encoder.
<img file="MXPA06013210A_D0001.tif" />
EC. eleven
The denominator in the above equation represents the average data rate for the entire session duration I. For a CBR channel assignment, the denominator is C. For the EBR case, if the channel bandwidth added for a duration of 100- ms given is greater than the frame size, that is, C (i)> R (i) Viel, there is no buffer delay. Then, it is noted that the buffer occupancy in the encoder is 0, and the data can be transmitted as it arrives. That is, B (¡) = R (i) -C (i) = 0 Eq.12
Note that video frames typically span multiple MAC K-layer frames (slots). It is possible to vary C (i) in the K slots in such a way that all R (i) can be transmitted, then the delay ú<sub>b </sub>resulting from the buffer is 0, as B (i) is 0. &<sub>b</sub>= max [B (i) / C (¡)} Vi Eq.13
Figure 19 illustrates the transmission example for a typical EBR stream encoded at an average rate of 64 kbps. In Figure 19 the accumulated bytes compared to frame number are shown for source 1902, stream 1904, and display 1906 of a multimedia stream. In the example of Figure 19, the buffer delay is 0, but the delays due to encoding, decoding, and transmission are still present. However, these delays are typically much shorter compared to the VBR buffer delay.
Fig. 20 is a flow chart illustrating one embodiment of a data transmission method. The flow starts in block 2002. The flow then continues in block 2004. In block 2004, the possible physical layer packet sizes of the available communication channels are determined. For example, if the DCCH and SCH channels are used, then the configuration of these radio channels will establish the available physical layer packet sizes, as illustrated in Table 2 above. The flow then continues in block 2006 where an information unit, for example, a frame of a variable bit rate data flow is received. Examples of variable bit rate data streams include a multimedia stream, such as a video stream. The flow then continues in block 2008.
In block 2008 the information units are divided into portions. The divisions, or slices, are selected such that the size does not exceed the size of one of the possible physical layer packet sizes. For example, the size of the slices can be determined such that each size of the slice is no larger than at least one of the available physical layer packet sizes. The flow then continues to block 2010 where the slice is encoded and assigned to a physical layer packet. For example, the encoding information may include a source encoder equipped with a rate-controlled module that has the ability to generate splits of various sizes. Subsequently, in block 2012 it is determined whether all the divisions of the frame have been encoded and allocated for a physical layer packet. If not, a negative is received in block 2012, then the flow continues to block 2010 and the next division is encoded and assigned to the physical layer packet. Returning to block 2012, if all the divisions of the frame have been encoded and assigned to a physical layer packet, an assertion is received in block 2012, then the flow continues to block 2014.
In block 2014, it is determined whether the information flow has ended, such as at the end of a session. If the information flow has not been completed, a negative is received in block 2014, the flow continues in block 2006 and the next information unit is received. Returning to block 2014, if the information flow has ended such as the end of a session, an assertion is received in block 2014, then the flow continues in block 2016 and the procedure is stopped.
Fig. 21 is a flow chart illustrating another embodiment of a data transmission method. The flow starts in block 2102. The flow then continues in block 2014. In block 2104, the possible physical layer packet sizes of the available communication channels are determined. For example, if the DCCH and SCH channels are used, then the configuration of these radio channels will establish the available physical layer packet sizes, as illustrated in Table 2 above. The flow then continues to block 2106 where an information unit is received. For example, the information unit may be variable bit rate data such as a multimedia stream, or video stream. Flow then continues to block 2108.
In block 2108, it is determined whether it is desired to reconfigure the configuration of the communication channels. If you are using a communication channel that can be reconfigured during a session, such as a V-SCH channel, you may want to change the channel configuration during a session. For example, if the data frames have more data than can be transmitted in the current configuration of the communication channels, you may want to change the configuration to a higher bandwidth so that the communication channel can support more data. . In block 2108, if it is decided that it is not desired to reconfigure the communication channels, a negative is received in block 2108, the flow continues to block 2110. In block 2110, the information unit is divided into sizes such that its size does not exceed the size of one of the possible physical layer packet sizes. Returning to block 2108, if it is determined that it is desired to reconfigure the communication channel, an assertion is received at block 2108, flow continues to block 2112. At block 2112, a desired physical layer packet size is determined. For example, the received unit of information can be analyzed and the size of a data packet needed to transmit the entire unit can be determined. Flow then continues to block 2114. At block 2114, a desired communication channel configuration is determined. For example, various physical layer packet sizes can be determined from different configurations of the available communication channels and a configuration can be selected that has physical layer packets that are long enough to accommodate the information unit. Subsequently, the communication channels are reconfigured accordingly. The flow then continues to block 2110 where the information unit is divided into sizes such that its size matches the size of one of the possible physical layer packet sizes of the reconfigured communication channels. The flow then continues to block 2116. In block 2116, the split is encoded and assigned to a physical layer data packet. For example, the information encoding may include a source encoder equipped with a rate-controlled module that has the ability to generate the slices of various sizes. The flow then continues to the block
2118.
At block 2118, it is determined whether all the information unit splits have been encoded and assigned to a physical layer packet. If not, a negative is received at block 2118, then the flow continues to block 2110 and the next split is encoded and assigned to a physical layer packet. Returning to block 2118, if all information unit splits have been encoded and assigned to a physical layer packet, an assertion is received at block 2118, then flow continues to block 2120.
At block 2120, it is determined whether the information flow has ended, such as at the end of a session. If the information flow has not been completed, a negative is received at block 2120, then the flow continues to block 2106 and the next information unit is received. Returning to block 2120, if the information flow is terminated, an assertion is received at block 2120, then the flow continues to block 2122 and the procedure is stopped.
Figure 22 is a block diagram of a wireless communication device, or mobile station (MS), constructed in accordance with an exemplary embodiment of the present invention. Communication device 2202 includes a network interface 2206, encoder / decoder 2208, a local processor 2210, a memory device 2212, a program product 2214, and a user interface 2216.
The signals from the infrastructure are received via the network interface 2206 and sent to the central processor 2210. The central processor 2210 receives the signals and, depending on the content of the signal, responds with appropriate actions. For example, the central processor 2210 can decode the received signal itself, or it can route the received signal to the encoder / decoder 2208 for decoding. In another embodiment, the received signals are sent directly to encoder / decoder 2208 from network interface 2206.
In one embodiment, the network interface 2206 may be a transceiver and an antenna to connect to the infrastructure on a wireless channel. In another embodiment, the network interface 2206 may be a network interface card used to communicate with the infrastructure via land lines. Encoder / decoder 2208 can be implemented as a digital signal processor (DSP), or a universal processor such as a central processing unit (CPU).
Both the central processor 2210 and the encoder / decoder 2208 are connected to a memory device 2212. The memory device 2212 can be used to store data during the operation of the WCD, as well as to store the program code that will be executed by means of the 2210 core processor or 2208 DSP. For example, the central processor, encoder / decoder, or both, may operate under the control of programming instructions that are temporarily stored in memory device 2212. Central processor 2210 and encoder / decoder 2208 may also include memory. program storage by themselves. When the programming instructions are executed, the central processor 2210, or encoder / decoder 2208, or both, perform their functions, for example, decode or encode the multimedia streams. Thus, the programming steps implement the functionality of the respective core processor 2210 and encoder / decoder 2208, such that the core processor and encoder / decoder can each be manufactured to perform the functions of decoding and encoding streams of content such as desired. Programming steps can be received from a 2214 program product. Program product 2214 can store, and transfer programming steps in memory 2212 for execution by the central processor, encoder / decoder, or both.
Program product 2214 can be semiconductor memory chips, such as RAM memory, intermittent memory, ROM memory, EPROM memory, EEPROM memory, registers, as well as other storage devices such as a hard disk, a disk removable device, a CD-ROM, or any other form of storage medium known in the art that can store computer-readable instructions. Additionally, program output 2214 may be the source file including program steps that are received from the network and stored in memory, and subsequently executed. In this way, the processing steps necessary for operation according to the invention can be modeled in program product 2214. In FIG. 22, the exemplary storage medium is shown coupled to the central processor 2210, such that the central processor can read the information from, and write the information to, the storage medium. Alternatively, the storage medium can be integrated into the central processor 2210.
User interface 2216 connects to both central processor 2210 and encoder / decoder 2208. For example, user interface 2216 may include a display and speaker used to output multimedia data to the user.
Those skilled in the art will recognize the step of a described method in connection with an interchangeable embodiment without departing from the scope of the invention.
Those skilled in the art will also understand that signals and information can be represented using any variety of different technologies and techniques. For example, the data, instructions, commands, information, signals, bits, symbols, and chips that can be referenced throughout the above description may be represented by current voltages, electromagnetic waves, particles or magnetic fields, particles or optical fields, or any combination thereof.
Those skilled in the art will further appreciate that various illustrative logic blocks, modules, circuits, and algorithm steps described in connection with the embodiments described in the present invention may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above, generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design limits imposed on the entire system. Those skilled in the art can implement the discrete functionality in various ways for each particular application, but such implementation decisions should not be construed as a cause for departing from the scope of the present invention.
Various illustrative logic blocks, modules and circuits described in connection with the embodiments described in the present invention may be implemented or developed with a universal processor, a digital signal processor (DSP), an application specific integrated circuit (ASIO, a gate network field programmable (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present invention. A universal processor can be a microprocessor, but in the alternative, the processor can be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a core DSP, or any other configuration.
The steps of a method or algorithm described in connection with the modalities described in the present invention can be directly moralized in hardware, in a software module executed by a processor, or in a combination of both. A software module can reside in RAM memory, intermittent memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read the information from, and write the information to, the storage medium. In the alternative, the storage medium can be integrated into the processor. The processor and storage medium can reside in an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor and the storage medium can reside as discrete components in a user terminal.
The above description of the described embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined in the present invention can be applied to other embodiments without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown in the present invention, but is consistent with the broadest scope consistent with the principles and novel features described in the present invention.
NOVELTY OF THE INVENTION
Having described the present invention, it is considered a novelty and, therefore, the content of the following is claimed as priority:
Contents11
23 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23
104 members in 14 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 57167304 | United States of America | P | |
| 57167304 | United States of America | P | |
| 2005016837 | United States of America | W | |
| 2005016837 | United States of America | W | |
| 60571673 | – | – | – |
| US0516837 | – | – | – |
| US20040571673P | – | – | – |
| WO2005US16837 | – | – | – |
Members104
| Document | Office | Kind | |
|---|---|---|---|
| US2005259613A1 | United States of America | A1 | |
| US2005259623A1 | United States of America | A1 | |
| US2005259690A1 | United States of America | A1 | |
| US2005259694A1 | United States of America | A1 | |
| CA2565977A1 | Canada | A1 | |
| CA2566124A1 | Canada | A1 | |
| CA2566125A1 | Canada | A1 | |
| CA2566126A1 | Canada | A1 | |
| CA2771943A1 | Canada | A1 | |
| CA2811040A1 | Canada | A1 | |
| WO2005114919A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2005114943A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2005114950A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2005115009A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2005114943A3 | World Intellectual Property Organization (WIPO) | A3 | |
| TW200618544A | Taiwan Province of China | A | |
| TW200618564A | Taiwan Province of China | A | |
| TW200623737A | Taiwan Province of China | A | |
| KR20070013330A | Republic of Korea | A | |
| KR20070014200A | Republic of Korea | A | |
| KR20070014201A | Republic of Korea | A | |
| EP1751955A1 | European Patent Office (EPO) | A1 | |
| EP1751956A2 | European Patent Office (EPO) | A2 | |
| EP1751987A1 | European Patent Office (EPO) | A1 | |
| MXPA06013186A | Mexico | A | |
| MXPA06013193A | Mexico | A | |
| EP1757027A1 | European Patent Office (EPO) | A1 | |
| KR20070023731A | Republic of Korea | A | |
| MXPA06013210AThis record | Mexico | A | |
| MXPA06013211A | Mexico | A | |
| CN1969562A | China | A | |
| CN1973515A | China | A | |
| CN1977516A | China | A | |
| CN1985477A | China | A | |
| BRPI0510952A | Brazil | A | |
| BRPI0510953A | Brazil | A | |
| BRPI0510961A | Brazil | A | |
| BRPI0510962A | Brazil | A | |
| JP2007537681A | Japan | A | |
| JP2007537682A | Japan | A | |
| JP2007537683A | Japan | A | |
| JP2007537684A | Japan | A | |
| KR20080084866A | Republic of Korea | A | |
| KR100870215B1 | Republic of Korea | B1 | |
| KR100871305B1 | Republic of Korea | B1 | |
| EP1757027B1 | European Patent Office (EPO) | B1 | |
| ATE417436T1 | Austria | T1 | |
| DE602005011611D1 | Germany | D1 | |
| EP1751955B1 | European Patent Office (EPO) | B1 | |
| ATE426988T1 | Austria | T1 | |
| KR20090039809A | Republic of Korea | A | |
| ES2318495T3 | Spain | T3 | |
| DE602005013517D1 | Germany | D1 | |
| ES2323011T3 | Spain | T3 | |
| KR100906586B1 | Republic of Korea | B1 | |
| KR100918596B1 | Republic of Korea | B1 | |
| MY139431A | Malaysia | A | |
| JP4361585B2 | Japan | B2 | |
| JP4448171B2 | Japan | B2 | |
| MY141497A | Malaysia | A | |
| EP2182734A1 | European Patent Office (EPO) | A1 | |
| EP2214412A2 | European Patent Office (EPO) | A2 | |
| JP4554680B2 | Japan | B2 | |
| EP1751987B1 | European Patent Office (EPO) | B1 | |
| ATE484157T1 | Austria | T1 | |
| MY142161A | Malaysia | A | |
| DE602005023983D1 | Germany | D1 | |
| CN1977516B | China | B | |
| EP2262304A1 | European Patent Office (EPO) | A1 | |
| ES2354079T3 | Spain | T3 | |
| EP1751956B1 | European Patent Office (EPO) | B1 | |
| ATE508567T1 | Austria | T1 | |
| DE602005027837D1 | Germany | D1 | |
| KR101049701B1 | Republic of Korea | B1 | |
| JP2011142616A | Japan | A | |
| CN1969562B | China | B | |
| KR101068055B1 | Republic of Korea | B1 | |
| ES2366192T3 | Spain | T3 | |
| TWI353759B | Taiwan Province of China | B | |
| TW201145943A | Taiwan Province of China | A | |
| US8089948B2 | United States of America | B2 | |
| CA2566125C | Canada | C | |
| EP2262304B1 | European Patent Office (EPO) | B1 | |
| CN1985477B | China | B | |
| EP2214412A3 | European Patent Office (EPO) | A3 | |
| TWI381681B | Taiwan Province of China | B | |
| CN1973515B | China | B | |
| CN102984133A | China | A | |
| TWI394407B | Taiwan Province of China | B | |
| EP2592836A1 | European Patent Office (EPO) | A1 | |
| CA2565977C | Canada | C | |
| JP5356360B2 | Japan | B2 | |
| EP2182734B1 | European Patent Office (EPO) | B1 | |
| CA2566124C | Canada | C | |
| US8855059B2 | United States of America | B2 | |
| US2014362740A1 | United States of America | A1 | |
| US2015016427A1 | United States of America | A1 | |
| CA2771943C | Canada | C | |
| CN102984133B | China | B | |
| US9674732B2 | United States of America | B2 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Grant or registrationFG | FG |
Numbers
- Publication, EPODOC
- MXPA06013210
- Application
- 200613210
- Application, DOCDB
- PA06013210
- Application, EPODOC
- MX2006PA13210
Titles2
- English
- DELIVERY OF INFORMATION OVER A COMMUNICATION CHANNEL.
- Spanish
- SUMINISTRO DE INFORMACION EN UN CANAL DE COMUNICACION.
Classification
- CPC, 36
- H04L69/04
- H04W28/06
- H04N21/2381
- H04N21/41407
- H04N21/44004
- H04N21/4788
- H04N21/6131
- H04N21/6181
- H04N21/6437
- H04N21/64707
- H04W28/065
- H04W72/1263
- H04W80/00
- H04W84/04
- H04W88/181
- H04L65/80
- H04L69/166
- H04L69/22
- H04L69/161
- H04N19/102
- H04N19/115
- H04N19/61
- H04N19/124
- H04N19/152
- H04N19/164
- H04N19/174
- H04L69/321
- H04L47/36
- H04W4/06
- H04L65/764
- H04L65/00
- H04L9/40
- H04L65/75
- H04L65/1101
- H04W72/044
- H04W88/02
- IPC, 12
- H04L12 00
- H04B7 00
- H04B7 216
- H04L12 28
- H04L12 56
- H04L12 66
- H04L47 36
- H04N7 26
- H04W28 06
- H04W72 12
- H04W84 04
- H04W88 18