Memory management in event recording systems

Information

  • Patent Grant
  • 9911253
  • Patent Number
    9,911,253
  • Date Filed
    Monday, December 28, 2015
    8 years ago
  • Date Issued
    Tuesday, March 6, 2018
    6 years ago
Abstract
A vehicle event recorder is provided that includes a camera for capturing a video as discrete image frames, and that further includes a managed loop memory and a management system for generating a virtual ‘timeline dilation’ effect. To overcome size limits in the buffer memory of the video event recorder, the maximum time extension of a video series is increased by enabling a reduction in temporal resolution in exchange for an increase in the temporal extension. Memory cells are overwritten in an ‘interleaved’ fashion to produce a reduced frame rate for the recording of certain time periods connected to an event moment. In time periods furthest from the event moment, the resulting frame rate is minimized while in time periods closest to the event moment, the resulting frame rate is maximized.
Description
FIELD OF THE INVENTION

The following invention relates to electronic storage of data. More particularly, the present invention relates to systems and methods for memory allocation and writing in devices recording vehicle events.


BACKGROUND OF THE INVENTION

Video recording systems are commonly used to monitor places where it may be desirable to monitor security levels. For example, in a security zone, breaches of security may be recorded if video monitors area arranged around the space to be monitored. When an incident occurs, a video record of the related activity is available from the recording system.


During periods when no breaches of security occur, a considerable amount of data is still generated by the video recording system, which has little or no value. Thus, such data can be readily discarded without loss. The act of ‘discarding’ data amounts to merely rewriting new data over old recorded data. Indeed, most video security systems are arranged with a recording medium that is reused continuously.


When a video camera generates an amount of image data sufficient to fully consume the available memory, newly collected data is recorded at the beginning of the memory. Therefore, the act of writing newly acquired data causes old data to be discarded; that is, the old data is lost to the ‘write’ operation of the newly collected data.


In old videotape systems, this is sometimes called a ‘round robin’ arrangement. A memory medium fashioned as a tape in a continuous loop provides data storage for those video security systems. In such systems the tape has no end and no-beginning, but instead the tape continuously passes by a recording head where new images are written to the tape and at the same time old images are discarded.


When an incident of interest occurs, the tape may be stopped to prevent loss of data which relates to the relevant incident. The related images may be recovered from the tape and transferred to a permanent medium, while the tape is returned to the video system for further recording. Such re-use of memory is well known in the prior art.


In a round-robin scheme, the data that is overwritten, or discarded, is the data which came into the system earliest, or was ‘first in’ the system. This arrangement is sometimes referred to as “first-in, first overwritten,” which is analogous to the “first-in, first-out” arrangement in electronic buffer systems. In both cases, we will refer to this method as FIFO.


A FIFO base system is generally a very good system for buffer management, because the oldest data in a buffer is typically the least valuable. Therefore, the oldest data, or the least valuable data, may be discarded without regard for its loss. However, in buffer systems the earliest received data, or the ‘first-in’ data, may not always be the least valuable data. In some instances it may be advisable not to overwrite the oldest data, but rather to provide an overwrite scheme which preserves certain portions of interest of the oldest data.


With specific reference to the monitoring of vehicle activities, vehicle event recorders are video recorder systems mounted within the vehicle to provide a video record related to the environment surrounding a vehicle during its operation. These systems are known in the art and are employed, for example, in conjunction with police activity. Many police departments in the United States are equipped with vehicle event recorders, which capture activity, sometimes criminal, occurring in the proximity of a police vehicle.


The application of vehicle event recorders is not limited to police vehicles. More and more commercial vehicles are now equipped with systems that record activity associated with the use of the vehicle and within the environments in which the vehicle is used. These systems are particularly advantageous with fleet vehicles that are subject to heavy professional use and frequent incidents, including traffic accidents, theft, and vandalism, among others. With a video record, vehicle fleet managers are better equipped to manage and control costs associated with operations of large vehicle fleets. Safety is improved, driver performance is improved, a better understanding of accidents is achieved, and other benefits are derived from the use of vehicle recorder systems.


Vehicle recorder systems are described, for example, in U.S. Pat. Nos. 6,389,340, 6,405,112, 6,449,540, and 6,718,239, all to Rayner. In general, these inventions relate to a small device mounted on the vehicle rearview mirror to capture video images of traffic incidents ahead of the vehicle.


In particular, the '112 patent discloses a system that includes a vehicle operator performance monitor, which records a video of the vehicle operator, and which may be used to determine how the operator's actions affect use of the vehicle.


The '540 patent instead is an event recorder mounted in a vehicle, which includes one or more wave pattern detectors for detection and recognition of a predetermined wave produced outside the vehicle, and for producing a trigger signal denoting the presence of the predetermined wave. In particular, a detective wave is a wave of the type produced by a police or fire department emergency vehicle. Detection of this wave triggers a capture function which stores video images a long-term storage memory.


The '329 patent includes a video recorder system having a one-way hash function to perform a validation function. This way, the integrity of the recorded video data can be protected.


Finally, the '340 patent teaches a recording system having a certain relationship between two different types of memory. A first memory is arranged to store video for the short-term and to transfer some of that stored video in response to a trigger event. Data from this short term memory is transferred to a more durable and long term memory, and the short term memory is continuously overwritten in a scheme described by Rayner as “first-in, first-overwritten”. This way, Rayner teaches the coupling of a high-speed, high-performance volatile semiconductor memory with a flashlight memory good for long-term storage of large amounts of data even when power is removed. As will be described in detail later, Rayner's first in first overwritten scheme necessarily creates a loss of important and valuable data.


While systems and inventions in the prior art are designed to achieve particular goals and objectives, these inventions also include limitations which prevent their use in more extended applications, and cannot be used to realize the advantages and objectives of the inventions taught hereinafter.


SUMMARY OF THE INVENTION

It is an object of the present invention to provide high-performance memory allocation systems for vehicle event recorders.


It also is an object of the present invention to provide for set memory allowances and for extended recording periods.


It is a further object to provide memory overwrite schemes that provide a time dilation on either end of a recording period.


These and other objects of the present invention are accomplished by apparatus and methods for allocating memory in vehicle event recording systems that provide improved memory allocation and writing schemes to preserve data over extended time periods, thereby improving prior art devices and methods that cannot record events over a large time range when equipped with a memory of a predetermined size.


One difference between memory allocation of the present invention and the prior art can be seen in relation to time dilation, which may be applied on the extremities of discrete capture periods. In one embodiment, a memory of limited size is subject to an advanced managed loop memory allocation scheme and the rate of storage frame is adjusted throughout a predetermined capture time period. At the extremities of a time period, a frame capture process is subject to a reduced frame rate. In the proximity to an event of interest, or an ‘event moment’, the frame rate-is increased to improve detail around that particular time, enabling a greater temporal range at the expense of temporal resolution. Losses in temporal resolution are however pushed away from the event moment and allocated to the extremities of the capture time period.


An overwrite scheme selects which frames are expired and subject to being discarded. At any random moment, video is continuously captured at a maximum frame rate. However, these frames are not stored into memory in a conventional first-in, first overwritten manner, but rather, these frames are added to the memory locations which are determined to be available in accordance with the overwrite scheme. Therefore, the oldest frames are not necessarily those that are overwritten. Quite to the contrary, an overwrite action may be applied to a frame which is newer than at least one other frame stored in the memory.


As a result, newly acquired frames are placed into memory in processes which necessarily cause older frames to be discarded. However, the newly captured frames are written to memory positions in an ‘interleaved’ fashion, whereby some of older frames are preserved. When a capture event occurs, data in the memory may be transferred to a more permanent storage. When data is transferred, a timeline is reconstructed. The recorded timeline is unique in that it contains various frame rates over the capture period. At both the beginning and at the end of the capture period, the frame rate is modest. At the point of greatest interest in the capture period, the frame rate is the highest. This throttling of frame rate provides for a memory of given size to accommodate a timeline of greater temporal extent.





BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects and advantages of the present inventions will become better understood upon consideration of the following description, taken in conjunction with the accompanying drawings, in which:



FIG. 1 is a timeline illustration in conjunction with a graphic that illustrates a plurality of memory bin units;



FIG. 2 is a timeline illustration and memory graphic illustrating an overwrite operation;



FIG. 3 illustrates the overwrite operation in conjunction with a trigger event;



FIG. 4 illustrates particular memory bins with various levels of importance associated therewith;



FIG. 5 illustrates an advanced overwrite scheme to protect certain ‘high-value’ video frames;



FIG. 6 further illustrates this overwrite scheme near the end of memory space;



FIG. 7 illustrates memory allocation with pointers to memory bins to be saved and pointers to those bins to be erased;



FIG. 8 illustrates four alternative timeline illustration in different embodiments of the invention;



FIG. 9 is a block diagram of one embodiment of the invention;



FIG. 10 is a block diagram representing an embodiment of a methods for memory management; and



FIG. 11 is a more detailed block diagram of the method of FIG. 10.





DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to apparatus and methods are provided for overwriting memory in vehicle event recorder systems. Embodiments are described hereinafter, that are constructed in accordance with the principles of the present invention, In order to facilitate the understanding of the described embodiments, definitions are provided for terms that may not be readily available in popular dictionaries.


Vehicle Event Recorders: Video image recording systems which are responsive to triggers indicative of some event of interest.


Time Dilation: An expansion of a video sequence timeline by way of frame rate manipulation.


Trigger: Electronic means for setting some instant in time associated with a particular event of interest and further for causing initiation of some associative processes.


Expanded Timeline Definition: A prescribed set of rules which sets forth and defines a timeline associated with a video frames sequence having more than one frame rate associated with any particular portion of the timeline.


Overwrite Manager: A computer module determining, in accordance with an expanded timeline definition, which data recorded in memory and associated with a particular video frame is to be discarded and may be overwritten with data from a newly collected video frame.


Video event recorder systems are typically built around and deployed with memories of limited sizes, in order to contain cost. While mass storage and mass storage management may be included in such devices, for example, a computer-type hard drive, these types of components remains quite expensive, causing overall systems to double in cost if such memories were included. Instead, a ‘lightweight’ memory solution is envisioned in the present invention, in which an abbreviated memory or memory buffer is used to temporarily store information collected during a predetermined time of service, for example a day, of a vehicle equipped with this type of video event recorder. Upon return to base, a vehicle may transfer the information collected to a different memory for management and analysis. Accordingly, the present invention makes it possible to equip vehicles with video event recorders having very inexpensive cameras and memory.


Memories of such video event recording systems are preferably handled in the following manner. A memory system is divided into two portions: a fast, managed loop memory buffer, and a temporary mass storage memory.


Video continuously received from a video camera may be put into the fast memory buffer. However, the amount of data generated by a video system is quite extensive and most of the time totally uninteresting, but certain portions of the video may become of great interest. For example, when a vehicle is involved in a traffic accident, the captured video may yield important clues as to fault, cause, identity, and response, among others. In this event, it is important to preserve video data associated with these select video capture periods.


To this end, a trigger is arranged, whereby the occurrence of some incident of interest, such as an automobile accident, causes data stored in the memory buffer to be transferred to a more permanent memory facility. Old data in the memory buffer is continuously overwritten by new data received from the video camera in real-time. In common and simplistic versions, this step is performed in a “first-in, first-overwritten” manner.


Because the memory buffer is limited in its capacity to store video frames, “first in first overwritten” schemes provide a timeline of limited extent. For example, at a frame rate of four frames per second, a given memory buffer may be suitable for storing 30 seconds of video frame data, or a 30 second video timeline. In ‘first-in, first overwritten’ schemes, this timeline may be arranged as 15 seconds of continuous video before a trigger event and 15 seconds of continuous video after a trigger event.


However, a continuous frame rate throughout the entire event capture period need not be maintained. It is possible to have a modest frame rate at times associated with the capture period extremities, and a high frame rate during periods around an event trigger. Therefore, the storage frame rate may be adjusted throughout a prescribed capture time period, allowing for an extended temporal range. Instead of a 30 second timeline, is entirely possible to have a 48 second timeline for the same memory. Such a timeline may be embodied as 12 seconds of video at a frame rate of one frame per second for the periods of time furthest apart from the event trigger, both before and after. In addition, the video sequence may include video for 24 continuous seconds, 12 seconds before and 12 seconds after an event trigger, at a video frame rate of four frames per second. This way, the temporal range is extended but the temporal resolution is compromised in the time periods furthest from the trigger event.


To create such a managed loop memory buffer management system, an overwrite scheme is provided to select which frames are ‘expired’ and no longer part of the particular extended timeline scheme. It should be remembered that video is continuously captured at all times, and that video is captured at the maximum frame rate, because it is not known in advance when an event trigger will occur. Accordingly, the system always captures video at the maximum frame rate as the capture frame rate cannot be adjusted in view of any event trigger which may come in the future.


Video captured at the maximum frame rate is put into the memory and as it is put in the memory it displaces previously recorded video frames. These frames are added to the memory locations determined to be available in accordance with a prescribed overwrite scheme such as the one mentioned above. However, this step is provided differently from a first in first overwritten scheme. In the presently described embodiment, most frames being overwritten are actually newer than at least one other frame stored elsewhere in the memory buffer. Newly captured frames are written to memory positions in a pseudo-‘interleaved’ fashion while some of older frames are preserved.


When a trigger event occurs, data in memory is transferred from the memory buffer to a memory of more permanent nature. When such data is transferred, an expanded timeline is reconstructed as a timeline having at least two frame rates. At the extremities of the capture period timeline, the frame rate is reduced. At and about the point of greatest interest (trigger event) the frame rate is maximized during the capture period. This ‘throttling’ of frame rate provides for a memory of preset size to accommodate a timeline of greater temporal extent, although in some places resolution may be reduced.


Referring now to FIG. 1, a first timeline is shown that is associated with a memory system divided into a plurality of memory bins. For exemplary purposes, some arbitrary numbers for memory size, number of bins, video frame rates, etcetera, have been selected. It is to be understood that these are not necessarily preferred values, but values selected to promote an understanding of the example provided.


The memory related to FIG. 1 is a high-speed, high-performance memory of limited extent, and is arranged as a buffer. This memory communicates with incoming video data recorded by a video camera, and its output is directed to another means for data storage means, such as a memory system having a greater capacity but lower speed, for example a semiconductor DRAM type memory. Alternatively, the memory of FIG. 1 may be a non-volatile, high-performance memory based on ferromagnetic principles, which can respond in real-time to video collected by a video camera, but is of limited size and not suitable for saving the mass amounts of data generated by video image systems.


In general, the memory of FIG. 1 may be limited to a few megabytes and may temporarily hold a limited number of video frames, which may or may not be transferred to a more permanent memory in a transfer operation. In particular, the memory may be divided into 120 bins, with each bin be sufficient for storing the data associated with a single video frame.


A timeline 1 is associated timeline 1 with this memory, and is comprised of a 30 second time interval. The timeline is marked in the Figure from 0 to 30. A one second interval 2 is illustrated at the beginning of the timeline. Further, that one second interval is divided into quadrants, representing a quarter of a second interval 3. For the video systems of immediate interest, his quarter of a second interval nicely accommodates a single video frame (implicitly setting a frame rate of four frames per second). While most modern video systems have far higher performance than recording four frames per second, four frames per second is a useful rate for vehicle recorder systems, which tend to have limited memories in the interest of maintaining a low cost. Further, the kinds of events being recorded in vehicle recorder systems are appropriately captured with frame rates of a few frames per second.


When video images are captured by a camera, frame-by-frame, each frame images can be recorded into a memory bin 4. A first frame is recorded and put into a first memory bin. Thereafter, a quarter of second later, a second frame is recorded and put into an another memory bin, for example, an adjacent bin. This frame-by-frame recording scheme may continue for up to 30 seconds before all memory bins becomes full and the supply of empty bins is exhausted. In FIG. 1, the first 116 memory bins are shaded to indicate that one frame each of video data has been written to those bins. This is equivalent to recording of a video signal 5 of four frames per second for 29 seconds. FIG. 1 also illustrates four empty memory bins 6, which would be filled in the next second of video recording. Because the recording of video images in this manner is known in the art, Figure a is labeled as prior art.



FIG. 2 illustrates a similar timeline 21 in conjunction with a graphical illustration of a memory having 120 memory bins. As in FIG. 1, a time interval equivalent to one second 22 as well as a time interval of one quarter second 23 is illustrated for reference. The graphical depiction of the memory includes lightly shaded areas 24 and 25. The memory bins presented as 24 represent those bins having data written thereto from a video which was collected from a time t=14 up to a time t=30. The demarcation indicated as dotted line 26 indicates time t=14. At time t=30, the memory is completely full. Video data collected for 30 seconds at four frames per second fills 120 memory bins. The video data collected at time t=31 cannot be saved to memory unless a portion of the memory already allocated and consumed in a previous data write step is overwritten. Thus, in the graphic of FIG. 2, memory bins indicated by 25 on a second line represent-that video frame data that is recorded in these memory bins at the expense of data captured 30 seconds prior. Accordingly, for the time period indicated, i.e. video data collected from t=0 to t=14, that video data is lost to an overwrite step. In FIG. 2, those bins shaded dark are indicated as 27, representing the over-written bins. This illustrates the so-called ‘round-robin’ or ‘first-in, first-overwritten’ FIFO memory management schemes. Since these schemes are also known in the art, FIG. 2 is also labeled as prior art.


The FIFO memory management scheme is very useful. When a new video frame is collected by the video camera, it is placed into memory at the same location as the oldest frame in the memory which is discarded in the overwrite step. Therefore, the FIFO memory management scheme implies that the oldest video information in the memory is the least valuable.


The memory described is a buffer memory, that is, this memory temporarily holds the data of a video series for some specified time, but also continuously discards previously recorded information. When the buffer contains a data set associated with an important event, that data is transferred from the buffer memory to a more permanent memory before becoming subject to being lost by overwrite actions. A video series becomes ‘important’ when a detectable event occurs which implicitly indicates video is valuable; for example, if a vehicle is involved in a traffic accident, accelerometers can detect the accident and trigger a transfer of data from the buffer memory to a permanent memory.


In those vehicle event recorder systems, a trigger is sometimes arranged to indicate that such an event has occurred, that is, an event for which the video images associated therewith may be of extreme importance. In this case, the short term buffer memory of 120 video frames should be transferred to a more permanent long-term memory for example, a durable flash type memory.



FIG. 3 is directed at illustrating a timeline which includes an event moment. FIG. 3 includes a timeline 31, and the dashed line 32 to indicate the 29th second along with a marker ‘X’ 33 to indicate a trigger event has occurred at the 29th second. When a trigger event occurs, it is important to preserve the video data which occurred after the accident as well as the video data which occurred before the accident. Video images collected during a time period starting 15 seconds before the accident are in the bins indicated by 34; i.e. those video image frames collected between t=14 and t=29. Memory bins at the end of the time line indicated by 35 include four video frames collected during the first second after the accident. Video image frames collected between t=30 and t 44 are placed in the memory bins indicated by 36. Thus, the memory buffer contains video images for the 15 seconds prior to the accident and the 15 seconds after the accident. Because the memory is of limited size, it can only hold video image data which represents 30 seconds of video recording.


At this point in time, no new frames are recorded to memory; overwrite is prevented, and the memory buffer is “locked”. Rather, the system pauses to transfer data in the buffer memory to a permanent flash memory. After data is successfully transferred to the flash memory, the buffer is “unlocked” and may be used again in the fashion described. As video data which was placed into buffer memory bins between time t=30 and time t=44, it caused older data to be displaced, overwritten and forever destroyed. Data which was recorded between t=0 and t=14 is completely lost and no access is possible any more to this information, which at one time resided in those memory bins, because that information was destroyed in the overwrite step. However, some of this information may be very valuable and, accordingly, it is quite undesirable to lose it entirely; in fact, some of this data may be more important than data which saved in its place.


Since the moments leading to a vehicle accident can explain a great deal about the what actually happened, it is highly desirable to have at least some limited information that relates to the accident scene at t=1, for example. If one can just see one frame at t=1, that may be extremely valuable in explaining what happened in the accident. Therefore, the FIFO scheme may actually destroy critically useful data.


This is also apparent from FIG. 4, which explicitly shows certain bins A-F associated with various points of the timeline 41 and with reference to trigger event 42 time at time t=29. The following discussion further illustrates the importance of bins A-F.


In a FIFO system, all memory bins, indicated by reference numerals 44 and 45, are preserved in the memory buffer. Amongst the oldest recorded video frames remaining are those which reside in memory bins A and B, and which represent two adjacent frames, or frames captured within a quarter of a second from each other. Since these frames represent images very close in time, these frames are expected to be quite similar to each other. While it is sometimes desirable in video systems to have high temporal resolution, i.e. as many frames per second as possible, one will appreciate that at higher frame rates, a frame will contain very similar information as the frame closest thereto. Accordingly, where memory is limited, these adjacent frames lose their importance as most of the information contained in each frame is similarly contained in the adjacent frame. Thus, if we keep frame A and discard frame B, most of the information of frame B can be known by examining frame A.


On the other hand, frames D, E and F, which are discarded in a FIFO system, may actually contain extremely important information. Frame D is separated in time from frame E by one second. In a video scene, there may be considerable differences between one frame captured an entire second later than another frame. Further, frame D occurs a full 29 seconds before the trigger event. In a traffic accident, it can be quite useful to know about what was happening at time periods before and after a trigger moment. Thus, it may be possible in a memory having a finite number of memory bins to trade some of the bins associated with less important time slots for bins associated with time slots having a greater importance. If we discard frame B, and preserve frame D, we may gain a greater overall understanding of the incident being recorded. In effect, we can trade some time resolution (frame rate) at t=15, for improved overall temporal range to realize an extended timeline.


One skilled in the art will notice that if video data associated with a frame rate of one frame per second was preserved, in seconds 1-12, then 36 memory bins into would remain available, which would accommodate newly captured video data. Thus, rather than completely overriding the oldest video data in memory, one can perform an overwrite action on 3 of every 4 memory bins in the overwrite portion of the timeline, thereby maintaining ¼th of the oldest video data in those memory bins. That is to say, for the oldest video data in memory, it may be useful to save one frame per second. To this end, when the overwrite operation is executed, new data is written to three memory bins, before one bin is skipped, and the process is repeated.


Timeline 51 includes a trigger event 52 at time t=29. In one overwrite scheme of interest, it is required that a timeline be comprised of 12 seconds of low temporal resolution, 24 seconds full temporal resolution and a further 12 seconds of low temporal resolution. This is further defined in detail as: a 12 second period of one frame per second video, a 24 second period of four frames per second video, and finally a 12 second period of one frame per second; for a total video sequence of 48 seconds. Since it cannot be known at what time in the future an event trigger will occur, a data overwrite scheme must preserve data associated with various frames, of which a prescribed timeline is comprised. In the present example, continuous video data at a frame rate of four frames per second is preserved for a period of 12 seconds 54 before the trigger event; that data is in memory bins indicated by 53. While in the FIFO system one can preserve data at four frames per second for up to 15 seconds before and after the trigger event, in the system of the present embodiment only 12 seconds of four frames per second data be kept. However, it will be shown that the present embodiment enables the expansion of the total timeline of the video sequence to 48 seconds in contrast to the 30-second timeline of the FIFO system.


In the 31st second, the first overwrite operation begins. Whether or not a trigger has occurred, newly captured video data is written to every three out of four memory bins, leaving the fourth memory bin undisturbed. Therefore, old data is preserved, albeit at one quarter of the frame rate from which it was originally recorded. Video data after the trigger event is recorded in the memory bins 55 at a frame rate of four frames per second. Just because some bins are skipped, the frame rate of video data collected after the trigger event is not necessarily reduced. This is readily understood in consideration of the time point indicated by 57 which indicates the time t=41 seconds, while, without skipping bins, this point in memory would have been time t=45. Careful observation will prove that the bins indicated by 55 will accommodate data at four frames per second for the entire 12 seconds after the event trigger.


After the time point indicated by 57, several memory bins remain available for further overwrite operation before reaching the memory bins which contain data to be preserved in agreement with the timeline definition 12/24/12. At least some of those memory bins up to the position indicated by 54 are available for overwrite. After the full 12 seconds of four frames per second video is recorded, it is desirable to continue recording video data at one frame per second for an additional 12 seconds. Data captured in this period can be stored in memory bins, which are scattered in various locations about the memory buffer. FIG. 6 illustrates on example of such locations.


More particularly, FIG. 6 illustrates memory bin locations which are available for overwrite as the memory approaches its full capacity for the particular schemes presented herein. Once a trigger event occurs, i.e. is set in time, it is possible to compute which video frames must be saved in accordance with the particular timeline definition, and which frames may be discarded. For example, 48 frames at four frames per second may be preserved immediately before the trigger event. In addition, 12 frames at a video rate of one frame per second may be preserved for the time t=5 up to t=17. These frames must be protected from any further overwrite operation, and are marked “must be saved” in FIG. 6. These frames are saved as they are included in the timeline definition.


All frames which precede t=5 are in condition for being discarded. that is, such frame lie outside the time range which is to be preserved. Accordingly, frames indicated for example as 69 have aged sufficiently and are may be erased. These are the frames which originally were preserved in the overwrite operation as skipped frames.


Video frames captured after the trigger event are also saved in the memory. For 12 seconds after the trigger event, t=29 to t=41, video is captured at a rate of four frames per second. Such a video data 65 is put into memory in accordance with the need to save particular frames of the oldest video data. When all video frames from the period t=29 to t=41 are properly recorded, the system continues to record data at the frame rate of one frame per second. This is different from the earlier operation, in which the overwrite action resulted in the preservation of one frame per second.


For the time period 12 seconds after the event trigger up to 24 seconds after the event trigger, data is put into memory at the reduced frame rate of one frame per second. Other frames may be captured by the camera, but are discarded before entering the memory or instantly thereupon. Thus, the frames represented by 67 are put into memory bins which are available in accordance with the “OK to erase” label in the drawing. A person skilled in the art will note that after three of these frames are placed in the memory, the fourth frame 68 cannot be placed into the memory in the same repeating geometric position. That is to say, those memory bins are not available for overwrite. Therefore, video captured after that time must be carefully managed and fit into the available memory bins.



FIG. 7 illustrates the steps taken in the final filling of the remaining memory bins. In timeline 71, event trigger 72 is situated at time t=29. In agreement with this exemplary timeline definition, video captured at a frame rate of four frames per second from t=17 to t=29 is stored in memory, as indicated by 73. Similarly, video captured for a 12 second period at a frame rate of four frames per second from t=29 to t=41 is stored in memory, as shown by reference numeral 74. Finally, video frames captured during a 12 second period from t=42 to t=54 at a frame rate of one frame per second include those particular frames represented as 75, which must be inserted into the memory bins remaining available for overwrite.


Arrows 76 indicate that these frames may be placed in locations near the beginning of the memory, where data had once been stored but is now expired because the trigger event occurs at t=29. Once a trigger event is established, the bins which may be overwritten can be determined according to the particular rules defining the timeline.


The example of FIG. 7 clearly illustrates that careful management of an overwrite scheme enables a memory buffer to dilate a timeline by manipulating which video frames are preserved and which are overwritten. Consequently, temporal resolution is sacrificed to extend temporal range, that is, the frame rate of “saved data” is altered in order to make more space available for video frames captured further in time from the event trigger. Accordingly, the greatest amount of information can be preserved in a memory buffer of the limited size.


While the example of FIG. 7 illustrates where the data may be written in memory, those skilled in the art will note that the physical positions of memory bins may be altered. Therefore, after a timeline definition is set, an algorithm may be developed defining the bins containing data that has expired and thus implicitly defining a bin available for overwrite at any moment time.


While the example presented of FIGS. 5-7 illustrates one possible solution, it should be understood that other arrangements may provide for a time dilation in accordance with the spirit of the present invention, and that specific values may be used that are different from those presented in the above exemplary timeline definition. In another exemplary timeline definition, one might arrange a system whereby two periods of eight seconds are used to capture video of a high frame rate, and two periods of 28 seconds are used to capture data at a low frame rate, thus achieving a total expanded timeline of 72 seconds.


The advantages offered by the above examples do not depend upon the particular values chosen in these examples. One should also recognize that because capturing/saving video at two different frame rates enables a user one to expand the timeline, capturing/saving video at three different frame rates also enables a user to expand the timeline with greater flexibility. Accordingly, the memory may be manages to preserve frames for some time periods at a rate of four frames per second, and in other time periods at a rate of two frames per second, and in still other time periods at a rate of one frame per second. This arrangement provides for very high temporal resolutions for the periods immediately surrounding an accident (trigger event), for medium level resolutions for periods further away from the trigger event, and finally for low temporal resolutions at the extremities of the time range.


In addition, asymmetric timeline definitions are possible, that is, the time periods on either side of the event trigger may not be equal in extent or in number. A timeline definition may be devised that has a long, high resolution period before the event trigger, and a short high resolution period after the event trigger. FIG. 8 illustrates various timeline definitions of interest, and is related to several examples each working equally well within the common concept of timeline dilation. FIG. 8 graphically illustrates a first memory buffer 81, which was discussed in detail in a previous example, and in which there are two frame rates, namely, a high video frame rate of four frames per second and a low video frame rate of one frame per second.


A trigger event 82 occurring at some instant in time implicitly sets the time periods for any particular example, and time period 83 starts immediately after the trigger event and extends for 12 seconds. A second time period 84 extends from the trigger event to 12 seconds prior to the trigger event. In both of these time periods, video is captured and put into the memory buffer at a rate of four frames per second.


The number of shaded memory bins reflects a frame rate of 4 frames per second. Time periods at the extremities of the timeline, periods 85 and 86, are each also configured to be 12 seconds in length. However, since only one frame per second is collected in those time periods, the number of memory bins consumed is considerably smaller, i.e. ¼ of those consumed in the other time periods. This arrangement provides for a total timeline of 48 seconds, and in memory buffers that do not overwrite/store data at variable rates, the same memory size could only accommodate a timeline of 30 seconds. FIFO memories of the same size are restricted to 30 seconds.


A second example presented as 87 in FIG. 8 suggests two high temporal resolution periods of 10 seconds each. In addition, there are two low temporal resolution periods of 20 seconds each. While there is a reduced overall period of high-resolution video data, the total timeline is extended to 60 seconds.


A third example is presented through the memory buffer of graphic 88, and illustrates that an asymmetric timeline definition may also be configured. The two periods with a high rate of video recording need not be the same in extent. In fact, video may be recorded at a high frame rate for a longer period after a trigger event than that in the period immediately preceding the trigger event. In the present example, video is recorded in the memory buffer for 16 seconds after the trigger event, but only for four seconds prior to the trigger event. Accordingly, the total high-resolution time period is the same as in the previous example, 20 seconds, but greatly favors preserving information after the trigger event, at the expense of information preceding the trigger event.


In a fourth example, there are six distinct time periods comprised in the timeline. Two 9 second periods occur symmetrically about an event trigger. In these time periods video may be captured a rate of four frames per second. Two additional periods each of 8 seconds may be used to record/overwrite data at a frame rate of two frames per second. Two additional 8 second periods are provided to store data at a frame rate of one frame per second. One skilled in the art will appreciate that in the timeline of this example, two of the 8 second periods are of different sizes with respect to memory capacity, i.e. greater number of bins, than the other two 8 second periods. This is consistent with the higher frame rate used in two of the 8 second periods.


One skilled in the art will also appreciate the great latitude available for managing a memory buffer of limited capacity to expand a timeline. One skilled in the art will further appreciates that where memory buffers deploy FIFO or ‘round-robin’ strategies for overwrite operations, very important data may be lost. FIFO and ‘round-robin’ strategies discriminate against the oldest data in a memory buffer, and in situations where the oldest data is not the least valuable, FIFO and round-robin systems are inferior to the system of the present invention.


Referring now to FIG. 9, the fundamental elements of apparatus according to the present invention is described. Video camera 91 is operable for collecting optical energy and for converting the image of a scene into electrical signals, suitable for processing by common electronic means such as digital semiconductor memories and processors. In addition, these systems include a trigger mechanism 92.


In one embodiment, a trigger mechanism is the device arranged to provide an electrical signal that indo indicates that a particular video series should be transferred to permanent memory for long-term storage. A trigger may be an accelerometer operable for detecting abrupt changes in speed, for example, speed changes related to a traffic accident. Triggers may be activated by other events such as heavy braking or swerving maneuvers, and may be activated by means other than accelerometers. For example, a user panic button can be used to activate a trigger event.


When the user believes that a video series should be saved, he can hit a panic button to activate one type of trigger. It is not relevant what precisely causes a trigger to be activated, but rather how memory performs once a trigger event has occurred. Overwrite manager 93 is a control module that interfaces with the trigger and a video camera, and also with a buffer memory 94. An overwrite manager includes means where a timeline definition may be set and further means for executing overwrite operations in agreement with the stored timeline definitions. Further, an overwrite manager may additionally integrate with flush-module 95.


When a trigger event occurs, overwrite manager 93 continues to overwrite data to buffer memory 94 in accordance with the timeline definition, by way of an overwrite pointer which is associated with a cell subject to an impending overwrite action. Overwrite manager 93 sends a signal 96 to flush module 95 that cause flush module 95 to copy buffer memory 94 and to transfer the video data set with the prescribed expanded timeline to high-capacity long-term storage 97. Overwrite manager 93 controls the algorithms and the necessary processing components for writing to buffer memory 94 and save selected data while purging redundant data in accordance with a particular expanded timeline definition.



FIGS. 10 and 11 which illustrate the primary steps of methods in accordance with the present invention. In particular, FIG. 10 describe such methods in the most general sense to include step 101, whereby frame data is received from a video camera, and step 102, whereby the newly received data is written over old data stored in the memory buffer according to an expanded timeline definition.



FIG. 11 illustrates these methods in greater detail. Frame data 111 is received from a video camera in a first step. Buffer memory data write step 113 includes sub-step 114, in which the frame is written to a bin marked open. It is important that data be written in the buffer memory in an organized fashion, without disturbing particular data frames, necessary to fill the prescribed expanded timeline definition. Therefore, a bin is marked ‘open’ when it no longer contains frame data necessary for the expanded timeline definition.


In second sub-step 115, a determination is made as to which memory bin contains frame data that is no longer needed in agreement with the timeline definition. This determination made during each cycle. For every new frame entering the buffer memory, another frame becomes no longer necessary at the same instant.


Finally, in third sub-step 116, the bin which contained data that is no longer required is marked ‘open’. In following cycle 112, the next incoming frame is written to the appropriate bin. It is helpful to set a buffer memory pointer to direct the incoming frame to a bin marked ‘open’.


One skilled in the art will appreciate that advanced memory management schemes may be deployed to expand a recorded timeline in memory buffers having limited capacity.


While embodiments of the invention have been described above, it will be apparent to one skilled in the art that various changes and modifications may be made. The appended claims are intended to cover all such changes and modifications that fall within the true spirit and scope of the invention.

Claims
  • 1. A vehicle event recorder system configured to be mounted in a vehicle, the vehicle event recorder system comprising: a camera configured to capture image data, wherein the camera has a field-of-view that includes an environment in and/or around the vehicle, wherein the image data includes a set of consecutive frames of visual information;a buffer memory configured to electronically store information, wherein the information includes the image data;a long-term storage memory configured to store information, wherein the stored information includes a subset of the set of consecutive frames of visual information;one or more sensors configured to generate output signals conveying vehicle information related to a particular vehicle event at a particular time; anda controller configured to: detect the particular vehicle event based on the generated output signals;effectuate storage of the set of consecutive frames of visual information in the buffer memory;determine values of individual frames in the set of consecutive frames, wherein the values of the individual frames decrease with increasing time away from the particular time of the particular vehicle event;facilitate overwriting of the individual frames stored in the buffer memory based on the determined values; andresponsive to detecting the particular vehicle event, transfer information stored in the buffer memory to the long-term storage memory, wherein the transferred information includes frames of visual information for a period of time that begins before the particular vehicle event and lasts until after the particular vehicle event.
  • 2. The vehicle event recorder system of claim 1, wherein the values of the individual frames further decrease based on similarity of the visual information of the individual frames.
  • 3. The vehicle event recorder system of claim 1, wherein the controller is configured such that the individual frame having the lowest determined value is not the oldest frame stored in the buffer memory.
  • 4. The vehicle event recorder system of claim 3, wherein the controller is configured to assign individual value scores to the set of consecutive frames of visual information such that every n-th frame, where n is an integer, is assigned a higher score than frames that immediately precede and immediately follow the n-th frame, which results in a first portion of the frames of visual information stored in the buffer memory having a first higher frame storage rate and a second portion of the frames of visual information stored in the buffer memory having a second lower frame storage rate that is less than or equal to the first higher frame rate divided by n.
  • 5. The vehicle event recorder system of claim 4, wherein the controller is configured such that the second storage density has a variable frame storage rate that corresponds to one or more of the proximity in time to the particular time of the particular vehicle event, a distance traveled by the vehicle, a speed of the vehicle, a pixel difference between consecutive frames of visual information, or a geographic location of the vehicle.
  • 6. The vehicle event recorder system of claim 1, wherein the controller is configured to assign individual value scores to individual frames of visual information stored in the buffer memory based on a pixel difference between consecutive individual frames such that a second individual additional frame that follows a first individual additional frame and has a low pixel difference relative to the first individual additional frame is assigned a low value score and a third individual additional frame that follows the first individual additional frame and has a high pixel difference relative to the first individual additional frame is assigned a high value score.
  • 7. The vehicle event recorder system of claim 1, wherein the controller is configured to assign individual value scores to individual frames of visual information stored in the buffer memory based on one or more of whether the vehicle was moving when the camera captured the individual frames of visual information, whether an operator was present in the vehicle when the camera captured the individual frames of information, a distance traveled by the vehicle, a speed of the vehicle, or a geographic location of the vehicle.
  • 8. The vehicle event recorder system of claim 1, further comprising a flush module configured to facilitate the transfer of the frames of visual information from the buffer memory to the long-term storage memory, the flush module configured to facilitate the transfer of the frames of visual information from the buffer memory, responsive to the detection of the particular vehicle event, at a transfer rate that exceeds a rate at which the frames of visual information are captured by the camera.
  • 9. The vehicle event recorder system of claim 8, wherein the flush module is configured to start the transfer immediately after the detection of the particular vehicle event rather than waiting for all video frames associated with the particular vehicle event to be stored in the buffer memory.
  • 10. The vehicle event recorder system of claim 8, wherein the flush module is configured, responsive to detection of a second vehicle event in temporal proximity to the particular vehicle event, to dynamically extend a duration of the period of time that begins before the particular vehicle event and lasts until after the second vehicle event such that the transferred frames of visual information include frames of visual information for an extended period of time that begins before the particular vehicle event and lasts until after the second vehicle event.
  • 11. A method for storing frames of visual information with a vehicle event recording system, the method comprising: capturing a set of consecutive frames of visual information representing an environment in and/or around a vehicle with a camera of the vehicle event recording system;generating output signals conveying vehicle information related to a particular vehicle event with one or more sensors of the vehicle event recording system;detecting the particular vehicle event based on the generated output signals;effectuating storage of the consecutively captured frames of visual information in a buffer memory of the vehicle event recording system;determining values of individual frames in the set of consecutive frames, wherein the values of the individual frames decreases with increasing time away from the particular time of the particular vehicle event;facilitating overwriting of the individual frames stored in the buffer memory based on the determined values; andresponsive to detecting the particular vehicle event, transferring information stored in the buffer memory to a long-term storage memory, wherein the transferred information includes frames of visual information for a period of time that begins before the particular vehicle event and lasts until after the particular vehicle event.
  • 12. The method of claim 11, wherein the values of the individual frames further decrease based on similarity of the visual information of the individual frames.
  • 13. The method of claim 11, wherein the individual frame having the lowest determined value is not the oldest frame stored in the buffer memory.
  • 14. The method of claim 13, wherein every n-th frame of the consecutively captured frames of visual information, where n is an integer, is assigned a higher score than frames that immediately preceding and immediately following the n-th frame, which results in a first portion of the frames of visual information stored in the buffer memory having a first higher frame storage rate and a second portion of the frames of visual information stored in the buffer memory having a second lower frame storage rate that is less than or equal to the first higher frame rate divided by n.
  • 15. The method of claim 14, wherein the second storage density has a variable frame storage rate that corresponds to one or more of the proximity in time to the time of the particular vehicle event, a distance traveled by the vehicle, a speed of the vehicle, a pixel difference between consecutively captured frames of visual information, or a geographic location of the vehicle.
  • 16. The method of claim 11, wherein individual value scores are assigned to individual frames of visual information stored in the buffer memory based on a pixel difference between consecutive individual frames captured by the camera such that a second individual additional frame that consecutively follows a first individual additional frame and has a low pixel difference relative to the first individual additional frame is assigned a low value score and a third individual additional frame that consecutively follows the first individual additional frame and has a high pixel difference relative to the first individual additional frame is assigned a high value score.
  • 17. The method of claim 11, wherein individual value scores are assigned to individual frames of visual information stored in the buffer memory based on one or more of whether the vehicle was moving when the camera captured the individual frames of visual information, whether an operator was present in the vehicle when the camera captured the individual frames of information, a distance travelled by the vehicle, a speed of the vehicle, or a geographic location of the vehicle.
  • 18. The method of claim 11, further comprising facilitating the transfer of the frames of visual information from the buffer memory, responsive to the detection of the particular vehicle event, at a transfer rate that exceeds a rate at which the frames of visual information are captured by the camera.
  • 19. The method of claim 18, wherein the transfer starts immediately after the detection of the particular vehicle event rather than waiting for all video frames associated with the particular vehicle event to be stored in the buffer memory.
  • 20. The method of claim 18, further comprising, responsive to detection of a second vehicle event in temporal proximity to the particular vehicle event, dynamically extending a duration of the period of time that begins before the particular vehicle event and lasts until after the second vehicle event such that the transferred frames of visual information include frames of visual information for an extended period of time that begins before the particular vehicle event and lasts until after the second vehicle event.
US Referenced Citations (341)
Number Name Date Kind
2943141 Knight Jun 1960 A
3634866 Meyer Jan 1972 A
3781824 Caiati Dec 1973 A
3812287 Lemelson May 1974 A
3885090 Rosenbaum May 1975 A
3992656 Joy Nov 1976 A
4054752 Dennis, Jr. Oct 1977 A
4072850 McGlynn Feb 1978 A
4258421 Juhasz Mar 1981 A
4271358 Schwarz Jun 1981 A
4276609 Patel Jun 1981 A
4280151 Tsunekawa Jul 1981 A
4281354 Conte Jul 1981 A
4401976 Stadelmayr Aug 1983 A
4409670 Herndon Oct 1983 A
4420773 Toyoda Dec 1983 A
4425097 Owens Jan 1984 A
4456931 Toyoda Jun 1984 A
4489351 dAlayer de Costemore dArc Dec 1984 A
4496995 Colles Jan 1985 A
4500868 Tokitsu Feb 1985 A
4528547 Rodney Jul 1985 A
4533962 Decker Aug 1985 A
4558379 Hutter Dec 1985 A
4588267 Pastore May 1986 A
4593313 Nagasaki Jun 1986 A
4621335 Bluish Nov 1986 A
4625210 Sagl Nov 1986 A
4630110 Cotton Dec 1986 A
4632348 Keesling Dec 1986 A
4638289 Zottnik Jan 1987 A
4646241 Ratchford Feb 1987 A
4651143 Yamanaka Mar 1987 A
4671111 Lemelson Jun 1987 A
4718685 Kawabe Jan 1988 A
4754255 Sanders Jun 1988 A
4758888 Lapidot Jul 1988 A
4763745 Eto Aug 1988 A
4785474 Bernstein Nov 1988 A
4789904 Peterson Dec 1988 A
4794566 Richards Dec 1988 A
4804937 Barbiaux Feb 1989 A
4806931 Nelson Feb 1989 A
4807096 Skogler Feb 1989 A
4814896 Heitzman Mar 1989 A
4837628 Sasaki Jun 1989 A
4839631 Tsuji Jun 1989 A
4843463 Michetti Jun 1989 A
4843578 Wade Jun 1989 A
4853856 Hanway Aug 1989 A
4853859 Morita Aug 1989 A
4866616 Takeuchi Sep 1989 A
4876597 Roy Oct 1989 A
4883349 Mittelhauser Nov 1989 A
4896855 Furnish Jan 1990 A
4926331 Windle May 1990 A
4930742 Schofield Jun 1990 A
4936533 Adams Jun 1990 A
4939652 Steiner Jul 1990 A
4942464 Milatz Jul 1990 A
4945244 Castleman Jul 1990 A
4949186 Peterson Aug 1990 A
4980913 Skret Dec 1990 A
4987541 Levente Jan 1991 A
4992943 McCracken Feb 1991 A
4993068 Piosenka Feb 1991 A
4995086 Lilley Feb 1991 A
5012335 Cohodar Apr 1991 A
5027104 Reid Jun 1991 A
5046007 McCrery Sep 1991 A
5050166 Cantoni Sep 1991 A
5056056 Gustin Oct 1991 A
5057820 Markson Oct 1991 A
5096287 Kakinami Mar 1992 A
5100095 Haan Mar 1992 A
5111289 Lucas May 1992 A
5140434 Van Blessinger Aug 1992 A
5140436 Blessinger Aug 1992 A
5140438 Kurahashi Aug 1992 A
5144661 Shamosh Sep 1992 A
5178448 Adams Jan 1993 A
5185700 Bezos Feb 1993 A
5196938 Blessinger Mar 1993 A
5223844 Mansell Jun 1993 A
5224211 Roe Jun 1993 A
5262813 Scharton Nov 1993 A
5283433 Tsien Feb 1994 A
5294978 Katayama Mar 1994 A
5305214 Komatsu Apr 1994 A
5305216 Okura Apr 1994 A
5308247 Dyrdek May 1994 A
5309485 Chao May 1994 A
5311197 Sorden May 1994 A
5321753 Gritton Jun 1994 A
5327288 Wellington Jul 1994 A
5330149 Haan Jul 1994 A
5333759 Deering Aug 1994 A
5343527 Moore Aug 1994 A
5353023 Mitsugi Oct 1994 A
5361326 Aparicio, IV Nov 1994 A
5387926 Bellan Feb 1995 A
5388045 Kamiya Feb 1995 A
5388208 Weingartner Feb 1995 A
5404330 Lee Apr 1995 A
5408330 Squicciarini Apr 1995 A
5422543 Weinberg Jun 1995 A
5430431 Nelson Jul 1995 A
5430432 Camhi Jul 1995 A
5435184 Pineroli Jul 1995 A
5445024 Riley, Jr. Aug 1995 A
5445027 Zorner Aug 1995 A
5446659 Yamawaki Aug 1995 A
5455625 Englander Oct 1995 A
5455716 Suman Oct 1995 A
5465079 Bouchard Nov 1995 A
5473729 Bryant Dec 1995 A
5477141 Nather Dec 1995 A
5495242 Kick Feb 1996 A
5495243 McKenna Feb 1996 A
5497419 Hill Mar 1996 A
5499182 Ousborne Mar 1996 A
5504482 Schreder Apr 1996 A
5513011 Matsumoto Apr 1996 A
5515285 Garrett, Sr. May 1996 A
5519260 Washington May 1996 A
5521633 Nakajima May 1996 A
5523811 Wada Jun 1996 A
5526269 Ishibashi Jun 1996 A
5530420 Tsuchiya Jun 1996 A
5532678 Kin Jul 1996 A
5537156 Katayama Jul 1996 A
5539454 Williams Jul 1996 A
5541590 Nishio Jul 1996 A
5544060 Fujii Aug 1996 A
5546191 Hibi Aug 1996 A
5546305 Kondo Aug 1996 A
5548273 Nicol Aug 1996 A
5552990 Ihara Sep 1996 A
5559496 Dubats Sep 1996 A
5568211 Bamford Oct 1996 A
5570087 Lemelson Oct 1996 A
5570127 Schmidt Oct 1996 A
5574424 Nguyen Nov 1996 A
5574443 Hsieh Nov 1996 A
5581464 Woll Dec 1996 A
5586130 Doyle Dec 1996 A
5590948 Moreno Jan 1997 A
5596382 Bamford Jan 1997 A
5596647 Wakai Jan 1997 A
5600775 King Feb 1997 A
5608272 Tanguay Mar 1997 A
5610580 Lai Mar 1997 A
5612686 Takano Mar 1997 A
5631638 Kaspar May 1997 A
5638273 Coiner Jun 1997 A
5642106 Hancock Jun 1997 A
5646856 Kaesser Jul 1997 A
5652706 Morimoto Jul 1997 A
5654892 Fujii Aug 1997 A
5659355 Barron Aug 1997 A
5666120 Kline Sep 1997 A
5667176 Zamarripa Sep 1997 A
5669698 Veldman Sep 1997 A
5671451 Takahashi Sep 1997 A
5677979 Squicciarini Oct 1997 A
5680117 Arai Oct 1997 A
5680123 Lee Oct 1997 A
5686765 Washington Nov 1997 A
5686889 Hillis Nov 1997 A
5689442 Swanson Nov 1997 A
5696705 Zykan Dec 1997 A
5706362 Yabe Jan 1998 A
5706909 Bevins Jan 1998 A
5712679 Coles Jan 1998 A
5717456 Rudt Feb 1998 A
5719554 Gagnon Feb 1998 A
5758299 Sandborg May 1998 A
5781101 Stephen Jul 1998 A
5781145 Williams Jul 1998 A
5784007 Pepper Jul 1998 A
5784021 Oliva Jul 1998 A
5784521 Nakatani Jul 1998 A
5790403 Nakayama Aug 1998 A
5790973 Blaker Aug 1998 A
5793308 Rosinski Aug 1998 A
5793420 Schmidt Aug 1998 A
5793739 Tanaka Aug 1998 A
5793985 Natarajan Aug 1998 A
5794165 Minowa Aug 1998 A
5797134 McMillan Aug 1998 A
5798458 Monroe Aug 1998 A
5800040 Santo Sep 1998 A
5802545 Coverdill Sep 1998 A
5802727 Blank Sep 1998 A
5805079 Lemelson Sep 1998 A
5813745 Fant, Jr. Sep 1998 A
5815071 Doyle Sep 1998 A
5815093 Kikinis Sep 1998 A
5819198 Peretz Oct 1998 A
5825284 Dunwoody Oct 1998 A
5825412 Hobson Oct 1998 A
5844505 Van Ryzin Dec 1998 A
5845733 Wolfsen Dec 1998 A
5867802 Borza Feb 1999 A
5877897 Schofield Mar 1999 A
5896167 Omae Apr 1999 A
5897602 Mizuta Apr 1999 A
5897606 Miura Apr 1999 A
5899956 Chan May 1999 A
5901806 Takahashi May 1999 A
5914748 Parulski Jun 1999 A
5919239 Fraker Jul 1999 A
5926210 Hackett Jul 1999 A
5928291 Jenkins Jul 1999 A
5938321 Bos Aug 1999 A
5946404 Bakshi Aug 1999 A
5948038 Daly Sep 1999 A
5959367 O'Farrell Sep 1999 A
5978017 Tino Nov 1999 A
6002326 Turner Dec 1999 A
6006148 Strong Dec 1999 A
6008723 Yassan Dec 1999 A
6008841 Charlson Dec 1999 A
6009370 Minowa Dec 1999 A
6011492 Garesche Jan 2000 A
6028528 Lorenzetti Feb 2000 A
6037860 Zander Mar 2000 A
6037977 Peterson Mar 2000 A
6041410 Hsu Mar 2000 A
6049079 Noordam Apr 2000 A
6057754 Kinoshita May 2000 A
6060989 Gehlot May 2000 A
6064792 Fox May 2000 A
6067488 Tano May 2000 A
6076026 Jambhekar Jun 2000 A
6084870 Wooten Jul 2000 A
6088635 Cox Jul 2000 A
6092008 Bateman Jul 2000 A
6092021 Ehlbeck Jul 2000 A
6092193 Loomis Jul 2000 A
6100811 Hsu Aug 2000 A
6111254 Eden Aug 2000 A
6118768 Bhatia Sep 2000 A
6122738 Millard Sep 2000 A
6141611 Mackey Oct 2000 A
6144296 Ishida Nov 2000 A
6147598 Murphy Nov 2000 A
6151065 Steed Nov 2000 A
6163338 Johnson Dec 2000 A
6163749 McDonough Dec 2000 A
6167186 Kawasaki Dec 2000 A
6170742 Yacoob Jan 2001 B1
6181373 Coles Jan 2001 B1
6182010 Berstis Jan 2001 B1
6185490 Ferguson Feb 2001 B1
6195605 Tabler Feb 2001 B1
6200139 Clapper Mar 2001 B1
6208919 Barkesseh Mar 2001 B1
6211907 Scaman Apr 2001 B1
6218960 Ishikawa Apr 2001 B1
6246933 Bague Jun 2001 B1
6246934 Otake Jun 2001 B1
6252544 Hoffberg Jun 2001 B1
6253129 Jenkins Jun 2001 B1
6259475 Ramachandran Jul 2001 B1
6263265 Fera Jul 2001 B1
6266588 McClellan Jul 2001 B1
6298290 Abe Oct 2001 B1
6300875 Schafer Oct 2001 B1
6324450 Iwama Nov 2001 B1
6333759 Mazzilli Dec 2001 B1
6337622 Sugano Jan 2002 B1
6349250 Hart Feb 2002 B1
6353734 Wright Mar 2002 B1
6356823 Iannotti Mar 2002 B1
6360147 Lee Mar 2002 B1
6366207 Murphy Apr 2002 B1
6389339 Just May 2002 B1
6389340 Rayner May 2002 B1
6400835 Lemelson Jun 2002 B1
6405112 Rayner Jun 2002 B1
6405132 Breed Jun 2002 B1
6408232 Cannon Jun 2002 B1
6411874 Morgan Jun 2002 B2
6421080 Lambert Jul 2002 B1
6434510 Callaghan Aug 2002 B1
6449540 Rayner Sep 2002 B1
6456321 Ito Sep 2002 B1
6459988 Fan Oct 2002 B1
6470241 Yoshikawa Oct 2002 B2
6472771 Frese Oct 2002 B1
6490513 Fish Dec 2002 B1
6493650 Rodgers Dec 2002 B1
6505106 Lawrence Jan 2003 B1
6507838 Syeda-Mahmood Jan 2003 B1
6508400 Ishifuji Jan 2003 B1
6516256 Hartmann Feb 2003 B1
6518881 Monroe Feb 2003 B2
6525672 Chainer Feb 2003 B2
6529159 Fan Mar 2003 B1
6535804 Chun Mar 2003 B1
6552682 Fan Apr 2003 B1
6629030 Klausner Sep 2003 B2
7382933 Dorai Jun 2008 B2
20020005895 Freeman Jan 2002 A1
20030095688 Kirmuss May 2003 A1
20030125854 Kawasaki Jul 2003 A1
20030154009 Basir Aug 2003 A1
20030220835 Barnes, Jr. Nov 2003 A1
20030222880 Waterman Dec 2003 A1
20040008255 Lewellen Jan 2004 A1
20040044452 Bauer Mar 2004 A1
20040054444 Abeska Mar 2004 A1
20040083041 Skeen Apr 2004 A1
20040088090 Wee May 2004 A1
20040111189 Miyazawa Jun 2004 A1
20040138794 Saito Jul 2004 A1
20040210353 Rice Oct 2004 A1
20040254698 Hubbard Dec 2004 A1
20050099498 Lao May 2005 A1
20050100329 Lao May 2005 A1
20050137796 Gumpinger Jun 2005 A1
20050174217 Basir Aug 2005 A1
20050258942 Manasseh Nov 2005 A1
20050264691 Endo Dec 2005 A1
20060001671 Kamijo Jan 2006 A1
20060030986 Peng Feb 2006 A1
20060047380 Welch Mar 2006 A1
20060092043 Lagassey May 2006 A1
20060095175 deWaal May 2006 A1
20060095199 Lagassey May 2006 A1
20060147187 Takemoto Jul 2006 A1
20060259218 Wu Nov 2006 A1
20070132773 Plante Jun 2007 A1
20070150138 Plante Jun 2007 A1
20080204556 deMiranda Aug 2008 A1
20090043971 Kim Feb 2009 A1
20090290848 Brown Nov 2009 A1
20100250060 Maeda Sep 2010 A1
20120081567 Cote Apr 2012 A1
20140309849 Ricci Oct 2014 A1
Foreign Referenced Citations (50)
Number Date Country
2469728 Dec 2005 CA
2469728 Dec 2005 CA
2692415 Aug 2011 CA
2692415 Aug 2011 CA
4416991 Nov 1995 DE
20311262 Sep 2003 DE
202005008238 Aug 2005 DE
102004004669 Dec 2005 DE
102004004669 Dec 2005 DE
0708427 Apr 1996 EP
0840270 May 1998 EP
0848270 Jun 1998 EP
1170697 Jan 2002 EP
1324274 Jul 2003 EP
1355278 Oct 2003 EP
1427165 Jun 2004 EP
1818873 Aug 2007 EP
2104075 Sep 2009 EP
2320387 May 2011 EP
2407943 Jan 2012 EP
2268608 Jan 1994 GB
2402530 Dec 2004 GB
2402530 Dec 2004 GB
244694 Aug 2008 GB
2451485 Feb 2009 GB
2447184 Jun 2011 GB
58085110 May 1983 JP
S5885110 May 1983 JP
62091092 Apr 1987 JP
S6291092 Apr 1987 JP
S62166135 Jul 1987 JP
02056197 Feb 1990 JP
H0256197 Feb 1990 JP
H04257189 Sep 1992 JP
H05137144 Jun 1993 JP
H08124069 May 1996 JP
H09163357 Jun 1997 JP
H09272399 Oct 1997 JP
10076880 Mar 1998 JP
H1076880 Mar 1998 JP
2002191017 Jul 2002 JP
2002191017 Jul 2002 JP
2002191017 Jul 2002 JP
5294188 Sep 2013 JP
1000588169 Jun 2006 KR
0007150 Feb 2000 WO
0048033 Feb 2000 WO
0077620 Feb 2000 WO
0028410 May 2000 WO
0123214 Apr 2001 WO
Non-Patent Literature Citations (96)
Entry
PCT International Search Report and Written Opinion for PCT/US15/60721 dated Feb. 26, 2016, 11 pages.
“DriveCam Driving Feedback System” DriveCam brochure, Mar. 15, 2004, 4 pages.
“DriveCam Driving Feedback System”, DriveCam brochure, Jun. 12, 2001, Document #6600128, 2 pages.
“DriveCam Passenger Transportation Module”, DriveCam brochure, Oct. 26, 2001, 2 pages.
“DriveCam Video Event Data Recorder”, DriveCam brochure, Nov. 6, 2002, Document #6600127, 2 pages.
“DriveCam, Inc's Disclosure of Proposed Constructions and Extrinsic Evidence Pursuant to Patent L.R. 4.1.a & 4.1.b” Disclosure and Extrinsic Evidence in DriveCam, Inc. v. SmartDrive Systems, Inc., Case No. 3:11-CV-00997-H-RBB, for the Southern District of California. Nov. 8, 2011, 68 pages.
“Responsive Claim Construction and Identification of Extrinsic Evidence of Defendani/Counterclaimant SmartDrive Systems, Inc.” Claim Construction and and Extrinsic Evidence in DriveCam, Inc. v. SmartDrive Systems, Inc., Case No. 3:11-CV-00997-H (RBB), for the Southern District of California. Nov. 15, 2011, 20 pages.
“Sonic MyDVD 4.0: Tutorial: Trimming video segments”. Tutorial for software bundled with Adaptec VideoOh! DVD USB 2.0 Edition, 2003, 13 pages.
“User's Manual for DriveCam Video Systems' HindSight 20/20 Software Version 4.0” DriveCam Manual, San Diego, 2003, Document #6600141-1, 54 pages.
Adaptec published and sold its VideoOh! DVD software USB 2.0 Edition in at least Jan. 24, 2003. (1 pg.).
Ambulance Companies Use Video Technology to Improve Driving Behavior, Ambulance Industry Journal, Spring 2003 (2 pgs.).
Amended Complaint for Patent Infringement, Trade Secret Misappropriation, Unfair Competition and Conversion in DriveCam, Inc. v. SmartDrive Systems, Inc., Case No. 3:11-CV-00997-H-RBB, for the Southern District of California, Document 34, filed Oct. 20, 2011, pp. 1-15.
Amendment filed Dec. 23, 2009 during prosecution of U.S. Appl. No. 11/566,424 (13 pgs.).
Answer to Amended Complaint; Counterclaims; and Demand for Jury Trial in DriveCam, Inc. v. SmartDrive Systems, Inc., Case No. 3:11-CV-00997 H (RBB), for the Southern District of California, Document 47, filed Dec. 13, 2011, pp. 1-15.
U.S. Appl. No. 11/296,906, filed Dec. 8, 2005, File History (279 pgs.).
U.S. Appl. No. 11/297,669, filed Dec. 8, 2005, File History (183 pgs.).
U.S. Appl. No. 11/297,889, filed Dec. 8, 2005, File History (77 pgs.).
U.S. Appl. No. 11/298,069, filed Dec. 9, 2005, File History (105 pgs.).
U.S. Appl. No. 11/299,028, filed Dec. 9, 2005, File History (181 pgs.).
U.S. Appl. No. 11/593,659, filed Nov. 7, 2006, File History (296 pgs.).
U.S. Appl. No. 11/593,682, filed Nov. 7, 2006, File History (173 pgs.).
U.S. Appl. No. 11/593,882, filed Nov. 7, 2006, File History (94 pgs.).
U.S. Appl. No. 11/595,015, filed Nov. 9, 2006, File History (171 pgs.).
U.S. Appl. No. 11/637,754, filed Dec. 13, 2006, File History (241 pgs.).
U.S. Appl. No. 11/637,755, filed Dec. 13, 2006, File History (171 pgs.).
Bill Siuru, ‘DriveCam Could Save You Big Bucks’, Land Line Magazine, May-Jun. 2000 (1 pg.).
Bill, ‘DriveCam—FAQ’, Dec. 12, 2003 (3 pgs.).
Canadian Office Action issued in Application No. 2,632,685 dated Jan. 30, 2015; 5 pages.
Chris Woodyard, ‘Shuttles save with DriveCam’, Dec. 9, 2003 (1 pg.).
Dan Carr, Flash Video Template: Video Presentation with Navigation, Jan. 16, 2006, http://www.adobe.com/devnet/fiash/articles/vidtemplate—mediapreso—flash8.html (13 pgs.).
Dan Maher, “DriveCam Taking Risk Out of Driving”, DriveCam brochure folder, Jun. 6, 2005, 6 pages.
David Cullen, ‘Getting a real eyeful’, Fleet Owner Magazine, Feb. 2002 (1 pg.).
David Maher, ‘DriveCam Brochure Folder’, Jun. 6, 2005 (2 pg.).
David Maher, “DriveCam Brochure Folder”, Jun. 8, 2005 (2 pg.).
David Vogeleer et al., Macromedia Flash Professional 8UNLEASHED (Sams Oct. 12, 2005). (4 pgs.).
Del Lisk, ‘DriveCam Training Handout Ver4’, Feb. 3, 2005 (16 pgs.).
Del Lisk, “DriveCam Training Seminar” Handout, 2004, 16 pages.
DriveCam Driving Feedback System, Mar. 15, 2004 (12 pgs.).
DriveCam Extrinsic Evidence with Patent LR 4.1 .a Disclosures, Nov. 3, 2011. (1 pg.).
DriveCam Extrinsic Evidence with Patent LR 4.1 .a Disclosures, Nov. 8, 2011. (1 pg.).
DriveCam—Illuminator Data Sheet, Oct. 2, 2004. (1 pg.).
Drivecam, Inc., User's Manual for Drivecam Video Systems' Hindsight 20/20 Software Version 4.0 (2003). (54 pgs.).
DriveCam, Inc.'s Infringement Contentions Exhibit A, U.S. Pat. No. 6,389,340, Document 34.1, Oct. 20, 2011. (10 pgs.).
DriveCam, Inc.'s Infringement Contentions Exhibit B, U.S. Pat. No. 7,659,827. Aug. 19, 2011. (29 pgs.).
DriveCam, Inc.'s Infringement Contentions Exhibit B, U.S. Pat. No. 7,804,426, Document 34.2, Oct. 20, 2011. (20 pg.).
DriveCam, Inc.'s Infringement Contentions Exhibit C, U.S. Pat. No. 7,659,827, Document 34.3, Oct. 20, 2011. (17 pgs.).
DriveCam, Inc.'s Infringement Contentions Exhibit C, U.S. Pat. No. 7,804,426. Aug. 19, 2011. (47 pgs.).
DriveCam, Inc.'s Infringement Contentions Exhibit D, Document 34.4, Oct. 20, 2011. (2 pgs.).
Traqmate GPS Data Acquisition's Traqmate Data Acquisition with Video Overlay system was used to create a video of a driving event on Oct. 2, 2005 (available at http://www.trackvision.net/phpBB2/viewtopic.php?t=51&sid=1184fbbcbe3be5c87ffa0f2ee6e2da76), printed from site on Jan. 11, 2012. (4 pgs.).
Trivinci Systems, LLC, “Race-Keeper System User Guide”, V1 .1.02, Jan. 2011, p. 21.
Trivinci Systems, LLC, Race-Keeper Systems User Guide, Jan. 2011, v1, 1.02, pp. 34 and 39.
U.S. Appl. No. 12/691,639, entitled ‘Driver Risk Assessment System and Method Employing Selectively Automatic Event Scoring’, filed Jan. 21, 2010. (52 pgs.).
U.S. Appl. No. 11/377,167, Final Office Action dated Nov. 8, 2013. (19 pgs.).
U.S. Appl. No. 11/377,157, filed Mar. 16, 2006 entitled, “Vehicle Event Recorder Systems and Networks Having Parallel Communications Links” (28 pgs.).
U.S. Appl. No. 11/377,167, filed Mar. 16, 2006 entitled, “Vehicle Event Recorder Systems and Networks Having Integrated Cellular Wireless Communications Systems” (29 pgs.).
USPTO Final Office Action for U.S. Appl. No. 11/296,906, dated Aug. 8, 2012, 15 pages.
USPTO Final Office Action for U.S. Appl. No. 11/297,669, dated Nov. 7, 2011, 15 pages.
USPTO Final Office Action for U.S. Appl. No. 12/096,591, dated Dec. 5, 2014, 23 pages.
USPTO Final Office Action for U.S. Appl. No. 12/096,591, dated Jul. 18, 2012, 15 pages.
USPTO Final Office Action for U.S. Appl. No. 12/096,591, dated Nov. 7, 2013, 14 pages.
USPTO Final Office Action for U.S. Appl. No. 13/957,810, dated Jun. 27, 2014, 22 pages.
USPTO Final Office Action for U.S. Appl. No. 13/957,810, dated Jun. 27, 2014, 24 pages.
USPTO Final Office Action for U.S. Appl. No. 14/036,299, dated Feb. 24, 2015, 9 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/296,906, dated Apr. 2, 2009, 7 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/296,906, dated Apr. 8, 2014, 19 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/296,906, dated Jun. 12, 2012, 13 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/296,906, dated Nov. 6, 2009, 9 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/297,669, dated Apr. 28, 2011, 11 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/299,028, dated Apr. 24, 2008, 9 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/377,164, dated Apr. 7, 2014, 7 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/377,164, dated Aug. 18, 2014, 5 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/377,164, dated Nov. 19, 2007, 7 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/377,164, dated Nov. 25, 2011, 9 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/377,164, dated Sep. 10, 2012, 10 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/377,164, dated Sep. 11, 2008, 8 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/377,167, dated Jun. 27, 2013, 11 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/377,167, dated Jun. 5, 2008, 11 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/800,876, dated Dec. 1, 2010, 12 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 11/800,876, dated Dec. 20, 2011, 8 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 12/096,591, dated Jun. 14, 2011, 8 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 12/096,591, dated Mar. 27, 2013, 16 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 12/096,591, dated May 20, 2014, 19 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 13/957,810, dated Apr. 17, 2015, 6 pages.
USPTO Non-final Office Action for U.S. Appl. No. 13/957,810, dated Nov. 27, 2013, 18 pages.
USPTO Non-Final Office Action for U.S. Appl. No. 14/036,299, dated Aug. 12, 2014. (14 pgs.).
USPTO Non-Final Office Action for U.S. Appl. No. 11/296,907, dated Mar. 22, 2007 (17 pages).
USPTO Non-final Office Action dated Aug. 27, 2009 during prosecution of U.S. Appl. No. 11/566,424 (25 pgs.).
USPTO Non-Final Office Action dated Jan. 4, 2016 in U.S. Appl. No. 14/529,134, filed Oct. 30, 2014 (65 pgs).
USPTO Non-Final Office Action dated Nov. 27, 2013 in U.S. Appl. No. 13/957,810, filed Aug. 2, 2013. (19 pgs.).
Veeraraghavan, H., et al., Computer Vision Algorithms for Intersection Monitoring, IEEE Transactions on Intelligent Transportation Systems, 4(2):78-89 (2003); Digital Object Identifier 10.1109/TITS.2003.821212.
Wijesoma, W.S., et al., Road Curb Tracking in an Urban Environment, Proceedings of the Sixth International Conference of Information Fusion, 1:261-268 (2003).
World News Tonight, CBC Television New Program discussing teen drivers using the DriveCam Program and DriveCam Technology, Oct. 10, 2005, on PC formatted CD-R, World News Tonight.wmv, 7.02 MB, Created Jan. 12, 2011. (1 pg.).
Written Opinion issued in PCT/US07/68328 dated Oct. 15, 2007. (3 pgs.).
Written Opinion of the International Searching Authority for PCT/US2006/47042, dated Feb. 25, 2008 (5 pages).
Written Opinion of the International Searching Authority for PCT/US2006/47055, dated Mar. 20, 2008 (5 pages).
Edwin Olson, A Passive Solution to the Sensor Synchronization Problem, the 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct. 18-22, 2010, 6 pages.
Related Publications (1)
Number Date Country
20160117872 A1 Apr 2016 US
Continuations (4)
Number Date Country
Parent 14531854 Nov 2014 US
Child 14981384 US
Parent 13734800 Jan 2013 US
Child 14531854 US
Parent 12096592 US
Child 13734800 US
Parent 11296907 Dec 2005 US
Child 12096592 US