System and method for interleaving compressed audio/video (A/V) data frames
View Patent ↗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.
1. A method for transmitting streaming data signals in a wireless network comprising:
receiving streaming data signals, each of the data signals corresponding to a particular symbol;
arranging the symbols in a series of frames; and
interleaving the symbols in one of the frames with symbols in an adjacent one of the frames in the series of frames, each frame having a respective bitmap stored with the frame, the bitmap indicating a symbol position that is to be interleaved.
2. The method of claim 1 further comprising:
transmitting each of the frames to a remote receiver; and
de-interleaving the samples at the remote receiver.
3. The method of claim 2 wherein de-interleaving restores the previous series of frames.
4. The method of claim 1 wherein interleaving further comprises interleaving using a predetermined number of symbols.
5. The method of claim 4 wherein the predetermined number of symbols to be interleaved are selected according to a predetermined spreading computation.
6. A method for transmitting A/V data signals in a wireless network comprising:
receiving a stream of A/V data signals, each of the data signals corresponding to a particular symbol;
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 using a predetermined number of symbols selected according to a dynamic computation.
7. The method of claim 6 wherein the predetermined number of symbols varies as a result of link transmission characteristics.
8. The method of claim 7 wherein the link transmission characteristics are selected from the group consisting of protocol type, bit error rate (BER), signal-to-noise ratio (SNR), framing marker, and sampling rate.
9. The method of claim 1 wherein the receiving the streaming data signals further comprises receiving signals output from a vocoder.
10. The method of claim 1 wherein the streaming data signals are selected from the group consisting of compressed voice, compressed video, and Voice Over IP (VOIP).
11. The method of claim 1 wherein each of the frames contain a predetermined number of symbols.
12. The method of claim 1 further comprising recreating portions of a frame from the interleave symbols.
13. A system for transmitting streaming data signals in a wireless network comprising:
streaming data signals, each of the data signals corresponding to a particular symbol;
a frame generator operable to arrange the symbols into a series of frames;
a symbol interleaver operable to interleave symbols from one of the series of frames with symbols from an adjacent series of frames; and
each frame having a respective bitmap stored within the frame, the bitmap indicating a symbol position that is to be interleaved,
wherein the symbol interleaver interleaves the symbol using the respective bitmap.
14. The system of claim 13 further comprising a de-interleaver at a remote receiver and operable to de-interleave the frames.
15. The system of claim 14 wherein the de-interleaver is operable to restore the previous series of frames.
16. The system of claim 14 wherein the de-interleaver is further operable to recreate portions of a frame from the interleaved symbols.
17. The system of claim 13 wherein the symbol interleaver is further operable to interleave using a predetermined number of symbols.
18. The system of claim 17 wherein the symbol interleaver is further operable to select the predetermined number of symbols according to a predetermined spreading computation.
19. A system for transmitting A/V data signals in a wireless network comprising:
a stream of A/V data signals, each of the data signals corresponding to a particular symbol;
a frame generator operable to arrange the symbols into a series of frames; and
a symbol interleaver operable to interleave symbols from one of the series of frames with symbols from an adjacent series of frames using a predetermined number of symbols selected according to a dynamic computation.
20. The system of claim 19 wherein the predetermined number of symbols varies as a result of link transmission characteristics.
21. The system of claim 20 wherein the link transmission characteristics are selected from the group consisting of protocol type, bit error rate (BER), signal-to-noise ratio (SNR), framing marker, and sampling rate.
22. The system of claim 13 wherein the streaming data signals further comprise receiving signals output from a vocoder.
23. The system of claim 13 wherein the symbol interleaver is further operable to interleave s earning data signals selected from the group consisting of compressed voice, compressed video, and Voice Over IP (VOIP).
24. The system of claim 13 wherein each of the frames contain a predetermined number of symbols.
25. A computer program product having computer program code for transmitting streaming data signals in a wireless network comprising:
computer program code for receiving streaming data signals, each of the data signals corresponding to a particular symbol;
computer program code for arranging the symbols in a series of frames;
computer program code for interleaving the symbols in one of the frames with symbols in an adjacent one of frames in the series of frames, each frame having a respective bitmap stored with the frame, the bitmap indicating a symbol position that is to be interleaved;
computer program code for transmitting each of the frames to a remote receiver; and
computer program code for de-interleaving the symbols at the remote receiver.
26. A computer data signal for transmitting streaming data signals in a wireless network comprising:
program code for receiving streaming data signals, each of the data signals corresponding to a particular symbol;
program code for arranging the symbols in a series of frames;
program code for interleaving the symbols in one of the frames with symbols in an adjacent one of frames in the series of frames, each frame having a respective bitmap stored with the frame, the bitmap indicating a symbol position that is to be interleaved;
program code for transmitting each of the frames to a remote receiver; and
program code for de-interleaving the symbols at the remote receiver.
27. A system for transmitting streaming data signals in a wireless network comprising:
means for receiving a streaming data signals, each of the data signals corresponding to a particular symbol;
means for arranging the symbols in a series of frames;
means for interleaving e symbols in one of the frames with symbols in an adjacent one of frames in the series of frames, each frame having a respective bitmap stored with the frame, the bitmap indicating a symbol position that is to be interleaved;
means for transmitting each of the frames to a remote receiver; and
means for de-interleaving the symbols at the remote receiver.
28. The method of claim 1 wherein the streaming data signals comprise audiovisual (A/V) data signals.
29. The system of claim 13 wherein the streaming data signals comprise audiovisual (A/V) data signals.