To facilitate high fidelity user input and consistent user control across a wide range of experiences and applications, many mobile electronic devices utilize multi-dimensional input modalities. For example, tablets and mobile phones typically provide a touch input surface that tracks finger or stylus position and motion across a two-dimensional area. To accommodate typical human finger coordination and size, the touch sensors and corresponding input surface area in these devices are typically configured to accommodate at least 30 millimeters (mm) of finger motion in each dimension. Typically these devices are also securely supported during user input by resting on a surface or being held in the user's hand.
However, with respect to smaller form factor devices such as eyeglasses and other wearable display devices, the reduced surface area of these devices limits available input modalities. For example, the typically constrained surface area of a pair of eyeglasses makes two-dimensional touch input with human fingers challenging to incorporate. Further, because eyeglasses are typically worn somewhat loosely for comfort, some implementations of touch input functionality may cause undesirable movement of the eyeglasses and corresponding display system.
Various embodiments are disclosed herein that relate to an input system for a wearable display device. For example, one disclosed embodiment provides an input system for a wearable display device that is operatively connected to a computing device. The wearable display device comprises at least one temple arm that extends from a display bridge of the device. The input system comprises a first touch-sensitive strip extending along a first axis on a top side of the temple arm, and a second touch-sensitive strip extending parallel to the first touch-sensitive strip on a bottom side of the temple arm that is opposite to the top side. At least a portion of the first touch-sensitive strip and at least a portion of the second touch-sensitive strip overlap as viewed from a second axis.
Both the first touch-sensitive strip and the second touch-sensitive strip are configured to generate linear contact input signals from one or more user digits sliding along the first axis. The linear contact input signals are provided to a user interface program that is executed by a processor of the computing device.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
The wearable display device 14 includes a display system 30 that is configured to display images for viewing by a user 26. The wearable display device 14 is also operatively connected to a computing device 32 that includes a display program 36 for controlling the display system 30. The display program 36 may be stored in mass storage 40 of the computing device 32, loaded into memory 44 and executed by a processor 48 of the computing device 32 to perform one or more of the methods and processes described in more detail below. The computing device 32 may also include one or more application programs 38 that also may be stored in mass storage 40 of the computing device, loaded into memory 44 and executed by the processor 48 to perform one or more particular functions.
The example illustrated in
The computing device 32 may be operatively connected with the display device 14 using a wired connection, or may employ a wireless connection via WiFi, Bluetooth, or any other suitable wireless communication protocol. Additional details regarding the components and computing aspects of the computing device 32 are described in more detail below with reference to
In some examples, the wearable display device 14 may comprise a head-mounted display (HMD) device that generates images creating a virtual reality or mixed reality experience. With reference now also to
With reference to the eyeglasses 200 shown in
The transparent displays 204 may also be configured to enable a user to view a physical, real-world object in the physical environment through one or more partially transparent pixels that are displaying a virtual object representation. In one example, the transparent displays 204 may include image-producing elements located within lenses 212 (such as, for example, a see-through Organic Light-Emitting Diode (OLED) display). As another example, the transparent displays 204 may include a light modulator on an edge of the lenses 212. In this example the lenses 212 may serve as a light guide for delivering light from the light modulator to the eyes of a user. Such a light guide may enable a user to perceive a 2D image or a 3D holographic image located within the physical environment that the user is viewing, while also allowing the user to view physical objects in the physical environment.
As noted above, the eyeglasses 200 include a first touch-sensitive strip 18 and a second touch-sensitive strip 22. The first touch-sensitive strip 18 and second touch-sensitive strip 22 may utilize, for example, capacitive touch sensing components, resistive touch sensing components, or any other suitable tactile sensing components that are sensitive to touch, pressure and/or strain. As described in more detail below, the first touch-sensitive strip 18 and second touch-sensitive strip 22 may sense one or more forms of touch input from contact by one or more digits of a user. In some examples, the eyeglasses 200 may also include one or more push buttons for receiving input from a user.
In some examples the eyeglasses 200 may also include various other sensors and related systems. For example, the eyeglasses 200 may include an optical sensor system that utilizes at least one outward facing sensor, such as an optical sensor. Outward facing sensor may detect movements within its field of view, such as gesture-based inputs or other movements performed by a user or by a person or physical object within the user's field of view. Outward facing sensor may also capture two-dimensional image information and depth information from the physical environment and physical objects within the environment. For example, outward facing sensor may include a depth camera, a visible light camera, an infrared light camera, and/or a position tracking camera.
The eyeglasses 200 may include depth sensing via one or more depth cameras. In one example, each depth camera may include left and right cameras of a stereoscopic vision system. Time-resolved images from one or more of these depth cameras may be registered to each other and/or to images from another optical sensor such as a visible spectrum camera, and may be combined to yield depth-resolved video.
In other examples a structured light depth camera may be configured to project a structured infrared illumination, and to image the illumination reflected from a scene onto which the illumination is projected. A depth map of the scene may be constructed based on spacings between adjacent features in the various regions of an imaged scene. In still other examples, a depth camera may take the form of a time-of-flight depth camera configured to project a pulsed infrared illumination onto a scene and detect the illumination reflected from the scene. It will be appreciated that any other suitable depth camera may be used within the scope of the present disclosure.
Outward facing sensor may capture images of the physical environment in which a user is situated. In one example, the display program 36 may include a 3D modeling system that uses such input to generate a virtual environment that may model the physical environment surrounding the user.
The eyeglasses 200 may also include a position sensor system that utilizes one or more motion sensors to enable position tracking and/or orientation sensing of the eyeglasses. For example, the position sensor system may be utilized to determine a head pose orientation of a user's head. In one example, position sensor system may comprise an inertial measurement unit configured as a six-axis or six-degree of freedom position sensor system. This example position sensor system may, for example, include three accelerometers and three gyroscopes to indicate or measure a change in location of the eyeglasses 200 within three-dimensional space along three orthogonal axes (e.g., x, y, z), and a change in an orientation of the eyeglasses about the three orthogonal axes (e.g., roll, pitch, yaw).
A position sensor system may also support other suitable positioning techniques, such as GPS or other global navigation systems. The eyeglasses 200 may also include one or more microphones for receiving audio and/or one or more speakers for broadcasting audio.
As noted above, the eyeglasses 200 may also include an integrated computing device 32 having a logic subsystem and a storage subsystem, as discussed in more detail below with respect to
It will be appreciated that the eyeglasses 200 and related sensors and other components described above and illustrated in
Descriptions of example embodiments and use cases of the input system 10 and corresponding wearable display device 14 will now be provided. As shown in the embodiment illustrated in
As noted above and with reference also to
The first touch-sensitive strip 18 and second touch-sensitive strip 22 may receive touch input from contact by one or more user digits. As shown in
As shown in
With reference to
Advantageously and as described in more detail below, this configuration enables the input system 10 to provide to the user interface program 64 precision, linear contact input signals 60 generated by motion of a digit across a touch-sensitive strip. In some examples, individual linear contact input signals from the first touch-sensitive strip 18 and/or second touch-sensitive strip 22 may be provided to and utilized by the user interface program 64. In other examples, such individual linear contact input signals 60 may be utilized to determine relative motion between two digits, with such relative movement corresponding to one or more commands in the user interface program 64.
In some examples, the first touch-sensitive strip 18 and/or the second touch-sensitive strip 22 may also be configured to detect varying amounts of pressure applied by a user's digit in the Z-axis direction. In these examples, when one or more user digits presses against a touch-sensitive strip in a Z-axis direction, pressure input signals 68 are generated and provided to the user interface program 64.
For example, the first touch-sensitive strip 18 and/or the second touch-sensitive strip 22 may include a strain gauge that may measure the deflection or bend of the strip. In one example, the strain gauge may comprise a metallic foil pattern supported by an insulated flexible backing. As the first-touch-sensitive strip 18 or second touch-sensitive strip 22 is deflected and the integrated foil pattern is deformed, the foil's electrical resistance changes are measured and a corresponding pressure exerted on the strip may be determined. It will be appreciated that these pressure sensing components are provided for example purposes, and that any other suitable pressure sensing technology and components may be utilized.
In some examples, the first touch-sensitive strip 18 and the second touch-sensitive strip 22 may be single-touch-sensitive strips. Alternatively expressed, the first touch-sensitive strip 18 and the second touch-sensitive strip 22 may be configured to detect single contacts along their surface areas.
In other examples, the first touch-sensitive strip 18 and/or the second touch-sensitive strip 22 may be multi-touch-sensitive strips. Alternatively expressed, the first touch-sensitive strip 18 and/or the second touch-sensitive strip 22 may be configured to detect two or more discrete contacts along their surface areas. For example, the first touch-sensitive strip 18 may be configured to detect two contact points by two different user digits. Accordingly, in this example the first touch-sensitive strip 18 may generate two sets of linear contact input signals 60 corresponding to the two different user digits sliding along the surface of the strip.
In the example shown in
Additionally, the longer length of a human forefinger as compared to the length of a thumb is accommodated by a greater length 502 of the first touch-sensitive strip 18 as compared to the length 504 of the second touch-sensitive strip 22. Advantageously, such a configuration provides user input surfaces that correspond to the relative lengths of a user's forefinger and thumb that are likely to interact with such surfaces.
As shown in
In some examples the first touch-sensitive strip 18 may have a length 502 of between approximately 25 mm and 75 mm, or between approximately 37 mm and approximately 63 mm, or approximately 50 mm. In some examples the second touch-sensitive strip 22 may have a length 504 of between approximately 25 mm and 75 mm, or between approximately 37 mm and approximately 63 mm, or approximately 50 mm. In the example of
In some examples the first touch-sensitive strip 18 may have a width 510 of between approximately 1 mm and 5 mm, or between approximately 2 mm and approximately 4 mm, or approximately 3 mm. Similarly, the second touch-sensitive strip 22 may have a width 610 of between approximately 1 mm and 5 mm, or between approximately 2 mm and approximately 4 mm, or approximately 3 mm.
In the example of
In other examples, one or more push buttons may be provided on the top side 230 and/or bottom side 234 of the temple arm 220. In one example and with reference now to
It will be appreciated that the push button 260 may take a variety of shapes and forms. In some examples, the push button 260 may be barely visible to the human eye, while also protruding above the top side 230 of the temple arm 220 by a sufficient amount to be felt by the tip of a user's forefinger 240. The button travel to activation may be any suitable distance such as, for example, 0.5 mm. The button may provide haptic feedback of activation to the user, such as through a click or vibration. Additionally, the push button 260 may provide a tactile landmark to help a user 26 locate the end of the first touch-sensitive strip 18.
In other examples, instead of or in addition to the push button 260, a second push button may be provided at the opposite end of the first touch-sensitive strip 18. In other examples and to provide a simple tactile landmark of an end of a touch-sensitive strip, instead of a push button 260 one or more non-functional protuberances may be provided at either or both ends of the touch-sensitive strip. In still other examples, one or more push buttons may be provided between the ends of the first touch-sensitive strip 18.
As noted above, in some examples one or more push buttons may be provided on the bottom side 234 of the temple arm 220. With reference now to
In other examples, the push button 270 may be located at either or both ends of the second touch-sensitive strip 22. Accordingly, in these different examples one or more push buttons on the bottom side 234 of the temple arm 220 may be used individually or in conjunction with the one or more push buttons 260 on the top side 230 of the temple arm to activate and/or control additional subsets of functionality of an application program 38.
With reference now to
Shown to the left of the viewing region 1304 is text message region 1320 that may display text messages received by the user 26. In this example, portions of several words of the text message extend into the viewing region 1304 and thus are viewable by the user 26. In this manner, the user interface 1300 may provide a visual cue to the user 26 indicating that the text message region 1320 is adjacent to the photo viewing application in a sequence of applications and/or menus.
Shown to the right of the viewing region 1304 is a menu region 1330 that may provide a scrollable list of selectable icons that correspond to various applications that may be launched. One or more additional regions may also be provided sequentially adjacent to the text message region 1320 and menu region 1330.
In one example and with reference also to
While viewing the photo 1310 in the viewing region 1304, a user 26 may also utilize the second touch-sensitive strip 22 to manipulate the display of the photo and/or to navigate within the photo viewing application. In one example, by touching the second touch-sensitive strip 22 with the user's thumb 250 and sliding the thumb along the X-axis the direction of action arrows A and B, the user 26 may zoom into or out from the photo 1310. When the zoom factor is greater than 100%, sliding the forefinger 240 along the first touch-sensitive strip 18 may pan the displayed view to the left or right. Once in a panning mode, sliding the thumb 250 along the second touch-sensitive strip 22 may pan the displayed view up or down.
In another example, sliding the thumb along the X-axis in the direction of action arrows A and B may scroll different photos from a sequential lineup of photos through the viewing region 1304. For example, photos may be arranged sequentially and scrolled through upwardly or downwardly in a direction corresponding to action arrow V in
In other examples and when the text message region 1320 is displayed in the viewing region 1304, sliding the thumb 250 on the second touch-sensitive strip 22 along the X-axis in the direction of action arrows A and B may scroll through additional text of a message and/or may scroll to a different text message in the direction corresponding to action arrow V. In other examples and when the menu region 1330 is displayed in the viewing region 1304, sliding the thumb 250 on the second touch-sensitive strip 22 along the X-axis may navigate among the different selectable application icons by, for example, selectively highlighting different icons in the direction corresponding to action arrow V.
In some examples, a user 26 may select a selectable item displayed in the viewing region 1304 by tapping the first touch-sensitive strip 18 with the user's forefinger 240 or by squeezing the first touch-sensitive strip 18 and the second touch-sensitive strip 22 between the forefinger and thumb. In other examples, a user 26 may select a selectable item displayed in the viewing region 1304 by simultaneously sliding the forefinger 240 along the first touch-sensitive strip 18 in a first X-axis direction and sliding the thumb 250 along the second touch-sensitive strip 22 in the opposite X-axis direction.
In some examples, a user 26 may activate on-screen controls via the first touch-sensitive strip 18 and/or second touch-sensitive strip 22. For example, a user may activate and cause a volume control to be displayed via the display device 14 by squeezing the first touch-sensitive strip 18 and the second touch-sensitive strip 22 between the forefinger and thumb.
It will be appreciated that the foregoing examples of utilizing the first touch-sensitive strip 18 and second touch-sensitive strip 22 to interact with a user interface displayed on a display device 14 are provided for illustrative purposes only and are not intended to be limiting in any manner. Many other variations and combinations of user touch input via the first touch-sensitive strip 18 and second touch-sensitive strip 22, and corresponding actions, commands, activations, and the like via user interface program 64, are possible.
With reference to
At 1410 the method 1400 may include providing a left-side application region adjacent to the viewing region. At 1414 the method 1400 may include providing a visual cue to the user indicating that a second application in the left-side application region is adjacent to the first application visible in the viewing region. For example, where the second application is a text message application that may display text messages, portions of several words of the text message may extend into the viewing region to be viewable by the user. In this manner, the method 1400 may provide a visual cue indicating that the text message application is adjacent to the first application in a sequence of applications and/or menus.
At 1418 the method 1400 may include providing a right-side application region adjacent to a right side of the viewing region laterally opposite to the left-side application region. One or more additional regions may also be provided sequentially adjacent to the left-side application region and/or the right-side application region.
In one example where a text message region is adjacent to the viewing region, at 1422 the method 1400 may include receiving input from the first touch-sensitive strip that corresponds to a user's forefinger sliding along the strip in a first direction. At 1426 the method 1400 may include, in response to receiving this input, moving the text message region into the viewing region. Similarly, where an application menu region is adjacent to the right side of the viewing region, at 1430 the method 1400 may include receiving input from the first touch-sensitive strip that corresponds to a user's forefinger sliding along the strip in a second direction opposite to the first direction. At 1434 the method 1400 may include, in response to receiving this input, moving the application menu region into the viewing region. In some examples the application menu region may provide a scrollable list of selectable icons that correspond to various applications that may be launched.
At 1438 the method 1400 may include viewing a photo in the viewing region via the photo viewing application. At 1442 the method 1400 may include utilizing the second touch-sensitive strip to manipulate the display of the photo and/or to navigate within the photo viewing application. In one example, at 1446 the method 1400 may include zooming into or out from the photo by touching the second touch-sensitive strip with a thumb and sliding the thumb along the X-axis direction. At 1450 the method 1400 may include, when the zoom factor is greater than 100%, panning the displayed view to the left or right by sliding a forefinger along the first touch-sensitive strip. At 1452 the method 1400 may include, once in a panning mode, panning the displayed view up or down by sliding the thumb along the second touch-sensitive strip.
In another example, at 1454 the method 1400 may include scrolling different photos from a sequential lineup of photos through the viewing region by sliding the thumb along the X-axis in first or second, opposite directions. For example, photos may be arranged sequentially and scrolled through upwardly or downwardly in a direction corresponding to action arrow V in
In other examples and when the text message region is displayed in the viewing region, at 1458 the method 1400 may include scrolling through additional text of a message and/or scrolling to a different text message by sliding a thumb on the second touch-sensitive strip along the X-axis. In other examples and when the menu region is displayed in the viewing region, at 1462 the method 1400 may include navigating among different selectable application icons by sliding a thumb on the second touch-sensitive strip along the X-axis. Navigating among selectable icons may comprise for example, selectively highlighting different icons.
At 1466 the method 1400 may include selecting a selectable item displayed in the viewing region by tapping the first touch-sensitive strip with a forefinger or by squeezing the first touch-sensitive strip and the second touch-sensitive strip between a forefinger and a thumb. In other examples, at 1470 the method 1400 may include selecting a selectable item displayed in the viewing region by simultaneously sliding a forefinger along the first touch-sensitive strip in a first X-axis direction and sliding a thumb along the second touch-sensitive strip in the opposite X-axis direction.
In some examples, at 1474 the method 1400 may include a activating on-screen controls via the first touch-sensitive strip and/or second touch-sensitive strip. For example, at 1478 the method 1400 may include activating and causing a volume control to be displayed via a display device by squeezing the first touch-sensitive strip and the second touch-sensitive strip between a forefinger and a thumb.
It will be appreciated that the foregoing examples of utilizing a first touch-sensitive strip and second touch-sensitive strip to interact with a user interface displayed on a display device are provided for illustrative purposes only and are not intended to be limiting in any manner. Many other variations and combinations of methods for user touch input via the first touch-sensitive strip and second touch-sensitive strip, and corresponding actions, commands, activations, and the like via a user interface program, are possible.
It will also be appreciated that method 1400 is provided by way of example and is not meant to be limiting. Therefore, it is to be understood that method 1400 may include additional and/or alternative steps than those illustrated in
As shown in
Logic subsystem 1504 may include one or more physical devices configured to execute one or more instructions. For example, the logic subsystem 1504 may be configured to execute one or more instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more devices, or otherwise arrive at a desired result.
The logic subsystem 1504 may include one or more processors that are configured to execute software instructions. Additionally or alternatively, the logic subsystem may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of the logic subsystem may be single core or multicore, and the programs executed thereon may be configured for parallel or distributed processing. The logic subsystem may optionally include individual components that are distributed throughout two or more devices, which may be remotely located and/or configured for coordinated processing. One or more aspects of the logic subsystem may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing configuration.
Storage subsystem 1508 may include one or more physical, persistent devices configured to hold data and/or instructions executable by the logic subsystem 1504 to implement the herein described methods and processes. When such methods and processes are implemented, the state of storage subsystem 1508 may be transformed (e.g., to hold different data).
Storage subsystem 1508 may include removable media and/or built-in devices. Storage subsystem 1504 may include optical memory devices (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory devices (e.g., RAM, EPROM, EEPROM, etc.) and/or magnetic memory devices (e.g., hard disk drive, floppy disk drive, tape drive, MRAM, etc.), among others. Storage subsystem 1508 may include devices with one or more of the following characteristics: volatile, nonvolatile, dynamic, static, read/write, read-only, random access, sequential access, location addressable, file addressable, and content addressable.
In some embodiments, aspects of logic subsystem 1504 and storage subsystem 1508 may be integrated into one or more common devices through which the functionally described herein may be enacted, at least in part. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC) systems, and complex programmable logic devices (CPLDs), for example.
It is to be appreciated that storage subsystem 1508 includes one or more physical, persistent devices. In contrast, in some embodiments aspects of the instructions described herein may be propagated in a transitory fashion by a pure signal (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for at least a finite duration. Furthermore, data and/or other forms of information pertaining to the present disclosure may be propagated by a pure signal via computer-readable communication media.
Display subsystem 1512 may be used to present a visual representation of data held by storage subsystem 1508. As the above described methods and processes change the data held by the storage subsystem 1508, and thus transform the state of the storage subsystem, the state of the display subsystem 1512 may likewise be transformed to visually represent changes in the underlying data. The display subsystem 1512 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic subsystem 1504 and/or storage subsystem 1508 in a shared enclosure, such as in the eyeglasses 200, or such display devices may be peripheral display devices. The display subsystem 1512 may include, for example, the display system 30 of display device 14.
Sensor subsystem 1516 may include one or more sensors configured to sense different physical phenomenon (e.g., touch, pressure, visible light, infrared light, sound, acceleration, orientation, position, etc.). Sensor subsystem 1516 may be configured to provide sensor data to logic subsystem 1504, for example. As described above, in some examples the sensor subsystem 1516 may comprise one or more touch-sensitive sensors configured to sense contact and/or pressure from a human digit, a stylus or other input device. Such touch-sensitive sensor data may be used to perform such tasks as navigating and controlling a user interface, activating on-screen controls, etc. In other examples sensor subsystem 1516 may include image sensors configured to acquire images facing toward and/or away from a user, motion sensors such as accelerometers that may be used to track motion of the device, and/or any other suitable sensors that may be used to perform the methods and processes described above.
Communication subsystem 1520 may be configured to communicatively couple computing system 1500 with one or more networks and/or one or more other computing devices. Communication subsystem 1520 may include wired and/or wireless communication devices compatible with one or more different communication protocols. As nonlimiting examples, the communication subsystem 1520 may be configured for communication via a wireless telephone network, a wireless local area network, a wired local area network, a wireless wide area network, a wired wide area network, etc. In some embodiments, the communication subsystem may allow computing system 1500 to send and/or receive messages to and/or from other devices via a network such as the Internet.
Input subsystem 1522 may comprise or interface with one or more sensors or user-input devices such as a game controller, gesture input detection device, voice recognizer, inertial measurement unit, keyboard, mouse, or touch screen. In some embodiments, the input subsystem 1522 may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity.
The term “program” may be used to describe an aspect of the present disclosure that is implemented to perform one or more particular functions. In some cases, such a program may be instantiated via logic subsystem 1504 executing instructions held by storage subsystem 1508. It is to be understood that different programs may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same program may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The term “program” is meant to encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
It is to be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Likewise, the order of the above-described processes may be changed.
The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.