U.S. patent application number 11/210212 was filed with the patent office on 2007-03-08 for automated identification of cardiac events with medical ultrasound.
This patent application is currently assigned to Siemens Medical Solutions USA, Inc.. Invention is credited to John I. Jackson, Lei Sui.
Application Number | 20070055158 11/210212 |
Document ID | / |
Family ID | 37830871 |
Filed Date | 2007-03-08 |
United States Patent
Application |
20070055158 |
Kind Code |
A1 |
Jackson; John I. ; et
al. |
March 8, 2007 |
Automated identification of cardiac events with medical
ultrasound
Abstract
Automated analysis of ultrasound data is provided to extract
event times, such as valve opening and closing times. Different
types of ultrasound data, such as B-mode, M-mode, tissue velocity
or flow velocity, are processed by a processor to identify
automatically the event times. The event times are used for the
processing of ultrasound data or to assist diagnosis. The event
times may be used to estimate other event times in different heart
cycles, such as with interpolation or extrapolation.
Inventors: |
Jackson; John I.; (Menlo
Park, CA) ; Sui; Lei; (Renton, WA) |
Correspondence
Address: |
SIEMENS CORPORATION;INTELLECTUAL PROPERTY DEPARTMENT
170 WOOD AVENUE SOUTH
ISELIN
NJ
08830
US
|
Assignee: |
Siemens Medical Solutions USA,
Inc.
|
Family ID: |
37830871 |
Appl. No.: |
11/210212 |
Filed: |
August 22, 2005 |
Current U.S.
Class: |
600/443 |
Current CPC
Class: |
A61B 8/488 20130101;
A61B 6/503 20130101; A61B 8/08 20130101; A61B 8/06 20130101; A61B
8/12 20130101; A61B 8/463 20130101; A61B 8/469 20130101; A61B
8/0883 20130101; A61B 5/11 20130101 |
Class at
Publication: |
600/443 |
International
Class: |
A61B 8/00 20060101
A61B008/00 |
Claims
1. A method for automated identification of a cardiac event, the
method comprising: obtaining ultrasound data responsive to a heart
valve; and identifying, with a processor, an opening, closing or
both opening and closing of the heart value as a function of the
ultrasound data.
2. The method of claim 1 wherein obtaining comprises obtaining
b-mode images, an m-mode strip image, a spectral Doppler image,
tissue velocity images, fluid velocity images, or combinations
thereof.
3. The method of claim 2 wherein obtaining comprises obtaining
b-mode images and wherein identifying comprises determining a
correlation between the b-mode images.
4. The method of claim 2 wherein obtaining comprises obtaining the
m-mode strip image and wherein identifying comprises identifying a
pattern corresponding to the opening, closing or both opening and
closing.
5. The method of claim 2 wherein obtaining comprises obtaining the
spectral Doppler image and wherein identifying comprises detecting
an envelope and identifying locations of minimum flow on either
side of peaks in a positive or a negative portion of the
envelope.
6. The method of claim 2 wherein obtaining comprises obtaining
tissue velocity images and wherein identifying comprises averaging
velocities from a region of interest associated with the heart
valve as a function of time and identifying one or more notches
near zero velocity in the average velocity as a function of
time.
7. The method of claim 6 wherein identifying the one or more
notches is a function of an R-wave event.
8. The method of claim 1 wherein identifying is performed as a
function of a user indication of an identity of the heart
valve.
9. The method of claim 1 further comprising: determining a timing
of the opening, closing or both opening and closing of the heart
value relative to a heart cycle.
10. The method of claim 9 further comprising: performing automatic
ejection fraction, strain rate analysis, dyssynchrony analysis or
combinations thereof as a function of the timing.
11. The method of claim 9 wherein the heart cycle has a first heart
cycle length; further comprising: interpolating or extrapolating
the timing as a function of the first heart cycle length
relationship to another heart cycle length.
12. A system for automated identification of a cardiac event, the
system comprising: a memory operable to store ultrasound data
responsive to a heart valve; and a processor operable to identify
heart valve motion with the ultrasound data.
13. The system of claim 12 wherein the ultrasound data comprises
b-mode images, an m-mode strip image, a spectral Doppler image,
tissue velocity images, fluid velocity images, or combinations
thereof.
14. The system of claim 12 wherein the processor is operable to
identify by determining a correlation or pattern between the
ultrasound data as a function of time.
15. The system of claim 12 wherein the processor is operable to
identify as a function of a parameter variation as a function of
time.
16. The system of claim 12 wherein the processor is operable to
identify as a function of a user indication of an identity of a
heart valve.
17. The system of claim 12 wherein the processor is operable to
determine a timing of an opening, closing or both opening and
closing of a heart value relative to a heart cycle.
18. The system of claim 17 wherein the processor is operable to
perform automatic ejection fraction, strain rate analysis,
dyssynchrony analysis or combinations thereof as a function of the
timing.
19. The system of claim 17 wherein the heart cycle has a first
heart cycle length, and wherein the processor is operable to
interpolate or extrapolate the timing as a function of the first
heart cycle length relationship to another heart cycle length.
20. A method for automated identification of a cardiac event, the
method comprising: obtaining a first cardiac event time relative to
a first heart cycle length; interpolating or extrapolating a second
cardiac event time relative to a second heart cycle length as a
function of the first cardiac cycle time, the first heart cycle
length and the second heart cycle length.
21. The method of claim 20 wherein interpolating or extrapolating
comprises interpolating the second cardiac event time relative to
the second heart cycle length from the first cardiac event time and
a third cardiac event time relative to a third heart cycle
length.
22. The method of claim 20 wherein interpolating or extrapolating
comprises extrapolating.
23. The method of claim 20 wherein obtaining the first cardiac
event time comprises automatically identifying a heart valve
opening or closing time relative to the first heart cycle event
from ultrasound data.
24. The method of claim 20 further comprising: performing automatic
ejection fraction, strain rate analysis, dyssynchrony analysis or
combinations thereof as a function of the second cardiac event
time.
Description
BACKGROUND
[0001] The present embodiments relate to identification of cardiac
events. In particular, heart value opening and/or closing is
identified.
[0002] Heart valve opening and/or closing times may have diagnostic
significance. To identify heart valve timing, the valve opening and
closing times are manually measured, typically using ultrasound
data. For example, the user positions a caliper marker along an ECG
trace displayed adjacent to an ultrasound M-mode or spectral
Doppler (PW or CW) image. The user identifies the opening and
closing times by selecting the appropriate times on the ECG trace.
The imaging system indicates the selected times as a caliper
output. The manually identified and selected times are then either
written down or entered into a database of patient measurements. If
subsequent components of the patient exam require these times, the
times are manually or automatically recalled and used. These manual
time measurements may be time consuming and inconvenient.
BRIEF SUMMARY
[0003] By way of introduction, the preferred embodiments described
below include methods, instructions and systems for automated
analysis of ultrasound data to extract event times, such as valve
opening and closing times. Different types of ultrasound data, such
as B-mode, M-mode, tissue velocity or flow velocity, are processed
by a processor to identify automatically the event times. The event
times are used for the processing of ultrasound data or to assist
diagnosis. The event times may be used to estimate other event
times in different heart cycles, such as with interpolation or
extrapolation.
[0004] In a first aspect, a method is provided for automated
identification of a cardiac event. Ultrasound data responsive to a
heart valve is obtained. A processor identifies an opening, closing
or both opening and closing of the heart value as a function of the
ultrasound data.
[0005] In a second aspect, a system is provided for automated
identification of a cardiac event. A memory is operable to store
ultrasound data responsive to a heart valve. A processor is
operable to identify heart valve motion with the ultrasound
data.
[0006] In a third aspect, a method is provided for automated
identification of a cardiac event. A first cardiac event time
relative to a first heart cycle length is obtained. A second
cardiac event time relative to a second heart cycle length is
interpolated or extrapolated as a function of the first cardiac
cycle time, the first heart cycle length and the second heart cycle
length.
[0007] The present invention is defined by the following claims,
and nothing in this section should be taken as a limitation on
those claims. Further aspects and advantages of the invention are
discussed below in conjunction with the preferred embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The components and the figures are not necessarily to scale,
emphasis instead being placed upon illustrating the principles of
the invention. Moreover, in the figures, like reference numerals
designate corresponding parts throughout the different views.
[0009] FIG. 1 is a block diagram of one embodiment of a system for
automated identification of a cardiac event;
[0010] FIG. 2 is a flow chart of one embodiment of a method for
automated identification of a cardiac event;
[0011] FIG. 3 is a graphical representation of one example of
velocity as a function of time associated with a cardiac event;
[0012] FIG. 4 is a graphical representation of one example of
continuous wave ultrasound data associated with a cardiac
event;
[0013] FIG. 5 is a graphical representation of one example of
M-mode ultrasound data associated with a cardiac event; and
[0014] FIG. 6 is a graphical representation of another example of
M-mode ultrasound data associated with a cardiac event.
DETAILED DESCRIPTION OF THE DRAWINGS AND PRESENTLY PREFERRED
EMBODIMENTS
[0015] Cardiac resynchronization therapy and strain rate analysis
contribute to complex analysis of myocardial function. Intelligent
algorithms may significantly reduce the time and effort required to
derive the appropriate information from medical images for complex
analysis. The extraction of the opening and closing times of the
heart valves is important and time consuming when performed
manually. By automating identification of heart valve events, more
efficient examination or diagnosis may be provided. The heart valve
event information may be intrinsically useful and displayed or
included in a patient report. For use in cardiac analysis, the
automatically determined heart valve events provide an appropriate
time window to use to assess systolic cardiac synchrony, the
automatic identification of post-systolic contraction associated
with ischemia or other analysis of medical images.
[0016] A table of cardiac event times may be generated covering a
range of R-R intervals. The table is used to predict, such as based
on interpolation or extrapolation, event times at new R-R
intervals. The predication allows for further assistance of image
analysis or diagnosis.
[0017] FIG. 1 shows a system 10 for automated identification of
cardiac events. The system 10 includes an imaging system 12 with a
processor 14 and a memory 16, and a display 18. Additional,
different or fewer components may be provided. For example, a
transducer and beamformers connect with the processor 14. In one
embodiment, the system 10 is a medical diagnostic ultrasound
imaging system. Other medical (e.g., MRI, CT, x-ray, or PET) or
non-medical imaging systems may be used. In another embodiment, the
system 10 is a computer, workstation, laptop or other data
processing device for processing stored or transferred data.
[0018] The memory 16 is video random access memory, random access
memory, removable media (e.g. diskette or compact disc), optical
memory, magnetic memory, hard drive, database, corner turning
memory, cache or other memory device for storing data or video
information. In one embodiment, the memory 16 is a system memory
for access by the processor 14. The memory 16 is operable to store
ultrasound or other medical data formatted in an acoustic grid, a
Cartesian grid, both a Cartesian coordinate grid and an acoustic
grid, or ultrasound data representing a volume in a 3D grid.
Different frames of data, images or portions of images are
associated with different times, such as different absolute times,
relative times or times with respect to a heart cycle. The
different times are stored with the data, such as in a header. The
memory 16 or a different memory stores instructions for operation
of the processor 14 or other devices in the imaging system 12.
[0019] The memory 16 is operable to store ultrasound or other
medical data responsive to a heart valve. The data represents a
single image, multiple images, a sequence of images, a parameter as
a function of time and/or space, or other information. Image data
includes data not yet displayed or even not yet formatted for
display. For ultrasound data, the data responsive to the heart
valve is acquired using any of various imaging modes, such as
B-mode images, an M-mode strip image, a spectral Doppler strip,
tissue velocity images, fluid velocity images, or combinations
thereof. Valve opening and closing times can be extracted from
various modes of imaging. For example, a pattern change along the
beam line or logical line is identified from an M-mode image. As
another example, a pattern change in the region of the valve is
identified from 2D or 3D B-mode clips. As yet another example, a
characteristic change in the velocity of the basal septum occurs
with aortic valve opening and closing in tissue Doppler velocity
images. As another example, the onset of cessation of flow in the
vicinity of the appropriate valve indicates valve opening and
closing in color Doppler Velocity images (i.e., fluid flow
velocity) or in PW or CW Doppler images (i.e., spectral
Doppler).
[0020] The processor 14 is one or more general processors, control
processors, application-specific integrated circuits,
field-programmable gate arrays, digital circuits, analog circuits,
digital signal processors, combinations thereof, or other now known
or later developed devices for identifying cardiac events from
data. The memory 16 connects with the processor 14 for accessing
data for or during automatic analysis by the processor 14. The
functions, acts or tasks illustrated in the figures or described
herein are performed by the processor 14 executing instructions
stored in or on computer-readable storage media.
[0021] The processor 14 identifies heart valve motion with the
ultrasound data. For example, the processor 14 determines an amount
of correlation or pattern match between the ultrasound data as a
function of time. As another example, the processor 14 identifies
the motion as a function of a parameter variation as a function of
time. The process is automatic, such as being performed without
user intervention or changes once initiated. User input may be used
in the process. For example, the user indicates a region, volume,
area, line or point of interest associated with one or more heart
valves. As another example, the user indicates an identity of a
heart valve. The user indication is direct, such as by selecting a
type of heart valve, or indirect, such as inferring the type of
heart valve from the user making specific manual measurements on an
image or selecting certain imaging presets. The processor 14
operates differently to identify cardiac events depending on the
type of heart valve.
[0022] The processor 14 selects an algorithm for identifying heart
valve motion, such as opening and/or closing events. Other data to
be used by the algorithm is obtained, such as a region of interest
being obtained by user indication and/or tracking. The data for
analysis is obtained, such as selecting a clip of images or a
strip. A subset of the data may be used, such as limiting a search
for a cardiac event to approximate time intervals. For example, if
the user measures the peak velocity of an aortic stenosis jet, the
analysis searches the data for the start and end of the flow
towards the transducer starting soon after the R-wave and ending
roughly 300-400 ms after the R-wave.
[0023] The processor 14 identifies the cardiac events as a function
of the type of data available. For example, a sequence of tissue
velocity data (e.g., tissue Doppler velocity) is available, such as
associated with strain rate imaging. The data represents the aortic
or other valve, such as being associated with scanning the basal
septum. FIG. 3 shows an average velocity for a region of interest
corresponding to the basal septum. A median or other function may
be used. The velocity of other regions, such as the heart valve may
be used. The valve opening time corresponds to a notch 30 with a
velocity near zero soon after the R-wave or negative peak. The ECG
is shown by a small graph at the bottom of FIG. 3, and the R-waves
are indicated by the large bumps in that graph. Small circles have
been placed on top of these bumps to indicate the location of the
peak of each R-wave. The valve closing time corresponds to a notch
32 with a velocity near zero after a large positive peak and/or in
the 250 ms-400 ms range after the R-wave. The algorithm identifies
these notches 30, 32. In another approach, the algorithm locates
the maximum positive peak in a given heart cycle and then
identifies the first sufficiently large notches 30, 32 before and
after the maximum positive peak. Other approaches may be used.
[0024] As another example, the available data is continuous wave
(CW) or pulsed wave (PW) Doppler (e.g., spectral Doppler) data.
FIG. 4 shows one example of a strip 34 of CW Doppler data. The
range gate location is positioned at the valve, such as the aortic
valve. The envelope of the flow is determined, such as by applying
a threshold, filtering and/or other process. The local minima near
the beginning and ending of a continuous outflow are identified
from the envelope as the opening 36 and closing 38 of the valve.
The largest negative peak of the envelope in a heart cycle is
located. The first sufficiently large notches and/or approach of
the envelope to zero values indicate the opening 36 and closing 38
of the valve. Other approaches may be used, such as identifying
locations relative to valve clicks.
[0025] As yet another example, the available data is M-mode data.
FIGS. 5 and 6 show M-mode strips over multiple heart cycles. FIG. 5
shows a PLAX view base M-mode strip of the mitral valve. FIG. 6
shows a PLAX view based M-mode strip of the aortic valve. In one
embodiment, the opening and closing events are identified by
matching a pattern representing a heart cycle or portion of the
M-mode image associated with opening and closing to the data. In
another embodiment, the opening and closing events are identified
in FIG. 5 by locating variation in location of sufficiently strong
tissue response closest to the transducer. The user or the
processor 14 may mask the M-mode strip to exclude tissue outside of
the heart. The rapid movement of the tissue closer to the
transducer represents opening of the valve, and the end of rapid
movement away from the transducer after a subsequent further
movement towards the transducer represents closing of the valve. In
yet another embodiment, the opening and closing events are
identified in FIG. 6 by applying circular filtering to the M-mode
strip. The leftmost and rightmost edges of the resulting circular
features indicate the opening and closing of the valve. Other
approaches may be used.
[0026] As yet another example, the available data is B-mode data. A
region of interest corresponding to a line or area passing from one
chamber to another chamber through a valve is designated by the
processor 14 or the user. For example, a line is positioned through
the mitral valve in a two-dimensional B-mode image. The line is
maintained in a same position throughout a clip, tracked by the
processor 14 and/or manually positioned through the clip or
sequence of images. The intensities along the line are extracted
for each of the images. An amount of correlation of the intensities
along the line with intensities along the line in a subsequent
image is calculated. The calculation is repeated as a function of
images or time. A threshold is applied to the amount of correlation
through the sequence. Any level of correlation may be selected,
such as 40 or 60%. The threshold is static or dynamic, such as
being adaptive based on a level of inter-image variance. In one
embodiment, Otsu thresholding is applied. Any correlations below
the threshold level are set to zero or another value. The position
along the line or within the region of interest associated with a
maximum correlation between images is identified as a displacement,
indicating movement of the valve. The thresholded correlation
values are weighted, such as reciprocally, by the corresponding
displacements. A one dimensional morphology filter is applied. The
kernel of the filter is set to a width relative to the widest or
broadest range of non-zero correlations of the
displacement-weighted correlations. For example, the kernel is 80%
or other value of the broadest range. If a given consecutive set of
non-zero correlations is less than the filter kernel in length, the
correlations are set to zero. As a result, a single group of
consecutive non-zero correlations is identified for each cycle. The
single group corresponds to a closed valve and the zero regions
correspond to an open valve. The change between correlations
represents the closing and opening. Other approaches may be
used.
[0027] Combinations of more than one approach with the same data
may be used. Combinations of more than one approach with more than
one respective type of data may be used. The algorithms discussed
herein are examples, but other algorithms implemented by the
processor 14 may be used. Other algorithms for other types of
ultrasound or medical image data may be used. Opening and/or
closing of one, two or more valves for the same or different heart
cycles may be detected using the same or different data.
[0028] The processor 14 or another processor determines the timing
of opening, closing or both opening and closing of a heart value
relative to a heart cycle. Cardiac event times are measured in
reference to an ECG R-wave. The ECG wave is provided as input
information with the images or derived by the processor 14 from
ultrasound data variation. The ECG R-wave may be defined based on
the peak slope, based on the peak value measured or other
technique. Alternatively, other points in the heart cycle may be
used. In yet other alternatives, other representations of the heart
cycle are used.
[0029] In one embodiment, the processor 14 or another processor
determines the timing for one or more cycles using the algorithm or
algorithms as applied to ultrasound data and determines the timing
for one or more other cycles by extrapolation or interpolation. For
a given patient, the timing of the valve opening and closing
relative to the heart cycle may be consistent. Given a measured
length of a heart cycle, the timing of valve motion for that heart
cycle is determined based on the length of another heart cycle and
the identified timing of the cardiac event of the other heart
cycle.
[0030] The processor 14 or another processor performs automatic
ejection fraction, strain rate analysis, dyssynchrony analysis or
combinations thereof as a function of the timing. A single valve
time or a table of valve times is constructed. The times are
exported to analysis programs. For example, for the left ventricle,
the aortic valve opening and closing times and the mitral valve
opening and closing times are used to define the onset and end of
mechanical systole and the onset and end of diastolic filling. Both
valves are closed during isovolumic contraction (i.e., just prior
to aortic valve opening) and during isovolumic relaxation (i.e.,
just prior to mitral valve opening). For automatic ejection
fraction analysis, the frames and/or volumes used in the analysis
are selected as being immediately after the aortic and mitral
closing times. For automatic strain rate analysis, various
parameters such as the peak systolic strain rate, the time to the
peak systolic strain rate, and the end systolic strain are
extracted from the various intervals defined by the valve events.
For automated dyssynchrony analysis, the analysis interval is
determined by the valve events. Other automated or processor based
applications may be used in addition or alternatively. For example,
any now known or later developed computer assisted diagnosis
software, hardware or system implements a diagnosis application
using, at least in part, the cardiac event timing.
[0031] FIG. 2 shows a method for automated identification of a
cardiac event. The method is implemented with the system 10 of FIG.
1 or a different system or systems. Fewer, different or additional
acts than shown in FIG. 2 may be used. The acts may be performed in
the same or different order.
[0032] In act 22, ultrasound data responsive to a heart valve is
obtained. The data is obtained by scanning a patient with acoustic
energy. The scan may be from outside a patient or inside the
patient, such as from within an esophageus or circulatory system.
Alternatively, the ultrasound data is obtained by transfer from
storage, such as network transmission of the data from a database
or delivery of a moveable storage media.
[0033] The ultrasound data includes one or more types of data. For
example, B-mode images, an m-mode strip image, a spectral Doppler
image, tissue velocity images, fluid velocity images, or
combinations thereof are obtained. The ultrasound data may also
have temporal markers relating each frame or time increment to a
cardiac cycle. ECG or other cycle information may be provided with
the ultrasound data.
[0034] In act 24, opening, closing or both opening and closing of
the heart value is identified with a processor as a function of the
obtained ultrasound data. The processor identifies the heart valve
motion without an indication of the heart valve motion by a user.
The user may provide no input, initiate processing, provide one or
more regions of interest, indicate a type of heart valve being
analyzed, or refine cardiac event identification.
[0035] Different processing may be used to identify the heart valve
opening and/or closing. For example, a correlation is determined
between the B-mode images. Greater correlation may indicate a
stationary or closed valve and lesser correlation may indicate a
moving or open valve. Correlation with data representing the valve
in a known state may alternatively be used. As another example, a
pattern corresponding to the opening, closing or both opening and
closing is identified in an M-mode strip image. As yet another
example, an envelope is detected in a spectral Doppler image, and
the locations where the envelope is closest to zero on either side
of a peak in a positive or a negative portion of the envelope are
identified as associated with opening and closing. Locations of
minimum flow on either side of peaks in a positive or a negative
portion of the envelope indicate the opening and closing. The use
of the positive or negative portions depends on the valve being
scanned and the direction of scanning. As another example,
velocities from a region of interest associated with the heart
valve are averaged as a function of time from tissue velocity
images, and one or more notches near zero velocity in the average
velocity is identified as a function of time.
[0036] In addition to the ultrasound data, other information may be
used to identify the cardiac events. ECG or heart cycle signals may
be used, such as to identify notches, peaks, minima, maxima or
other features as a function of an R-wave or other cyclical event.
Representative data, regions of interest, trained processes or
combinations thereof may be used.
[0037] Based on the identified opening or closing events, the
timing of the opening, closing or both opening and closing of the
heart valve is determined in act 26. The timing is relative to a
heart cycle, relative to other events or an absolute time. For
example, the amount of time from a most recent R-wave is determined
for each cardiac event. The timing and heart cycle information,
such as the length of the heart cycle, are stored or provided for
subsequent analysis.
[0038] Automatic ejection fraction, strain rate analysis,
dyssynchrony analysis or combinations thereof are performed as a
function of the timing. The timing is used to select data for
analysis or as input to the analysis function.
[0039] The cardiac cycle may not be consistent from beat to beat.
Irregularities in cardiac electrical events or in cardiac loading
conditions which are affected by the respiratory cycle may cause
variations in cardiac events from one heart cycle to the next. To
reduce these effects, the measurement of cardiac events may be
restricted to times when an R-R interval is very similar to the R-R
interval of the previous heartbeat. Alternatively, additional
timing information may be interpolated or extrapolated. The timing
information is for a same or different patient. Timing measurements
obtained from act 26 may be accumulated from one or more R-R
intervals. For example, a look-up-table of expected event times as
a function of the heart cycle lengths is created.
[0040] When an event time is required for a specific R-R interval,
the value can be interpolated or extrapolated from the measured
data. The timing is interpolated as a function of the heart cycle
length relationship to two or more similar or closest heart cycle
lengths. Alternatively, the timing is extrapolated as a function of
the heart cycle length relationship to one or more similar or
closest heart cycle lengths. The ratio of heart cycle lengths with
measured times relative to the heart cycle length without a
measured cardiac event time is determined. The ratio is applied to
the known timing to derive the non-measured timing. The derived
timing is used for diagnosis or performing an automated
application, such as performing automatic ejection fraction, strain
rate analysis, dyssynchrony analysis or combinations thereof.
[0041] The instructions for implementing the processes, methods,
applications and/or techniques discussed above are provided on
computer-readable storage media or memories, such as a cache,
buffer, RAM, removable media, hard drive or other computer readable
storage media. Computer readable storage media include various
types of volatile and nonvolatile storage media. The functions,
acts or tasks illustrated in the figures or described herein are
executed in response to one or more sets of instructions stored in
or on computer readable storage media. The functions, acts or tasks
are independent of the particular type of instructions set, storage
media, processor or processing strategy and may be performed by
software, hardware, integrated circuits, filmware, micro code and
the like, operating alone or in combination. Likewise, processing
strategies may include multiprocessing, multitasking, parallel
processing and the like. In one embodiment, the instructions are
stored on a removable media device for reading by local or remote
systems. In other embodiments, the instructions are stored in a
remote location for transfer through a computer network or over
telephone lines. In yet other embodiments, the instructions are
stored within a given computer, CPU, GPU or system.
[0042] While the invention has been described above by reference to
various embodiments, it should be understood that many changes and
modifications can be made without departing from the scope of the
invention. It is therefore intended that the foregoing detailed
description be regarded as illustrative rather than limiting, and
that it be understood that it is the following claims, including
all equivalents, that are intended to define the spirit and scope
of this invention.
* * * * *