System and method for retrieving video from a dash camera

The system addresses the challenge of efficiently retrieving dash camera video footage by using time-lapse media requests and incident media extraction, resulting in cost-effective and resource-efficient incident identification and evidence retrieval.

WO2025134149A1PCT designated stage expired Publication Date: 2025-06-26LIGHTMETRICS TECH PVT LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/IN2024/052404
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-21
Filing Date
2024-12-20
Publication Date
2025-06-26

AI Technical Summary

Technical Problem

Current systems for retrieving video footage from dash cameras face challenges in efficiently locating incidents within vast recorded data, especially when the exact time of the incident is unknown, leading to resource wastage and a tedious process.

Method used

A system and method that involve receiving a time-lapse media request for a dash camera, accessing the associated media recording, generating and transmitting time-lapse media content, and extracting incident media content based on incident timestamp information, allowing for efficient retrieval of video snippets around incidents of interest.

Benefits of technology

This approach significantly reduces data usage, upload latency, and costs by using time-lapse videos, enabling quick identification of incidents and efficient retrieval of high-quality video evidence, thus improving productivity and resolving disputes accurately.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2024052404_26062025_PF_FP_ABST
    Figure IN2024052404_26062025_PF_FP_ABST
Patent Text Reader

Abstract

System and method for retrieving video from a dash camera are described herein. The method performed by a server system includes receiving a time-lapse media request for a vehicle from a user. The time-lapse media request includes a vehicle Identifier (ID), selected time information, and predefined snippet duration information. The method includes accessing a media recording associated with the vehicle from a database based on the vehicle ID and the selected time information. The method includes generating and transmitting time-lapse media content to the user based on the media recording, the selected time information, and the predefined snippet duration information. The method includes receiving an incident media request from the user. The incident media request includes incident timestamp information and media duration information. The method includes transmitting incident media content extracted from the media recording based on the media duration information to the user.
Need to check novelty before this filing date? Find Prior Art

Description

DescriptionTitle of Invention: SYSTEM AND METHOD FOR RETRIEVING VIDEO FROM A DASH CAMERACross-reference to related applications

[0001] This application claims priority from Indian provisional patent application 202341087556, filed on 21 st December 2023, which is incorporated herein in its entirety by this reference thereto.Technical Field

[0002] The present disclosure relates to the field of driving behavior and driver behavior management and, more particularly, to the systems and methods for retrieving video snippets from a camera, such as a dash camera that is installed in a vehicle, capturing events of interest, such as incidents or accidentsBackground

[0003] In recent years, vehicle dash cameras have become increasingly prevalent due to their ability to capture real-time video footage during driving. Dash cameras are designed to record the road ahead and, in some cases, the surrounding environment, providing a comprehensive visual record of a vehicle's journey. These cameras serve various purposes, including documenting scenic routes, providing evidence in the event of accidents, providing a comprehensive visual record of the road environment and driver actions, and recording and analyzing driving behavior. Understanding the driving behavior of the user is very important, as approximately 94% of all accidents are caused by human error and behaviors. Such behaviors include distracted driving, reckless maneuvers, speeding, and failure to obey traffic regulations. While most such accidents are caused by human error on the part of the driver, they may also occur due to the negligence or error of another driver, resulting in a collision.

[0004] Whenever there is a collision , drivers of all the vehicles that were a part of the collision are under suspicion and this causes a lot of stress, loss of income, loss of reputation, etc. The video recorded by the vehicle's dash camera can serve as evidence to exonerate the driver if they are not at fault. These cameras capture real-time footage, offering insights into driver behavior preceding and during accidents. Presently, dash cameras have local storage such as flash memory, Secure Digital (SD) card, or a hub on the vehicle that contains a hard disk drive / Solid-State Drive (HDD / SSD) based storage in which video footage from the dash camera / cameras on a vehicle is stored. In some scenarios, in fleet operations, where a fleet operator operates hundreds of vehicles installed with dash cameras, the recordings from these dash cameras are generally stored collectively at onsite or offsite databases.

[0005] In the event of an accident of a vehicle, the fleet operator can extract or retrieve specific video footage or snippets related to the said vehicle from the associated databases. Generally, the said video footage is extracted as a clip spanning a few seconds before to a few seconds after the exact moment of the incident. However, locating the incident within the vast collection of recorded data can be challenging . This is even more challenging when the exact time in hours, minutes, and seconds when the incident has occurred is not known. The back office of these fleet operators generally relies on the data provided by the driver about the approximate time when the incident occurred, which can be erroneous given the stress and pressure of the situation. They may rely on other witnesses, police reports, etc., none of which are guaranteed to be exact.

[0006] As may be understood, the video footage of the vehicle dash camera is often required at the earliest in order to decide what exactly happened during the incident or accident and which party is at fault. It is difficult for the backend support staff or users at the back office to retrieve the video footage from the associated databases without knowing the exact time of the incident. The retrieved video footage will not have the incident of interest if the backend support staff or the users rely on an incorrect time of the incident while retrieving the video footage, leading to a wastage of resources and mobile data. In such a scenario, the users may have to make a few more requests, thus, leading to a tedious, frustrating, and time-consuming process to get the video footage around an incident of interest. In a conventional scenario, the users can request a long video (of 15 minutes) to improve the chances of the retrieved video footage having the incident of interest. However, in such a scenario, the users have to wait for a very long time for the long video sequence to be uploaded since it can be in hundreds of megabytes. This waiting time is a disadvantage, along with a massive waste of bandwidth and resources.

[0007] Another conventional solution is to use a streaming architecture, where the users start streaming the video from the camera to the dashboard (or equivalent) and continue till after the incident, thus ensuring that the incident video is obtained. However, this conventional solution can end up using a lot of data while being tedious / time-consuming as well. Additionally, if, by mistake or error, the user starts the streaming after the incident (like a minor side swipe), they will never see the incident and end up wasting time and data.

[0008] Yet another conventional solution is to upload image snapshots at reg ular intervals, which are made available for the users in the back office to flip through. When the users want to download a video about a reported incident, the users have the aid of these images, and it is much easier to search and download the relevant snippet. However, such an approach will increase the cost as the image upload at regular intervals consumes a large amount of mobile data.

[0009] Thus, there exists a compelling need for innovative methodologies and systems that leverage technological advancements to effectively pinpoint the time of the incident so that the users in the back office can get the required video in the minimum time possible with the least uncertainty.SUMMARY

[0010] There exists a need for techniques to overcome one or more limitations stated above, such as difficulty in identifying the time of incident, avoiding bandwidth wastage, storage issues, and so on.

[0011] Various embodiments of the present disclosure provide methods and systems for retrieving video from a dash camera in an efficient and cost-effective manner. In particular, various embodiments of the present disclosure provide a system and method for retrieving video snippets from a camera, such as a dash camera that is installed in a vehicle, of an event of interest, such as around an incident. It is to be noted that the exact time or place of the incident is not accurately known. The proposed invention solves the drawbacks of the prior arts by making the time-lapse video a part of the overall video request process.

[0012] To achieve the above and other objectives of the present disclosure, in one aspect, a computer- implemented method for retrieving video from a dash camera is disclosed. The computer- implemented method is performed by a system such as a server system. The computer- implemented method includes receiving a time-lapse media request for a vehicle from a user. The time-lapse media request includes a vehicle Identifier (ID), selected time information, and predefined snippet duration information. The computer-implemented method further includes accessing a media recording associated with the vehicle from a database associated with the server system based, at least in part, on the vehicle ID and the selected time information. The computer- implemented method further includes generating and transmitting time-lapse media content to the user based, at least in part, on the media recording, the selected time information, and the predefined snippet duration information. The computer-implemented method further includes receiving an incident media request from the user. The incident media request includes incident timestamp information and media duration information. The computer-implemented method further includes extracting incident media content from the media recording based, at least in part, on the incident timestamp information and the media duration information. The computer-implemented method further includes transmitting the incident media content to the user.

[0013] As per another embodiment of the present disclosure, a server system is disclosed. The server system includes a communication interface and a memory including executable instructions. The server system also includes a processor communicably coupled to the memory. The processor is configured to execute the instructions to cause the server system, at least in part, to receive a timelapse media request for a vehicle from a user. The time-lapse media request includes a vehicle Identifier (ID), selected time information, and predefined snippet duration information. The server system is further caused to access a media recording associated with the vehicle from a database associated with the server system based, at least in part, on the vehicle ID and the selected time information. The server system is further caused to generate and transmit time-lapse media content to the user based, at least in part, on the media recording, the selected time information, and the predefined snippet duration information. The server system is further caused to receive an incident media request from the user. The incident media request includes incident timestamp informationand media duration information. The server system is further caused to extract incident media content from the media recording based, at least in part, on the incident timestamp information and the media duration information. The server system is further caused to transmit the incident media content to the user.

[0014] As per yet another embodiment of the present disclosure, a non-transitory computer-readable storage medium is disclosed. The non-transitory computer-readable storage medium includes computer-executable instructions that, when executed by at least a processor of a server system, cause the server system to perform a method. The method includes receiving a time-lapse media request for a vehicle from a user. The time-lapse media request includes a vehicle Identifier (ID), selected time information, and predefined snippet duration information. The method further includes accessing a media recording associated with the vehicle from a database associated with the server system based, at least in part, on the vehicle ID and the selected time information. The method further includes generating and transmitting time-lapse media content to the user based, at least in part, on the media recording, the selected time information, and the predefined snippet duration information. The method further includes receiving an incident media request from the user. The incident media request includes incident timestamp information and media duration information . The method further includes extracting incident media content from the media recording based, at least in part, on the incident timestamp information and the media duration information. The method further includes transmitting the incident media content to the user.

[0015] In a non-limiting implementation, the user can request a time-lapse video snippet using a user interface for a video of a longer duration of time, such as 20 minutes. As the time-lapse video is very efficient in terms of data bandwidth, the cost incurred in uploading this and the upload latency are both low and it will cover a 20-minute-long video in a very short duration of a few seconds or a few minutes. When the user views the time-lapse video, the user can locate the incident of interest and pause the video when they see the incident of interest or when the time-lapse video has moved to just after the incident of interest. The user interface has a functionality where a normal video of a short duration of N seconds (herein, N is a non-zero natural number), such as 60 seconds or 120 seconds, etc., can be retrieved around the moment the video has been paused (N seconds before / after) by clicking on a button provided in the user interface. Once the user clicks the button, a request is sent to the camera to provide the user with a normal video of N seconds before / after the moment the video was paused by the user. Hence, the user can locate the time stamp when an incident of interest (i.e. , an accident) occurred in a cost and time-efficient manner and retrieve a normal video forthat incident.

[0016] The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.BRIEF DESCRIPTION OF THE FIGURES

[0017] For a more complete understanding of example embodiments of the present technology, reference is now made to the following descriptions taken in connection with the accompanying drawings, in which:

[0018] FIG. 1 illustrates a block diagram of a user interface for requesting video snippets from a camera such as a dash camera as per conventional art;

[0019] FIG. 2 illustrates a flowchart of a process for requesting the video snippets from the camera by a user at a back office using the user interface as per conventional art;

[0020] FIG. 3 illustrates a block diagram of the user interface for requesting the video snippets from the camera, such as the dash camera as per another conventional art;

[0021] FIG. 4 illustrates a flowchart of the process for requesting the video snippets from the camera by the user at the back office using the user interface as per conventional art;

[0022] FIG. 5A illustrates a block diagram of the user interface for requesting time-lapse video from the camera, such as the dash camera, according to an embodiment of the present disclosure;

[0023] FIG. 5B illustrates a block diagram of the user interface for requesting the video snippets from the camera, such as the dash camera, according to an embodiment of the present disclosure;

[0024] FIG. 6 illustrates a flowchart of the process for requesting video snippets from the camera by the user at the back office using the user interface, according to an embodiment of the present disclosure;

[0025] FIG. 7 illustrates a simplified block diagram of a server system, in accordance with an embodiment of the present disclosure; and

[0026] FIG. 8 illustrates a flow diagram of a method of operating the server system for retrieving incident media content from a database, in accordance with an embodiment of the present disclosure.

[0027] The drawings referred to in this description are not to be understood as being drawn to scale except if specifically noted, and such drawings are only exemplary in nature.DETAILED DESCRIPTION

[0028] In the following description, for purposes of explanation, numerous specific details are set forth in orderto provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure can be practiced without these specific details. Descriptions of well-known components and processing techniques are omitted to not obscure the embodiments herein unnecessarily. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.

[0029] References in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. The appearances of the phrase “in an embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate oralternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described, which may be requirements for some embodiments but not for other embodiments.

[0030] Moreover, although the following description contains many specifics for the purposes of illustration, anyone skilled in the art will appreciate that many variations and / or alterations to said details are within the scope of the present disclosure. Similarly, although many of the features of the present disclosure are described in terms of each other, or in conjunction with each other, one skilled in the art will appreciate that many of these features can be provided independently of other features. Accordingly, this description of the present disclosure is set forth without any loss of generality to, and without imposing limitations upon, the present disclosure.

[0031] Conditional language such as, among others, "can," "could," "might" or "may," unless specifically stated otherwise, are otherwise understood within the context as used in general to convey that certain embodiments include, while other embodiments do not include, certain features, elements and / or steps. Thus, such conditional language is not generally intended to imply that features, elements, and / or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whetherthese features, elements and / or steps are included or are to be performed in any particular embodiment.

[0032] Disjunctive language such as the phrase "at least one of X, Y, or Z" unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and / or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.

[0033] Unless otherwise explicitly stated, articles such as "a" or "an" should generally be interpreted to include one or more described items. Accordingly, phrases such as "a server system configured to" are intended to include one or more recited server systems / processors. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, "a processor configured to carry out recitations A, B, and C" can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C. The same holds true for the use of definite articles used to introduce embodiment recitations. In addition, even if a specific number of an introduced embodiment recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of "tworecitations," without other modifiers, typically means at least two recitations or two or more recitations).

[0034] It will be understood by those within the art that, in general, terms used herein, are generally intended as "open" terms (e.g., the term "including" or "comprising” should be interpreted as "including / comprising but not limited to," the term "having" should be interpreted as "having at least," the term "includes" or "comprises” should be interpreted as "includes / comprises but is not limited to," etc.).

[0035] For expository purposes, the term ‘incident’, ‘accident’, ‘event’, ‘mishap’, ‘crash’ or ‘collision’ (used interchangeably herein) refers to any type of unexpected or significant event involving a vehicle, captured by a camera such as a dash cam, that necessitates further investigation or review by an entity such as law enforcement or an insurer. Examples of the incident or accident may include, but are not limited to, collisions, sudden braking, near-miss situations, erratic driving patterns, road hazards, or any other occurrence requiring video footage for analysis, reporting, or compliance purposes.OVERVIEW

[0036] Embodiments of the present invention disclose systems and methods for retrieving video snippets from a camera, such as a dash camera that is installed in a vehicle, capturing events of interest, such as incidents. It is to be noted that the exact time or place of the incident is not accurately known. The dash camera may be wirelessly connected to a computing system in the back office using which users can retrieve a video from the dash camera when required. While the invention is described in the context of a dash camera, it must be noted that the same can be applied to other applications involving storing video or data (IOT).

[0037] In conventional systems, a user is provided with a user interface in a computing system. The user can request video snippets of a short duration of the incident of interest. However, they do not know the exact time in hours, minutes, and seconds when the incident has occurred. Not knowing the exact time, they start to make video requests of a small duration (say one minute long) since mobile data is quite expensive. If the time was off, it is highly likely that the retrieved video will not have the incident of interest. Presently, the process of pinpointing and extracting video snippets / footage related to the precise accident point often involves manual inspection and extensive review of the recorded video, leading to inefficiencies and delays. For example, the user may send a plurality of requests for video snippets leading to a tedious, frustrating, and timeconsuming process to get a video snippet around an incident of interest.

[0038] In another conventional system, the user is provided with a user interface in a computing system using which the user can request to obtain a time-lapse video of a time segment of a trip or the entire trip. In this case, the user has to locate the exact time of the event of interest. Then, the user has to make a video request separately using the same interface for a non-time-lapse video when the user locates the exact time of the event. However, the user still needs to find the exacttime of the incident of interest and make a new request to get the video snippet. This makes the user experience frustrating and poor.

[0039] In the present invention, a system is provided that includes a camera, such as a dash cam affixed to a vehicle or in other applications, where the camera captures video or images of its surroundings. A computing device is provided at the back office using which the user can request the video snippet of the event of interest. The computing system includes a user interface using which the user can request a video snippet. The user interface includes an option of requesting a time-lapse video snippet for a video of a longer time duration, such as 20 minutes. As the timelapse video is very efficient in terms of data bandwidth, the cost incurred in uploading this and the upload latency are both low and it will cover a 20-minute-long video in a very short duration of a few seconds or a few minutes. When the user views the time-lapse video, he / she can locate the incident of interest and pause the video when they see the incident of interest or when the time-lapse video has moved tojust afterthe incident of interest. The user interface has a functionality where a normal video of a short duration of N seconds (such as 60 seconds or 120 seconds) can be retrieved around the moment the video has been paused (N seconds before / after) by clicking on a button provided in the user interface. Once the user clicks the button, a request is sent to the camera to provide the user with a normal video of N seconds before / after the video was paused by the user. For example, when the user clicks the button, a request is sent to the camera to provide the user with a video 60 seconds before / after the moment the video was paused by the user. Hence, the user can locate the time stamp when an incident of interest (i.e. , an accident) occurred in a cost and time-efficient manner and also retrieve a normal video for that incident.

[0040] The proposed approach offers several advantages, including cost and bandwidth efficiency through the use of time-lapse videos, which significantly reduce data usage, upload latency, and associated costs. By enabling users to quickly scan through longer video durations in a short time, the proposed approach allows for efficient identification of incidents. Once an incident is located, the user can retrieve a normal video snippet of specific short durations (e.g., 60 or 120 seconds) around the paused moment, ensuring access to high-quality, detailed evidence. The intuitive user interface simplifies the process, making it accessible to users without technical expertise. This reduces manual effort, saves time, and improves productivity while providing reliable and precise evidence for incident analysis and investigations. Furthermore, the proposed approach is cost- effective, scalable to various applications beyond vehicles, and enhances the ability to resolve disputes, exonerate individuals, and analyze critical events accurately.

[0041] FIG. 1 is a block diagram of a user interface 100 for requesting video snippets from a camera, such as a dash camera, as per conventional art. Using the user interface 100, a user can provide inputs for retrieving the video snippet of interest. The user needs to provide a vehicle identifier (ID) in vehicle ID section 102, a date of incident in section 104, an approximate time of the incident in section 106. Further, by using the pre-button 108, the user can configure the time before the approximate time of the incident (as provided in the time section 106) for which he / she wishes toreceive the video snippet. For example, as shown in the user interface 100, the user has configured the time duration associated with the pre-button 108 to 60 seconds. In response, the user will receive a video snippet including 60 seconds of video before the approximate time of the incident. Similarly, by using the post-button 110, the user can configure the time after the approximate time of the incident (as provided in the time section 106) for which he / she wishes to receive the video snippet. For example, as shown in the user interface 100, the user has configured the time duration associated with the post-button 110 to 60 seconds. Hence, the user will receive a video snippet including 60 seconds of video after the approximate time of the incident.

[0042] The user can also use both the pre-button 108 and the post-button 110 together to ask for a video snippet of short duration. In an example embodiment, the user can also use both the prebutton 108 and the post-button 1 10 together to ask for a video snippet of short duration, such as 120 seconds, i.e. , 60 seconds before and 60 seconds after the approximate time of the incident as provided in section 106. Further, type of video option 112 is used to select the type of video a user wants to receive. In the given conventional art, the user has the only option of receiving a normal video that was recorded by the dash camera. Further, there are a few other options 114 that the user can use while requesting a video snippet such as he / she can select the video resolution by using section 116, the camera view required using section 118, and the frames per second required using section 120. For example, the user may configure the video resolution of 1920*1080 using the video resolution section 116 and a frame rate of 30 Frames Per Second (FPS) using the frames per second section 120 respectively.

[0043] FIG. 2 illustrates a flowchart 200 of the process for requesting video snippets from the camera by a user at the back office using the user interface as per conventional art. At step 202, the user inputs the approximate time of the incident for which the video is required and makes a video requestto the camera around the approximate time at step 204. The camera is wirelessly connected to the computing device at the back office using which the user is making the request. The camera receives the request from the user and generates the video snippet as per the user’s requirement as shown in step 206 and sends the video snippet to the user’s computing device over a cellular or satellite channel as shown in step 208. At step 210, the video snippet is received at the user’s computing device. The user views the video snippet and determines if the video snippet has the event of interest, as shown in step 212. If the video snippet has the event of interest, the process is stopped, and the user can determine the reason forthe incident by viewing the snippet as shown in step 214. For example, if the video snippet includes the event of the accident, watching the same, the user may determine what exactly happened. If the video snippet does not cover the incident of interest, then the user adjusts the approximate time of the incident using the user interface, and the entire process is repeated unless the user receives the video snippet having the incident of interest. Alternatively, if the video snippet does not coverthe incident of interest, the user may adjust the pre and post-time in the user interface to retrieve the new video snippet for further analysis and locating the incident of interest. This leads to a tedious, frustrating, and time-consuming process to get a video snippet around an incident of interest.

[0044] FIG. 3 illustrates a block diagram of the user interface 300 for requesting video snippets from the camera, such as the dash camera, as per another conventional art. Using the user interface 300, the user can provide a plurality of inputs for retrieving the video snippet of interest. The user needs to provide vehicle ID in vehicle ID section 302, the date of the incident in section 304, approximate time of the incident in section 306. Further, by using the pre-button 308, the user can configure the time before the approximate time of the incident (as provided in the time section 306) for which he / she wishes to receive the video snippet. For example, as shown in the user interface 300, the user has configured the time duration associated with the pre-button 308 to 60 seconds. Hence, the user will receive a video snippet including 60 seconds of video before the approximate time of the incident. Similarly, by using the post-button 310, the user can configure the time after the approximate time of the incident (as provided in the time section 306) for which he / she wishes to receive the video snippet. For example, as shown in the user interface 300, the user has configured the time duration associated with the post-button 310 to 60 seconds. Hence, the user will receive a video snippet including 60 seconds of video afterthe approximate time of the incident.

[0045] The user can also use both the pre-button 308 and the post-button 310 together to ask for a video snippet of short duration. In an example embodiment, the user can also use both the prebutton 308 and the post-button 310 together to ask for a video snippet of short duration such as 120 seconds i.e. 60 seconds before and 60 seconds after the approximate time of the incident as provided in 306. Further, by using the pre-button 308, the user can ask for a video snippet of long duration such as 5 minutes, 10 minutes, etc. before the time he / she has given as input in the time section 306. Similarly, by using the post-button 310, the user can ask for a video snippet of long duration such as 5 minutes, 10 minutes, etc. afterthe approximate time of the incident (as provided in the time section 306). Additionally, the user can also use both the pre-button 308 and the postbutton 310 together to ask for a video snippet of long duration such as 5 minutes, 10 minutes, etc. before and after the approximate time of the incident (as provided in the time section 306). Further, type of video option 312 is used to select the type of video a user wants to receive. In the given conventional art, the user has the option of receiving a normal video or a time-lapse video. Further, there are a few other options 314 that the user can use while requesting a video snippet such as he / she can select the video resolution by using section 316, the camera view required using section 318, and the frames per second required using section 320. For example, the user may configure the video resolution of 1920*1080 using the video resolution section 316 and a frame rate of 30 fps using the frames per second section 320 respectively.

[0046] FIG. 4 illustrates a flowchart 400 of the process for requesting video snippets from the camera by the user at the back office using the user interface as per conventional art. At step 402, the user inputs the approximate time of the incident for which the video is required and makes a time-lapse video request for a video of a long duration, such as 10 minutes before and after the approximate time of the incidentto the camera at step 404. The camera is wirelessly connected to the computing device at the back office using which the user is making the request. The camera receives the request from the user and generates the time-lapse video as per the user’s requirement, as shownin step 406, and sends the time-lapse video to the user’s computing device as shown in step 408. At step 410, the time-lapse video is received at the user’s computing device. The user views the video and locates the moment having the incident of interest as shown in step 412. Once the user has determined the time of the incident of interest, the user makes a new request for a non-time- lapse / normal video of a short duration, such as 1 minute before and after the time given as input by the user, as shown in step 414. The camera receives the request from the user and generates the video snippet as perthe user’s requirement, as shown in step 416, and sends the video snippet to the user’s computing device over a cellular or satellite channel as shown in step 418. At step 420, the video snippet is received at the user’s computing device. The user views the video and can determine the reason for the incident as shown in step 422. Although the process is better than other conventional art, the user still needs to find the exact time of the incident of interest and make a new request to get the video snippet. This makes the user experience frustrating and poor.

[0047] FIG. 5A illustrates a block diagram of the user interface 500A for requesting time-lapse video from the camera, such as the dash camera, according to an embodiment of the present disclosure. The user interface 500A consists of various options for which the user needs to provide input for retrieving the time-lapse video of interest. The user needs to provide vehicle ID in vehicle ID section 502, the date of the incident in section 504, approximate time of the incident in section 506. Further, by using the pre-button 508, the user can configure the time before the approximate time of the incident (as provided in the time section 506) for which he / she wishes to receive the time-lapse video snippet. For example, as shown in the user interface 500A, the user has configured the time duration associated with the pre-button 508 to 600 seconds. Hence, the user will receive a timelapse video snippet for a video of 600 seconds before the approximate time of the incident. Similarly, by using the post-button 510, the user can configure the time after the approximate time of the incident (as provided in the time section 506) for which he / she wishes to receive the time-lapse video snippet. For example, as shown in the user interface 500A, the user has configured the time duration associated with the post-button 510 to 600 seconds. Hence, the user will receive a timelapse video snippet for a video of 600 seconds after the approximate time of the incident. The user can also use both the pre-button 508 and the post-button 510 together to ask for a time-lapse video snippet for a video of long duration such as 600 seconds before and after the approximate time of the incident (as provided in the time section 506). Further, type of video option 512 is used to select the type of video the user wants to receive. In the present invention, the user has the option of receiving a time-lapse video. Further, there are a few other options 514 that the user can use while requesting a video snippet such as he / she can select the video resolution by using section 516, the camera view required using section 518, and the frames per second required using section 520.

[0048] FIG. 5B illustrates a block diagram of the user interface 500B for requesting video snippets from the camera, such as the dash camera, according to an embodiment of the present disclosure. When the user is viewing the time-lapse video, he / she can locate the incident of interest and pause the video when they see the incident of interest or when the time-lapse video has moved to just after the incident of interest. The user interface 500B has a functionality where a normal video of ashort duration of N seconds (such as 60 seconds or 120 seconds) can be retrieved around the moment the video has been paused (N seconds before / after) by clicking on the button 522 provided in the user interface 500B below the video. Once the user clicks on the button 522, a request is sent to the camera to provide the user with a normal video of N seconds before / after the moment the video was paused by the user. For example, when the user clicks on the button 522, a request is sent to the camera to provide the userwith a video 60 seconds before / after the moment the video was paused by the user. Hence, the user can locate the time stamp when an incident of interest (i.e. , an accident) occurred in a cost and time-efficient manner and also retrieve a normal video for that incident.

[0049] FIG. 6 illustrates a flowchart 600 of the process for requesting video snippets from the camera by the user at the back office using the user interface, according to an embodiment of the present disclosure. At step 602, the user inputs the approximate time of the incident for which the video is required and makes a time-lapse video request for the video of a long duration, such as 10 minutes before and after the approximate time to the camera at step 604. The camera is wirelessly connected to the computing device at the back office using which the user is making the request. The camera receives the request from the user and generates the time-lapse video as perthe user’s requirement, as shown in step 606, and sends the time-lapse video to the user’s computing device as shown in step 608. At step 610, the time-lapse video is received at the user’s computing device. The user views the video and pauses the video when they see the incident of interest or when the time-lapse video has moved to just after the incident of interest as shown in step 612. The user can then request a normal video of short du ration, such as 60 seconds before / after the moment the video was paused by the user by clicking on the button 522 (as shown in FIG. 5B) in step 614. The camera receives the request from the user and generates the video snippet as per the user’s requirement, as shown in step 616, and sends the video snippet to the user’s computing device over a cellular or satellite channel as shown in step 618. At step 620, the video snippet is received at the user’s computing device. The user views the video and can determine the reason for the incident, as shown in step 622. Hence, the user can locate the time stamp when an incident of interest occurred in a cost and time-efficient manner and also retrieve a normal video for that incident.

[0050] FIG. 7 illustrates a simplified block diagram of a server system 700, in accordance with an embodiment of the present disclosure. In one embodiment, the server system 700 is a part of the internal server operated by a fleet operator employing or operating one or more vehicles under their vehicle fleet. The term ‘fleet operator’ refers to an individual, organization, or entity responsible for managing and overseeing one or more vehicles or mobility solutions, such as rental cars, commercial trucks, buses, delivery vans, taxis, or other transport vehicles. In some embodiments, the server system 700 is embodied as a cloud-based and / or Software as a Service (SaaS) based architecture.

[0051] The server system 700 includes a computer system 702 and a database 704. In an example, the server system 700 may be coupled with the database 704 is embodied within a central server (not shown) associated with the fleet operator, however, in other examples, the server system 700 can be a standalone component (acting as a hub) connected to the central server. The database 704 may be incorporated in the server system 700, or maybe an individual entity connected to the server system 700, or maybe a database stored in cloud storage. In one embodiment, the database 704 may store one or more vehicle identifiers (IDs) 720 associated with one or more vehicles, one or more media recordings 722 recorded using one or more cameras (i.e., dashboard or dash cameras) installed in the one or more vehicles and other necessary machine instructions required for implementing the various functionalities of the server system 700 such as firmware data, operating system, and the like.

[0052] The computer system 702 includes at least one processor 706 (herein, referred to interchangeably as ‘processor 706’) for executing instructions, a memory 708, a communication interface 710, a user interface 712, and a storage interface 714 that communicates with each other via a bus 716.

[0053] In some embodiments, the database 704 is integrated into the computer system 702. For example, the computer system 702 may include one or more hard disk drives as the database 704. A storage interface 714 is any component capable of providing the processor 706 with access to the database 704. The storage interface 714 may include, for example, an Advanced Technology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAID controller, a SAN adapter, a network adapter, and / or any component providing the processor 706 with access to the database 704. In one non-limiting example, the database 704 is configured to store one or more vehicle IDs, one or more media recordings 722, and the like.

[0054] In an implementation, the one or more vehicle IDs 720 refer to unique IDs assigned to each individual vehicle from the one or more vehicles managed or operated by the fleet operator. Each vehicle ID serves as a reference key for identifying, organizing, and retrieving vehicle-specific data, such as media recordings, time-lapse media content (i.e., time-lapse footage or snippet, and incident-related information, from the database 704. Examples of vehicle IDs include but are not limited to Alphanumeric Codes, License Plate Numbers, Vehicle Identification Number (VIN), Fleet specific IDs. In an example, if the vehicle ID of a vehicle is an Alphanumeric Code, then the vehicle ID can be ‘VEH12345’. In another example, if the vehicle ID of a vehicle is the license plate number of the said vehicle, then the vehicle ID can be ‘MH12AB1234’. It is noted that vehicle IDs enable the server system 700 to identify the correct dash camera data, allowing users to query and retrieve specific media recordings corresponding to any incident associated with any vehicle on their fleet.

[0055] In an implementation, the one or more media recordings 722 refer to video footage captured by the one or more cameras or dash cameras installed in the one or more vehicles. Herein, the term ‘media’ refers to digital recordings, including video and / or audio content, captured by anyrecording device. It is noted that the one or more media recordings 722 are generated during the operation of the one or more vehicles and are stored locally or transmitted to the database 704 for further processing, retrieval, and analysis. In various examples, the one or more media recordings 722 may include, but are not limited to, normal video recordings, time-lapse media content, and so on. It is noted that each media recording is associated with a unique vehicle ID that allows for efficient identification and extraction during the analysis process.

[0056] The user interface 712 is an interface such as a Human Machine Interface (HMI) or a software application that allows users such as an administrator (not shown) to interact with and control the server system 700 or one or more parameters associated with the server system 700. It may be noted that the user interface 712 may be composed of several components that vary based on the complexity and purpose of the application. Examples of components of the user interface 712 may include visual elements, controls, navigation, feedback and alerts, user input and interaction, responsive design, user assistance and help, accessibility features, and the like. More specifically these components may correspond to icons, layout, color schemes, buttons, sliders, dropdown menus, tabs, links, error / success messages, mouse and touch interactions, keyboard shortcuts, tooltips, screen readers, and the like.

[0057] The processor 706 includes suitable logic, circuitry, and / or interfaces to execute operations for generating time-lapse media content, incident media content, and the like. Examples of the processor 706 include, but are not limited to, an Application-Specific Integrated Circuit (ASIC) processor, a Reduced Instruction Set Computing (RISC) processor, a Graphical Processing Unit (GPU), a Complex Instruction Set Computing (CISC) processor, a Field-Programmable Gate Array (FPGA), and the like.

[0058] The memory 708 includes suitable logic, circuitry, and / or interfaces to store a set of computer- readable instructions for performing the various operations described herein. Examples of the memory 708 include a random-access memory (RAM), a read-only memory (ROM), a removable storage drive, a hard disk drive (HDD), and the like. It will be apparent to a person skilled in the art that the scope of the disclosure is not limited to realizing the memory 708 in the server system 700, as described herein. In another embodiment, the memory 708 may be realized in the form of a database server or a cloud storage working in conjunction with the server system 700, without departing from the scope of the present disclosure.

[0059] The processor 706 is operatively coupled to the communication interface 710, such that the processor 706 is capable of communicating with a remote device (i. e. , to / from a remote device 718) such as third-party servers, or with the vehicle, or communicating with any entity connected to a network.

[0060] It is noted that the server system 700 as illustrated and hereinafter described is merely illustrative of an apparatus that could benefit from embodiments of the present disclosure and, therefore, should not be taken to limit the scope of the present disclosure. It is noted that the server system 700 may include fewer or more components than those depicted in FIG. 7.

[0061] In one implementation, the processor 706 includes a media ingestion module 724, a media processing module 726, a user interface generation module 728, etc., among other necessary modules. It should be noted that components, described herein, such as the media ingestion module 724, the media processing module 726, the user interface generation module 728, etc., among other necessary modules can be configured in a variety of ways, including electronic circuitries, digital arithmetic, and logic blocks, and memory systems in combination with software, firmware, and embedded technologies. Further, each of these modules is communicably coupled to each other and may utilize the functionality of one another for performing the various operations described herein.

[0062] In an embodiment, the media ingestion module 724 includes suitable logic and / or interfaces for recording the one or more media recordings 722 using the one or more cameras (i.e. , dash cams) installed at one or more vehicles. It is noted that fleet operators often install dash cameras on their vehicles to ensure that they can record or make video recordings of their vehicles while it’s being operated by a driver or while they are parked. Generally, the said video recordings are stored either locally on the vehicle or are uploaded centrally to the database 704.

[0063] To that end, the media ingestion module 724 is configured to receive the one or more media recordings 722 from one or more cameras associated with one or more vehicles. It is noted that each media recording is recorded by an individual camera and is associated with a particular vehicle ID of a particular vehicle on which the said individual camera is installed. In an instance, each media recording may be transcoded with the particular vehicle ID based on its origin. In some instances, the metadata associated with the media recording may include a particular vehicle ID of the vehicle on which the said media recording is recorded. In a particular implementation, a media recording may include one or more video streams or views that are recorded using multiple cameras installed on the same vehicle. Further, it is noted that the one or more media recordings 722 captured by the dash cameras include timestamp and / or geo-location metadata as well. In some instances, the timestamp metadata associates each frame or segment of a particular media recording with a precise date and time. This timestamp information is generated using the internal clock or Global Positioning System (GPS) system of the dash camera and is continuously updated during the vehicle's operation. Similarly, the geo-location metadata can be associated with each frame or segment of a particular media recording and provide information related to the location of the vehicle at all times during the vehicle’s operation.

[0064] In another embodiment, in response to receiving the one or more media recordings 722, the media ingestion module 724 is configured to index and store the one or more media recordings 722 in the database 704 based, at least in part, on the particular vehicle ID associated with each media recording. In other words, the one or more media recordings 722 are organized and stored in a structured manner to enable efficient retrieval, management, and analysis. Herein, ‘indexing’ refers to the process of assigning a unique identifier, i.e., vehicle ID and metadata to each media recording.In various examples, the metadata may include but is not limited to Timestamp Information, Vehicle ID 720, Location Data, resolution, frame rate, file size, and so on.

[0065] In an embodiment, the media processing module 726 includes suitable logic and / or interfaces for processing and analyzing the one or more media recordings 722 stored on the database 704 to provide one or more functionalities to the fleet operator or user. Herein, the term user refers to any entity that requests the server system 700 for a media recording or a portion thereof for any purpose. In an aspect, the user may be associated with an electronic device. The user may use their electronic device (not shown) to access a mobile application or a website associated with the server system 700 or any third-party application for accessing the media recordings. In various non-limiting examples, an electronic device may refer to any electronic device such as, but not limited to, a Personal Computer (PC), a tablet device, a Personal Digital Assistant (PDA), a voice-activated assistant, a Virtual Reality (VR) device, a smartphone, a laptop, and so on. In some instances, the user may be required to input their credentials to authenticate their identity before they are allowed to access the media recordings. In an implementation, one or more user interfaces may be displayed to the user with the help of the user interface generation module 728 which enables the user to interact with the server system 200. To that end, in an embodiment, the user interface generation module 728 includes suitable logic and / or interfaces for facilitating the generation and rendering of one or more Graphical User Interfaces (GUIs) or simply, User Interfaces (Uls) on the display of an electronic device associated with the user. In particular, the Ul generation module 728 is configured to generate a user interface for enabling the user to interact with one or more options provided by the server system 700. Further, the Ul generation module 728 is configured to facilitate the display of the user interface 500A on the electronic device associated with the user.

[0066] In an implementation, the user interface may include at least an option for the user to generate and transmit a time-lapse request to the server system 700. Herein, the time-lapse request refers to a request generated by the user for requesting the server system 700 to share a time-lapse media content related to a particular vehicle with the user. In a specific implementation, one or more options (see, vehicle ID section 502, the date of the incident in section 504, approximate time of the incident in section 506, pre-button 508, and post-button 510 of FIG. 5A) may be provided to the user. In some instances, the user may be provided with an option (see, type of video option 512) for requesting the time-lapse as well. The said options allow the user to provide the server system 700 with a vehicle ID 720, selected time information, and predefined snippet duration information for requesting the desired time-lapse media content. Herein, the vehicle ID 720 belongs to the particular vehicle forwhich the request has to be made, the selected time information includes time and date related information of an incident of which the footage is required, and the predefined snippet duration information defines the length or duration of the time-lapse media content requested. In an implementation, the selected time information can be provided by the user to the server system 700 or the media processing module 726 using the date of the incident option in section 504, and the approximate time of the incident option in section 506 of the user interface 500A of FIG. 5A. For example, if an accident or incident takes place on 25th December 2023 ataround 10 PM, then this information can be provided by the user to the media processing module 726 using the user interface 500A generated by the user interface generation module 728.

[0067] However, since the exact timing of the incident or accident is generally not known, there exists a period of uncertainty for the user. To counter this, the user can provide a predefined snippet duration using the pre-button 508 and post-button 510 shown in FIG. 5A. In particular, the user interface includes at least an option (i.e., the pre-button 508 and post-button 510) for the user to configure the predefined snippet duration information. As described earlier, the pre-button 508 and post-button 510 allow the userto request media content recording for a defined duration before and after the selected time information that represents the approximate timing of the incident.

[0068] To that end, once this information is given by the user to the user interface, the user interface is configured to transmit the time-lapse media request for a vehicle from the user to the media processing module 726. Thus, the media processing module 726 is configured to receive the timelapse media request, including the vehicle ID 720, the selected time information, and the predefined snippet duration information.

[0069] In response to receiving the time-lapse media request, the media processing module 726 is configured to access a media recording associated with the vehicle from the database 704 associated with the server system 700 based, at least in part, on the vehicle ID 720 and the selected time information. In particular, the media processing module 726 is configured to identify the vehicle based, at least in part, on the vehicle ID 720. It is noted that since the vehicle ID 720 is unique to each vehicle, the media processing module 726 can search the database to determine the concerned vehicle. Then, the media processing module 726 is configured to identify at least one media recording associated with the vehicle in the database 704. As may be understood, since media recordings are continuously uploaded or updated for each vehicle in the database 704, multiple recordings may be present in the database 704 for a vehicle. Further, the media processing module 726 is configured to retrieve the media recording from the at least one media recording based, at least in part, on the selected time information. Returning to the previous example, if media recordings forthe month of December 2023 are available on the database 704 for the vehicle, then the media recording for the date of 25th December 2023 is retrieved.

[0070] In another embodiment, the media processing module 726 is configured to generate the timelapse media content for the user based, at least in part, on the media recording, the selected time information, and the predefined snippet duration information. In particular, the media processing module 726 is configured to extract a portion of the media recording based, at least in part, on the selected time information. Returning to the previous example, a portion of the media recording is extracted at the timestamp of 10 PM. It is noted that the duration of the portion is configured based on the predefined snippet duration information. For example, if the pre-button and post-button are set to 600 seconds respectively, then the portion will have the duration of 20 minutes ranging from 9:50 PM to 10: 10 PM. Then, the media processing module 726 is configured to generate the timelapse media content based, at least in part, on the extracted portion of the media recording. Thus,it is noted that the time-lapse media content is of a predefined duration, wherein the predefined duration is configured based on the predefined snippet duration information.

[0071] Generating the time-lapse media content includes compressing a video or sequence of images of the extracted portion of media recording by reducing the number of frames or data points captured over a given time period (i.e. , given by the predefined snippet duration information). It is noted that various known techniques may be utilized for generating the time-lapse media content, such as Frame Skipping Technique, Frame Averaging Technique, Variable Frame Rate (VFR) Generation, and so on. Since these techniques are known, they are not described herein for the sake of brevity. In an example, the time-lapse media content may be 1 minute based on the parameters selected or predefined in the user interface for generating the said time-lapse. As may be appreciated, since the time-lapse media content is shorter in duration, its size is also significantly lower than the whole 20 minute video. Thus, it can be easily and efficiently sent to the user while saving on data resources. Also, the time-lapse is essentially a fast-paced video, it becomes easier for the user to quickly review the footage without the need for him / her to skip it, thus saving time and effort on the part of the user.

[0072] Further, the media processing module 726 is configured to transmit the time-lapse media content to the user. In an implementation, in response to receiving the time-lapse media content, the user interface generation module 728 is configured to display or render the time-lapse media content to the user. Further, the user interface has at least an option for the user to generate and transmit the incident media request to the server system. Herein, the at least one option allows the user to configure the media duration information. As may be understood, once the user views the time-lapse media content, the user may locate a region of interest or the incident within the timelapse. In such a scenario, the user may pause the time-lapse media content at the time of the incident and select an option (such as button 522) for requesting the normal video or high-resolution normal-speed video or media (called, incident media content) recording from the database 704. As may be understood, this button or option may allow the user to further configure the duration of the incident media content by providing the media duration information. Herein, it is noted that the media duration information is similar to the predefined snippet duration information as it allows the userto configure the duration of the requested media content using time stamp information. To that end, the same is not described herein in further detail for the sake of brevity.

[0073] In response to the user selecting the option to request the incident media content, the user interface is configured to transmit the incident media request, including the incident timestamp information and media duration information. Herein, the incident timestamp information is automatically retrieved based on the point or timestamp at which the user has paused or stopped the time-lapse media content. In particular, the incident timestamp information is automatically extracted by the user interface based on the interaction of the user with the user interface. In some instances, the incident timestamp information may be manually provided by the user to the media processing module 726 using an option on the user interface as well.

[0074] In response to receiving the incident media request, the media processing module 726 is configured to extract incident media content from the media recording based, at least in part, on the incident time stamp information and the media duration information. Herein, the incident media content refers to a portion of interest that is related to the incident that is extracted from the overall media recording based on the incident timestamp information and the media duration information. Returning to the previous example, if the time-lapse is paused at 10:02 PM with the pre button and post button set to 300 seconds, respectively, then the incident media content will have a duration of 10 minutes ranging between 9:57 PM to 10:07 PM. Further, the media processing module 726 is configured to transmit the incident media content to the user. As may be appreciated, the various embodiments described herein allow the user to easily determine when the incident takes place by quickly analyzing the time-lapse media content. Further, the user is provided with an easily available option to obtain the actual normal footage of the incident in an intuitive manner, which significantly reduces the effort on the user’s part while being data and resource efficient.

[0075] FIG. 8 illustrates a flow diagram of a method 800 of operating the server system 700 for retrieving incident media content from a database 704, in accordance with an embodiment of the present disclosure.

[0076] The method 800 depicted in the flow diagram may be executed by, for example, the server system 700. The sequence of operations of the method 800 may not be necessarily executed in the same order as they are presented. Further, one or more operations may be grouped and performed in the form of a single step, or one operation may have several sub-steps that may be performed in parallel or in a sequential manner. Operations of the method 800, and combinations of operations in the method 800 may be implemented by, for example, hardware, firmware, a processor, circuitry, and / or a different device associated with the execution of software that includes one or more computer program instructions. The plurality of operations is depicted in the process flow of the method 800. The process flow starts at operation 802.

[0077] At 802, the method 800 includes receiving, by a server system such as the server system 700, a time-lapse media request for a vehicle from a user. Herein, the time-lapse media request includes a vehicle Identifier (ID) 720, selected time information, and predefined snippet duration information.

[0078] At 804, the method 800 includes accessing, by the server system 700, a media recording associated with the vehicle from a database 704 associated with the server system 700 based, at least in part, on the vehicle ID 720 and the selected time information.

[0079] At 806, the method 800 includes generating and transmitting, by the server system 700, timelapse media content to the user based, at least in part, on the media recording, the selected time information, and the predefined snippet duration information.

[0080] At 808, the method 800 includes receiving, by the server system 700, an incident media request from the user, the incident media request including incident timestamp information, and media duration information.

[0081] At 810, the method 800 includes extracting, by the server system 700, incident media content from the media recording based, at least in part, on the incident timestamp information and the media duration information; and

[0082] At 812, the method 800 includes transmitting, by the server system 700, the incident media content to the user.

[0083] The disclosed method with reference to FIG. 6 and FIG. 8, or one or more operations of the server system 700 may be implemented using software including computer-executable instructions stored on one or more computer-readable media (e.g., non-transitory computer-readable media, such as one or more optical media discs, volatile memory components (e.g., DRAM or SRAM), or nonvolatile memory or storage components (e.g., hard drives or solid-state nonvolatile memory components, such as Flash memory components) and executed on a computer (e.g., any suitable computer, such as a laptop computer, netbook, Web book, tablet computing device, smartphone, or other mobile computing devices). Such software may be executed, for example, on a single local computer or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a remote web-based server, a client-server network (such as a cloud computing network), or other such networks) using one or more network computers.

[0084] Additionally, any of the intermediate or final data created and used during the implementation of the disclosed methods or systems may also be stored on one or more computer-readable media (e.g., non-transitory computer-readable media) and are considered to be within the scope of the disclosed technology. Furthermore, any of the software-based embodiments may be uploaded, downloaded, or remotely accessed through a suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web (WWW), an intranet, software applications, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.

[0085] Although the invention has been described with reference to specific exemplary embodiments, it is noted that various modifications and changes may be made to these embodiments without departing from the broad scope of the invention. For example, the various operations, blocks, etc., described herein may be enabled and operated using hardware circuitry (for example, Complementary Metal Oxide Semiconductor (CMOS) based logic circuitry), firmware, software, and / or any combination of hardware, firmware, and / or software (for example, embodied in a machine-readable medium). For example, the apparatuses and methods may be embodied using transistors, logic gates, and electrical circuits (for example, Application Specific Integrated Circuit (ASIC) circuitry and / or Digital Signal Processor (DSP) circuitry).

[0086] Particularly, the server system 700 and its various components may be enabled using software and / or using transistors, logic gates, and electrical circuits (for example, integrated circuit circuitry such as ASIC circuitry). Various embodiments of the invention may include one or more computer programs stored or otherwise embodied on a computer-readable medium, wherein the computerprograms are configured to cause the processor orthe computerto perform one or more operations. A computer-readable medium storing, embodying, or encoded with a computer program, or similar language, may be embodied as a tangible data storage device storing one or more software programs that are configured to cause the processor or computerto perform one or more operations. Such operations may be, for example, any of the steps or operations described herein. In some embodiments, the computer programs may be stored and provided to a computer using any type of non-transitory computer-readable media. Non-transitory computer-readable media includes any type of tangible storage media.

[0087] Examples of non-transitory computer-readable media include magnetic storage media (such as floppy disks, magnetic tapes, hard disk drives, etc.), optical magnetic storage media (e.g. magneto-optical disks), Compact Disc Read-Only Memory (CD-ROM), Compact Disc Recordable (CD-R), compact disc rewritable (CD-R / W), Digital Versatile Disc (DVD), BLU-RAY® Disc (BD), and semiconductor memories (such as mask ROM, programmable ROM (PROM), (erasable PROM), flash memory, Random Access Memory (RAM), etc.). Additionally, a tangible data storage device may be embodied as one or more volatile memory devices, one or more non-volatile memory devices, and / or a combination of one or more volatile memory devices and non-volatile memory devices. In some embodiments, the computer programs may be provided to a computer using any type of transitory computer-readable media. Examples of transitory computer-readable media include electric signals, optical signals, and electromagnetic waves. Transitory computer-readable media can provide the program to a computer via a wired communication line (e.g., electric wires, and optical fibers) or a wireless communication line.

[0088] Various embodiments of the invention, as discussed above, may be practiced with steps and / or operations in a different order, and / or with hardware elements in configurations, which are different than those which are disclosed. Therefore, although the invention has been described based on these exemplary embodiments, it is noted that certain modifications, variations, and alternative constructions may be apparent and well within the scope of the invention.

[0089] Although various exemplary embodiments of the invention are described herein in a language specific to structural features and / or methodological acts, the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as exemplary forms of implementing the claimsj

Claims

Claims

1. A computer-implemented method, comprising: receiving, by a server system, a time-lapse media request for a vehicle from a user, the time-lapse media request comprising a vehicle Identifier (ID), selected time information, and predefined snippet duration information; accessing, by the server system, a media recording associated with the vehicle from a database associated with the server system based, at least in part, on the vehicle ID and the selected time information; generating and transmitting, by the server system, time-lapse media content to the user based, at least in part, on the media recording, the selected time information, and the predefined snippet duration information; receiving, by the server system, an incident media request from the user, the incident media request comprising incident timestamp information and media duration information; extracting, by the server system, incident media content from the media recording based, at least in part, on the incident timestamp information and the media duration information; and transmitting, by the server system, the incident media content to the user.

2. The computer-implemented method as claimed in claim 1 , wherein accessing the media recording comprises: identifying, by the server system, the vehicle based, at least in part, on the vehicle ID; identifying, by the server system, at least one media recording associated with the vehicle in the database; and retrieving, by the server system, the media recording from the at least one media recording based, at least in part, on the selected time information.

3. The computer-implemented method as claimed in claim 1 , wherein generating the time-lapse media content comprises:extracting, by the server system, a portion of the media recording based, at least in part, on the selected time information; and generating, by the server system, the time-lapse media content based, at least in part, on the extracted portion of the media recording.

4. The computer-implemented method as claimed in claim 3, wherein the time-lapse media content is of a predefined duration, wherein the predefined duration is configured based on the predefined snippet duration information.

5. The computer-implemented method as claimed in claim 1 , further comprising: receiving, by the server system, one or more media recordings from one or more cameras associated with one or more vehicles, wherein each media recording is recorded by an individual camera and is associated with a particular vehicle ID; and indexing and storing, by the server system, the one or more media recordings in the database based, at least in part, on the particular vehicle ID associated with each media recording.

6. The computer-implemented method as claimed in claim 1 , further comprising: generating, by the server system, a user interface for enabling the user to interact with one or more options provided by the server system; and facilitating, by the server system, display of the user interface on an electronic device associated with the user.

7. The computer-implemented method as claimed in claim 6, wherein the user interface comprises at least an option for the user to configure the predefined snippet duration information.

8. The computer-implemented method as claimed in claim 6, wherein the user interface comprises at least an option for the user to generate and transmit the time-lapse media request to the server system.

9. The computer-implemented method as claimed in claim 6, wherein the user interface comprises at least an option for the user to generate and transmitthe incident media request to the server system, wherein the at least one option allows the user to configure the media duration information.

10. A server system, comprising: a communication interface; a memory configured to store instructions; and a processor in communication with the communication interface and the memory, the processor configured to execute the instructions stored in the memory and thereby cause the server system to perform at least in part to: receive a time-lapse media request for a vehicle from a user, the timelapse media request comprising a vehicle Identifier (ID), selected time information, and predefined snippet duration information; access a media recording associated with the vehicle from a database associated with the server system based, at least in part, on the vehicle ID and the selected time information; generate and transmit time-lapse media content to the user based, at least in part, on the media recording, the selected time information, and the predefined snippet duration information; receive an incident media request from the user, the incident media request comprising incident timestamp information and media duration information; extract incident media content from the media recording based, at least in part, on the incident timestamp information and the media duration information; and transmit the incident media content to the user.

11. The server system as claimed in claim 10, wherein to access the media recording, the server system is caused to: identify the vehicle based, at least in part, on the vehicle ID; identify at least one media recording associated with the vehicle in the database; andretrieve the media recording from the at least one media recording based, at least in part, on the selected time information.

12. The server system as claimed in claim 10, wherein to generate the timelapse media content, the server system is caused to: extract a portion of the media recording based, at least in part, on the selected time information; and generate the time-lapse media content based, at least in part, on the extracted portion of the media recording.

13. The server system as claimed in claim 12, wherein the time-lapse media content is of a predefined duration, wherein the predefined duration is configured based on the predefined snippet duration information.

14. The server system as claimed in claim 10, wherein the server system is further caused to: receive one or more media recordings from one or more cameras associated with one or more vehicles, wherein each media recording is recorded by an individual camera and is associated with a particular vehicle ID; and index and store the one or more media recordings in the database based, at least in part, on the particular vehicle ID associated with each media recording.

15. The server system as claimed in claim 10, wherein the server system is further caused to: generate a user interface for enabling the user to interact with one or more options provided by the server system; and facilitate display of the user interface on an electronic device associated with the user.

16. The server system as claimed in claim 15, wherein the user interface comprises at least an option for the user to configure the predefined snippet duration information.

17. The server system as claimed in claim 15, wherein the user interface comprises at least an option for the user to generate and transmit the timelapse media request to the server system.

18. The server system as claimed in claim 15, wherein the user interface comprises at least an option for the user to generate and transmit the incident media request to the server system, wherein the at least one option allows the user to configure the media duration information.

19. A non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed by at least a processor of a server system, cause the server system to perform a method comprising: receiving a time-lapse media request for a vehicle from a user, the timelapse media request comprising a vehicle Identifier (ID), selected time information, and predefined snippet duration information; accessing a media recording associated with the vehicle from a database associated with the server system based, at least in part, on the vehicle ID and the selected time information; generating and transmitting time-lapse media content to the user based, at least in part, on the media recording, the selected time information, and the predefined snippet duration information; receiving an incident media request from the user, the incident media request comprising incident timestamp information and media duration information; extracting incident media content from the media recording based, at least in part, on the incident timestamp information and the media duration information; and transmitting the incident media content to the user.

20. The non-transitory computer-readable storage medium as claimed in claim 19, wherein the method further comprises: receiving one or more media recordings from one or more cameras associated with one or more vehicles, wherein each media recording isrecorded by an individual camera and is associated with a particular vehicle ID; and indexing and storing the one or more media recordings in the database based, at least in part, on the particular vehicle ID associated with each media recording.