This document describes techniques and devices for preventing false positives with an interactive cord. An interactive cord includes a cable, and fabric cover that covers the cable. The fabric cover includes one or more conductive threads woven into the fabric cover to form one or more capacitive touchpoints which are configured to enable reception of touch input that causes a change in capacitance to the one or more conductive threads. A controller, implemented at the interactive cord or a computing device coupled to the interactive cord, can detect the change in capacitance and trigger one or more functions associated with the one or more capacitive touchpoints. In one or more implementations, the interactive cord is designed to prevent “false positives” which may occur from accidental contact with the touchpoints, such as when the interactive cord makes contact with the user's body or a conductive surface.
|
13. A method comprising:
detecting a change in capacitance of at least two capacitive touchpoints disposed on opposing sides of a longitudinal center of an interactive cord;
determining whether the change in capacitance corresponds to intentional touch input to, or accidental contact with, the at least two capacitive touchpoints by at least:
determining a distance along the fabric cover between the at least two capacitive touchpoints; and
determining whether the distance between the at least two capacitive touchpoints along the fabric cover is within a distance threshold;
if the distance between the at least two capacitive touchpoints is within the distance threshold, determining that the change in capacitance corresponds to intentional touch input and triggering a function associated with the at least two capacitive touchpoints; and
if the distance between the at least two capacitive touchpoints is outside the distance threshold, determining that the change in capacitance corresponds to accidental contact and ignoring the change in capacitance or utilizing the change in capacitance as context information to determine a state of the interactive cord.
17. An interactive cord comprising:
a cable;
a fabric cover that covers the cable, the fabric cover comprising conductive threads braided around the cable to form capacitive touchpoints and one or more non-conductive threads braided around the cable to shield the capacitive touchpoints from accidental contact, the capacitive touchpoints including a first subset of capacitive touchpoints surfaced on a first longitudinal side of the fabric cover that runs lengthwise along the fabric cover and a second subset of capacitive touchpoints surfaced on a second longitudinal side of the fabric cover that runs lengthwise along the fabric cover, the first longitudinal side and the second longitudinal side disposed on opposing sides of a longitudinal center of the cable, the capacitive touchpoints configured to enable reception of touch input that causes a change in capacitance to one or more of the conductive threads, the change in capacitance effective to trigger one or more functions associated with the one or more of the capacitive touchpoints; and
a controller configured determine whether the change in capacitance corresponds to intentional touch input or accidental contact based on:
detection that the change in capacitance corresponds to a first capacitive touchpoint on the first longitudinal side of the fabric cover and a second capacitive touchpoint on the second longitudinal side of the fabric cover; a distance along the fabric cover between the first capacitive touchpoint and the second capacitive touchpoint; and a distance threshold.
1. A system comprising:
an interactive cord comprising a fabric cover, the fabric cover comprising conductive threads woven into the fabric cover to form capacitive touchpoints, the capacitive touchpoints including a first subset of capacitive touchpoints surfaced on a first longitudinal side of the fabric cover that runs lengthwise along the fabric cover and a second subset of capacitive touchpoints surfaced on a second longitudinal side of the fabric cover that runs lengthwise along the fabric cover, the first longitudinal side and the second longitudinal side disposed on opposing sides of a longitudinal center of the interactive cord; and a controller coupled to the interactive cord, the controller configured to:
detect a change in capacitance to one or more of the capacitive touchpoints;
determine whether the change in capacitance corresponds to intentional touch input to the one or more of the capacitive touchpoints or accidental contact with the one or more of the capacitive touchpoints, the change in capacitance corresponding to intentional touch input if the change in capacitance is detected at both a first capacitive touchpoint disposed on the first longitudinal side of the fabric cover and a second capacitive touchpoint disposed on the second longitudinal side of the fabric cover and if the first capacitive touchpoint is located within a distance threshold of the second capacitive touchpoint; and initiate one or more functions in response to determining that the change in capacitance corresponds to intentional touch input.
2. The system of
3. The system of
4. The system of
5. The system of
determine that the change in capacitance corresponds to intentional touch input to the one or more of the capacitance touchpoints if an amount of the change in capacitance is above a capacitance threshold; and
determine that the change in capacitance corresponds to accidental contact with the one or more of the capacitance touchpoints if an amount of the change in capacitance is below the capacitance threshold.
6. The system of
7. The system of
9. The system of
10. The system of
11. The system of
12. The system of
14. The method of
15. The method of
16. The method of
18. The interactive cord of
19. The method of
20. The interactive cord of
|
This application is a continuation of and claims priority to U.S. patent application Ser. No. 15/233,768, filed Aug. 10, 2016, which claims priority to U.S. Provisional Patent Application No. 62/238,536, filed Oct. 7, 2015, entitled “Interactive Cord,” the disclosure of which is incorporated by reference in its entirety.
In-line controls for cords are standard and ubiquitous for devices such as earbuds or headphones for music players, cellular phone usage, and so forth. Similar in-line controls are also used by cords for household appliances and lighting, such as clocks, lamps, radios, fans, and so forth. Generally, such in-line controls utilize unfashionable hardware buttons attached to the cord which can break after extended use of the cord. Conventional in-line controls also have problems with intrusion due to sweat and skin, which can lead to corrosion of internal controls and electrical shorts. Further, the hardware design of in-line controls limits the overall expressiveness of the interface, in that increasing the amount of controls requires more hardware, leading to more bulk and cost.
This document describes techniques and devices for preventing false positives with an interactive cord. An interactive cord includes a cable, and fabric cover that covers the cable. The fabric cover includes one or more conductive threads woven into the fabric cover to form one or more capacitive touchpoints which are configured to enable reception of touch input that causes a change in capacitance to the one or more conductive threads. A controller, implemented at the interactive cord or a computing device coupled to the interactive cord, can detect the change in capacitance and trigger one or more functions associated with the one or more capacitive touchpoints. For example, when implemented as a cord for a headset, the controller can control audio to the headset, such as by playing the audio, pausing the audio, adjusting the volume of the audio, skipping ahead in the audio, skipping backwards in the audio, skipping to additional audio, and so forth.
In one or more implementations, the fabric cover acts as an RF shield for the cable, thereby reducing the need to manufacture the cord with a separate RF shield. Doing so reduces the cost and complexity of manufacturing the interactive cord.
In one or more implementations, the interactive cord can be used to authenticate a user. For example, rather than using a password entered into a computing device, a touch input pattern or sequence can be provided to interactive cord that is coupled to the computing device to authenticate the user.
In one or more implementations, the interactive cord is designed to prevent “false positives” which may occur from accidental contact with the touchpoints, such as when the interactive cord makes contact with the user's body or a conductive surface. To do so, the fabric cover of the interactive cord can be designed to prevent the possibility of accidental contact with a touchpoint. Alternately or additionally, the controller can be configured to distinguish intentional touch input to the interactive cord from accidental contact with the one or more capacitive touchpoints. The controller can then initiate one or more functions in response to determining that a touch corresponds to intentional touch input, as described throughout. However, if the controller determines that the touch corresponds to accidental contact, then the accidental content may be ignored thereby reducing the number of false positives. Alternately, rather than simply ignoring the accidental contact, touches corresponding to accidental contact can be utilized as context information to determine a state of the interactive cord.
This summary is provided to introduce simplified concepts concerning preventing false positives with an interactive cord, which is further described below in the Detailed Description. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
Embodiments of techniques and devices for preventing false positives with an interactive cord are described with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components:
Overview
This document describes preventing false positives with an interactive cord. An interactive cord includes a cable, and fabric cover that covers the cable. The interactive cord may be implemented as a variety of different types of cords, such as a cord for headphones, earbuds, data transfer, lamps, clocks, radios, fans, and so forth. The fabric cover includes one or more conductive threads woven into the fabric cover to form one or more capacitive touchpoints which are configured to enable reception of touch input that causes a change in capacitance to the one or more conductive threads. A controller, implemented at the interactive cord or a computing device coupled to the interactive cord, can detect the change in capacitance and trigger one or more functions associated with the one or more capacitive touchpoints. For example, when implemented as a cord for a headset (e.g., headphones or ear buds), the controller can control audio to the headset, such as by playing the audio, pausing the audio, adjusting the volume of the audio, skipping ahead in the audio, skipping backwards in the audio, skipping to additional audio, and so forth.
Creating an interactive cord with capacitive touchpoints integrated into the fabric cover eliminates moving parts, hardware, bulk, unsightliness, and thickness found in existing in-line controls for cords. At the same time, the cost to manufacture the in-line controls is reduced because there are no extra hardware controls that must be electrically connected. Furthermore, the controller can be implemented to detect different types of touches to the capacitive touchpoints (e.g., hard presses versus light taps, pinches, or combinations or sequences of touches) thereby increasing the total number of different functions that can be triggered from the interactive cord. In one or more implementations, the fabric cover acts as an RF shield for the cable, thereby reducing the need to manufacture the cord with a separate RF shield. Doing so further reduces the cost and complexity of manufacturing the interactive cord.
In one or more implementations, the interactive cord can be used to authenticate a user. For example, rather than using a password entered into a computing device, a touch input pattern can be provided to interactive cord that is coupled to the computing device to authenticate the user. A variety of different types of touch input patterns are contemplated, including by way of example and not limitation, tapping the capacitive touch points with a particular rhythm, touching absolute positions of capacitive touchpoints on the fabric cover, touching relative positions of capacitive touchpoints on the fabric cover, applying a particular amount of pressure to the capacitive touchpoints on the fabric cover, sliding from one capacitive touchpoint to another capacitive touchpoint, touching multiple capacitive touchpoints at substantially the same time, or causing one capacitive touchpoint to touch one or more other capacitive touchpoints.
This method of authentication adds an increased level of security to the interactive cord. Furthermore, since this type of authentication is unexpected, it is less likely to be compromised by adversaries and those with malicious intent. For example, a bystander would have a low probability of recognizing and repeating the authentication sequence provided to the interactive cord.
In various implementations, the interactive cord is designed to prevent “false positives” which may occur from accidental contact with touchpoints of the interactive cord, such as when the interactive cord makes contact with the user's body or a conductive surface. To do so, the fabric cover of the interactive cord can be designed to prevent the possibility of accidental contact with a touchpoint. For example, non-conductive thread of the fabric cover may be braided around the cable to form ridges that shield the touchpoints making it virtually impossible for accidental contact with the touchpoints. In this case, in order to provide touch input, the user can feel for the areas between these ridges in order to trigger an intentional touch.
Alternately or additionally, the controller can be configured to distinguish intentional touch input to the interactive cord from accidental contact with the one or more capacitive touchpoints. The controller can then initiate one or more functions in response to determining that a touch corresponds to intentional touch input, as described throughout. However, if the controller determines that the touch corresponds to accidental contact, then the accidental content may be ignored, which reduces the number of false triggers on the touch points. Alternately, rather than simply ignoring the accidental contact, the accidental contact can be utilized as context information to determine a state of the interactive cord.
Example Environment
Consider, for example,
As another example, at an environment 206, interactive cord 102 is illustrated as a power cord for a lamp 208. In this example, interactive cord 102 may be configured to receive touch input usable to turn on and off the lamp and/or to adjust the brightness of the lamp.
Returning to
Instead of using separate hardware controls, fabric cover 104 is configured to sense touch input using capacitive sensing. To do so, fabric cover 104 includes one or more conductive threads 108 that are woven, braided, or otherwise integrated with the fabric of fabric cover 104. Generally, conductive thread 108 corresponds to thread that is flexible, but includes a wire that changes capacitance in response to human input. For example, when a finger of a user's hand approaches conductive thread 108, the finger causes the capacitance of conductive thread 108 to change.
Consider, for example,
Combining conductive wire 302 with flexible thread 304 causes conductive thread 108 to be flexible and stretchy, which enables conductive thread 108 to be easily woven with one or more non-conductive threads 110 (e.g., cotton, silk, or polyester) to form fabric cover 104. Alternately, in at least some implementations, fabric cover 104 can be formed using only conductive threads 108.
To enable fabric cover 104 to sense touch input, the fabric cover is constructed with one or more capacitive touchpoints 112. As described herein, capacitive touchpoints 112 correspond to positions on fabric cover 104 that will cause a change in capacitance to conductive thread 108 when a user's finger (or other conductive surface or material) touches, or comes in close contact with, capacitive touchpoint 112.
In one or more implementations, the weave pattern of fabric cover 104 exposes conductive thread 108 at the capacitive touchpoints 112. In
In one or more implementations, capacitive touchpoints 112 are formed with a visual or tactile cue to enable the user to easily recognize the location of the capacitive touchpoint 112. In
In environment 100, interactive cord 102 includes earbuds 114 and a connector 116 that is configured to be plugged into a computing device 118. Computing device 118 is illustrated as a mobile phone, but may also be configured as a desktop computer, a laptop computer, a tablet device, a wearable device, and so forth. Thus, computing device 118 may range from full resource devices with substantial memory and processor resources (e.g., personal computers, game consoles) to low-resource devices with limited memory and/or processing resources (e.g., mobile devices).
Computing device 118 is illustrated as including a controller 120 which is representative of functionality to sense touch input to capacitive touchpoints 112 of interactive cord 102, and to trigger various functions based on the touch input. For example, when interactive cord 102 is implemented as a cord for a headset, controller 120 can be configured to, in response to touch input to capacitive touchpoints 112, start playback of audio to the headset, pause audio, skip to a new audio file, adjust the volume of the audio, and so forth. In
Having discussed an example environment 100 in which interactive cord 102 may be implemented, consider now a more-detailed discussion of fabric cover 104.
Fabric cover 104 may be formed in a variety of different ways. In one or more implementations, the weave pattern of fabric cover 104 causes conductive threads 108 to be exposed at capacitive touchpoints 112, but covered and hidden from view at other areas of fabric cover 104.
Consider, for example,
In this example, the weave pattern of fabric cover 104 exposes conductive thread 108 at capacitive touchpoints 112 along fabric cover 104. However, conductive thread 108 is covered and hidden from view at other areas of fabric cover 104. Touch input to any of capacitive touchpoints 112 causes a change in capacitance to conductive thread 108, which may be detected by controller 120. However, touch input to other areas of fabric cover 104 formed by non-conductive thread 110 does not cause a change in capacitance to conductive thread 108.
In one or more implementations, fabric cover 104 includes at least a first conductive thread 108 and a second conductive thread 108. The first conductive thread 108 is substantially parallel to the second conductive thread at one or more capacitive touchpoints 112 of fabric cover 104, but twisted with second conductive thread 108 at other areas of fabric cover 104. Capacitive touchpoints 112 are formed at the areas of fabric cover 104 at which the first and second conductive threads are parallel to each other because bringing a finger close to capacitive touchpoints 112 will cause a difference in capacitance that can be detected by controller 120. However, in the regions where conductive threads 108 are twisted, the closeness of the finger to conductive threads 108 has equal effect on the capacitance of both conductive threads 108, which avoids false triggering if the user touches the conductive thread 108. Notably, therefore, conductive thread 108 may not need to be covered by non-conductive thread 110 in this implementation.
Visual cues can be formed within fabric cover 104 to provide an indication to the user as to where to touch interactive cord 102 to initiate various functions. In one or more implementations, conductive threads 108 correspond to one or more first colors which are different than one or more second colors of non-conductive threads 110 woven into fabric cover 104. For example, at 402, the color of conductive thread 108 is black, whereas the remainder of the fabric cover is white, which enables the user to recognize where to touch fabric cover 104. Alternately or additionally, the one or more conductive threads 108 can be woven into fabric cover 104 to create one or more tactile capacitive touchpoints by knitting or weaving of the thread to create a tactile cue that can be felt by the user. For example, capacitive touchpoints 112 can be formed to protrude slightly from fabric cover 104 in a way that can be felt by the user when touching interactive cord 102.
In the example fabric cover 104 illustrated at 402, controller 120 is able to detect touch input to the various capacitive touchpoints 112. However, controller 120 may be unable to distinguish touch input to a first capacitive touchpoint 112 from touch input to a second, different, capacitive touchpoint 112. In this implementation, therefore, the number of functions that can be triggered using interactive cord 102 is limited.
However, capacitive touchpoints 112 that are electrically distinct can be made by incorporating multiple sets of conductive threads 108 into fabric cover 104 to create multiple different capacitive touchpoints 112 which can be distinguished by controller 120. For example, fabric cover 104 may include one or more first conductive threads 108 and one or more second conductive threads 108. The one or more first conductive threads 108 can be woven into fabric cover 104 such that the one or more first conductive threads 108 are exposed at one or more first capacitive touchpoints 112, and the one or more second conductive threads 108 can be woven into fabric cover 104 such that the one or more second conductive threads 108 are exposed at one or more second capacitive touchpoints 112. Doing so enables controller 120 to distinguish touch input to the one or more first capacitive touchpoints 112 from touch input to the one or more second capacitive touchpoints 112.
As an example, at 404 fabric cover 104 is illustrated as including multiple electrically distinct capacitive touchpoints 112, which are visually distinguished from each other by using threads of different colors and/or patterns. For example, a first set of conductive thread is colored black with dots to form capacitive touchpoints 112-1, a second set of conductive thread is gray with dots to form capacitive touchpoints 112-2, and a third set of conductive thread is colored white with dots to form capacitive touchpoints 112-3. The weaving pattern of fabric cover 104 surfaces capacitive touchpoints 112-1, 112-2, and 112-3 at regular intervals along fabric cover 104 of interactive cord 102.
In this case, each of the different capacitive touchpoints 112-1, 112-2, and 112-3 may be associated with a different function. For example, the user may be able to touch capacitive touchpoint 112-1 to trigger a first function (e.g., playing or pausing a song), touch capacitive touchpoint 112-2 to trigger a second function (e.g., adjusting the volume of the song), and touch capacitive touchpoint 112-3 to trigger a third function (e.g., skipping to a next song).
In some cases, a combination, sequence, or pattern of touches to capacitive touchpoints 112 may trigger different functions. For example, the user may be able to touch capacitive touchpoints 112-1 and 112-2 at the same time in order to trigger a fourth function (e.g., fast forwarding the song).
Fabric cover 104 can be formed using a variety of different weaving or braiding techniques. In example 404, fabric cover 104 is formed by weaving the one or more conductive threads into fabric cover 104 using a loop braiding technique. Doing so causes the one or more capacitive touchpoints to be formed by one or more split loops. In example 404, fabric cover 104 includes 3 different split loops, one for each of the three different types of conductive threads to form capacitive touchpoints 112-1, 112-2, and 112-3. The split loops are placed at particular locations in the pattern to provide isolation between the conductive threads and align them in a particular way. Doing so produces a hollow braid in mixed tabby, and 3/1 twill construction. This gives columns (“wales”) along the length of the braid which exposes lengths of the different fibers. This pattern ensures that each of the conductive threads 108 are in an isolated conductive area, which enables controller 120 to easily detect which conductive thread 108 is being touched, and which is not, at any given time.
Audio signals are particularly vulnerable to RF interference. Thus, cords for headsets, cable TV, and other types of audio/visual wiring often contain foil or stranded wire wrapped around the signal conductors to protect the signal from radio frequency interference and to provide an electrical ground. Headset cords and other media cords also often have a woven fabric outer layer to provide some physical protection to the electrical cords, to help avoid tangling, and to improve the feel and appearance of the wires.
Thus, in one or more implementations, fabric cover 104 acts as an RF shield for cable 106, thereby reducing the need to manufacture interactive cord 102 with a separate RF shield. In addition, fabric cover 104 creates an attractive and protective covering for interactive cord 102 that also helps to prevent tangling.
Having discussed various examples of fabric cover 104, consider now a more-detailed discussion of how controller 120 detects touch input to fabric cover 104 to trigger various functions.
Generally, controller 120 is configured to monitor the one or more conductive threads 108 of fabric cover 104 to detect a change in capacitance to conductive threads 108 which corresponds to touch input to capacitive touchpoints 112.
By way of example, consider
A variety of different types of touch input 502 may be provided. In one or more implementations, touch input 502 may correspond to a pattern or series of touches to fabric cover 104, such as by touching a first capacitive touchpoint 112 followed by touching a second capacitive touchpoint 112. In one or more implementations, different types of touch input 502 may be provided based on the amount of pressure applied to capacitive touchpoint 112. As an example, at 606 an index finger 608 and a thumb 610 of the user's hand provides touch input by pinching a capacitive touchpoint 112 of fabric cover 104. Doing so may trigger a function that is different than a function triggered by simply touching or tapping capacitive touchpoint 112. In one or more implementations, a first touch to capacitive touchpoint 112 may cause the controller 120 to generate an audible alert that lets the user know that if a second tap is provided to the same capacitive touchpoint, the touch will be registered. For example, the user might tap a capacitive touchpoint 112, and in response hear a “volume up”, indicating that this touchpoint is correlated to turning the volume up. The user may then squeeze the same touchpoint in order to confirm the volume up command. In this way, the user is less likely to initiate the controls unintentionally.
Returning to
Controller 120 may be implemented to detect the change in capacitance in a variety of different ways. In one or more implementations, controller 120 can be implemented to detect a change in capacitance between two conductive threads 112 woven into interactive cord 102. As described above, two conductive threads 108 can be placed parallel or interlaced to each other at capacitive touchpoints 112. In this case, one of the conductive threads 108 can be grounded and the other conductive thread 108 can be connected to the capacitance meter. Initially, the capacitance meter will measure a small baseline capacitance between the two conductive threads. However, when a finger of the user's hand touches the conductive threads at capacitive touchpoint 112, a capacitive coupling occurs with each of the conductive threads 108. In response, the capacitance meter detects a new combined capacitance which is larger than the small baseline capacitance. This change in capacitance enables controller 120 to detect touch input 502.
In one or more implementations, controller 120 can determine the amount of pressure applied to capacitive touchpoint 112, which may enable controller 120 to distinguish a light tap from a hard press or pinch. For example, if the finger is pressed harder, or if two fingers pinch capacitive touchpoint 112, the capacitance meter will detect an even greater capacitance value. Thus, controller 120 can determine whether touch input 502 corresponds to a tap or a pinch by comparing the detected capacitance to predetermined capacitance thresholds for a touch or pinch.
In one or more implementations, controller 120 can be implemented to monitor and detect the change in capacitance of a single conductive thread 108 woven into interactive cord 102. In this case, the single conductive thread 108 is not grounded. When not being touched, only a small baseline capacitance exists which may be monitored by the capacitance meter. When a user's finger comes in the vicinity of the conductive thread 108, however, a touch input capacitance is formed between the fingertip and the conductive thread. This capacitance is electrically connected in parallel to the baseline capacitance, causing the capacitance meter to detect the touch input. Similar to when the capacitance is measured between two conductive threads, a stronger pressing will create a larger capacitance. This method may be more resistant to false touches due to moisture (e.g., rain or sweat) permeating fabric cover 104.
At 506, in response to detecting the change in capacitance, controller 120 triggers a function associated with touch input 502. Notably, controller 120 can trigger a variety of different types of functions based on the how interactive cord 102 is being utilized. For example, when interactive cord 102 corresponds to a cord for a headset, controller 120 may trigger functions such as playing audio (e.g., a song, video, audiobook file, or voice memo), pausing audio, fast forwarding audio, skipping to a next audio track, adjusting the volume of the audio, and so forth. As another example, when interactive cord corresponds to a data transfer cord, controller 120 may trigger functions such as starting the transfer of data, stopping the transfer of data, authenticating the user to enable the transfer of data, and so forth. When interactive cord 102 corresponds to a cord for an appliance (e.g., a lamp, a fan, or an alarm clock), controller 120 may trigger functions such as turning on or off the appliance, adjusting the brightness of a lamp, adjusting the speed of a fan, hitting the snooze button on an alarm clock, and so forth.
As described throughout, different functions may be mapped to different types of touch input to fabric cover 104 of interactive cord 102. In some cases, a specific function may be associated with a specific capacitive touchpoint 112. For instance, in example 404 of
In some cases, functions may be associated with various combinations, sequences, or patterns of touch input to multiple touchpoints. For example, a function may be associated with first touching capacitive touchpoint 112-1, and then sliding the user's finger to second capacitive touchpoint 112-2.
In some cases, the function that is triggered may be based on the pressure applied to capacitive touchpoints 112. For example, a first function may be associated with tapping a capacitive touchpoint 112, and a second function may be associated with squeezing or pinching the same capacitive touchpoint.
In one or more implementations, interactive cord 102 can be used to authenticate a user. For example, rather than requiring a password to be entered into a computing device, a touch input pattern can be provided to interactive cord 102 to authenticate the user.
Consider, for example,
At 704, controller 120 recognizes the touch input pattern by detecting a change in capacitance to conductive thread 108, associated with the one or more capacitive touchpoints 112 of fabric cover 104. Controller 120 can detect the change in capacitance using similar techniques as those described above with regards to
At 706, controller 120 compares the detected touch input pattern 702 to a stored touch authentication pattern associated with an authenticated user state, and at 708, controller 120 authenticates the user if the detected touch input pattern 702 matches the stored touch authentication pattern. For example, the user may have previously provided touch authentication pattern to controller 120 by providing touch input to fabric cover 104 of interactive cord 102. Thus, controller 120 determines whether the detected touch input pattern 702 matches the stored touch authentication pattern. If controller 120 determines a match, then the user is authenticated. In one more implementations, the user may remain authenticated until expiration of a timeout, removal of interactive cord 102 from computing device 118, or by removing interactive cord 102 from the body (e.g., removing earbuds from the user's ear).
Controller 120 is configured to recognize a variety of different types of touch input patterns 702. In one or more implementations, touch input pattern 702 includes tapping one or more capacitive touchpoints 112 with a particular rhythm. For example, the user can tap one or more capacitive touchpoints 112 with a specific rhythm, such as a rhythm corresponding to a certain beat or song.
Alternately or additionally, touch input pattern 702 may include touching absolute positions of capacitive touchpoints 112 on fabric cover 104. For example, the user can touch multiple different ones of the capacitive touchpoints in a specific sequence. In
Alternately or additionally, touch input pattern 702 may include touching relative positions of capacitive touchpoints 112 on fabric cover 104. For example, rather than touching specific capacitive touchpoints 112, the user could touch a first capacitive touchpoint 112, then touch a second capacitive touchpoint 112 that is positioned below the first capacitive touchpoint on fabric cover 104, and then touch a third capacitive touchpoint 112 that is positioned between the first and second capacitive touchpoints 112.
Alternately or additionally, touch input pattern 702 may include applying a particular amount of pressure to the capacitive touchpoints 112 on fabric cover 104. For example, the user could apply different types of pressure to capacitive touchpoints 112, such as by pinching the capacitive touchpoint 112.
Alternately or additionally, touch input pattern 702 may include sliding from one capacitive touchpoint 112 to another capacitive touchpoint. For instance, in
Alternately or additionally, touch input pattern 702 may include touching multiple capacitive touchpoints 112 at substantially the same time. For example, the user could touch specific capacitive touchpoints 112 at the same. Alternately, the user could grab interactive cord 102 with a specific handgrip that would have the effect of touching multiple different capacitive touchpoints 112.
Alternately or additionally, touch input pattern 702 may include causing one capacitive touchpoint 112 to touch one or more other capacitive touchpoints 112. For example, the user could bend interactive cord 102 such that a first capacitive touchpoint 112 makes contact with a second capacitive touchpoint 112.
Notably, the aforementioned techniques for providing touch input pattern 702 may be combined in different ways for authentication based on the level of security and/or the preferences of the user.
Interactive cord 102 may be used to authenticate the user in a variety of different scenarios. When interactive cord 102 is implemented as a cord for a headset, touch input pattern 702 may be used to authenticate the user to listen to audio using the headset. For example, assume that a user of a smart phone wishes to access audio of a sensitive internal meeting. In this case, when interactive cord 102 is implemented as a cord for a headset that is plugged into the smart phone, a touch input pattern 702 can be required to log in to a secure area of the mobile phone which contains the sensitive audio. As another example, users often need to backup or copy sensitive data from one device to another. In this scenario, interactive cord 102 may be implemented as a data transfer cord that prevents unauthorized copying of data. Thus, in order to copy data from one device to another, the user would need to provide the correct touch input pattern 702 to the data transfer cord. As another example, parents often want to prevent their children from accessing stored or live media. In this scenario, the user could be unable to access certain stored or live media without providing the correct touch input pattern to interactive cord 102 of their headphones or earbuds.
Preventing False Positives
In accordance with various implementations, interactive cord 102 is configured to prevent “false positives”, which may occur when the interactive cord 102 comes in contact with a human body or a conductive surface. For example, when interactive cord 102 is implemented as a cord for headphones, the interactive cord 102 may make contact with the user's neck or chest if the cord is placed under the user's shirt. In these instances, the contact of the user's skin with the touchpoints 112 of fabric cover 104 may cause a change in capacitance.
In one or more implementations, the structure of fabric cover 104 of interactive cord 102 is designed to prevent accidental contact with the capacitive touchpoints 112 by using non-conductive threads 110 of fabric cover 104 to shield the capacitive touchpoints 112 from accidental contact. To do so, thick non-conductive threads 112 may be braided around thinner conductive threads 108 thereby forming ridges that shield capacitive touchpoints 112 making it virtually impossible for accidental contact. In this case, in order to provide touch input, the user can feel for the areas between these ridges in order to trigger an intentional touch to a capacitive touchpoint 112. Notably, there are a variety of different ways in which the fabric cover 104 may be formed to shield the touchpoints 112, such as by creating a spiral sheath that can protect recessed conductive touchpoints from accidental touches, creating flat braids that shield the capacitive touchpoints, and so forth.
Alternately or additionally, to prevent accidental contact from triggering a false positive, controller 120 can be implemented to distinguish intentional touch input to the touchpoints 112 from accidental contact. This can be accomplished in a variety of different ways.
In one or more implementations, the conductive thread 108 is insulated, and thus an intentional pinch or touch on a touchpoint 112 causes a relatively large change in capacitance, whereas resting the fabric cover 104 on the user's skin causes a relatively small change in capacitance. In this case, a capacitance threshold may be calculated such that an intentional touch or pinch to a touchpoint 112 causes a change in capacitance that is greater than the capacitance threshold, whereas accidental contact with a touchpoint 112 causes a change in capacitance that is less the capacitance threshold. Controller 120 can be implemented to determine an intentional touch by detecting an amount of a change in capacitance, and comparing the amount of the change in capacitance to the capacitance threshold. If the amount of the change in capacitance is above the capacitance threshold, then controller 120 determines that the change in capacitance corresponds to an intentional touch. Alternately, if the amount of the change in capacitance is below the capacitance threshold, then controller 120 determines that the change in capacitance corresponds to accidental contact (e.g., from fabric cover 104 resting against the user's skin).
In one or more implementations, fabric cover 104 of interactive cord 102 is designed to have at least two distinct sides. For example, the fabric cover 104 may be formed as a flat braid structure with a front and back side. In this case, touchpoints 112 are surfaced on each side of fabric cover 104, and controller 120 can determine an intentional touch by detecting a change in capacitance to touchpoints 112 on each side of fabric cover 104. For example, pinching the interactive cord 102 will trigger a change in capacitance for touchpoints 112 on each side of the cord. Thus, if a change of capacitance is detected on just a single side of the interactive cord 102, controller 120 can determine that this touch corresponds to accidental contact.
In one or more implementations, controller 120 is configured to recognize an intentional touch when touch input is detected by two capacitive touchpoints 112 on immediately opposite sides of fabric cover 104 being touched simultaneously. For example, controller 120 can detect an intentional touch if a change in capacitance is detected to touchpoints 112 on the first side and second side of the fabric cover 104 within a distance threshold to each other. The distance threshold ensures that capacitive touchpoints 112 that are touched are within close proximity to each other. In this case, any other pattern of touch input (e.g., several touches on one side followed by several touches on the other side linearly separated along the length of the cord) are recognized as accidental contact, which may occur for example from a twisted cord resting against the user's skin.
Controller 120 can detect that two touch points are on immediately opposite sides of fabric cover 104 in a variety of different ways. In one or more implementations, fabric cover 104 includes multiple touchpoints. For example, as discussed above with regards to 404 of
In one or more implementations, two touch circuits, e.g., A and B, may be arranged on opposite sides of the fabric cover 104. In this example, once a capacitive touch is registered on A and B, the circuits can switch to resistive sensing and attempt to determine the distance along the fabric cover at which the touches are detected. If the distances are approximately the same, then a true touch on both sides is registered. If not, then controller 120 ignores the touches, as they are likely the result of accidental contact caused by touchpoints 112 on a twisted cord lying along the skin or contact with water or metal.
As described throughout, controller 120 is configured to initiate a function associated with touched capacitive touchpoints 112 in response to determining that a touch corresponds to intentional touch input. However, if it is determined that the touch corresponds to accidental contact, controller 120 may simply ignore the accidental contact thereby reducing the number of false positives. Alternately, controller 120 may user the accidental contact as context information to determine a state of interactive cord 102. Controller 120 may then initiate one or more different functions based on the state of the interactive cord. For example, when implemented as a cord for headphones, the controller 120 may determine that the accidental contact corresponds to interactive cord 102 lying against the user's skin, and as such determine that the state of the interactive cord corresponds to the user wearing the headphones. As such, based on this determined state, controller 120 can switch the state of interactive cord 102 from a power-savings state to an active state.
At 804 controller 120 detects a change in capacitance to conductive thread 108, associated with one or more capacitive touchpoints 112 that are touched. As described throughout, controller 120 may detect the change in capacitance in a variety of different ways.
At 806, controller 120 determines whether the change in capacitance caused by the touch 802 corresponds to intentional touch input to the one or more capacitive touchpoints 112 or accidental contact with the one or more capacitive touchpoints 112.
At 808, if controller 120 determines that the change in capacitance corresponds to intentional touch input at 806, then controller 120 triggers a function associated with the intentional touch input. As described throughout, controller 120 can trigger a variety of different types of functions based on the how interactive cord 102 is being utilized. For example, when interactive cord 102 corresponds to a cord for a headset, controller 120 may trigger functions such as playing audio (e.g., a song, video, audiobook file, or voice memo), pausing audio, fast forwarding audio, skipping to a next audio track, adjusting the volume of the audio, and so forth. As another example, when interactive cord corresponds to a data transfer cord, controller 120 may trigger functions such as starting the transfer of data, stopping the transfer of data, authenticating the user to enable the transfer of data, and so forth. When interactive cord 102 corresponds to a cord for an appliance (e.g., a lamp, a fan, or an alarm clock), controller 120 may trigger functions such as turning on or off the appliance, adjusting the brightness of a lamp, adjusting the speed of a fan, hitting the snooze button on an alarm clock, and so forth.
Alternately, at 810, if controller 120 determines that the change in capacitance corresponds to accidental contact at 806, then controller 120 may ignore the accidental contact or use the accidental contact as context information to determine a state of the interactive cord. For example, controller 120 may determine that the accidental contact corresponds to the cord of a pair of headphones touching the user's skin, and thus switch from a power savings state to an active state.
Example Methods
At 902, touch input to a capacitive touchpoint of an interactive cord is detected. For example, controller 120 (
At 904, a function associated with the capacitive touchpoint is determined. For example, controller 120 determines a function associated with the capacitive touchpoint 112 that received the touch input at step 802.
At 906, the function is triggered. For example, controller 120 triggers the function determined at step 904.
At 1002, a capacitance of one or more conductive threads woven into an interactive cord of a headset is monitored. For example, controller 120 monitors a capacitance of one or more conductive threads 108 woven into a fabric cover 104 of interactive cord 102.
At 1004, a change in capacitance to the one or more conductive threads is detected. For example, controller 120 detects a change in the capacitance of the one or more conductive threads 108.
At 1006, it is determined that the change in capacitance corresponds to touch input to the interactive cord. For example, controller 120 determines that the change in capacitance detected at step 1004 corresponds to touch input 502 to interactive cord 102.
At 1008, audio to the headset is controlled based on the touch input. For example, controller 120 controls audio to a headset based on touch input 502.
At 1102, a touch input pattern to one or more capacitive touchpoints of a fabric cover of an interactive cord is detected. For example, controller 120 detects touch input pattern 702 to one or more capacitive touchpoints 112 of a fabric cover 104 of interactive cord 102. A variety of different types of touch input patterns are contemplated, including by way of example and not limitation, tapping the capacitive touch points with a particular rhythm, touching absolute positions of capacitive touchpoints on the fabric cover, touching relative positions of capacitive touchpoints on the fabric cover, applying a particular amount of pressure to the capacitive touchpoints on the fabric cover, sliding from one capacitive touchpoint to another capacitive touchpoint, touching multiple capacitive touchpoints at substantially the same time, or causing one capacitive touchpoint to touch one or more other capacitive touchpoints.
At 1104, the touch input pattern is compared to a stored authentication pattern. For example controller 120 compares touch input pattern 702, detected at step 1102, to a stored touch authentication pattern. The stored touch authentication pattern may have been previously provided by the user.
At 1106, a user is authenticated if the touch input pattern matches the stored authentication pattern. For example, controller 120 authenticates the user if touch input pattern 702, detected at step 1102, matches the stored authentication pattern.
At 1202, a change in capacitance of one or more capacitive touchpoints of an interactive cord is detected. For example, controller 120 (
At 1204, it is determined whether the change in capacitance corresponds to intentional touch input to the one or more capacitive touchpoints or accidental contact. For example, controller 120 determines whether the change in capacitance to the one or more capacitive touchpoints 112 corresponds to intentional touch input or accidental contact.
At 1206, if it is determined that the change in capacitance corresponds to intentional touch input, then a function associated with the one or more capacitive touchpoints is triggered. For example, controller 120 determines a function associated with the one or more capacitive touchpoints 112 that received the intentional touch input, and triggers the function.
Alternately, at 1208, if it is determined that the change in capacitance corresponds to accidental contact, then the change in capacitance of the one or more capacitive touchpoints is ignored or utilized as context information to determine a state of the interactive cord. For example, if controller 120 determines that the change in capacitance corresponds to accidental contact, then controller 120 simply ignores the accidental contact or uses the accidental contact as context information to determine a state of interactive cord 102.
Example Computing System
Computing system 1300 includes communication devices 1302 that enable wired and/or wireless communication of device data 1304 (e.g., received data, data that is being received, data scheduled for broadcast, data packets of the data, etc.). Device data 1304 or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a user of the device. Media content stored on computing system 1300 can include any type of audio, video, and/or image data. Computing system 1300 includes one or more data inputs 1306 via which any type of data, media content, and/or inputs can be received, such as human utterances, touch data generated by interactive cord 102, user-selectable inputs (explicit or implicit), messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.
Computing system 1300 also includes communication interfaces 1308, which can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. Communication interfaces 1308 provide a connection and/or communication links between computing system 1300 and a communication network by which other electronic, computing, and communication devices communicate data with computing system 1300.
Computing system 1300 includes one or more processors 1310 (e.g., any of microprocessors, controllers, and the like), which process various computer-executable instructions to control the operation of computing system 1300 and to enable techniques for, or in which can be embodied, interactive cord. Alternatively or in addition, computing system 1300 can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits which are generally identified at 1312. Although not shown, computing system 1300 can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.
Computing system 1300 also includes computer-readable media 1314, such as one or more memory devices that enable persistent and/or non-transitory data storage (i.e., in contrast to mere signal transmission), examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewriteable compact disc (CD), any type of a digital versatile disc (DVD), and the like. Computing system 1300 can also include a mass storage media device 1316.
Computer-readable media 1314 provides data storage mechanisms to store device data 1304, as well as various device applications 1318 and any other types of information and/or data related to operational aspects of computing system 1300. For example, an operating system 1320 can be maintained as a computer application with computer-readable media 1314 and executed on processors 1310. Device applications 1318 may include a device manager, such as any form of a control application, software application, signal-processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, and so on.
Device applications 1318 also include any system components, engines, or managers to implement interactive cord. In this example, device applications 1318 include controller 120.
Although embodiments of preventing false positives with an interactive cord have been described in language specific to features and/or methods, it is to be understood that the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations of preventing false positives with an interactive cord.
Starner, Thad Eugene, Sawyer, Karissa A., Priest-Dorman, Greg Ellis
Patent | Priority | Assignee | Title |
11809666, | Mar 05 2019 | GOOGLE LLC | Touch-sensitive braided cord |
Patent | Priority | Assignee | Title |
10047459, | Oct 07 2015 | GOOGLE LLC | Interactive cord |
10083289, | Oct 07 2015 | GOOGLE LLC | Authentication using an interactive cord |
10111304, | Nov 02 2015 | GOOGLE LLC | Interactive cord with integrated light sources |
6989679, | Jun 03 2004 | BAKER HUGHES HOLDINGS LLC | Non-contact capacitive sensor and cable with dual layer active shield |
7388166, | Jun 24 2003 | Koninklijke Philips Electronics N V | Stretchable fabric switch |
8094673, | Apr 10 2006 | Microsoft Technology Licensing, LLC | Cable user interface |
9432388, | Feb 23 2007 | Genesys Telecommunications Laboratories, Inc | System and method for recording and monitoring communications using a media server |
9807852, | Nov 02 2015 | GOOGLE LLC | Interactive cord with integrated light sources |
20070237170, | |||
20070274530, | |||
20080158145, | |||
20090212909, | |||
20090257604, | |||
20100116229, | |||
20100315299, | |||
20110285554, | |||
20110316611, | |||
20120184367, | |||
20120268406, | |||
20130102361, | |||
20130120052, | |||
20130129163, | |||
20130326604, | |||
20140238151, | |||
20140294192, | |||
20140313156, | |||
20150195903, | |||
20150212605, | |||
20150334485, | |||
20150346865, | |||
20150381609, | |||
20160100244, | |||
20160127050, | |||
20160284436, | |||
20170048619, | |||
20170060298, | |||
20180049296, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 08 2016 | SAWYER, KARISSA A | Google Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041112 | /0297 | |
Aug 08 2016 | PRIEST-DORMAN, GREG ELLIS | Google Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041112 | /0297 | |
Aug 09 2016 | STARNER, THAD EUGENE | Google Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041112 | /0297 | |
Jan 27 2017 | GOOGLE LLC | (assignment on the face of the patent) | / | |||
Sep 29 2017 | Google Inc | GOOGLE LLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 044567 | /0001 |
Date | Maintenance Fee Events |
Jun 06 2022 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 04 2021 | 4 years fee payment window open |
Jun 04 2022 | 6 months grace period start (w surcharge) |
Dec 04 2022 | patent expiry (for year 4) |
Dec 04 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 04 2025 | 8 years fee payment window open |
Jun 04 2026 | 6 months grace period start (w surcharge) |
Dec 04 2026 | patent expiry (for year 8) |
Dec 04 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 04 2029 | 12 years fee payment window open |
Jun 04 2030 | 6 months grace period start (w surcharge) |
Dec 04 2030 | patent expiry (for year 12) |
Dec 04 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |