Claims
- 1. A method of communicating media data packets from a first processing machine to at least one remote processing machine over a communication system, said method comprising the steps of:
- enabling at said first processing machine a connection processing stream for said remote processing machine with which said first processing machine communicates over said system during a connection;
- enabling at said first processing machine at least one media processing stream associated with said connection processing stream;
- establishing a relationship in said first processing machine which associates a media processing stream located in said remote processing machine with said connection processing stream in said first processing machine;
- processing with said media processing stream in said first processing machine at least one type of media data to produce media data packets;
- determining a communication path for sending said media data packets to said media processing stream located at said one remote processing machine and through said connection stream at said first processing machine based on said established relationship;
- transmitting said media data packets to said media processing stream in said remote processing machine through said communication path;
- recording in said first processing machine a time of transmission for at least one of said media data packets;
- receiving an acknowledgment message from said remote processing machine containing information representing when said at least one media data packet sent from said first processing machine was processed at said remote processing machine; and
- determining at said first processing machine an end to end system delay based on said recorded time of transmission of said at least one data media packet and said information in said acknowledgment message.
- 2. A method as in claim 1, wherein said media data is audio data and said media data packets are audio data packets.
- 3. A method in accordance with claim 1, wherein plural types of media data packets are transmitted by said first processing machine, including audio data packets and video data packets, said method further comprising;
- providing an association between a source of audio data and a source of video data and respective audio and video media processing streams which respectively provide audio and video data packets; and
- transmitting each of said audio and video data packets through said connection processing stream associated with said audio and video media processing streams to audio and video data packet processing streams in said remote processing machine in accordance with a relationship established in said first processing machine which associates the audio or video data packet processing stream in said remote machine with said connection processing stream.
- 4. A method in accordance with claim 3, wherein said plural types of media data packets further includes text/graphics data packets, said method further comprising:
- providing an association between a source of text/graphics data and a respective text/graphics media processing stream which provides text/graphics data packets; and
- transmitting said text/graphics data packets through said associated connection processing stream in said first processing machine to a text/graphics media processing stream in said remote processing machine in accordance with a relationship established in said first processing machine which associates the audio and video data packet processing streams in said remote machine with said connection processing stream.
- 5. A method in accordance with claim 1, wherein said first processing machine receives media data packets from said remote processing machine, said method further comprising:
- receiving at said connection processing stream in said first processing machine media data packets directed thereto from a said remote processing machine; and
- directing received media data packets from said connection processing stream to a receiving media data processing stream for processing the same.
- 6. A method as in claim 5 further comprising the step of:
- delaying received media packets, said delay being set in accordance with an end to end system delay.
- 7. A method as in claim 6, wherein said step of setting said delay further comprises:
- increasing and decreasing said delay to be substantially equal to said determined end to end system delay; and,
- wherein the delay of said received media packets increases and decreases substantially in accordance with said end to end system delay.
- 8. A method as in claim 7, wherein said received media data packets are audio data packets.
- 9. A method as in claim 7, wherein said received media data packets are video data packets.
- 10. A method as in claim 7, wherein said received media data packets are text/graphics data packets.
- 11. A method of communicating media data packets from a first processing machine to at least one remote processing machine over a communication system, said method comprising the steps of:
- enabling at said first processing machine a connection processing stream for said remote processing machine with which said first processing machine communicates over said system during a connection;
- enabling at said first processing machine at least one media processing stream associated with said connection processing stream;
- establishing a relationship in said first processing machine which associates a media processing stream located in said remote processing machine with said connection processing stream in said first processing machine;
- processing with said media processing stream in said first processing machine at least one type of media data to produce media data packets;
- determining a communication path for sending said media data packets to said media processing stream located at said remote processing machine and through a connection stream at said first process machine based on said established relationship;
- transmitting said media data packets to said media processing stream in said remote processing machine through said communication path;
- receiving at said connection processing stream in said first processing machine a media data packet directed thereto from said remote processing machine;
- directing said received media data packet from said receiving connection processing stream to a receiving media data processing stream for processing the same;
- determining if the received media data packet is an audio or video data packet; and if so, then:
- detecting errors in said received audio or video data packet; and
- if an error is detected, determining if there is sufficient time for a retransmission of a receiving audio or video data packet based on a delay time in the transmission path for said received audio or video data packet.
- 12. The method of claim 11 further comprising the steps of:
- requesting a retransmission of a received audio or video data packet containing errors if there is sufficient time for a retransmission.
- 13. The method of claims 11 or 12 further comprising the steps of:
- ignoring a received audio or video data packet if it contains errors.
- 14. A method as in claim 13, wherein said established relationship is provided in said first processing machine as an address table which associates said media processing stream located at said remote processing machine with a respective connection processing stream in said first processing machine.
- 15. A recorded medium containing a program for operating a first processing machine to enable a method of communicating media data packets from said first processing machine to at least one remote processing machine over a communication system, said method comprising the steps of:
- enabling at said first processing machine a respective connection processing stream for each remote processing machine with which said first processing machine communicates over said system during a connection;
- enabling at said first processing machine at least one media processing stream associated with each said connection processing stream;
- establishing an address table in said first processing machine which associates a media processing stream located in said at least one remote processing machine with a respective connection processing stream in said first processing machine;
- processing with said media processing stream in said first processing machine at least one type of media data to produce media data packets;
- consulting said address table to determine a communication path for sending said media data packets to a media processing stream located at said remote processing machine; and
- transmitting said media data packets to said media processing machine through a said connection stream associated with said media processing stream in said first processing machine and with an address of said media processing stream at said remote processing machine.
- 16. A recorded medium as defined in claim 15, wherein said method further comprises the steps of:
- receiving at a receiving connection processing stream in said first processing machine media data packets directed thereto from a said remote processing machine; and
- directing received media data packets from said receiving connection processing stream to a receiving media data processing stream for processing the same.
- 17. A recorded medium as defined in claim 15, wherein plural types of media data packets are transmitted by said first processing machine, including audio data packets and video data packets, and said method further comprising:
- providing as association between a source of audio data and a source of video data and respective audio and video media processing streams which respectively provide audio and video data packets; and
- transmitting each of said audio and video data packets through a said connection processing stream associated with said audio and video media processing streams in said first processing machine to audio and video data packet processing streams in said remote processing machine in accordance with address information contained in said table.
- 18. A recorded medium as defined in claim 17, wherein said plural types of media data packets further include text/graphics data packets, and said method further comprises the steps of:
- providing an association between a source of text/graphics data and a respective text/graphics media processing stream which provides text/graphics data packets; and
- transmitting said text/graphics data packets through said connection processing stream in said first processing machine to a text/graphics media processing stream in said remote processing machine.
- 19. A recorded medium as defined in claim 17, wherein said audio data packets and video data packets have respective associated priorities, said associated connection processing stream in said first processing machine transmitting said audio data packets and video data packets originating at said first processing machine to said remote processing machine in accordance with said associated priorities, wherein said audio data packets have a higher priority than said video data packets.
- 20. A recorded medium as defined in claim 18, wherein said audio data packets, video data packets and graphics and/or text data packets have respective associated priorities, said connection processing stream in said first processing machine transmitting said audio data packets and video data packets and graphics/text data packets originating at said first processing machine to said communication system in accordance with said associated priorities, said audio data packets having a higher priority than said video data packets and said video data packets having a higher priority than said text/graphics data packets.
- 21. A recorded medium as defined in claim 15, wherein each of said media data packets contains one or more addresses therein identifying a recipient for said packets.
- 22. A recorded medium as defined in claim 16, wherein each of said media data packets contain a plurality of addresses therein identifying respective recipients for said packets.
- 23. A recorded medium as defined in claim 16, wherein said method further comprises the steps of:
- checking in said first processing machine for errors sufficient to corrupt received media data packets, and
- requesting a retransmission of said received media data packets provided there is sufficient time for receipt of a retransmission based on the average system delay for a retransmission.
- 24. A recorded medium as defined in claim 15 wherein each of said media data packets includes a destination count area containing a count of the number of destinations each packet should reach, and a data area representing how many of those destinations have not yet been reached.
- 25. A recorded medium as defined in claim 15 said method further comprising the step of:
- placing information in said address table at least during the establishment of a connection between said first processing machine and said at least one remote processing machine.
- 26. A recorded medium as defined in claim 16 said method further comprising the step of:
- checking in said first processing machine for errors sufficient to corrupt received media data packets and for discarding corrupt received media data packets.
- 27. A recorded medium as defined in claim 16, wherein said first received media data packets contain audio data and, said method further comprises the step of delaying an audio signal recovered from said received media data packets by a given delay to form a delayed recovered audio signal.
- 28. A recorded medium as defined in claim 27, wherein said step of delaying said recovered audio signal to form a delayed recovered audio signal, further comprises the step of:
- setting said given delay substantially equal to the delay of said communication system.
- 29. A recorded medium as defined in claim 28, wherein said step of setting said given delay substantially equal to the delay of said communication system further comprises:
- measuring the delay of said communication system;
- increasing said given delay to be substantially equal to said measured delay; and
- decreasing said given delay to be substantially equal to said measured delay,
- wherein the delay of said delayed recovered audio signal increases and decreases substantially in accordance with said measured delay of said communication system.
- 30. A recorded medium containing a program for performing the method defined in claim 16, wherein said received media data packets contain video data, said method further comprising the step of delaying a video signal recovered from said media data packets by a given delay to form a delayed recovered video signal.
- 31. A recorded medium as defined in claim 30, wherein said step of delaying said recovered video signal to form a delayed recovered video signal, further comprises:
- setting said given delay substantially equal to the delay of said communication system.
- 32. A recorded medium as defined in claim 31, wherein said step of setting said given delay substantially equal to the delay of said communication system, further comprises:
- measuring the delay of said communication system;
- increasing said given delay to be substantially equal to said measured delay; and
- decreasing said given delay to be substantially equal to said measured delay,
- wherein the delay of said delayed recovered video signal increases and decreases substantially in accordance with said measured delay of said communication system.
- 33. A recorded medium as defined in claim 15, wherein said at least one media processing stream processes video information to produce video data packets which are provided to said connection processing stream.
- 34. A recorded medium as defined in claim 33, wherein said at least one media processing stream processes video frame information as sub-frames to produce video data packets which are provided to said connection processing stream.
- 35. A recorded medium as defined in claim 16, wherein connection processing streams of said first processing machine process transmitted and received media data packets in accordance with priority information contained therein.
- 36. A recorded medium as defined in claim 35, wherein said received media data packets include received audio data packets which have a higher assigned priority than other received media data packets, and wherein said first processing machine processes received audio data packets before processing other types of received media data packets.
- 37. A recorded medium as defined in claim 16, wherein said first processing machine includes at least one media processing stream for processing received audio data packets, and at least one media processing stream for processing received video data packets associated with the audio data packets, each of said video processing stream and audio processing stream providing respective delays in the reproduction of video and audio data which are substantially equal to ensure synchronization of the received audio and video data.
- 38. A recorded medium as defined in claim 37, wherein the delay provided by said video processing stream and audio processing stream is set as the maximum delay through the communication system which is encountered by received video data packets and received audio data packets.
- 39. A recorded medium as defined in claim 15, wherein said at least one media processing stream processes audio information to create audio data packets which are provided to a said connection stream.
- 40. A recorded medium as defined in claim 39, wherein said connection processing stream also process other media data packets, and said audio data packets and other media data packets have respective associated priorities, said connection processing stream transmitting said audio data packets and other media data packets originating as said first processing machine to said communications system in accordance with said associated priorities, said audio data packets having a higher priority than said other media data packets.
- 41. A recorded medium as defined in claim 17, wherein said audio data packets and video data packets have respective associated priorities, said connection processing stream in said first processing machine transmitting said audio data packets and video data packets originating at said first processing machine to said communications system in accordance with said associated priorities, said audio data packets having a higher priority than said video data packets.
- 42. A recorded medium containing a program for operating a first processing machine to enable a method of communicating media data packets from said first processing machine to at least one remote processing machine over a communication system, said method comprising the steps of:
- enabling at said first processing machine a connection processing stream for said remote processing machine with which said first processing machine communicates over said system during a connection;
- enabling at said first processing machine at least one media processing stream associated with said connection processing stream;
- establishing a relationship in said first processing machine which associates a media processing stream located in said remote processing machine with said connection processing stream in said first processing machine;
- processing with said media processing stream in said first processing machine at least one type of media data to produce media data packets;
- determining a communication path for sending said media data packets to said media processing stream located at said remote processing machine and through a connection stream at said first process machine based on said established relationship;
- transmitting said media data packets to said media processing stream in said remote processing machine through said communication path;
- receiving at said connection processing stream in said first processing machine a media data packet directed thereto from said remote processing machine;
- directing said received media data packet from said receiving connection processing stream to a receiving media data processing stream for processing the same;
- determining if the received media data packet is an audio or video data packet; and if so, then:
- detecting errors in said received audio or video packet; and
- if an error is detected, determining if there is sufficient time for a retransmission of a received audio or video data packet based on a delay time in the transmission path said received audio or video data packet.
- 43. A recorded medium as defined in claim 42, said method further comprising the steps of:
- requesting a retransmission of a received audio or video data packet containing errors if there is sufficient time for a retransmission.
- 44. A recorded medium as defined in claim 42 or 43, said method further comprising the steps of:
- ignoring a received audio or video data packet if it contains errors.
Parent Case Info
This application is a continuation of application Ser. No. 08/626,580, filed Apr. 2, 1996 now U.S. Pat. No. 5,623,490, which is a continuation application of Ser. No. 08/073,956, filed Jun. 9, 1993 (abandoned).
US Referenced Citations (19)
Continuations (2)
|
Number |
Date |
Country |
Parent |
626580 |
Apr 1996 |
|
Parent |
073956 |
Jun 1993 |
|