U.S. patent application number 12/606099 was filed with the patent office on 2010-06-24 for rendering 3d data to hogel data.
This patent application is currently assigned to ZEBRA IMAGING, INC.. Invention is credited to Thomas Lawrence Burnett, III, Wesley A. Holler, Mark E. Lucente, Gary Anthony McElroy, JR., Michael E. Weiblen.
Application Number | 20100156894 12/606099 |
Document ID | / |
Family ID | 42120026 |
Filed Date | 2010-06-24 |
United States Patent
Application |
20100156894 |
Kind Code |
A1 |
Holler; Wesley A. ; et
al. |
June 24, 2010 |
Rendering 3D Data to Hogel Data
Abstract
Methods and systems for rendering hogels, including receiving a
set of 3D data at a node, the node comprising a graphics processing
unit, storing at least a subset of the set of 3D data in a buffer,
rendering a first hogel view from the subset of 3D data using the
graphics processing unit, and rendering a second hogel view by
accessing the stored subset of 3D data using the graphics
processing unit, where the rendering of the second hogel view is
performed substantially in series to the rendering of the first
hogel view.
Inventors: |
Holler; Wesley A.; (Austin,
TX) ; McElroy, JR.; Gary Anthony; (Austin, TX)
; Weiblen; Michael E.; (Black Hawk, CO) ; Burnett,
III; Thomas Lawrence; (Austin, TX) ; Lucente; Mark
E.; (Austin, TX) |
Correspondence
Address: |
Georgios A. Georgakis;Chowdhury & Georgakis, PC
PO BOX 90277
AUSTIN
TX
78709-0277
US
|
Assignee: |
ZEBRA IMAGING, INC.
Austin
TX
|
Family ID: |
42120026 |
Appl. No.: |
12/606099 |
Filed: |
October 26, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12546049 |
Aug 24, 2009 |
|
|
|
12606099 |
|
|
|
|
61108549 |
Oct 26, 2008 |
|
|
|
Current U.S.
Class: |
345/419 |
Current CPC
Class: |
G03H 1/08 20130101; G03H
2226/02 20130101; G03H 1/2294 20130101 |
Class at
Publication: |
345/419 |
International
Class: |
G06T 15/00 20060101
G06T015/00 |
Goverment Interests
II. GOVERNMENT CONTRACT STATEMENT
[0005] The U.S. Government has a paid-up license in this invention
and the right in limited circumstances to require the patent owner
to license others on reasonable terms as provided for by the terms
of contract No. W91CRB-09-C-0031 awarded by RDECOM.
Claims
1. A method for rendering hogels, the method comprising: receiving
a set of 3D data at a node, the node comprising a graphics
processing unit; storing at least a subset of the set of 3D data in
a buffer; rendering a first hogel view from the subset of 3D data
using the graphics processing unit; and rendering a second hogel
view by accessing the stored subset of 3D data using the graphics
processing unit, where the rendering of the second hogel view is
performed substantially in series to the rendering of the first
hogel view.
2. The method of claim 1, further comprising: receiving the set of
3D data at another node, the other node comprising another graphics
processing unit, the other graphics processing unit being
configured to render substantially in parallel to the graphics
processing unit; storing at least the subset of the set of 3D data
in another buffer; and rendering another hogel view from the subset
of 3D data using the other graphics processing unit.
3. The method of claim 1, where the 3D data comprises 3D graphics
data and commands generated by a 3D application for a graphics
processing unit generating 2D views for a 2D displays.
4. The method of claim 2, further comprising: creating one or more
rendering resources; and using the one or more rendering resources
in the rendering of subsequent hogel views.
5. A system for rendering hogels, the system comprising: one or
more processors; and one or more memory units coupled to the
processor, the system being configured to: receive a set of 3D data
at a node, the node comprising a graphics processing unit; store at
least a subset of the set of 3D data in a buffer; render a first
hogel view from the subset of 3D data using the graphics processing
unit; and render a second hogel view by accessing the stored subset
of 3D data using the graphics processing unit, where the rendering
of the second hogel view is performed substantially in series to
the rendering of the first hogel view.
6. The system of claim 5, the system being further configured to:
receive the set of 3D data at another node, the other node
comprising another graphics processing unit, the other graphics
processing unit being configured to render substantially in
parallel to the graphics processing unit; store at least the subset
of the set of 3D data in another buffer; and render another hogel
view from the subset of 3D data using the other graphics processing
unit.
7. The system of claim 5, where the 3D data comprises 3D graphics
data and commands generated by a 3D application for a graphics
processing unit generating 2D views for a 2D displays.
8. The system of claim 7, the system being further configured to:
create one or more rendering resources; and use the one or more
rendering resources in the rendering of subsequent hogel views.
9. A computer program product stored on a computer operable medium,
the computer program product comprising software code being
effective to: receive a set of 3D data at a node, the node
comprising a graphics processing unit; store at least a subset of
the set of 3D data in a buffer; render a first hogel view from the
subset of 3D data using the graphics processing unit; and render a
second hogel view by accessing the stored subset of 3D data using
the graphics processing unit, where the rendering of the second
hogel view is performed substantially in series to the rendering of
the first hogel view.
10. The product of claim 9, the system being further configured to:
receive the set of 3D data at another node, the other node
comprising another graphics processing unit, the other graphics
processing unit being configured to render substantially in
parallel to the graphics processing unit; store at least the subset
of the set of 3D data in another buffer; and render another hogel
view from the subset of 3D data using the other graphics processing
unit.
11. The product of claim 9, where the 3D data comprises 3D graphics
data and commands generated by a 3D application for a graphics
processing unit generating 2D views for a 2D displays.
12. The product of claim 10, the system being further configured
to: create one or more rendering resources; and use the one or more
rendering resources in the rendering of subsequent hogel views.
Description
I. PRIORITY CLAIM
[0001] This application is a continuation of and claims priority
from:
[0002] U.S. patent application Ser. No. 12,546,049, filed 24 Aug.
2009, titled "Converting 3D Data to Hogel Data" and naming Wesley
A. Holler, et. al, as inventor(s), which in-turns claims priority
from
[0003] U.S. Provisional Application No. 61/108,549, filed 26 Oct.
2008, titled "Systems and Methods for Converting 3D Data to Hogel
Data" and naming Michael E. Weiblen, et. al, as inventor(s).
[0004] The above-referenced patents and/or patent applications are
hereby incorporated by reference herein in their entirety.
III. BACKGROUND
[0006] The invention relates generally to the field of rendering
hogels and particularly to the field of converting 3D data to hogel
data.
IV. SUMMARY
[0007] In one respect, disclosed is a method for rendering hogels,
the method comprising receiving a set of 3D data at a node, the
node comprising a graphics processing unit, storing at least a
subset of the set of 3D data in a buffer, rendering a first hogel
view from the subset of 3D data using the graphics processing unit,
and rendering a second hogel view by accessing the stored subset of
3D data using the graphics processing unit, where the rendering of
the second hogel view is performed substantially in series to the
rendering of the first hogel view.
[0008] In another respect, disclosed is a system for rendering
hogels, the system comprising one or more processors, and one or
more memory units coupled to the processor, the system being
configured to receive a set of 3D data at a node, the node
comprising a graphics processing unit, store at least a subset of
the set of 3D data in a buffer, render a first hogel view from the
subset of 3D data using the graphics processing unit, and render a
second hogel view by accessing the stored subset of 3D data using
the graphics processing unit, where the rendering of the second
hogel view is performed substantially in series to the rendering of
the first hogel view.
[0009] In yet another respect, disclosed is a computer program
product stored on a computer operable medium, the computer program
product comprising software code being effective to receive a set
of 3D data at a node, the node comprising a graphics processing
unit, store at least a subset of the set of 3D data in a buffer,
render a first hogel view from the subset of 3D data using the
graphics processing unit, and render a second hogel view by
accessing the stored subset of 3D data using the graphics
processing unit, where the rendering of the second hogel view is
performed substantially in series to the rendering of the first
hogel view.
[0010] Numerous additional embodiments are also possible. In one or
more various aspects, related articles, systems, and devices
include but are not limited to circuitry, programming,
electro-mechanical devices, or optical devices for effecting the
herein referenced method aspects; the circuitry, programming,
electro-mechanical devices, or optical devices can be virtually any
combination of hardware, software, and firmware configured to
effect the herein referenced method aspects depending upon the
design choices of the system designer skilled in the art.
[0011] The foregoing is a summary and thus contains, by necessity,
simplifications, generalizations and omissions of detail;
consequently, those skilled in the art will appreciate that the
summary is illustrative only and is not intended to be in any way
limiting. Other aspects, features, and advantages of the devices,
processes, or other subject matter described herein will become
apparent in the teachings set forth herein.
[0012] In addition to the foregoing, various other method, device,
and system aspects are set forth and described in the teachings
such as the text (e.g., claims or detailed description) or drawings
of the present disclosure.
V. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Other aspects and advantages of the invention may become
apparent upon reading the detailed description and upon reference
to the accompanying drawings.
[0014] FIG. 1 is a block diagram illustrating a system for serially
rendering 3D data to hogel data, in accordance with some
embodiments.
[0015] FIG. 2 is a block diagram illustrating a system for serially
and/or in parallel rendering 3D data to hogel data, in accordance
with some embodiments.
[0016] FIG. 3 is a block diagram illustrating a system for
synchronously distributing 3D data to one or more rendering nodes,
in accordance with some embodiments.
[0017] FIG. 4 is a flow diagram illustrating a method for serially
rendering 3D data to hogel data, in accordance with some
embodiments.
[0018] FIG. 5 is a flow diagram illustrating a method for rendering
serially and/or in parallel 3D data to hogel data, in accordance
with some embodiments.
[0019] Brief description for the additional figures is provided in
the detailed description section.
[0020] While the invention is subject to various modifications and
alternative forms, specific embodiments thereof are shown by way of
example in the drawings and the accompanying detailed description.
It should be understood, however, that the drawings and detailed
description are not intended to limit the invention to the
particular embodiments. This disclosure is instead intended to
cover all modifications, equivalents, and alternatives falling
within the scope of the present invention as defined by the
appended claims.
VI. DETAILED DESCRIPTION
[0021] Certain terms are used throughout the following description
and claims to refer to particular system components and
configurations. As one skilled in the art will appreciate,
companies may refer to a component by different names. This
document does not intend to distinguish between components that
differ in name but not function. In the following discussion and in
the claims, the terms "including" and "comprising" are used in an
open-ended fashion, and thus should be interpreted to mean
"including, but not limited to . . . ". Also, the terms "couple,"
"couples," "coupled," or "coupleable" are intended to mean either
an indirect or direct electrical or wireless connection. Thus, if a
first device couples to a second device, that connection may be
through a direct electrical, optical, wireless connection, etc. or
through an indirect electrical, optical, wireless connection, etc.
by means of other devices and connections.
[0022] One or more embodiments of the invention are described
below. It should be noted that these and any other embodiments are
exemplary and are intended to be illustrative of the invention
rather than limiting. While the invention is widely applicable to
different types of systems, it is impossible to include all of the
possible embodiments and contexts of the invention in this
disclosure. Upon reading this disclosure, many alternative
embodiments of the present invention will be apparent to persons of
ordinary skill in the art. Other embodiments may be utilized, and
other changes may be made, without departing from the spirit or
scope of the subject matter presented here.
[0023] In some embodiments, disclosed are systems and methods for
rendering 3D data into hogel data. In some embodiments, a node may
be configured to receive 3D data/commands and to render the data
into multiple hogel views. In some embodiments, a single graphics
processing unit may be used per rendering node to generate the
multiple hogel views that may be assigned to that rendering
node.
[0024] In some embodiments, the rendering node may be configured to
receive 3D data/commands that are generated by a 3D application
executing on a work station, for example. That is, the 3D
data/commands may be generated by the application for use by
typical graphics processing units configured to generate views for
displaying on typical 2D displays. The 3D data/commands may be
graphics commands from graphics languages such as OpenGL commands,
DirectX commands, etc.
[0025] In some embodiments, each node may be configured to render
multiple hogel views using the received 3D data/commands. In
embodiments where a single graphics processing unit is used per
rendering node, the graphics processing unit may be utilized
serially to generate the multiple hogel views assigned to that
rendering node. In some embodiments, the rendering may be performed
one set at a time, such as one frame at a time.
[0026] In some embodiments, each of the rendering nodes may store
the incoming 3D data/commands in a buffer. In some embodiments, the
stored 3D data/commands may be retrieved and "replayed" in order
for the graphics processing unit in the rendering node to serially
render multiple hogel views.
[0027] In some embodiments, part of the rendering process or part
of setting up the rendering process may be performed prior to the
rendering of the hogel views. For example, certain rendering
resources may be created and retained for use later during the
renderings. In some embodiments, the creation and retaining of
these resources may be performed for increased speed or quality.
For example, certain portions of scenes may be rendered once and
those scenes may be added as required to the rendering of the
hogels to follow. In other examples, textures that may be used in
the rendering of multiple hogels may be loaded in the graphics
processing unit and then recalled later during the hogel rendering
as required. Other examples where retained resources are created,
retained, and used later may include the use of display lists,
vertex buffer objects, etc.
[0028] In some embodiments, multiple nodes may be used to perform
rendering in parallel. That is, each node may perform rendering
serally using a single graphics processing unit within the node and
multiple nodes may in addition perform rendering in parallel to
each other. A group of hogels to be rendered may be divided into
sets and each set may be assigned to one of the multiple nodes.
Each node may then serially render the hogels assigned to that
node.
[0029] For additional discussion on hogels and hogel light
modulators, please see U.S. patent application Ser. No. 12/258,438,
filed 26 Oct. 2008, entitled "Systems and Methods for Calibrating a
Hogel Display" and naming Mark E. Lucente as inventor. The
above-referenced patent application is hereby incorporated by
reference herein in its entirety.
[0030] FIG. 1 is a block diagram illustrating a system for serially
rendering 3D data to hogel data, in accordance with some
embodiments.
[0031] 3D data source 110 is configured to provide and/or generate
3D data and/or commands. In some embodiments, the 3D data source
110 may provide computer graphics 3D data/commands in specific
graphics languages such as OpenGL and DirectX. In other
embodiments, other types of 3D data may be provided and/or
generated by 3D data source 110. In some embodiments, the 3D data
received may be substantially similar to what a typical 3D
application may generate. That is, the 3D data/commands received
may be substantially the same as the 3D data/commands that the
application may send to a graphics processing unit for rendering 2D
views for displaying on a 2D display.
[0032] In some embodiments, rendering node 115 may be configured to
receive the 3D data/commands and to use the data to render multiple
hogel views. In some embodiments, rendering node 115 may comprise a
single graphics processing unit such as graphics processing unit
120, which is coupled to one or more memory units 125. Rendering
node 115 may also comprise additional processors and memory units
and other supporting units.
[0033] In some embodiments, the received 3D data stream may be
buffered in memory units 125. In some embodiments, the 3D data may
be rendered/processed one frame at a time. In order to serially
render each hogel view using the single graphics processing unit
120, the 3D data may be retrieved from the buffer and "replayed" by
graphics processing unit 120 for each hogel view to be rendered. In
some embodiments, graphics processing unit 120 receives each 3D
data stream in a process similar to receiving the 3D data stream
from 3D data source 110.
[0034] In some embodiments, part of the rendering process or part
of setting up the rendering process may be performed prior to the
rendering of the hogel views. For example, certain rendering
resources may be created and retained for use later during the
renderings. In some embodiments, the creation and retaining of
these resources may be performed for increased speed or quality.
For example, certain portions of scenes may be rendered once and
those scenes may be added as required to the rendering of the
hogels to follow. In other examples, textures that may be used in
the rendering of multiple hogels may be loaded in the graphics
processing unit and then recalled later during the hogel rendering
as required. Other examples where retained resources are created,
retained, and used later may include the use of display lists,
vertex buffer objects, etc.
[0035] FIG. 2 is a block diagram illustrating a system for serially
and/or in parallel rendering 3D data to hogel data, in accordance
with some embodiments.
[0036] 3D data source 210 is configured to provide and/or generate
3D data and/or commands. In some embodiments, the 3D data source
210 may provide computer graphics 3D data/commands in specific
graphics languages such as OpenGL and DirectX. In other
embodiments, other types of 3D data may be provided and/or
generated by 3D data source 210. In some embodiments, the 3D data
received may be substantially similar to what a typical 3D
application may generate. That is, the 3D data/commands received
may be substantially the same as the 3D data/commands that the
application may send to a graphics processing unit for rendering 2D
views for displaying on a 2D display.
[0037] In some embodiments, group of rendering nodes 215 comprises
multiple rendering nodes such as rendering nodes 1-N. Each of the
rendering nodes may be configured to receive the 3D data/commands
and to use the data to render multiple hogel views. In some
embodiments, each rendering node may comprise a single graphics
processing unit and one or more memory units. In some embodiments,
the received 3D data stream may be distributed to all the rendering
nodes and may be buffered in memory units of each node. In some
embodiments, the 3D data may be rendered/processed one frame at a
time. In order to serially render a different hogel view within
each rendering node, the 3D data may be retrieved from the buffer
of each node and replayed by each of the graphics processing units
for each different hogel view to be rendered.
[0038] In some embodiments, hogel view rendering may proceed in
series within each of the rendering nodes while hogel views are
being rendered in parallel across the rendering nodes.
[0039] FIG. 3 is a block diagram illustrating a system for
synchronously distributing 3D data to one or more rendering nodes,
in accordance with some embodiments.
[0040] 3D data source 310 is configured to provide and/or generate
3D data and/or commands. In some embodiments, the 3D data source
310 may provide computer graphics 3D data/commands in specific
graphics language formats such as in the OpenGL or DirectX graphics
language. In other embodiments, other types of 3D may be provided
and/or generated by 3D data source as described, for example,
above.
[0041] Distribution and synchronization service 315 is configured
to receive the 3D data/commands and to distribute the 3D
data/commands to one or more rendering nodes 320. In some
embodiments, the distribution and synchronization service 315 is
configured to provide an interface between 3D data source 310 and
one or more rendering nodes 320. Distribution and synchronization
service 315 may be, for example, configured to synchronize the data
transfer and processing between one or more rendering nodes 320 and
3D data source 310.
[0042] In some embodiments, distribution and synchronization
service 315 may comprise one or more processors 325 and one or more
memory units 330 coupled to one or more processors 325. In some
embodiments, one or more processors 325 and one or more memory
units 330 are configured to implement the functionality of
distribution and synchronization service 315. In other embodiments,
one or more processors 324 and one or more memory units 330 may be
configured to implement the functionality of the whole system,
including the functionality of one or more rendering nodes 320.
[0043] In some embodiments one or more rendering nodes 320 may be
configured to receive a subset of the 3D data from distribution and
synchronization service 315 and to render the subset of the 3D data
into hogel data. In embodiments where the 3D data is computer 3D
graphics data, one or more rendering nodes 320 may include one or
more GPUs and other graphics units that are configured to render
the 3D data into the multiple 2D views of the hogel data. The GPUs
may be used in parallel and/or in series to accomplish the
rendering of each subset of the 3D data. First, portions of each
subset of hogel data may be assigned to each GPU. Upon completion
of the first portions of hogel data, second portions of hogel data
may be assigned to each GPU, etc. until the subset of hogel data
assigned to the rendering node has been completed. In some
embodiments, each node may buffer the 3D data stream locally in
order to "replay" the 3D data stream each time a graphics
processing unit requires the stream for rendering. Generally, one
or more rendering nodes 320 may be each configured to convert
multiple types of 3D data into a subset of the hogel data.
[0044] In some embodiments, when each rendering node completes
rendering the subset of hogel data assigned to that rendering node,
each rendering node is configured to issue a rendering complete or
a ready command to indicate the completion. In some embodiments,
the distribution and synchronization service 315 may be configured
to receive the rendering complete commands issued by each of the
rendering nodes, and in response, distribution and synchronization
service 315 may be configured to issue an all rendering complete
command to the rendering nodes. In some embodiments, the rendering
nodes may, for example, wait for such a command before
outputting/forwarding the rendered hogel data substantially
simultaneously to a hogel light modulator or other device.
[0045] In some embodiments, distribution and synchronization
service 315 may also be configured to forward the all rendering
complete command to the 3D data source in order to enable 3D data
source 310 to send additional 3D data/commands (corresponding to
the next frame, for example) to distribution and synchronization
service 315.
[0046] In some embodiments, one or more rendering nodes 320 may
also be configured to issue forwarding/output complete commands to
distribution and synchronization service 315 in response to the
rendering nodes completing the outputting/forwarding of rendered
hogel data to another device, such as a hogel light modulator, for
example. In some embodiments, distribution and synchronization
service 315 may be configured to receive the forwarding complete
commands from the rendering nodes and to issue an all forwarding
complete command to the 3D data source 310 in response to receiving
forwarding complete commands from all the rendering nodes. In some
embodiments, 3D data source 310 may be configured to send
additional 3D data to distribution and synchronization service 315
in response to receiving the all forwarding complete command from
the distribution and synchronization service. In some embodiments,
3D data source 310 may send additional 3D data (such as the next
frame of 3D data, for example) in response to either receiving the
all rendering complete command or the all outputting/forwarding
complete command.
[0047] FIG. 4 is a flow diagram illustrating a method for serially
rendering 3D data to hogel data, in accordance with some
embodiments. It should be noted that, in some embodiments, the
methods described here may be performed by the system described in
FIG. 1 though FIG. 3.
[0048] Processing begins at 400 where, at block 410, a set of 3D
data is received at a node. In some embodiments, the node may
comprise a single graphics processing unit configured to render
multiple hogel views using the 3D data. In some embodiments, the
received 3D data may be data generated by 3D application executing
on a work station.
[0049] At block 415, at least a subset of the received 3D data may
be stored at the node, and at block 420, the graphics processing
unit renders a first hogel view using the subset of the 3D
data.
[0050] At block 425, a second hogel view is rendered using the
subset of 3D data. The rendering of the second hogel view is
performed by the graphics processing unit substantially in series
to the rendering of the first hogel view by the graphics processing
unit.
[0051] Processing subsequently ends at 499.
[0052] FIG. 5 is a flow diagram illustrating a method for rendering
serially and/or in parallel 3D data to hogel data, in accordance
with some embodiments. It should be noted that, in some
embodiments, the methods described here may be performed by the
system described in FIG. 1 though FIG. 3.
[0053] Processing begins at 500 where, at block 510, a set of 3D
data is received at a first node and at a second node. In some
embodiments, the first node comprises a single graphics processing
unit and the second node comprises a single graphics processing
unit. In some embodiments, both nodes may be configured to convert
the received 3D data into multiple hogel views.
[0054] At block 515, at least a subset of the set of 3D data is
stored at the first node and at the second node in respective
buffers.
[0055] At block 520, a first hogel view is rendered from the subset
of the 3D data using the graphics processing unit of the first
rendering node, and at block 525, at least second hogel view is
rendered from the subset of 3D data also using the graphics
processing unit of the first rendering node. The rendering of the
second hogel view is performed substantially in series to the
rendering of the first hogel view.
[0056] At block 530, a third hogel view may be rendered from the
subset of 3D data using the graphics processing unit in the second
rendering node. In some embodiments, the rendering may be performed
substantially in parallel to the rendering at the first node.
[0057] At block 535, at least a fourth hogel view is rendered from
the subset of 3D data using the second graphics processing unit. In
some embodiments, the rendering of the fourth hogel view is
performed substantially in series to the rendering of the first
hogel view, and the rendering is performed substantially in
parallel to the rendering at the first node.
[0058] Those of skill will appreciate that the various illustrative
logical blocks, modules, circuits, and algorithm steps described in
connection with the embodiments disclosed herein may be implemented
as electronic hardware, computer software, or combinations of both.
To clearly illustrate this interchangeability of hardware and
software, various illustrative components, blocks, modules,
circuits, and steps have been described above generally in terms of
their functionality. Whether such functionality is implemented as
hardware or software depends upon the particular application and
design constraints imposed on the overall system. Those of skill in
the art may implement the described functionality in varying ways
for each particular application, but such implementation decisions
should not be interpreted as causing a departure from the scope of
the present invention.
[0059] The previous description of the disclosed embodiments is
provided to enable any person skilled in the art to make or use the
present invention. Various modifications to these embodiments will
be readily apparent to those skilled in the art, and the generic
principles defined herein may be applied to other embodiments
without departing from the spirit or scope of the invention. Thus,
the present invention is not intended to be limited to the
embodiments shown herein but is to be accorded the widest scope
consistent with the principles and novel features disclosed
herein.
[0060] The benefits and advantages that may be provided by the
present invention have been described above with regard to specific
embodiments. These benefits and advantages, and any elements or
limitations that may cause them to occur or to become more
pronounced are not to be construed as critical, required, or
essential features of any or all of the claims. As used herein, the
terms "comprises," "comprising," or any other variations thereof,
are intended to be interpreted as non-exclusively including the
elements or limitations which follow those terms. Accordingly, a
system, method, or other embodiment that comprises a set of
elements is not limited to only those elements, and may include
other elements not expressly listed or inherent to the claimed
embodiment.
[0061] While the present invention has been described with respect
to a limited number of embodiments, those skilled in the art will
appreciate numerous modifications and variations therefrom. It is
intended that the appended claims cover all such modifications and
variations as fall within the true spirit and scope of this present
invention.
* * * * *