Claims
- 1. A system for improving quality of video communication over a packet-based network, comprising:
a packets generator logical unit (PGU) coupled to a video source for receiving a compressed video stream and processing the compressed video stream to generate a stream of primary data chunks and a stream of secondary data chunks, each secondary data chunk associated with a primary data chunk, and to generate packets from the stream of primary data chunks and secondary data chunks; and a network controller coupled to the PGU and coupled to the packet-based network for sending the packets to one or more destination nodes.
- 2. The system of claim 1, wherein video data included in each secondary data chunk and video data included in each associated primary data chunk cover a same portion of a video frame.
- 3. The system of claim 1, wherein the PGU further comprises a real time protocol logical unit (RTPU) for generating the primary data chunks and the secondary data chunks according to a communication standard.
- 4. The system of claim 1, wherein the PGU further comprises a packet delivery unit (PDU) for adding identification data to each primary data chunk and secondary data chunk, each associated primary-secondary data chunk pair having identical identification data.
- 5. The system of claim 4, wherein the identification data comprises at least one type of data from a group consisting of a sequence number and a time stamp.
- 6. The system of claim 1, wherein the PGU delays each secondary data chunk with respect to its associated primary data chunk.
- 7. The system of claim 6, wherein the PGU delays each secondary data chunk with respect to its associated primary data chunk by a period T, the period T derived from a jitter period of the one or more destination nodes.
- 8. The system of claim 6, wherein the PGU delays each secondary data chunk with respect to its associated primary data chunk by an integer number of primary data chunks.
- 9. The system of claim 6, wherein the PGU delivers each primary data chunk as a primary packet and each delayed secondary data chunk as a secondary packet to the network controller for transmission to the one or more destination nodes.
- 10. The system of claim 9, wherein the one or more destination nodes process each delayed secondary packet if an associated primary packet is not received.
- 11. The system of claim 6, wherein the PGU builds a compound packet from a primary data chunk and a non-associated delayed secondary data chunk, and delivers the compound packet to the network controller for transmission to the one or more destination nodes.
- 12. The system of claim 11, wherein the one or more destination nodes are configured to process a secondary data chunk of a second compound packet if a first compound packet with an associated primary data chunk is not received.
- 13. The system of claim 1, wherein the PGU and the network controller are comprised within an endpoint.
- 14. The system of claim 1, wherein the PGU and the network controller are comprised within a multipoint control unit.
- 15. The system of claim 1, wherein the PGU and the network controller are comprised within a multimedia gateway.
- 16. The system of claim 1, wherein each secondary data chunk comprises at least one type of data from a group consisting of a frame header, a GOB header, a slice header, a modified macro block header, an Intra MB, and macro blocks having only motion vector data.
- 17. The system of claim 1, wherein the PGU generates the secondary data chunks if a packet loss rate as measured at the one or more destination nodes exceeds a predefined threshold value.
- 18. The system of claim 3, wherein the communication standard is H.323.
- 19. The system of claim 3, wherein the communication standard is SIP.
- 20. The system of claim 1, wherein the compressed video stream is compressed according to the H.261 compression standard.
- 21. The system of claim 1, wherein the compressed video stream is compressed according to the H.263 compression standard.
- 22. A method for improving quality of video communication, comprising the steps of:
receiving a compressed video stream, the compressed video stream having a plurality of fields; parsing the plurality of fields from the compressed video stream and determining field types; generating secondary data chunks and primary data chunks based on the field types, each secondary data chunk associated with a primary data chunk; delaying each secondary data chunk with respect to its associated primary data chunk; generating packets from the delayed secondary data chunks and primary data chunks; and sending the packets to one or more destination nodes.
- 23. The method of claim 22, wherein video data included in each secondary data chunk and video data included in each associated primary data chunk cover a same portion of a video frame.
- 24. The method of claim 22, further comprising the step of adding identification data to each primary data chunk and secondary data chunk, each associated primary-secondary data chunk pair having identical identification data.
- 25. The method of claim 22, wherein the step of generating packets from the delayed secondary data chunks and primary data chunks further comprises the step of generating a secondary packet from each delayed secondary data chunk and a primary packet from each primary data chunk, each secondary packet associated with a primary packet.
- 26. The method of claim 25, further comprising the step of processing the secondary packet for use in video communication if the associated primary packet is not received by the one or more destination nodes.
- 27. The method of claim 22, wherein the step of generating packets from the delayed secondary data chunks and primary data chunks further comprises the step of building a compound packet from a primary data chunk and a delayed secondary data chunk, the delayed secondary data chunk not associated with the primary data chunk.
- 28. The method of claim 27, wherein the one or more destination nodes are configured to process a delayed secondary data chunk of a second compound packet if a first compound packet with an associated primary data chunk is not received.
- 29. The method of claim 22, wherein the step of parsing the plurality of fields further comprises the steps of:
synchronizing on a Picture Start Code (PSC) field from the compressed video stream; and parsing fields subsequent to the PSC field for field type;
- 30. The method of claim 22, wherein the step of generating secondary data chunks and primary data chunks based on the field type further comprises executing an MB module for generating the secondary and primary data chunks, if the field type is a MB field.
- 31. The method of claim 22, wherein the step of generating secondary data chunks and primary data chunks based on the field type further comprises executing a frame header module for generating the secondary and primary data chunks, if the field type is a picture header field.
- 32. The method of claim 22, wherein the step of generating secondary data chunks and primary data chunks based on the field type further comprises executing a GOB/slice header module for generating the secondary and primary data chunks, if the field type is a GOB or slice header field.
- 33. The method of claim 22, wherein the step of generating secondary data chunks and primary data chunks based on the field type further comprises generating secondary data chunks only if a packet loss rate as measured at the one or more destination nodes exceeds a predefined threshold value.
- 34. An electronic-readable medium having embodied thereon a program, the program being executable by a machine to perform method steps for improving quality of video communication, the method steps comprising:
receiving a compressed video stream, the compressed video stream having a plurality of fields; parsing the plurality of fields from the compressed video stream and determining field types; generating secondary data chunks and primary data chunks based on the field types, each secondary data chunk associated with a primary data chunk; delaying each secondary data chunk with respect to its associated primary data chunk; generating packets from the delayed secondary data chunks and primary data chunks; and sending the packets to one or more destination nodes.
- 35. The electronic-readable medium of claim 34, further comprising the step of adding identification data to each primary data chunk and secondary data chunk, each associated primary-secondary data chunk pair having identical identification data.
- 36. The electronic-readable medium of claim 34, wherein the step of generating packets from the delayed secondary data chunks and primary data chunks further comprises the step of generating a secondary packet from each delayed secondary data chunk and a primary packet from each primary data chunk, each secondary packet associated with a primary packet.
- 37. The electronic-readable medium of claim 36, further comprising the step of processing the secondary packet for use in video communication if the associated primary packet is not received by the one or more destination nodes.
- 38. The electronic-readable medium of claim 34, wherein the step of generating packets from the delayed secondary data chunks and primary data chunks further comprises the step of building a compound packet from a primary data chunk and a delayed secondary data chunk, the delayed secondary data chunk not associated with the primary data chunk.
- 39. The electronic-readable medium of claim 38, wherein the one or more destination nodes are configured to process a delayed secondary data chunk of a second compound packet if a first compound packet with an associated primary data chunk is not received.
- 40. The electronic-readable medium of claim 34, wherein the step of generating secondary data chunks and primary data chunks based on the field type further comprises generating secondary data chunks only if a packet loss rate as measured at the one or more destination nodes exceeds a predefined threshold value.
- 41. A system for improving quality of video communication, comprising:
means for receiving a compressed video stream, the compressed video stream having a plurality of fields; means for parsing the plurality of fields from the compressed video stream and determining field types; means for generating secondary data chunks and primary data chunks based on the field types, each secondary data chunk associated with a primary data chunk; means for delaying each secondary data chunk with respect to its associated primary data chunk; means for generating packets from the delayed secondary data chunks and primary data chunks; and means for sending the packets to one or more destination nodes.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application relates to and claims priority from U.S. Provisional Patent Application No. 60/306,204 filed Jul. 18, 2001, entitled “An Apparatus and a Method for Improving the Quality of Video Communication Over a Packet-Based Network.” The subject matter of the related application is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60306204 |
Jul 2001 |
US |