Methods and apparatus for streaming DICOM images through data element sources and sinks
First Claim
1. A method for communicating digital data from a first device to a second device using a fixed amount of memory, wherein the digital data defines data elements, comprising:
- providing an input stream of bytes representing the digital data from the first device;
creating a data element source from the input stream of bytes;
creating an output stream of bytes representing the digital data received at a second device;
creating a data element sink configured to provide one or more bytes to the output stream of bytes;
creating a communication engine configured to use the data element source and data element sink;
requesting a data element from the data element source;
converting the next bytes from the input stream of bytes to a data element;
providing the data element to the data element sink; and
converting the data element to bytes and providing the bytes to the output stream of bytes.
12 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for streaming DICOM images or objects through data element sources and sinks. Digital data contained in relatively large DICOM objects of any size can be transmitted between applications, devices, or storage media in a network. The use of data element sources and data element sinks to incrementally process data elements and data values one at a time, minimizes the amount of memory needed to perform a DICOM operation. The methods and apparatus according to the present invention limit the consumption of memory resources while providing a relatively small, fixed amount of memory for handling a relatively large DICOM object, while maintaining the performance of applications operating in the DICOM network.
-
Citations
50 Claims
-
1. A method for communicating digital data from a first device to a second device using a fixed amount of memory, wherein the digital data defines data elements, comprising:
-
providing an input stream of bytes representing the digital data from the first device;
creating a data element source from the input stream of bytes;
creating an output stream of bytes representing the digital data received at a second device;
creating a data element sink configured to provide one or more bytes to the output stream of bytes;
creating a communication engine configured to use the data element source and data element sink;
requesting a data element from the data element source;
converting the next bytes from the input stream of bytes to a data element;
providing the data element to the data element sink; and
converting the data element to bytes and providing the bytes to the output stream of bytes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
26. A method for communicating digital data from a first device to a second device using a fixed amount of memory, wherein the digital data defines data elements and data values, comprising:
-
defining a limited number of data values to be stored in a data stream;
incrementally reading a set of data elements from a first device so that each data element is read one at a time;
extracting a data value from each data element;
creating a data stream with only a limited number of the data values;
if the predefined limit of data values is reached, then transmitting the data stream containing the limited number of data values to a second device; and
extracting the data values from the data stream.
-
-
39. A method for communicating a file containing digital data from a first device to a second device using a fixed amount of memory, wherein the digital data defines data elements and data values, comprising:
-
receiving a file containing digital data from a first device;
extracting a data value from each data element to be communicated;
creating a data stream containing data values for the file containing digital data;
creating a data element source based on the data stream;
incrementally processing the data values one at a time from the data stream through the data element source;
and transmitting the data values to a second device. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. An apparatus for streaming digital data between two devices in a network using a fixed amount of memory, comprising:
a communications module comprising, a data element source configured for providing a set of data elements from a first device, and further configured for incrementally reading a single data element at a time from the set of data elements;
a communications engine configured for transmitting each data element from the data element source; and
a data element sink configured for incrementally receiving data elements from the data communications engine for encoding each data element into a data stream, and further configured for transmitting the encoded data stream to a second device.
Specification