Patent application title: Driver Risk Assessment System and Method Employing Selectively Automatic Event Scoring
Bryon Cook (San Diego, CA, US)
Bryon Cook (San Diego, CA, US)
Peter Ellegaard (San Diego, CA, US)
Louis Gilles (San Diego, CA, US)
IPC8 Class: AG06F700FI
Class name: Vehicle control, guidance, operation, or indication vehicle diagnosis or maintenance indication plural processors or external processor
Publication date: 2010-07-29
Patent application number: 20100191411
Patent application title: Driver Risk Assessment System and Method Employing Selectively Automatic Event Scoring
STEINS & ASSOCIATES
Origin: SAN DIEGO, CA US
IPC8 Class: AG06F700FI
Publication date: 07/29/2010
Patent application number: 20100191411
A Driver Risk Assessment System and Method Employing Selectively Automatic
Event Scoring. The system and method provides robust and reliable event
scoring and reporting, while also optimizing data transmission bandwidth.
The system includes onboard vehicular driving event detectors that record
data related to detected driving events, selectively store or transfer
data related to said detected driving events. If elected, the onboard
vehicular system will score a detected driving event, compare the local
score to historical values previously stored within the onboard system,
and upload selective data or data types to a remote server or user if the
system concludes that a serious driving event has occurred. The system
may further respond to independent user requests by transferring select
data to said user at a variety of locations and formats.
1. A system for reducing risk in driving, comprising:at least one event
capture device associated with a vehicle, said event capture device or
devices detecting data related to the physical condition of said
vehicle;at least one event detector device coupled with the vehicle and
configured to communicate with said event capture device or devices and
to determine, responsive to event scoring criteria, whether or not data
captured by said event capture devices represents a driving event;an
event scoring module attached to or otherwise physically associated with
said event detector for generating an event score based upon data from
said event capture device or devices; andan event data management module
attached to or otherwise associated with said event detector for
uploading data from said event capture devices to a remote computer
device, with said uploading being responsive to said event score.
2. The system of claim 1, wherein said system further comprises a comparing subsystem for comparing said generated event score with a group of previously stored event scores, and to responsively upload said data if said comparison so dictates.
3. The system of claim 2, comprising:said at least one said event capture device generating selectively uploaded data associated with said vehicle physical condition, and also generating regularly uploaded data associated with said vehicle physical condition; andsaid event data management module uploads said selectively uploaded data responsive to said event score.
4. The system of claim 3, comprising:at least one said event capture device generating said selectively uploaded data associated with said vehicle physical condition; andat least another said event capture device generating said regularly uploaded data associated with said vehicle physical condition.
5. The system of claim 4, wherein said event data management module uploads said selectively uploaded data responsive to a comparison between said generated event score and a set of representative event scores stored in a local data repository associated with said comparison subsystem.
6. The system of claim 5, wherein said event score is based only upon said regularly uploaded data.
7. The system of claim 5, wherein said selectively uploaded data is selected from the group of audio data video data and telemetry data.
8. The system of claim 5, wherein said regularly uploaded data comprises vehicle velocity, vehicle acceleration, vehicle special orientation, vehicle metadata and vehicle location.
9. The system of claim 5, further comprising a raw data filter for filtering data captured by said event capture devices prior to said determination of whether or not said data represents a driving event.
10. A method for evaluating risk in driving, comprising the steps ofcapturing driving event data at one or more event capture devices coupled with said vehicle;analyzing the driving event data with at least one event detector device to calculate a driving event score; andselectively uploading all or part of said captured data to a remote computing device, said selective uploading being responsive to said calculated event score.
11. The method of claim 10, wherein said selective uploading is further responsive to a data request received by said event detector.
12. The method of claim 11, wherein said data request received by said event detector is sent from a computing device that is remote to said vehicle.
13. The method of claim 10, wherein said selectively uploaded captured data comprises audio, video, or telemetry data.
14. The method of claim 13, wherein said driving event score is calculated from data selected from the group of data representing vehicle velocity, vehicle acceleration, vehicle special orientation, vehicle directional heading, vehicle metadata and vehicle location.
15. The method of claim 14, wherein said event score calculation excludes said selectively uploaded data.
16. The method of claim 12, wherein said selectively uploaded captured data comprises audio or video data.
17. The method of claim 16, wherein said driving event score is calculated from data selected from the group of data representing vehicle velocity, vehicle acceleration, vehicle special orientation, vehicle directional heading, vehicle metadata and vehicle location.
18. The method of claim 17, wherein said event score calculation excludes said selectively uploaded data.
19. The method of claim 10, wherein said selective uploading is further responsive to user request.
20. A method for reducing risk in driving, comprising: obtaining a plurality of driving event data for the individual driver, said event data comprising selectively uploadable video or audio data and regularly uploaded velocity, acceleration, vehicle spacial orientation and heading, vehicle metadata and vehicle location data, the driving event data obtained from a data storage area comprising a plurality of captured driving event data for a plurality of drivers; analyzing the plurality of regularly uploadable driving event data; analyzing demographic data for the individual driver, said demographic data obtained from a data storage area comprising a plurality of driver records, said records comprising demographic data; and scoring the individual driver based on the analysis of the plurality of driving event data and the analysis of the demographic data; and uploading relevant portions of said selectively uploadable video and audio data to a remote computing device.
This application is an improvement upon the systems, methods and
devices previously disclosed in application Ser. Nos. 11/382,222, filed
May 8, 2006, 11/382,239 filed May 8, 2006, 11/566,539 filed May 8, 2006,
11/467,694 filed May 9, 2006, 11/382,328 filed May 9, 2006, 11/382,325
filed May 9, 2006, 11/465,765 filed Aug. 18, 2006, 11/467,486 filed Aug.
25, 2006, 11/566,424 filed Dec. 4, 2006, 11/566,526 filed Dec. 4, 2006,
and 12/359,787 filed Jan. 26, 2009 all now pending (the "Prior
Applications"), and as such, the discloses of those Prior Applications
are incorporated herein by reference.
This application is a continuation-in-part of application Ser. No. 12/359,787, filed Jan. 26, 2009, now pending.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to systems for analyzing driving events and risk and, more specifically, to a Driver Risk Assessment System and Method Employing Selectively Automatic Event Scoring.
2. Description of Related Art
The surveillance, analysis and reporting of vehicular accidents and "events" has, for some time, been the focus of numerous inventive and commercial efforts. These systems seek to monitor a vehicle's condition while being driven by a driver, and then record and report whenever a "hazardous" condition is detected. What vehicle (and/or driver) symptoms are to constitute a "hazardous" event or condition is defined in the context of a particular monitoring system. Each system will monitor one or more sensor devices located in the vehicle (e.g. shock sensors, location sensors, attitude/orientation sensors, sound sensors), and will generally apply a threshold alarm level (of a variety of levels of sophistication) to the sensor(s) output to assign an event or a non-event. Prior systems of note include the following patents and printed publications: Guensler, et al., US2007/0216521 describes a "Real-time Traffic Citation Probability Display System and Method" incorporates environmental factors and geocentric risk elements to determine driver risk of citation in real-time. Gunderson, et al., US200710257804 describes a "System and Method for Reducing Driving Risk with Foresight." The Gunderson system and method introduces driver coaching into the driver risk analysis system and method. Warren, et al. US2007/0027726 is a system for "Calculation of Driver Score Based on Vehicle Operation for Forward-looking Insurance Premiums." Warren calculates insurance premiums using geomapping to subdivide underwriting areas. Gunderson, et al. US2007/0271105 is a "System and Method for Reducing Risk with Hindsight" that provides forensic analysis of a vehicle accident, including video of the driver and area in front of the vehicle. Gunderson, et al. US2007/0268158 is a "System and Method for Reducing Risk with Insight." This Gunderson method and system monitors driving for the purpose of analyzing and reporting events on a driver-centric basis. Gunderson, et al. US2007/0257815 is a "System and Method for Taking Risk out of Driving," and introduces the creation of a driver coaching session as part of the driving monitoring system. Warren, et al., US2006/0253307 describes "Calculation of Driver Score based on Vehicle Operation" in order to assess driver risk based upon a vehicle/driver geolocation and duration in risky locations. Warren, et al., US20060053038 is related to the '307 Warren, that further includes activity parameters in determining driver risk. Kuttenberger, et al., is a "Method and Device for Evaluating Driving Situations." This system does calculate driving risk based upon accelerometers and other vehicle characteristics. Finally, Kuboi, et al. is a "Vehicle Behavior Analysis System" that includes GPS, video and onboard triggers for notification/storing/uploading data related to the vehicle behavior.
There are other prior references dealing with the analysis of the detected data to identify occurrences that would be classified as "driving events" of significance to the driver or driver's supervisory organization. These references include: Raz, et al. U.S. Pat. No. 7,389,178 for "System and Method for Vehicle Driver Behavior Analysis and Evaluation", Raz, et al., U.S. Pat. No. 7,561,054 for "System and Method for Displaying a Driving Profile," and Raz, et al., U.S. Patent Application Publication No. 2007/0005404 for "System and Method for Providing Driving Insurance." All of these Raz references are based upon a system and method that analyzes the raw data collected by the vehicle data sensors and generates a "string" of "maneuvers" that the system recognizes from a database of data that has been previously been identified as representing such maneuvers.
A detailed review of each of these prior systems has been conducted, and while each and every one of them discloses what is purported to be a novel system for vehicle risk monitoring, reporting and/or analysis, none of these prior systems suggests a system that employs an operational architecture that adequately recognizes the commercial limitations of wireless data transfer networks.
SUMMARY OF THE INVENTION
In light of the aforementioned problems associated with the prior systems and methods, it is an object of the present invention to provide a Driver Risk Assessment System and Method Employing Selectively Automatic Event Scoring. The system and method should provide robust and reliable event scoring and reporting, while also optimizing data transmission bandwidth. The system should include onboard vehicular driving event detectors that record data related to detected driving events, selectively store or transfer data related to said detected driving events. If elected, the onboard vehicular system should "score" a detected driving event, compare the local score to historical values previously stored within the onboard system, and upload selective data or data types if the system concludes that a serious driving event has occurred. The system should respond to independent user requests by transferring select data to said user at a variety of locations and formats.
BRIEF DESCRIPTION OF THE DRAWINGS
The objects and features of the present invention, which are believed to be novel, are set forth with particularity in the appended claims. The present invention, both as to its organization and manner of operation, together with further objects and advantages, may best be understood by reference to the following description, taken in connection with the accompanying drawings, of which:
FIG. 1 is a block diagram of a conventional vehicle having a preferred embodiment of the system of the present invention installed therein;
FIG. 2 is a block diagram illustrating an example event detector according to an embodiment of the present invention;
FIG. 3 is a block diagram of a conventional computing device suitable for executing the method described herein;
FIG. 4 is a block diagram of a conventional wireless communications device suitable for communicating between the event detector of FIG. 2 and a remote base unit;
FIG. 5 is a block diagram depicting exemplary inputs to the event detector of FIGS. 1 and 2, and the potential response results and destinations for detected events;
FIG. 6 is a block diagram of the prior data output options available to the event detector; and
FIG. 7 is a block diagram depicting the preferred steps of the selectively automatic event scoring method 50 of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The following description is provided to enable any person skilled in the art to make and use the invention and sets forth the best modes contemplated by the inventor of carrying out his invention. Various modifications, however, will remain readily apparent to those skilled in the art, since the genetic principles of the present invention have been defined herein specifically to provide a Driver Risk Assessment System and Method Employing Selectively Automatic Event Scoring.
The present invention can best be understood by initial consideration of FIG. 1. FIG. 1 is a block diagram of a conventional vehicle 10 having a preferred embodiment of the system of the present invention installed therein. The event detector 30A is in control of a one or more event capture devices 20 that are attached to the vehicle 10. The event detector 30A communicates with the capture devices 20 via wired or wireless interface. There is a data storage area 35 also associated with the event detector 30A, as will be expanded upon below in connection with other drawing figures.
The event detector 30A can be any of a variety of types of computing devices with the ability to execute programmed instructions, receive input from various sensors, and communicate with one or more internal or external event capture devices 20 and other external devices (not shown). The detector 30A may utilize software, hardware and/or firmware in a variety of combinations to execute the instructions of the disclosed method.
An example general purpose computing device that may be employed as all or a portion of an event detector 30A is later described in connection with the discussion related to FIG. 4, hereinbelow. Similarly, an example general purpose wireless communication device that may be employed as all or a portion of an event detector 30A is later described in connection with the discussion related to FIG. 5 hereinbelow.
When the event detector 30A identifies an event, the event detector 30A instructs the one or more event capture devices 20 to record pre-event data, during the event data, and post-event data that is then provided to the event detector 30A and stored in the data storage area 35. In reality, the event capture devices 20 constantly save data in a buffer memory, which allows the system to actually obtain data that was first-recorded (into a buffer memory) prior to the event itself.
Events may comprise a variety of situations, including automobile accidents, reckless driving, rough driving, or any other type of stationary or moving occurrence that the owner of a vehicle 10 may desire to know about, and is more fully described below in connection with other drawing figures.
The vehicle 10 may have a plurality of event capture devices 20 placed in various locations around the vehicle 10. An event capture device 20 may comprise a video camera, still camera, microphone, and other types of data capture devices. For example, an event capture device 20 may include an accelerometer that senses changes in speed, direction, and vehicle spacial orientation. Additional sensors and/or data capture devices may also be incorporated into an event capture device 20 in order to provide a rich set of information about a detected event.
The data storage area 35 can be any sort of internal or external, fixed or removable memory device and may include both persistent and volatile memories. The function of the data storage area 35 is to maintain data for long term storage and also to provide efficient and fast access to instructions for applications or modules that are executed by the event detector 30A.
In one embodiment, event detector 30A in combination with the one or more event capture devices 20 identifies an event and stores certain audio and video data along with related information about the event. For example, related information may include the speed of the vehicle when the event occurred, the direction the vehicle was traveling, the location of the vehicle (e.g., from a global positioning system "GPS" sensor), and other information from sensors located in and around the vehicle or from the vehicle itself (e.g., from a data bus integral to the vehicle such as an on board diagnostic "OBD" vehicle bus). This combination of audio, video, and other data is compiled into an event that can be stored in data storage 35 onboard the vehicle for later delivery to an evaluation server. Data transfer to a remote user or server could be via conventional wired connection, or via conventional wireless connections (such as using antennae 652). Turning to FIG. 2, we can examine some of the internal details regarding the event detector 30A.
FIG. 2 is a block diagram illustrating an example event detector 30A according to an embodiment of the present invention. In the illustrated embodiment, the event detector 30A comprises an audio/video ("AV") module 100, a sensor module 110, a communication module 120, a control module 130, and a spacial behavior module (not shown). Additional modules may also be employed to carry out the various functions of the event detector 30A, as will be understood by those having skill in the art.
The AV module 100 is configured to manage the audio and video input from one or more event capture devices and storage of the audio and video input. The sensor module 110 is configured to manage one or more sensors that can be integral to the event detector 30A or external from the event detector 30A. For example, an accelerometer may be integral to the event detector 30A or it may be located elsewhere in the vehicle 10. The sensor module 110 may also manage other types of sensor devices such as a GPS sensor, temperature sensor, moisture sensor, and the OBD, or the like (all not shown).
The communication module 120 is configured to manage communications between the event detector 30A and other devices and modules. For example, the communication module 120 may handle communications between the event detector 30A and the various event capture devices 20. The communication module 120 may also handle communications between the event detector 30A and a memory device, a docking station, or a server such as an evaluation server. The communication module 120 is configured to communicate with these various types of devices and other types of devices via a direct wire link (e.g., USB cable, firewire cable), a direct wireless link (e.g., infrared, Bluetooth, ZigBee), or a wired or any wireless network link such as a local area network ("LAN"), a wide area network ("WAN"), a wireless wide area network ("WWAN"), an IEEE 802 wireless network such as an IEEE 802.16 ("WiFi") network, a WiMAX network, satellite network, or a cellular network. The particular communications mode used will determine which, if any, antennae 652 is used.
The control module 130 is configured to control the actions or remote devices such as the one or more event capture devices. For example, the control module 130 may be configured to instruct the event capture devices to capture an event and return the data to the event detector when it is informed by the sensor module 110 that certain trigger criteria have been met that identify an event.
A pair of subsystems are new to this embodiment of the event detector 30A, the Local Event Scoring Module 140 and the Event Data Management Module 150. While these two modules 140, 150 are referred to as separate subsystems, it should be understood that some or all of the functionality of each could be integrated into the Control Module 130 (or other subsystem associated with the event detector 30A).
The Local Event Scoring Module 140 will review the raw data streams from the individual sensors 20 (see FIG. 1), or the sensor module 110, and will use one or more mathematic algorithms to calculate a local event score. While this local event score is not expected to be as robust or potentially accurate as the remote event scoring system described by the Parent Applications, it is not necessarily a requirement that this be the case, because a remote score may still be determined independent of the local score. The purpose for calculating the local event score is to enable the event detector 30A to optimize the use of the data transfer bandwidth by only selectively uploading the full event data to the remote server for review/display/analysis. Through extensive observation, the values produced by the various sensors (either alone or in combination) can be analyzed mathematically to produce a product that accurately predicts whether or not a serious accident or other driving event has occurred. Combinations of acceleration, velocity, video and event sound can reliably detect that an accident has happened.
If the local event scoring module 140 determines that the local event score of a particular driving event meets pre-determined criteria, it will direct the Event Data Management Module 150 to upload the appropriate data received from the sensors 20 (see FIG. 1) and stored locally within the vehicle (within a storage device associated with the event detector 30A).
The Event Data Management Module 150 may also be responsive to a remote request for additional data. For example, in circumstances where the remote user (i.e. remote to the vehicle being monitored) may receive a notice of a particular "incident" of interest, that remote user may be able to manually request audio, video or other locally-recorded data. This requested data would then be transmitted (via the communications module 120) to the remote user for review/analysis/display.
This new version of event detector 30A has the ability to reduce, or at least regulate, the amount of data that flows from it to the remote user(s). When fully enabled, for example, large bandwidth data streams such as video and audio data will not regularly be transmitted to the remote server unless by direction of either the Local Event Scoring Module 140, or by manual or remote user request. This reduction of flow translates into significant cost savings, since most of these systems utilize expensive cellular telephone or satellite networks for vehicle-to-remote server communications. FIGS. 3 and 4 depict conventional hardware used to construct the functional elements of the Event Detector 30A and associated subsystems.
FIG. 3 is a block diagram of a conventional computing device 750 suitable for executing the method described hereinbelow. For example, the computer system 750 may be used in conjunction with an event detector previously described with respect to FIGS. 1 and 2, or an evaluation server, analysis station, counseling station, or supervisor station described in the Prior Applications. However, other computer systems and/or architectures may be used, as will be clear to those skilled in the art.
The computer system 750 preferably includes one or more processors, such as processor 752. Additional processors may be provided, such as an auxiliary processor to manage input/output, an auxiliary processor to perform floating point mathematical operations, a special-purpose microprocessor having an architecture suitable for fast execution of signal processing algorithms (e.g., digital signal processor), a slave processor subordinate to the main processing system (e.g., back-end processor), an additional microprocessor or controller for dual or multiple processor systems, or a coprocessor. Such auxiliary processors may be discrete processors or may be integrated with the processor 752.
The processor 752 is preferably connected to a communication bus 754. The communication bus 754 may include a data channel for facilitating information transfer between storage and other peripheral components of the computer system 750. The communication bus 754 further may provide a set of signals used for communication with the processor 752, including a data bus, address bus, and control bus (not shown). The communication bus 754 may comprise any standard or non-standard bus architecture such as, for example, bus architectures compliant with industry standard architecture ("ISA"), extended industry standard architecture ("EISA"), Micro Channel Architecture ("MCA"), peripheral component interconnect ("PCI") local bus, mini PCI express, or standards promulgated by the Institute of Electrical and Electronics Engineers ("IEEE") including IEEE 488 general-purpose interface bus ("GPIB"), IEEE 696/5-100, and the like.
Computer system 750 preferably includes a main memory 756 and may also include a secondary memory 758. The main memory 756 provides storage of instructions and data for programs executing on the processor 752. The main memory 756 is typically semiconductor-based memory such as dynamic random access memory ("DRAM") and/or static random access memory ("SRAM"). Other semiconductor-based memory types include, for example, synchronous dynamic random access memory ("SDRAM"), Rambus dynamic random access memory ("RDRAM"), ferroelectric random access memory ("FRAM"), and the like, including read only memory ("ROM").
The secondary memory 758 may optionally include a hard disk drive 760 and/or a removable storage drive 762, for example a floppy disk drive, a magnetic tape drive, a compact disc ("CD") drive, a digital versatile disc ("DVD") drive, etc. The removable storage drive 762 reads from and/or writes to a removable storage medium 764 in a well-known manner. Removable storage medium 764 may be, for example, a floppy disk, magnetic tape, CD, DVD, memory stick, USB memory device, etc.
The removable storage medium 764 is preferably a computer readable medium having stored thereon computer executable code (i.e., software) and/or data. The computer software or data stored on the removable storage medium 764 is read into the computer system 750 as electrical communication signals 778.
In alternative embodiments, secondary memory 758 may include other similar means for allowing computer programs or other data or instructions to be loaded into the computer system 750. Such means may include, for example, an external storage medium 772 and an interface 770. Examples of external storage medium 772 may include an external hard disk drive or an external optical drive, or and external magneto-optical drive.
Other examples of secondary memory 758 may include semiconductor-based memory such as programmable read-only memory ("PROM"), erasable programmable read-only memory ("EPROM"), electrically erasable read-only memory ("EEPROM"), or flash memory. Also included are any other removable storage units 772 and interfaces 770, which allow software and data to be transferred from the removable storage unit 772 to the computer system 750.
Computer system 750 may also include a communication interface 774. The communication interface 774 allows software and data to be transferred between computer system 750 and external devices (e.g. printers), networks, or information sources. For example, computer software or executable code may be transferred to computer system 750 from a network server via communication interface 774. Examples of communication interface 774 include a modem, a network interface card ("NIC"), a communications port, a PCMCIA slot and card, an infrared interface, and an IEEE 1394 fire-wire, just to name a few.
Communication interface 774 preferably implements industry promulgated protocol standards, such as Ethernet IEEE 802 standards, Fiber Channel, digital subscriber line ("DSL"), asynchronous digital subscriber line ("ADSL"), frame relay, asynchronous transfer mode ("ATM"), integrated digital services network ("ISDN"), personal communications services ("PCS"), transmission control protocol/Internet protocol ("TCP/IP"), serial line Internet protocol/point to point protocol ("SLIP/PPP"), and so on, but may also implement customized or non-standard interface protocols as well.
Software and data transferred via communication interface 774 are generally in the form of electrical communication signals 778. These signals 778 are preferably provided to communication interface 774 via a communication channel 776. Communication channel 776 carries signals 778 and can be implemented using a variety of wired or wireless communication means including wire or cable, fiber optics, conventional phone line, cellular phone link, satellite link, wireless data communication link, radio frequency (RF) link, or infrared link, just to name a few.
Computer executable code (i.e., computer programs or software) is stored in the main memory 756 and/or the secondary memory 758. Computer programs can also be received via communication interface 774 and stored in the main memory 756 and/or the secondary memory 758. Such computer programs, when executed, enable the computer system 750 to perform the various functions of the present invention as previously described.
In this description, the term "computer readable medium" is used to refer to any media used to provide computer executable code (e.g., software and computer programs) to the computer system 750. Examples of these media include main memory 756, secondary memory 758 (including hard disk drive 760, removable storage medium 764, and external storage medium 772), and any peripheral device communicatively coupled with communication interface 774 (including a network information server or other network device). These computer readable mediums are means for providing executable code, programming instructions, and software to the computer system 750.
In an embodiment that is implemented using software, the software may be stored on a computer readable medium and loaded into computer system 750 by way of removable storage drive 762, interface 770, or communication interface 774. In such an embodiment, the software is loaded into the computer system 750 in the form of electrical communication signals 778. The software, when executed by the processor 752, preferably causes the processor 752 to perform the inventive features and functions to be described hereinbelow.
Various embodiments may also be implemented primarily in hardware using, for example, components such as application specific integrated circuits ("ASICs"), or field programmable gate arrays ("FPGAs"). Implementation of a hardware state machine capable of performing the functions described herein will also be apparent to those skilled in the relevant art. Various embodiments may also be implemented using a combination of both hardware and software.
Furthermore, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and method steps described in connection with the above described figures and the embodiments disclosed herein can often be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention. In addition, the grouping of functions within a module, block, circuit or step is for ease of description. Specific functions or steps can be moved from one module, block or circuit to another without departing from the invention.
Moreover, the various illustrative logical blocks, modules, and methods described in connection with the embodiments disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor ("DSP"), an ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be any processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
Additionally, the steps of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium including a network storage medium. An exemplary storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can also reside in an ASIC.
FIG. 4 is a block diagram of a conventional wireless communications device 650 suitable for communicating between the event detector 30A of FIG. 2 and a remote base unit. For example, the wireless communication device 650 may be used in conjunction with an event detector previously described with respect to FIGS. 1 and 2, or an evaluation server, analysis station, counseling station, or supervisor station previously described in the Prior Applications. However, other wireless communication devices and/or architectures may also be used, as will be clear to those skilled in the art.
In the illustrated embodiment, wireless communication device 650 comprises an antenna 652, a multiplexor 654, a low noise amplifier ("LNA") 656, a power amplifier ("PA") 658, a modulation/demodulation circuit 660, a baseband processor 662, a speaker 664, a microphone 666, a central processing unit ("CPU") 668, a data storage area 670, and a hardware interface 672. In the wireless communication device 652, radio frequency ("RF") signals are transmitted and received by antenna 652. Multiplexor 654 acts as a switch method to couple two or more transmit and receive paths to two or more antennae paths, coupling antenna 652 between the transmit and receive signal paths. In the receive path, received RF signals are coupled from a multiplexor 654 to LNA 656. LNA 656 amplifies the received RF signal and couples the amplified signal to a demodulation portion of the modulation circuit 660.
Typically modulation circuit 660 will combine a demodulator and modulator in one integrated circuit ("IC"). The demodulator and modulator can also be separate components. The demodulator strips away the RF carrier signal leaving a base-band receive audio/data signal, which is sent from the demodulator output to the base-band processor 662.
If the base-band receive audio signal contains audio information (or really any data in the digital domain), then base-band processor 662 decodes the signal and converts it to an analog signal. Then the signal is amplified and sent to the speaker 664. The base-band processor 662 also receives analog audio signals from the microphone 666. These analog audio signals are converted to digital signals and encoded by the base-band processor 662. The base-band processor 662 also codes the digital signals for transmission and generates a base-band transmit audio signal that is routed to the modulator portion of modulation circuit 660. The modulator mixes the base-band transmit audio signal with an RF carrier signal generating an RF transmit signal that is routed to the power amplifier 658. The power amplifier 658 amplifies the RF transmit signal and routes it to the multiplexor 654 where the signal is switched to the antenna port for transmission by antenna 652.
The baseband processor 662 is also communicatively coupled with the central processing unit 668. The central processing unit 668 has access to a data storage area 670. The central processing unit 668 is preferably configured to execute instructions (i.e., computer programs or software) that can be stored in the data storage area 670. Computer programs can also be received from the baseband processor 662 and stored in the data storage area 670 or executed upon receipt. Such computer programs, when executed, enable the wireless communication device 650 to perform the various functions of the present invention as previously described.
In this description, the term "computer readable medium" is used to refer to any media used to provide executable instructions (e.g., software and computer programs) to the wireless communication device 650 for execution by the central processing unit 668. Examples of these media include the data storage area 670, microphone 666 (via the baseband processor 662), antenna 652 (also via the baseband processor 662), and hardware interface 672. These computer readable mediums are means for providing executable code, programming instructions, and software to the wireless communication device 650. The executable code, programming instructions, and software, when executed by the central processing unit 668, preferably cause the central processing unit 668 to perform the inventive features and functions previously described herein. It should be noted that the firmware used by the device 650 (or CPU 668) can be replaced/modified/upgraded via wired or wireless network transfer.
The central processing unit is also preferably configured to receive notifications from the hardware interface 672 when new devices are detected by the hardware interface. Hardware interface 672 can be a combination electromechanical detector with controlling software that communicates with the CPU 668 and interacts with new devices. FIG. 5 depicts how the system of the present invention handles the data from the different sensor devices.
FIG. 5 is a block diagram depicting exemplary inputs to the event detector 30A of FIGS. 1 and 2, and the potential response results and destinations for detected events. The communications with an external evaluation server is extensively discussed in the Parent Applications, and is therefore not reproduced there, but is rather incorporated herein by reference.
As shown, event capture devices 20 (including inputs from the OBD and other vehicle equipment) can generate captured event data for velocity, acceleration (linear), pitch, roll, yaw. Center of gravity and CG offset may also be used. Vehicle orientation relative to compass heading, as well as vehicle location may be included in event data. Finally, audio, video and metadata (including driver ID) will likely be included.
The captured data 29 may be filtered by a real-time tunable raw data filter 31 before it is analyzed by the event detector 30A to determine whether or not a driving event of note has occurred. The criteria for making a type of driving event of note could be user-defined for their particular reason; such events of note may or may not otherwise be considered to be risky driving events, but are otherwise of interest to the user.
As discussed above in connection with FIG. 2, different types of sensor data 29 will be handled in different manners by the present system. For the purpose of clarity, we have here divided the sensor data 29 into two groups of data: regularly uploaded data 54 and selectively uploaded data 52. The idea is that primarily the less bandwidth-demanding data is regularly uploaded to the remote server from the vehicle. The higher bandwidth data would be retained aboard the vehicle until it is manually requested, automatically identified as being "of interest", or for periodic record-keeping purposes (which very well may be accomplished via wired or wireless connection while the vehicle is under a maintenance status).
Here, the video and audio data and telemetry data have been included within the selectively uploaded data 52. As mentioned above, the expectation would be that this data would not normally be included in the regular wireless data flow from the event detector 30A to the remote server unless certain conditions are met. Since the audio and particularly the video data demands large bandwidth for transfer, the data of these streams would generally be stored locally. Driver ID is also included within the selectively uploaded data 52, since the objective evidence of the driver's identity (such as a video clip) may not be obtained until commanded as such by the event detector 30A (such as right after the local event scoring module 140 (see FIG. 2) determines that an event of interest has transpired. At that point, any remote user receiving the video and audio data would most likely be very interested in confirming the identity of the driver (since the goal would be to transfer the data 52 when there is a vehicular crash or near miss).
One factor that might be used to determine whether or not an "event of interest" has transpired is related to the nature of the forces (i.e. of the accelerometer) being sensed. Certain forces (e.g. shock) have been identified as being automatically "of interest," even without any real onboard analysis of the entire set of data streams being analyzed.
The regularly uploaded data 54 is handled as discussed in the prior applications, that is, initial filtering 31 may be performed on the data in order to reduce false event occurrences. The event detector 30A will convey the regularly uploaded data 54 as described in the Parent Applications (incorporated herein by reference) and identified as the prior data output options 41 (summarized below in connection with FIG. 6).
If activated, the local event scoring module 140 (see FIG. 2) will conduct local analysis 56 of the regularly uploaded data 54 in order to calculate a local event score. If the local event score so determines, the selectively uploaded event data 52 will be transmitted to remote storage 34 (at the remote server) for display/review/analysis (e.g. scoring) remote to the vehicle.
A remote request 58 (from a remote user or system) will also trigger the data 52 to be uploaded to remote storage 34 for remote display and analysis 36A. As should be apparent, those transfer paths responsive to the local analysis 56 or remote request 58 are identified by dashed lines.
It should be understood that the depicted classifications of data as being part of the "selectively uploaded" data 52 versus the "regularly uploaded" data 54 is only one possible arrangement. In other forms, and when certain system settings are chosen, the system (either the local system aboard the vehicle or the remote server) may send one or more designated persons a message (email, SMS, etc.) that will include a brief alert message that there has been an "incident" in a vehicle (or more than one vehicle). The user may then be able to select a "hyperlink" that will act as a user request to download the selected data from the system (either the vehicle or the central remote server or related assemblies). The data being downloaded in response to the user request would normally be video and/or audio data, but it could also include other data points or data streams, such as vehicle location coordinates (e.g. via GPS), incident type or classification (e.g. "crash," "vehicle flipover," "excessive speed," etc.).
Furthermore, the user's request after being alerted of the incident may either be serviced by the remote server system, or by the vehicle-borne system. As such, the selectively uploaded data 52 may not be uploaded to the server until after a user has requested it. Also, the alert message to the user (which usually would not include any large bandwidth, selectively uploaded data 52) may have more than one data upload option. For example, the user may be given the options of (a) uploading a short video clip including vehicle GPS location and speed; (b) uploading actively streaming video and audio directly from the vehicle; or (c) uploading current video/audio data plus similar data from some period of time prior to the incident having occurred.
If neither the local analysis 56 or remote request 58 is received by the event detector 30A, then the data 52 will be handled according to the prior data output options as more fully described below in connection with FIG. 6.
FIG. 6 is a block diagram of the prior data output options 41 available to the event detector 30A (see FIG. 5). As events are detected by the event detector 30A (see FIG. 5), captured event data can be output in accordance with a number of options 41, including placement in a local storage repository 35. Transmission to a remote storage repository 34 may also occur, either automatically, or in response to user request. Furthermore, there may be a blend of local storage and partial transmission to remote storage 34. Remote analysis 36 can be conducted on remotely stored data as desired by the system custodian or other authorized individuals. Of course, it is also expected that a certain quantity of data that is initially stored locally and/or remotely will ultimately be deleted 32 in order to conserve space in the respective data repositories. A remote archive data repository 38 is a potential destination for some of the data initially held in the local or remote data repositories 35, 34. These storage options 41 are operationally distinct from those discussed above in connection with FIG. 5, but they generally will use the identical hardware--these two drawing figures are organized as shown in order to highlight the operational distinctions between the handling of the selectively uploaded data 52 and the regularly uploaded data 54 (see FIG. 5). Now turning to FIG. 7, we can examine the method that the system of the present invention executes.
FIG. 7 is a block diagram depicting the preferred steps of the selectively automatic event scoring method 50 of the present invention. The sensor data 20 is received by the event detector 30A (potentially after filtration of the raw data). This data is buffered and stored for more prolonged periods in local storage 35 aboard the vehicle.
If a remote ("go-get") request is received by the event detector 30A, the requested data will be uploaded from the event detector 30A to the remote server for storage/analysis/display 104. Similarly, if local auto scoring 106 is activated, the system will generate a local event score 108. That local event score is then compared to a series of previously stored event score values (typically in a database) 110, to generate an automatic determination of whether or not a serious driving event (e.g. a vehicular crash) has occurred 112. If the local event scoring module 140 (see FIG. 2) determines that a serious event has occurred, then the selectively-uploaded data 52 (see FIG. 5) is uploaded to the remote server 104. As discussed above, if there is no remote request or local score-triggered upload, the data will be handled according to prior data output options 102.
Those skilled in the art will appreciate that various adaptations and modifications of the just-described preferred embodiment can be configured without departing from the scope and spirit of the invention. Therefore, it is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein.
Patent applications by Bryon Cook, San Diego, CA US
Patent applications by Louis Gilles, San Diego, CA US
Patent applications by Peter Ellegaard, San Diego, CA US
Patent applications in class Plural processors or external processor
Patent applications in all subclasses Plural processors or external processor