WO2012146273A1 - Method and system for video marker insertion - Google Patents

Method and system for video marker insertion Download PDF

Info

Publication number
WO2012146273A1
WO2012146273A1 PCT/EP2011/056596 EP2011056596W WO2012146273A1 WO 2012146273 A1 WO2012146273 A1 WO 2012146273A1 EP 2011056596 W EP2011056596 W EP 2011056596W WO 2012146273 A1 WO2012146273 A1 WO 2012146273A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
snapshot
sensor
digital
digital video
Prior art date
Application number
PCT/EP2011/056596
Other languages
French (fr)
Inventor
Martin HONNER
Original Assignee
Better4Drive Ug (Haftungsbeschränkt)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Better4Drive Ug (Haftungsbeschränkt) filed Critical Better4Drive Ug (Haftungsbeschränkt)
Priority to PCT/EP2011/056596 priority Critical patent/WO2012146273A1/en
Publication of WO2012146273A1 publication Critical patent/WO2012146273A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00323Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a measuring, monitoring or signaling apparatus, e.g. for transmitting measured information to a central location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00352Input means
    • H04N1/00381Input by recognition or interpretation of visible user gestures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00352Input means
    • H04N1/00403Voice input means, e.g. voice commands
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • H04N1/212Motion video recording combined with still video recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • H04N1/2125Display of information relating to the still picture recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • H04N1/2129Recording in, or reproducing from, a specific memory area or areas, or recording or reproducing at a specific moment
    • H04N1/2133Recording or reproducing at a specific moment, e.g. time interval or time-lapse

Definitions

  • the present invention generally relates to electronic data processing, and more particularly, relates to methods, computer program products and systems for marking videos.
  • Video surveillance is typically run on stationary systems for security purposes of security sensitive areas.
  • individual mobile video surveillance as for example when driving on the road and observing an accident or when skiing or performing other sports, or in the context of training and education where it is interesting to analyse situations after the event.
  • DailyRoads Voyager is an application for mobile devices powered by the Android operating system, allowing for video recording from vehicles.
  • the application acts as a video black box recording everything, but only keeping what the user is really interested in.
  • the user is usually the driver of a car, who can now capture video sequences of important road events.
  • the application records and saves what happens in front of the camera. For this, the video is terminated and stored in a specific folder for to-be-retained videos when an event is launched and will be restarted afterwards. Therefore there is a small video gap close to the important event between the termination and the restart of the video, which is typically in the range of a few seconds.
  • the method includes: recording a digital video from a digital camera on digital storage means; then receiving a sensor event, wherein the sensor event indicates a request to mark a portion of the digital video while the digital video is being recorded on the digital storage means; then in response to receiving the sensor event, defining at least one recorded video frame of the video as a snapshot ; and storing snapshot meta data associated with the snapshot, wherein the snapshot metadata includes data to retrieve the portion of the digital video.
  • the solution of claim 1 allows for continuous video recording without any gaps in the vicinity of relevant events and provides the opportunity to easily find the relevant sequence in the continuous video recording through the stored snapshot metadata.
  • FIG. 9 Further aspects of the invention are a computer program product according to the independent claim 9 and a computer system including a digital camera, digital storage means, sensor means and a video processor component according to independent claim 10.
  • the computer system can run the computer program to execute the method of claim 1.
  • Alternative embodiments of the invention can be implemented by a further video data retrieval component for retrieving the portion of the digital video by using predefined time interval information, wherein the predefined time interval information and the snapshot metadata is used to calculate a start time of the portion before the snapshot and an end time of the portion after the snapshot; and storing the retrieved portion as a separate digital video on the digital storage means.
  • FIG. 1 is a simplified block diagram of a computer system according to one embodiment of the invention.
  • FIG. 2 is a simplified flow chart of a computer implemented method for marking a video according to one embodiment of the invention
  • FIG. 3 is a simplified flow chart of a further embodiment of the computer implemented method
  • FIG. 4 illustrates creation and use of a snapshot manager object as being used in one embodiment of the invention
  • FIG. 5 illustrates the handling of multiple sensor events according to one embodiment of the invention
  • FIG. 6 and FIG. 7 show alternative options for handling multiple sensor events according to further embodiments of the invention.
  • FIG. 8 shows a class diagram for decoupling video recording from camera preview.
  • FIG. 1 is a simplified block diagram of a computer system 9000 according to one embodiment of the invention.
  • the computer system 9000 includes a video processor component 9400.
  • the video processor component 9400 has a video interface 9420, which is configured to receive digital video data from a digital camera 9100.
  • the digital camera can be directly integrated into the computer system 9000 or it can be a remote camera being communicatively coupled through the video interface.
  • the communicative coupling can be achieved through an appropriate data bus or through wireless connection standards, such as the open wireless technology standard for exchanging data over short distances (Bluetooth).
  • the video processor component 9400 further has a sensor interface 9430, which is configured to receive a sensor event from sensor means 9300.
  • the video processor component 9400 can use digital storage means 9200 communicatively coupled to the video processor 9400 to persistently record the video data on the storage means.
  • the video processor 9400 can define a part of the video being recorded as a snapshot, where the snapshot is associated with the received event.
  • the part of the video which is defined as the snapshot can be a single frame of the video.
  • a frame of the video is one of the many still images which compose the complete moving picture of the video.
  • a typical number of frames per second in digital videos is 30. However, higher or lower numbers can be found in current digital video cameras.
  • the snapshot may be defined as being a number of frames, which are associated with the point in time when the event is received. For example, all frames that relate to one second of the recording time of the video define the snapshot. In this case a snapshot does not relate to a single still picture but to a short moving picture sequence being composed of a couple of frames in a respective recording time interval, which is short enough to define the snapshot associated with the received event.
  • the video processor component 9400 can then store metadata associated with the snapshot, wherein the snapshot metadata includes data for later retrieval of a portion of the digital video, which has been marked through the snapshot.
  • the portion can correspond to a predefined time interval defining a certain period before and after the snapshot.
  • the metadata may include information about the elapsed recording time when the event was received.
  • the metadata could also include a frame identifier which relates to the one or more frames associated with the snapshot or any other information, which is appropriate to localize the snapshot in the recorded video.
  • the snapshot metadata can be stored in the digital storage means 9200 or in any other appropriate storage means, such as for example, a cash memory (not shown) which is part of the video processor component itself.
  • the digital storage means 9200 can be provisioned as a remote resource on demand via a computer network, such as a private network or the Internet (cloud computing).
  • the storage means may be remotely located on a computer which is part of a cloud and can be accessed through an appropriate data interface (e.g., SERIAL-ATA, SCSI, SCA-2or any other appropriate interface type) by the computer system 9000 online (e.g., via the Internet).
  • a cloud in this context is a group of computing devices with storage means, which can be flexibly allocated on demand to provide specific services.
  • the video processor component may use display means 9600 to display the video to a user either while the video is being recorded or after recording.
  • the display means itself for example a TV set, may include video processing capabilities allowing to directly retrieve the video data from the digital storage means for display.
  • the video processor component 9400 can insert a snapshot indicator into the digital video, wherein the snapshot indicator is configured to give feedback to a user about the existence of the snapshot while observing the recorded video.
  • the snapshot indicator can be added to the video data to be stored.
  • the data added to the video may be a sound indicator like a short ring or beep tone to convey to the observer of the recorded video that a snapshot was defined where the sound is audible during video replay.
  • a visual indicator may be added to the video data to indicate the snapshot to the observer.
  • the computer system 9000 further includes a video data retrieval component 9410.
  • the video data retrieval component 9410 is communicatively coupled to the video processor component 9400 but may also be implemented as an integrated component of the video processor component 9400 or of the display means 9600.
  • the video data retrieval component 9410 is configured to retrieve the portion of the digital video around the snapshot by using predefined time interval information.
  • the predefined time interval information and the snapshot metadata are used to calculate a start time of the portion before the snapshot and an end time of the portion after the snapshot.
  • the time interval information may be a predefined system parameter or it may be set by the user as a configuration parameter or it may automatically be determined by the system based on predefined rules. For example, if the video is recorded while driving a car, the portion of the video which is to be retrieved around the snapshot can depend on the speed at which the car was driving when the event for defining the snapshot was received or it may depend on location coordinates of the car . The portion may also depend on the brightness conditions which were sensed at the time the event was received or any other condition which is meaningful to determine the length of the portion. After the portion is retrieved from the stored digital video, the retrieved portion may be stored as a separate digital video on the digital storage means.
  • the digital camera 9100 is communicatively coupled to the video processor component, so that video data can be transmitted to the video processor component 9000 at sufficient bandwidth.
  • the coupling can occur through a video bus where the camera is integrated in a mobile device and the computer system 9000 is integrated in the same mobile device. Examples for such mobile devices are mobile phones (e.g., smartphones), notebooks, mobile navigation devices, laptops, camcorders, personal digital assistants and tablet computers.
  • the camera may be integrated in a vehicle.
  • the camera may be integrated in the rear mirror of a car or in the front lights to observe the traffic in front of the car.
  • the communicative coupling may be implemented through wireless connection protocols, such as for example the Bluetooth technology.
  • the camera may also be integrated into a helmet for observing sports activities or for other occasions like fire brigade actions, where helmets are used.
  • the sensor means 9300 is communicatively coupled to the video processing component 9400 and can include one or more sensors.
  • an acceleration sensor may be used alone or in combination with a speed sensor to raise a sensor event, which indicates a critical situation while driving a car.
  • a relevant negative acceleration is measured a combined sensor event may be launched indicating the critical situation.
  • the sensor means can also include sensors that receive direct user input for launching a sensor event. Such sensors may be shock sensors, gesture sensors, touch sensors, and audio sensors.
  • any combination of different sensor types and appropriate sensor event rules can be used.
  • a person skilled in the art knows how to combine sensors and define such rules.
  • a rule can be defined which requires an additional sensor signal combined with the sensed acceleration.
  • Such an additional sensor signal may result from a reduced speed signal (indicating a crash or at least a brake application) or it may result from an audio signal where the user confirms orally (e.g., by saying "now") that he/she intentionally hit the acceleration sensor.
  • Another example is a location sensor which provides information about the current location of the sensor.
  • Such a location sensor can be implemented with a Global Positioning System (GPS) sensor or alternatively by a mobile phone using GSM localisation being done by multilateration based on the signal strength to nearby antenna masts.
  • the location coordinates delivered by the location sensor may then trigger a sensor event.
  • a sensor event can be triggered when the location sensor delivers location coordinates which are nearby the location coordinates of a predefined point of interest (e.g., a sight, a toll station, etc.)
  • a location sensor in a vehicle approaching the Golden Gate Bridge may trigger the event when the received GPS coordinates indicate that the Bridge is just in front of the vehicle.
  • the rules defining a sensor event can be handled outside of the computer system 9000.
  • the system may assume that every sensor event being received is supposed to define a snapshot because filtering or aggregating sensor events occurs, for example, in some sensor network infrastructure as known by a person skilled in the art.
  • the video processor component may include a rule engine which is capable of identifying relevant sensor events and which triggers the definition of a snapshot only in case that one or more received sensor events fulfill a requirement of a certain snapshot definition triggering rule, such as for example the one described above.
  • Such rules may be formal descriptions of situations like the examples given above with regards to the speed and acceleration sensing.
  • the computer system 9000 may perform the relevant sensor event filtering and aggregation that it would need to handle more complex combined sensor events for triggering a snapshot definition.
  • the storage means 9200 can be any commercially available storage means which is appropriate to store digital video data, such as hard disks, flash memories (e.g., SD cards, USB sticks), or optical discs (e.g., DVD, CD) .
  • hard disks e.g., hard disks, flash memories (e.g., SD cards, USB sticks), or optical discs (e.g., DVD, CD) .
  • flash memories e.g., SD cards, USB sticks
  • optical discs e.g., DVD, CD
  • the computer system 9000 can be part of the same hardware platform as the camera and/or sensor means.
  • the system 9000 can be hosted by a remote server computer where the video and sensor event data are received through a wireless communication technology.
  • the video and sensor event data can be broadcasted through an existing mobile telecommunications network with sufficient bandwidth.
  • Such telecommunication networks may be implemented according to the GSM or UMTS standard or any other standard allowing data transmission of the video data at sufficient bandwidth.
  • FIG. 2 is a simplified flow chart of a computer implemented method for marking a video which can be executed by a computer system as described under FIG. 1 .
  • the method starts by recording 4100 a digital video from a digital camera on digital storage means.
  • the computer system 9000 receives 4200 a sensor event, wherein the sensor event indicates a request to mark a portion of the digital video while the digital video is being recorded on the digital storage means.
  • a sensor event can be an acceleration event, indicating that respective acceleration sensor means sensed an acceleration exceeding a predefined threshold value.
  • the sensor event may also result from a user interaction with respective sensor means.
  • Examples for direct user interaction which may trigger sensor events, are: a user giving a spoken command to a microphone; a user touching a touchscreen of a smart phone or any other touch-screen enabled device (e.g., navigational system); a user pushing a device with a shock sensor; a user indicating a gesture to a gesture recognition sensor.
  • the computer system may be able perform sensor event filtering and/or aggregation by using a rule engine as described above.
  • the video processor component 9400 defines 4300 at least one recorded video frame of the video as a snapshot.
  • the video processing component inserts 4350 a snapshot indicator into the digital video file on the storage means 9200, wherein the snapshot indicator is configured to give feedback to a user about the existence of the snapshot while observing the recorded video.
  • snapshot indicators may be audio or video signals inserted into the video recording.
  • Snapshot metadata associated with the snapshot are then stored 4400, wherein the snapshot metadata includes data to retrieve the portion of the digital video as explained under FIG. 1 .
  • the computer system 9000 may then retrieve 4500 the portion of the digital video from the stored video file by using predefined time interval information.
  • the predefined time interval information can be defined as described under FIG. 1 and the snapshot metadata is then used to calculate a start time of the portion before the snapshot and an end time of the portion after the snapshot.
  • the retrieved portion may be stored 4600 as a separate digital video on the digital storage means. It may also be sent to the display means 9600 after the retrieval without storing it in a separate video file.
  • the advantage of storing it in a separate video file is that only video portions associated with snapshots need to be kept thus freeing up the memory which was occupied by the entire digital video before.
  • the recorded digital video can be deleted to free up memory after all relevant snapshot associated portions have been extracted and are stored as smaller separate digital video files.
  • the computer system 9000 can perform this memory clean-up while the recording is running.
  • the images which were recorded outside the predefined time intervals around each respective snapshot are automatically deleted by the system.
  • the deletion can be triggered by the sensor event that causes the storage of the snapshot metadata but it also can be triggered after a predefined recording time when no relevant sensor events were received during the recording. This frees up additional memory while recording is running and further results in increasing the maximum recording time in case limited data storage means is used for recording.
  • a further advantage of this embodiment is that right after the termination of the recording the final video only includes video scenes which are relevant to the user. This avoids tedious search activities of the user after the end of the recording to find and retrieve a certain video scene.
  • the system 9000 receives 4700 a further sensor event after the first snapshot metadata were stored and the further sensor event indicates a further request to mark a further portion of the digital video while the digital video is being recorded, then the system defines 4710 at least one further recorded video frame of the video as a further snapshot.
  • the system may perform a test, where the time distance between the snapshot and the further snapshot is determined. The system may compare the calculated time distance with a predefined snapshot overlapping threshold ST, and decide that only in case that the time distance is above the snapshot overlapping threshold ST the further snapshot meta data, including data to retrieve the further portion of the digital video, associated with the further snapshot, are stored 4730.
  • the system may simply wait for a new sensor event.
  • sensor events which are so close in time that they would fall into the video portion associated with the previously stored snapshot metadata would not be stored as the information is redundant and the relevant scene is already included in the video portion for the previous snapshot. This behavior can save memory and improve system performance because system operations which would not add useful information for the user are avoided.
  • FIG. 3 is a simplified flow chart of a further embodiment of the computer implemented method 3000 and shows in combination with FIGs. 4 to 7 one example of snapshot
  • the video processing component 9400 starts the continuous video recording 3300 and further creates 3200 a snapshot manager object 9450 (cf. FIG. 4). This occurs at t 0 in the time 1000 dimension (cf. FIG. 4).
  • the snapshot manager object is initialized 100 at t 0 by creating a data record 420 indicating the start time of the video.
  • additional metadata can be stored with the data record 420, such as for example, speed or Global Positioning System (GPS) coordinates.
  • GPS Global Positioning System
  • a first sensor event is received 3310, which triggers a first updating 3210 of the snapshot manager object 9450.
  • a first snapshot is defined and the snapshot metadata ss1 associated with the snapshot are added 101 as a second record 421 to the snapshot manager object.
  • the snapshot metadata ss1 may have the same data structure as the metadata stored with the initialization data record 420 for the start time.
  • a snapshot indicator may be added to the recorded video data 9210.
  • a second sensor event is received 3320 by the video processing component.
  • the system may now check 3220, whether the time distance between the time of the first snapshot ss1 and the time of the second event is above the predefined snapshot overlap threshold ST. If this is the case, the snapshot manager object will be updated 3230 a second time with the snapshot metadata record ss2 associated with the snapshot defined by the second sensor event. In other words, a third data record 422, including data to retrieve the portion of the digital video which relates to the second event, is added to the snapshot manager object. The system will then wait for the receipt 3330 of the next further event and repeat the previous steps.
  • the snapshot manager object may be persistently stored as a separate data file, when the video recording is ended. In an alternative embodiment the snapshot manager object may be persistently stored as a separate data file, already while the video is still being recorded. This may be
  • FIG. 5 further illustrates the handling of multiple sensor events according to one embodiment of the invention.
  • the portions 9221 , 9222 of the recorded video 9220 can later be retrieved by the video data retrieval component 9410 by looking up the snapshot metadata in the stored snapshot manager object file and calculating the respective portion start times t ps1, t pS2 and portion end times t pe i , tpe2 by using the predefined time interval information.
  • the time interval information may be in a format like (At,%), where At is the length of the time interval and % indicates the percentages of the time interval that defines the portion start time in relation to At. Any other format can be used which is appropriate to calculate the start and end times of the portions. There are commercial solutions available to cut the video according to the calculated start and end times of each respective portion and store the corresponding video file as separate videos
  • FIG. 6 and FIG. 7 show alternative options for handling multiple sensor events according to further embodiments of the invention.
  • the threshold check system 3220 results in a time distance between the time of the first snapshot ss1 and the time of the second event, which is below the predefined snapshot overlap threshold ST.
  • FIG. 6 shows one embodiment, where a further sensor event is received before the end of a time period that corresponds to the snapshot overlap threshold ST.
  • the further sensor event will not trigger a snap shot manager update because it is received at a point in time where at least a substantial part of the corresponding video portion is already included in the video portion 9221 associated with the first snapshot ss1. This saves memory space in the snapshot manager object and avoids an updating step without a substantial loss of video information with regards to the retrievable portion 9221.
  • FIG. 7 shows how to handle such an overlap scenario where a loss of information is not acceptable or, where for example the further sensor event occurs only very shortly (e.g., less than 10% of ST) before t pe i .
  • the system still defines a new snapshot ssf at the time t ssf when the further event is received.
  • a corresponding data record is added to the snapshot manager object and a corresponding snapshot indicator may be inserted in the recorded video data 9220.
  • FIG. 8 shows a class diagram for decoupling video recording from camera preview.
  • the recording 4100 of the digital video may be performed as a background process of computer system's operating system.
  • smartphones running on the Android operating system normally run the video recording as a foreground process.
  • Video recording is typically interrupted in the following examples: a user stops the recording; a telephone call comes in; the user is performing a navigation operation in the main menu of the smartphone; the user pushes the back button; or the user turns off the display.
  • the video recording requires the display of the camera preview in the foreground and stops immediately when the camera- preview in the foreground is terminated.
  • the dependency of the video recording task and the camera preview function is dissolved.
  • a service is started, which includes all relevant objects and information for the video recording.
  • the services use the required resources like, for example, the camera and the microphone of the smartphone.
  • the camera preview can now run as a background process and there is no need any more to show the camera preview in the foreground for continuing the recording in case any of the above interruptions occurs.
  • the video recording uses an instance of the class MediaRecorder of the Android class library. Coding block 1 shows a coding example for the Android operating system to implement such a background process based video recording solution on the Android operating system.
  • Embodiments of the invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
  • the invention can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
  • a computer program such as the computer program of claim 9, can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • a computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
  • Method steps of the invention can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
  • FPGA field programmable gate array
  • ASIC application-specific integrated circuit
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computing device.
  • a processor will receive instructions and data from a read-only memory or a random access memory or both.
  • the essential elements of a computer are at least one processor for executing instructions and one or more memory devices for storing instructions and data.
  • a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Such storage devices may also provisioned on demand and be accessible through the Internet (Cloud Computing).
  • Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
  • magnetic disks e.g., internal hard disks or removable disks
  • magneto-optical disks e.g., CD-ROM and DVD-ROM disks.
  • the processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
  • the invention can be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and an input device such as a keyboard, touchscreen or touchpad, a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
  • a display device e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor
  • an input device such as a keyboard, touchscreen or touchpad, a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech,
  • the invention can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an
  • the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network.
  • Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet or wireless LAN or telecommunication networks.
  • LAN local area network
  • WAN wide area network
  • the computing system can include clients and servers.
  • a client and server are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

Abstract

A computer implemented method, system and computer program product for marking a video, including a video processing component for recording a digital video from a digital camera on digital storage means; receiving a sensor event, wherein the sensor event indicates a request to mark a portion of the digital video while the digital video is being recorded on the digital storage means; in response to receiving the sensor event, defining at least one recorded video frame of the video as a snapshot; and storing snapshot metadata associated with the snapshot, wherein the snapshot metadata includes data to retrieve the portion of the digital video.

Description

Method and System for Video Marker Insertion Technical Field
[0001 ] The present invention generally relates to electronic data processing, and more particularly, relates to methods, computer program products and systems for marking videos.
Background
[0002] Video surveillance is typically run on stationary systems for security purposes of security sensitive areas. However, there is also a need for individual mobile video surveillance as for example when driving on the road and observing an accident or when skiing or performing other sports, or in the context of training and education where it is interesting to analyse situations after the event.
[0003] Many mobile or handheld computing devices, such as for example laptops, smartphones or tablet computers, have integrated digital cameras with video recording capabilities. One problem is that video recording in those devices is normally interrupted when a task of higher priority is performed by the mobile device. Such a task can be to take an incoming call, to initiate some other application by navigating the menu or switching of the display.
[0004] DailyRoads Voyager is an application for mobile devices powered by the Android operating system, allowing for video recording from vehicles. The application acts as a video black box recording everything, but only keeping what the user is really interested in. The user is usually the driver of a car, who can now capture video sequences of important road events. The application records and saves what happens in front of the camera. For this, the video is terminated and stored in a specific folder for to-be-retained videos when an event is launched and will be restarted afterwards. Therefore there is a small video gap close to the important event between the termination and the restart of the video, which is typically in the range of a few seconds.
Summary
[0005] There is a need to continuously capture a video around an important event while still being able to easily find a video sequence documenting a certain period before and after the event because each detail around this event may be of high importance when analysing the event afterwards. This problem is solved according to one aspect of the invention by a computer implemented method for marking a video according to claim 1. The method includes: recording a digital video from a digital camera on digital storage means; then receiving a sensor event, wherein the sensor event indicates a request to mark a portion of the digital video while the digital video is being recorded on the digital storage means; then in response to receiving the sensor event, defining at least one recorded video frame of the video as a snapshot ; and storing snapshot meta data associated with the snapshot, wherein the snapshot metadata includes data to retrieve the portion of the digital video. The solution of claim 1 allows for continuous video recording without any gaps in the vicinity of relevant events and provides the opportunity to easily find the relevant sequence in the continuous video recording through the stored snapshot metadata.
[0006] Further aspects of the invention are a computer program product according to the independent claim 9 and a computer system including a digital camera, digital storage means, sensor means and a video processor component according to independent claim 10. The computer system can run the computer program to execute the method of claim 1. [0007] Alternative embodiments of the invention can be implemented by a further video data retrieval component for retrieving the portion of the digital video by using predefined time interval information, wherein the predefined time interval information and the snapshot metadata is used to calculate a start time of the portion before the snapshot and an end time of the portion after the snapshot; and storing the retrieved portion as a separate digital video on the digital storage means.
[0008] Further aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. For example, it may be advantageous to use predefined time intervals before and after the event to guarantee seamless, continuous recording even after the event has occurred, as pointed out in claims 3 and 1 1 . It is to be understood that both, the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as described.
Brief Description of the Drawings [0009]
FIG. 1 is a simplified block diagram of a computer system according to one embodiment of the invention;
FIG. 2 is a simplified flow chart of a computer implemented method for marking a video according to one embodiment of the invention;
FIG. 3 is a simplified flow chart of a further embodiment of the computer implemented method; FIG. 4 illustrates creation and use of a snapshot manager object as being used in one embodiment of the invention;
FIG. 5 illustrates the handling of multiple sensor events according to one embodiment of the invention;
FIG. 6 and FIG. 7 show alternative options for handling multiple sensor events according to further embodiments of the invention; and
FIG. 8 shows a class diagram for decoupling video recording from camera preview.
Detailed Description
[0010] FIG. 1 is a simplified block diagram of a computer system 9000 according to one embodiment of the invention. The computer system 9000 includes a video processor component 9400. The video processor component 9400 has a video interface 9420, which is configured to receive digital video data from a digital camera 9100. The digital camera can be directly integrated into the computer system 9000 or it can be a remote camera being communicatively coupled through the video interface. The communicative coupling can be achieved through an appropriate data bus or through wireless connection standards, such as the open wireless technology standard for exchanging data over short distances (Bluetooth). The video processor component 9400 further has a sensor interface 9430, which is configured to receive a sensor event from sensor means 9300. The video processor component 9400 can use digital storage means 9200 communicatively coupled to the video processor 9400 to persistently record the video data on the storage means. In case sensor means 9300 launches an event, which is being received by the video processor 9400 through the sensor interface 9430, the video processor 9400 can define a part of the video being recorded as a snapshot, where the snapshot is associated with the received event.
[001 1 ] For example, the part of the video which is defined as the snapshot can be a single frame of the video. A frame of the video is one of the many still images which compose the complete moving picture of the video. A typical number of frames per second in digital videos is 30. However, higher or lower numbers can be found in current digital video cameras. In another example the snapshot may be defined as being a number of frames, which are associated with the point in time when the event is received. For example, all frames that relate to one second of the recording time of the video define the snapshot. In this case a snapshot does not relate to a single still picture but to a short moving picture sequence being composed of a couple of frames in a respective recording time interval, which is short enough to define the snapshot associated with the received event. The video processor component 9400 can then store metadata associated with the snapshot, wherein the snapshot metadata includes data for later retrieval of a portion of the digital video, which has been marked through the snapshot. The portion can correspond to a predefined time interval defining a certain period before and after the snapshot. The metadata may include information about the elapsed recording time when the event was received. The metadata could also include a frame identifier which relates to the one or more frames associated with the snapshot or any other information, which is appropriate to localize the snapshot in the recorded video. The snapshot metadata can be stored in the digital storage means 9200 or in any other appropriate storage means, such as for example, a cash memory (not shown) which is part of the video processor component itself. In one embodiment the digital storage means 9200 can be provisioned as a remote resource on demand via a computer network, such as a private network or the Internet (cloud computing). For example, the storage means may be remotely located on a computer which is part of a cloud and can be accessed through an appropriate data interface (e.g., SERIAL-ATA, SCSI, SCA-2or any other appropriate interface type) by the computer system 9000 online (e.g., via the Internet). A cloud in this context is a group of computing devices with storage means, which can be flexibly allocated on demand to provide specific services. The video processor component may use display means 9600 to display the video to a user either while the video is being recorded or after recording. In one embodiment the display means itself, for example a TV set, may include video processing capabilities allowing to directly retrieve the video data from the digital storage means for display.
[0012] Optionally, the video processor component 9400 can insert a snapshot indicator into the digital video, wherein the snapshot indicator is configured to give feedback to a user about the existence of the snapshot while observing the recorded video. For example, when the sensor event is received to define the snapshot, the snapshot indicator can be added to the video data to be stored. In one embodiment the data added to the video may be a sound indicator like a short ring or beep tone to convey to the observer of the recorded video that a snapshot was defined where the sound is audible during video replay. In another implementation a visual indicator may be added to the video data to indicate the snapshot to the observer. Such video data may show, for example, a blinking banner saying "snapshot!" or it may be a blinking color icon or any other visible sign in the video which is appropriate to indicate the snapshot creating sensor event to the video observing user. [0013] Optionally, the computer system 9000 further includes a video data retrieval component 9410. The video data retrieval component 9410 is communicatively coupled to the video processor component 9400 but may also be implemented as an integrated component of the video processor component 9400 or of the display means 9600. The video data retrieval component 9410 is configured to retrieve the portion of the digital video around the snapshot by using predefined time interval information. The predefined time interval information and the snapshot metadata are used to calculate a start time of the portion before the snapshot and an end time of the portion after the snapshot. The time interval information may be a predefined system parameter or it may be set by the user as a configuration parameter or it may automatically be determined by the system based on predefined rules. For example, if the video is recorded while driving a car, the portion of the video which is to be retrieved around the snapshot can depend on the speed at which the car was driving when the event for defining the snapshot was received or it may depend on location coordinates of the car . The portion may also depend on the brightness conditions which were sensed at the time the event was received or any other condition which is meaningful to determine the length of the portion. After the portion is retrieved from the stored digital video, the retrieved portion may be stored as a separate digital video on the digital storage means.
[0014] The digital camera 9100 is communicatively coupled to the video processor component, so that video data can be transmitted to the video processor component 9000 at sufficient bandwidth. In one implementation the coupling can occur through a video bus where the camera is integrated in a mobile device and the computer system 9000 is integrated in the same mobile device. Examples for such mobile devices are mobile phones (e.g., smartphones), notebooks, mobile navigation devices, laptops, camcorders, personal digital assistants and tablet computers. In another implementation the camera may be integrated in a vehicle. For example, the camera may be integrated in the rear mirror of a car or in the front lights to observe the traffic in front of the car. In such embodiments the communicative coupling may be implemented through wireless connection protocols, such as for example the Bluetooth technology. It may also be integrated in the rear window or at any other position, which would be appropriate to observe the traffic behind the car. For example, those embodiments are suitable to analyse the history of an accident after it occurred based on the recorded video. The camera may also be integrated into a helmet for observing sports activities or for other occasions like fire brigade actions, where helmets are used.
[0015] The sensor means 9300 is communicatively coupled to the video processing component 9400 and can include one or more sensors. For example an acceleration sensor may be used alone or in combination with a speed sensor to raise a sensor event, which indicates a critical situation while driving a car. When the car is running at high speed and at the same time a relevant negative acceleration is measured a combined sensor event may be launched indicating the critical situation. On the other hand, if the car is simply running at low speed and the car finally comes to a stop, it may simply indicate that the driver parked the car. The sensor means can also include sensors that receive direct user input for launching a sensor event. Such sensors may be shock sensors, gesture sensors, touch sensors, and audio sensors. To create a sensor event that indicates a request to define a snapshot in the running video recording, any combination of different sensor types and appropriate sensor event rules can be used. A person skilled in the art knows how to combine sensors and define such rules. For example, to avoid an unintended acceleration sensor event resulting from unintentionally hitting the device, a rule can be defined which requires an additional sensor signal combined with the sensed acceleration. Such an additional sensor signal may result from a reduced speed signal (indicating a crash or at least a brake application) or it may result from an audio signal where the user confirms orally (e.g., by saying "now") that he/she intentionally hit the acceleration sensor. Another example is a location sensor which provides information about the current location of the sensor. Such a location sensor can be implemented with a Global Positioning System (GPS) sensor or alternatively by a mobile phone using GSM localisation being done by multilateration based on the signal strength to nearby antenna masts. The location coordinates delivered by the location sensor may then trigger a sensor event. For example, a rule may be used which defines the location coordinates of specific points of interest as a trigger. In this example, a sensor event can be triggered when the location sensor delivers location coordinates which are nearby the location coordinates of a predefined point of interest (e.g., a sight, a toll station, etc.) For example, a location sensor in a vehicle approaching the Golden Gate Bridge may trigger the event when the received GPS coordinates indicate that the Bridge is just in front of the vehicle. The rules defining a sensor event, which should trigger the definition of a snapshot, can be handled outside of the computer system 9000. In such an embodiment the system may assume that every sensor event being received is supposed to define a snapshot because filtering or aggregating sensor events occurs, for example, in some sensor network infrastructure as known by a person skilled in the art. In an alternative embodiment the video processor component may include a rule engine which is capable of identifying relevant sensor events and which triggers the definition of a snapshot only in case that one or more received sensor events fulfill a requirement of a certain snapshot definition triggering rule, such as for example the one described above. Such rules may be formal descriptions of situations like the examples given above with regards to the speed and acceleration sensing. In this embodiment, the computer system 9000 may perform the relevant sensor event filtering and aggregation that it would need to handle more complex combined sensor events for triggering a snapshot definition.
[0016] The storage means 9200 can be any commercially available storage means which is appropriate to store digital video data, such as hard disks, flash memories (e.g., SD cards, USB sticks), or optical discs (e.g., DVD, CD) .
[0017] In some embodiments, like for example in the fully integrated mobile device
embodiments described above, the computer system 9000 can be part of the same hardware platform as the camera and/or sensor means. In other embodiments the system 9000 can be hosted by a remote server computer where the video and sensor event data are received through a wireless communication technology. For example, the video and sensor event data can be broadcasted through an existing mobile telecommunications network with sufficient bandwidth. Such telecommunication networks may be implemented according to the GSM or UMTS standard or any other standard allowing data transmission of the video data at sufficient bandwidth.
[0018] FIG. 2 is a simplified flow chart of a computer implemented method for marking a video which can be executed by a computer system as described under FIG. 1 . According to one embodiment of the invention the method starts by recording 4100 a digital video from a digital camera on digital storage means. The computer system 9000 receives 4200 a sensor event, wherein the sensor event indicates a request to mark a portion of the digital video while the digital video is being recorded on the digital storage means. For example, a sensor event can be an acceleration event, indicating that respective acceleration sensor means sensed an acceleration exceeding a predefined threshold value. The sensor event may also result from a user interaction with respective sensor means. Examples for direct user interaction, which may trigger sensor events, are: a user giving a spoken command to a microphone; a user touching a touchscreen of a smart phone or any other touch-screen enabled device (e.g., navigational system); a user pushing a device with a shock sensor; a user indicating a gesture to a gesture recognition sensor. In the case of using multiple sensors in combination, the computer system may be able perform sensor event filtering and/or aggregation by using a rule engine as described above. In response to receiving 4200 the sensor event, the video processor component 9400 defines 4300 at least one recorded video frame of the video as a snapshot. Optionally, the video processing component inserts 4350 a snapshot indicator into the digital video file on the storage means 9200, wherein the snapshot indicator is configured to give feedback to a user about the existence of the snapshot while observing the recorded video. As described before, snapshot indicators may be audio or video signals inserted into the video recording. One could also use a vibration signal of a mobile phone as a snapshot indicator by inserting corresponding data into the recorded video data file. Snapshot metadata associated with the snapshot are then stored 4400, wherein the snapshot metadata includes data to retrieve the portion of the digital video as explained under FIG. 1 .
[0019] Optionally, if the computer system 9000 also includes the video retrieval component 9410, it may then retrieve 4500 the portion of the digital video from the stored video file by using predefined time interval information. The predefined time interval information can be defined as described under FIG. 1 and the snapshot metadata is then used to calculate a start time of the portion before the snapshot and an end time of the portion after the snapshot. Then the retrieved portion may be stored 4600 as a separate digital video on the digital storage means. It may also be sent to the display means 9600 after the retrieval without storing it in a separate video file. However, the advantage of storing it in a separate video file is that only video portions associated with snapshots need to be kept thus freeing up the memory which was occupied by the entire digital video before. In other words, the recorded digital video can be deleted to free up memory after all relevant snapshot associated portions have been extracted and are stored as smaller separate digital video files. In one embodiment, the computer system 9000 can perform this memory clean-up while the recording is running. In this embodiment the images which were recorded outside the predefined time intervals around each respective snapshot are automatically deleted by the system. For example, the deletion can be triggered by the sensor event that causes the storage of the snapshot metadata but it also can be triggered after a predefined recording time when no relevant sensor events were received during the recording. This frees up additional memory while recording is running and further results in increasing the maximum recording time in case limited data storage means is used for recording. A further advantage of this embodiment is that right after the termination of the recording the final video only includes video scenes which are relevant to the user. This avoids tedious search activities of the user after the end of the recording to find and retrieve a certain video scene.
[0020] In case the computer system 9000 receives 4700 a further sensor event after the first snapshot metadata were stored and the further sensor event indicates a further request to mark a further portion of the digital video while the digital video is being recorded, then the system defines 4710 at least one further recorded video frame of the video as a further snapshot. However, before storing the further snapshot metadata including data to retrieve the further portion of the digital video, the system may perform a test, where the time distance between the snapshot and the further snapshot is determined. The system may compare the calculated time distance with a predefined snapshot overlapping threshold ST, and decide that only in case that the time distance is above the snapshot overlapping threshold ST the further snapshot meta data, including data to retrieve the further portion of the digital video, associated with the further snapshot, are stored 4730. In case the time distance is below the threshold, the system may simply wait for a new sensor event. The advantage of this system behavior is that sensor events, which are so close in time that they would fall into the video portion associated with the previously stored snapshot metadata would not be stored as the information is redundant and the relevant scene is already included in the video portion for the previous snapshot. This behavior can save memory and improve system performance because system operations which would not add useful information for the user are avoided.
[0021 ] FIG. 3 is a simplified flow chart of a further embodiment of the computer implemented method 3000 and shows in combination with FIGs. 4 to 7 one example of snapshot
implementation details for creation and use of a snapshot manager object.
[0022] When video recording is started 3100 either by a user or through some predefined automatism, the video processing component 9400 (cf. FIG. 1 ) starts the continuous video recording 3300 and further creates 3200 a snapshot manager object 9450 (cf. FIG. 4). This occurs at t0 in the time 1000 dimension (cf. FIG. 4). The snapshot manager object is initialized 100 at t0 by creating a data record 420 indicating the start time of the video. In alternative embodiments additional metadata can be stored with the data record 420, such as for example, speed or Global Positioning System (GPS) coordinates. For the reason of simplicity it is assumed in the following description that the receipt of sensor events occurs simultaneously with the updating steps of the snapshot manager object. However, in reality there will be typically small delays in the updating steps because of system caused runtime delays. At time tSsi a first sensor event is received 3310, which triggers a first updating 3210 of the snapshot manager object 9450. In other words, a first snapshot is defined and the snapshot metadata ss1 associated with the snapshot are added 101 as a second record 421 to the snapshot manager object. The snapshot metadata ss1 may have the same data structure as the metadata stored with the initialization data record 420 for the start time. Optionally, as described before, a snapshot indicator may be added to the recorded video data 9210. At time tss2 a second sensor event is received 3320 by the video processing component. The system may now check 3220, whether the time distance between the time of the first snapshot ss1 and the time of the second event is above the predefined snapshot overlap threshold ST. If this is the case, the snapshot manager object will be updated 3230 a second time with the snapshot metadata record ss2 associated with the snapshot defined by the second sensor event. In other words, a third data record 422, including data to retrieve the portion of the digital video which relates to the second event, is added to the snapshot manager object. The system will then wait for the receipt 3330 of the next further event and repeat the previous steps. In one embodiment the snapshot manager object may be persistently stored as a separate data file, when the video recording is ended. In an alternative embodiment the snapshot manager object may be persistently stored as a separate data file, already while the video is still being recorded. This may be
advantageous in case of a system failure during recording, which would prevent persistent storage of the information after the recording ended.
[0023] FIG. 5 further illustrates the handling of multiple sensor events according to one embodiment of the invention. There are two video portions 9221 , 9222 which are associated with the snapshots ss1 and ss2, respectively, which were added to the snapshot manager object in response to the received sensor events. The portions 9221 , 9222 of the recorded video 9220 can later be retrieved by the video data retrieval component 9410 by looking up the snapshot metadata in the stored snapshot manager object file and calculating the respective portion start times tps1, tpS2 and portion end times tpei, tpe2 by using the predefined time interval information. The time interval information may be in a format like (At,%), where At is the length of the time interval and % indicates the percentages of the time interval that defines the portion start time in relation to At. Any other format can be used which is appropriate to calculate the start and end times of the portions. There are commercial solutions available to cut the video according to the calculated start and end times of each respective portion and store the corresponding video file as separate videos
[0024] FIG. 6 and FIG. 7 show alternative options for handling multiple sensor events according to further embodiments of the invention. Referring back to FIG. 3, the case where the threshold check system 3220 results in a time distance between the time of the first snapshot ss1 and the time of the second event, which is below the predefined snapshot overlap threshold ST, will now be discussed in more detail. FIG. 6 shows one embodiment, where a further sensor event is received before the end of a time period that corresponds to the snapshot overlap threshold ST. In this embodiment the further sensor event will not trigger a snap shot manager update because it is received at a point in time where at least a substantial part of the corresponding video portion is already included in the video portion 9221 associated with the first snapshot ss1. This saves memory space in the snapshot manager object and avoids an updating step without a substantial loss of video information with regards to the retrievable portion 9221.
[0025] FIG. 7 shows how to handle such an overlap scenario where a loss of information is not acceptable or, where for example the further sensor event occurs only very shortly (e.g., less than 10% of ST) before tpei . In this embodiment the system still defines a new snapshot ssf at the time tssf when the further event is received. In other words, a corresponding data record is added to the snapshot manager object and a corresponding snapshot indicator may be inserted in the recorded video data 9220. When retrieving the video portions associated with the snapshots ss1 and ssf the system will notice that there is an overlap and it retrieves a single video portion 9221 a, which is reaching from video portion start time tps1 of snapshot ss1 to the video portion end time tpef of snapshot ssf. This embodiment can be used in situations where data quality cannot be sacrificed. [0026] FIG. 8 shows a class diagram for decoupling video recording from camera preview.
When executing the computer implemented method 4000 as described in FIG. 2, the recording 4100 of the digital video may be performed as a background process of computer system's operating system. For example, but not limiting, smartphones running on the Android operating system normally run the video recording as a foreground process. Video recording is typically interrupted in the following examples: a user stops the recording; a telephone call comes in; the user is performing a navigation operation in the main menu of the smartphone; the user pushes the back button; or the user turns off the display. In other words, the video recording requires the display of the camera preview in the foreground and stops immediately when the camera- preview in the foreground is terminated. In one embodiment of the invention the dependency of the video recording task and the camera preview function is dissolved. This can be achieved by creating an object of the class camera, which includes the required camera preview. It indicates to the user that video recording is running in the smartphone. In addition, a service is started, which includes all relevant objects and information for the video recording. The services use the required resources like, for example, the camera and the microphone of the smartphone. As a consequence, the camera preview can now run as a background process and there is no need any more to show the camera preview in the foreground for continuing the recording in case any of the above interruptions occurs. In the example of an Android based smartphone the video recording uses an instance of the class MediaRecorder of the Android class library. Coding block 1 shows a coding example for the Android operating system to implement such a background process based video recording solution on the Android operating system.
Coding block 1 : public void surfaceCreated(SurfaceHolder holder) { mMediaRecorder = new MediaRecorder();
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(
Med iaRecorder.VideoSource. CAMERA); mMediaRecorder.setProfile(CamcorderProfile.get(
CamcorderProfile.QUALITY_HIGH));
inMediaRecorder.setOutputFile(outputFile);
mMediaRecorder.setPreviewDisplay(holder.getSurface()); try {
mMediaRecorder.prepare();
mMediaRecorder.start();
} catch (lOException e) {
}
}
[0027] Embodiments of the invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The invention can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program, such as the computer program of claim 9, can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[0028] Method steps of the invention can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
[0029] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computing device. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Such storage devices may also provisioned on demand and be accessible through the Internet (Cloud Computing). Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
[0030] To provide for interaction with a user, the invention can be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and an input device such as a keyboard, touchscreen or touchpad, a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0031 ] The invention can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an
implementation of the invention, or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet or wireless LAN or telecommunication networks.
[0032] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

Claims

Claims
1 . A computer implemented method (4000) for marking a video, comprising: recording (4100) a digital video from a digital camera (9100) on digital storage means (9300); receiving (4200) a sensor event, wherein the sensor event indicates a request to mark a portion of the digital video while the digital video is being recorded on the digital storage means (9300); in response to receiving (4200) the sensor event, defining (4300) at least one recorded video frame of the video as a snapshot ; and storing (4400) snapshot metadata associated with the snapshot, wherein the snapshot metadata includes data to retrieve the portion of the digital video.
2. The computer implemented method (4000) of claim 1 , further comprising: inserting (4350) a snapshot indicator into the digital video, wherein the snapshot indicator is configured to give feedback to a user about the existence of the snapshot while observing the recorded video.
3. The computer implemented method (4000) of anyone of the claims 1 to 2, further comprising: retrieving (4500) the portion of the digital video by using predefined time interval information, wherein the predefined time interval information and the snapshot metadata is used to calculate a start time of the portion before the snapshot and an end time of the portion after the snapshot; and storing (4600) the retrieved portion as a separate digital video on the digital storage means.
4. The computer implemented method (4000) of claim 1 or 3, further comprising: receiving (4700) a further sensor event, wherein the further sensor event indicates a further request to mark a further portion of the digital video while the digital video is being recorded; in response to receiving (4700) the sensor event, defining (4710) at least one further recorded video frame of the video as a further snapshot ; calculating (4720) a time distance between the snapshot and the further snapshot; and if the time distance is above a predefined snapshot overlapping threshold, storing (4730) further snapshot meta data associated with the further snapshot, wherein the further snapshot metadata includes data to retrieve the further portion of the digital video.
5. The computer implemented method (4000) of anyone of the claims 1 to 4, wherein the digital camera is integrated in a mobile device.
6. The computer implemented method (4000) of anyone of the claims 1 to 5, wherein the sensor event is an acceleration event indicating that respective sensor means sensed an acceleration exceeding a predefined threshold value.
7. The computer implemented method (4000) of anyone of the claims 1 to 5, wherein the sensor event is an event triggered by an interaction of a user with respective sensor means.
8. The computer implemented method (4000) of anyone of the claims 1 to 7, wherein the recording (4100) of the digital video is performed as a background process.
9. A computer program product for marking a video, comprising a plurality of instructions that when loaded into storage means (9200) of a computer system (9000) causes processor means (9100) of the computer system (9000) to execute the method according to any one of the claims 1 to 8.
10. A computer system (9000) for marking a video, comprising: a video interface (9420) configured to receive digital video data from a digital camera (9100); a data interface to digital storage means (9200); a sensor interface (9430) configured to receive a sensor event from sensor means
(9300); and a video processor component (9400) configured to: record (4100) a digital video from the digital camera on the digital storage means (9200) through the data interface; receive (4200) the sensor event, wherein the sensor event indicates a request to mark a portion of the digital video while the digital video is being recorded on the digital storage means (9200) through the data interface; define (4300) at least one recorded video frame of the video as a snapshot in response to the receipt (4200) of the sensor event; and store (4400) snapshot meta data associated with the snapshot, wherein the snapshot metadata includes data to retrieve the portion of the digital video.
1 1 . The computer system (9000) of claim 10, wherein the video processor component further comprises: a video data retrieval component (9410) configured to: retrieve (4500) the portion of the digital video by using predefined time interval information, wherein the predefined time interval information and the snapshot metadata is used to calculate a start time of the portion before the snapshot and an end time of the portion after the snapshot; and store (4600) the retrieved portion as a separate digital video on the digital storage means (9200) through the data interface.
12. The computer system (9000) of claim 10 or 1 1 , wherein the digital camera is integrated in a mobile device selected from the group of: mobile phone, notebook, mobile navigation device, laptop, camcorder, personal digital assistant and tablet computer.
13. The computer system (9000) of claim 10 or 1 1 , wherein the digital camera is integrated in a vehicle.
14. The computer system (9000) of claim 10 or 1 1 , wherein the digital camera is integrated in a helmet.
15. The computer system (9000) of anyone of the claims 10 to 14, wherein the sensor means is selected from the group of: acceleration sensor, speed sensor, shock sensor, gesture sensor, touch sensor, location sensor and audio sensor.
PCT/EP2011/056596 2011-04-26 2011-04-26 Method and system for video marker insertion WO2012146273A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2011/056596 WO2012146273A1 (en) 2011-04-26 2011-04-26 Method and system for video marker insertion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2011/056596 WO2012146273A1 (en) 2011-04-26 2011-04-26 Method and system for video marker insertion

Publications (1)

Publication Number Publication Date
WO2012146273A1 true WO2012146273A1 (en) 2012-11-01

Family

ID=44202084

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/056596 WO2012146273A1 (en) 2011-04-26 2011-04-26 Method and system for video marker insertion

Country Status (1)

Country Link
WO (1) WO2012146273A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374477B2 (en) 2014-03-05 2016-06-21 Polar Electro Oy Wrist computer wireless communication and event detection
EP3091729A4 (en) * 2014-07-29 2017-03-15 Panasonic Intellectual Property Management Co., Ltd. Imaging device
CN113660517A (en) * 2021-08-17 2021-11-16 浙江大华技术股份有限公司 Video file storage method and device, storage medium and electronic device
US11388338B2 (en) * 2020-04-24 2022-07-12 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Video processing for vehicle ride
US11396299B2 (en) * 2020-04-24 2022-07-26 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Video processing for vehicle ride incorporating biometric data

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6133947A (en) * 1995-11-15 2000-10-17 Casio Computer Co., Ltd. Image processing system capable of displaying photographed image in combination with relevant map image
US6359643B1 (en) * 1998-08-31 2002-03-19 Intel Corporation Method and apparatus for signaling a still image capture during video capture
US20030032447A1 (en) * 2001-08-10 2003-02-13 Koninklijke Philips Electronics N.V. Conversation rewind
US6720998B1 (en) * 1998-12-26 2004-04-13 Lg Semicon Co., Ltd. Device for managing snap shot in USB camera and method therefor
WO2006081053A2 (en) * 2005-01-24 2006-08-03 Moderator Systems, Inc. Wireless event authentication system
WO2008007878A1 (en) * 2006-07-10 2008-01-17 Ubtechnology Co., Ltd Black box system for vehicle
US20080136940A1 (en) * 2006-12-06 2008-06-12 Samsung Electronics Co., Ltd. Method and apparatus for automatic image management
US20090309989A1 (en) * 2006-06-30 2009-12-17 Nikon Corporation Camera capable of taking movie
US20100020221A1 (en) * 2008-07-24 2010-01-28 David John Tupman Camera Interface in a Portable Handheld Electronic Device
US20100152949A1 (en) * 2008-12-15 2010-06-17 Delphi Technologies, Inc. Vehicle event recording system and method
US20100171829A1 (en) * 2007-09-28 2010-07-08 Mariko Yago Drive recorder
US20100321533A1 (en) * 2009-06-23 2010-12-23 Samsung Electronics Co., Ltd Image photographing apparatus and method of controlling the same

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6133947A (en) * 1995-11-15 2000-10-17 Casio Computer Co., Ltd. Image processing system capable of displaying photographed image in combination with relevant map image
US6359643B1 (en) * 1998-08-31 2002-03-19 Intel Corporation Method and apparatus for signaling a still image capture during video capture
US6720998B1 (en) * 1998-12-26 2004-04-13 Lg Semicon Co., Ltd. Device for managing snap shot in USB camera and method therefor
US20030032447A1 (en) * 2001-08-10 2003-02-13 Koninklijke Philips Electronics N.V. Conversation rewind
WO2006081053A2 (en) * 2005-01-24 2006-08-03 Moderator Systems, Inc. Wireless event authentication system
US20090309989A1 (en) * 2006-06-30 2009-12-17 Nikon Corporation Camera capable of taking movie
WO2008007878A1 (en) * 2006-07-10 2008-01-17 Ubtechnology Co., Ltd Black box system for vehicle
US20080136940A1 (en) * 2006-12-06 2008-06-12 Samsung Electronics Co., Ltd. Method and apparatus for automatic image management
US20100171829A1 (en) * 2007-09-28 2010-07-08 Mariko Yago Drive recorder
US20100020221A1 (en) * 2008-07-24 2010-01-28 David John Tupman Camera Interface in a Portable Handheld Electronic Device
US20100152949A1 (en) * 2008-12-15 2010-06-17 Delphi Technologies, Inc. Vehicle event recording system and method
US20100321533A1 (en) * 2009-06-23 2010-12-23 Samsung Electronics Co., Ltd Image photographing apparatus and method of controlling the same

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374477B2 (en) 2014-03-05 2016-06-21 Polar Electro Oy Wrist computer wireless communication and event detection
US9936084B2 (en) 2014-03-05 2018-04-03 Polar Electro Oy Wrist computer wireless communication and event detection
EP2916250B1 (en) * 2014-03-05 2018-05-16 Polar Electro Oy Wrist computer wireless communication and event detection
EP3091729A4 (en) * 2014-07-29 2017-03-15 Panasonic Intellectual Property Management Co., Ltd. Imaging device
US11388338B2 (en) * 2020-04-24 2022-07-12 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Video processing for vehicle ride
US11396299B2 (en) * 2020-04-24 2022-07-26 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Video processing for vehicle ride incorporating biometric data
CN113660517A (en) * 2021-08-17 2021-11-16 浙江大华技术股份有限公司 Video file storage method and device, storage medium and electronic device

Similar Documents

Publication Publication Date Title
US20190371036A1 (en) Digital media editing
EP3232343A1 (en) Method and apparatus for managing video data, terminal, and server
WO2017211206A1 (en) Video marking method and device, and video monitoring method and system
US9451062B2 (en) Mobile device edge view display insert
EP2860968B1 (en) Information processing device, information processing method, and program
US10802811B2 (en) Information processing device, information processing method, computer program, and server device
WO2022042389A1 (en) Search result display method and apparatus, readable medium, and electronic device
EP3461136B1 (en) Video playing method and device
WO2012146273A1 (en) Method and system for video marker insertion
CN107305561B (en) Image processing method, device and equipment and user interface system
US20130222154A1 (en) System and method for providing traffic notifications
JP6732677B2 (en) Video collection system, video collection device, and video collection method
US20210073278A1 (en) Providing Access to Videos Generated from a Vehicle Camera System
CN102967315A (en) Navigation map improvement method and device
CN107845161B (en) Method and device for acquiring flight record
CN110991260B (en) Scene marking method, device, equipment and storage medium
US10013623B2 (en) System and method for determining the position of an object displaying media content
US20170180293A1 (en) Contextual temporal synchronization markers
CN109492163B (en) List display recording method and device, terminal equipment and storage medium
CN114241415A (en) Vehicle position monitoring method, edge calculation device, monitoring device and system
CN110543347A (en) Method and device for generating screenshot image and electronic equipment
US11182959B1 (en) Method and system for providing web content in virtual reality environment
CN112116826A (en) Method and device for generating information
US20170200465A1 (en) Location-specific audio capture and correspondence to a video file
CN114025116B (en) Video generation method, device, readable medium and electronic equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11721252

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11721252

Country of ref document: EP

Kind code of ref document: A1