This disclosure relates to user interfaces for head-worn computer systems.
Head mounted displays (HMDs) and particularly HMDs that provide a see-through view of the environment are valuable instruments. The presentation of content in the see-through display can be a complicated operation when attempting to ensure that the user experience is optimized. Improved systems and methods for presenting content in the see-through display are required to improve the user experience.
Aspects of the present disclosure relate to user interface methods and systems for head-worn computer systems.
A head-worn computer may include an inertial measurement unit (“IMU”) in communication with a processor, the processor adapted to identify a user tap control action, the user tap control action being a finger tap on a frame of the head-worn computer, wherein the finger tap is measured by the IMU, and the processor further adapted to control an aspect of a software application operating on the head-worn computer. The head-worn computer may further include a rotary user interface, mounted on an arm of the head-worn computer, wherein the rotary user interface controls an aspect of the software application in conjunction with the user tap control action or a touch surface user interface, mounted on an arm of the head-worn computer, wherein the touch surface user interface controls an aspect of the software application in conjunction with the user tap control action. The user tap control action initiates a selection of an element in a graphical user interface presented on a see-through display of the head-worn computer.
A head-worn computer may include a strain gauge adapted to measure strain on an area mounted on the head-worn computer, and the strain gauge associated with a processor, the processor adapted to interpret strain measurements from the strain gauge and to control an aspect of a software application operating on the head-worn computer. The strain gauge includes a physical feature indicative of an area for user interaction. The physical feature is a plurality of features indicative of different user controls, wherein the processor is adapted to control a different aspect of the software application based on which of the plurality of features is indicating user interaction. The processor interprets a scroll action when the strain gauge measures a substantially linear swipe.
A head-worn computer may include a proximity detection system positioned to identify when the head-worn computer has been mounted on a user's head, a processor adapted to be in a sleep mode when the head-worn computer is not mounted on the user's head, the processor monitoring the proximity detection system while in the sleep mode, and the processor further adapted to wake and turn on a see-through computer display mounted in the head-worn computer when the proximity sensor detects the user's head. The proximity detection system may be positioned to detect the presence of the user's forehead. The proximity detection system may be mounted in an arm of the head-worn computer.
These and other systems, methods, objects, features, and advantages of the present disclosure will be apparent to those skilled in the art from the following detailed description of the preferred embodiment and the drawings. All documents mentioned herein are hereby incorporated in their entirety by reference.
Embodiments are described with reference to the following Figures. The same numbers may be used throughout to reference like features and components that are shown in the Figures:
a,
10
b and 11 illustrate light sources and filters in accordance with the principles of the present disclosure.
a illustrate haptic systems in accordance with the principles of the present disclosure.
While the disclosure has been described in connection with certain preferred embodiments, other embodiments would be understood by one of ordinary skill in the art and are encompassed herein.
Aspects of the present disclosure relate to head-worn computing (“HWC”) systems. HWC involves, in some instances, a system that mimics the appearance of head-worn glasses or sunglasses. The glasses may be a fully developed computing platform, such as including computer displays presented in each of the lenses of the glasses to the eyes of the user. In embodiments, the lenses and displays may be configured to allow a person wearing the glasses to see the environment through the lenses while also seeing, simultaneously, digital imagery, which forms an overlaid image that is perceived by the person as a digitally augmented image of the environment, or augmented reality (“AR”).
HWC involves more than just placing a computing system on a person's head. The system may need to be designed as a lightweight, compact and fully functional computer display, such as wherein the computer display includes a high resolution digital display that provides a high level of emersion comprised of the displayed digital content and the see-through view of the environmental surroundings. User interfaces and control systems suited to the HWC device may be required that are unlike those used for a more conventional computer such as a laptop. For the HWC and associated systems to be most effective, the glasses may be equipped with sensors to determine environmental conditions, geographic location, relative positioning to other points of interest, objects identified by imaging and movement by the user or other users in a connected group, compass heading, head tilt, where the user is looking and the like. The HWC may then change the mode of operation to match the conditions, location, positioning, movements, and the like, in a method generally referred to as a contextually aware HWC. The glasses also may need to be connected, wirelessly or otherwise, to other systems either locally or through a network. Controlling the glasses may be achieved through the use of an external device, automatically through contextually gathered information, through user gestures captured by the glasses sensors, and the like. Each technique may be further refined depending on the software application being used in the glasses. The glasses may further be used to control or coordinate with external devices that are associated with the glasses.
Referring to
We will now describe each of the main elements depicted on
The HWC 102 is a computing platform intended to be worn on a person's head. The HWC 102 may take many different forms to fit many different functional requirements. In some situations, the HWC 102 will be designed in the form of conventional glasses. The glasses may or may not have active computer graphics displays. In situations where the HWC 102 has integrated computer displays the displays may be configured as see-through displays such that the digital imagery can be overlaid with respect to the user's view of the environment 114. There are a number of see-through optical designs that may be used, including ones that have a reflective display (e.g. LCoS, DLP), emissive displays (e.g. OLED, LED), hologram, TIR waveguides, and the like. In embodiments, lighting systems used in connection with the display optics may be solid state lighting systems, such as LED, OLED, quantum dot, quantum dot LED, etc. In addition, the optical configuration may be monocular or binocular. It may also include vision corrective optical components. In embodiments, the optics may be packaged as contact lenses. In other embodiments, the HWC 102 may be in the form of a helmet with a see-through shield, sunglasses, safety glasses, goggles, a mask, fire helmet with see-through shield, police helmet with see through shield, military helmet with see-through shield, utility form customized to a certain work task (e.g. inventory control, logistics, repair, maintenance, etc.), and the like.
The HWC 102 may also have a number of integrated computing facilities, such as an integrated processor, integrated power management, communication structures (e.g. cell net, WiFi, Bluetooth, local area connections, mesh connections, remote connections (e.g. client server, etc.)), and the like. The HWC 102 may also have a number of positional awareness sensors, such as GPS, electronic compass, altimeter, tilt sensor, IMU, and the like. It may also have other sensors such as a camera, rangefinder, hyper-spectral camera, Geiger counter, microphone, spectral illumination detector, temperature sensor, chemical sensor, biologic sensor, moisture sensor, ultrasonic sensor, and the like.
The HWC 102 may also have integrated control technologies. The integrated control technologies may be contextual based control, passive control, active control, user control, and the like. For example, the HWC 102 may have an integrated sensor (e.g. camera) that captures user hand or body gestures 116 such that the integrated processing system can interpret the gestures and generate control commands for the HWC 102. In another example, the HWC 102 may have sensors that detect movement (e.g. a nod, head shake, and the like) including accelerometers, gyros and other inertial measurements, where the integrated processor may interpret the movement and generate a control command in response. The HWC 102 may also automatically control itself based on measured or perceived environmental conditions. For example, if it is bright in the environment the HWC 102 may increase the brightness or contrast of the displayed image. In embodiments, the integrated control technologies may be mounted on the HWC 102 such that a user can interact with it directly. For example, the HWC 102 may have a button(s), touch capacitive interface, and the like.
As described herein, the HWC 102 may be in communication with external user interfaces 104. The external user interfaces may come in many different forms. For example, a cell phone screen may be adapted to take user input for control of an aspect of the HWC 102. The external user interface may be a dedicated UI (e.g. air mouse, finger mounted mouse), such as a keyboard, touch surface, button(s), joy stick, and the like. In embodiments, the external controller may be integrated into another device such as a ring, watch, bike, car, and the like. In each case, the external user interface 104 may include sensors (e.g. IMU, accelerometers, compass, altimeter, and the like) to provide additional input for controlling the HWD 104.
As described herein, the HWC 102 may control or coordinate with other local devices 108. The external devices 108 may be an audio device, visual device, vehicle, cell phone, computer, and the like. For instance, the local external device 108 may be another HWC 102, where information may then be exchanged between the separate HWCs 108.
Similar to the way the HWC 102 may control or coordinate with local devices 106, the HWC 102 may control or coordinate with remote devices 112, such as the HWC 102 communicating with the remote devices 112 through a network 110. Again, the form of the remote device 112 may have many forms. Included in these forms is another HWC 102. For example, each HWC 102 may communicate its GPS position such that all the HWCs 102 know where all of HWC 102 are located.
The combiner 602 may include a holographic pattern, to form a holographic mirror. If a monochrome image is desired, there may be a single wavelength reflection design for the holographic pattern on the surface of the combiner 602. If the intention is to have multiple colors reflected from the surface of the combiner 602, a multiple wavelength holographic mirror maybe included on the combiner surface. For example, in a three-color embodiment, where red, green and blue pixels are generated in the image light, the holographic mirror may be reflective to wavelengths substantially matching the wavelengths of the red, green and blue light provided in the image light. This configuration can be used as a wavelength specific mirror where pre-determined wavelengths of light from the image light are reflected to the user's eye. This configuration may also be made such that substantially all other wavelengths in the visible pass through the combiner element 602 so the user has a substantially clear view of the environmental surroundings when looking through the combiner element 602. The transparency between the user's eye and the surrounding may be approximately 80% when using a combiner that is a holographic mirror. Wherein holographic mirrors can be made using lasers to produce interference patterns in the holographic material of the combiner where the wavelengths of the lasers correspond to the wavelengths of light that are subsequently reflected by the holographic mirror.
In another embodiment, the combiner element 602 may include a notch mirror comprised of a multilayer coated substrate wherein the coating is designed to substantially reflect the wavelengths of light provided in the image light by the light source and substantially transmit the remaining wavelengths in the visible spectrum. For example, in the case where red, green and blue light is provided by the light source in the upper optics to enable full color images to be provided to the user, the notch mirror is a tristimulus notch mirror wherein the multilayer coating is designed to substantially reflect narrow bands of red, green and blue light that are matched to the what is provided by the light source and the remaining visible wavelengths are substantially transmitted through the coating to enable a view of the environment through the combiner. In another example where monochrome images are provided to the user, the notch mirror is designed to reflect a single narrow band of light that is matched to the wavelength range of the image light provided by the upper optics while transmitting the remaining visible wavelengths to enable a see-thru view of the environment. The combiner 602 with the notch mirror would operate, from the user's perspective, in a manner similar to the combiner that includes a holographic pattern on the combiner element 602. The combiner, with the tristimulus notch mirror, would reflect image light associated with pixels, to the eye because of the match between the reflective wavelengths of the notch mirror and the wavelengths or color of the image light, and the wearer would simultaneously be able to see with high clarity the environmental surroundings. The transparency between the user's eye and the surrounding may be approximately 80% when using the tristimulus notch mirror. In addition, the image provided with the notch mirror combiner can provide higher contrast images than the holographic mirror combiner because the notch mirror acts in a purely reflective manner compared to the holographic mirror which operates through diffraction, and as such the notch mirror is subject to less scattering of the imaging light by the combiner. In another embodiment, the combiner element 602 may include a simple partial mirror that reflects a portion (e.g. 50%) of all wavelengths of light in the visible.
Image light can escape through the combiner 602 and may produce face glow from the optics shown in
If the image light is unpolarized, a microlouvered film such as a privacy filter can be used to absorb the escaping image light while providing the user with a see-thru view of the environment. In this case, the absorbance or transmittance of the microlouvered film is dependent on the angle of the light,. Where steep angle light is absorbed and light at less of an angle is transmitted. For this reason, in an embodiment, the combiner with the microlouver film is angled at greater than 45 degrees to the optical axis of the image light (e.g. the combiner can be oriented at 50 degrees so the image light from the file lens is incident on the combiner at an oblique angle.
While many of the embodiments of the present disclosure have been referred to as upper and lower modules containing certain optical components, it should be understood that the image light production and management functions described in connection with the upper module may be arranged to direct light in other directions (e.g. upward, sideward, etc.). In embodiments, it may be preferred to mount the upper module 202 above the wearer's eye, in which case the image light would be directed downward. In other embodiments it may be preferred to produce light from the side of the wearer's eye, or from below the wearer's eye. In addition, the lower optical module is generally configured to deliver the image light to the wearer's eye and allow the wearer to see through the lower optical module, which may be accomplished through a variety of optical components.
Another aspect of the present disclosure relates to the generation of peripheral image lighting effects for a person wearing a HWC. In embodiments, a solid state lighting system (e.g. LED, OLED, etc), or other lighting system, may be included inside the optical elements of an lower optical module 204. The solid state lighting system may be arranged such that lighting effects outside of a field of view (FOV) associated with displayed digital content is presented to create an immersive effect for the person wearing the HWC. To this end, the lighting effects may be presented to any portion of the HWC that is visible to the wearer. The solid state lighting system may be digitally controlled by an integrated processor on the HWC. In embodiments, the integrated processor will control the lighting effects in coordination with digital content that is presented within the FOV of the HWC. For example, a movie, picture, game, or other content, may be displayed or playing within the FOV of the HWC. The content may show a bomb blast on the right side of the FOV and at the same moment, the solid state lighting system inside of the upper module optics may flash quickly in concert with the FOV image effect. The effect may not be fast, it may be more persistent to indicate, for example, a general glow or color on one side of the user. The solid state lighting system may be color controlled, with red, green and blue LEDs, for example, such that color control can be coordinated with the digitally presented content within the field of view.
In the embodiment illustrated in
a,
14
b,
14
c and 14d show illustrations of a HWC that includes eye covers 1402 to restrict loss of image light to the surrounding environment and to restrict the ingress of stray light from the environment. Where the eye covers 1402 can be removably attached to the HWC with magnets 1404. Another aspect of the present disclosure relates to automatically configuring the lighting system(s) used in the HWC 102. In embodiments, the display lighting and/or effects lighting, as described herein, may be controlled in a manner suitable for when an eye cover 1402 is attached or removed from the HWC 102. For example, at night, when the light in the environment is low, the lighting system(s) in the HWC may go into a low light mode to further control any amounts of stray light escaping from the HWC and the areas around the HWC. Covert operations at night, while using night vision or standard vision, may require a solution which prevents as much escaping light as possible so a user may clip on the eye cover(s) 1402 and then the HWC may go into a low light mode. The low light mode may, in some embodiments, only go into a low light mode when the eye cover 1402 is attached if the HWC identifies that the environment is in low light conditions (e.g. through environment light level sensor detection). In embodiments, the low light level may be determined to be at an intermediate point between full and low light dependent on environmental conditions.
Another aspect of the present disclosure relates to automatically controlling the type of content displayed in the HWC when eye covers 1402 are attached or removed from the HWC. In embodiments, when the eye cover(s) 1402 is attached to the HWC, the displayed content may be restricted in amount or in color amounts. For example, the display(s) may go into a simple content delivery mode to restrict the amount of information displayed. This may be done to reduce the amount of light produced by the display(s). In an embodiment, the display(s) may change from color displays to monochrome displays to reduce the amount of light produced. In an embodiment, the monochrome lighting may be red to limit the impact on the wearer's eyes to maintain an ability to see better in the dark.
Another aspect of the present disclosure relates to a system adapted to quickly convert from a see-through system to a non-see-through or very low transmission see-through system for a more immersive user experience. The conversion system may include replaceable lenses, an eye cover, and optics adapted to provide user experiences in both modes. The outer lenses, for example, may be ‘blacked-out’ with an opaque cover 1412 to provide an experience where all of the user's attention is dedicated to the digital content and then the outer lenses may be switched out for high see-through lenses so the digital content is augmenting the user's view of the surrounding environment. Another aspect of the disclosure relates to low transmission outer lenses that permit the user to see through the outer lenses but remain dark enough to maintain most of the user's attention on the digital content. The slight see-through can provide the user with a visual connection to the surrounding environment and this can reduce or eliminate nausea and other problems associated with total removal of the surrounding view when viewing digital content.
In embodiments, the eye cover 1402 may have areas of transparency or partial transparency to provide some visual connection with the user's surrounding environment. This may also reduce or eliminate nausea or other feelings associated with the complete removal of the view of the surrounding environment.
Another aspect of the present disclosure relates to an effects system that generates effects outside of the field of view in the see-through display of the head-worn computer. The effects may be, for example, lighting effects, sound effects, tactile effects (e.g. through vibration), air movement effects, etc. In embodiments, the effect generation system is mounted on the eye cover 1402. For example, a lighting system (e.g. LED(s), OLEDs, etc.) may be mounted on an inside surface 1420, or exposed through the inside surface 1420, as illustrated in
In embodiments, the effects generated by the effects system may be scripted by an author to coordinate with the content. In embodiments, sensors may be placed inside of the eye cover to monitor content effects (e.g. a light sensor to measure strong lighting effects or peripheral lighting effects) that would than cause an effect(s) to be generated.
The effects system in the eye cover may be powered by an internal battery and the battery, in embodiments, may also provide additional power to the head-worn computer 102 as a back-up system. In embodiments, the effects system is powered by the batteries in the head-worn computer. Power may be delivered through the attachment system (e.g. magnets, mechanical system) or a dedicated power system.
The effects system may receive data and/or commands from the head-worn computer through a data connection that is wired or wireless. The data may come through the attachment system, a separate line, or through Bluetooth or other short range communication protocol, for example.
In embodiments, the eye cover 1402 is made of reticulated foam, which is very light and can contour to the user's face. The reticulated foam also allows air to circulate because of the open-celled nature of the material, which can reduce user fatigue and increase user comfort. The eye cover 1402 may be made of other materials, soft, stiff, priable, etc. and may have another material on the periphery that contacts the face for comfort. In embodiments, the eye cover 1402 may include a fan to exchange air between an external environment and an internal space, where the internal space is defined in part by the face of the user. The fan may operate very slowly and at low power to exchange the air to keep the face of the user cool. In embodiments the fan may have a variable speed controller and/or a temperature sensor may be positioned to measure temperature in the internal space to control the temperature in the internal space to a specified range, temperature, etc. The internal space is generally characterized by the space confined space in front of the user's eyes and upper cheeks where the eye cover encloses the area.
Another aspect of the present disclosure relates to flexibly mounting an audio headset on the head-worn computer 102 and/or the eye cover 1402. In embodiments, the audio headset is mounted with a relatively rigid system that has flexible joint(s) (e.g. a rotational joint at the connection with the eye cover, a rotational joint in the middle of a rigid arm, etc.) and extension(s) (e.g. a telescopic arm) to provide the user with adjustability to allow for a comfortable fit over, in or around the user's ear. In embodiments, the audio headset is mounted with a flexible system that is more flexible throughout, such as with a wire-based connection.
In embodiments, the eye cover 1402 may be adapted to be removably mounted on a head-worn computer 102 with a see-through computer display. An audio headset 1422 with an adjustable mount may be connected to the eye cover, wherein the adjustable mount may provide extension and rotation to provide a user of the head-worn computer with a mechanism to align the audio headset with an ear of the user. In embodiments, the audio headset includes an audio wire connected to a connector on the eye cover and the eye cover connector may be adapted to removably mate with a connector on the head-worn computer. In embodiments, the audio headset may be adapted to receive audio signals from the head-worn computer 102 through a wireless connection (e.g. Bluetooth, WiFi). As described elsewhere herein, the head-worn computer 102 may have a removable and replaceable front lens 1414. The eye cover 1402 may include a battery to power systems internal to the eye cover 1402. The eye cover 1402 may have a battery to power systems internal to the head-worn computer 102.
In embodiments, the eye cover 1402 may include a fan adapted to exchange air between an internal space, defined in part by the user's face, and an external environment to cool the air in the internal space and the user's face. In embodiments, the audio headset 1422 may include a vibratory system (e.g. a vibration motor, piezo motor, etc. in the armature and/or in the section over the ear) adapted to provide the user with a haptic feedback coordinated with digital content presented in the see-through computer display. In embodiments, the head-worn computer 102 includes a vibratory system adapted to provide the user with a haptic feedback coordinated with digital content presented in the see-through computer display.
In embodiments, the eye cover 1402 is adapted to be removably mounted on a head-worn computer with a see-through computer display. The eye cover 1402 may also include a flexible audio headset mounted to the eye cover 1402, wherein the flexibility provides the user of the head-worn computer 102 with a mechanism to align the audio headset with an ear of the user. In embodiments, the flexible audio headset is mounted to the eye cover 1402 with a magnetic connection. In embodiments, the flexible audio headset may be mounted to the eye cover 1402 with a mechanical connection.
In embodiments, the audio headset 1422 may be spring or otherwise loaded such that the head set presses inward towards the user's ears for a more secure fit.
Referring to
While the pen 1500 may follow the general form of a conventional pen, it contains numerous technologies that enable it to function as an external user interface 104.
The pen 1500 may also include a pressure monitoring system 1504, such as to measure the pressure exerted on the lens 1502. As will be described in greater detail herein, the pressure measurement can be used to predict the user's intention for changing the weight of a line, type of a line, type of brush, click, double click, and the like. In embodiments, the pressure sensor may be constructed using any force or pressure measurement sensor located behind the lens 1502, including for example, a resistive sensor, a current sensor, a capacitive sensor, a voltage sensor such as a piezoelectric sensor, and the like.
The pen 1500 may also include a communications module 1518, such as for bi-directional communication with the HWC 102. In embodiments, the communications module 1518 may be a short distance communication module (e.g. Bluetooth). The communications module 1518 may be security matched to the HWC 102. The communications module 1518 may be arranged to communicate data and commands to and from the microprocessor 1510 of the pen 1500. The microprocessor 1510 may be programmed to interpret data generated from the camera 1508, IMU 1512, and pressure sensor 1504, and the like, and then pass a command onto the HWC 102 through the communications module 1518, for example. In another embodiment, the data collected from any of the input sources (e.g. camera 1508, IMU 1512, pressure sensor 1504) by the microprocessor may be communicated by the communication module 1518 to the HWC 102, and the HWC 102 may perform data processing and prediction of the user's intention when using the pen 1500. In yet another embodiment, the data may be further passed on through a network 110 to a remote device 112, such as a server, for the data processing and prediction. The commands may then be communicated back to the HWC 102 for execution (e.g. display writing in the glasses display, make a selection within the UI of the glasses display, control a remote external device 112, control a local external device 108), and the like. The pen may also include memory 1514 for long or short term uses.
The pen 1500 may also include a number of physical user interfaces, such as quick launch buttons 1522, a touch sensor 1520, and the like. The quick launch buttons 1522 may be adapted to provide the user with a fast way of jumping to a software application in the HWC system 100. For example, the user may be a frequent user of communication software packages (e.g. email, text, Twitter, Instagram, Facebook, Google+, and the like), and the user may program a quick launch button 1522 to command the HWC 102 to launch an application. The pen 1500 may be provided with several quick launch buttons 1522, which may be user programmable or factory programmable. The quick launch button 1522 may be programmed to perform an operation. For example, one of the buttons may be programmed to clear the digital display of the HWC 102. This would create a fast way for the user to clear the screens on the HWC 102 for any reason, such as for example to better view the environment. The quick launch button functionality will be discussed in further detail below. The touch sensor 1520 may be used to take gesture style input from the user. For example, the user may be able to take a single finger and run it across the touch sensor 1520 to affect a page scroll.
The pen 1500 may also include a laser pointer 1524. The laser pointer 1524 may be coordinated with the IMU 1512 to coordinate gestures and laser pointing. For example, a user may use the laser 1524 in a presentation to help with guiding the audience with the interpretation of graphics and the IMU 1512 may, either simultaneously or when the laser 1524 is off, interpret the user's gestures as commands or data input.
The watchband controller 2000 may have quick launch interfaces 2008 (e.g. to launch applications and choosers as described herein), a touch pad 2014 (e.g. to be used as a touch style mouse for GUI control in a HWC 102 display) and a display 2012. The clip 2018 may be adapted to fit a wide range of watchbands so it can be used in connection with a watch that is independently selected for its function. The clip, in embodiments, is rotatable such that a user can position it in a desirable manner. In embodiments the clip may be a flexible strap. In embodiments, the flexible strap may be adapted to be stretched to attach to a hand, wrist, finger, device, weapon, and the like.
In embodiments, the watchband controller may be configured as a removable and replaceable watchband. For example, the controller may be incorporated into a band with a certain width, segment spacing's, etc. such that the watchband, with its incorporated controller, can be attached to a watch body. The attachment, in embodiments, may be mechanically adapted to attach with a pin upon which the watchband rotates. In embodiments, the watchband controller may be electrically connected to the watch and/or watch body such that the watch, watch body and/or the watchband controller can communicate data between them.
The watchband controller 2000 may have 3-axis motion monitoring (e.g. through an IMU, accelerometers, magnetometers, gyroscopes, etc.) to capture user motion. The user motion may then be interpreted for gesture control.
In embodiments, the watchband controller 2000 may comprise fitness sensors and a fitness computer. The sensors may track heart rate, calories burned, strides, distance covered, and the like. The data may then be compared against performance goals and/or standards for user feedback.
In embodiments directed to capturing images of the wearer's eye, light to illuminate the wearer's eye can be provided by several different sources including: light from the displayed image (i.e. image light); light from the environment that passes through the combiner or other optics; light provided by a dedicated eye light, etc.
In embodiments, the eye imaging camera is inline with the image light optical path, or part of the image light optical path. For example, the eye camera may be positioned in the upper module to capture eye image light that reflects back through the optical system towards the image display. The eye image light may be captured after reflecting off of the image source (e.g. in a DLP configuration where the mirrors can be positioned to reflect the light towards the eye image light camera), a partially reflective surface may be placed along the image light optical path such that when the eye image light reflects back into the upper or lower module that it is reflected in a direction that the eye imaging camera can capture light eye image light. In other embodiments, the eye image light camera is positioned outside of the image light optical path. For example, the camera(s) may be positioned near the outer lens of the platform.
In an embodiment of the eye imaging system, the lens for the eye camera is designed to take into account the optics associated with the upper module 202 and the lower module 204. This is accomplished by designing the eye camera to include the optics in the upper module 202 and optics in the lower module 204, so that a high MTF image is produced, at the image sensor in the eye camera, of the wearer's eye. In yet a further embodiment, the eye camera lens is provided with a large depth of field to eliminate the need for focusing the eye camera to enable sharp images of the eye to be captured. Where a large depth of field is typically provided by a high f/# lens (e.g. f/#>5). In this case, the reduced light gathering associated with high f/# lenses is compensated by the inclusion of a dedicated eye light to enable a bright image of the eye to be captured. Further, the brightness of the dedicated eye light can be modulated and synchronized with the capture of eye images so that the dedicated eye light has a reduced duty cycle and the brightness of infrared light on the wearer's eye is reduced.
In a further embodiment,
An aspect of the present disclosure relates to controlling the HWC 102 through interpretations of eye imagery. In embodiments, eye-imaging technologies, such as those described herein, are used to capture an eye image or a series of eye images for processing. The image(s) may be processed to determine a user intended action, an HWC predetermined reaction, or other action. For example, the imagery may be interpreted as an affirmative user control action for an application on the HWC 102. Or, the imagery may cause, for example, the HWC 102 to react in a pre-determined way such that the HWC 102 is operating safely, intuitively, etc.
In embodiments, the digital content that is in line with the virtual target line may not be displayed in the FOV until the eye position is in the right position. This may be a predetermined process. For example, the system may be set up such that a particular piece of digital content (e.g. an advertisement, guidance information, object information, etc.) will appear in the event that the wearer looks at a certain object(s) in the environment. A virtual target line(s) may be developed that virtually connects the wearer's eye with an object(s) in the environment (e.g. a building, portion of a building, mark on a building, gps location, etc.) and the virtual target line may be continually updated depending on the position and viewing direction of the wearer (e.g. as determined through GPS, e-compass, IMU, etc.) and the position of the object. When the virtual target line suggests that the wearer's pupil is substantially aligned with the virtual target line or about to be aligned with the virtual target line, the digital content may be displayed in the FOV 3704.
In embodiments, the time spent looking along the virtual target line and/or a particular portion of the FOV 3708 may indicate that the wearer is interested in an object in the environment and/or digital content being displayed. In the event there is no digital content being displayed at the time a predetermined period of time is spent looking at a direction, digital content may be presented in the area of the FOV 3708. The time spent looking at an object may be interpreted as a command to display information about the object, for example. In other embodiments, the content may not relate to the object and may be presented because of the indication that the person is relatively inactive. In embodiments, the digital content may be positioned in proximity to the virtual target line, but not in-line with it such that the wearer's view of the surroundings are not obstructed but information can augment the wearer's view of the surroundings. In embodiments, the time spent looking along a target line in the direction of displayed digital content may be an indication of interest in the digital content. This may be used as a conversion event in advertising. For example, an advertiser may pay more for an add placement if the wearer of the HWC 102 looks at a displayed advertisement for a certain period of time. As such, in embodiments, the time spent looking at the advertisement, as assessed by comparing eye position with the content placement, target line or other appropriate position may be used to determine a rate of conversion or other compensation amount due for the presentation.
An aspect of the disclosure relates to removing content from the FOV of the HWC 102 when the wearer of the HWC 102 apparently wants to view the surrounding environments clearly.
Another aspect of the present disclosure relates to determining a focal plane based on the wearer's eye convergence. Eyes are generally converged slightly and converge more when the person focuses on something very close. This is generally referred to as convergence. In embodiments, convergence is calibrated for the wearer. That is, the wearer may be guided through certain focal plane exercises to determine how much the wearer's eyes converge at various focal planes and at various viewing angles. The convergence information may then be stored in a database for later reference. In embodiments, a general table may be used in the event there is no calibration step or the person skips the calibration step. The two eyes may then be imaged periodically to determine the convergence in an attempt to understand what focal plane the wearer is focused on. In embodiments, the eyes may be imaged to determine a virtual target line and then the eye's convergence may be determined to establish the wearer's focus, and the digital content may be displayed or altered based thereon.
An aspect of the present disclosure relates to controlling the HWC 102 based on events detected through eye imaging. A wearer winking, blinking, moving his eyes in a certain pattern, etc. may, for example, control an application of the HWC 102. Eye imaging (e.g. as described herein) may be used to monitor the eye(s) of the wearer and once a pre-determined pattern is detected an application control command may be initiated.
An aspect of the disclosure relates to monitoring the health of a person wearing a HWC 102 by monitoring the wearer's eye(s). Calibrations may be made such that the normal performance, under various conditions (e.g. lighting conditions, image light conditions, etc.) of a wearer's eyes may be documented. The wearer's eyes may then be monitored through eye imaging (e.g. as described herein) for changes in their performance. Changes in performance may be indicative of a health concern (e.g. concussion, brain injury, stroke, loss of blood, etc.). If detected the data indicative of the change or event may be communicated from the HWC 102.
Aspects of the present disclosure relate to security and access of computer assets (e.g. the HWC itself and related computer systems) as determined through eye image verification. As discussed herein elsewhere, eye imagery may be compared to known person eye imagery to confirm a person's identity. Eye imagery may also be used to confirm the identity of people wearing the HWCs 102 before allowing them to link together or share files, streams, information, etc.
A variety of use cases for eye imaging are possible based on technologies described herein. An aspect of the present disclosure relates to the timing of eye image capture. The timing of the capture of the eye image and the frequency of the capture of multiple images of the eye can vary dependent on the use case for the information gathered from the eye image. For example, capturing an eye image to identify the user of the HWC may be required only when the HWC has been turned ON or when the HWC determines that the HWC has been put onto a wearer's head to control the security of the HWC and the associated information that is displayed to the user, wherein the orientation, movement pattern, stress or position of the earhorns (or other portions of the HWC) of the HWC can be used to determine that a person has put the HWC onto their head with the intention to use the HWC. Those same parameters may be monitored in an effort to understand when the HWC is dismounted from the user's head. This may enable a situation where the capture of an eye image for identifying the wearer may be completed only when a change in the wearing status is identified. In a contrasting example, capturing eye images to monitor the health of the wearer may require images to be captured periodically (e.g. every few seconds, minutes, hours, days, etc.). For example, the eye images may be taken in minute intervals when the images are being used to monitor the health of the wearer when detected movements indicate that the wearer is exercising. In a further contrasting example, capturing eye images to monitor the health of the wearer for long-term effects may only require that eye images be captured monthly. Embodiments of the disclosure relate to selection of the timing and rate of capture of eye images to be in correspondence with the selected use scenario associated with the eye images. These selections may be done automatically, as with the exercise example above where movements indicate exercise, or these selections may be set manually. In a further embodiment, the selection of the timing and rate of eye image capture is adjusted automatically depending on the mode of operation of the HWC. The selection of the timing and rate of eye image capture can further be selected in correspondence with input characteristics associated with the wearer including age and health status, or sensed physical conditions of the wearer including heart rate, chemical makeup of the blood and eye blink rate.
The eye imaging system can also be used for the assessment of aspects of health of the user. In this case, information gained from analyzing captured images of the iris 5130 or sclera 5125 are different from information gained from analyzing captured images of the retina 5014. Where images of the retina 5014 are captured using light that illuminates the inner portions of the eye including the retina 5014. The light can be visible light, but in an embodiment, the light is infrared light (e.g. wavelength 1 to 5 microns) and the eye camera is an infrared light sensor (e.g. an InGaAs sensor) or a low resolution infrared image sensor that is used to determine the relative amount of light that is absorbed, reflected or scattered by the inner portions of the eye. Wherein the majority of the light that is absorbed, reflected or scattered can be attributed to materials in the inner portion of the eye including the retina where there are densely packed blood vessels with thin walls so that the absorption, reflection and scattering are caused by the material makeup of the blood. These measurements can be conducted automatically when the user is wearing the HWC, either at regular intervals, after identified events or when prompted by an external communication. In a preferred embodiment, the illuminating light is near infrared or mid infrared (e.g. 0.7 to 5 microns wavelength) to reduce the chance for thermal damage to the wearer's eye. In a further embodiment, the light source and the camera together comprise a spectrometer wherein the relative intensity of the light reflected by the eye is analyzed over a series of narrow wavelengths within the range of wavelengths provided by the light source to determine a characteristic spectrum of the light that is absorbed, reflected or scattered by the eye. For example, the light source can provide a broad range of infrared light to illuminate the eye and the camera can include: a grating to laterally disperse the reflected light from the eye into a series of narrow wavelength bands that are captured by a linear photodetector so that the relative intensity by wavelength can be measured and a characteristic absorbance spectrum for the eye can be determined over the broad range of infrared. In a further example, the light source can provide a series of narrow wavelengths of light (ultraviolet, visible or infrared) to sequentially illuminate the eye and camera includes a photodetector that is selected to measure the relative intensity of the series of narrow wavelengths in a series of sequential measurements that together can be used to determine a characteristic spectrum of the eye. The determined characteristic spectrum is then compared to known characteristic spectra for different materials to determine the material makeup of the eye. In yet another embodiment, the illuminating light is focused on the retina and a characteristic spectrum of the retina is determined and the spectrum is compared to known spectra for materials that may be present in the user's blood. For example, in the visible wavelengths 540 nm is useful for detecting hemoglobin and 660 nm is useful for differentiating oxygenated hemoglobin. In a further example, in the infrared, a wide variety of materials can be identified as is known by those skilled in the art, including: glucose, urea, alcohol and controlled substances.
Another aspect of the present disclosure relates to an intuitive user interface mounted on the HWC 102 where the user interface includes tactile feedback (otherwise referred to as haptic feedback) to the user to provide the user an indication of engagement and change. In embodiments, the user interface is a rotating element on a temple section of a glasses form factor of the HWC 102. The rotating element may include segments such that it positively engages at certain predetermined angles. This facilitates a tactile feedback to the user. As the user turns the rotating element it ‘clicks’ through it's predetermined steps or angles and each step causes a displayed user interface content to be changed. For example, the user may cycle through a set of menu items or selectable applications. In embodiments, the rotating element also includes a selection element, such as a pressure-induced section where the user can push to make a selection.
Another aspect of the present disclosure relates to a haptic system in a head-worn computer. Creating visual, audio, and haptic sensations in coordination can increase the enjoyment or effectiveness of awareness in a number of situations. For example, when viewing a movie or playing a game while digital content is presented in a computer display of a head-worn computer, it is more immersive to include coordinated sound and haptic effects. When presenting information in the head-worn computer, it may be advantageous to present a haptic effect to enhance or be the information. For example, the haptic sensation may gently cause the user of the head-worn computer believe that there is some presence on the user's right side, but out of sight. It may be a very light haptic effect to cause the ‘tingling’ sensation of a presence of unknown origin. It may be a high intensity haptic sensation to coordinate with an apparent explosion, either out of sight or in-sight in the computer display. Haptic sensations can be used to generate a perception in the user that objects and events are close by. As another example, digital content may be presented to the user in the computer displays and the digital content may appear to be within reach of the user. If the user reaches out his hand in an attempt to touch the digital object, which is not a real object, the haptic system may cause a sensation and the user may interpret the sensation as a touching sensation. The haptic system may generate slight vibrations near one or both temples for example and the user may infer from those vibrations that he has touched the digital object. This additional dimension in sensory feedback can be very useful and create a more intuitive and immersive user experience.
Another aspect of the present disclosure relates to controlling and modulating the intensity of a haptic system in a head-worn computer. In embodiments, the haptic system includes separate piezo strips such that each of the separate strips can be controlled separately. Each strip may be controlled over a range of vibration levels and some of the separate strips may have a greater vibration capacity than others. For example, a set of strips may be mounted in the arm of the head-worn computer (e.g. near the user's temple, ear, rear of the head, substantially along the length of the arm, etc.) and the further forward the strip the higher capacity the strip may have. The strips of varying capacity could be arranged in any number of ways, including linear, curved, compound shape, two dimensional array, one dimensional array, three dimensional array, etc.). A processor in the head-worn computer may regulate the power applied to the strips individually, in sub-groups, as a whole, etc. In embodiments, separate strips or segments of varying capacity are individually controlled to generate a finely controlled multi-level vibration system. Patterns based on frequency, duration, intensity, segment type, and/or other control parameters can be used to generate signature haptic feedback. For example, to simulate the haptic feedback of an explosion close to the user, a high intensity, low frequency, and moderate duration may be a pattern to use. A bullet whipping by the user may be simulated with a higher frequency and shorter duration. Following this disclosure, one can imagine various patterns for various simulation scenarios.
Another aspect of the present disclosure relates to making a physical connection between the haptic system and the user's head. Typically, with a glasses format, the glasses touch the user's head in several places (e.g. ears, nose, forehead, etc.) and these areas may be satisfactory to generate the necessary haptic feedback. In embodiments, an additional mechanical element may be added to better translate the vibration from the haptic system to a desired location on the user's head. For example, a vibration or signal conduit may be added to the head-worn computer such that there is a vibration translation medium between the head-worn computers internal haptic system and the user's temple area.
An aspect of the present invention relates to a head-worn computer, comprising: a frame adapted to hold a computer display in front of a user's eye; a processor adapted to present digital content in the computer display and to produce a haptic signal in coordination with the digital content display; and a haptic system comprised of a plurality of haptic segments, wherein each of the haptic segments is individually controlled in coordination with the haptic signal. In embodiments, the haptic segments comprise a piezo strip activated by the haptic signal to generate a vibration in the frame. The intensity of the haptic system may be increased by activating more than one of the plurality of haptic segments. The intensity may be further increased by activating more than 2 of the plurality of haptic segments. In embodiments, each of the plurality of haptic segments comprises a different vibration capacity. In embodiments, the intensity of the haptic system may be regulated depending on which of the plurality of haptic segments is activated. In embodiments, each of the plurality of haptic segments are mounted in a linear arrangement and the segments are arranged such that the higher capacity segments are at one end of the linear arrangement. In embodiments, the linear arrangement is from back to front on an arm of the head-worn computer. In embodiments, the linear arrangement is proximate a temple of the user. In embodiments, the linear arrangement is proximate an ear of the user. In embodiments, the linear arrangement is proximate a rear portion of the user's head. In embodiments, the linear arrangement is from front to back on an arm of the head-worn computer, or otherwise arranged.
An aspect of the present disclosure provides a head-worn computer with a vibration conduit, wherein the vibration conduit is mounted proximate the haptic system and adapted to touch the skin of the user's head to facilitate vibration sensations from the haptic system to the user's head. In embodiments, the vibration conduit is mounted on an arm of the head-worn computer. In embodiments, the vibration conduit touches the user's head proximate a temple of the user's head. In embodiments, the vibration conduit is made of a soft material that deforms to increase contact area with the user's head.
An aspect of the present disclosure relates to a haptic array system in a head-worn computer. The haptic array(s) that can correlate vibratory sensations to indicate events, scenarios, etc. to the wearer. The vibrations may correlate or respond to auditory, visual, proximity to elements, etc. of a video game, movie, or relationships to elements in the real world as a means of augmenting the wearer's reality. As an example, physical proximity to objects in a wearer's environment, sudden changes in elevation in the path of the wearer (e.g. about to step off a curb), the explosions in a game or bullets passing by a wearer. Haptic effects from a piezo array(s) that make contact the side of the wearer's head may be adapted to effect sensations that correlate to other events experienced by the wearer.
An aspect of the present invention relates to providing an intuitive user interface for a head-worn computer, wherein the user interface includes a rotary style physical interface (e.g. a dial, track, etc.) in combination with a direction selection device (e.g. a button, active touch surface, capacitive touch pad, etc.). The inventors have discovered that the combination of a rotary style interface with a separate actuator provides an intuitive physical interface to navigate a graphical user interface in a head-worn computer display. The inventors discovered that it is difficult to navigate within the head-worn computer's graphic user interface when the controls are mounted on the head-worn computer. The user cannot see the interface in this situation. The inventors also discovered that causing a rotary dial encoder style user interface with period stops (i.e. mechanical features in the rotary device that cause it to ‘click’ or otherwise pause into a next spot on as the rotary dial moves) allows the user interface to be configured such that a graphical selection element (e.g. cursor) in the graphical user interface ‘snaps’ from one selectable item to the next in correspondence to the mechanical stops of the rotary device. This makes moving from item to item feel mechanically connected to the action in the graphical user interface. In addition, the direction selection button can be used to regulate in which direction the selection element moves in the graphical user interface (GUI). For example, if the GUI includes a two-dimensional matrix of selectable items (e.g. icons), than the direction selection element may be activated once to cause the rotary device to move a cursor right and left, while an additional activation may then cause the cursor to move up and down. Without the separate direction control interface, the user may have to scroll through the items in one axis (e.g. row by row).
The rotary style physical interface 30002 may have mechanically derived stops or pause points (as discussed above). It also may have a mechanically derived selection activation system, such as an ability to accept a selection instruction in conjunction with the motion control of a graphical selection element. For example, the rotary device may be mechanically adapted such that the user can rotate a dial but also press through a centerline of the dial towards the center of the dial to effect a ‘click’ or selection. The rotary style physical interface need not be round, as illustrated in
The direction selection device 30004 may be a mechanical device (e.g. button, switch, etc.), capacitive sensor, proximity detector, optical sensor or other interface adapted to accept a user's physical input. It may also be programmed such that different patterns of interaction cause different commands to be generated. For example, a single touch or activation may cause a direction of scroll to be changes and a double touch or activation may cause a GUI element selection to be made.
GUI environment 3018b illustrates an application environment. Following the launch of an application the application environment may appear in the display of the head-worn computer and the rotary style input device and the direction selection device may effect the direction and degree of movement within the application environment. For example, following the launch of an application the rotary style input device may be programmed to cause an up and down scrolling within the application environment. In the event that the user would like to then scroll horizontally, he may activate the direction selection device to cause the rotary style input device to than cause a horizontal movement.
The inventors have also discovered that including haptic feedback in conjunction with interactions with the physical user interface devices can provide further guidance to the user. For example, when turning the rotary device or activating the direction selection device, a haptic system (e.g. as described herein) may be used to provide haptic feedback. The haptic system may have fine control over multiple haptic sensations (e.g. slight vibration, strong vibration, escalating vibration, de-escalating vibration, etc.) and the rotary movement or direction selection may cause a particular pattern to cause a particular sensation. Progressive movements of a dial interface may cause a particular pattern. A fast shift of the dial may cause a different type of haptic feedback than a slower interaction, etc.
Another aspect of the present invention relates to identifying the relative proximity of a user's fingers with respect to various user interface controls that are mounted on a head-worn computer such that a visual depiction of the proximity can be provided to the user in a display of the head-worn computer. The inventors have discovered that it can be difficult to identify where certain user control features are located when the controls are mounted on the head-worn computer because the only feedback the user receives, generally speaking, is that of his basic touch and memory of the layout of the interfaces. The inventors have further discovered that providing proximity detection near and around the various head-worn computer mounted user interfaces along with a visual depiction, in the head-worn computer display, of the detected proximity of the fingers with the various user interface elements provides guidance and a more intuitive user interface experience for the user.
Another aspect of the present invention relates to predicting the proximity of a user's interaction with a user interface mounted on a head-worn computer and causing a haptic feedback that helps guide the user to the user interface. The haptic system (e.g. as described herein) may produce variable output such that the intensity can be used to guide a user towards a user interface element. This may be done in coordination with a visual representation of the interaction proximity (e.g. as discussed above).
Another aspect of the present invention relates to a intuitive user interface for a head-worn computer that provides a physical interface and visual indication for the control of aspects of the head-worn computer such as volume of the audio and brightness of the image in a see-through display. For example, referring back to
Another aspect of the present invention relates to a ‘frame tap’ interface for a head-worn computer. The head-worn computer may have no user controls mounted on the head-worn computer or it may have one or more user controls mounted on it. In embodiments, the head-worn computer is equipped with an inertial measurement unit positioned and adapted to detect when the user ‘taps’ the head-worn computer as an indication that the user wants to control an aspect of the software operating on the head-worn computer. The inertial measurement unit may be associated with a processor and memory such that tap or touch signatures can be recognized. The tap or touch signatures may be updated based on the particular user's actions. This may be done through computer learning. A pallet of actions associated with types of taps (e.g. single tap, double tap, hard tap, light tap, front frame tap, temple tap, etc.) may be provided such that the user can make the associations he or she desires. In embodiments, the frame tap control may be one form of control and it may be used in connection with another form of control. For example, if a rotary selector is provided on the head-worn computer (e.g. as described herein elsewhere) the rotary selector may be used to move through a set of icons or within an application and then the frame tap may be used to select an item or launch an application. The frame tap may be used in connection with a rotary interface, touch interface, button interface, switch interface, capacitive interface, strain gauge user interface, etc.
Another aspect of the present invention relates to a head-worn computer with a strain gauge user interface. The strain gauge may be a device adapted to measure strain on a platform. The strain gauge may be mounted on a user interface, external user interface, head-worn computer, etc. The strain gauge may be connected to a processor and memory such that the processor can interpret user interactions with the strain gauge. The strain gauge user interface may be adapted as a single action device (i.e. it performs one user interface function), multiple action device, scroll device (e.g. initiating scroll graphical user interface actions with a swipe on strain gauge surface), etc. In embodiments, a strain gauge user interface arrangement may be used in connection with another form of user interface (e.g. as described herein elsewhere).
Another aspect of the present invention relates to a detection that a head-worn computer has or is about to be mounted on the user's head. The detection system may be a proximity detection system, capacitive detection system, mechanical detection system, etc. For example, proximity sensors may be mounted in the frame of the head-worn computer at a place that touches or becomes close to the user's head once it is mounted (e.g. in the front frame that touches or comes close to the forehead, in a temple section, in a ear horn section, etc.). Once the proximity sensor, for example, detects the forehead, the head-worn computer may turn on. It may be advantageous to have several proximity detectors to properly indicate that the head-worn computer has been mounted on the user's head. For example, the user may pick up the computer my an arm of the computer, but since it is not yet mounted on the head, one may not want to activate the computer. In embodiments, a second proximity detector (e.g. in the other arm, in the forehead region) may be desirable such that the head-worn computer only infers that it has been mounted once more than one proximity detector has been activated. In embodiments, the proximity detectors may be used to turn the computer on before it is mounted on the head. For example, it may start once one in the arm has been activated indicating that the device is about to be mounted on the head.
While many of the embodiments herein describe see-through computer displays, the scope of the disclosure is not limited to see-through computer displays. In embodiments, the head-worn computer may have a display that is not see-through. For example, the head-worn computer may have a sensor system (e.g. camera, ultrasonic system, radar, etc.) that images the environment proximate the head-worn computer and then presents the images to the user such that the user can understand the local environment through the images as opposed to seeing the environment directly. In embodiments, the local environment images may be augmented with additional information and content such that an augmented image of the environment is presented to the user. In general, in this disclosure, such see-through and non-see through systems may be referred to as head-worn augmented reality systems, augmented reality displays, augmented reality computer displays, etc. In embodiments, the frame tap interface may be associated with a haptic feedback system (e.g. as described herein elsewhere) such that the frame tap is coordinated with haptic feedback for the user. In embodiments, the rotary or other style interface may also be associated with a haptic feedback system.
Although embodiments of HWC have been described in language specific to features, systems, computer processes and/or methods, the appended claims are not necessarily limited to the specific features, systems, computer processes and/or methods described. Rather, the specific features, systems, computer processes and/or and methods are disclosed as non-limited example implementations of HWC. All documents referenced herein are hereby incorporated by reference.
The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software, program codes, and/or instructions on a processor. The processor may be part of a server, cloud server, client, network infrastructure, mobile computing platform, stationary computing platform, or other computing platform. A processor may be any kind of computational or processing device capable of executing program instructions, codes, binary instructions and the like. The processor may be or include a signal processor, digital processor, embedded processor, microprocessor or any variant such as a co-processor (math co-processor, graphic co-processor, communication co-processor and the like) and the like that may directly or indirectly facilitate execution of program code or program instructions stored thereon. In addition, the processor may enable execution of multiple programs, threads, and codes. The threads may be executed simultaneously to enhance the performance of the processor and to facilitate simultaneous operations of the application. By way of implementation, methods, program codes, program instructions and the like described herein may be implemented in one or more thread. The thread may spawn other threads that may have assigned priorities associated with them; the processor may execute these threads based on priority or any other order based on instructions provided in the program code. The processor may include memory that stores methods, codes, instructions and programs as described herein and elsewhere. The processor may access a storage medium through an interface that may store methods, codes, and instructions as described herein and elsewhere. The storage medium associated with the processor for storing methods, programs, codes, program instructions or other type of instructions capable of being executed by the computing or processing device may include but may not be limited to one or more of a CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache and the like.
A processor may include one or more cores that may enhance speed and performance of a multiprocessor. In embodiments, the process may be a dual core processor, quad core processors, other chip-level multiprocessor and the like that combine two or more independent cores (called a die).
The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software on a server, client, firewall, gateway, hub, router, or other such computer and/or networking hardware. The software program may be associated with a server that may include a file server, print server, domain server, internet server, intranet server and other variants such as secondary server, host server, distributed server and the like. The server may include one or more of memories, processors, computer readable transitory and/or non-transitory media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other servers, clients, machines, and devices through a wired or a wireless medium, and the like. The methods, programs or codes as described herein and elsewhere may be executed by the server. In addition, other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the server.
The server may provide an interface to other devices including, without limitation, clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention. In addition, all the devices attached to the server through an interface may include at least one storage medium capable of storing methods, programs, code and/or instructions. A central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.
The software program may be associated with a client that may include a file client, print client, domain client, internet client, intranet client and other variants such as secondary client, host client, distributed client and the like. The client may include one or more of memories, processors, computer readable transitory and/or non-transitory media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other clients, servers, machines, and devices through a wired or a wireless medium, and the like. The methods, programs or codes as described herein and elsewhere may be executed by the client. In addition, other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the client.
The client may provide an interface to other devices including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention. In addition, all the devices attached to the client through an interface may include at least one storage medium capable of storing methods, programs, applications, code and/or instructions. A central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.
The methods and systems described herein may be deployed in part or in whole through network infrastructures. The network infrastructure may include elements such as computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices and other active and passive devices, modules and/or components as known in the art. The computing and/or non-computing device(s) associated with the network infrastructure may include, apart from other components, a storage medium such as flash memory, buffer, stack, RAM, ROM and the like. The processes, methods, program codes, instructions described herein and elsewhere may be executed by one or more of the network infrastructural elements.
The methods, program codes, and instructions described herein and elsewhere may be implemented on a cellular network having multiple cells. The cellular network may either be frequency division multiple access (FDMA) network or code division multiple access (CDMA) network. The cellular network may include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like.
The methods, programs codes, and instructions described herein and elsewhere may be implemented on or through mobile devices. The mobile devices may include navigation devices, cell phones, mobile phones, mobile personal digital assistants, laptops, palmtops, netbooks, pagers, electronic books readers, music players and the like. These devices may include, apart from other components, a storage medium such as a flash memory, buffer, RAM, ROM and one or more computing devices. The computing devices associated with mobile devices may be enabled to execute program codes, methods, and instructions stored thereon. Alternatively, the mobile devices may be configured to execute instructions in collaboration with other devices. The mobile devices may communicate with base stations interfaced with servers and configured to execute program codes. The mobile devices may communicate on a peer to peer network, mesh network, or other communications network. The program code may be stored on the storage medium associated with the server and executed by a computing device embedded within the server. The base station may include a computing device and a storage medium. The storage device may store program codes and instructions executed by the computing devices associated with the base station.
The computer software, program codes, and/or instructions may be stored and/or accessed on machine readable transitory and/or non-transitory media that may include: computer components, devices, and recording media that retain digital data used for computing for some interval of time; semiconductor storage known as random access memory (RAM); mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drums, cards and other types; processor registers, cache memory, volatile memory, non-volatile memory; optical storage such as CD, DVD; removable media such as flash memory (e.g. USB sticks or keys), floppy disks, magnetic tape, paper tape, punch cards, standalone RAM disks, Zip drives, removable mass storage, off-line, and the like; other computer memory such as dynamic memory, static memory, read/write storage, mutable storage, read only, random access, sequential access, location addressable, file addressable, content addressable, network attached storage, storage area network, bar codes, magnetic ink, and the like.
The methods and systems described herein may transform physical and/or or intangible items from one state to another. The methods and systems described herein may also transform data representing physical and/or intangible items from one state to another, such as from usage data to a normalized usage dataset.
The elements described and depicted herein, including in flow charts and block diagrams throughout the figures, imply logical boundaries between the elements. However, according to software or hardware engineering practices, the depicted elements and the functions thereof may be implemented on machines through computer executable transitory and/or non-transitory media having a processor capable of executing program instructions stored thereon as a monolithic software structure, as standalone software modules, or as modules that employ external routines, code, services, and so forth, or any combination of these, and all such implementations may be within the scope of the present disclosure. Examples of such machines may include, but may not be limited to, personal digital assistants, laptops, personal computers, mobile phones, other handheld computing devices, medical equipment, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, electronic books, gadgets, electronic devices, devices having artificial intelligence, computing devices, networking equipment, servers, routers and the like. Furthermore, the elements depicted in the flow chart and block diagrams or any other logical component may be implemented on a machine capable of executing program instructions. Thus, while the foregoing drawings and descriptions set forth functional aspects of the disclosed systems, no particular arrangement of software for implementing these functional aspects should be inferred from these descriptions unless explicitly stated or otherwise clear from the context. Similarly, it will be appreciated that the various steps identified and described above may be varied, and that the order of steps may be adapted to particular applications of the techniques disclosed herein. All such variations and modifications are intended to fall within the scope of this disclosure. As such, the depiction and/or description of an order for various steps should not be understood to require a particular order of execution for those steps, unless required by a particular application, or explicitly stated or otherwise clear from the context.
The methods and/or processes described above, and steps thereof, may be realized in hardware, software or any combination of hardware and software suitable for a particular application. The hardware may include a dedicated computing device or specific computing device or particular aspect or component of a specific computing device. The processes may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable device, along with internal and/or external memory. The processes may also, or instead, be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It will further be appreciated that one or more of the processes may be realized as a computer executable code capable of being executed on a machine readable medium.
The computer executable code may be created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software, or any other machine capable of executing program instructions.
Thus, in one aspect, each method described above and combinations thereof may be embodied in computer executable code that, when executing on one or more computing devices, performs the steps thereof. In another aspect, the methods may be embodied in systems that perform the steps thereof, and may be distributed across devices in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware. In another aspect, the means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.
While the invention has been disclosed in connection with the preferred embodiments shown and described in detail, various modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present invention is not to be limited by the foregoing examples, but is to be understood in the broadest sense allowable by law.