AUTOMATED DYNAMIC THROTTLE REQUEST FILTERING
20230086575 · 2023-03-23
Assignee
Inventors
- Charles Wayne Reinhardt Swart (Bellingham, WA, US)
- Vedran Curgus (Bellingham, WA, US)
- Burton Edwin Waite, III (Bellingham, WA, US)
- Victor Perez (Bellingham, WA, US)
Cpc classification
B60W30/20
PERFORMING OPERATIONS; TRANSPORTING
B60W2050/0042
PERFORMING OPERATIONS; TRANSPORTING
B60W50/10
PERFORMING OPERATIONS; TRANSPORTING
B60W2552/35
PERFORMING OPERATIONS; TRANSPORTING
B60W50/06
PERFORMING OPERATIONS; TRANSPORTING
B60W30/1882
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
Dynamic throttle pedal filtering of a vehicle is provided. An automated throttle filtering system may be included in the vehicle that may operate to filter throttle pedal input based on detection of a rough driving surface. The rough driving surface detection may be based on an evaluation of wheel speed signals or an indication of traction loss. The throttle pedal input may be filtered corresponding to rough driving surface magnitude values determined based on the wheel speed signals. For example, filtered torque demand values may be determined based on the rough driving surface magnitude values and included in a torque demand request communicated to the vehicle's powertrain system. The resulting torque output may modulate an undesirable oscillating torque demand that may be generated in relation to operation of the vehicle on a rough driving surface.
Claims
1. A system for providing dynamic throttle pedal filtering of a vehicle, the system comprising: at least one processor; a memory storage device including instructions that when executed by the at least one processor are configured to: receive a throttle pedal input associated with a position of the throttle pedal; receive rough driving surface magnitude values representing sensed driving surface roughness; receive an indication that a rough driving surface is detected; determine filtered torque demand values based on the throttle pedal input and the rough driving surface magnitude values; and filter the received throttle pedal input by transmitting one or more filtered torque demand requests to one or more powertrain components to perform one or more powertrain actions to move the vehicle based on the filtered torque demand values.
2. The system of claim 1, wherein the filtered torque demand values are determined based on a limited exponential function.
3. The system of claim 2, wherein the filtered torque demand values correspond linearly to the rough driving surface magnitude values.
4. The system of claim 1, wherein in determining the filtered torque demand values, the system is operative to determine the filtered torque demand values for negative direction torque independently from the filtered torque demand values for positive direction torque.
5. The system of claim 4, wherein the system is operative to filter positive direction torque more heavily in comparison with negative direction torque.
6. The system of claim 1, wherein the system is further operative to determine the rough driving surface magnitude values, wherein in determining the rough driving surface magnitude values, the system is operative to: receive a plurality of wheel speed signal inputs from a number of wheel speed sensors included on the vehicle; for each wheel speed sensor, determine quantized individual wheel roughness magnitude values; and apply a floor and ceiling function to a sum of the quantized individual wheel roughness magnitude values determined for each wheel speed sensor divided by the number of wheel speed sensors.
7. The system of claim 6, wherein in determining the quantized individual wheel roughness magnitude values, the system is operative to: determine discrete derivatives of the received wheel speed signal inputs; determine absolute values of the discrete derivatives of the received wheel speed signal inputs; and determine a quantized individual wheel roughness magnitude value by averaging the absolute values of the discrete derivatives of the received wheel speed signal inputs over a sample size and applying a quantizing algorithm to the average.
8. The system of claim 1, wherein the system is operative to detect the rough driving surface based on: the rough driving surface magnitude values; or an anti-slip regulation signal.
9. The system of claim 8, wherein in detecting the rough driving surface based on the rough driving surface magnitude values, the system is operative to: evaluate the rough driving surface magnitude values against a rough driving surface upper threshold value; and when the rough driving surface magnitude values meet or exceed the rough driving surface upper threshold value, determine that a rough driving surface is detected.
10. A method for providing dynamic throttle pedal filtering of a vehicle, comprising: receiving wheel speed signal inputs from a number of wheel speed sensors included on the vehicle; determining, based on the received wheel speed signal inputs, rough driving surface magnitude values representing sensed driving surface roughness; determining whether a rough driving surface is detected; and when a rough driving surface is detected: determining filtered torque demand values based on throttle pedal input corresponding to a vehicle operator's engagement of a throttle pedal and the rough driving surface magnitude values; and filtering the received throttle pedal input by transmitting one or more filtered torque demand requests to one or more powertrain components to perform one or more powertrain actions to move the vehicle based on the filtered torque demand values.
11. The method of claim 10, wherein determining the filtered torque demand values comprises: using a limited exponential function; and determining filtered torque demand values that correspond linearly to the rough driving surface magnitude values.
12. The method of claim 10, wherein determining the filtered torque demand values comprises determining the filtered torque demand values for negative direction torque independently from the filtered torque demand values for positive direction torque.
13. The method of claim 12, wherein determining the filtered torque demand values comprises determining filtered torque demand values that limit torque demand more for positive direction torque and less for negative direction torque.
14. The method of claim 10, wherein determining the rough driving surface magnitude values comprises: for each wheel speed sensor, determining quantized individual wheel roughness magnitude values; and applying a floor and ceiling function to a sum of the quantized individual wheel roughness magnitude values determined for each wheel speed sensor divided by the number of wheel speed sensors.
15. The method of claim 14, wherein determining the quantized individual wheel roughness magnitude values comprises: determining discrete derivatives of the received wheel speed signal inputs; determining absolute values of the discrete derivatives of the received wheel speed signal inputs; and determining a quantized individual wheel roughness magnitude value by averaging the absolute values of the discrete derivatives of the received wheel speed signal inputs over a sample size and applying a quantizing algorithm to the average.
16. The method of claim 10, wherein determining whether a rough driving surface is detected comprises: detecting a rough driving surface based on: the rough driving surface magnitude values; or an anti-slip regulation signal.
17. The method of claim 16, wherein detecting the rough driving surface based on the rough driving surface magnitude values comprises: evaluating the rough driving surface magnitude values against a rough driving surface upper threshold value; and when the rough driving surface magnitude values meet or exceed the rough driving surface upper threshold value, determining that a rough driving surface is detected.
18. A vehicle having a computer readable storage device configured to store computer readable instructions, which when executed by a processor, are configured to cause the vehicle to: receive a throttle pedal input associated with a position of the throttle pedal; receive rough driving surface magnitude values representing sensed driving surface roughness; receive an indication that a rough driving surface is detected; determine filtered torque demand values based on the throttle pedal input and the rough driving surface magnitude values; and filter the received throttle pedal input by transmitting one or more filtered torque demand requests to one or more powertrain components to perform one or more powertrain actions to move the vehicle based on the filtered torque demand values.
19. The vehicle of claim 18, wherein the instructions are further configured to determine the rough driving surface magnitude values, wherein in determining the rough driving surface magnitude values, the vehicle is operative to: receive a plurality of wheel speed signal inputs from a number of wheel speed sensors included on the vehicle; for each wheel speed sensor: determine discrete derivatives of the received wheel speed signal inputs; determine absolute values of the discrete derivatives of the received wheel speed signal inputs; and determine a quantized individual wheel roughness magnitude value by averaging the absolute values of the discrete derivatives of the received wheel speed signal inputs over a sample size and applying a quantizing algorithm to the average; apply a floor and ceiling function to a sum of the quantized individual wheel roughness magnitude values determined for each wheel speed sensor divided by the number of wheel speed sensors.
20. The vehicle of claim 18, wherein the instructions are further configured to detect the rough driving surface based on: an anti-slip regulation signal; or based on an evaluation of the rough driving surface magnitude values against a rough driving surface upper threshold value; and when the rough driving surface magnitude values meet or exceed the rough driving surface upper threshold value, determine that a rough driving surface is detected.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Non-limiting and non-exhaustive examples are described with reference to the following figures:
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
DETAILED DESCRIPTION
[0018] Aspects of the present disclosure are generally directed to systems, methods, and computer readable storage media for providing automated throttle filtering. An automated throttle filtering system may operate to automatically filter torque inputs to minimize undesired oscillating torque demand. Such an automated throttle filtering system provides improvements in detection of a rough driving surface and automated dynamic adjustment of torque demand based on detection of a rough driving surface, thereby improving the driving experience.
[0019] The detailed description set forth below in connection with the appended drawings is an illustrative and non-limiting description of various embodiments of the disclosed subject matter. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. In the following description, numerous specific details are set forth in order to provide a thorough understanding of illustrative embodiments of the present disclosure. It will be apparent to one skilled in the art, however, that many embodiments of the present disclosure may be practiced without some or all of the specific details. In some instances, well-known process steps have not been described in detail in order not to unnecessarily obscure various aspects of the present disclosure. Further, it will be appreciated that embodiments of the present disclosure may employ any combination of features described herein. The illustrative examples provided herein are not intended to be exhaustive or to limit the claimed subject matter to the precise forms disclosed.
[0020] While aspects of the present disclosure may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the present disclosure, but instead, the proper scope of the present disclosure is defined by the appended claims. Examples may take the form of a hardware implementation, or an entirely software implementation, or an implementation combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
[0021] The following description proceeds with reference to examples of systems and methods suitable for use in vehicles, such as Class 8 trucks. Although illustrative embodiments of the present disclosure will be described hereinafter with reference to vehicles, it will be appreciated that aspects of the present disclosure have wide application, and therefore, may be suitable for use with many types of vehicles, such as trucks, passenger vehicles, buses, commercial vehicles, light and medium duty vehicles, etc.
[0022] With reference now to
[0023] As shown, the example vehicle 101 includes a powertrain 105 (shown schematically). The powertrain 105 may operate to generate power and to convert the power into movement. For example, the powertrain 105 may include a power source, such as an engine, and various components that operate to convert the engine's power into movement of the vehicle (e.g. the transmission, driveshafts, differential, and axles). The powertrain 105 may be one of various types of powertrains (e.g., diesel, hydrogen fuel cell, battery electric). In some examples, the vehicle's transmission may be configured to generate torque based on a set of received input criteria. In an example implementation and as will be described in further detail below, the input criteria may include a torque demand signal based on a vehicle operator's 119 engagement of a throttle pedal 121. In another example implementation, the torque demand signal may be filtered by the automated throttle filtering system 100 based on a determination of a rough driving surface 117.
[0024] In some examples, the vehicle 101 may include an anti-lock braking system (ABS) and anti-slip regulation (ASR) system (herein referred to as an ABS/ASR system 107). According to an example, the ABS/ASR system 107 may operate as an automated system to prevent the vehicle's wheels 123 from locking up during braking and from spinning during accelerating. For example, without human intervention, the ABS/ASR system 107 may use sensors 111 (e.g., wheel speed sensors) to monitor a rotational speed of at least a subset of the vehicle's wheels 123 for detecting conditions indicative of impending wheel lock (e.g., one or more wheels 123 rotating slower than the speed of the vehicle 101 based on a threshold value), which when detected, may cause a controller 125 of the ABS/ASR system 107 to adjust braking of an affected wheel 123 to maintain tractive contact with the driving surface 117 and allow the vehicle operator 119 to maintain more control over the vehicle 101.
[0025] In some examples, the ABS/ASR system 107 may further operate to, without human intervention, use the sensors 111 to monitor a rotational speed of at least a subset of the vehicle's wheels 123 for detecting conditions indicative of wheel slip (e.g., one or more wheels 123 rotating faster than the speed of the vehicle 101 based on a threshold value), which when detected, may cause the controller 125 of the ABS/ASR system 107 to regulate an amount of torque supplied to an affected wheel 123 (e.g., slow down the affected wheel 123 to regain traction). In some examples, the ABS/ASR system 107 may further operate to provide additional torque to an opposite wheel 123 that may have better traction when compared to the spinning wheel 123. In some examples, the ABS/ASR system 107 may further operate to regulate braking of the affected/spinning wheel 123 during acceleration to slow down the wheel to help regain traction.
[0026] According to an aspect, the vehicle 101 may include an automated throttle filtering system 100 that be in communication with and interoperate with the ABS/ASR system 107 to filter torque requests that may be communicated to an interface of the powertrain 105 (herein referred to as a powertrain controller interface (PCI) 109 for modulating an undesirable torque demand that may be generated in relation to operation of the vehicle 102 on a rough driving surface 117.
[0027] As will be described in further detail below, in various examples, the automated throttle filtering system 100 may be operative or configured to dynamically filter throttle pedal 121 input based on a rough driving surface 117. In some implementations, the automated throttle filtering system 100 may include a rough driving surface detector 113 that may operate to detect a rough driving surface 117 based at least in part on variations in magnitudes of quantized wheel speed signals and ASR status signals received from the ABS/ASR system 107. In some implementations, the automated throttle filtering system 100 may further include a dynamic throttle input filter 115 that may operate to adjust a torque demand associated with the filter throttle pedal 121 input based on the detection of the rough driving surface 117. Example operations of the automated throttle filtering system 100 are described in further detail below with reference to
[0028] With reference now to
[0029] As mentioned above with respect to
[0030] Also as mentioned above, the automated throttle filtering system 100 may include the rough driving surface detector 113 and the dynamic throttle input filter 115. As will be described in further detail with reference to
[0031] In some implementations, the rough driving surface detector 113 may further operate to make a determination associated with whether received inputs indicate a rough driving surface 117 and to communicate rough driving surface signals 206 to the dynamic throttle input filter 115 when a rough driving surface 117 is determined. In one example, the rough driving surface signals 206 may include the quantized roughness magnitude values.
[0032] In some examples, the dynamic throttle input filter 115 may further operate to receive throttle pedal input 208 from the throttle pedal 121. For example, the throttle pedal input 208 may include a signal transmitted by a throttle position sensor 202 operative to track the position of the throttle pedal 121.
[0033] As will be described in further detail below, according to one example, the dynamic throttle input filter 115 is illustrative of a software module, system, or device that may be operative or configured to receive rough driving surface signals 206 from the dynamic throttle input filter 115 when a rough driving surface 117 is determined, to determine filtered pedal torque demand values based on quantized roughness magnitude values, and to dynamically regulate the received throttle pedal input 208 by including the determined filtered pedal torque demand values in torque demand requests (i.e., filtered torque demand requests 210) communicated to the powertrain 105. Aspects associated with determining a rough driving surface 117 and determining the filtered pedal torque demand values for filtered torque demand requests 210 are described in further detail below with reference to
[0034]
[0035] According to an example and as shown in
[0036] In some examples, the rough driving surface detector 113 may further operate to determine quantized values 308a-d of the average values 306a-d to assign a continuous value to the wheel speed signal inputs 204a-n over the sample size 310. One example equation that may be used to quantize wheel speed signal inputs 204 is:
wherein: R.sub.xx is an individual wheel roughness magnitude value, and where xx may specify the particular wheel 123 or wheel speed sensor 111 (e.g., front/rear; left/right); Δ is a quantization interval (e.g., a step size); t is the sample size 310 (e.g., moving average+window length); and V is wheel speed acceleration.
[0037] In some examples, the rough driving surface detector 113 may further operate to determine a sum 312 (R.sub.sum) of the quantized values 308 for all the wheels 123a-d for which wheel speed signal inputs 204a-n are received. According to one example,
[0038] In some examples and with reference now to
According to an example, the rounded quantized roughness value 316 may be communicated to the dynamic throttle input filter 115 as a rough driving surface magnitude value 322.
[0039] In some examples, the rough driving surface detector 113 may operate to evaluate the rounded quantized roughness value 316/rough driving surface magnitude value 322 against one or more calibrateable threshold values 318a,b to determine whether the driving surface 117 satisfies conditions for a rough driving surface determination 320. For example, when the rounded quantized roughness value 316/rough driving surface magnitude value 322 meets or exceeds a rough driving surface upper threshold value 318a, the driving surface 117 may be determined to be a rough driving surface.
[0040] According to one example implementation, the rough driving surface detector 113 may be configured to make the rough driving surface determination 320 based at least in part on a received ASR signal input 211. For example, an ASR signal input 211, which may indicate a loss of traction in association with one or more wheels 123, may be received (e.g., from the ABS/ASR system controller 125). In some examples, loss of traction as indicated by the ASR signal input may satisfy a condition evaluated by the rough driving surface detector 113 for making the rough driving surface determination 320. According to an example and as shown, when a rough driving surface determination 320 is made, a rough driving surface signal 206 may be communicated to the dynamic throttle input filter 115.
[0041] With reference now to
[0042] The first graph 402 of
[0043] The second graph 404 of
[0044] The third graph 406 of
[0045] As described above, in some examples, the dynamic throttle input filter 115 may operate to filter torque demand requests based on received rough driving surface determinations 320, such as the example rough driving surface determinations 320a-f made in reference to
[0046] The limited exponential function may further include a second equation: s=min (max(dT, T)+∫.sub.t=0.sup.t(dT+max(dT, T))), where dT represents the sample rate, T is a filter time constant value based on driving surface 117 roughness and may correspond proportionally to the rough driving surface magnitude value (R.sub.total) 322. The second equation may operate to determine s, which may represent a variable utilized in a third equation for determining u.
[0047] The third equation may operate as the filter exponential part of the limited exponential function to determine u. For example:
where x.sub.0 represents an initialization value to the dynamic throttle input filter 115 based on driving surface 117 roughness, and x represents a translated torque input value based on a pedal map. For example, the pedal map may include a dynamic lookup table that, based on a throttle pedal input 208 received in association with movement of the throttle pedal 121 by the vehicle operator 119, may be used to translate a throttle pedal position (i.e., a pedal saturation value) and throttle pedal ramp rate into a torque demand percent. The pedal map may include pedal position translation information comprising relationships between pedal positions and torque demand associated with the vehicle's particular powertrain 105. For example, various types of powertrains 105 may have different pedal map information. Accordingly, the pedal map may have calibratable values that can be adjusted depending on the powertrain 105 operating to create torque for the vehicle 101. In some examples, the torque demand may further be translated from a percent into a value. For example, various systems included in the vehicle 101 may be configured to understand torque as an actual value. Accordingly, a torque translation table may be used to translate the torque demand percent determined from the pedal map into the translated torque input value (i.e., x) used in the third equation.
[0048] The limited exponential function may further include a fourth equation:
where y represents the resultant pedal torque demand (e.g., filtered torque demand request 210, unfiltered torque demand request 213) based on the above functions. According to the example limited exponential function, throttle pedal input filtering action may be linearly increased as sensed driving surface 117 harshness (i.e., roughness) increases.
[0049] Additionally, the fourth equation may enable negative direction torque demand filtering to be determined independently from positive direction torque demand filtering. For example, positive torque applications may generally be more filtered to minimize unintended positive torque application. For example, torque demand may be filtered more on a rising edge of the demand (e.g., increase in acceleration), in comparison with a falling edge (e.g., decrease in acceleration). For example, increased filtering torque demand on the falling edge may result in unintended acceleration of the vehicle 101 that may prevent the vehicle 101 from slowing down as the vehicle operator 119 may intend, whereas increased filtering on the rising edge of the demand may prevent unintended jerking ahead of the vehicle 101.
[0050] With reference now to
[0051] The first graph 502 of
[0052] The second graph 504 of
[0053] The third graph 506 of
[0054] With reference now to
[0055] As mentioned above, in some examples, positive direction torque demand filtering may be determined independently from negative direction torque demand filtering. For example and as illustrated, the filtered torque demand values 503 on the rising edges 602 of the example torque demand oscillations 606a,b,c may be more heavily filtered (e.g., based on the example fourth equation described above) in comparison with the falling edges 604 example torque demand oscillations 606a,b,c. For example, increased filtering torque demand on the falling edges 604 may result in unintended acceleration of the vehicle 101 that may prevent the vehicle 101 from slowing down as the vehicle operator 119 may intend, whereas increased filtering on the rising edge 602 of the demand may prevent unintended jerking ahead of the vehicle 101. Aspects of the automated throttle filtering system 100 may improve vehicle 101 controllability, which may provide a positive vehicle operator 119 experience and satisfy the operator's expectation for a quality vehicle 101.
[0056] With reference now to
[0057] At OPERATION 704, the wheel speed signals 204 may be processed for quantifying roughness of a driving surface 117. According to one example implementation and with reference back to the example general logic flow for detecting a rough driving surface 117 illustrated in
[0058] At OPERATION 706, the determined rough driving surface magnitude value 322 may be communicated to the dynamic throttle input filter 115. Example operations performed by the dynamic throttle input filter 115, such as operations associated with receiving rough driving surface magnitude values 322, are described below with reference to
[0059] At DECISION OPERATION 708, a determination may be made as to whether the rounded quantized roughness value 316/rough driving surface magnitude value 322 satisfies conditions for a rough driving surface determination 320. According to one example, a determination may be made that a rough driving surface 117 has been detected when the rounded quantized roughness value 316/rough driving surface magnitude value 322 meets or exceeds a rough driving surface upper threshold value 318a. According to another example, the rough driving surface determination 320 may further be based on a received ASR signal input 211. In some examples, loss of traction as indicated by the ASR signal input 211 may satisfy a condition for making the rough driving surface determination 320.
[0060] When a determination 320 is made that a rough driving surface 117 has been detected, at OPERATION 710, an associated rough driving surface signal 206 may be communicated to the dynamic throttle input filter 115. Example operations performed by the dynamic throttle input filter 115, such as operations associated with receiving the rough driving surface signal 206, are described below with reference to
[0061] With reference now to
[0062] At OPERATION 802, throttle pedal input 208 may be received. For example, the throttle pedal input 208 may include a signal transmitted by a throttle position sensor 202 representing a position of the throttle pedal 121 (e.g., pedal saturation value).
[0063] At OPERATION 804, rough driving surface magnitude values 322 may be received. For example, the rough driving surface magnitude values 322 may include the rough driving surface magnitude values 322 determined by the rough driving surface detector 113 at OPERATION 704 and communicated to the dynamic throttle input filter 115 at OPERATION 706 in
[0064] At DECISION OPERATION 806, a determination may be made as to whether to filter the throttle pedal input 208 received at OPERATION 802. For example, a determination may be made as to whether a rough driving surface signal 206 has been received indicative that a rough driving surface 117 has been detected. For example, the rough driving surface signal 206 may include the rough driving signals 206 sent to the dynamic throttle input filter 115 responsive to a detection of a rough driving surface 117 by the rough driving surface detector 113 at OPERATION 710 and DECISION OPERATION 708 in
[0065] When a rough driving surface 117 has not been detected at DECISION OPERATION 806, the method 800 may proceed to OPERATION 808, where torque demand values may be determined based on the throttle pedal input 208 received at OPERATION 802. For example, the throttle pedal input 208 may be translated into a torque demand percent and value.
[0066] When a rough driving surface 117 has been detected at DECISION OPERATION 806, the method 800 may proceed to OPERATION 810, where the throttle pedal input 208 received at OPERATION 802 may be filtered based on the rough driving surface magnitude values 322 received at OPERATION 804. In some examples, the dynamic throttle input filter 115 may determine filtered torque demand values 503 using the example limited exponential function and the pedal map as described above.
[0067] At OPERATION 812, a torque demand request may be communicated to the powertrain system 105. For example, the torque demand request may be an unfiltered torque demand request 213 including the torque demand values determined at OPERATION 808 or a filtered torque demand request 210 including filtered torque demand values 503 determined at OPERATION 810. The powertrain 105 may generate torque to move the vehicle 101 based on the unfiltered or filtered torque demand values. When a filtered torque demand request 210 including filtered torque demand values 503 is received, the powertrain 105 may generate a smoother torque output that may reduce or eliminate undesirable oscillating torque demand (e.g., 606) and, in some examples, driveline oscillation and wrap, that may otherwise be experienced when traversing a rough driving surface 117.
[0068]
[0069] In its most basic configuration, the computing device 900 includes at least one processor 902 and a system memory 904 connected by a communication bus 906. Depending on the exact configuration and type of device, the system memory 904 may be volatile or nonvolatile memory, such as read-only memory (“ROM”), random access memory (“RAM”), EEPROM, flash memory, or other memory technology. Those of ordinary skill in the art and others will recognize that system memory 904 typically stores data or program modules that are immediately accessible to or currently being operated on by the processor 902. In this regard, the processor 902 may serve as a computational center of the computing device 900 by supporting the execution of instructions. According to one example, the system memory 904 may store one or more components of the automated throttle filtering system 100.
[0070] As further illustrated in
[0071] In the illustrative embodiment depicted in
[0072] As used herein, the term “computer-readable medium” includes volatile and nonvolatile and removable and non-removable media implemented in any method or technology capable of storing information, such as computer-readable instructions, data structures, program modules, or other data. In this regard, the system memory 904 and storage medium 908 depicted in
[0073] For ease of illustration and because it is not important for an understanding of the claimed subject matter,
[0074] In any of the described examples, data can be captured by input devices and transmitted or stored for future processing. The processing may include encoding data streams, which can be subsequently decoded for presentation by output devices. Media data can be captured by multimedia input devices and stored by saving media data streams as files on a computer-readable storage medium (e.g., in memory or persistent storage on a client device, server, administrator device, or some other device). Input devices can be separate from and communicatively coupled to computing device 900 (e.g., a client device), or can be integral components of the computing device 900. In some embodiments, multiple input devices may be combined into a single, multifunction input device (e.g., a video camera with an integrated microphone). The computing device 900 may also include output devices such as a display, speakers, printer, etc. The output devices may include video output devices such as a display or touchscreen. The output devices also may include audio output devices such as external speakers or earphones. The output devices can be separate from and communicatively coupled to the computing device 900, or can be integral components of the computing device 900. Input functionality and output functionality may be integrated into the same input/output device (e.g., a touchscreen). Any suitable input device, output device, or combined input/output device either currently known or developed in the future may be used with described systems.
[0075] In general, functionality of computing devices described herein may be implemented in computing logic embodied in hardware or software instructions, which can be written in a programming language, such as C, C++, COBOL, JAVA™, PHP, Perl, HTML, CSS, JavaScript, VBScript, ASPX, Microsoft .NET™ languages such as C#, or the like. Computing logic may be compiled into executable programs or written in interpreted programming languages. Generally, functionality described herein can be implemented as logic modules that can be duplicated to provide greater processing capability, merged with other modules, or divided into sub-modules. The computing logic can be stored in any type of computer-readable medium (e.g., a non-transitory medium such as a memory or storage medium) or computer storage device and be stored on and executed by one or more general-purpose or special-purpose processors, thus creating a special-purpose computing device configured to provide functionality described herein.
[0076] Many alternatives to the systems and devices described herein are possible. For example, individual modules or subsystems can be separated into additional modules or subsystems or combined into fewer modules or subsystems. As another example, modules or subsystems can be omitted or supplemented with other modules or subsystems. As another example, functions that are indicated as being performed by a particular device, module, or subsystem may instead be performed by one or more other devices, modules, or subsystems. Although some examples in the present disclosure include descriptions of devices comprising specific hardware components in specific arrangements, techniques and tools described herein can be modified to accommodate different hardware components, combinations, or arrangements. Further, although some examples in the present disclosure include descriptions of specific usage scenarios, techniques and tools described herein can be modified to accommodate different usage scenarios. Functionality that is described as being implemented in software can instead be implemented in hardware, or vice versa.
[0077] Many alternatives to the techniques described herein are possible. For example, processing stages in the various techniques can be separated into additional stages or combined into fewer stages. As another example, processing stages in the various techniques can be omitted or supplemented with other techniques or processing stages. As another example, processing stages that are described as occurring in a particular order can instead occur in a different order. As another example, processing stages that are described as being performed in a series of steps may instead be handled in a parallel fashion, with multiple modules or software processes concurrently handling one or more of the illustrated processing stages. As another example, processing stages that are indicated as being performed by a particular device or module may instead be performed by one or more other devices or modules.
[0078] The principles, representative embodiments, and modes of operation of the present disclosure have been described in the foregoing description. However, aspects of the present disclosure which are intended to be protected are not to be construed as limited to the particular embodiments disclosed. Further, the embodiments described herein are to be regarded as illustrative rather than restrictive. It will be appreciated that variations and changes may be made by others, and equivalents employed, without departing from the spirit of the present disclosure. Accordingly, it is expressly intended that all such variations, changes, and equivalents fall within the spirit and scope of the claimed subject matter.