Patent Publication Number: US-2006005106-A1

Title: Mulitmedia transmission using variable error coding rate based on data importance

Description:
CLAIM OF PRIORITY UNDER 35 U.S.C. §120  
      The present Application for Patent is a Continuation of patent application Ser. No. 10/283,904 entitled “MULITMEDIA TRANSMISSION USING VARIABLE ERROR CODING RATE BASED ON DATA IMPORTANCE” filed Oct. 29, 2002, pending, and assigned to the assignee hereof and hereby expressly incorporated by reference herein. 
    
    
     FIELD OF THE INVENTION  
      The present invention relates generally to multimedia broadcast transmission.  
     BACKGROUND  
      Multimedia such as video and audio can be transmitted over a number of paths, including cable, the Internet, and broadcast. For instance, satellite or terrestrial broadcast stations can be used to transmit multimedia to mobile computing devices such as mobile telephones.  
      Typically, multimedia data is voluminous, which means that significant transmission path bandwidth, unfortunately a finite resource, must be used. This is particularly the case for high fidelity multimedia, e.g., high resolution video. That is, the higher the quality of service being provided, the more bandwidth must be used.  
      As recognized by the present invention, some portions of a multimedia stream are more important than other portions. For example, a digitized, uncompressed video stream can be represented by a sequence of pixels. Each pixel may be represented by a 24 bit integer number. These 24 bits may be partitioned into 8 bits representing the redness, 8 bits of greenness, and 8 bits of blueness. When combined in an appropriate fashion these values define the color of the pixel.  
                                          Red   Green   Blue                                                             msb       lsb       msb       lsb       msb       lsb                                                                                                                         7   6   5   4   3   2   1   0   7   6   5   4   3   2   1   0   7   6   5   4   3   2   1   0                  
 
      The first bit of each 8-bit group (bit  7  of each color) is generally more significant (msb) than the last bit (lsb or bit  0  of each color). In other words, while the use of 8 bits allows for the indication of 256 shades of a color, the left-most bits (bit  7  of each color), which indicate whether at least some significant amount (usually half or a value of 128) of the color (red, green, or blue) is or is not present in the pixel, are more important than the right-most bits (usually a single bit or a value of 1), which indicate subtleties in the pixel&#39;s color that, while improving the quality of the image when present, are not necessary to providing at least some recognizable image, in contrast to the more important bits. Stated differently, the first bit contributes more to the overall picture quality than the following bits, which incrementally improve the quality afforded by the first bit.  
      The present invention further recognizes that the principle of “importance” extends to other encodings/compressed data as well. More generally, it applies to any data in multimedia streams that represent magnitude. It can also apply to the relative importance of different types of multimedia data. Some data may be more sensitive to errors while other data might be more sensitive to delays.  
      For digitized video, in addition to the pixel data discussed above such magnitude-indicating data in compressed streams can include header information, motion vectors, and DCT coefficients. In digitized audio, magnitude-indicating data in uncompressed streams can include MdBs of PCM data, or in compressed streams can include spectral envelope information and bandpass scaled signals. Also, some frequencies of an audible sound represented in a stream might be more important than other frequencies that make up the sound.  
      Having made the above critical observation, the present invention further understands that it is common to minimize the effect of errors in the transmission of bits in a digitized multimedia stream by error coding techniques. In broadcast applications, the present invention recognizes the desirability of providing a graceful degradation of reception quality to users at the edge of the broadcast area. Instead of transmitting a single instance of a bit, more than one instance of the bit can be transmitted, with the receiver averaging bits in a group to decode the original value. In this way, even if one of the copies of the encoded bit is corrupted, the “correct” value will be obtained after averaging. As a simple example, instead of transmitting a single bit representing +1 and risking the possibility that the bit will be corrupted and hence lost in transmission, the bit can be encoded into three instances (+1, +1, +1) so that the loss of any one encoded bit in the group will not result in the loss of data at the receiver, because the remaining bits will decode to the correct value. In the above example, the received stream of bits was (+1, 0, +1), two of the three bits were +1 and therefore the receiver would interpret the sequence (+1, 0, +1) as a +1.  
      In the above example, the coding rate, which is the ratio of input bits to output bits, is ⅓ (or 1 input bit to 3 output bits). It is to be understood that more input bits than one can be used and other coding rates can be used in accordance with error correction coding principles. In any case, it is to be appreciated that the lower the coding rate, the higher the bit repetition and, hence, the higher the bandwidth requirement. That is, a trade-off exists between conserving bandwidth and maximizing error correction. More sophisticated schemes can be used if desired.  
      With the above considerations in mind, the present invention has been provided.  
     SUMMARY OF THE INVENTION  
      The invention establishes different error coding rates for different parts of a multimedia stream, based on relative “importance” or “sensitivity to errors” or “desire for data correctness” or “sensitivity to delay” of the different parts. Specifically, more important parts are coded at less powerful error codings (and thus have more robust error correction coding) than less important parts. A “more powerful error coding” can mean the same type of coding but at a lower rate than used for the less important part, e.g., a rate ⅓ block coding is more powerful than a rate ½ block coding. Or, “more powerful error coding” can mean using a more powerful error coding technique compared to the technique used for the less important part, e.g., more important parts can be encoded using convoluitonal coding and less important parts can be encoded using block coding, or more important parts can be encoded using turbo coding and less important parts can be encoded using convoluitonal coding. For purposes of this document, “sensitivity to errors” is used specifically and as a general term for all four reasons for using different error codings.  
      Accordingly, a method for multimedia data transmission includes establishing at least first and second error codings for at least first and second parts, respectively, of a broadcast multimedia data stream. The first and second codings are different from each other. Specifically, a more important part of the stream is coded at a more powerful coding than a less important part, which might not be error correction encoded at all (i.e., which might be coded at a coding rate of unity). The stream represents a single program, and it is partitioned based on the relative importance of the parts.  
      The multimedia data stream can be broadcast using wireless transmission principles or it can be transmitted over cable, including over the Internet. Also, the multimedia stream can be partitioned into more than two parts, with each part having its own coding.  
      As set forth in greater detail below, the first and second parts can be first and second groups of bits representing a single magnitude. The magnitude can be a magnitude of a single pixel, and more specifically the magnitude can be a magnitude of a single color of a single pixel. Or, the first and second parts can be first and second groups of bits in a header of a video stream, or first and second groups of bits in a motion vector of a video stream, or first and second groups of bits in a DCT coefficient in a video stream, or first and second groups of bits representing spectral envelope information in an audio stream, or first and second groups of bits representing bandpass scaled signals in an audio stream, or first and second parts of graphics parameters, or first or second parts of spectral transform coefficients, or first and second groups of pixels in a frame, or first or second groups of frames, or first and second groups of bits representing spectral envelope information in an audio stream, or first and second groups of bits representing bandpass scaled signals in an audio stream, or other appropriate bits. In any case, the first group of bits may be more significant than the second group of bits. The first and second parts can also represent data or other multimedia information of varying importance, sensitivity to error or sensitivity to delay.  
      In another aspect, a system is disclosed for broadcasting a multimedia data stream that represents a single multimedia program. The system includes a data divider that partitions the stream into at least first and second parts. A first error correction coder applies a first error encoding to the first part, while a second error correction coder applies a second error encoding to the second part. The stream is transmitted by a transmitter.  
      In yet another aspect, a system for receiving a multimedia data stream includes a data divider partitioning the stream into at least first and second parts, and a first error correction decoder applying a first error decoding to the first part. Also, a second error correction decoder applies a second error decoding to the second part. A data combiner is provided for combining the parts for playing the stream.  
      In further non-limiting embodiments, the multimedia data can be subdivided into numerically equivalent parts. One non-limiting example would be to select every other pixel for one part and the alternate pixels for the second part. The first part could be sent with a greater or error coding gain than the second part. Another non-limiting case would be to select the odd frames for part one and the even frames for part two. Again, the first part could be sent with a greater gain or error coding than the second part. The relative importance of the parts may be viewed as numerically equal parts but may still be assigned different gains or error codings. The details of the present invention, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which: 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       FIG. 1  is a simplified block diagram of one exemplary multimedia stream transmitter;  
       FIG. 2  is a simplified block diagram of one exemplary multimedia stream receiver; and  
       FIG. 3  is a flow chart of the present logic. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
      The non-limiting preferred embodiment shown in  FIG. 1  illustrates multimedia broadcast using wireless means, and more particularly using code division multiple access (CDMA) principles. It is to be understood that the present principles apply to other forms of wireless communication such as GSM, TDMA, wideband CDMA, EDGE, Digital TV, conventional TV, radio, iBiquity (IBOC) digital radio, XM, etc. as well as broadcast transmission of multimedia over cable systems, the Internet, etc. By “broadcast” is meant transmisison to plural receivers in the area covered by the broadcast, as opposed to, e.g., point-to-point transmission between a wireless communication infrastructure and a wireless telephone. It is to be further understood that while for simplicity the disclosure below assumes that a multimedia stream has only two data partitions and, hence, uses only two code channels, additional partitions based on relative importance can be used.  
      As used herein in the singular, “multimedia stream” means a single stream representing a single program, e.g., a single music piece or a single television show or movie. The term “Multimedia Stream” defines a group of related information, the distinct components of which are to be referred to in this document as “Multimedia Sub-streams” or just “Sub-streams”, which when combined, provide a complete composite experience for the users or receivers of that multimedia stream. An example would be music data accompanied by a picture and perhaps some text. The music, picture and text data could be coded into three sub-streams. Indeed, different parts of closed-captioning text maybe error coded differently from each other. The digitized and compressed audio could be coded and transmitted separately from the picture data, which in turn could be separate from the text data. Still further, graphics overlays, video add-ons, and audio add-ons that are associated with a video stream could be coded at a different (e.g., higher) coding rate than the underlying video stream. In general, the present invention aplies to data having parts of relative importances, e.g., full text documents might be of less importance and thus error coded at a higher rate than an accompanying schematic diagram. However, the present invention may be applied to different parts of equal importance.  
      Focussing back on broadcast multimedia, a receiver could gather the various “Multimedia Sub-streams” and present them in a manner appropriate for the receiving device or player. For clarity, when combined, the three sub-streams comprise a “Multimedia Stream”. “Multimedia stream” when used in the singular accordingly does not encompass commonly broadcast or commonly carried multiple distinct program streams.  
      As shown in  FIG. 1 , a system  10  can include at least one transmitter  12  that receives multimedia programs from a source  14  of multimedia data. As also shown in  FIG. 1 , a multimedia data stream is input to a data divider  16 , which partitions at least portions of the stream into a more important part  18  and a less important part  20 , although the stream can be partitioned into more parts than two. As discussed in the example below, the partitioning can be done in accordance with a predetermined importance of the parts. The two partitions are then processed in respective channels. First, each part  18 , 20  is processed by a respective error coder  22 M,  22 L for error coding. While any appropriate error coding can be used, in one non-limiting exemplary embodiment the coding may include replicating or repeating each bit N times, wherein N≧1, such that each part  18 ,  20  is coded at a respective coding rate. The “coding rate” refers to the ratio of original source bits to the number of bits after coding has been applied. 
 
 R=B/A  
 
 Where R refers to the coding Rate, B is the number of bits before coding and A is the number of bits after coding. The greater the repetition of bits the stronger the code and the more resistant to channel errors. 
 
      The coding rate used for the less important part  20  can be greater than the coding rate used for the more important part  18 . The coding rate for the less important part can be unity, i.e., the less important part might not be error coded at all. When more than two partitions (divided by importance) are used, the coding rates of the three or more parts can be successively greater, from more important to less important. That is, more important bits undergo more error coding-related replication than less important bits. As mentioned above, however, instead of using the same type of coding for each part and varying the rates, stronger and weaker error coding schemes can be respectively used for the more important and less important parts. It is conceivable that a multimedia stream could have sub-streams which are of equal importance. In this instance those sub-streams could be coded at the same coding rate or at different coding rates.  
      With particular regard to the exemplary non-limiting wireless multimedia transmission set forth herein, after error coding the parts  18 ,  20  can be processed by respective interleavers  24 M,  24 L in accordance with principles known in the art. The symbols in the error correction encoded symbol stream for each channel can be converted to real integers (e.g., “0” to a plus one and “1” to a minus one) and then digitally multiplied at  26 M,  26 L by an assigned Walsh function or sequence from a respective Walsh generator  28 M,  28 L. Then, the parts  18 ,  20  can be multiplied at  30 M,  30 L by respective gain factors G 1 , G 2  provided from gain amplifiers  32 M,  32 L.  
      Continuing, the parts  18 ,  20  may next be digitally multiplied at  34 M,  34 L by or combined with an outer pseudorandom (PN) code from a respective PN generator  36 M,  36 L after converting it to a sequence of the real field. The resulting spread symbol streams for each signal are then combined together at a summer  38  to form a composite waveform for transmission using a transmitter antenna  40 . It is to be understood that the summer  38  can be interposed at other locations in the transmitter downstream of the coders  22 M,  22 L to combine the two channels into one when only different error correction coding is used. There could be multiple transmitters and even multiple physical layers used to transmit the different sub-streams but for clarity of disclosure a single transmitter is shown. In relevant part and for simplicity, a receiver  42  of the exemplary non-limiting wireless system  10  is shown in  FIG. 2  to be the inverse of the transmitter  12 . Specifically, the receiver  42  can include a receiver antenna  44  with associated signal processing circuitry known in the art that produces the digitized multimedia stream that had been transmitted. The stream is sent to a data divider  46 , which partitions the stream into a more important part  48  and a less important part  50  using the same criteria that was used by the data divider  16  of the transmitter  12 .  
      The parts  48 ,  50  are de-spread at  52 M,  52 L using respective PN sequences from PN generators  54 M,  54 L. The PN sequences used for de-spreading are the same as those used for spreading in the transmitter  12 . If desired, the gains of the parts  48 ,  50  can be adjusted at  56 M,  56 L using signals from respective gain amplifiers  58 M,  58 L.  
      Next, the parts are Walsh-demodulated at  60 M,  60 L using signals from respective Walsh generators  62 M,  62 L in accordance with principles known in the wireless communication art. The parts  48 ,  50  are next de-interleaved at respective de-interleavers  80 M,  80 L.  
      In accordance with the present invention, respective error decoders  66 M,  66 L decode the parts  48 ,  50  using the inverse of the error correction codings that were applied by the transmitter  12  to the parts  18 ,  20 . Accordingly, the error decoder  66 M uses a coding to decode the more important part  48  that corresponds to the coding used by the encoder  22 M and the decoder  66 L for the less important part  50  uses a coding that corresponds to the coding used by the encoder  22 L. As discussed above, when more than two partitions are used, the codings of the three or more parts are successively stronger, from more important to less important. The parts  48 ,  50  are then combined at a combiner  68  (such as a summer or other transform) to produce the original multimedia data stream, indicated at block  70  of  FIG. 2 . Thus, when the first and second parts are first and second groups of pixels in a video frame and are combined together, they form an image resolution greater than either the first or second part alone.  
       FIG. 3  illustrates the logic of the present invention. Commencing at block  72 , it is determined how the stream is to be partitioned. As discussed above, two or more partitions can be used, based on the relative importance of the parts of the stream or other useful partitions of the multimedia stream. For instance, it might be decided that each  8 -bit group representing a pixel color for a single frame of a video stream will be partitioned into two parts, with the more important part being the left-most (most significant)  6  bits and the less important part being the remaining two bits, as shown below:  
                                  Red                                     More important part       Less important part                                                                 7   6   5   4   3   2   1   0                        
      Or, the group can divided evenly, with the four left-most (most significant) bits being in the more important part and the four less significant bits being in the less important part thusly:  
                                  Red                                     More important part       Less important part                                                                 7   6   5   4   3   2   1   0                      
 
      Other bit divisions can be used. Yet again, the 8-bit group can be partitioned into three or more groups. Still further, other data in a compressed stream, particularly magnitude-indicating data such as certain header data, motion vectors, and DCT coefficients for video data and spectral envelope information and bandpass scaled signals for audio data, can be partitioned into more important and less important parts. For data, pictures, text, graphics and other types of multimedia streams or sub-streams, there are many other useful partitioning schemes. For instance, the present invention may be applied to magnitude measures in broadcast graphics including object size, warping, translation, point of view, lighting, rotation orientation, perspective, etc. as well as to different graphics objects to which the user may attach different “importances”. Moreover, in addition to audio, video, text, and graphics, the invention may apply to more and less important parts of general data, picture control information encryption keys system control decoding parameters, basis function sets, ordering information related to HTML, URLs, etc. Still further examples of parts include first and second groups of Wavelet coefficients in at least one group of Wavelet coefficients in a video stream, or first and second groups of spectral transform coefficients in at least one group of spectral transform coefficients in a video stream, or first and second parts of a video frame in at least one group of Graphics parameters in a graphics stream, or first and second groups of Graphics parameters in at least one group of Graphics parameters in a graphics stream. In any case, the partitioning scheme at block  72  is used by the data dividers  16 ,  46  of the transmitter and receiver to partition the stream. If desired, block  70  can be undertaken once and provided to the receiver  42  prior to multimedia stream broadcast, or it can be undertaken dynamically, with the particular partitioning scheme being broadcast to the receiver  42  at broadcast time. Alternatively, a receiver could have partitioning information stored in memory or transmitted by another physical layer.  
      Moving to block  72 , the transmitter  12  partitions the stream in accordance with the partitioning scheme as discussed above. At blocks  76  and  78 , the error correction coders  22 M,  22 L ( FIG. 1 ) apply their respective codings to their respective parts of the stream. Specifically, the more important parts are encoded at lower rates (or using more powerful error coding) at block  76  than the less important parts that are encoded at block  78 . While blocks  76  and  78  are shown in series for convenience of disclosure, the coding of the different parts can be done in parallel as described in reference to  FIG. 1 . Proceeding to block  80 , the parts of the stream undergo the subsequent processing described above, and then are transmitted.  
      Block  82  represents the reception and pre-decoding processing undertaken by the receiver  42  as discussed above with respect to  FIG. 2 . At block  84 , the decoders  66 M,  66 L of the receiver  42  decode their respective parts using the codings that had been applied by the transmitter  12 . At block  86 , the parts are combined to reconstitute the multimedia stream.  
      While the particular MULITMEDIA TRANSMISSION USING VARIABLE ERROR CODING RATE BASED ON DATA IMPORTANCE as herein shown and described in detail is fully capable of attaining the above-described objects of the invention, it is to be understood that it is the presently preferred embodiment of the present invention and is thus representative of the subject matter which is broadly contemplated by the present invention, that the scope of the present invention fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the present invention is accordingly to be limited by nothing other than the appended claims, in which reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more”. All structural and functional equivalents to the elements of the above-described preferred embodiment that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element herein is to be construed under the provisions of 35 U.S.C. &#39;112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited as a “step” instead of an “act”.