Abstract:
In order to predictively time stamp isochronous data packets transmitted over an IEEE 1394-1995 serial bus network, an application, which is to send a stream of isochronous data packets to a receiving node, first transmits a number of dummy frames each consisting of a number of packets. Preferably, these isochronous data packets make up frames of video data. From these dummy packets, the application obtains the time stamp values within the common isochronous packet (CIP) header of each packet. Using these obtained time stamp values, the application calculates a presentation time value for each data frame to be transmitted. The obtained time stamp value from a transmitted video frame is used to calculate the presentation time for a video frame which is a number of frames ahead within the transmit queue. Once the presentation time value for a frame is calculated, that value is then inserted by the application into the CIP header for the first packet within that frame and the frame is sent to the transmit queue for transmission to the receiving node over the IEEE 1394-1995 serial bus network.
Abstract:
In order to predictively time stamp isochronous data packets transmitted over an IEEE 1394-1995 serial bus network, an application, which is to send a stream of isochronous data packets to a receiving node, first transmits a number of dummy frames each consisting of a number of packets. Preferably, these isochronous data packets make up frames of video data. From these dummy packets, the application obtains the time stamp values within the common isochronous packet (CIP) header of each packet. Using these obtained time stamp values, the application calculates a presentation time value for each data frame to be transmitted. The obtained time stamp value from a transmitted video frame is used to calculate the presentation time for a video frame which is a number of frames ahead within the transmit queue. Once the presentation time value for a frame is calculated, that value is then inserted by the application into the CIP header for the first packet within that frame and the frame is sent to the transmit queue for transmission to the receiving node over the IEEE 1394-1995 serial bus network.
Abstract:
A method of and apparatus for transmitting an isochronous video stream of data at a desired frame rate from a source device to a receiving device. A video frame is part of an isochronous stream of video data which is transmitted over an IEEE 1394-1995 serial bus network. The desired frame rate is determined by the receiving device. The source device preferably determines a proper ratio of data packets versus video frames in response to the particular frame rate required and a cycle time for isochronous data. This ratio of data packets versus video frames rarely computes to an integer result. Accordingly, the source device preferably generates two groups of frames. A first group contains an integer value of packets nearest to and above the desired overall average ratio of data packets versus video frames. The source device generates a second group of frames where each frame from this second group contains an integer value of packets nearest to and below the ratio of packets versus video frames. To achieve the desired frame rate, the source device generates a frame ratio containing a specific number of frames from the first group and the second group and forms the isochronous stream of video data. The source device serially generates each of the frames in an order including a combination of the first group of frames and the second group of frames to achieve the overall desired average frame ratio. The source device then transmits the resulting isochronous video stream of data to the receiving device at the desired frame rate.
Abstract:
Extensions to a communications protocol manage the exchange of data content and related metadata according to a hierarchical data content structure. The communications protocol is the ICE protocol, and the extensions include ICE DTD extensions. Data content is preferably offered according to a subscription service provided by a first network device. The first network device is preferably a content server. The data content is organized, and thereby distributed, according to a hierarchical data content structure defined by the ICE DTD extensions. The hierarchical data content structure provides a means for organizing the data content, preferably by subject-matter. The hierarchical data content structure includes a plurality of channels, and each channel is segmented into one or more content sub-channels. Each individual data content item is associated with at least one of the content sub-channels and corresponding channel. The individual data content item is associated with a particular channel according to the subject matter of the individual data content item and the subject-matter of the channel. In this manner, a content sub-channel with a specific subject-matter is configured and an individual data content item corresponding to the specific subject-matter is associated with the content sub-channel.
Abstract:
Extensions to a communications protocol manage the exchange of data content and related metadata according to a hierarchical data content structure. The communications protocol is the ICE protocol, and the extensions include ICE DTD extensions. Data content is preferably offered according to a subscription service provided by a first network device. The first network device is preferably a content server. The data content is organized, and thereby distributed, according to a hierarchical data content structure defined by the ICE DTD extensions. The hierarchical data content structure provides a means for organizing the data content, preferably by subject-matter. The hierarchical data content structure includes a plurality of channels, and each channel is segmented into one or more content sub-channels. Each individual data content item is associated with at least one of the content sub-channels and corresponding channel. The individual data content item is associated with a particular channel according to the subject matter of the individual data content item and the subject-matter of the channel. In this manner, a content sub-channel with a specific subject-matter is configured and an individual data content item corresponding to the specific subject-matter is associated with the content sub-channel.
Abstract:
A version based content distribution and synchronization system configured for content distribution from a syndicator to a subscriber is disclosed. The preferred system comprises version based content, a syndicator, subscriber content, and a subscriber. Preferably, the content comprises a version number and the subscriber content comprises a subscriber content version number. The version based content preferably comprises digital media. The version based content is preferably stored and organized on the syndicator in a tree like structure. The syndicator preferably compares the version number of the version based content with the subscriber content version number of the subscriber content. If the version number is greater than the subscriber content version number, the version based content is transferred from the syndicator to the subscriber. Preferably, the version based content is distributed and synchronized via an internet protocol method.
Abstract:
In order to predictively time stamp isochronous data packets transmitted over an IEEE 1394-1995 serial bus network, an application, which is to send a stream of isochronous data packets to a receiving node, first transmits a number of dummy frames each consisting of a number of packets. Preferably, these isochronous data packets make up frames of video data. From these dummy packets, the application obtains the time stamp values within the common isochronous packet (CIP) header of each packet. Using these obtained time stamp values, the application calculates a presentation time value for each data frame to be transmitted. The obtained time stamp value from a transmitted video frame is used to calculate the presentation time for a video frame which is a number of frames ahead within the transmit queue. Once the presentation time value for a frame is calculated, that value is then inserted by the application into the CIP header for the first packet within that frame and the frame is sent to the transmit queue for transmission to the receiving node over the IEEE 1394-1995 serial bus network.
Abstract:
In order to predictively time stamp isochronous data packets transmitted over an IEEE 1394-1995 serial bus network, an application, which is to send a stream of isochronous data packets to a receiving node, first transmits a number of dummy frames each consisting of a number of packets. Preferably, these isochronous data packets make up frames of video data. From these dummy packets, the application obtains the time stamp values within the common isochronous packet (CIP) header of each packet. Using these obtained time stamp values, the application calculates a presentation time value for each data frame to be transmitted. The obtained time stamp value from a transmitted video frame is used to calculate the presentation time for a video frame which is a number of frames ahead within the transmit queue. Once the presentation time value for a frame is calculated, that value is then inserted by the application into the CIP header for the first packet within that frame and the frame is sent to the transmit queue for transmission to the receiving node over the IEEE 1394-1995 serial bus network.
Abstract:
A method of and apparatus for capturing and processing Continuous media-based data streams transmitted over an IEEE 1394 serial bus manages the use of both receive buffers and process buffers in order to minimize the amount of captured data that is discarded due to unavailable process buffers. When receiving a stream of continuous data. the data is captured and stored within a current receive buffer. When the current receive buffer is full. the captured data within the receive buffer is then read out, processed and stored within a process buffer, if a process buffer is available on a cached list of process buffers. When Full of processed data, the process buffer is then transferred to an application for utilization or further processing of the processed data. If the process buffer is not completely filled, then the process buffer is added back to the cached list of process buffers. If a receive buffer is tilled and no process buffer is available or if there are already filled receive buffers on a cached list of receive buffers, the filled receive buffer is then added to the cached list of receive buffers. When a process buffer is then available, the data within the earliest filled receive buffer on the cached list of receive buffers is processed and transferred to the available process buffer. If the receive buffer is not emptied, the receive buffer is then put back on the cached list of receive buffers. When the cached list of receive buffers includes a predetermined number of buffers. the data within the earliest filled receive buffer on the cached list of receive buffers is discarded. thereby emptying the receive buffer. The emptied receive buffer is then added to the series of available receive buffers to receive the current captured data.