|
Claims  |
|
|
What is claimed is:
1. A computer-based media data processor for controlling the timing of
computer processing of digitized continuous time-based media data composed
of a sequence of presentation units, each unit characterized by a
prespecified presentation duration during a computer presentation of the
media data, the media processor comprising:
a reference clock which indicates a start time of presentation processing
of the media data presentation units and which maintains a current
presentation time as the media data presentation unit sequence is
processed for presentation;
a counter for counting each presentation unit in the presentation unit
sequence after that presentation unit is processed for presentation, to
maintain a current presentation unit count; and
a comparator connected to the reference clock and the counter, and
programmed with the prespecified presentation duration, the comparator
comparing a product of the presentation unit duration and the current
presentation unit count, specified by the counter, with the current
presentation time, specified by the reference clock, after each
presentation unit is processed for presentation, and based on the
comparison, releasing a next sequential presentation unit to be processed
for presentation when the product matches the current presentation time
count, and deleting a next sequential presentation descriptor in that
sequence when the product exceeds the current presentation time count.
2. The media data processor of claim 1 wherein the media data presentation
unit sequence comprises a video frame sequence including a plurality of
intracoded video frames.
3. The media data processor of claim 2 wherein each frame of the video
frame sequence comprises an intracoded video frame.
4. The media data processor of claim 3 wherein the video frame sequence
comprises a motion JPEG video sequence.
5. The media data processor of claim 2 wherein each of the plurality of
intracoded video frames comprises a key frame and is followed by a
plurality of corresponding non-key frames, each key frame including media
data information required for presentation of the following corresponding
non-key frames.
6. The media data processor of claim 1 further comprising a flow
controller, connected to said comparator, for receiving an indication from
the comparator that a presentation unit should be released for
presentation, determining availability of a next presentation unit in the
presentation unit sequence to be processed, and based on that
availability, generating and releasing a virtual presentation unit of the
prespecified presentation duration to be presented as a default
presentation unit in place of a next presentation unit when a next
presentation unit is not available and until the next presentation unit is
available.
7. The media data processor of claim 6 wherein the flow controller is
adapted to monitor and identify a previously unavailable presentation unit
when that unit is later available, and in response to identification of
the later available unit, withholding the unit from release for
presentation, whereby the later available unit is not presented.
8. The media data processor of claim 6 wherein the media data presentation
unit sequence comprises a motion JPEG video sequence, the presentation
units comprise video frames, and wherein each virtual presentation unit
comprises a most recently presented video frame.
9. The media data processor of claim 1 wherein the media data presentation
unit sequence comprises an audio sequence.
10. The media data processor of claim 1 wherein said clock is adapted to
indicate a start time of presentation processing of a plurality of media
data presentation unit sequences, the start time being common to the
plurality of sequences, and which maintains a current presentation time as
the media data sequences are processed for presentation;
a counter for counting each presentation unit in the plurality of
presentation unit sequences after that presentation unit is processed for
presentation, to maintain a distinct current presentation unit count for
each presentation unit sequence; and
a comparator connected to the reference clock and the counter, and
programmed with the prespecified presentation duration, the comparator
comparing for each of the plurality of presentation unit sequences a
product of the presentation unit duration and the current presentation
unit count of that sequence, specified by the counter, with the current
presentation time, specified by the reference clock, after each
presentation unit from that sequence is processed for presentation, and
based on the comparison, releasing a next sequential presentation unit in
that presentation unit sequence to be processed for presentation when the
product matches the current presentation time count, and deleting a next
sequential presentation unit in that presentation unit sequence when the
product exceeds the current presentation time count, whereby the plurality
of media data presentation unit sequences are synchronously processed for
simultaneous synchronous presentation.
11. The media data processor of claim 10 wherein the plurality of media
data presentation unit sequences comprise an intracoded video frame
sequence and an audio sequence.
12. A computer-based media data processor for controlling the computer
presentation of digitized continuous time-based media data composed of a
sequence of presentation units, each unit characterized by a prespecified
presentation duration and presentation time during a computer presentation
of the media data and further characterized as a distinct media data type,
the media data processor comprising:
a media data input manager for retrieving media data from a corresponding
media data access location in response to a request for computer
presentation of specified presentation unit sequences, determining the
media data type of each presentation unit in the retrieved media data,
designating each retrieved presentation unit to a specified media data
presentation unit sequence based on the media data type determination for
that presentation unit, assembling a sequence of presentation descriptors
for each of the specified presentation unit sequences, each presentation
descriptor comprising presentation unit media data for one designated
presentation unit in that sequence, all presentation descriptors in an
assembled sequence being of a common media data type, associating each
presentation descriptor with a corresponding presentation duration and
presentation time, based on the retrieved media data, and linking the
presentation descriptors in each assembled sequence to establish a
progression of presentation units in each of the sequences; and
a media data interpreter, connected to the media data input manager, for
accepting from the media data input manager the assembled presentation
descriptor sequences one descriptor at a time and releasing the sequences
for presentation one presentation unit at a time, indicating a start time
of presentation processing of the presentation unit sequences, maintaining
a current presentation time as the sequences are processed for
presentation, counting each unit in the sequences after that unit is
released to be processed for presentation, to maintain a distinct current
presentation unit count for each sequence, comparing for each of the
presentation unit sequences a product of the presentation unit duration
and the current presentation unit count of that sequence with the
currently maintained presentation time after each unit from that sequence
is processed for presentation, and based on the comparison, releasing for
presentation processing a next sequential presentation unit in that
sequence when the product matches the currently maintained presentation
time count and deleting a next sequential presentation unit in that
presentation unit sequence when the product exceeds the currently
maintained presentation time count.
13. The media data processor of claim 12 wherein the media data access
location comprises a computer storage location.
14. The media data processor of claim 13 further comprising a presentation
unit sequence controller for initiating the media data input manager and
the media data interpreter, specifying to the media data input manager and
the media data interpreter the presentation unit sequences to be
presented, and controlling starting and stopping of sequence presentation
in response to user specifiedation.
15. The media data processor of claim 13 wherein the specified media data
presentation unit sequences comprise a video frame sequence including a
plurality of intracoded video frames.
16. The media data processor of claim 15 wherein each frame of the video
frame sequence comprises an intracoded video frame.
17. The media data processor of claim 16 wherein the video frame sequence
comprises a motion JPEG video sequence.
18. The media data processor of claim 15 wherein each of the plurality of
intracoded video frames comprises a key frame and is followed by a
plurality of corresponding non-key frames, each key frame including media
data information required for presentation of the following corresponding
non-key frames.
19. The media data processor of claim 16 wherein the specified media data
presentation unit sequences comprise a motion JPEG video sequence and an
audio sequence.
20. The media processor of claim 14 wherein the media data interpreter
further determines for each specified presentation unit sequence
availability of a next presentation descriptor when based on said
comparison a next presentation unit should be released for presentation,
and based on that availability, generates and releases a virtual
presentation unit of the prespecified presentation duration to be
presented as a default presentation unit each time a next presentation
unit in that sequence is not available for presentation and until the next
presentation unit is available.
21. The media processor of claim 20 wherein the local media data
interpreter is adapted to monitor and identify a previously unavailable
presentation unit when that descriptor is later available, and in response
to identification of the later available descriptor, withholding the later
available presentation unit from release for presentation, whereby the
later available presentation unit is not presented.
22. The media data processor of claim 20 wherein the plurality of media
data presentation unit sequences comprises an intracoded video sequence of
video frames and an audio sequence of audio samples, and wherein each
virtual video presentation unit comprises a most recently presented video
frame and each virtual audio presentation unit comprises a silent audio
sample.
23. The media data processor of claim 12 wherein the media data retrieved
by the media data input manager comprises a storage presentation unit
sequence composed of presentation units for the specified presentation
unit sequences, presentation units of the specified presentation unit
sequences being alternately interleaved to compose the storage
presentation unit sequence.
24. The media data processor of claim 12 wherein the media data retrieved
by the media data input manager comprises a plurality of storage
presentation unit sequences, each storage presentation unit sequence
composed of presentation units for a specified presentation unit sequence
and all presentation units in a storage presentation unit sequence being
of a common media data type.
25. The media data processor of claim 24 wherein the start time of
presentation processing indicated by the media data interpreter is common
to all of the specified presentation unit sequences, whereby the specified
presentation unit sequences are synchronously processed for simultaneous
synchronous presentation.
26. The media data processor of claim 25 wherein the specified presentation
unit sequences comprise a video presentation unit sequence of intracoded
video frames and an audio presentation unit sequence of audio samples, and
wherein the media data interpreter prioritizes audio presentation units
over video presentation units by generating and releasing a virtual video
frame to be presented as a default presentation unit each time a next
presentation unit is not available for presentation and until the next
presentation unit is available, the virtual video frame comprising a most
recently presented video frame.
27. The media data processor of claim 14 wherein the retrieved media data
presentation units are encoded in a storage code and compressed, and
further comprising a presentation system for decoding the presentation
units, decompressing the presentation units, and converting the digitized
presentation units to a corresponding analog representation for
presentation.
28. The media data processor of claim 12 wherein the media data interpreter
maintains the current presentation time at a prespecified time rate such
that presentation units of the specified presentation sequences are each
presented for a presentation duration different than the prespecified
presentation duration.
29. The media data processor of claim 12 wherein the media data interpreter
monitors for each specified presentation unit sequence an actual
presentation rate of the presentation descriptors in that sequence
released for presentation, compares the actual presentation rate with a
prespecified nominal presentation rate, and based on the comparison,
generates and releases a virtual presentation unit of the prespecified
presentation duration to be presented as a default presentation unit each
time the monitored presentation rate is greater than the prespecified
presentation rate, and based on the comparison, skips over a presentation
unit each time the monitored presentation rate is less than the
prespecified presentation rate.
30. A computer-based method for controlling the timing of computer
processing of digitized continuous time-based media data composed of a
sequence of presentation units, each unit characterized by a prespecified
presentation duration during a computer presentation of the media data,
the method comprising:
indicating a start time of presentation processing of the media data
presentation units;
maintaining a current presentation time as the media data presentation unit
sequence is processed for presentation;
counting each presentation unit in the presentation unit sequence after
that presentation unit is processed for presentation, to maintain a
current presentation unit count; and
comparing a product of the presentation unit duration and the current
presentation unit count with the current presentation time after a
presentation unit is processed for presentation, and based on the
comparison, releasing a presentation unit next in the presentation unit
sequence to be processed for presentation when the product matches the
current presentation time count, and deleting a presentation unit next in
the presentation unit sequence when the product exceeds the current
presentation time count.
31. The media data processor of claim 30 wherein the specified media data
presentation unit sequence comprise a video frame sequence including a
plurality of intracoded video frames.
32. The media data processor of claim 31 wherein each frame of the video
frame sequence comprises an intracoded video frame.
33. The media data processor of claim 32 wherein the video frame sequence
comprises a motion JPEG video sequence.
34. The media data processor of claim 31 wherein each of the plurality of
intracoded video frames comprises a key frame and is followed by a
plurality of corresponding non-key frames, each key frame including media
data information required for presentation of the following corresponding
non-key frames.
35. The method of claim 30 further comprising:
determining the availability of a next presentation unit in the
presentation unit sequence to be processed, and based on that
availability, generating and releasing a virtual presentation unit of the
prespecified presentation duration to be presented as a default
presentation unit in place of the next presentation unit when a next
presentation unit is not available and until the next presentation unit is
available.
36. The method of claim 35 further comprising:
identifying a previously unavailable presentation unit when that unit is
later available; and
in response to the identification of the later available unit, withholding
the unit from release for presentation, whereby the later available unit
is not presented.
37. A computer-based method for controlling the computer presentation of
digitized continuous time-based media data composed of a sequence of
presentation units, each unit characterized by a prespecified presentation
duration and presentation time during a computer presentation of the media
data and further characterized as a distinct media data type, the method
comprising:
retrieving media data from a computer storage location in response to a
request for computer presentation of specified presentation unit
sequences;
determining the media data type of each presentation unit in the retrieved
media data;
designating each retrieved presentation unit to a specified media data
presentation unit sequence based on the media data type determination for
that presentation unit;
assembling a sequence of presentation descriptors for each of the specified
presentation unit sequences, each descriptor comprising media data for one
designated presentation unit in that sequence, each sequence of
presentation descriptors being of a common media data type;
associating each presentation descriptor with a corresponding presentation
duration and presentation time, based on the retrieved media data;
linking the presentation descriptors of each sequence to establish a
progression of presentation units in that sequence;
indicating a start time of presentation processing of the presentation
descriptor sequences;
maintaining a current presentation time as the sequences are processed for
presentation;
counting each presentation unit in the media data sequences after that unit
is processed for presentation, to maintain a distinct current presentation
unit count for each sequence;
comparing for each of the presentation unit sequences a product of the
presentation unit duration and the current presentation unit count of that
sequence with the current presentation time after each presentation unit
from that sequence is processed for presentation, and based on the
comparison, releasing a presentation unit next in that presentation unit
sequence to be processed for presentation when the product matches the
current presentation time count, and deleting a presentation unit next in
that presentation unit sequence when the product exceeds the current
presentation time count.
38. The method of claim 37 wherein the retrieved media data comprises a
storage presentation unit sequence composed of presentation units for the
specified presentation unit sequences, presentation units of the specified
presentation unit sequences being alternately interleaved to compose the
storage presentation unit sequence.
39. The method of claim 38 wherein the start time of presentation
processing is common to all of the specified presentation unit sequences,
whereby the specified presentation unit sequences are synchronously
processed for simultaneous synchronous presentation.
40. The media data processor of claim 39 wherein the specified media data
presentation unit sequences comprise a video frame sequence including a
plurality of intracoded video frames.
41. The media data processor of claim 40 wherein each frame of the video
frame sequence comprises an intracoded video frame.
42. The media data processor of claim 1 wherein each of the plurality of
intracoded video frames comprises a key frame and is followed by a
plurality of corresponding non-key frames, each key frame including media
data information required for presentation of the following corresponding
non-key frames.
43. The media data processor of claim 41 wherein the specified media data
presentation unit sequences comprise a motion JPEG video sequence and an
audio sequence.
44. A computer-based media data processor for controlling transmission of
digitized media data in a packet switching network, the media data
comprising a sequence of continuous time-based presentation units, each
unit characterized by a prespecified presentation duration and
presentation time during a computer presentation of the media data and
further characterized as a distinct media data type, the network
comprising a plurality of client computer processing nodes interconnected
via packet-based data distribution channels, the media data processor
comprising:
a remote media data controller for receiving from a client processing node
a request for presentation of specified presentation unit sequences;
a remote media data input manager for receiving from the remote media data
controller an indication of the specified presentation unit sequences, and
in response to the request, retrieving media data from a corresponding
media access location, determining the media data type of each
presentation unit in the retrieved media data, designating each retrieved
presentation unit to a specified media data presentation unit sequence
based on the media data type determination for that presentation unit,
assembling a sequence of presentation descriptors for each of the
specified presentation unit sequences, each descriptor comprising media
data for one designated presentation unit in that sequence, all
presentation descriptors in an assembled sequence being of a common media
data type, associating each presentation descriptor with a corresponding
presentation duration and presentation time, based on the retrieved media
data, and linking the descriptors in each assembled sequence to establish
a profession of presentation units in each of the specified presentation
unit sequences;
a remote network media data manager connected to the remote media data
input manager, for accepting from the remote media data manager the
assembled specified presentation descriptor sequences one presentation
descriptor at a time, assembling transmission presentation unit packets
each composed of at least a portion of a presentation descriptor and its
media data, all presentation descriptors and media data in an assembled
packet being of a common media data type, and releasing the assembled
packets for transmission via the network to the client processing node
requesting presentation of the specified presentation unit sequences;
a local media data controller for transmitting the request for presentation
of specified presentation unit sequences from the client processing node
to the remote media data controller via the network and controlling
starting and stopping of sequence presentation in response to user
specifiedations;
a local network media data manager for receiving from the local media data
controller an indication of the specified presentation unit sequences,
receiving the transmission presentation unit packets transmitted from the
remote network media data manager via the network, designating a
presentation unit sequence for each presentation descriptor and its media
in the received packets to thereby assemble the presentation descriptor
sequences each corresponding to one specified presentation unit sequence,
all presentation descriptors and media data in an assembled sequence being
of a common media data type, and linking the descriptors in each assembled
sequence to establish a progression of presentation units for each of the
presentation unit sequences; and
a local media data interpreter, connected to the local network media data
manager, for accepting the assembled presentation descriptor sequences one
descriptor at a time and releasing the sequences for presentation one
presentation unit at a time, indicating a start time of presentation
processing of the sequences, maintaining a current presentation time as
the sequences are processed for presentation, and based on the
presentation duration of each presentation unit, synchronizing
presentation of the specified presentation unit sequences with the current
presentation time.
45. The media data processor of claim 44 wherein the specified media data
presentation unit sequences comprise a video frame sequence including a
plurality of intracoded video frames.
46. The media data processor of claim 45 wherein each frame of the video
frame sequence comprises an intracoded video frame.
47. The media data processor of claim 46 wherein the video frame sequence
comprises a motion JPEG video sequence.
48. The media data processor of claim 45 wherein each of the plurality of
intracoded video frames comprises a key frame and is followed by a
plurality of corresponding non-key frames, each key frame including media
data information required for presentation of the following corresponding
non-key frames.
49. The media data processor of claim 45 wherein the specified presentation
unit sequences comprise a motion JPEG video sequence and an audio
sequence.
50. The media data processor of claim 44 wherein the media access location
comprises a computer storage location.
51. The media data processor of claim 50 wherein the computer storage
location comprises a computer file.
52. The media data processor of claim 44 wherein the local media data
interpreter synchronizes presentation of the specified presentation unit
sequences by comparing for each of the presentation descriptors in each of
the presentation descriptor sequences the presentation time corresponding
to that descriptor with the currently maintained presentation time, and
based on the comparison, releasing a next sequential presentation unit to
be processed for presentation when the corresponding presentation time of
that descriptor matches the current presentation time, and deleting a next
sequential presentation unit to be processed for presentation when the
current presentation time exceeds the corresponding presentation time of
that descriptor.
53. The media data processor of claim 44 wherein the local media data
interpreter synchronizes presentation of the specified presentation unit
sequences by counting each presentation unit in the sequences after that
presentation unit is released to be processed for presentation, to
maintain a distinct current presentation unit count for each sequence,
comparing for each of the presentation unit sequences a product of the
presentation unit duration and the current presentation unit count of that
sequence with the currently maintained presentation time after a
presentation unit from that sequence is released to be processed for
presentation, and based on the comparison, releasing a next sequential
presentation unit in that presentation unit sequence when the product
matches the currently maintained presentation time, and deleting a next
sequential presentation unit in that presentation unit sequence when the
product exceeds the currently maintained presentation time.
54. The media data processor of claim 52 wherein the local media data
interpreter determines for each presentation descriptor sequence
availability of a next sequential presentation descriptor in that sequence
when the currently maintained presentation time indicates that a
presentation unit should be released for presentation, and based on that
availability, generates and releases a virtual presentation unit of the
corresponding presentation duration to be presented as a default
presentation unit each time a next presentation descriptor in that
sequence is not available and until a next presentation descriptor is
available.
55. The media data processor of claim 53 wherein the local media data
interpreter determines for each presentation descriptor sequence
availability of a next sequential presentation descriptor in that sequence
when based on said comparison a presentation unit should be released for
presentation, and based on that availability, generates and releases a
virtual presentation unit of the corresponding presentation duration to be
presented as a default presentation unit each time a next presentation
descriptor in that sequence is not available and until a next presentation
descriptor is available.
56. The media data processor of either of claims 54 or 55 wherein the local
media data interpreter is adapted to monitor and identify a previously
unavailable presentation descriptor when that descriptor is later
available, and in response to identification of the later available
descriptor, withholding the later available presentation unit from release
for presentation, whereby the later available unit is not presented.
57. The media data processor of either of claims 54 or 55 wherein the
specified presentation unit sequences comprises a motion video sequence of
video frames and an audio sequence of audio samples, and wherein each
virtual video presentation unit comprises a most recently presented video
frame and each virtual audio presentation unit comprises silent audio
samples.
58. The media data processor of either of claims 54 or 55 wherein the
specified presentation unit sequences comprise an audio sequence and a
video frame sequence composed of a plurality of key video frames, each key
frame followed by a plurality of corresponding non-key frames, each key
frame including media data information required for presentation of the
following corresponding non-key frames, and wherein the local media data
interpreter is adapted to monitor and identify a previously unavailable
presentation descriptor corresponding to a key frame when that descriptor
is later available, and in response to identification of the later
available key frame descriptor, withholding the descriptor and any
following descriptors, corresponding to non-key frames following the key
frame, from release for presentation, whereby the later available key
frame and following non-key frames are not presented.
59. The media data processor of claim 50 wherein the media data retrieved
by the remote media data input manager comprises a plurality of storage
presentation unit sequences, each storage presentation unit sequence
composed of presentation units for a specified presentation unit sequence
and all presentation units in a storage presentation unit sequence being
of a common media data type, and wherein the start time of presentation
processing indicated by the local media data interpreter is common to all
of the specified presentation descriptor sequences, whereby the
presentation unit sequences are synchronously processed for simultaneous
synchronous presentation.
60. The media data processor of claim 50 wherein the network comprises a
local area network.
61. The media data processor of claim 50 wherein the network comprises a
wide area network.
62. The media data processor of claim 60 wherein the remote media data
controller advertises to client computer processing nodes, via the
network, an indication of specified presentation unit sequences that may
be requested from that remote media data controller.
63. The media data processor of claim 44 wherein the media access location
comprises a digitized representation of analog media data captured in real
time.
64. The media data processor of claim 44 wherein the media access location
comprises a PBX server.
65. The media data processor of claim 44 wherein presentation of the
specified presentation unit sequences comprises display of the
presentation unit sequences.
66. The media data processor of claim 44 wherein presentation of the
specified presentation unit sequences comprises VCR tape printing of the
presentation unit sequences.
67. The media data processor of claim 65 wherein display of the
presentation unit sequences comprises display on a computer monitor.
68. The media data processor of claim 65 wherein display of the
presentation unit sequences comprises display on a television monitor.
69. The media data processor of claim 44 wherein presentation of the
specified presentation unit sequences comprises recording the sequences at
a computer storage location.
70. The media data processor of claim 44 wherein presentation of the
specified presentation unit sequences comprises sending the sequences to a
PBX server.
71. The media data processor of claim 44 wherein the media access location
comprises an access point to a public switch network.
72. The media data processor of claim 44 wherein presentation of the
specified presentation unit sequences comprises sending the sequences to
an access point in a public switch network.
73. The media data processor of claim 44 wherein the remote media data
controller further receives from the local media data controller via the
network an indication of a specified presentation data rate at which the
specified presentation unit sequences are to be transmitted via the
network to the client node, and in response, the remote media data
controller indicates the specified presentation data rate to the remote
media data input manager and the remote media data network manager;
further wherein the media data retrieved by the remote media data input
manager comprises a plurality of storage presentation unit sequences
stored in a computer storage location, each storage presentation unit
sequence composed of presentation units corresponding to a specified
presentation unit sequence and all presentation units in a storage
presentation unit sequence being of a common media data type; and
further wherein the remote media data input manager designates each of a
portion of the presentation unit descriptors as the descriptor sequences
are assembled, the portion including a number of descriptors based on the
specified presentation data rate, each designated descriptor comprising
null media data, to thereby compose the presentation descriptor sequences
with only a portion of storage presentation unit media data, whereby the
specified presentation unit sequences attain the specified presentation
data rate of transmission.
74. The media data processor of claim 44 wherein the remote media data
controller further receives from the local media data controller via the
network an indication of a specified presentation data rate at which the
specified presentation unit sequences are to be transmitted via the
network to the client node, and in response, the remote media data
controller indicates the specified presentation data rate to the remote
media data input manager and the remote media data network manager;
further wherein the media data retrieved by the remote media data input
manager comprises a storage presentation unit sequence stored in a
computer storage location, presentation units of the storage presentation
unit sequence comprising alternately interleaved presentation units from
the specified presentation unit sequences; and
further wherein the remote network media data manager designates each of a
portion of the presentation descriptors as the transmission presentation
unit packets are assembled, the portion including a number of descriptors
based on the specified presentation data rate, each designated descriptor
comprising null media data, to thereby compose the transmission
presentation unit packets with only a portion of specified sequence
presentation unit media data, whereby the transmission presentation unit
packets attain the specified presentation data rate of transmission.
75. The media data processor of either of claims 73 or 74 wherein the
specified presentation unit sequences comprise a motion video frame
sequence including a plurality of intracoded video frames and an audio
sequence.
76. The media data processor of claim 73 wherein the specified presentation
unit sequences include an audio sequence composed of audio presentation
units having corresponding audio storage presentation units; and
wherein the portion of presentation units having a presentation unit
sequence designation includes all audio storage presentation units.
77. The media data processor of claim 74 wherein the specified presentation
unit sequences include an audio sequence composed of audio presentation
units; and
wherein the portion of presentation units having a transmission
presentation unit packet designation includes all audio presentation
units.
78. The media data processor of either of claims 73 or 74 wherein the local
media data controller receives from the client node a client
user-specified indication of a specified presentation data rate at which
the specified presentation unit sequences are to be transmitted to the
client node.
79. The media data processor of either of claims 73 or 74 wherein the local
network media data manager monitors availability of presentation
descriptors as they are accepted by the local media data interpreter one
descriptor at a time from the local network media data manager, and based
on the availability, indicates the specified presentation data rate to the
local media data controller for indication to the remote media data
controller.
80. The media data processor of claim 79 wherein the local network media
data manager indicates a specified presentation data rate that is higher
than a current presentation unit sequence transmission rate when the
monitored availability increases to prespecified upper availability.
81. The media data processor of claim 79 wherein the local network media
data manager indicates a specified presentation data rate that is lower
than a current presentation unit sequence transmission rate when the
monitored availability decreases to a prespecified lower availability.
82. A method for controlling transmission of digitized media data in a
packet switching network, the media data comprising a sequence of
continuous time-based presentation units, each unit characterized by a
prespecified presentation duration and presentation time during a computer
presentation of the media data and further characterized as a distinct
media data type, the network comprising a plurality of client computer
processing nodes interconnected via packet-based data distribution
channels, the method comprising:
receiving from a client processing node a request for presentation of
specified presentation unit sequences;
in response to the request, retrieving media data from a corresponding
media access location;
determining the media data type of each presentation unit in the retrieved
media data;
designating each retrieved presentation unit to a specified media data
presentation unit sequence based on the media data type determination for
that presentation unit;
assembling a sequence of presentation descriptors for each of the specified
presentation unit sequences, each descriptor comprising media data for one
designated presentation unit in that sequence, all presentation
descriptors in an assembled sequence being of a common media data type;
associating each presentation descriptor with a corresponding presentation
duration and presentation time, based on the retrieved media data;
linking the descriptors in each assembled sequence to establish a
progression of presentation units in each of the specified presentation
unit sequences;
assembling transmission presentation unit packets each composed of at least
a portion of a presentation descriptor and its media data, all
presentation descriptors and media data in an assembled packet being of a
common media data type; and
releasing the assembled packets for transmission via the network to the
client processing node requesting presentation of the specified
presentation unit sequences.
83. The method of claim 82 further comprising:
receiving at the client processing node the transmission presentation unit
packets via the network;
designating a presentation unit sequence for each presentation descriptor
and its media data in the received packets to thereby assemble the
presentation descriptor sequences each corresponding to one specified
presentation unit sequence, all presentation descriptors in an assembled
sequence being of a common media data type;
linking the descriptors in each assembled sequence to establish a
progression of presentation units for each of the presentation unit
sequences;
indicating a start time of presentation processing of the sequences;
maintaining a current presentation time as the descriptor sequences are
processed for presentation; and
based on the presentation duration of each presentation unit, synchronizing
presentation of the specified presentation unit sequences with the current
presentation time.
84. The method of claim 82 wherein the specified presentation unit
sequences comprise an intracoded video frame sequence and an audio
sequence.
85. The method of claim 83 wherein the step of synchronizing presentation
of the specified presentation unit sequences comprises:
comparing for each of the presentation descriptors in each of the
presentation descriptor sequences the presentation time corresponding to
that descriptor with the currently maintained presentation time; and
based on the comparison, releasing a next sequential presentation unit to
be processed for presentation when the corresponding presentation time of
that descriptor matches the current presentation time, and deleting a next
sequential presentation unit to be processed for presentation when the
current presentation time exceeds the corresponding presentation time of
that descriptor.
86. The method of claim 83 wherein the step of synchronizing presentation
of the specified presentation unit sequences comprises:
counting each presentation descriptor in the sequences after that
presentation unit is released to be processed for presentation, to
maintain a distinct current presentation unit count for each sequence;
comparing for each of the presentation unit sequences a product of the
presentation unit duration and the current presentation descriptor count
of that sequence with the currently maintained presentation time after a
presentation unit from that sequence is released to be processed for
presentation; and
based on the comparison, releasing a next sequential presentation unit in
that presentation unit sequence when the product matches the currently
maintained presentation time, and deleting a next sequential presentation
unit in that presentation unit sequence when the product exceeds the
currently maintained presentation time.
87. The method of claim 83 further comprising:
receiving via the network an indication of a specified presentation data
rate at which the specified presentation unit sequences are to be
transmitted via the network to the client node, further wherein the media
data retrieved comprises a plurality of storage presentation unit
sequences stored in a computer storage location, each storage presentation
unit sequence composed of presentation units corresponding to a specified
presentation unit sequence and all presentation units in a storage
presentation unit sequence being of a common media data type; and
designating each of a portion of the presentation unit descriptors as the
descriptor sequences are assembled, the portion including a number of
descriptors based on the specified presentation data rate, each designated
descriptor comprising null media data, to thereby compose the presentation
descriptor sequences with only a portion of storage presentation unit
media data, whereby the specified presentation unit sequences attain the
specified presentation data rate of transmission.
88. The method of claim 83 further comprising:
receiving via the network an indication of a specified presentation data
rate at which the specified presentation unit sequences are to be
transmitted via the network to the client node, further wherein the media
data retrieved comprises a storage presentation unit sequence stored in a
computer storage location, presentation units of the storage presentation
unit sequence comprising alternately interleaved presentation units from
the specified presentation unit sequences; and
designating each of a portion of the presentation descriptors as the
presentation descriptor sequences are assembled, the portion including a
number of descriptors based on the specified presentation data rate, each
designated descriptor comprising null media data, to thereby compose the
transmission presentation unit packets with only a portion of specified
sequence presentation unit media data, whereby the transmission
presentation unit packets attain the specified presentation data rate of
transmission.
89. The method of either of claims 87 or 88 further comprising:
monitoring availability of presentation descriptors after the descriptors
are received at the client node and before the descriptors are presented;
and
based on the availability, indicating the specified presentation data rate
via the network.
90. A computer-based media data processor for capturing and controlling
transmission of digitized media data in a packet switching network, the
media data comprising a sequence of continuous time-based presentation
units, each unit characterized by a prespecified presentation duration and
| | |