Patent Publication Number: US-2023135377-A1

Title: Flexible eyewear device with dual cameras for generating stereoscopic images

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a Continuation of U.S. Application Serial No. 17/521,001 filed on Nov. 8, 2021, which is a Continuation of U.S. Application Serial No. 16/688,046 filed on Nov. 19, 2019, now U.S. Pat. 11,212,509, which claims priority to U.S. Provisional Application Serial No. 62/782,885 filed on Dec. 20, 2018, the contents of all of which are incorporated fully herein by reference. 
    
    
     TECHNICAL FIELD 
     The present subject matter relates to image capture eyewear, e.g., smart glasses, and, more particularly, to image capture eyewear with dual cameras for generating stereoscopic images. 
     BACKGROUND 
     Stereoscopic images of a scene are useful to create a three-dimensional effect. Typically, a first camera captures a first image of the scene, and a second camera captures a second image of the same scene. The first and second cameras have a fixed relationship to one another. A three-dimensional display system presents the captured first image to an eye of an observer and the captured second image to the other eye of the observer to create the desired three-dimensional effect. The relationship between the first and second cameras is important in order to provide a realistic three-dimensional effect. If the relationship between the first and second cameras deviates from the fixed relationship, e.g., due to bending of the support structure on which the cameras are mounted, the three-dimensional experience is adversely affected. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The drawings depict implementations, by way of example only, not by way of limitations. In the figures, like reference numerals refer to the same or similar elements. When a plurality of similar elements is present, a single reference numeral may be assigned to the plurality of similar elements with a small letter designation referring to specific elements. When referring to the elements collectively or to a non-specific one or more of the elements, the small letter designation may be dropped. 
         FIG.  1 A  is a perspective view of an image capture eyewear example including dual cameras and a support structure supporting the dual cameras and other electronic components. 
         FIG.  1 B  is a top view of the image capture eyewear example of  FIG.  1 A  illustrating a region defined by the image capture eyewear for receiving a head of a user wearing the image capture eyewear. 
         FIG.  1 C  is a top-side view of the image capture eyewear example of  FIG.  1 A  showing the locations of the dual cameras and the flexibility of the eyewear. 
         FIG.  1 D  is another top-side view of the image capture eyewear example of  FIG.  1 A  showing the respective fields of view of the dual cameras at different flex positions. 
         FIG.  2    is a block diagram of an example of the electronic components supported by the image capture eyewear example of  FIG.  1 A , and communication with a personal computing device and a recipient through a network. 
         FIG.  3 A  is a flowchart showing an example of the operation of the dual camera eyewear for performing calibration of the dual cameras; and 
         FIG.  3 B  is a flowchart showing further details of the example of the operation of the dual camera eyewear for performing stereoscopic imaging using the calibration results. 
     
    
    
     DETAILED DESCRIPTION 
     In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant teachings. However, it should be apparent to those skilled in the art that such details are not necessary to practice the present teachings. In other instances, a relatively high-level description, without detail, of well-known methods, procedures, components, and circuitry avoids unnecessarily obscuring aspects of the present teachings. 
     The term “coupled” as used herein refers to any logical, optical, physical, or electrical connection, link or the like by which signals or light produced or supplied by one system element are imparted to another coupled element. Unless described otherwise, coupled elements or devices are not necessarily physically connected to one another and may be separated by airspace, intermediate components, elements, or communication media that may modify, manipulate, or carry the light or signals. 
     The orientations of the image capture eyewear, associated components, and any devices incorporating an LED such as shown in any of the drawings, are by way of example only, for illustration and discussion purposes. In operation, orientation of the image capture eyewear may be in other directions suitable to the particular application of the image capture eyewear, for example up, down, sideways, or any other orientation. Also, any directional term, such as front, rear, inwards, outwards, towards, left, right, lateral, longitudinal, up, down, upper, lower, top, bottom and side, is exemplary, and not limiting, as to direction or orientation. 
     Example image capture eyewear has an optical element, electronic components, a support structure configured to support the optical element and the electronic components including dual cameras, and a display system coupled to the electronic components and supported by the support structure. The dual cameras capture stereoscopic images for use in rendering three dimensional images and/or creating a three-dimensional effect. 
       FIG.  1 A  depicts a front perspective view of a first camera  10  and a second camera  11  on example image capture eyewear  12 . The illustrated image capture eyewear  12  includes a support structure  13  that has temples  14 A and  14 B extending from a central frame portion  16 . Image capture eyewear  12  additionally includes articulated joints  18 A and  18 B, electronic components  20 A and  20 B, and core wires  22 A,  22 B and  24 . Although the illustrated image capture eyewear  12  are glasses, the image capture eyewear may take other forms such as a headset, head gear, helmet, or other device that may be worn by the user. 
     Support structure  13  supports the first and second cameras  10 ,  11 . Support structure  13  also supports one or more optical elements within a field of view of a user when worn by the user. For example, central frame portion  16  supports the one or more optical elements. As used herein, the term “optical elements” refers to lenses, transparent pieces of glass or plastic, projectors, screens, displays and other devices for presenting visual images or through which a user perceives visual images. In an example, respective temples  14 A and  14 B connect to central frame portion  16  at respective articulated joints  18 A and  18 B. The illustrated temples  14 A and  14 B are elongate members having core wires  22 A and  22 B extending longitudinally therein. 
     Temple  14 A is illustrated in a wearable condition and temple  14 B is illustrated in a collapsed condition in  FIG.  1 A . As shown in  FIG.  1 A , articulated joint  18 A connects temple  14 A to a right end portion  26 A of central frame portion  16 . Similarly, articulated joint  18 B  connects temple  14 B to a left end portion  26 B of central frame portion  16 . The right end portion  26 A of central frame portion  16  includes a housing that carries electronic components  20 A therein. The left end portion  26 B also includes a housing that carries electronic components  20 B therein. The housings may be integrally formed with the central frame, integrally formed with the respective temples  14 A,  14 B, or formed as separate components. 
     A plastics material or other material embeds core wire  22 A, which extends longitudinally from adjacent articulated joint  18 A toward a second longitudinal end of temple  14 A. Similarly, the plastics material or other material also embeds core wire  22 B, which extends longitudinally from adjacent articulated joint  18 B toward a second longitudinal end of temple  14 B. The plastics material or other material additionally embeds core wire  24 , which extends from the right end portion  26 A (terminating adjacent electronic components  20 A) to left end portion  26 B (terminating adjacent electronic components  20 B). 
     Electronic components  20 A and  20 B are carried by support structure  13  (e.g., by either or both of temple(s)  14 A,  14 B and/or central frame portion  16 ). Electronic components  20 A and  20 B include a power source, power and communication related circuitry, communication devices, display devices, a computer, a memory, modules, and/or the like (not shown). Electronic components  20 A and  20 B may also include or support dual cameras  10  and  11  for capturing images and/or videos from different perspectives. These images may be fused to generate a stereoscopic images/videos. Also included, but not shown in the figure, are indicator LEDs indicating the operational state of image capture eyewear and one or more microphones for capturing audio that coincides with the captured video. 
     In one example, temples  14 A and  14 B and central frame portion  16  are constructed of a plastics material, cellulosic plastic (e.g., cellulosic acetate), an eco-plastic material, a thermoplastic material, or the like, with core wires  22 A,  22 B and  24  embedded therein. Core wires  22 A,  22 B and  24  provide structural integrity to support structure  13  (i.e., temple(s)  14 A,  14 B and/or central frame portion  16 ). Additionally, core wires  22 A,  22 B and/or  24  act as a heat sink to transfer heat generated by electronic components  20 A and  20 B away therefrom so as to reduce the likelihood of localized heating adjacent electronic components  20 A and  20 B. As such, core wires  22 A,  22 B and/or  24  thermally couple to the heat source to provide a heat sink for the heat source. Core wires  22 A,  22 B and/or  24  may include relatively flexible conductive metal or metal alloy material such as one or more of an aluminum, an alloy of aluminum, alloys of nickel-silver, and a stainless steel, for example. 
     As illustrated in  FIG.  1 B , support structure  13  defines a region (e.g., region  52  defined by the frame  12  and temples  14 A and  14 B) for receiving a portion  52  (e.g., the main portion) of the head of the user/wearer. The defined region(s) are one or more regions containing at least a portion of the head of a user that are encompassed by, surrounded by, adjacent, and/or near the support structure when the user is wearing the image capture eyewear  12 . 
     As described above, image capture eyewear  12  has dual cameras  10 ,  11  for capturing stereoscopic images. A simplified overhead view of the dual cameras  10 ,  11  is shown in  FIG.  1 C , where frame  13  includes cameras  10 ,  11  integrated into respective, opposite sides (i.e., left and right sides) of frame  13 . The first camera  10  has a first sight line  30  and the second camera  11  has a second sight line  31 . In an example, absent flexing of the frame  13 , the first and second sight lines  30 ,  31  are substantially parallel. Generally, stereoscopic imaging is a technique for generating what appears to be a three-dimensional (3D) image having depth from two or more offset two-dimensional (2D) images. Stereoscopic imaging is performed naturally by humans who capture offset images with their respective left and right eyes. These offset images are then combined by the brain to form what appears to be a  3 D image (i.e., an image with depth). 
     Generation of three-dimensional images and/or creation of a three-dimensional effect generally requires the fusion of stereoscopic images. For example, a stereoscopic imaging algorithm may create a three-dimensional image by fusing the stereoscopic images using the known sight lines, separation of the sight lines, and/or fields of view of the cameras. A stereoscopic imaging algorithm may create a three-dimensional effect by presenting a first of the stereoscopic images to a first eye of an observer via a display and a second of the stereoscopic images to a second eye of the observer via the same or a different display using the known sight lines, separation of the sight lines, and/or fields of view of the cameras. 
     The stereoscopic imaging algorithm can extract depth information by comparing information about a scene from the stereoscopic images, e.g., by examining the relative positions of objects in the two images. In traditional stereo vision, two cameras, displaced horizontally from one another are used to obtain two differing views on a scene. By comparing these two images, the relative depth information can be obtained in the form of a disparity map, which encodes the difference in horizontal coordinates of corresponding image points. The values in this disparity map are inversely proportional to the scene depth at the corresponding pixel location. 
     For a human to experience a three-dimensional effect, a stereoscopic device may superimpose the stereoscopic images, with the image from the right camera  10  being shown to the observer’s right eye and from the left camera  11  being shown to the left eye. The images may be pre-processed to increase picture quality. For example, the images may first be processed to remove distortion (e.g., due to having been acquired with a “fisheye” lens). For example, barrel distortion and tangential distortion may be removed to ensure the observed image matches the projection of an ideal pinhole camera. The image may additionally be projected back to a common plane to allow comparison of the image pairs, known as image rectification. An information measure which compares the two images is minimized. This gives the best estimate of the position of features in the two images and creates a disparity map. Optionally, the received disparity map is projected into a three-dimensional point cloud. By utilizing the cameras’ projective parameters, the point cloud can be computed such that it provides measurements at a known scale. 
     The algorithm(s) for presenting the stereoscopic images to produce a three-dimensional effect is dependent on the relative sightlines/fields of views between the respective cameras. Without this information, the algorithm(s) may not be able to properly fuse/display the stereoscopic images to achieve the desired three-dimensional effect. 
     All eyewear has a stiffness that enables support of the eyewear components, while allowing for some flexibility for user comfort. This flexibility, however, complicates the capture of suitable stereoscopic images to produce a desired three-dimensional effect, which, as described above, require the cameras to have a known sight lines/fields of view with respect to one another. 
     For example, the stereoscopic imaging algorithm may be set based on the known fields of view of the cameras as shown  FIG.  1 C , which have sight lines that are substantially parallel to each other. As illustrated in  FIG.  1 D , however, when the user places eyewear  12  on their head, frame  13  may flex due to temples  14 A,  14 B bowing outward to bowed temple positions  14 A′,  14 B′, resulting in a change in the orientation of the cameras  10 ,  11 . When the orientation of the cameras  10 ,  11  change, the original sight lines  30 ,  31  of cameras  10 ,  11  shift by a respective variable angle  23 A,  23 B to flexed sight lines  30 ′,  31 ′ for new camera orientation  10 ′,  11 ′. Thus, the sight lines  30 ′  31 ′ of cameras  10  and  11  would no longer be parallel to each other. 
     The variable angles  23 A,  23 B resulting from this flexing are dependent on the stiffness of the temples  14 A,  14 B, the stiffness of the frame  13 , the size of the user’s head, etc. Thus, the relative fields of view of cameras  10  and  11  may be different for different wearers. The unflexed field of view of camera  10  changes by angle  23 A from a field of view represented by lines  25 A to  25 B to a field of view represented by  25 A′ to  25 B′. The unflexed field of view of camera  11  changes by angle  23 B from a field of view represented by lines  25 C to  25 D to a field of view represented by  25 C′ to  25 D′. In an example, a stereoscopic image algorithm calibrates the cameras to determine their relative fields of view. 
     Only two flexure states are illustrated in  FIG.  1 D , however, flexure may occur along and/or around essentially any axis extending through the eyewear  12 . The range of flexure may have a minimum and a maximum that is dependent on the structural stiffness of frames  13 . In general, as the frame stiffness increases and/or the temple stiffness decreases, the range of flexure decreases. Therefore, the eyewear may be designed and manufactured with a predetermined stiffness that limits the flexure range to an acceptable level along all axis and angles of flexure. The stiffness may be designed based on the materials used to construct the frame. For example, a crossbar (e.g., metal) may be integrated in the frames along line  21  to limit the flexure of the frames and thus limit the movement of the sight lines/fields of view of cameras  10 ,  11  to a predetermined range acceptable for producing the stereoscopic image. 
     Generally, the eyewear  12  performs a calibration prior to generating stereoscopic images. The calibration algorithm includes capturing images from both cameras  10  and  11  and determining the relative fields of view between the cameras by matching features between corresponding images captured by each of the cameras (i.e., what is the relative movement of a feature between right camera  10  and left camera  11 . This calibration may be performed automatically by the eyewear, or upon user request (e.g., the user pressing a button such as button  32  ( FIG.  1 B )). Once calibration is performed, the eyewear may capture stereoscopic images for use in producing three dimensional images and/or producing three dimensional effects by taking into account changes to the sight lines/fields of view. 
       FIG.  2    is a block diagram of example electronic components of eyewear capable of performing calibration and rending/displaying three dimensional images taking into account changes in sight lines/fields of view as described above. The illustrated electronic components include a controller  100  (e.g., lower power processor, image processor, etc.) for controlling the various devices in the image capture eyewear  12 ; a wireless module (e.g., Bluetooth™)  102  for facilitating communication between the image capture eyewear  12  and a client device (e.g., a personal computing device  50 ); a power circuit  104  (e.g., battery, filter, etc.) for powering image capture eyewear  12 ; a flash storage  106  for storing data (e.g., images, video, image processing algorithms/software, etc.); a distance measuring device  108  such as a laser measuring device; a selector  32 ; and dual cameras  10 ,  11  for capturing the images and/or a series of images (e.g., video), and a microphone (not shown) for capturing sound. Although the image capture eyewear  12  and the personal computing device  50  are illustrated as separate components, the functionality of the personal computing device  50  may be incorporated into the image capture eyewear  12  enabling the image capture eyewear  12  to directly send a stereoscopic image(s) to one or more recipients (e.g., recipients  51  via Internet  53 ) without the need for a separate computing device. Additionally, processing described herein as performed by eyewear  12  (e.g., one or more steps of the calibration and stereoscopic algorithms) may be performed by a remote processor coupled to the eyewear device  12  such as a processor within the personal computing device  50 . 
     The selector  32  may trigger (e.g., responsive to a momentary push of a button) controller  100  of image capture eyewear  12  to capture images/video for a calibration algorithm and/or stereoscopic imaging algorithm. In an example, the selector  32  may be a physical button on the eyewear  12  that, when pressed, sends a user input signal to the controller  100 . The controller  100  may interpret pressing the button for a predetermined period of time (e.g., three seconds) as a request to perform the calibration algorithm and/or the stereoscopic imaging algorithm. In other examples, the selector  32  may be a virtual button on the eyewear or another device. In yet another example, the selector may be a voice module that interprets voice commands or an eye detection module that detects where the focus of an eye is directed. Controller  100  may also interpret signals from selector  32  as a trigger to select an intended recipient of the image(s) (e.g., user paired smartphone  50 , or remote smartphone  51  via network  53 ). 
     Wireless module  102  may couple with a client/personal computing device  50  such as a smartphone, tablet, phablet, laptop computer, desktop computer, networked appliance, access point device, or any other such device capable of connecting with wireless module  102 . Bluetooth, Bluetooth LE, Wi-Fi, Wi-Fi direct, a cellular modem, and a near field communication system, as well as multiple instances of any of these systems, for example, may implement these connections to enable communication there between. For example, communication between the devices may facilitate transfer of software updates, images, videos, lighting schemes, and/or sound between image capture eyewear  12  and the client device. 
     In addition, personal computing device  50  may be in communication with one or more recipients (e.g., recipient personal computing device  51 ) via a network  53 . The network  53  may be a cellular network, Wi-Fi, the Internet or the like that allows personal computing devices to transmit and receive an image(s), e.g., via text, email, instant messaging, etc. 
     Cameras  10 ,  11  for capturing the images/video may include digital camera elements such as a charge-coupled device, a lens, or any other light capturing elements for capturing image data for conversion into an electrical signal(s). Cameras  10 ,  11  may additionally or alternatively include a microphone having a transducer for converting sound into an electrical signal(s). 
     The controller  100  controls the electronic components. For example, controller  100  includes circuitry to receive signals from cameras  10 ,  11  and process those signals into a format suitable for storage in memory  106  (e.g., flash storage). Controller  100  powers on and boots to operate in a normal operational mode, or to enter a sleep mode. In one example, controller  100  includes a microprocessor integrated circuit (IC) customized for processing sensor data from camera  10 , along with volatile memory used by the microprocessor to operate. The memory may store software code for execution by controller  100  (e.g., execution of the calibration algorithm, the stereoscopic imaging algorithm, recipient selection, transmission of images, etc.). 
     Each of the electronic components require power to operate. Power circuit  104  may include a battery, power converter, and distribution circuitry (not shown). The battery may be a rechargeable battery such as lithium-ion or the like. Power converter and distribution circuitry may include electrical components for filtering and/or converting voltages for powering the various electronic components. 
     Calibration Algorithm 
       FIG.  3 A  depicts a calibration process  300 . As described above, prior to performing stereoscopic imaging, the eyewear performs a calibration process to determine the relative difference between current lines of sight/fields of views of the stereoscopic cameras (e.g., cameras  10 ,  11 ) to standard sight lines/fields of view for eyewear not experiencing any flexure. This is beneficial to ensuring that the stereoscopic imaging algorithm is able to correctly combine the images to produce a quality stereoscopic image. 
     At block  302 , the eyewear captures stereoscopic images of a scene containing at least one object with known dimensions (referred to herein as a known scene). Eyewear  12  may capture a right raw image of the known scene with right camera  10  and a left raw image of the known scene with left camera  11 . In an example, the known scene has sharp features that are easily detectable by an image processing algorithm such as Scale Invariant Feature Transforms (SIFT) or Binary Robust Invariant Scalable Keypoints (BRISK). In another example, a trained deep neural network (DNN) can identify known objects such as people or cars. 
     At block  303 , the images obtained at block  303  are rectified to remove distortion. Controller  100  may rectify the images to remove distortion introduced by the respective lenses of the cameras (e.g., distortion at the edges of the lens resulting from vignetting) to facilitate comparison of features between images. The right raw image is rectified to create a right rectified image and the left raw image is rectified to create the right rectified image. 
     At block  304 , the calibration algorithm obtains a distance to a known feature in the known scene. In one example, the calibration algorithm run by controller  100  determines the distance to the known feature based on the size of the known feature in the captured image(s), e.g., the number of pixels covered by the known feature in a horizontal and/or vertical direction. In another example, the height/width of detected known objects are determined from bounding rectangles detected by a DNN. A DNN may also be trained to directly estimate a distance to a known object. In another example, the calibration algorithm receives the distance from a distance measuring device  108  such as a laser measuring device incorporated into the eyewear. 
     At block  306 , the calibration algorithm identifies an actual offset between the stereoscopic images for one or more features in the known scene. The calibration algorithm may compare an offset for a known feature(s) in one image (e.g., a left raw or rectified image to that know feature(s) in another image (e.g., a right raw or rectified image). In an example, the number of pixels between the position of the feature in the left image and the position of the feature in the right image (e.g., in a horizontal direction) is the actual offset. 
     At block  308 , the calibration algorithm determines a calibration offset. In an example, the calibration offset is a difference between the actual offset and a previously determined offset for the one or more features in the known scene determined with eyewear not experiencing any flexure. 
     In an alternative embodiment, the calibration offset is determined based on an amount of flexure experienced by the eyewear. The amount of flexure may be estimated based on a value generated by a strain gauge in the frame of the eyewear. For example, predefined offset values may be associated with predefined levels of strain (e.g., none, low, medium, and high). A difference calibration offset may be determined for each flexure amount (e.g., using steps  302   308 ) enabling the system to properly render and display stereoscopic images taking into account the amount of flexure. 
     At block  310 , store the calibration offset(s). In an example, the calibration algorithm stores the calibration offset(s) in memory  106  accessible by controller  100 , e.g., for use in generating stereoscopic images. The controller  100  may store each calibration offset along with a flexure amount corresponding to the offset. 
     Stereoscopic Algorithm 
       FIG.  3 B  depicts a three-dimensional presentation process  320 . As described above, after the calibration is complete, the eyewear may perform stereoscopic imaging to render/display three dimensional images. 
     At block  322 , the eyewear obtains stereoscopic images of a scene. Eyewear  12  may capture a right raw image of the known scene with right camera  10  and a left raw image of the known scene with left camera  11 . 
     At block  324 , the stereoscopic algorithm rectifies the obtained raw stereoscopic images to correct distortion in the stereoscopic images. Controller  100  may rectify the images to remove distortion introduced by the respective lenses of the cameras (e.g., distortion at the edges of the lens resulting from vignetting) to facilitate comparison of features between images. The right raw image is rectified to create a right rectified image and the left raw image is rectified to create the right rectified image. 
     At block  326 , the stereoscopic algorithm obtains a calibration offset (e.g., from the process described above with respect to  FIG.  3 A ). In an example, controller  100  retrieves the calibration offset from memory  106 . Controller  100  may first determine an amount of flexure the frame  12  is experiencing and select a calibration offset from memory  106  corresponding to the amount of flexure. 
     At block  328 , the stereoscopic algorithm adjusts a three-dimensional rendering offset (i.e., an offset between two captured images of a scene captured by cameras having a known relationship to one another in order to provide a three-dimensional effect) in a rendering algorithm by the obtained calibration offset. In an example, controller  100  adjusts the three-dimensional rendering offset by the calibration offset. 
     At block  330 , the stereoscopic algorithm presents three dimensional images based on the rendered stereoscopic images using the adjusted offset. In an example, the stereoscopic algorithm presents the right and left images of the stereoscopic images to the right and left eyes, respectively, of an observer (e.g., via displays of the eyewear). The presented images are projected, taking the adjusted offset into account, in order provide a more realistic three-dimensional effect to the wearer. In another example, the stereoscopic algorithm blends the right and left images of the stereoscopic images on a display, taking the adjusted offset into account, in order provide a more realistic three-dimensional effect to the viewer. 
     The steps in  FIGS.  3 A and  3 B  may be performed by controller  100  of the electronic components and/or the personal computing device upon loading and executing software code or instructions which are tangibly stored on a tangible computer readable medium, such as on a magnetic medium, e.g., a computer hard drive, an optical medium, e.g., an optical disc, solid-state memory, e.g., flash memory, or other storage media known in the art. Thus, any of the functionality performed by the controller  100  or personal computing device  50  described herein, such as the steps in  FIGS.  3 A and  3 B , may be implemented in software code or instructions that are tangibly stored on a tangible computer readable medium. Upon loading and executing such software code or instructions by the controller and/or personal computing device, the controller and/or personal computing device may perform any of the functionality of the controller and/or personal computing device described herein, including the steps in  3 A and  3 B described herein. 
     It will be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein. Relational terms such as first and second and the like may be used solely to distinguish one entity or action from another without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “includes,” “including,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises or includes a list of elements or steps does not include only those elements or steps but may include other elements or steps not expressly listed or inherent to such process, method, article, or apparatus. An element preceded by “a” or “an” does not, without further constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element. 
     Unless otherwise stated, any and all measurements, values, ratings, positions, magnitudes, sizes, and other specifications that are set forth in this specification, including in the claims that follow, are approximate, not exact. Such amounts are intended to have a reasonable range that is consistent with the functions to which they relate and with what is customary in the art to which they pertain. For example, unless expressly stated otherwise, a parameter value or the like may vary by as much as ± 10% from the stated amount. 
     In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various examples for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed examples require more features than are expressly recited in each claim. Rather, as the following claims reflect, the subject matter to be protected lies in less than all features of any single disclosed example. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter. 
     While the foregoing has described what are considered to be the best mode and other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that they may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all modifications and variations that fall within the true scope of the present concepts.