POINT OF VIEW ABERRATIONS CORRECTION IN A SCANNING FOLDED CAMERA
20230108086 · 2023-04-06
Inventors
- Itamar Azoulai (TelAlviv, IL)
- Gal Safra (Tel Aviv, IL)
- Anat Werbner (Tel Aviv, IL)
- Ela Yehudayi (Tel Aviv, IL)
- Paz Ilan (Tel Aviv, IL)
- Nadav Geva (Tel Aviv, IL)
- Noy Cohen (Tel Aviv, IL)
- Gal Shabtay (Tel Aviv, IL)
- Ephraim Goldenberg (Tel Aviv, IL)
- Ruthy Katz (Tel Aviv, IL)
Cpc classification
H04N23/81
ELECTRICITY
H04N23/683
ELECTRICITY
H04N23/45
ELECTRICITY
G06T7/80
PHYSICS
G02B13/02
PHYSICS
G03B30/00
PHYSICS
G06T3/40
PHYSICS
G03B5/00
PHYSICS
G02B27/0081
PHYSICS
G02B27/646
PHYSICS
International classification
H04N23/68
ELECTRICITY
G02B27/64
PHYSICS
G03B5/00
PHYSICS
G06T3/40
PHYSICS
Abstract
Systems and methods for correcting point of view (POV) aberrations in scanning folded cameras and multi-cameras including such scanning folded cameras. In a Tele folded camera that includes an optical path folding element (OPFE) and an image sensor, the OPFE is tilted in one or two directions to direct the Tele folded camera towards a POV of a scene, a Tele image or a stream of Tele images is captured from the POV, the Tele image having POV aberrations and the POV aberrations are digitally corrected to obtain an aberration-corrected image or stream of images.
Claims
1. A method, comprising: a) providing a Tele folded camera that includes an optical path folding element (OPFE) and an image sensor; b) tilting the OPFE in one or more directions to perform optical image stabilization (OIS); c) while performing OIS, capturing a stream of Tele images, wherein each Tele image has a respective point of view (POV) aberration; and d) digitally correcting the respective POV aberration.
2. The method of claim 1, wherein the correcting the respective POV aberration depends on a tilt position of the OPFE.
3. The method of claim 1, wherein the correcting the respective POV aberration depends on calibration data.
4. The method of claim 1, wherein for calculating OIS control signals, data from an inertial measurement unit and/or and image data is used.
5. The method of claim 1, wherein the respective POV aberration represents a rotation of a Tele image.
6. The method of claim 1, wherein the respective POV aberration represents a stretching to a trapeze shape of a Tele image.
7. The method of claim 1, wherein the respective POV aberration represents a scaling of a Tele image.
8. The method of claim 1, wherein the OPFE is tilted in two directions to perform OIS.
9. The method of claim 1, wherein the Tele folded camera has a scanning Tele field-of-view (S-FOV.sub.T) which is scanned by tilting the OPFE, the S-FOV.sub.T including a center POV and a plurality of non-center POVs, and wherein the Tele folded camera can be directed towards all POVs within S-FOV.sub.T to perform the OIS.
10. The method of claim 9, wherein the respective POV aberration is caused by tilting the OPFE to a non-center POV.
11. The method of claim 1, wherein the OPFE is a prism.
12. The method of claim 1, wherein the correcting the respective POV aberration includes applying a geometric transformation to the captured Tele image having the respective POV aberration to obtain a respective aberration-corrected image.
13. The method of claim 12, wherein the geometric transformation uses calibration data captured during a camera calibration process.
14. The method of claim 12, wherein the geometric transformation is a homography transformation.
15. The method of claim 1, further comprising cropping the aberration-corrected image to obtain a respective aberration-corrected cropped (ACC) image that has an ACC image center, an ACC image size and an ACC image width/height ratio.
16. The method of claim 15, further comprising scaling the ACC image to obtain a respective aberration-corrected cropped and scaled output image that has an output image center (OIC), an output image size and an output image width/height ratio.
17. The method of claim 16, wherein the image sensor has an image sensor center, an active sensor width and an active sensor height, and wherein the OIC coincides with the image sensor center.
18. The method of claim 16, wherein the OIC is selected so that a largest possible rectangular crop image size for a particular output image width/height ratio is achieved.
19. The method of claim 16, wherein the OIC is located less than 10 pixel sizes away from an ideal OIC.
20. The method of claim 16, wherein the OIC is located less than a distance of 10% of the active sensor width away from an ideal OIC.
21. The method of claim 16, wherein the OIC is located less than a distance of 10% of the active sensor height away from an ideal OIC.
22. The method of claim 16, wherein the OIC is selected such that an object-image magnification M of an object across different POVs does vary from a constant value by less than 10%.
23. The method of claim 16, wherein the OIC is selected such that the output image covers a maximum area within a scene.
24. The method of claim 16, wherein steps b and c are repeated to obtain a plurality of Tele images captured at a plurality of respective POVs, and wherein the OIC is selected such that a plurality of Tele images captured for all possible POVs cover a maximum rectangular area within a scene.
25. The method of claim 1, wherein the method is used in a smartphone.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Non-limiting examples of embodiments disclosed herein are described below with reference to figures attached hereto that are listed following this paragraph. The drawings and descriptions are meant to illuminate and clarify embodiments disclosed herein, and should not be considered limiting in any way. Like elements in different drawings may be indicated like numerals.
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
DETAILED DESCRIPTION
[0064]
[0065] In
[0066] Box 200 represents the smallest rectangular FOV that includes S-FOV.sub.T, i.e. all the image data from all POVs that can be reached with a STC in the object domain. The N-FOV.sub.Ts for three different OPFE positions (0, 1 and 2) are represented by 202-0, 202-1 and 202-2. Each OPFE position corresponds to a different POV. The N-FOV.sub.T for an OPFE “zero position” 202-0 is defined as an N-FOV.sub.T that produces an image of an object or scene without POV aberrations, i.e. (besides a scaling factor and assuming no camera aberrations and distortions) at zero position an object in the object domain is identical to the object image in the image domain. As shown, the N-FOV.sub.T at any other position (e.g. 202-1 and 202-2) is not a horizontal rectangle (with respect to 202-0), but an arbitrary tetragon. The same rectangular object is represented by 204-0, 204-1 and 204-2 in, respectively, N-FOV.sub.Ts 202-0, 202-1 and 202-2.
[0067] In an example, the OPFE is positioned at a scanning position 1 (
[0068] In
[0069]
[0070] A corrected (or rectified, or aberration-corrected) image is thus obtained. Calibration data between an OPFE position and the corresponding POV may be used to select the homography transformation corresponding to the particular POV. In some embodiments, the geometric transformation may include corrections known in the art such as e.g. distortion correction and color correction. In step 258, the corrected image is cropped as depicted in
[0071] The cropping in step 258 may be done according to different crop selection criteria. Some crop selection criteria may aim for a particular size of the cropped image. Other crop selection criteria may enable a particular input image coordinate to be transferred to a particular image coordinate of the cropped image. In the following, “crop selection” criteria may be referred to simply as “crop criteria”.
[0072] Crop criteria that aim for a particular size of cropped images may be as follows: in one criterion (crop criterion 1), the image may be cropped so that a resulting image is a rectangular image. In another criterion (crop criterion 2), the resulting image may be a square. Here and in the following, the image size and shape are defined by the number and distribution of the image pixels, so that size and shape do not depend on the actual mode the image is displayed. As an example, a rectangular image has m rows (image height), wherein each row includes n values (image width).
[0073] A square image has m rows with m values each. A first rectangular image having m.sub.1 rows with n.sub.1 values each is larger than a second rectangular image having m.sub.2 rows and n.sub.2 values if m.sub.1×n.sub.1>m.sub.2×n.sub.2 is satisfied.
[0074] In yet another criterion (crop criterion 3), the image is cropped so that a largest rectangular image having a particular AR for the particular POV is obtained. Examples for this criterion are the crop options “D” and “E” shown in
[0075] Crop criteria that map particular input image coordinates to particular image coordinates of the cropped image are presented next. In general, and by applying a particular crop selection criterion, any arbitrary object image point of the image captured in step 254 (the “input image”) can be defined as the image center of the image output in step 262. In a crop criterion 7, the image may be cropped rectangularly so that the image center of the cropped image contains image data identical with that of the input image center for a particular POV. An image center may be defined as the center pixel and the surrounding pixels that lie within a radius of e.g. 10 times the pixel size. In some embodiments, the image center may be defined as the center pixel plus surrounding pixels that lie within a radius of e.g. 5 or 30 times the pixel size.
[0076] In a crop criterion 8, the image may be cropped rectangularly so that the cropped image center contains image data identical with that of an input image center, with the cropped image additionally fulfilling the condition that any two images that are captured at arbitrary first and second POVs are cropped so that the resulting images have the same AR and size. In yet other examples, crop criterion 8 may additionally fulfill the condition that the cropped images are of maximal size (crop criterion 9). In yet other examples, an image may be cropped so that a ROI or an object of interest (OOI) is displayed on the image output in step 264 in a visually appealing fashion (crop criterion 10). This criterion may support aesthetic image cropping, e.g. as described by Wang et al in the article “A deep network solution for attention and aesthetics aware photo cropping”, May 2018, IEEE Transactions on Pattern Analysis and Machine Intelligence. Applications of aesthetic image cropping are also described in the co-owned PCT Patent Application No. PCT/IB2020-061330. In yet other examples, an image may be cropped according to the needs of further processing steps, e.g. the image may be cropped so that only a particular segment of the FOV in the object domain is included (crop criterion 11). A possible further processing may e.g. be the generation of a super image, i.e. of an output image that is composed of the image data of a plurality of input images. The generation of a super-image is described in co-owned PCT Patent Application No. PCT/IB2021-054070. Another possible further processing may be the generation of a panorama image as known in the art.
[0077] The scaling in step 260 may be performed according to different scaling selection criteria. In some embodiments, scaling may be performed so that images captured under different POVs in step 254 and output in step 262 (the “output image”) have identical size and AR (scale criterion 1). In other examples, scaling may be performed so that the pixel density per object image area in the output image is identical with the pixel density per area in the object domain present in the image captured in step 254 (scale criterion 2). In yet other examples, scaling may be performed so that the image size fits the requirements of a program that performs further processing on the image data (scale criterion 3).
[0078] Steps 252-262 outlined above may be performed sequentially, i.e. one after the other.
[0079] In some STC image rectification embodiments, step 256 may be performed as follows: let (x.sup.in.sub.i, y.sup.in.sub.j) be the values of some arbitrary image coordinates (i, j) of an input image (captured in step 254) and let (x.sup.out.sub.m, y.sup.out.sub.n) be the values of some arbitrary image coordinates (m, n) of an output image (of step 256). In the geometrical transformation sub-step, a homography transformation may be (x.sup.out, y.sup.out)=f.sub.H(x.sup.in, y.sup.in) with H being a 3×3 homography transformation matrix known in the art. The homography transformation can be inversed by using f.sub.H.sup.−1=f.sub.H-1. A crop transformation (x.sup.out, y.sup.out)=Crop(x.sup.in, y.sup.in) may be (x.sup.out.sub.m, y.sup.out.sub.n)=(x.sup.in.sub.i−crop-start_x.sub.i, y.sup.in.sub.j−crop-start_y.sub.j) for assigning each coordinate of the input image a coordinate in the output image wherein only coordinates with values>0 are used for the output image. Vector (crop-start_x.sub.i, crop-start_y.sub.j) defines size and shape of the cropped image. An inverse crop transformation Crop.sup.−1 is defined by (x.sup.in.sub.m, y.sup.in.sub.n)=(x.sup.out.sub.i+crop-start_x.sub.i, y.sup.out.sub.j−crop-start_y.sub.j). A scale transformation (x.sup.out, y.sup.out)=Scale(x.sup.in, y.sup.in) may be (x.sup.out, y.sup.out)=(s.sub.x.Math.x.sup.in, s.sub.y.Math.y.sup.in) with scaling factors s.sub.x and s.sub.y in x and y direction respectively. An inverse scale transformation Scale.sup.−1 is defined by (x.sup.in, y.sup.in) (s.sub.x.sup.−1.Math.x.sup.out, s.sub.y.sup.−1.Math.y.sup.out). A transfer function T is defined by applying homography, crop and scale sequentially, i.e. T is defined by (x.sup.out, y.sup.out)=Scale(Crop(f.sub.H(x.sup.in, y.sup.in))) and (x.sup.out, y.sup.out)=T(x.sup.in, y.sup.in).
[0080] In the interpolation sub-step, one may sequentially interpolate all values of output image (x.sup.out, y.sup.out) directly from the input image via transfer function T. For example, one may start with calculating values (x.sup.out.sub.m, y.sup.out.sub.n) at an arbitrary starting point having coordinates (m, n) of the output image. For this, one calculates coordinates (m′, n′) of input image (x.sup.in, y.sup.in) that are to be included for calculating values (x.sup.out.sub.m, y.sup.out.sub.n) at the particular coordinates (m, n) of the output image. Coordinates (m′, n′) in the input image may be obtained by applying an inverse transfer function T.sup.−1 to all output coordinates (m, n), i.e. T.sup.−1(x.sup.out.sub.m, y.sup.out.sub.n) or f.sub.H.sup.−1(crop.sup.−1(scale.sup.−1(x.sup.out.sub.m, y.sup.out.sub.n))) for all (m, n). In general, T.sup.−1 may not map each coordinate (m, n) on one coordinate (m′, n′), but map each coordinate on a segment of neighboring coordinates (m′, n′). For calculating the values (x.sup.out.sub.m, y.sup.out.sub.n), the entire segment or parts of the segment of neighboring coordinates (m′, n′) may be taken into account. For obtaining values (x.sup.out.sub.m, y.sup.out.sub.n) of the output image at coordinates (m, n), in a first step a re-sampling function R as known in the art may be evaluated for all neighboring coordinates (m′, n′) according to T(x.sup.out′.sub.m, y.sup.out′.sub.n)=Resample (Tin, x.sup.in.sub.m′, y.sup.in.sub.n′). The re-sampling may be performed by methods known in the art such as nearest neighbor, bi-linear, or bi-cubic.
[0081] After values (x.sup.out.sub.m, y.sup.out.sub.n) are determined, one may perform the steps above for calculating the values (x.sup.out.sub.o, y.sup.out.sub.p) at additional coordinates (o, p), etc. This is repeated until all values (x.sup.out, y.sup.out) of the output image are obtained. In various embodiments, the calculation as described above is performed for a plurality of output coordinates or even for all output coordinates in parallel. In some STC image rectification embodiments, the calculations described here may be performed by a CPU (Central Processing Unit). In other STC image rectification embodiments and for faster image processing, the calculations described here may be performed by a GPU (Graphics Processing Unit). The STC image rectification may be performed in different color domains, e.g. RGB, YUV, YUV420 and further color domains known in the art.
[0082]
[0083]
[0084]
[0085] In yet other examples (not shown), a cropping option may be selected so that that the criterion “the largest rectangular image for all possible POVs is achieved” is fulfilled. In yet other examples (not shown), a cropping option may be selected so that that the criterion “the largest rectangular image for a particular plurality of POVs is achieved” is fulfilled. The particular plurality of POVs may cover all possible POVs or a subset thereof.
[0086]
[0087] Calibration data may be stored in a first memory 424, e.g. in an EEPROM (electrically erasable programmable read only memory), in a second memory 438, or in a third memory 450, e.g. in a NVM (non-volatile memory). Calibration data may include STC calibration data and DC calibration data. Electronic device 400 further comprises a Wide (“W”) (or Ultra-Wide, “UW”) camera module 430 with a FOV.sub.W, FOV.sub.UW>N-FOV.sub.T that includes a second lens module 434 that forms an image recorded by a second image sensor 432. A second lens actuator 436 may move lens module 434 for focusing and/or OIS.
[0088] In use, a processing unit such as AP 440 may receive respective first and second image data from camera modules 410 and 430 and supply camera control signals to camera modules 410 and 430. FOV scanner 442 may receive commands from a human user or a program for directing the N-FOV.sub.T to particular POVs in a scene. In some embodiments, the commands may include a single request for directing N-FOV.sub.T to one particular POV. In other examples, the commands may include a series of requests e.g. for serially directing N-FOV.sub.T to a plurality of particular POVs. FOV scanner 442 may be configured to calculate a scanning order given the requested particular POVs. FOV scanner 442 may be configured to supply control signals to OPFE actuator 414, which may, in response to the control signals, rotate OPFE 412 for scanning N-FOV.sub.T. In some embodiments, FOV scanner 442 may additionally supply control signals to OPFE actuator 414 for actuating OPFE 412 for OIS.
[0089] Electronic device 400 further comprises an inertial measurement unit (IMU, or “Gyro”) 460 that may supply information on the motion of 400. Motion estimator 444 may use data from IMU 460, e.g. for estimating hand motion caused by a human user. In some embodiments, motion estimator 444 may use additional data. For example, image data from camera 410 and/or from camera 430 may be used to estimate an “optical flow” from a plurality of images as known in the art. Motion estimator 444 may use data from IMU 460 and may use as well optical flow data for estimating motion of 400 with higher accuracy. The information on motion of 400 may be used for OIS or for the homography transformation described above. In other embodiments, only optical flow data estimated from image data of camera 410 and/or camera 430 may be used for estimating motion of 400. Image generator 446 may be configured to generate images and image streams respectively as e.g. described in
[0090]
[0091] In a first example (calibration example 1 or “CE1”), the calibration process refers to a STC that scans in 2 dimensions by rotating an OPFE along two axes, wherein the amplitude of the rotation is measured by two or more position sensors (e.g. Hall sensors), a first and a second position sensor P1 and P2 respectively. The STC's POV is measured by the value pair p1 and p2 of P1 and P2 respectively. In a first step 502, a calibration chart (“CC”) is provided. A suitable CC includes location identifiers (such as location identifiers 602 and 604, see
[0092] In CE1, a list of N specific value pairs (p1, p2) may be defined for a specific STC design. In some embodiments, the list may include N=10 value pairs (p1, p2).sub.1, . . . , (p1, p2).sub.10. In other embodiments, the list may include N=10-20 or even more value pairs. According to a first criterion for value pair selection, the value pairs may be selected so that the STC must capture a minimum number of different POVs in the calibration process (or, in other words, a minimum number of repetitions of steps 504 and 506 is desired).
[0093] For a second example (“CE2”) for DC calibration, in step 502 another CC may be required, wherein the CC may or may not be a checkerboard. The STC of CE2 fulfills the same attributes as for CE1. Also in CE2, a list of N specific position sensor value pairs (p1, p2), each value pair associated with a specific OPFE position, may be defined for a specific STC design. In some embodiments, the list may include N=200 value pairs (p1, p2)1, . . . , (p1, p2).sub.200. In other embodiments, the list may include N=100-300 or even more value pairs.
[0094] By tilting the OPFE to a specific OPFE position, in CE1 and CE2 e.g. defined by (p1, p2).sub.1, in step 504 the STC is directed to a (yet unknown) POV on the CC.
[0095] In step 506, one or more STC images are captured. For DC calibration and for CE2, a second sub-step of step 506 is required, where STC images are captured along W images captured by the Wide camera. Capturing STC images along W images means here that the images are captured at a same dual-camera position and orientation. In general, the capture may be simultaneous, but this is not mandatory.
[0096] In some embodiments, the capturing of the STC images along the Wide images may be performed together and in one single step, e.g. by a same operator.
[0097] In other examples, the two steps may be performed separately and e.g. by different operators. For example and for calibrating a STC with respect to a first CC, a first operator may capture one or more STC images at a specific OPFE position. The STC which is calibrated with respect to the first CC may be included by a second operator into a dual-camera which is used for capturing a second CC (which may be or may be not identical to the first CC) with the STC at a specific OPFE position along with one or more W images for calibrating the STC with respect to the W camera of the dual-camera. Steps 504 and 506 are performed repeatedly according to the number N of value pairs, so that one or more STC images are captured at each of the N OPFE positions (or value pairs). The repetition of steps 502 and 504 for the plurality of OPFE positions may be performed for example in a predetermined timeframe. The predetermined timeframe may e.g. be 10 s or 5 s. For example, the first operator may be a camera module manufacturer that manufactures the STC and the second operator may be a phone manufacturer that includes the STC into a dual-camera and the dual-camera into a mobile device. In some embodiments, the second sub-step of step 506 does not include capturing additional STC and W images, but includes receiving external calibration data between the STC and the Wide camera.
[0098] In step 508, the STC images are analyzed. Aim is to assign a POV and a respective POV aberration to the specific OPFE (or value pairs) position of step 504. The analysis includes to use the CC's location identifiers that appear in a STC image to determine the POV from which it was captured, as well as to use the CC's angular identifiers along with GT images to determine the POV aberrations.
[0099] For CE1, the analysis includes to use the CC's location identifiers that appear in a STC image to determine the POV from which it was captured, as well as to use the CC's angular identifiers along with ground truth images to determine the POV aberrations.
[0100] In a first sub-step of CE1, a specific POV.sub.i is assigned to the value pair (p1, p2).sub.i.
[0101] In a second sub-step of CE1, the STC image is compared to a ground truth image of the CC at the respective POV. In this comparison it is determined which image transformation parameters transform the STC image into the CC's ground truth image. In some embodiments, three image transformation parameters may be used. For DC and CE2, POVs and respective POV aberrations are determined by comparing the STC images and the Wide images captured in step 506.
[0102] In step 508 of CE1, the first and the second sub-step are performed for all value pairs (p1, p2).sub.1, . . . , (p1, p2).sub.N, so that to each value pair (p1, p2).sub.i a specific POV.sub.i and image transformation parameters are assigned.
[0103] In step 510, from the analysis in step 508, calibration data is derived. In some embodiments, the calibration data is represented by a bi-directional data polynomial. In other examples, the calibration data is represented by a bi-directional Look-Up-Table (LUT) polynomial. In all examples, STC calibration data includes a function that can be used to translate any OPFE position to a STC image's POV aberrations with respect to a checkerboard and/or STC's POV. DC calibration data can be used to translate any OPFE position to a STC image's POV aberrations with respect to the W camera and/or STC's POV within FOV.sub.W. Vice versa, any POV aberration of an STC image with respect to a W camera's image can be translated into a STC POV within FOV.sub.W and/or to an OPFE position (thus “bi-directional”). In yet other examples, STC calibration data is represented by a LUT which comprises a multitude of OPFE positions with associated values for STC images' POV aberrations with respect to the CC and/or STC's POVs. DC calibration data is represented by a LUT which comprises a multitude of OPFE positions with associated values for STC images' rotation angles with respect to the Wide camera's images and/or Tele POVs within FOV.sub.W. For CE1, a function is determined which approximates the relation between all the value pairs (p1, p2).sub.1, . . . , (p.sub.1, p2).sub.N and their assigned specific POVs, POV.sub.1, . . . , POV.sub.N, as well as their assigned image transformation parameters. This function is generalized, meaning that it is used for bi-directionally translating between all possible OPFE position value pairs, their POVs and image transformation parameters for image rectification. According to a second criterion for value pair selection, the value pairs may be selected so that the generalization of the function leads to a minimum aggregated error (“AE”). “AE”, which is to be minimized, refers here to an error function that depends on the deviation of the STC images that underwent the POV correction from their respective ground truth images for all possible POVs (or a number of POVs that is sufficiently large to approximate statistically all possible POVs). In some embodiments, some compromise between fulfilling the first or the second criterion for value pair selection is made.
[0104] For CE2, the calibration data derived is included in a LUT. The LUT includes the N OPFE positions (value pairs), the POV associated with each value pair as well as its respective POV aberration. This implies that not for all possible OPFE positions there is explicit calibration data. So for rectifying a STC image with CE2 at an OPFE position which is not included in the LUT, one may approximate a POV and its POV aberrations. In some embodiments for approximation, one may use the calibration values which are associated with one OPFE position which is, from all the N OPFE positions, located closest to the current OPFE position. Closest may be defined here by a distance metrics known in the art, e.g. a quadratic distance of the respective value pairs (sqrt((p1−p1.sub.c).sup.2+(p2−p2.sub.c).sup.2)) may be smallest, where p1, p2 is the current OPFE position, and p1.sub.c, p2c are values included in the LUT. In other examples for approximation, one may use a weighted average of a plurality of calibration values which are associated with a plurality of OPFE positions which are, from all the N OPFE positions, located closest to the current OPFE position.
[0105] In step 512, the calibration data are applied to the STC images for correcting POV aberrations.
[0106]
[0107] While this disclosure has been described in terms of certain embodiments and generally associated methods, alterations and permutations of the embodiments and methods will be apparent to those skilled in the art. The disclosure is to be understood as not limited by the specific embodiments described herein, but only by the scope of the appended claims.
[0108] Unless otherwise stated, the use of the expression “and/or” between the last two members of a list of options for selection indicates that a selection of one or more of the listed options is appropriate and may be made.
[0109] It should be understood that where the claims or specification refer to “a” or “an” element, such reference is not to be construed as there being only one of that element.
[0110] All references mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual reference was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention.