Abstract:
Streaming audio and video (A/V) transmissions have become commonplace due to increasing data rates available over modem computer networks, and should occur at real-time or near real-time so that the user perceives an intelligible audio or video image. Lost or late frames can result in interference or distortion, and may be perceived as a “blip” or “pop” in the output sound or image. Wireless networks are particularly susceptible to such interference. Interference can be reduced by receiving a stream of symbols, arranging the symbols in a series of frames, and interleaving the symbols in one of the frames with symbols in an adjacent one of frames in the series of frames. In this manner, a frame that is dropped or arrives late over the wireless communication link will result in less distortion because some of the symbols will be available from the adjacent frames.

Description:
BACKGROUND OF THE INVENTION 
   Streaming audio and video (A/V) transmissions have become commonplace due to computer networks which are able to carry the digital A/V data at a rate sufficient to provide a user with a real time audio or video output image. Streaming transmissions should occur at real-time or near real-time so that the user perceives an intelligible audio or video image. Such streaming transmissions occur in a series of frames, in which each frame contains symbols indicative of a particular audio or video signal. The symbols are output, or played back, to the user in sequence from the frame. Each frame, therefore, represents a predetermined time interval of playback. Lost or late frames, while not fatal to transmissions, are perceived as a “blip” or “pop” for the duration, or interval, of the frame. Accordingly, sufficient frames should be received in a particular timeframe in order to satisfy the aggregate interval they represent i.e. an average of one frame per time interval represented by that frame. 
   In a wireless network, the frames are transmitted via a radio frequency (RF) medium according to a particular protocol, such as IS — 95 or others. However, wireless networks tend to exhibit different performance characteristics than their wired network counterparts. In particular, wireless networks have higher rates of lost or late packets due to interference and other factors which affect propagation of the RF signals. Accordingly, wireless networks typically employ a plurality of shared RF channels among multiple users, in which a plurality of wireless connections are shared over the same wireless channel. The channels are switched, or multiplexed, among the multiple wireless connections according to a predetermined protocol, such Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), or Frequency division multiple access (FDMA). 
   In the case of streaming A/V transmissions, such sharing occurs at a rate sufficient to provide transmission of the frames according to the time interval represented by the frame. While transmissions such as email can be transmitted over time, aggregated, and presented to a user after complete reception, streaming, real-time audio or video should be received according to the predetermined rate so that the output image perceived by the user is intelligible, and not prone to “blips” and “pops.” 
   It would be beneficial, therefore, to interleave symbols in one frame with symbols in an adjacent frame so that, in the case of lost or late packets, the duration of the interval during which no symbols are available for playback is reduced. 
   SUMMARY OF THE INVENTION 
   Streaming data such as compressed audio and video can result in interference or distortion in the output sound or image. Wireless networks are particularly susceptible to such interference. A method for transmitting A/V data signals in a wireless network minimizes such interference by receiving a stream of A/V data signals, each of the data signals corresponding to a particular symbol or data item in the stream, arranging the symbols in a series of frames, and interleaving the symbols in one of the frames with symbols in an adjacent one of frames in the series of frames. In this manner, a frame that is dropped or arrives late over the wireless communication link will result in less distortion because some of the symbols will be available from the adjacent frames. 
   Each frame includes a predetermined number of symbols corresponding to an interval in the audio or video image carried in the stream. When a frame is dropped, the interval is output as distortion, and may be perceived as a “blip” or “pop” in the output sound or image for the duration of the interval. Interleaving symbols from adjacent frames reduces the interval in which no symbols are available for playback. 
   Depending on the level of interference occurring over the wireless link between a base station processor and a subscriber access unit, the number of interleaved symbols spread between adjacent frames may be varied to result in an optimal output audio or video signal perceived by a user. The number of symbols may be spread as determined by a predetermined spreading computation metric according to the interference level. The interference level may be determined by link transmission characteristics, such as protocol type, bit error rate (BER), signal-to-noise ratio (SNR), framing marker, sampling rate, and others. Further, the spreading level may be dynamically recomputed as the interference level changes, such as movement of the mobile user or changes to the wireless transmission rate of other users. 
   Interleaving occurs prior to transmission, in which the symbols in a frame are switched with corresponding symbols in an adjacent frame in the stream. The predetermined spreading computation determines which symbols are to be switched. The frames are then transmitted over the wireless link. As the frames are received, the symbols are de-interleaved by an inverse spreading computation which restores the previous series of frames and symbols therein. Further, each frame may carry a header bitmap corresponding to an adjacent frame which indicates which symbols in the frame are to be switched with the adjacent frame. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  shows a wireless communication system operable for symbol interleaving as described herein; 
       FIG. 2   a  shows a prior art transmission stream; 
       FIG. 2   b  shows a transmission stream employing symbol interleaving; 
       FIGS. 3   a  and  3   b  show symbol interleaving in data packets; 
       FIG. 4  shows an example of symbol interleaving; 
       FIGS. 5   a  and  5   b  show dynamic spreading of interleaving symbols; 
       FIG. 6  shows packet mapping of interleaved symbols; 
       FIG. 7  shows a flowchart of interleaving and dynamic spreading; and 
       FIGS. 8   a - 8   c  show an alternate embodiment of interleaving. 
   

   The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. 
   DETAILED DESCRIPTION OF THE INVENTION 
   A description of preferred embodiments of the invention follows. 
     FIG. 1  shows a wireless communication system operable for symbol interleaving. Referring to  FIG. 1 , a user PC  12  or other access point into a user computer system or local area network is in communication with a subscriber access unit  14  via a wireline connection  20 . The wireline connection  20  may be any suitable wired medium such as TCP/IP, Ethernet, or direct connection. The subscriber access unit  14  is in communication with a wireless transceiver, such as the base station processor  16 , via a wireless link  24 , and is operable to transmit wireless messages in an RF medium between the subscriber access unit  14  and the base station processor  16 . The base station processor  16  is connected to the Internet  18  or other public access network via the Internet connection  22 . The Internet connection  22  may also be any suitable wired line connection, such as TCP/IP, UDP/IP, Ethernet, T1 line, POTS (plain old telephone system) or other wired medium. An end user at the user PC  12  may therefore receive data from the Internet  18  via the wired connections  20 ,  22  and wireless links  24  supported by the base station processor  16  and the subscriber access unit  14 . 
     FIG. 2   a  shows a prior art A/V transmission stream. Referring to  FIG. 2   a , the transmission stream  48  includes four frames  30 ,  32 ,  34 , and  36 , containing symbol sequences A, B, C and D, respectively. Four frames are shown as exemplary; a typical stream may have many more frames. Each of the symbols in the sequence is played back to the user as a portion of an audio or video image. The number of frames depends on the number of symbols per frame. The number of symbols required depends on the quality of the output image desired. In one embodiment, approximately 44,000 symbols are required to produce 1 second of CD quality audio. Telephone quality voice can be produced employing only 8000 symbols per second. 
     FIG. 2   b  shows the streaming transmission of  FIG. 2   a  interleaved according to the invention as defined by the present claims. Referring to  FIG. 2   b , a transmission stream  49  is shown containing four frames  40 ,  42 ,  44 , and  46  are shown. The data in the packets, however, is arranged as follows. Frame  40  contains symbols from set A, and also some interleaved symbols from set B denoted as B′. Frame  42  contains data from set B, and also some of the symbols from set A, denoted as A′, and from set C, denoted as C′, interleaved with the symbols from B. Note that symbols from set A included in A′ are not contained in A, and, similarly, symbols from sets B′ and C′ are not included in B and C, respectively. Frame  44  contains other interleaved symbols from B, denoted as B″, symbols from C, and some interleaved symbols from D, shown by D′. Frame  46  contains symbols from D, interleaved with symbols C″ and E′. Interleaved symbols in this manner continue, as shown by E′. The first and last frames in a stream may be interleaved only with one frame, or may include null symbols as placeholders. 
   Referring again to  FIG. 1 , the system will now be described in more detail. A frame generator  26  receives the A/V signal stream and generates a series of frames containing the symbols. A symbol interleaver  28  interleaves the symbols in adjacent groups of packets to produce the interleaved frames. After transmission over the wireless link  24 , a symbol de-interleaver  29  in the subscriber access unit  14  de-interleaves the frames using an inverse of the interleaving operation, resulting in the original sequence of frames. Note further that although the interleaving is shown as occurring at the base station processor  16  and the de-interleaving occurring at the subscriber access unit  14 , interleaving in the reverse direction may also be performed, thus interleaving at the subscriber access unit  14  and de-interleaving at the base station processor  16 . 
     FIGS. 3   a  and  3   b  shows two adjacent frames before and after interleaving. Referring to  FIGS. 3   a  and  3   b , two frames  50  and  52  are shown. Each adjacent frame  50  and  52  contains ten symbols, 1-10 and 11-20, respectively. Before interleaving, each symbol is in the positions shown in  FIG. 3   a . In  FIG. 3   b , however, two symbols are interleaved with symbols from the adjacent frame. The symbol in position  8 , in frame  50  is interleaved, or switched, with the symbol in position  11 , in frame  52 , as shown by the arrow  54 . Similarly, the symbol in position  10 , in frame  50 , is interleaved with the symbol in position  13 , in frame  52 , as shown by the arrow  56 . 
     FIG. 4  shows an example of symbol interleaving. Referring to  FIG. 4 , a stream of frames  64  is shown, including frames  58   a ,  60   a , and  62   a . Two symbols from each of frames  58   a ,  60   a , and  62   a  are interleaved with symbols from an adjacent frame to form an interleaved stream  66 , including interleaved frames  58   b ,  60   b , and  62   b . The interleaved stream  66  is then transmitted, however, the interleaved frame  60   b  is lost during transmission. However, when the frames are de-interleaved to produce the playback stream  68 , symbols that were initially in frame  60   a  in the original stream  64  were carried in adjacent frames  58   b  and  62   b . Accordingly, the symbols  8 , A, C, E are available for playback in de-interleaved frame  60   c.    
   Since the frame  60   b  was lost, the playback frame  60   c  must be recreated to the extent possible from the available symbols in adjacent transmitted frames. Symbols  8  and A are available in transmitted frame  58   b , and symbols C and E are available in transmitted frame  62   b . The remaining symbol locations in playback frame  60   c  remain as null or otherwise padded, so as to minimize, or “smooth out” any interruption in the playback output. 
   Therefore, continuing to refer to  FIG. 4 , there is only a one symbol interval of playback during which no symbols are available. If there had been no interleaving, all of the symbols in frame  60   a  would not be available for playback, resulting in an eight-symbol interval during which no output is produced. While some interleaved symbols originally in frames  58   a  and  62   a , specifically  4 ,  6 , G, and I, were also lost in packet  60   b , there is still no longer than one symbol interval during which no symbols are available for playback, as shown in stream  68 . 
     FIGS. 5   a  and  5   b  show dynamic spreading of symbols.  FIG. 5   a  shows a level of spreading using two symbols, and  FIG. 5   b  shows spreading using three symbols. A greater level of spreading requires more processing, but reduces the effect of a lost packet. Accordingly, the spreading level may be adjusted depending on the quality of a particular wireless link. The quality of the link may be determined by observing parameters such as protocol type, bit error rate (BER), signal-to-noise ratio (SNR), framing marker, and sampling rate. For example, table I illustrates one method of spreading level based on bit error rate. Table I is exemplary; other spreading metrics may also be developed encompassing other observed parameters. 
   
     
       
             
             
             
           
         
             
                 
               TABLE I 
             
             
                 
                 
             
             
                 
               BIT ERROR RATE 
               SPREADING LEVEL 
             
             
                 
                 
             
           
           
             
                 
               10{circumflex over ( )}−6 
               2 
             
             
                 
               10{circumflex over ( )}−5 
               3 
             
             
                 
               10{circumflex over ( )}−4 
               4 
             
             
                 
               10{circumflex over ( )}−3 
               5 
             
             
                 
                 
             
           
        
       
     
   
   Referring to  FIG. 5   a , a stream of frames  70  is interleaved to create an interleaved stream  74 , as shown by arrows  70 , defining the interleaving of two symbols. Referring to  FIG. 5   b , a stream of frames  76  is interleaved to create interleaved stream  78 , as shown by arrows  82 . In this manner, the spreading level may be adjusted to an optimal level based on the link transmission quality. 
   In addition to varying the spreading level, the positionally specific determination of which symbols to interleave maybe varied. In  FIG. 5   a , the symbols in positions  10  and  12  in one packet are interleaved with the symbols in positions  1  and  3  in an adjacent frame, respectively. In  FIG. 5   b , the symbols in positions  8 ,  10 , and  12  are interleaved with symbols in positions  1 ,  3  and  5  in an adjacent frame. 
     FIG. 6  shows a frame mapping of symbols to determine which symbols to interleave. Referring to  FIG. 6 , a frame  84  is shown, indicative of a frame B. The frame has two map portions  86   a  and  86   c , and a payload data portion  86   b . The map portions contain bitmaps  88   a  and  88   c . The bit positions in the bitmaps correspond to symbols to interleave. A binary “1” in a bitmap indicates a symbol position that is to be interleaved, and a binary “0” in a bit position indicates a symbol position which is not to be interleaved. 
   The frame  84  is adjacent to two frames A and C, as depicted in  FIG. 1 , corresponding to each of the bitmaps  86   a  and  86   c , respectively. The “A” map  88   a  indicates that symbol positions  1 ,  3 , and  5  in frame  84  should be interleaved with symbols in A. Similarly, the “C” map  88   c  indicates that bit positions  8 ,  10 , and  12  of frame  84  should be interleaved with symbols in C. Frames A and C (not shown) would also have bitmaps for the adjacent frames to indicate symbols to be interleaved. While these need not be the same position, adjacent frames should indicate the same number of symbols to interleave, otherwise some symbols would need to be dropped. In this manner, both the number and position of the symbols to be spread may be dynamically modified because each frame  84  carries a map portion  86   a  and  86   c  to indicate the spreading level and symbol interleaving positions. 
     FIG. 7  shows a flowchart of interleaving and dynamic spreading. Referring to  FIG. 7 , a packet is received, as shown at step  100 . The transmission is identified as a stream of packets, or frames, as shown at step  102 . A packet may be identified as a stream of frames, for example, by examining the port number in the TCP/IP header. A spreading level is computed depending on an expected error rate, as described above, as depicted at step  104 . The symbol positions to be interleaved in each adjacent frame are determined, as shown in step  106 . In the case of the first or last frame, interleaving would be performed with null symbols or performed with only the one adjacent frame, as described above. The frame is then interleaved with the corresponding symbols in the adjacent frames, as depicted at step  108 . A bit mask for the preceding and succeeding frames is determined, as disclosed at step  110 . The bit masks are then appended to the frame, as depicted at step  112 , and the frame is transmitted over the wireless link, as shown at step  114 . When the frame is received, as shown at step  116 , the bit masks are stripped from the frame, as disclosed at step  118 . A check is performed to determine if there was a frame loss, as shown at step  120 . In the case of a lost frame, the current frame would be out of sequence with the previous frame received, and indicate that the predecessor to the current frame was lost. If the frame is in sequence with pervious frame received, then no frames were lost, and the symbols are de-interleaved with the predecessor frame, as depicted at step  122 . If a frame was lost, the lost frame is partially recreated from the current frame and the last frame received, as shown in step  124 , and described above with respect to FIG.  4 . If more than one frame in the sequence was lost, than the frame may be recreated only with the current frame since the previous frame received does not contain symbols from the lost predecessor frame in the stream. A check is performed to determine if the spreading level needs to be recomputed, as disclosed at step  126 . The spreading level maybe recomputed in the case of a triggering event, such as a time interval, a change in error rate, or a change in the number of subscriber access units which are active. If the spreading level needs to be recomputed, control reverts to step  104 , otherwise control reverts to step  106  and interleaving continues at the same spreading level. 
     FIGS. 8   a - 8   c  illustrate another embodiment in which all the symbols from a particular number of frames are interleaved such that each interleaved frame contains an equal number of symbols from adjacent frames, also called uniform interleaving. Referring to  FIG. 8   a , this embodiment can be viewed as a cascade of frames  200 , in which each transmitted frame  202   a - 202   f  includes ⅓ of the symbols from the adjacent frames. Therefore, each group of three frames in a stream of frames will be transmitted as three interleaved frames, in which each transmitted frame contains one-third of each frame from the group of three from the stream. If each frame holds exactly n samples, and we wish to spread the n samples across m frames, than each frame contains n/m samples from each of the m sample periods, assuming n is evenly divisible by m. Note that, as described above, the first and last frames in the stream would interleave only prior or subsequent frames, or would pad with nulls. 
   Referring to  FIGS. 8   b  and  8   c , an example of interleaving is shown. In this example, there is a 20 ms sample period and interleaving is spread over sets of 3 frames in the stream. Each frame holds 12 symbols, and is transmitted as a stream  204  over eight periods A-H. Since spreading occurs over three frames, each transmitted frame holds 12/3=4 symbols from each of the three frames in the set. For each period, an interleaved frame  1 - 8  is transmitted, as shown by transmit sequence  206 . Frames  4 ,  5 , and  6  from the transmitted sequence  206  are shown expanded as  208 ,  210  and  212  respectively, and represent frames  202   c ,  202   d , and  202   e  in  FIG. 8   a  above. Each of frames  208 ,  210 , and  212 , corresponding to periods D, E, and F in the stream  204 . Frame  210 , corresponding to period E, contains symbols E 5 -E 8 , or the symbols stored in the middle four positions of period E. Similarly, frame  208  contains symbols E 1 -E 4 , and frame  212  contains symbols E 9 -E 12 . In this set of three frames, only frame E  210 , having the other two frames adjacent, is fully represented. The adjacent frames  208 ,  212  similarly contain four symbols from each adjacent frame, corresponding to the cascading representation of  FIG. 8   a.    
   In alternate embodiments, various degrees of redundancy could be used to further improve the liklihood of recovery, such as spreading  2  frames from the stream over  3  transmitted, interleaved frames to provide duplicate symbols. Also, the size of the set over which the symbols are spread can be varied. Three frames are shown, although more could be employed and dynamically varied as per the dynamic spreading table described above. 
   Those skilled in the art should readily appreciate that the programs defining frame interleaving as defined herein are deliverable to a subscriber access unit and to a base station processor in many forms, including but not limited to a) information permanently stored on non-writeable storage media such as ROM devices, b) information alterably stored on writeable storage media such as floppy disks, magnetic tapes, CDs, RAM devices, and other magnetic and optical media, or c) information conveyed to a computer through communication media, for example using baseband signaling or broadband signaling techniques, as in an electronic network such as the Internet or telephone modem lines. The operations and methods may be implemented in a software executable by a processor or as a set of instructions embedded in a carrier wave. Alternatively, the operations and methods may be embodied in whole or in part using hardware components, such as Application Specific Integrated Circuits (ASICs), state machines, controllers or other hardware components or devices, or a combination of hardware, software, and firmware components. 
   While the system and method for interleaving streaming data frames has been particularly shown and described with references to embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims. Accordingly, the present invention is not intended to be limited except by the following claims.