Selective location detection using image data

EP4666586A1Pending Publication Date: 2025-12-24AXON ENTERPRISE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2024757719
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-02-15
Filing Date
2024-02-15
Publication Date
2025-12-24

AI Technical Summary

Technical Problem

Mobile recording devices, such as wearable cameras, face challenges in determining their location in various environments due to interference from structures that block or attenuate long-range radio signals, leading to inaccurate or unavailable location data.

Method used

The device processes image data to determine its location using visual odometry and visual inertial odometry analyses, allowing it to generate updated location data even when traditional location sensors are unreliable, by combining relative and absolute location information.

Benefits of technology

Enables accurate and continuous location determination of mobile recording devices in environments where traditional location methods fail, ensuring reliable location data for incident reconstruction and resource dispatching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024016055_22082024_PF_FP
    Figure US2024016055_22082024_PF_FP
Patent Text Reader

Abstract

Systems, methods, and devices are provided for selectively detecting a location using image data. The location may be a location of a recording device. The location may be determined via a location sensor of the recording device. Image data may be captured via an image sensor of the recording device. A location degradation event associated with the location sensor may be detected. Responsive to detecting the location degradation event, the location of the recording device may be updated based on the image data to provide an updated location.
Need to check novelty before this filing date? Find Prior Art

Description

TITLE: SELECTIVE LOCATION DETECTION USING IMAGE DATAFIELD

[0001] Embodiments of the present disclosure relate to systems for selectively detecting a location of a recording device using image data.BACKGROUND

[0002] Mobile recording devices may be disposed in various environments. For example, a wearable camera device may capture video data in both indoor and outdoor environments. A location at which the wearable camera device is positioned while recorded data is captured may further provide various benefits. For example, the location of a wearable camera device may enable an incident at which video data is captured to be reconstructed. The location of the wearable camera device may also enable additional resources to be dispatched to the location of the wearable camera device. For example, additional first responders may be dispatched to the location of a wearable camera device worn by another first responder when the location of the wearable camera device is known. However, the various environments in which a mobile recording device may be disposed may preclude or otherwise negatively impact an ability of a mobile recording device to determine its location. Embodiments according to various aspects of the present disclosure address technical challenges in obtaining a location of a mobile recording device in different environments.BRIEF DESCRIPTION OF THE DRAWINGS

[0003] The subject matter of the present disclosure is particularly pointed out and distinctly claimed in the concluding portion of the specification. A more complete understanding of the present disclosure, however, may best be obtained by referring to the detailed description and claims when considered in connection with the following illustrative figures. In the following figures, like reference numbers refer to similar elements and steps throughout the figures.

[0004] FIG. 1 is a block diagram illustrating components of a system for selectively detecting a location of a mobile recording device in accordance with various embodiments;

[0005] FIG. 2 is a flow diagram of various information that may be provided in an exemplary implementation of a mobile recording device, in accordance with various embodiments;

[0006] FIG. 3 is a block diagram of an exemplary recording device, in accordance with various embodiments;

[0007] FIG. 4 is a block diagram of an exemplary recording device having location detecting components, in accordance with various embodiments; and

[0008] FIG. 5 illustrates a process flow for a method of selectively detecting a location of a mobile recording device in accordance with various embodiments.

[0009] Elements and steps in the figures are illustrated for simplicity and clarity and have not necessarily been rendered according to any particular sequence. For example, steps that may be performed concurrently or in different order are illustrated in the figures to help to improve understanding of embodiments of the present disclosure.DETAILED DESCRIPTION

[0010] The detailed description of various embodiments refers to the accompanying drawings, which show various embodiments by way of illustration. While these various embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, it should be understood that other embodiments may be realized, and that logical and physical changes may be made without departing from the spirit and scope of the disclosure. Thus, the detailed description is presented for purposes of illustration only and not of limitation. For example, the steps recited in any of the method or process descriptions may be executed in any order and are not limited to the order presented. Moreover, any of the functions or steps may be outsourced to or performed by one or more third parties. Furthermore, any reference to singular includes plural embodiments, and any reference to more than one component may include a singular embodiment.

[0011] As discussed herein, an incident (or similar terms and phrases, such as an emergency) refers to human or animal activities and to a period of time while these activities take place. Incidents include, for example, formation of agreements, transactions, negotiations, discussions, ceremonies, meetings, medical procedures, sporting events, crimes, attempted crimes,disagreements, assaults, conflicts, discoveries, research, investigations, surveillance, and / or the like. Incidents may include consequences including changes to property such as improvements, repairs, construction, production, manufacture, growth, harvesting, damage, loss, theft, burglary, arson, goods damaged in shipment, conditions of real estate, and / or conditions of agricultural and forestry property. An incident may include damage to property and / or injury to persons or animals. Damage to property or injury to persons or animals may be accidental or brought on by the action or failure to act of one or more persons. Incidents include information valuable for risk management, insurance, claims, achievements, sports records, news reporting, entertainment, and / or the like.

[0012] Information (e.g., data, audio, visual, location, environmental, etc.) gathered about an incident may describe the incident. Information may include facts about the activities of the incident, consequences of the incident, time of the incident, location of the incident, and identity of humans, animals, or objects related to the incident. Information about an incident may form a report of an incident (e.g., an incident report). Information about the incident may be gathered before, during, or after an incident. Incident information may be recorded (e.g., audio, video) to document an incident at the time of occurrence. Recording incident information captures at least some of the information about the incident. Recording further protects against loss of information, for example, by physical loss or by faulty human memory. For example, incident responders may capture audio and / or visual information of the incident. The audio and / or visual information may be captured by an incident recording device, such as, for example, a body-worn camera, a smart phone or internet of things (loT) device, a vehicle-mounted camera, a surveillance camera, and / or any other recording device discussed herein.

[0013] One or more incident responders may respond or help before, during, or after an incident. For example, in response to an incident including a fire (e.g., burning building, house fire, etc.), incident responders may typically include a law enforcement officer, a firefighter, a medical responder (e.g., an emergency medical technician (EMT), a paramedic, an ambulance technician, etc.). As a further example, in response to an incident including a crime or attempted crime, incident responders may include one or more law enforcement officers.

[0014] In various embodiments, and with reference to FIG. 1, a system 100 for selectively detecting a location of a recording device (e.g., a mobile recording device) is disclosed.

[0015] System 100 may include one or more users that are each respectively associated with a recording device. The recording device may comprise a portable device. The recording device may comprise a mobile device. For example, user 112 may be associated with a recording device comprising camera device 110. In various embodiments, any user described herein may be an incident responder. An incident responder may include an individual, or group of individuals, that performs incident services. For example, an incident responder may be a law enforcement officer, a firefighter, an emergency medical technician (EMT), a paramedic, an ambulance technician, an animal control officer, a utility service personnel, and / or the like. The incident responder may be a government employee or a private employee (e.g., a security guard).

[0016] As an example, and in accordance with various embodiments, user 112 may have camera device 110. Camera device 110 is illustrated in an expanded view via an inset circular region in FIG. 1 for purposes of clarity. Camera device 110 may be mounted to user 112. Camera device 110 may be configured to capture various data associated with user 112. For example, camera device 110 may capture image data comprising one or more images. The image data may comprise video data that includes a sequence of a plurality of captured images. Camera device 110 may also capture location data. The location data may be captured based on one or more radio signals. The radio signals may comprise long range radio signals. For example, camera device 110 may be configured to detect its location based on one or more signals 122 received from at least one navigation satellite 120. Camera device 110 may detect its location in accordance with a plurality of received signals from a plurality of navigation satellites. The received signals may enable camera device 110 to detect its absolute location in a physical environment. In embodiments, other radio signals that may enable a location to be detected may be received by camera device 110. For example, camera device 110 may receive cellular radio signal that may augment the one or more signals 122 received from satellite 120.

[0017] In embodiments, satellite 120 may be a satellite of a satellite-based radionavigation system. The system may comprise a global navigation system. For example, satellite 120 may be part of a Global Positioning System (GPS) or other global navigation satellite system (GNSS) that enables a computing device (e.g., camera device 110) to determine its location. In combination with a cellular radio signals, satellite 120 may be part of an Assisted Global Positioning System (A-GPS) or other augmented global navigation satellite system. In embodiments, camera device 110 may comprise a cellular position system that enables its location to be determined using atleast one radio signal from one or more cell towers. The cellular position system may enable the location of camera device 110 to be determined using cellular radio signals, independent of, or without requiring receipt of a satellite radio signals 122, WIFI signals, or other types of short-range or long-range radio signals.

[0018] In various embodiments, user 112 may move through different environments. The environments may comprise indoor and outdoor environments. For example, user 112 may travel through an environment represented in FIG. 1. User 112 may travel through the environment from the left side of FIG. 1 to the right side of FIG. 1 as shown by the arrows adjacent to user 112 on the left side of FIG. 1. For example, at a first time Tl, user 112 and camera device 110 may be disposed at a first location LI; at a second time T2, user 112 and camera device 110 may be disposed at a second location L2; at a third time T3, user 112 and camera device 110 may be disposed at a third location L3; and at a fourth time T4, user 112 and camera device 110 may be disposed at a fourth location L4. In the example embodiment, second time T2 occurs chronologically after first time Tl, third time T3 occurs chronologically after second time T2, and fourth time T4 occurs chronologically after third time T3.

[0019] In various embodiments, user 112 and camera device 110 may enter and / or exit a structure 130. Structure 130 may comprise an enclosed structure. Structure 130 may comprise a stationary structure. For example, structure 130 may comprise one of a building or tunnel. For purposes of illustration, FIG. 1 illustrates movement of camera device 110 in a lateral direction from left and right. However, and according to various aspects of the present disclosure, camera device 110 may move in a vertical direction and / or a horizontal direction perpendicular to the lateral direction illustrated in FIG. 1. For example, user 112 may transport camera device 110 in a vertical direction up a set of stairs inside structure 130 as shown in FIG. 1. However, and despite a relative change in location of camera device 110, structure 130 may prevent camera device 110 from detecting its location via one or more long-range radio signals while camera device 110 is positioned inside structure 130.

[0020] In various embodiments, structure 130 may interfere with one or more radio signals by which camera device 110 detects a location of camera device 110. Structure 130 may block or attenuate the radio signals. Structure 130 may reflect the one or more radio signals, thereby causing multipath interference. Structure 130 may interfere with the one or more radio signals when the camera device 110 is inside or proximate to structure 130. For example, and a first timeT1 camera device 1 10 may receive a first radio signal 122-1 at first location LI and determine information identifying first location LI (i.e., first location information) at least in part based on first radio signal 122-1. At a later time, second time T2, structure 130 may interfere with second radio signal 122-2. At second time T2, camera device 110 may be physically unable to receive second radio signal 122-2 in a manner that enables camera device 110 to determine information identifying second location L2. As user 112 and camera device 110 move through structure 130, other signals of the radio signals 122 may be degraded such that camera device 110 is prevented from determining an absolute location of camera device 110. For example, at third time T3, camera device 110 may be physically unable to receive second radio signal 122-2 or another radio signal from satellite 120 in a manner that enables camera device 110 to determine information identifying third location L3. At a further later time, fourth time T4, camera device 110 may be position at a fourth location L4 at which camera device 110 is enabled to receive third radio signal 122-3 and determine information identifying fourth location L4. At fourth time T4, camera device may be disposed outside structure 130.

[0021] In embodiments, a delay may occur between when camera device 110 is no longer able to determine its location using information from long-distance radio signals such as signals. For example, camera device 110 may be configured or otherwise only enabled to determine its location periodically using the long-range radio signals. Alternately or additionally, location data identifying a location of camera device 110 may be updated periodically and / or retry to receive a long-range radio signal before determining that interference has occurred. For example, interference may degrade one or more long range radio signals at second time T2 while camera device 110 is disposed at second location L2. However, camera device 110 may not determine that location data is no longer available and / or accurate until camera device is positioned at third location L3 at third time T3. In such an arrangement, camera device 110 may be unable determine its current absolute location at time T3. Camera device 110 may also be prevented from determining its last known absolute location. Particularly, camera device 110 may be prevented from being able to share, record, or otherwise determine a last known accurate location at which camera device 110 was positioned prior to interference and / or loss of one or more radio signals on which its location was previously determined.

[0022] Embodiments according to various aspects of the present disclosure address the technical issues identified above. Particularly, various embodiments enable a location of a mobilerecording device to be determined using other information recorded by the recording device. For example, a camera device according to various aspects of the present disclosure may be configured to selectively process image data captured by the camera device to determine an updated location of the camera device.

[0023] In various embodiments, and with reference to FIG. 3, an exemplary recording device 310 is disclosed. Recording device 310 may comprise a mobile recording device. Although depicted in FIG. 3 as a body -worn camera, recording device 310 may comprise any suitable device, computer-based system, camera, vehicle-mounted camera, surveillance camera, and / or the like configured to capture audio, images, and / or audio-visual data. In embodiments, recording device 310 may correspond to camera device 110 with brief reference to FIG. 1.

[0024] With specific reference to FIG. 3, and in accordance with various embodiments, recording device 310 may comprise one or more of a body 311, an image capturing system 320, an audio capturing system 330, and / or a user interface 340. Body 311 may comprise a housing. Body 311 may comprise mechanical features configured to couple recording device 310 to a surface. For example, body 311 may be configured to couple to clothing of a user. In other embodiments, body 311 may be configured to mount on a vehicle or similar platform. Body 311 may be configured to house (fully and / or at least partially) various mechanical, electrical, and / or electronic components configured to aid in performing the functions of recording device 310. For example, body 311 may be configured to house one or more components depicted in FIG. 4.

[0025] In embodiments, image capturing system 320 may be configured to capture image data. For example, the image capture system 320 may comprise at least one image sensor. The image sensor may be oriented in a forward direction relative to body 311. Image capture system 320 may be oriented to capture a field of view in front of an object to which recording device 310 is mounted.

[0026] In embodiments, audio capturing system 330 may be configured to capture audio data. For example, the audio capture system 330 may comprise at least one microphone. In some embodiments, the microphone may be aligned with an image sensor of image capturing system 320. Audio capture system 330 may be oriented to capture audio in a same direction in which a field of image capture system 320 is oriented.

[0027] In embodiments, user interface 340 may be configured to provide information regarding operation of recording device 300. For example, user interface 340 may comprise one moredisplays by which information regarding a state of operation of recording device 300 may be provided. Alternately or additionally, user interface 340 may comprise one or more input devices by which operation of recording device 300 may be controlled. For example, user interface 340 may comprise a button. Selectively actuation of the button of user interface may initiate and / or discontinue recording of event data by recording device 300.

[0028] With specific reference to FIG. 4, and in accordance with various embodiments, recording device 410 may be provided. Recording device 410 may be configured to perform one or more operations of camera device 110 and / or recording device 310 with brief reference to FIGs. 1 and 3. Recording device 410 may comprise one or more of a processor 411, a memory 415, a network interface 464, image capturing system 420, audio capturing system 430, and / or user interface 440. In embodiments, recording device 410 may further comprise one or more sensors. For example, recording device 410 may comprise a location sensor 460. The location sensor 460 may comprise one or more of network interface 464 and satellite navigation receiver 462. Recording device 410 may further comprise an inertial motion sensor 450. Recording device 410 may further comprise power supply 470.

[0029] In various embodiments, processor 411 may comprise circuitry, electrical components, electronic components, software, and / or the like configured to perform various operations and functions discussed herein. For example, processor 411 may comprise a processing circuit, a processor, a digital signal processor, a microcontroller, a microprocessor, an application specific integrated circuit (ASIC), a programmable logic device, logic circuitry, state machines, MEMS devices, signal conditioning circuitry, communication circuitry, a computer, a computer-based system, a radio, a network appliance, a data bus, an address bus, and / or combination(s) thereof. In various embodiments, processor 411 may include passive electronic devices (e.g., resistors, capacitors, inductors, etc.) and / or active electronic devices (e.g., op amps, comparators, analog-to- digital converters, digital-to-analog converters, programmable logic, SRCs, transistors, etc.). In various embodiments, processor 411 may include data buses, output ports, input ports, timers, memory, arithmetic units, and / or the like.

[0030] Processor 411 may be configured to provide and / or receive electrical signals whether digital and / or analog in form. Processor 411 may provide and / or receive digital information via a data bus using any protocol. Processor 411 may receive information, manipulate the received information, and provide the manipulated information. Processor 411 may store (e.g., buffer,record, etc.) information and retrieve stored information. Information received, stored, and / or manipulated by processor 411 may be used to perform a function, control a function, and / or to perform an operation or execute a stored program.

[0031] Processor 411 may control the operation and / or function of other circuits and / or components of recording device 410. Processor 411 may receive status information regarding the operation of other components, perform calculations with respect to the status information, and provide commands (e.g., instructions) to one or more other components. Processor 411 may command another component to start operation, continue operation, alter operation, suspend operation, cease operation, or the like. Commands and / or status may be communicated between processor 411 and other circuits and / or components via any type of bus (e.g., serial peripheral interface (SPI) bus) including any type of data / address bus.

[0032] In various embodiments, processor 411 may be in electrical and / or electronic communication with memory 415, network interface 464, image capturing system 420, inertial motion sensor 450, location sensor 460, power supply 470, and / or audio capturing system 430. Processor 411 may be in electrical, electronic, and / or mechanical communication with user interface 440. In embodiments, recording device 410 may comprise a processing circuit that comprises processor 411 and memory 415. Processor 411 and memory 415 may perform operations of a processing circuit according to various aspects of the present disclosure.

[0033] In various embodiments, memory 415 may comprise one or more memory, data structures, or the like configured to store data, programs, and / or instructions. Memory 415 may be in electrical and / or electronic communication with processor 411, network interface 464, inertial motion sensor 450, location sensor 460, power supply 470, image capturing system 420, and / or audio capturing system 430.

[0034] In an embodiment, memory 415 may comprise a tangible, non-transitory computer- readable memory. Instructions stored on the tangible non-transitory memory may allow processor 411 to perform various operations, functions, and / or steps, as described herein. For example, in response to processor 411 executing the instructions on the tangible non-transitory memory, processor 411 may communicate with image capturing system 420 to capture image data, store image data, and generate updated location data based on the image data. Memory 415 may store instructions that enable processor to perform one or more operations of a visual odometry (VO) and / or visual inertial odometry (VIO) analysis 412 on image data captured by camera device 410,a location degradation analysis 413 to detect a location degradation event, and / or an image analysis 414 to detect the location degradation event in accordance with various aspects of the present disclosure. Processor 411 may execute the instructions in response to operation of user interface440 and / or automatically, as discussed further herein. In embodiments, memory 415 may also be configured to receive, record, and maintain incident recordings, including captured image and location data. In that regard, memory 415 may include a storage medium, data structure, database, memory unit, hard-disk drive (HDD), solid state drive (SSD), removable memory, and / or the like.

[0035] In various embodiments, memory 415 may comprise a buffer 417. Buffer 417 may temporarily store captured data. Buffer 417 may temporarily store an amount of data corresponding to a predetermined period of time prior to a present time. Buffer 417 may temporarily retain the data in volatile memory. Buffer 417 may comprise a circular buffer. In buffer 417, the data may be buffered such that an oldest portion of data in a buffer is overwritten with another portion of data most recently captured by the recording device. The oldest portion may have been stored in the buffer for the predetermined period of time. The data may be retained in buffer 417 for the predetermined period of time. After a portion of the data has been buffered for the predetermined period of time, the portion may be deleted, overwritten, erased, or otherwise rendered inaccessible to processor 411 of camera device 410. The data may be deleted such that only another portion of the data most recently captured by the recording device may be buffered or otherwise made available on the recording device. Buffer 417 may enable data (e.g., pre-event data) to be captured prior to occurrence of an incident. The data may include image data. The data may include image data (e.g., pre-event image data, pre-event video data, combinations of preevent image data and pre-event video data, etc.). For example, the pre-event recording may comprise image and / or audio data for a period of time corresponding to thirty seconds immediately prior to the occurrence of the incident. By buffering data in buffer 417, camera device 410 may enable such data to be permanently saved in memory 415 when the incident occurs. Such data may enable activity to prior to an incident to be available for subsequent review after the incident has concluded. If an incident does not occur, data in the buffer may be deleted and new data may be temporarily preserved for a subsequent period of time in which an incident may or may not subsequently occur. In embodiments according to various aspects of the present disclosure, buffer 417 may also preserve data that enables a location of camera device 410 to be selectively reconstructed.

[0036] Network interface 464 may be configured to enable the transmission and / or reception of data between recording device 410 and one or more additional devices, servers, networks, or the like. Network interface 464 may be in electric and / or electronic communication with processor 411 and / or memory 415. Network interface 464 may comprise one or more suitable hardware and / or software components capable of enabling the transmission and / or reception of data, such as, for example, a communications unit, as discussed further herein. In various embodiments, network interface 464 may receive data associated with determining a location of recording device 410 via one or more long-distance radio signals. For example, network interface 464 may receive one or more cellular radio signals. A location sensor 460 comprising network interface 464 may enable a location of recording device 410 to be determined based on the one or more cellular radio signals. In some embodiments, location sensor 460 may optionally comprise network interface 464. For example, and in some embodiments, location sensor 460 may comprise satellite navigation receiver 462 independent of whether the recording device includes or excludes a network interface.

[0037] Image capturing system 420 may be configured to capture an image or series of images (e.g., video). In embodiments, image capturing system 420 may perform one or more operations of image capture system 320 with brief reference to FIG. 3. For example, during an incident recording image capturing system 420 may be configured to capture images and / or video of the incident recording. Image capturing system 420 may comprise various hardware and / or software components configured to capture images and / or video. For example, image capturing system 420 may comprise one or more cameras configured to capture images and / or video. Image capturing system 420 may be in electric and / or electronic communication with processor 411 and / or memory 415. Processor 411 may control (e.g., instruct) image capturing system 420 to begin capturing images and to end capturing of the images. Processor 411 may also control (e g., instruct) image capturing system 420 to transmit the captured images to memory 415 for storage. Image capturing system 420 may transmit (e.g., stream) the captured images to memory 415 as the images are captured or in response to image capturing system 420 ending capturing of the images.

[0038] Audio capturing system 430 may be configured to capture audio. In embodiments, audio capturing system 430 may perform one or more operations of audio capture system 330 with brief reference to FIG. 3. For example, during an incident recording audio capturing system 430 may be configured to capture audio data of the incident recording. Audio capturing system 430 maycomprise various hardware and / or software components configured to capture audio. For example, audio capturing system 430 may comprise one or more microphones configured to capture audio. Audio capturing system 430 may be in electric and / or electronic communication with processor 411 and / or memory 415. Processor 411 may control (e.g., instruct) audio capturing system 430 to begin capturing audio and to end capturing of the audio. Processor 411 may also control (e.g., instruct) audio capturing system 430 to transmit the captured audio to memory 415 for storage. Audio capturing system 430 may transmit (e.g., stream) the captured audio to memory 415 as the audio is captured or in response to audio capturing system 430 ending capturing of the audio.

[0039] User interface 440 may be configured to enable a user to interact with recording device 410. For example, user interface 440 may be configured to enable the user to control operation of recording device 410, including starting and stopping audio and / or image recording. As a further example, user interface 440 may enable a user to control the ingestion and transmission of audio, including communication audio data, the volume of audio output, and / or the like. User interface 440 may be in electrical, electronic, and / or mechanical communication with processor 411 and / or other components of recording device 410.

[0040] User interface 440 may comprise suitable hardware, software, mechanical, and / or electronic components configured to enable the user interaction. In embodiments, user interface 440 may perform one or more operations of user interface 340 with brief reference to FIG. 3. For example, and in accordance with various embodiments, user interface 440 may comprise a button, switch, or the like. In that regard, user interface 440 may be configured to move, slide, rotate, or otherwise become physically depressed or moved upon application of physical contact. As a further example, and in accordance with various embodiments, user interface 440 may comprise a touchscreen or similar interface enabling user input. As a further example, and in accordance with various embodiments, user interface 440 may include voice control technology. In that regard, user interface 440 may at least partially integrate with audio capturing system 430 to receive voice commands (e.g., “Record”, “Stop Record”, “Capture Image”, “Record Audio”, “Start Communication”, etc.). Voice command technology is well known in the art, and user interface 440 may implement any suitable voice command technology. In embodiments, actuation of user interface 440 may indicate an incident for which data should be saved. Upon the actuation of user interface 440, data buffered in buffer 417 may be further saved in memory 415.

[0041] Tn various embodiments, recording device 410 may comprise an inertial motion sensor 450. Inertial motion sensor 450 may comprise an inertial motion unit. Inertial motion sensor 450 may comprise one or more gyroscopes, accelerometers, and / or magnetometers. Inertial motion sensor 450 may detect a relative movement and / or orientation of recording device 410. Inertial motion sensor 450 may detect angular and / or movement of recording device 410. In embodiments, inertial motion sensor 450 may generate motion data indicating relative location information regarding recording device 410. The relative location information may identify relative changes in location of recording device 410 over time. In some embodiments, motion data generated by inertial motion sensor 450 may be buffered in buffer 417 while video data generated by image capturing system 420 is also buffered in buffer 417.

[0042] In various embodiments, recording device 410 may comprise location sensor 460. Location sensor 460 may be configured to determine a location of recording device 410 in accordance with one or more long-range radio signals. The location may comprise an absolute location of recording device 410. The location may comprise a physical location of recording device 410. The location may comprise a geophysical location of recording device 410. For example, location sensor 460 may be configured to receive one or more radio signals 122 and determine a location of recording device 410. Location sensor 460 may generate location data. The location data may comprise a sequence of location information detected at different points in time. Each location information of the location data may identify a corresponding location of recording device 410 at a given time. For example, location data determined by location sensor 460 may comprise location information identifying first location LI as being determined at first time T1 with brief reference to FIG. 1. In some embodiments, location data generated by location sensor 460 may be buffered in buffer 417 while video data generated by image capturing system 420 is also buffered in buffer 417. In some embodiments, location data generated by location sensor 460 may be stored in memory 415 with video data generated by image capturing system 420. The location data may be stored in memory 415 with video data captured at same respective times at which location data is generated.

[0043] In embodiments, location sensor 460 may comprise satellite navigation receiver 462. Satellite navigation receiver 462 may receive one or more signals from one or more navigation satellites. For example, satellite navigation receiver 462 may receive first radio signal 122-1 from satellite 120 with brief reference to FIG. 1. Satellite navigation receiver 462 may be furtherconfigured to generate location data based on the one or more signals. The location data may identify an absolute location of recording device 410.

[0044] In embodiments, location sensor 460 may comprise network interface 464. Network interface 464 may receive one or more long-range radio signals. For example, network interface 464 may receive one or more cellular radio signals. In embodiments, location sensor 460 may determine a location of recording device 410 in accordance with the long-range radio signals received by network interface 464 and / or satellite navigation receiver 462. In embodiments, the long-range radio signals received by network interface 464 and / or satellite navigation receiver 462 may encounter interference. The interference may cause location data generated by location sensor 460 to be inaccurate and / or may prevent the location data from being generated during a period in which the interference occurs. In embodiments according to various aspects of the present disclosure, recording device 410 may be configured to update a location of recording device 410 based on image data captured by image capturing system 420. The image data may be used to generate location data instead of location sensor 460 when radio signals otherwise used by network interface 464 and / or navigation receiver 462 may be faulty or unavailable. In such embodiments, recording device 410 may selectively generate updated location data based on processing the image data, including as further discussed herein.

[0045] In embodiments, recording device 410 may comprise a power supply 470. The power supply 470 may be coupled to other components of 410 to provide electrical power to these components. Power supply 470 may comprise a finite amount of energy storage. For example, power supply 470 may comprise a rechargeable battery. Power supply 470 may be disconnected from an external power source while recording device 410 is mounted on a user. The period of time over which recording device 410 may store data based on power from power supply 470 may be impacted by a consumption of power from power supply 470 over time. Certain operations may consume more power than other operations. For example, a VO / VIO analysis 412, when executed on image data by processor 411, may consume a relatively higher amount of power from power supply 470, thereby a decreasing a period of time over which recording device 410 may have sufficient power to store data. Other operations, such as determining location data by location sensor 460 may consume a relatively lower amount of power. In embodiments according to various aspects of the present disclosure, one or more operations may be selectively performed byrecording device 410 in order to preserve power from power supply 470 while yet enabling a location of recording device 410 to be determined.

[0046] Referring now to FIGs. 2 and 5, the process flows depicted are merely embodiments and are not intended to limit the scope of the disclosure. For example, the steps recited in any of the method or process descriptions may be executed in any order and are not limited to the order presented. It will be appreciated that the following description makes appropriate references not only to the steps depicted in FIGs. 2 and 5, but also to the various system components as described above with reference to FIGs. 1 and 3-4. References to system components of a specific figure should not be construed as limiting, as relationships indicated by such references may also apply to one or more system components described in a same figure or other figures.

[0047] In various embodiments, and with specific reference to FIG. 5, a method 500 for selectively detecting a location using image data is disclosed. In embodiments, method 500 may be performed by a recording device. The recording device may comprise one or more of camera device 110, camera device 310, and / or camera device 410 with brief reference to FIGs. 1, 3, and 4. The recording device may also be configured to perform one or more steps of method 500 and / or another method or process disclosed herein. In embodiments, method 500 may comprise one or more of storing image data 510, storing motion data 520, storing location data 530, detecting a location based on location data 540, detecting a location degradation event 550, and updating a location to provide an updated location 560. In embodiments, detecting a location degradation event 550 may comprise one or more of detecting the device entered a structure 552 and / or detecting a decrease in accuracy of location data 555. In embodiments, detecting the decrease in accuracy of location data 555 may comprise one or more of detecting a signal strength and / or decrease in signal strength greater than a threshold value 557 and / or receiving a lost signal notification 559. In embodiments, updating a location to provide an updated location 560 may comprise one or more of applying at least one of a visual odometry analysis and / or visual inertial odometry analysis 562, retrieving an absolute location from location data 564, and / or combining location information to generate updated location data 566. In some embodiments, the applying 562 may generate relative location information or data. In some embodiments, the combining 566 may comprise combining an absolute location and a relative location to generate an updated location. The combining may generate updated location data in accordance with relative location data generated from image data being applied to location data generated by a location sensor. Theupdated location data may comprise updated absolute location data identifying one or more updated absolute locations over time.

[0048] In various embodiments, method 500 may employ data captured on a recording device. The data may comprise buffered data temporarily stored on the recording device. The data may comprise data captured over time by the recording device. The recording device may be configured to buffer image data and location data for a period of time, the recording device may further buffer motion data. The recording device may buffer the data continuously and / or automatically over time. Method 200, with brief reference to FIG. 2, comprises an example method of providing data over time by a recording device. Providing the data may comprise capturing and storing the data. Storing the data may comprise buffering the data. Providing the data may further comprise generating updated location data as further disclosed herein. The data may be provided in accordance with one or more operations of method 500. For purposes of illustration, exemplary aspects of method 500 are further disclosed below with brief reference to method 200 further illustrated in FIG. 2.

[0049] After a start of method 500, and in embodiments according to various aspects of the present disclosure, storing image data 510 may be performed. Storing image data 510 may comprise storing the image data in memory 415 with brief reference to FIG. 4. Storing image data 510 may comprise buffering the image data. For example, the image data may be buffered in buffer 417. In other embodiments, storing the image data may comprise saving the image data in a portion of memory 415 separate from buffer 417. Saving the image data may comprise recording the image data in a non-transitory manner such that the saved or recorded data is subsequently available for review. The saved or recorded data may be available for review independent of an amount of time that has elapsed since the image data was initially captured by the recording device. Storing image data 510 may comprise saving image data from buffer 417 in memory 415 upon occurrence of an event.

[0050] In embodiments, storing the image data 510 may comprise capturing the image data. For example, image capturing system 420 may be configured to capture the image data. Capturing the image data may comprise capturing the image data via an image sensor. For example, image capturing system 420 may comprise one or more image sensors via which the image data is captured. Image capturing system 420 may convert visible light signal captured in a field of view to image data representing visible information represented in the light signal in the field of view.Capturing the image data may comprise generating image data using image capturing system 420. The image data may be generated in accordance with operation of at least one image sensor of image capturing system 420. In embodiments, storing the image data 510 may comprise storing an image with information identifying a time at which the image was captured.

[0051] In embodiments, storing the image data 510 may comprise determining the image data over time. For example, storing the image data 510 may comprise storing image data 210. Image data 210 may comprise a sequence of images captured at different times over a period of time. The recording device may be configured to automatically and / or continuously capture the image data. The image data may be captured independent of a location of the recording device. The image data may be captured independent of whether location data is determined or not determined by other components. For example, the image data may be captured by camera device 110 independent of whether camera device 110 receives or does not receive one or more signals of signals 122. In embodiment, the image data may be stored prior to when the one or more signals are received or not received, while the one or more signal are received or not received, and / or after the one or more signals are received or not received. The image data may be stored before, during, and / or after location data is determined or not determined by a location sensor of a same recording device. For example, image data 210 may be stored throughout a time T in which other data is provided or not provided in accordance with method 200.

[0052] In embodiments according to various aspects of the present disclosure, storing motion data 520 may be performed. Storing motion data 520 may comprise storing the motion data in memory 415 with brief reference to FIG. 4. Storing motion data 520 may comprise buffering the motion data. For example, the motion data may be buffered in buffer 417. In other embodiments, storing the motion data 520 may comprise saving the motion data in a portion of memory 415 separate from buffer 417. The saved motion data, along with other saved data, may be available for subsequent review. The saved motion data, along with other saved data, may be preserved and subsequently offloaded from the device for subsequent review.

[0053] In embodiments, storing the motion data 520 may comprise capturing the motion data. For example, inertial motion sensor 450 may be configured to capture the motion data. Capturing the motion data may comprise capturing the motion data via an inertial measurement unit integrated in the recording device. For example, inertial motion sensor 450 may comprise one or more inertial measurement units by which the motion data is captured. Inertial motion sensor 450may convert a physical movement and / or orientation of a device in which the inertial motion sensor 450 is disposed into information that identifies movement and / or orientation. In embodiments, the motion data may comprise relative motion data that indicates a relative change in the orientation and / or location of the device. In embodiments, the relative change may be determined relative to a prior time at which the movement and / or orientation may be measured. In embodiments, storing the motion data 520 may comprise storing motion information with a time at which the motion information was measured.

[0054] In embodiments, storing the motion data 520 may comprise determining the motion data over time. For example, storing the motion data 520 may comprise storing motion data 220. Motion data 220 may comprise a sequence of motion information captured at different times over a period of time. The recording device may be configured to automatically and / or continuously capture the motion data. The motion data may be detected independent of a location of the recording device. The motion data may be captured independent of whether location data is determined or not determined by other components. For example, the motion data may be detected by camera device 110 independent of whether camera device 110 receives or does not receive one or more signals of signals 122. In embodiment, the motion data may be stored prior to, after, and / or while the one or more signals are received or not received. The motion data may be stored before, during, and / or after location data is determined or not determined by a location sensor of a same recording device in which a motion sensor is disposed. For example, motion data 220 may be stored throughout a time T in which other data is provided or not provided in accordance with method 200.

[0055] In embodiments according to various aspects of the present disclosure, storing location data 530 may be performed. Storing location data 530 may comprise storing the location data in memory 415 with brief reference to FIG. 4. Storing location data 530 may comprise buffering the location data. For example, the location data may be buffered in buffer 417. In other embodiments, storing the location data may comprise saving the location data in a portion of memory 415 separate from buffer 417. In some embodiments, storing location data 530 may comprise storing location data from buffer 417 into memory 415 upon occurrence of an incident as detected by recording device 410.

[0056] In embodiments, storing the location data 530 may comprise determining the location data. The location data may be determined by a location sensor. For example, location sensor 460may determine the location data. Determining the location data may comprise receiving one or more long-range radio signals. For example, the signals may be received by satellite navigation receiver 462 and / or network interface 464. The location sensor may provide the location data based on receiving the one or more radio signals. The one or more long-range radio signals may comprise information that enables the location sensor to determine a location of the recording device based on the information. The location sensor may be configured to generate location data in accordance with information provided within one or more radio signals received by the location sensor. For example, location sensor 460 may be configured to generate location data comprising location information identifying first location LI at first time Tl. Determining the location data may comprise storing the location information identifying first location LI at time Tl in a first portion of location data 230-1.

[0057] In embodiments, storing the location data 530 may comprise determining the location data over time. For example, storing the location data 530 may comprise storing location data 230. Location data 230 may comprise information identifying a sequence of locations determined over time. The information may be determined periodically to generate the location data over time. In embodiments, when the radio signals are not received by the location sensor, the location data may not be provided. For example, the location data 230 may not be determined by the location sensor at second time T2. The location data 230 may not be determined starting at second time T2. Prior to second time T2, location data may be determined. For example, storing the location data 530 may comprise determining location data 230 for a period of time between first time Tl and second time T2. At second time T2, location data 230 may not be determined due to interference from structure 130 in which camera device 110 is disposed. Location data 230 may further not be detected during a period of time in which camera device 110 is disposed inside structure 130. For example, location data may not be available for a period of time that at least comprise a period between second time T2 and third time T3. The period of time may further extend beyond third time T3, coinciding to a time period in which camera device 110 remains in structure 130 and / or otherwise is unable to receive one or more signals of signals 122. Accordingly, storing the location data 530 may comprise not storing location data during a period of time in which location data is not determined. For example, storing location data 530 may comprise storing a first portion of location data 230-1 prior to a period of time in which the location data 230 is not generated and / or accurate. The period may begin at second time T2 with brief reference to FIG. 2. Alternately oradditionally, storing location data 530 may comprise storing a second portion of location data 230- 2 after a period of time in which the location data 230 is not generated and / or accurate. The period may end after a third time T3. The period may end prior to a fourth time T4 with brief reference to FIG. 2. During such a period, a recording device may be enabled to determine updated location data in accordance with other operations as further disclosed herein.

[0058] In embodiments, storing image data 510, storing motion data 520, and / or storing location data 530 may comprise buffering such data, including as further discussed above. Accordingly, storing image data 510, storing motion data 520, and / or storing location data 530 may generate buffered data 240. Buffered data 240 may comprise one or more of buffered image data, buffered motion data, and / or motion location data. Buffered data 240 may be temporarily stored for a predetermined period of time. The period of time may comprise a most recent period of time relative to a current time. For example, and for a current time comprising third time T3, buffered data 240 may comprise data stored during a period of time between first time T1 and third time T3. As shown in FIG. 2, such buffered data 240 may comprise a portion of image data 210 captured between first time T1 and third time T3. Buffered data 240 may comprise a portion of motion data 210 detected between first time T1 and third time T3. In the example method of FIG. 2, buffered data 240 may comprise a portion of a first portion of location data 230-1 between first time T1 and second time T2. Buffered data 240 may lack location data for locations of camera device 110 after second time T2. However, and as further discussed below, updated location data may be generated for a time period between second time T2 and third time T3 based on the image data or a combination of image data and motion data of buffered data 240. In embodiments, and as generally indicated by the arrow adjacent third time T3 in FIG. 3, buffered data 240 may comprise a sliding window of data captured over a most recent period of time.

[0059] In embodiments, a duration over which buffered data 240 is stored may be selected based on a delay between a time when location data 230 may no longer be generated and / or accurate and a time when a recording device may determine that location data 230 is no longer generated and / or accurate. In example method 200 of FIG. 2, such a delay may correspond to a time period between second time T2 and third time T3. In some embodiments, the delay may be attributable to a rate at which radio signals may be processed to generate location data. A predetermined duration in which buffered data 240 is temporarily stored may be greater than this delay. For example, the duration may correspond to time period between first time T1 and thirdtime T3. In an example embodiment, data may be buffered for a period of thirty seconds while, in accordance with a manner in which one or more radio signals are processed, a delay between when location data was last generated and when a location degradation event is detected may comprise a minimum period of at least five seconds. In accordance with such a duration in which buffered data 240 temporarily preserved, buffered data 240 may comprise first information stored at time T1 that identifies first location LI. This first location information may comprise an accurate absolute location of camera device 110 at time Tl. By preserving this first information, first location LI may be used as an accurate and reliable basis on which a location of camera device 110 may be further updated using other information, including as further discussed herein.

[0060] In embodiments, detecting a location via a location sensor 540 may be performed. The location may comprise a set or instance of information identifying the location as determined at a point in time. Detecting 540 may comprise determining a most recently and / or currently determined location from a location sensor. Detecting 540 may comprise setting a most recently determined location from the location sensor as a current location for the recording device. For example, detecting 540 at first time Tl may comprise setting information identifying first location LI as a current location of camera device 110 with brief reference to FIG. 1. Detecting 540 may be performed repeatedly over a period of time. Detecting 540 may be performed over a period of time during which location data determined from a location sensor is available. For example, detecting 540 may be repeated for a period of time between first time Tl and second time T2. Detecting 540 may comprise confirming that location data from the location sensor is available for a current time. In embodiments, detecting 540 and storing location data 530 may comprise a common operation and / or detecting the location 540 may be performed prior to storing location data 530. For example, storing location data 530 may comprise storing information identifying the location that is detected upon detecting 540. In embodiments, detecting 540 may comprise transmitting information identifying the location to a remote computing device. Such an arrangement may enable the remote computing device to determine a location of the recording device, as well as a user of the recording device with which the recording device is associated, in an ongoing manner.

[0061] In embodiments, detecting a location degradation event 550 may be performed. Detecting 550 may comprise detecting that determined location data is, was, and / or soon will be no longer generated and / or accurate. The degradation event may correspond to a change in theavailability and / or accuracy of location data provided by a location sensor. For example, a degradation event for a location sensor comprising a GPS receiver may occur when a satellite navigation signal is no longer received and / or predicted to no longer be received at an upcoming time. In embodiments, detecting 550 may be performed based on image data and / or radio signals received by a location sensor.

[0062] In embodiments, detecting a location degradation event 550 may be performed optically based on image data. Detecting the location degradation event 550 may comprise detecting the camera device entered a structure. The structure may comprise a structure previously determined or predicted to interfere with reception of one or more long-range radio signals. In some embodiments, the structure may comprise a building or tunnel. Detecting 550 may comprise analyzing image data to detect the structure. Detecting the location degradation event 550 may comprise performing an image analysis on the image data to detect the camera device entered the structure. For example, processor 411 may apply a predetermined image analysis 414 to image data captured by image capturing system 420. Image analysis 414 may comprise a machine learning model trained to detect a structure in image data. In some embodiments, image analysis 414 may detect that a field of view represented in the image data proceeds through an opening of the structure, thereby indicating that the recording device entered the structure. The opening may comprise, for example, a door, window, or other entrance of the structure. For example, image analysis 414 may be applied to image data to detect that camera device 110 proceeded through a door of structure 130. Responsive to an indication of the recording device entering the structure being generated, the location degradation event may be detected. In some embodiments, detecting a location degradation event 550 may be performed independent of an image analysis such as image analysis 414. For example, and in some embodiments, memory 415 may lack instructions for performing image analysis and, instead, perform an operation for detecting a location degradation event 550 based on an operation and / or output of location sensor 460 as further discussed herein.

[0063] In embodiments, detecting a location degradation event 550 may be performed based on one or more radio signals received by a location sensor. Processor 411 may execute a location degradation analysis 413 on the one or more radio signals and / or information from location sensor 460 associated with the one or more radio signals. The location degradation analysis 413 may comprise one or more computer readable instructions that, when executed by processor 411, causerecording device 410 to perform operations to detect a location degradation event. The analysis 413 may be applied to information associate with the one or more radio signals. The analysis 413 may generate an indication of a location degradation event responsive to processing the information to which it is applied. In embodiments, analysis 413 may be performed by processor 411 and / or location sensor 460 according to various aspects of the present disclosure. For example, location sensor 460 itself may determine a change in a signal strength of a received signal over time and indicate the event to processor 411. In some embodiments, detecting the location degradation event 550 may comprise detecting that at least one radio signal is not received and / or is no longer received. Detecting the location degradation event 550 may comprise detecting a loss of at least one radio signal upon which location data was generated. For example, detecting 550 may comprise detecting loss of a radio signal upon which a location was detected upon detecting 540. Alternately or additionally, detecting the location degradation event 550 may comprise determining that location data is no longer being generated by a location sensor configured to receive one or more radio signals. For example, detecting the location degradation event 550 may comprise detecting an absence of location data from a location sensor and / or an alert being generated by the location sensor indicating that information identifying a location has not been generated.

[0064] In embodiments, detecting the location degradation event 550 may comprise detecting a decrease in accuracy of the location data 555 from the location sensor. The decrease in accuracy may indicate an error in location information generated by the location sensor or, alternately, that new location information was not generated at a corresponding point in time. In some embodiments, detecting 555 may comprise detecting a signal strength and / or decrease in signal strength greater than a threshold value 557. For example, the decrease may comprise a relative decrease in signal strength of at least one radio signal detected by a location sensor. Detecting 555 may comprise detecting a decrease in signal strength of at least one radio signal detected by the location sensor to generate the location data. The decrease may be greater than a predetermined value. For example, the decrease may comprise a decrease of a number of decibels over a period of time. Alternately or additionally, the decrease may comprise a decrease in signal strength of at least one radio signal detected by the location sensor below a threshold value. When a location sensor detects that a strength of one or more received signals decrease below a predetermined value, the location degradation event may be determined. In some embodiments, the locationdegradation event may comprise a decreased or relative decrease in signal strength of a number of received signals. The number may comprise a majority of received signals. The number may comprise all previously received signals. Alternately or additionally, detecting 555 may comprise detecting an increase in an error rate of one or more received signals. The error rate may indicate an extent to which data represented in a received signal is not accurately being received by a location sensor. The error rate may be determined based on an error-detecting code presented in the received signal. When the error rate or relative error rate exceeds a threshold value, the location degradation event may be determined in embodiments according to various aspects of the present disclosure.

[0065] In some embodiments, detecting the decrease in accuracy of location data 555 may alternately or additionally comprise receiving a lost signal notification 559. The notification may be received by a processor. The notification may be received from a location sensor. For example, location sensor 460 may provide a lost signal notification to processor 411 when location sensor 460 is unable to determine a location based a set of signals it has received. In some embodiments, the set may comprise zero received signals or, alternately, less than a minimum number of received signals required to determine a location at a current time. In some embodiments, the location sensor may generate the notification based on a signal strength and / or error rate as further discussed above. Responsive to receiving the lost signal notification 559, a decrease in accuracy of location data may be detected. In some embodiments, a delay between detection of location data and a detection of a location degradation event may correspond to a period over which a location sensor may attempt to recover a radio signal before indicating that the signal is lost. For example, location sensor 460 may attempt to recover or at least continue to receive a radio signal for a minimum period of time before generating a lost signal notification 559. Such an arrangement may prevent the lost signal notification from being generated for momentary lapses in signal reception. The momentary lapses may be less than a predetermined period of time. The momentary lapses may be, for example, less than five seconds, less than ten seconds, or less than fifteen seconds. However, such an arrangement may also preclude corrective, alternate action for determining a current location from being promptly taken when a radio signal is unreceived for durations of time greater than the period of time in which the location sensor attempts to recover the radio signal. Embodiments according to various aspects of the present application enable location data to be generated for momentary lapses in signal reception, while also preventing alocation of a recording device from being lost when signal reception continues to fail for extended periods of time. Embodiments according to various aspects of the present disclosure may particularly enable location data to be recovered for periods of time while minimizing power consumption associated with alternate manners of location detection.

[0066] In various embodiments, detecting 550 may be performed after image data is stored. For example, detecting 550 may be performed at third time T3 after image data captured at first time T1 and second time T2 has been stored. Detecting 550 may be performed after buffered data 240 has been generated. At times when the degradation event is not detected, buffered data 240 may be subsequently saved or deleted in accordance with other operations of the recording device. In some embodiments, detecting 550 may comprise saving buffered data 240 to enable one or more subsequent operations for updating a location of the recording device.

[0067] In various embodiments, detecting 550 may be performed at a time after location data is no longer determined by the recording device. For example, and for various technical reasons, the recording device may not detect the degradation event 550 until a period of time after the location data is no longer received has elapsed. For example, the location data may no longer be determined at second time T2. However, detecting 550 may not occur until third time T3. By storing data such as buffered data 240, the recording device may yet be enabled to generate updated location data for the recording device between second time T2 and third time T3, despite the delay in detecting 550.

[0068] In various embodiments, updating a location to provide an updated location 560 may be performed. Updating the location 560 may comprise generating the updated location based on image data. The image data may be used to generate the updated location data after a location degradation event has been detected. The image data may be used to generate the updated location for a given time instead of, and / or independent of, one or more radio signals that may or may not be received by a location sensor at the given time. In embodiments, updating 560 may be performed responsive to detecting 550. When a location degradation event is not detected upon detecting 550, updating 560 may not be performed. By limiting the execution of updating 560 to when a location degradation event is detected, power associated with processing image data via updating 560 may be preserved.

[0069] In embodiments, updating 560 may comprise generating updated location data 250. Updated location data 250 may comprise a sequence of updated locations for different times overa period of time. Updating 560 may comprise generating information identifying updated locations for a period of time during which location data 230 is not determined. For example, updated location data 230 may be generated during a period of time between second time T2 and third time T3. Updating 560 may comprise generating information identifying updated locations for a period of time over which buffered data 240 is stored. Updating 560 may comprise generating information identifying updated locations for a period of time over which buffered data 240 remains available. For example, updated location data 230 may be generated during a period of time between first time T1 and third time T3. Updating 560 may be performed while the degradation event is detected. For example, updated location data 230 may be generated during a period of time after third time T3 and prior to fourth time T4. In some embodiments, updating 560 may be performed until location data from a location sensor is generated and / or determined to be accurate.

[0070] In embodiments, updating a location to provide an updated location 560 may be based on image data. Updating 560 may be performed after a location degradation event is detected. Updating 560 may comprise applying an image analysis to image data after the location degradation event is detected. The image analysis may generate a relative location based on the image data. The image analysis may not be initiated until after the location degradation event is detected. The image analysis may be further applied to image data captured prior to the location degradation event being detected. The image data to which the image analysis is applied may be captured independent of whether image analysis to generate a relative location is subsequently applied to the image data. In embodiments, updating 560 may comprise at least one of a visual odometry analysis and / or visual inertial odometry analysis 562. Applying 562 may generate relative location information. Applying 562 may generate updated location data comprising information identifying a plurality of relative locations over time. For example, applying 562 may comprise applying an image analysis to image data. Applying 562 may performed based on processing image data 210 captured at a corresponding period of time for which updated location data is to be generated. For example, applying 562 may comprise applying an image analysis to image data captured during a period of time between second time T2 and third time T3 or, alternately, a period of time between first time T1 and third time T3 in which corresponding image data was stored upon storing image data 510.

[0071] In embodiments, applying 562 may be initiated after image data to which applying 563 is applied has been captured. For example, an image analysis of applying 562 may comprise processing image data captured prior to detecting 550. Applying 562 may comprise processing image data captured for a period of time prior to initiating an image analysis upon applying 562. For example, applying 562 may comprise processing image data captured during a period of time between second time T2 and third time T3 or, in some further embodiments, a period of time between first time T1 and third time T3. The period of time may comprise a non-zero period of time. In embodiments, the period of time may comprise a period of time of at least five seconds, at least ten seconds, at least fifteen seconds, or at least fifteen seconds. In some embodiments, the period of time may be prior to a point in time at which location data is not available from a location sensor. In some embodiments, the period of time may be prior to a point in time at which location data from a location sensor is determined to not be accurate or comprise a decreased accuracy. By capturing the image data, but not applying an image analysis until a location degradation event is detected, an increase in power consumption associated with processing the image data may be minimized.

[0072] In some embodiments, applying 562 may comprise applying visual odometry analysis 412 to the image data. Visual odometry analysis 412 may be configured to generate relative location information based on one or more indications of movement represented in the image data. For example, changes in size and / or location of an object in a field of view in the image data may indicate movement of a recording device that captured the image data through an environment in which the object is located. Alternately or additionally, other visual information in the image data may be used by visual odometry analysis 412 to detect location information. Visual odometry analysis 412 may be configured to generate relative location information over time in accordance with changes in visual information represented in the image data over time. Applying 562 may comprise applying visual odometry analysis 412 to image data to generate relative location data. The relative location data may comprise a sequence of relative locations detected based on visual cues and / or other information represented in the image data. The relative location data may comprise a sequence of relative locations over time. The relative location data may identify one or more relative locations over a period of time in which the image data was captured. The relative location data may be subsequently combined with previously generated location data to provide updated location data 250.

[0073] Tn embodiments, updating a location to provide an updated location 560 may be based on image data and motion data. Applying 562 may comprise applying a visual inertial odometry analysis to image data. For example, applying 562 may performed based on processing image data 210 and motion data 220 captured at a corresponding period of time for which updated location data is to be generated. Applying 562 may comprise applying a visual odometry analysis 412 to the image data and motion data, wherein visual odometry analysis 412 comprises a visual inertial odometry operation or analysis. The visual inertial odometry analysis may be configured to generate relative location information based on one or more indications of movement represented in combinations of the image data and the motion data. For example, a combination of changes in visual information in the image data and changes in movement and / or orientation information in the motion data may indicate movement of a recording device that captured the image data and motion data. The combination of changes may comprise changes in motion information and visual information captured or detected at a same point in time. The visual inertial odometry analysis may be configured to generate relative location information over time in accordance with changes in visual information represented in the image data over time, as well as changes in motion information represented in the motion data over the same time. Applying 562 may comprise applying the visual inertial odometry operation of analysis 412 to image data and motion data to generate relative location data. The relative location data may identify one or more relative locations over a period of time in which the image data was captured and the motion data was detected. The relative location data may be subsequently combined with previously generated location data to provide updated location data 250.

[0074] In various embodiments, updating 560 may comprise retrieving an absolute location from location data 564. Retrieving the absolute location may comprise identifying recently captured location information from location data for which corresponding image data is available. The recently captured location information may comprise least recently captured location information. In some embodiments, least recently captured location information from location data for which corresponding image data is available may comprise location information least recently stored in buffered data 240. For example, retrieving 564 may comprise selecting information identifying first location LI in accordance with information in first portion of location data 230-1 determined at first time Tl. The information identifying location LI may comprise an oldest buffered information in buffer 417 at a time at which a location degradation event isdetected. In embodiments, the recording device may not be able to determine a time at which location data was no longer accurate. For example, location data may be generated, but inaccurate for a period of time prior to being no longer generated and / or a location degradation event is detected. In accordance with retrieving 564, an accurate location of the recording device may be preserved in information stored on the recording device. By retrieving 564, operations according to various aspects of the present disclosure may generate an updated location while avoiding technical issues associated with corrupt, unavailable, or otherwise inaccurate location data that may or may not be generated when the location degradation event is detected and / or prior to a time at which the location degradation event is detected. In other embodiments, the recently captured information may comprise other information, including, but not limited to, location data stored in memory 415, location information from most recently detected location data, and / or location information captured at a predetermined time prior to a time at which a location degradation event is detected.

[0075] In various embodiments, updating 560 may comprise combining location information to generate updated location data 566. The location information may comprise information identifying a first location and a second location. The first location may comprise an absolute location. The absolute location may comprise geophysical coordinate information. The first location may comprise a location retrieved upon retrieving 564. The second location may comprise a relative location. The second location may comprise a relative location identified upon applying 562. The combining may comprise generating an updated absolute location by applying a change of location represented by the second location to the first location. For example, the second location may comprise a relative distance between third location L3 and first location LI. However, the second location may not indicate a starting absolute location for the relative distance. By applying the relative distance to the absolute location of LI, combining 566 may generate an updated absolute location that corresponds to third location L3. Combining 566 may comprise combining absolute location information with the relative location information to generate updated location information. Combining 566 may comprise combining a location of the camera device based on the location data with a relative location based on the image data to generate the updated location. In accordance with combining 566, location information identifying third location L3 may be provided by the recording device, despite one or more radio signals not being received by the recording device when the recording device is positioned at third location L3.

[0076] Tn some embodiments, updating 560 may comprise storing the updated location data. For example, information identifying an updated location at a point in time may be stored or otherwise associated with audio data and / or video data captured at a same point in time. By storing the updated location data, a sequence of movements of a recording device may be subsequently available for review, despite degradation of information received by a location sensor of the recording device during a same point in time in which audio data and / or video data continued to be captured by the recording device.

[0077] In some embodiments, updating 560 may comprise transmitting the updated location data. For example, information identifying an updated location at a point in time may be transmitted via network interface 464 to a remote computing device. The updated location data may be transmitted upon being generated by the recording device. The updated location data may be transmitted while the recording device continues to capture audio data and / or video data. By transmitting the updated location data, an updated location of a recording device may be available for review at a remote computing device, despite the recording device entering an environment in which operation of a previously-used location sensor becomes degraded.

[0078] In some embodiments, a camera device is provided. The camera device may comprise an image capture system configured to capture image data; a location sensor configured to determine location data; a non-transitory, computer-readable storage medium; and a processor in communication with the image processor, the position sensor, and the storage medium, wherein the storage medium further stores computer-readable instructions. The instructions, when executed by the processor, may cause the camera device to perform operations comprising: detecting a location of the camera device based on the location data; storing the image data in the storage medium; after the image data is stored, detecting a location degradation event; and responsive to detecting the location degradation event, updating the location based on the image data to provide an updated location.

[0079] In some embodiments, a method performed by a recording device is provided. The method may comprise one or more operations of: determining, via a location sensor of the recording device, a location of the recording device; storing image data captured via an image sensor of the recording device; detecting a location degradation event associated with the location sensor; and responsive to detecting the location degradation event, updating the location of therecording device based on the image data to provide an updated location. Any one of the above example embodiments, wherein the device comprises a wearable camera device.

[0080] In some embodiments, a non-transitory, computer-readable storage medium storing computer-readable instructions is provided. The instructions, when executed by a processor of a mobile recording device may cause the mobile recording device to perform operations comprising: detecting a location of the mobile recording device based on location data detected by a location sensor; storing the image data; after the image data is stored, detecting a location degradation event; and responsive to detecting the location degradation event, updating the location based on the image data to provide an updated location.

[0081] Any one of the above example embodiments may further comprise an inertial motion sensor configured to detect motion data. In any one of the above example embodiments, updating the location may comprise updating the location based on the image data and the motion data to provide the updated location. In any one of the above example embodiments, updating the location may comprise applying a visual odometry analysis to the image data to provide the updated location. In any one of the above example embodiments, updating the location may comprise applying a visual inertial odometry analysis to the image data to provide the updated location. In any one of the above example embodiments, the operations may further comprise buffering the motion data to provide buffered motion data, wherein the location is updated based on the image data and the buffered motion data. In any one of the above example embodiments, storing the image data may comprise buffering the image data. In any one of the above example embodiments, the location sensor may comprise a satellite navigation receiver. Any one of the above example embodiments may further comprise buffering the location data. In any one of the above example embodiments, the updated location may be generated independent of the location data. In any one of the above example embodiments, the buffering may comprise buffering the image data for a predetermined amount of time. In any one of the above example embodiments, the storage medium may comprise a ring buffer in which the image data is buffered. In any one of the above example embodiments, detecting the location degradation event may comprise detecting the camera device entered a structure. In any one of the above example embodiments, detecting the location degradation event may comprises performing an image analysis on the image data to detect the camera device entered the structure. In any one of the above example embodiments, the structure may comprise one of a building ortunnel. In any one of the above example embodiments, detecting the location degradation event may comprises detecting a decrease in accuracy of the location data. In any one of the above example embodiments, the decrease may be detected based on detecting a decrease in signal strength of at least one radio signal detected by the location sensor to generate the location data. In any one of the above example embodiments, the decrease in signal strength may be greater than a threshold value. In any one of the above example embodiments, detecting the decrease may comprise detecting a signal strength of at least one radio signal detected by the location sensor below a threshold value. In any one of the above example embodiments, the decrease may comprise a lost signal notification being received by the processor from the location sensor. In any one of the above example embodiments, updating the location may comprise applying at least one of a visual odometry analysis and a visual inertial odometry analysis on the image data to generate the updated location. In any one of the above example embodiments, the location data may comprise a first location information detected at a first time; and updating the location may comprise retrieving, by the processor, the first location information from the storage medium. In any one of the above example embodiments, updating the location may comprise generating second location information based on the image data. In any one of the above example embodiments, the second location information may comprise relative location information. In any one of the above example embodiments, updating the location may comprise applying the second location information relative to the first location information to generate the updated location. In any one of the above example embodiments, updating the location may comprise generating updated location information for a period of time prior to a second time at which the location degradation event is detected. In any one of the above example embodiments, the period of time may be after a first time at which location data buffered in the storage medium was detected by the location sensor.

[0082] The term “non-transitory” is to be understood to remove only propagating transitory signals per se from the claim scope and does not relinquish rights to all standard computer-readable media that are not only propagating transitory signals per se. Stated another way, the meaning of the term “non-transitory computer-readable medium” and “non-transitory computer-readable storage medium” should be construed to exclude only those types of transitory computer-readable media which were found in In re Nuijten to fall outside the scope of patentable subject matter under 35 U.S.C. § 101.

[0083] Tn various embodiments, “satisfy,” “meet,” “match,” “associated with,” or similar phrases used herein may include an identical match, a partial match, meeting certain criteria, matching a subset of data, a correlation, satisfying certain criteria, a correspondence, an association, an algorithmic relationship, and / or the like. Similarly, as used herein, “authenticate,” “verify,” “validate,” or similar terms may include an exact authentication, verification, or validation; a partial authentication, verification, or validation; authenticating, verifying, or validating a subset of data; satisfying certain criteria; an association; an algorithmic relationship; and / or the like.

[0084] Benefits, other advantages, and solutions to problems have been described herein with regard to specific embodiments. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent exemplary functional relationships and / or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may be present in a practical system. However, the benefits, advantages, solutions to problems, and any elements that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as critical, required, or essential features or elements of the disclosures. The scope of the disclosure is accordingly to be limited by nothing other than the appended claims and their legal equivalents, in which reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” Moreover, where a phrase similar to “at least one of A, B, or C” is used in the claims, it is intended that the phrase be interpreted to mean that A alone may be present in an embodiment, B alone may be present in an embodiment, C alone may be present in an embodiment, or that any combination of the elements A, B and C may be present in a single embodiment; for example, A and B, A and C, B and C, or A and B and C.

[0085] Systems, methods and apparatus are provided herein. In the detailed description herein, references to “various embodiments,” “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodimentswhether or not explicitly described. After reading the description, it will be apparent to one skilled in the relevant art(s) how to implement the disclosure in alternative embodiments. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element is intended to invoke 35 U.S.C. 112(f) unless the element is expressly recited using the phrase “means for.” As used herein, the terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.

Claims

CLAIMSWhat is claimed is:

1. A camera device, comprising: an image capture system configured to capture image data; a location sensor configured to determine location data; a non-transitory, computer-readable storage medium; and a processor in communication with the image capture system, the location sensor, and the storage medium, wherein the storage medium further stores computer-readable instructions that, when executed by the processor, cause the camera device to perform operations comprising: detecting a location of the camera device based on the location data; storing the image data in the storage medium; after the image data is stored, detecting a location degradation event; and responsive to detecting the location degradation event, updating the location based on the image data to provide an updated location.

2. The camera device of claim 1, further comprising an inertial motion sensor configured to generate motion data, wherein updating the location comprises updating the location based on the image data and the motion data to provide the updated location.

3. The camera device of claim 2, wherein the operations further comprise buffering the motion data to provide buffered motion data, and wherein the location is updated based on the image data and the buffered motion data.

4. The camera device of claim 1, wherein the location sensor comprises a satellite navigation receiver.

5. The camera device of claim 1, wherein the storage medium comprises a ring buffer in which the image data is buffered prior to detecting the location degradation event.

6. The camera device of claim 1, wherein storage medium further stores instructions for performing an image analysis to detect the camera device entered a structure, and wherein detecting the location degradation event comprises applying the image analysis to the image data to detect the camera device entered the structure.

7. The camera device of claim 1, wherein detecting the location degradation event comprises detecting, by the location sensor, a loss of at least one radio signal previously used to determine the location data.

8. The camera device of claim 1, wherein detecting the location degradation event comprises detecting a decrease in signal strength of at least one radio signal detected by the location sensor to generate the location data.

9. The camera device of claim 1, wherein detecting the location degradation event comprises detecting a signal strength of at least one radio signal detected by the location sensor is below a threshold value.

10. The camera device of claim 1, wherein updating the location comprises: generating a relative location based on the image data; and combining the location of the camera device based on the location data with the relative location based on the image data to generate the updated location.

11. A method performed by a recording device, the method comprising: determining, via a location sensor of the recording device, a location of the recording device; storing image data captured via an image sensor of the recording device; detecting a location degradation event associated with the location sensor; and responsive to detecting the location degradation event, updating the location of the recording device based on the image data to provide an updated location.

12. The method of claim 11, wherein updating the location comprises applying a visual odometry analysis to the image data to provide the updated location.

13. The method of claim 11, further comprising capturing motion data via an inertial motion sensor of the recording device, wherein updating the location comprises applying a visual inertial odometry analysis to the image data and the motion data to provide the updated location.

14. The method of claim 11, wherein detecting the location degradation event comprises detecting the recording device entered a structure comprising one of a building or tunnel.

15. The method of claim 11, wherein detecting the location degradation event comprises detecting a decrease in accuracy of location data generated by the location sensor.

16. The method of claim 15, wherein the decrease in accuracy is detected based on detecting a decrease in signal strength of at least one radio signal detected by the location sensor to generate the location data.

17. The method of claim 15, wherein detecting the decrease in accuracy comprises detecting a signal strength of at least one radio signal detected by the location sensor below a threshold value.

18. The method of claim 15, wherein detecting the decrease comprises receiving a lost signal notification from the location sensor.

19. The method of claim 11, wherein detecting the location comprises generating absolute location information and updating the location comprises: generating relative location information based on an image analysis of the image data; and combining the absolute location information with the relative location information to generate updated location information.

20. The method of claim 11, wherein updating the location comprises generating updated location information for a period of time prior to a second time at which the location degradation event is detected.

21. A non-transitory, computer-readable storage medium storing computer-readable instructions that, when executed by a processor of a mobile recording device, cause the mobile recording device to perform operations comprising: detecting a location of the mobile recording device based on location data detected by a location sensor; capturing, via an image sensor of the mobile recording device, image data; storing the image data in a memory of the mobile recording device; after the image data is stored, detecting a location degradation event; and responsive to detecting the location degradation event, updating the location based on the image data to provide an updated location of the mobile recording device.