Apparatus, methods, and computer programs for user identification

GB2633021APending Publication Date: 2025-03-05NOKIA TECHNOLOGIES OY
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
GB2023013053
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-29
Publication Date
2025-03-05

Smart Images

  • Figure 00000000_0001_ABST
    Figure 00000000_0001_ABST
  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method 300 comprises: extracting and transmitting motion data (steps 1 & 2) from at least one user device 316 that is co-located (wearable) with a user; determining visual motion data (step 3) for at least one person in video data of a scene 402; comparing the received motion data and the visual motion data (step 4) to identify the user 602 in the video data 106 of the scene 402; cropping (extracting) the video data of the scene to a portion around the user 602 to provide cropped user video data 110 of the scene(step 5); and transmitting the cropped user video data of the scene (Step 6) to enable at least one service associated with the user (Step 7) based, at least in part, on the cropped user video data 110 of the scene 402.
Need to check novelty before this filing date? Find Prior Art

Description

Identifying a person / user in, for example, video data can be difficult. For example, facial recognition of a person / user can fail due to lack of image detail and / or a person’s / user’s face not being captured at all. It would be desirable to improve and / or enhance user identification. BRIEF SUMMARY According to various, but not necessarily all, embodiments there is provided an apparatus comprising means for: receiving motion data from at least one user device that is co-located with a user; determining visual motion data for at least one person in video data of a scene; comparing the received motion data and the visual motion data to identify the user in the video data of the scene; cropping the video data of the scene to a portion around the user to provide cropped user video data of the scene; and transmitting the cropped user video data of the scene to enable at least one service associated with the user based, at least in part, on the cropped user video data of the scene. In some examples, transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one user device of the user to enable at least one service associated with the user at the at least one user device of the user. In some examples, the at least one service associated with the user at the at least one user device of the user comprises at least one sensing application. In some examples, transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one server. In some examples, the received motion data comprises data from at least one inertial measurement unit in the at least one user device that is co-located with the user. In some examples, the means are configured to: determine, based, at least in part, on the received motion data, first segmented trajectory information of the user in the frame of reference of the user; determine, based, at least in part, on the visual motion data, second segmented trajectory information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene, wherein comparing the received motion data and visual motion data comprises comparing the first segmented trajectory information of the user and the second segmented trajectory information of the at least one person in the video data of the scene. In some examples, the first segmented trajectory information comprises orientation and / or movement information of the user in the frame of reference of the user in a sequence of discrete time steps; and wherein the second segmented trajectory information comprises orientation and / or movement information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene in a sequence of discrete time steps that substantially matches the discrete time steps of the first segmented trajectory information. In some examples, the at least one service associated with the user uses, as an input, video data of the scene comprising the user. In some examples, the means comprises at least one processor; and at least one memory including computer program code, the at least one memory storing instructions that, when executed by the at least one processor, cause performance of at least part of a method as described herein. According to various, but not necessarily all, embodiments there is provided a system comprising an apparatus as described herein and at least one visual sensor configured to provide the video data of the scene. According to various, but not necessarily all, embodiments there is provided a method comprising: receiving motion data from at least one user device that is co-located with a user; determining visual motion data for at least one person in video data of a scene; comparing the received motion data and the visual motion data to identify the user in the video data of the scene; cropping the video data of the scene to a portion around the user to provide cropped user video data of the scene; and transmitting the cropped user video data of the scene to enable at least one service associated with the user based, at least in part, on the cropped user video data of the scene. In some examples, transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one user device of the user to enable at least one service associated with the user at the at least one user device of the user. In some examples, the at least one service associated with the user at the at least one user device of the user comprises at least one sensing application. In some examples, transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one server. In some examples, the received motion data comprises data from at least one inertial measurement unit in the at least one user device that is co-located with the user. In some examples, the method comprises: determining, based, at least in part, on the received motion data, first segmented trajectory information of the user in the frame of reference of the user; determining, based, at least in part, on the visual motion data, second segmented trajectory information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene, wherein comparing the received motion data and visual motion data comprises comparing the first segmented trajectory information of the user and the second segmented trajectory information of the at least one person in the video data of the scene. In some examples, the first segmented trajectory information comprises orientation and / or movement information of the user in the frame of reference of the user in a sequence of discrete time steps; and wherein the second segmented trajectory information comprises orientation and / or movement information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene in a sequence of discrete time steps that substantially matches the discrete time steps of the first segmented trajectory information. In some examples, the at least one service associated with the user uses, as an input, video data of the scene comprising the user. According to various, but not necessarily all, embodiments there is provided a computer program comprising instructions for causing an apparatus to perform: receiving motion data from at least one user device that is co-located with a user; determining visual motion data for at least one person in video data of a scene; comparing the received motion data and the visual motion data to identify the user in the video data of the scene; cropping the video data of the scene to a portion around the user to provide cropped user video data of the scene; and transmitting the cropped user video data of the scene to enable at least one service associated with the user based, at least in part, on the cropped user video data of the scene. In some examples, transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one user device of the user to enable at least one service associated with the user at the at least one user device of the user. In some examples, the at least one service associated with the user at the at least one user device of the user comprises at least one sensing application. In some examples, transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one server. In some examples, the received motion data comprises data from at least one inertial measurement unit in the at least one user device that is co-located with the user. In some examples, the computer program comprises instructions for causing an apparatus to perform: determining, based, at least in part, on the received motion data, first segmented trajectory information of the user in the frame of reference of the user; determining, based, at least in part, on the visual motion data, second segmented trajectory information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene, wherein comparing the received motion data and visual motion data comprises comparing the first segmented trajectory information of the user and the second segmented trajectory information of the at least one person in the video data of the scene. According to various, but not necessarily all, embodiments there is provided an apparatus comprising means for: transmitting motion data from at least one user device that is co-located with a user; receiving cropped user video data of a scene, wherein the cropped user video data of the scene comprises video data of the scene that has been cropped to a portion around the user based, at least in part, on the transmitted motion data; and providing at least one service associated with the user based, at least in part, on the received cropped user video data of the scene. According to various, but not necessarily all, examples there is provided examples as claimed in the appended claims. According to various, but not necessarily all, embodiments there is provided an apparatus comprising at least one processor; and at least one memory including computer program code; the at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform at least a part of one or more methods disclosed herein. According to various, but not necessarily all, embodiments there is provided an apparatus comprising means for performing at least part of one or more methods disclosed herein. The description of a function should additionally be considered to also disclose any means suitable for performing that function. Functions and / or actions described herein can be performed in any suitable way using any suitable method. While the above examples of the disclosure and optional features are described separately, it is to be understood that their provision in all possible combinations and permutations is contained within the disclosure. It is to be understood that various examples of the disclosure can comprise any or all of the features described in respect of other examples of the disclosure, and vice versa. Also, it is to be appreciated that any one or more or all of the features, in any combination, may be implemented by / comprised in / performable by an apparatus, a method, and / or computer program instructions as desired, and as appropriate. BRIEF DESCRIPTION Some examples will now be described with reference to the accompanying drawings in which: FIG. 1 shows an example of the subject matter described herein; FIG. 2A shows another example of the subject matter described herein; FIG. 2B shows another example of the subject matter described herein; FIG. 3 shows another example of the subject matter described herein; FIG. 4A shows another example of the subject matter described herein; FIG. 4B shows another example of the subject matter described herein; FIG. 5A shows another example of the subject matter described herein; FIG. 5B shows another example of the subject matter described herein; FIG. 6 shows another example of the subject matter described herein; FIG. 7 shows another example of the subject matter described herein; FIG. 8A shows another example of the subject matter described herein; and FIG. 8B shows another example of the subject matter described herein. The figures are not necessarily to scale. Certain features and views of the figures can be shown schematically or exaggerated in scale in the interest of clarity and conciseness. For example, the dimensions of some elements in the figures can be exaggerated relative to other elements to aid explication. Similar reference numerals are used in the figures to designate similar features. For clarity, all reference numerals are not necessarily displayed in all figures. DETAILED DESCRIPTION Examples of the disclosure relate to apparatus, methods, and / or computer programs for and / or involved in user identification. Additionally, or alternatively, examples of the disclosure relate to apparatus, methods, and / or computer programs for and / or involved in providing personalized video analytics. Additionally, or alternatively, examples of the disclosure relate to apparatus, methods, and / or computer programs for and / or involved in providing cropped video data of a user in a scene. The following description and drawings describe various examples of an apparatus comprising means for: receiving motion data from at least one user device that is co-located with a user; determining visual motion data for at least one person in video data of a scene; comparing the received motion data and visual motion data to identify the user in the video data of the scene; cropping the video data of the scene to a portion around the user to provide cropped user video data of the scene; and transmitting the cropped user video data of the scene to enable at least one service associated with the user based, at least in part, on the cropped user video data of the scene. The following description and drawings describe various examples of an apparatus comprising means for: transmitting motion data from at least one user device that is co-located with a user; receiving cropped user video data of a scene, wherein the cropped user video data of the scene comprises video data of the scene that has been cropped to a portion around the user based, at least in part, on the transmitted motion data; and providing at least one service associated with the user based, at least in part, on the received cropped user video data of the scene. The means can comprise at least one processor; and at least one memory including computer program code; the at least one memory storing instructions that, when executed by the at least one processor, cause performance of at least part of at least one method described herein. As used herein, an apparatus and / or device and / or component for / comprising means for performing one or more actions should also be considered to disclose an apparatus and / or device and / or component configured to perform the one or more actions. Similarly, as used herein, an apparatus and / or device and / or component configured to perform one or more actions should also be considered to disclose an apparatus and / or device and / or component for / comprising means for performing the one or more actions. Description of performing an action should also be considered to disclose causing and / or controlling the action. For example, transmitting information should also be considered to disclose causing and / or controlling transmission of information. Similarly, description of causing and / or controlling an action should be considered to also disclose performing the action. FIG. 1 schematically illustrates an apparatus 100. Various features referred to in relation to FIG. 1 can be found in the other FIGs. The apparatus 100 can be comprised and / or be integrated in a device (see, for example, FIGs 2A and / or 2B), for example in an electronic device. The apparatus 100 can be comprised in any suitable device or devices. For example, the apparatus 100 can be comprised in a visual sensor, such as a camera, and / or a device comprising at least one visual sensor, and / or a device configured to receive data from at least one visual sensor. For example, the apparatus 100 can be comprised in a user device such as a smartphone, a smart watch, an ear-worn device, smart clothing and so on. In some examples, the apparatus 100 is configured to receive signals 102 comprising data / information and to transmit signals 108 comprising data / information. For example, the apparatus 100 can be comprised in a visual sensor, such as a camera, and / or a device comprising at least one visual sensor, and / or a device configured to receive data from at least one visual sensor and can be configured to receive motion data 104r and / or video data 106r, and to transmit cropped user video data 110t. For example, the apparatus 100 can be comprised in a user device and can be configured to receive data / information from at least one motion sensor, to transmit motion data / information 104t, and to receive cropped user video data 110r. In the example of FIG. 1, the motion data 104, video data 106, and cropped user video data 110 are appended with ‘t’ (to represent transmitting) and ‘r’ (to represent receiving) for the purpose of clarity. The apparatus 100 is configured to cause / control performance of and / or is configured to perform at least part of at least one method described herein. FIG. 2A schematically illustrates an example of a device / electronic device 202. In the example of FIG. 2A, the device / electronic device 202 comprises an apparatus 100 as described in relation to FIG. 1. The device 202 can be any suitable device. In the example of FIG. 2A, the device 202 is a visual sensor, such as a camera, or a device comprising at least one visual sensor, and / or a device configured to receive data from at least one visual sensor. In the example of FIG. 2A, the device 202 comprises at least one visual sensor 204 and at least one transceiver 206. The at least one visual sensor 204 can comprise any suitable visual sensor or visual sensors. For example, the at least one visual sensor 204 can comprise any suitable visual sensor(s) for determining video data 106 of a scene. Determining video data 106 may comprise, for example, receiving or otherwise obtaining the video data 106. In examples, the at least one visual sensor 204 comprises at least one camera. The at least one visual sensor 204 is configured to transmit, to the apparatus 100, video data 106 of a scene. The at least one transceiver 206 can be any suitable transceiver or transceivers. For example, the at least one transceiver 206 can comprise any suitable transceiver(s) for transmitting and / or receiving one or more signals. In examples, the at least one transceiver 206 is configured to transmit and / or receive one or more signals using wired and / or wireless communication. Any suitable wired and / or wireless communication protocol(s) can be used. In some examples, the at least one transceiver 206 can comprise one or more separate transmitters and receivers. In the example of FIG. 2A, the at least one transceiver 206 is configured to receive one or more signals comprising information indicative of motion data 104 from at least one user-device that is co-located with a user and to transmit one or more signals comprising information indicative of motion data 104 to the apparatus 100. It can therefore be considered that the at least one transceiver is configured to receive motion data 104 from at least one user-device that is co-located with a user and to transmit the motion data 104 to the apparatus 100. In examples, the apparatus 100 is configured to transmit one or more signals to the at least one transceiver 206 for transmission by the at least one transceiver 206. For example, the apparatus 100 can transmit cropped user video data 110 to the at least one transceiver 206 for transmission by the at least one transceiver 206 to, for example, at least one user device and / or at least one server. In some examples, the at least one visual sensor 204 is located in a separate device and the device 202 is configured to receive video data 106 from the at least one visual sensor 204 via the at least one transceiver 206. In some examples, the various components of the device 202 can be provided as at least part of a system 208 distributed across multiple discrete devices. As illustrated in the example of FIG. 2A, the at least one transceiver 206 and the at least one visual sensor 204 are operationally coupled to the apparatus 100 and any number of intervening elements can exist between them (including no intervening elements). Additionally, or alternatively, two or more elements of the device 202 illustrated in the example of FIG. 2A can be integrated or combined. Additionally, or alternatively, one or more elements of the device 202 illustrated in the example of FIG. 2A can be omitted. For example, the at least one transceiver 206 or at least one visual sensor 204 can be omitted. In examples, the device 202 is configured to perform at least part of at least one method described herein. FIG. 2B schematically illustrates an example of a device / electronic device 202. In the example, of FIG. 2B the device / electronic device 202 comprises an apparatus 100 as described in relation to FIG. 1. The device 202 can comprise any suitable device. In the example of FIG. 2, the device 202 comprises a user device such as a smartphone, a smart watch, an ear-worn device, an item of smart clothing, and so on. In the example of FIG. 2B, the device 202 comprises at least one motion sensor 210 and at least one transceiver 206. The at least one motion sensor 210 can comprise any suitable motion sensor or visual sensors. For example, the at least one motion sensor 210 can comprise any suitable motion sensor(s) for determining motion of a device 202 and / or a user. In examples, the at least one motion sensor 210 comprises at least one inertial measurement unit (IMU). The at least one motion sensor 210 is configured to transmit, to the apparatus 100, motion data 104. The at least one transceiver 206 can be any suitable transceiver or transceivers. For example, the at least one transceiver 206 can comprise any suitable transceiver(s) for transmitting and / or receiving one or more signals. In examples, the at least one transceiver 206 is configured to transmit and / or receive one or more signals using wired and / or wireless communication. Any suitable wired and / or wireless communication protocol(s) can be used. In some examples, the at least one transceiver 206 can comprise one or more separate transmitters and receivers. In examples, the apparatus 100 is configured to transmit one or more signals to the at least one transceiver 206 for transmission by the at least one transceiver 206. For example, the apparatus 100 can transmit motion data 104 to the at least one transceiver 206 for transmission by the at least one transceiver 206 to, for example, at least one visual sensor 204, such as a camera, and / or a device comprising at least one visual sensor 204, and / or a device configured to receive data from at least one visual sensor 204. In the example of FIG. 2B, the at least one transceiver 206 is configured to receive one or more signals comprising information indicative of cropped user video data 110 from at least one visual sensor 204, such as a camera, and / or a device comprising at least one visual sensor 204, and / or a device configured to receive data from at least one visual sensor 204 and to transmit one or more signals comprising information indicative of cropped user video data 110 to the apparatus 100. It can therefore be considered that the at least one transceiver 206 is configured to receive cropped user video data 110 from at least one visual sensor 204, such as a camera, and / or a device comprising at least one visual sensor 204, and / or a device configured to receive data from at least one visual sensor 204 and to transmit the cropped user video data 110 to the apparatus 100. In some examples, the at least one motion sensor 210 is located in a separate device and the device 202 is configured to receive motion data 104 from the at least one motion sensor 210 via the at least one transceiver 206. As illustrated in the example of FIG. 2B, the at least one transceiver 206 and the at least one motion sensor 210 are operationally coupled to the apparatus 100 and any number of intervening elements can exist between them (including no intervening elements). Additionally, or alternatively, one or more elements of the device 202 illustrated in the example of FIG. 2B can be integrated or combined. Additionally, or alternatively, one or more elements of the device 202 illustrated in the example of FIG. 2B can be omitted. For example, the at least one transceiver 206 or at least one motion sensor 210 can be omitted. In examples, the device 202 is configured to perform at least part of at least one method described herein. In examples, the apparatus 100 can be comprised in a server. FIG. 3 illustrates an example of a method 300. In examples, FIG. 3 can be considered to illustrate a plurality of methods. For example, FIG. 3 illustrates one or more actions at a plurality of actors / entities and, in examples, FIG. 3 can be considered to illustrate a plurality of methods performed by the individual actors / entities. One or more of the features discussed in relation to FIG. 3 can be found in one or more of the other drawings. In the example of FIG. 3, a plurality of apparatuses transmit and / or receive one or more signals and / or one or more messages. Any suitable form of communication can be used. In the illustrated example, a user device 316, a device 318 associated with at least one visual sensor 204, and a server 320 transmit and / or receive one or more signals and / or one or more messages. The device 318 associated with at least one visual sensor 204 can be a device as described in relation to FIG. 2A. For example, the device 318 can be a visual sensor 204, or a device comprising at least one visual sensor 204, and / or a device configured to receive data from at least one visual sensor 204 and so on. In examples, communications and / or transmissions between elements illustrated in the example of FIG. 3 can proceed via any number of intervening elements, including no intervening elements. Although one user device 316 is illustrated in the example of FIG. 3, in examples any suitable number of user devices 316 can be included. Similarly, any suitable number of devices 318 associated with any suitable number of visual sensors 204 can be included, and / or any suitable number of servers 320 can be included. In examples, method 300, and / or at least a part of method 300, can be a method of identifying a user. In examples, method 300, and / or at least a part of method 300, can be a method of providing personalized video analytics. In examples, method 300, and / or at least part of method 300, can be a method of providing cropped video data of a user in a scene. In examples, method 300, and / or at least part of method 300, can be performed by the apparatus of FIGs 8A and 8B, and / or the apparatus 100 of FIG. 1, and / or the device 202 of FIG. 2A, and / or the device 202 of FIG. 2B. In the illustrated example, the location of blocks indicates the entity performing the function(s) and / or action(s). For example, block 304 is performed by the device 318. The above paragraphs concerning FIG. 3 also apply to the example of FIG. 7. At block 302, method 300 comprises transmitting motion data 104 from at least one user device 316 that is co-located with a user. As FIG. 3 illustrates one or more actions / features of transmitting, FIG. 3 also illustrates the corresponding receiving / enabling and / or causing receiving action(s) / feature(s). This also applies to FIG. 7. Accordingly, from the point of view of the device 318, block 302 comprises receiving motion data 104 from at least one user device 316 that is co-located with a user. Similarly, as FIG. 3 illustrates one or more actions / features of receiving, FIG. 3 also illustrates the corresponding transmitting / enabling transmitting and / or causing transmitting action(s) / feature(s). The motion data 104 can comprise any suitable motion data 104 from any suitable motion sensor or sensors 210. For example, the motion data 104 can comprise any suitable information to enable a determination of one or more motions and / or movements of a user to be determined. In some examples, the motion data 104 comprises information indicative of one or more motions and / or movements of a user. In some examples, the motion data 104 comprises information configured to enable determining trajectory information of the user. In some examples, the motion data 104 comprises trajectory information of the user. In some examples, the received motion data 104 comprises data from at least one inertial measurement unit (IMU) in the at least one user device 316 that is co-located with the user. Method 300 can comprise determining, by the user device 316, the motion data 104. See, for example, FIG. 7. For example, method 300 can comprise receiving the motion data 104 from at least one motion sensor 210, such as at least one IMU. A user device 316 can be any suitable device associated with a user. For example, a user device 316 can be any suitable device configured to determine motion data 104 of the user. In examples, a user device 316 can be a device that is owned, and / or that is used by the user, though the user need not necessarily be actively using the user device 316 when method 300, or at least part of method 300, is performed. For example, a user device 316 can be a device that a user wears or otherwise carries on their person, such as a smartphone in a user’s pocket or bag or hand, and / or a wearable device worn by a user and so on. In examples, a user device 316 can be considered to be co-located with a user when the user device 316 is associated with the user to enable the user device to determine / sense motion and / or movements of the user. In examples, a user device 316 can be considered to be co-located with a user when the user device 316 is associated with the user such that when the location of the user changes, the user device 316 moves with the user. For example, a user device 316 that is co-located with a user can be carried by the user and / or worn by the user and so on. For example, a smartphone located in a user’s pocket or hand can be considered to be co-located with the user. For example, a user device 316 that is worn by the user, such as a smartwatch, or ear worn device, or smart clothing can be considered to be co-located with the user. A user can be a user of a device 316. A user of a device 316 can be a person associated with the device 316, and / or that owns the device 316, and / or that uses the device 316, though the user need not necessarily be actively using the device 316 when method 300, or at least part of method 300, is performed. For example, a person that has a device 316 on their person or in their proximity, such as wearing a wearable device or having a smartphone in a pocket, can be a user of the device 316. At block 304, method 300 comprises determining visual motion data 322 for at least one person in video data 106 of a scene. The visual motion data 322 can comprise any suitable visual motion data 322 determined using information, such as video data 106, from any suitable visual sensor or sensors 204. Visual motion data 322 can comprise any suitable information indicative of, and / or describing, and / or representing motion and / or movement of a person determined from visual data, such as video data 106. For example, visual motion data 322 can comprise any suitable information determined from output of at least one visual sensor 204, such as at least one camera, the information indicative of, and / or describing, and / or representing motion of a person as the person moves in and / or through a scene. In some examples, the visual motion data 322 comprises information configured to enable determining trajectory information of the user. In some examples, the visual motion data 322 comprises trajectory information of the user. Method 300 can comprise determining, by the device 318, the video data 106. For example, method 300 can comprise receiving, by the device 318, video data 106 from at least one visual sensor 204, such as at least one camera. In examples, determining the visual motion data 322 for at least one person in video data 106 of a scene comprises determining the visual motion data 322 based, at least in part, on the received video data 106. For example, method 300 can comprise analysing, and / or processing, and / or evaluating received video data 106 to determine the visual motion data 322. See, for example, FIG. 7. In examples, determining the visual motion data 322 comprises identifying at least one person in video data 106 of a scene and determining visual motion data 322 for the identified at least one person. The at least one person in the scene can comprise the user. A scene can be a location, and / or area that people can move through. In examples, a scene can be a location that is within the field of view and / or filmed by at least one visual sensor 204, such as at least one camera. By way of example, reference is made to the example of FIG. 4B. FIG. 4B illustrates an example of an image taken from video data 106 from a visual sensor 204 in the form of a camera. The video data 106 shows a scene 402 comprising a plurality of people 404 moving in and / or through the scene 402. Returning to the example of FIG. 3, at block 306, method 300 comprises comparing the received motion data 104 and the visual motion data 322 to identify the user in the video data 106 of the scene 402. Any suitable comparison of the received motion data 104 and the visual motion data 322 can be used to identify the user in the video data 106 of the scene 402. In examples, block 306 comprises comparing the received motion data 104 and the visual motion data 322 for each of the at least one person 404 in the video data 106 of the scene 402 to identify the user in the video data 106 of the scene 402. Block 306 can comprise estimating, and / or measuring the similarity between the received motion data 104 and the visual motion data 322 to identify the user in the video data of the scene 402. Block 306 can comprise analysing, and / or processing, and / or contrasting the received motion data 104 and the visual motion data 322 to identify the user in the video data of the scene 402. In examples, block 306 comprises comparing the received motion data 104 and the visual motion data 422 to determine the motion of which person 404 in the scene 402 matches or substantially matches the motion determined for the user. For example, determining a match can comprise determining a match above a threshold value. In examples, the threshold value can be determined depending on data and similarity techniques. In some examples, block 306 comprises determining trajectory information for the user from the received motion data 104 and determining trajectory information for the at least one person 404 in the video data 106 of the scene 402 and comparing the determined trajectory information. The trajectory information can be in any suitable frame of reference. For example, the trajectory information can be determined in the frame of reference of the user. In examples, trajectory information can comprise information of the user’s / person’s movements. For example, trajectory information can comprise information of movements made by the user / person and / or motion of the user / person during a time period. For example, trajectory information can comprise information of movements made by the user / person and / or motion of the user / person, in the frame of reference of the user or a person and / or a person in the scene 402, during a time period. Trajectory information can comprise route, or path, or course, or trail, or track information and so on. In some examples, method 300, for example at block 306, comprises determining, based, at least in part, on the received motion data 104 first segmented trajectory information of the user in the frame of reference of the user, and determining, based at least in part, on the visual motion data 322, second segmented trajectory information of the at least one person 404 in the video data 106 of the scene 402 in the frame of reference of the at least one person 404 in the video data 106 of the scene 402, wherein comparing the received motion data 104 and the visual motion data 322 comprises comparing the first segmented trajectory information of the user and the second segmented trajectory information of the at least one person 404 in the video data 106 of the scene 402. In examples, method 300, for example at block 306, comprises determining, based at least in part, on the received motion data 104 first segmented trajectory information of the user in the frame of reference of the user, and determining, based, at least in part, on the visual motion data 322, second segmented trajectory information for each of the at least one person 404 in the video data 106 of the scene 402 in the frame of reference of each of the at least one person 404 in the video data 106 of the scene 402, wherein comparing the received motion data 104 and the visual motion data 322 comprises comparing the first segmented trajectory information of the user and the second segmented trajectory information of each of the at least one person 404 in the video data 106 of the scene 402. The received motion data 104 can comprise segmented trajectory information of the user. Segmented trajectory information can be considered trajectory information split into a sequence of discrete time steps and / or portions. For example, segmented trajectory information can comprise information indicating and / or indicative of and / or describing movements / motion of the user split into a sequence of discrete time steps and / or portions. A discrete time step can have any suitable duration. For example, a discrete time step can have any suitable duration to be long enough to include distinct movement characteristic(s). In examples, a discrete time step can have a duration in the range 5 to 30 seconds. Segmented trajectory information can comprise sectioned, or divided, or subdivided, or separated, or partitioned, or segregated trajectory information and so on. In some examples, first segmented trajectory information comprises orientation and / or movement information of the user in the frame of reference of the user in a sequence of discrete time steps, and the second segmented trajectory information comprises orientation and / or movement information of the at least one person 404 in the video data 106 of the scene 402 in the frame of reference of the at least one person 404 in the video data 106 of the scene 402 in a sequence of discrete time steps that substantially matches the discrete time steps of the first segmented trajectory information. The information being in the frame of reference of the user / at least one person 404 can mean that motion and / or orientation information for each segment in the first / second segmented trajectory information is considered, and / or recorded, and / or determined, and / or presented relative to the previous segment. A first segment can be considered, and / or recorded, and / or determined, and / or presented relative to a coordinate system. In examples, motion of a user / person can be determined relative to an end position of a previous segment and orientation of a user / person can be determined relative to a fixed coordinate system. FIG. 4A illustrates an example of first segmented trajectory information 406 determined based, at least in part, on received motion data 104. However, second segmented trajectory information can be determined and / or represented similarly. In FIG. 4A, a coordinate system is illustrated having x-axis 410 (also labelled ‘E’), and y-axis 412 (also labelled ‘N’). The starting point for the first segmented trajectory information 406 is taken as 0,0 in the coordinate system. In the example of FIG. 4A, the first segmented trajectory information 406 is split into three discrete time steps 408A, 408B, and 408C. In the first discrete time step 408A, the user moves at an orientation 0i relative to the starting position (0,0) to a new position (Ei, Ni). As illustrated in the example of FIG. 4A, the user / person has moved An in the first discrete time step 408A. Similarly, in the second discrete time step 408B, the user moves at an orientation 82 relative to the coordinate system to a new position (E2, N2), moving Ar2 in the second discrete time step 408B. In the illustrated example, in the final discrete time step 408C, the user moves at an orientation 83 relative to the coordinate system to a new position (E3, N3), moving Ar3 in the third discrete time step 408C. See, for example, the discussion of FIG. 7 for further information regarding trajectory extraction using motion information 104 and visual motion data 322. In the example of FIG. 4B, second segmented trajectory information 414 is shown for the at least one person 404 in the scene 402. The first and second segmented trajectory information 406, 414 can be abstracted to any level / degree. For example, any suitable level of detail can be included in the first and second segmented trajectory information 406, 414. For example, with regard to the example of FIG. 4A, the first segmented trajectory information 406 can be represented as a sequence of orientation and position information, for example: (81, An), (82, Ar2) and so on. Additionally, or alternatively, the first segmented trajectory information 406 can be represented as a sequence of absolute positions, enabling orientation information to be determined, for example: (0,0) to (Ei, N1), (Ei, N1) to (E2, N2) and so on. For example, with regard to the example of FIG. 4A, the first segmented trajectory information 406 can be represented as an amount of motion in a set of orientation abstractions (such as forward, left, right, back, stationary and so on), for example (right, An), (right, An) and so on. In examples, any level of abstraction can be used, for example the set of orientation abstractions can include left-forward, right-forward, left-backward and so on. For example, with regard to the example of FIG. 4A, the first segmented trajectory information 406 can be represented as a general representation of a sequence of motions in a set of orientation abstractions, for example (right, right, and so on). FIGs 5A and 5B illustrates an example of comparing received motion data 104 and visual motion data 322 to identify a user in a scene 402. In the example of FIG. 5A, first segmented trajectory information 406 has been determined for a user based, at least in part, on the motion data 104. In the illustrated example, the first segmented trajectory information 406 has information in four discrete time steps 408A, 408B, 408C, and 408D. In the example of FIG. 5B, second segmented trajectory information 414A, 414B, 414G has been determined for three people 404 in the video data 106 of the scene 402 based, at least in part, on the visual motion data 322. In the illustrated example, the second segmented trajectory information 414 has information in four discrete time steps 408A, 408B, 408C, and 408D that substantially match the discrete time steps of the first segmented trajectory information 406. In the examples of FIGs 5A and 5B the first segmented trajectory information 406 is compared with each of the second segmented trajectory information 414A, 414B, 414C. Any level of abstraction can be used. For example, the first segmented trajectory information 406 can be represented by ‘right, forward, left, left’. The three second segmented trajectory information 414A, 414B, 414C can be represented as: 414A: left, left, forward, forward 414B: right, forward, left, left 414C: forward, forward, forward, right. In the example of FIGs 5A and 5B it can therefore be determined from the comparison that the first segmented trajectory information 406 and the middle second segmented trajectory information 414B match. It can therefore be determined that the person 404 in the scene 402 associated with the middle second segmented trajectory information 414B is the user, because the motion of the colocated user device 316 matches the motion determined for the person 404 in the scene 402 associated with the middle second segmented trajectory information 414B. For example, with reference to FIGs 4A and 4B a person 404 in the scene 402 of FIG. 2B can be identified as the user by comparing and matching the visual motion data 322 associated with a person 404 in the scene 402 with the motion data 104 associated with the user. Returning to the example of FIG. 3, at block 308, method 300 comprises cropping the video data 106 of the scene 402 to a portion around the user to provide cropped user video data 110 of the scene 402. That is, identifying the user at block 306 allows the video data 106 to be cropped to a portion around the user to provide cropped user video data 110 at block 308. Block 308 can comprise cropping the video data 106 in any suitable way to provide cropped user video data 110. In examples, block 308 comprises cropping the video data to include the portion of the video data 106 comprising the user and reducing the amount of video data 106 that does not include the user. In examples, block 308 comprises cropping the video data 106 to include video data 106 of the user to enable visual action(s) of the user to be determined while reducing the size of the video data 106 and / or while avoiding including other people in the video data 106. Block 308 can comprise cropping the video data 106 based, at least in part, on a bounding box determined for the user. For example, block 308 can comprise cropping the video data 106 around the perimeter of the bounding box. By way of example, reference is made to the example of FIG. 6. In the example of FIG. 6, in the left side portion, an image taken from video data 106 of a scene 402 is shown. It can be seen that there is a plurality of people 404 in the scene. In the illustrated example a comparison of motion data 104 from at least one user device 316 and visual motion data 322 for the people in the scene has been performed and the person 404 who is the user 602 has been identified. That is, the comparison has enabled the user 602 to be identified in the video data 106 of the scene 402. The video data 106 is cropped around the user 602 to provide cropped user video data 110 of the scene 402. The cropped user video data 110 of the scene 402 in the example of FIG. 6 is shown in the right side portion of FIG. 6. As can be seen in the example of FIG. 6, the cropped user video data 110 is much smaller in size (comprises less data) than the video data 106, includes fewer people 404, but still encompasses / covers the user 602. Accordingly, any service or services that make use of video data of the user can do so while reducing the size of the video data involved and while preserving privacy of other users in the video data. Returning to the example of FIG. 3, at block 310, method 300 comprises transmitting the cropped user video data 110 to enable at least one service associated with the user 602 based, at least in part, on the cropped user video data 110 of the scene 402. Consequently, FIG. 3 illustrates a method 300 comprising: receiving motion data 104 from at least one user device 316 that is co-located with a user 602; determining visual motion data 322 for at least one person 404 in video data 106 of a scene 402; comparing the received motion data 104 and the visual motion data 322 to identify the user 602 in the video data 106 of the scene 402; cropping the video data 106 of the scene 402 to a portion around the user 602 to provide cropped user video data 110 of the scene 402; and transmitting the cropped user video data 110 of the scene 402 to enable at least one service associated with the user 602 based, at least in part, on the cropped user video data 110 of the scene 402. The at least one service can comprise any suitable service or services. In examples, a service can comprise any suitable computer program or programs, and / or at least part of a computer program or programs, that provide(s) information and / or functionality to and / or for a user 602. For example, a service can comprise an application, and / or a part of an operating system. In some examples, that at least one service associated with the user 602 uses, as an input, video data 106 of the scene 402 comprising the user 602. In examples, the at least one service comprises personalized video analytics associated with the user 602. Video analytics can be the process of automatically analysing video content to extract useful information, such as identifying objects, detecting events, and tracking movements. Video analytics can be used in, for example, security systems, traffic management, sports analysis and so on. Accordingly, block 310 can comprise enabling personalized video analytics associated with the user 602. In some examples, the at least one service comprises at least one sensing application. A sensing application associated with the user 602 can be any application that senses and / or determines information associated with and / or of the user 602. In some examples, the sensing application comprise an application that cannot operate, or provides reduced accuracy, without video data 106 of the user 602. For example, a sensing application can sense / determine facial expressions of the user 602, and / or the gait of the user 602 and so on. Accordingly, in examples, block 310 can comprise enabling at least one sensing application. In examples, the at least one service can be considered associated with the user 602 because the at least one service is provided to and / or for the user 602, and / or because the at least one service uses, as an input, video data 106 of the scene 402 comprising the user 602, and / or because the at least one service is provided by an application on at least one user device 316 of the user 602, and / or because the at least one service provides information and / or functionality to at least one user device 316 of the user 602. The cropped user video data 110 can be processed as at least part of providing the at least one service. Processing of the cropped user video data 110 can be local to the user 602 and / or remote from the user 602. For example, the cropped user video data 110 can be processed, at least in part, by at least one user device 316 of the user 602. For example, the cropped user video data 110 can be processed, at least in part, by at least one server 320. In such examples, the at least one server 320 can provide at least one service to the user 602 via at least one user device 316. In some examples, block 310 comprises transmitting the cropped user video data 110 towards at least one user device 316 of the user 602 to enable at least one service associated with the user 602 at the at least one user device 316. The at least one user device 316 towards which the cropped user video data 110 is transmitted can be different to the user device 316 from which the motion data 104 was received and / or that determined the motion data 104. However, in the example of FIG. 3, the cropped user video data 110 is transmitted towards the user device 316 from which the motion data 104 was received. In such examples, method 300 can comprise providing, by the at least one user device 316, at least one service based, at least in part, on the received cropped user video data 110. See, for example, block 312. In some examples, the at least one service associated with the user 602 at the at least one user device 316 of the user 602 comprises at least one sensing application. Consequently, in examples, FIG. 3 illustrates a method 300 comprising: transmitting motion data 104 from at least one user device 316 that is co-located with a user 602; receiving cropped user video data 110 of a scene 402, wherein the cropped user video data 110 of the scene 402 comprises video data 106 of the scene 402 that has been cropped to a portion around the user 602 based, at least in part, on the transmitted motion data 104; and providing at least one service associated with the user 602 based, at least in part, on the received cropped user video data 110 of the scene 402. In some examples, block 310 comprises transmitting the cropped user video data 110 towards at least one server 320. In such examples, method 300 can comprise providing, by the at least one server 320, at least one service based, at least in part, on the received cropped user video data 110. See, for example, block 314. Providing, by the at least one server 320, at least one service based, at least in part, on the received cropped user video data 110 can comprise transmitting information towards a user device 316 of the user 602. In some examples, the user device 316 can perform one or more actions involving the received information to provide the service to the user 602. For example, the user device 316 can process and / or display at least a portion of the information. For example, at least one server 320 can prepare a timeline of user activities including video data 106 of the user 602 performing at least one of the activities and can transmit the timeline to the user. In examples, providing at least one service associated with a user 602 can comprise controlling at least one electronic device. For example, at least one electronic device can be controlled based, at least in part, on output from at least one sensing application. For example, at least one device to enable access to a system and / or building can be controlled based, at least in part, on the identified user 602 being at a predetermined area and / or location. Examples of the disclosure are advantageous and provide technical benefits. For example, examples of the disclosure provide for cropped video data of a user to be provided to enable service(s), providing a very significant reduction in bandwidth requirements compared to transmitting the full video data, particularly with high resolution data, such as 8k data. For example, examples of the disclosure provide for protection of privacy as video data is cropped to a portion around a user, meaning that data including other people is discarded and not used, protecting the privacy of those people. For example, examples of the disclosure provide for efficient and accurate provision user video data that can enhance, and / or improve, and / or enable sensing capabilities, for example at a user device of the user. For example, examples of the disclosure can efficiently enable a user device of a user to sense things that would not otherwise be possible using the user device’s local sensing capabilities and without a remote view of the user. For examples, examples of the disclosure provide for efficient control of at least one electronic device, for example, based, at least in part, on enhanced sensing capability of a user device. Fig. 7 illustrates an example of a method 700. The example of FIG. 7 is similar to the example of FIG. 3. In the example of FIG. 3 the device 318 associated with at least one visual sensor 204 comprises a camera. FIG. 7 shows and operational flow of examples of the disclosure. Block 1. (User) When a user wants to run personalized video analytics, he / she user extracts a trajectory (Tu) using a wearable device 316 equipped with the IMU sensor. Block 2. (User) The user sends the extracted trajectory (Tu) to nearby cameras 318 he / she can use for the personalized video analytics; note that block 1 can be done after sending the request. Block 3. (Camera) The camera (or its connected computing board) extracts trajectories (TP) for all detected objects (here, people 404) from the camera stream (which can be video data 106), where P is a set of people in the frame. Note that block 3 can be done in advance in the background. Block 4. (Camera) The camera compares the trajectories extracted from the camera (TP) and the trajectory given by the user (Tu) and finds the matched object (here person / user602). Block 5. (Camera) The camera extracts the surrounding scene of the matched object. This can be considered cropping to a portion around the user 602. Block 6. (Camera) The camera sends the extracted surrounding scene stream to the user 602; it can also send the meta data obtained from the object detection model, e.g., a bounding box and a confidence value. Block 7. (User) The user’s smartphone provides personalized video analytics services using the surrounding scene stream transmitted from the camera. Trajectory extraction using IMU sensor (block 1) can be performed as follows. An Inertial Measurement Unit (IMU) is a sensor device that measures the orientation, velocity, and acceleration of an object in motion. The IMU-based dead-reckoning technique estimates the position and orientation of an object by integrating the acceleration and rotation rate measurements provided by the IMU. Here are the equations that describe the process: Velocity integration: The velocity of the object can be estimated by integrating the acceleration measurements provided by the IMU. Assuming constant acceleration, the velocity at time t can be calculated as follows: v(t) = v(t -1) + a(t) x dt , where v(t) is the velocity at time t, v(t-1) is the velocity at the previous time step, a(t) is the acceleration measurement at time t, and dt is the time step. Position integration: The position of the object can be estimated by integrating the velocity measurements obtained in the previous step. Assuming constant velocity, the position at time t can be calculated as follows: p(t) = pit -1) + v(t) x dt , where p(t) is the position at time t, p(t-1) is the position at the previous time step, v(t) is the velocity at time t, and dt is the time step. Orientation integration: The orientation of the object can be estimated by integrating the rotation rate measurements provided by the IMU. Assuming constant rotation rate, the orientation at time t can be calculated as follows: q(t) = q(t — 1) x dq(w(t~) x t) , where q(t) is the orientation at time t, q(t-1) is the orientation at the previous time step, w(t) is the rotation rate measurement at time t, and dq is the quaternion derivative operator. Note that, over time, the estimates obtained by integrating the measurements can accumulate errors due to the inaccuracies of the IMU measurements and the integration process. To reduce these errors, additional sensor inputs can be used to correct the estimates. Trajectory extraction using a video stream from a camera (block 3) can be performed as follows. An object tracking algorithm on real-time video stream combines a deep learningbased object detector with a tracking algorithm to track objects in real-time video streams. The algorithm works in three main steps: 1. Detection: First, the algorithm uses a deep neural network (usually a convolutional neural network or CNN) to detect objects in each frame of the video. The output of this step is a set of object detections, each represented as a bounding box and a corresponding confidence score. 2. Embedding: Next, the algorithm uses another deep neural network (usually a Siamese network) to generate an embedding vector for each detection. This embedding vector represents the appearance and features of the detected object, and is used to match objects across frames. 3. Tracking: Finally, the algorithm uses a tracking algorithm (usually a Kalman filter or an extended Kalman filter) to predict the position and velocity of each object in the next frame. The predicted position is then matched with the detections in the next frame using the embedding vectors, and the tracking is updated accordingly. There are a number of algorithms that can optimize this process in terms of the accuracy and latency. Trajectory comparison (block 4) can be performed as follows. Here, the main objective is to compare the trajectory (Ut) extracted from a user at block 1 and the trajectories (UP) extracted from the camera at block 3 and to find the trajectory out of UP that matches Ut. There could be several methods that can calculate the distance between two trajectories. One of the key challenges is that the trajectories are generated in the different coordinate (using IMU from a user and using a camera from its deployed space). For the trajectory generated by the IMU sensor, it is generated in a 2D curve in the horizontal plane viewed from the top-down view, as shown, for example, in FIG. 4A. Unlike, the trajectories generated from the camera is generated in the image coordinate, which can differ depending on the camera’s angle and viewpoint as shown, for example, in FIG. 4A. However, it is important to note that, in examples, the objective is not to translate the trajectory generated from one coordinate to another; this may be feasible, but will be more error-prone. To this end, relative-sequence-based sequence matching can be used. In examples, the objective is to find one trajectory in UP, which is the most similar to the trajectory generated by the IMU sensor, Tu. Transform trajectory to movement sequence: Here, the main intuition is to transform the trajectory to the movement sequence that contains the relative orientation and distance in its own coordinate. More specifically, when the trajectory is given for the specified window size, it can be segmented into a list of frames (e.g., every 100 ms) and transforms them to the sequence of relative orientation and distance: 1. For each frame, compute the representative orientation (e.g., by taking the most frequent orientation within the frame or by taking the average of the orientation value). 2. From next frame, compute the representative orientation of the given frame and obtain the relative orientation by comparing it with the orientation of the previous frame. a. In some examples, rather than computing the absolute orientation (e.g., 23 degree or -15 degree), five orientation abstractions are considered, i.e., forward, left, right, backward, stationary to make the comparison more robust. However, different abstractions and thresholds can be used. b. In examples, this is the relative orientation compared to the previous frame, not the absolute orientation on the coordinate. c. In case of non-stationary cases (i.e., forward, left, right, backward), the distance can be also extracted optionally. Once again, this distance does not need to be the absolute distance. d. When the distance from the camera is tracked, the distance can be calibrated based on the size of bounding box. Although the moving distance is the same, the observed distance in the camera would be different depending on the distance between an object and the camera. 3. For the given window (e.g., 5 seconds), the system will have a sequence from a user’s trajectory (Tu) and a set of sequences from the cameras (TP). a. The sequence example could be <stationary, stationary, left, left, forward, forward, ... >. If the distance is also computed, it can be a list of tuple, e.g., <(stationary, 0), (stationary, 0), (left, 5), (left, 3), (forward, 2), (forward, 7), ...>. 4. Then, the system finds a sequence out of Tp that is the closest the sequence generated from Tu. a. Different similarity functions can be used to estimate the distance between two sequences, e.g., similarly functions such as Cosine similarity, Jaccard similarity or distance functions such as Euclidean distance, Manhattan distance, and Hamming Distance. b. In examples, the Levenshtein Distance (LD) is used. 5. Once the system finds the target user’s sequence from Tp that matches Tu, it crops the surrounding view of the target user and streams it the the requested user. a. Meta information can also be sent, e.g., the coordinate of the bounding box of the target user extracted from the object detection on the camera. b. The threshold can be set to different values based on the system policy or user’s request. 6. Then, the user performs the personalized video analytics by using the transmitted video stream. The following provides information of various different examples of the disclosure. Resource-efficient video analytics on the user’s device: When a user wants the video analytics service on his / her device using the video stream generated from the space-embedded camera, receiving the video stream from the space-embedded camera to the personal device is inevitable. However, receiving the entire stream with the high resolution images would incur the significant resource cost (e.g., bandwidth, CPU / energy usage). In examples of the disclosure, by intelligently cropping the region of interest (surrounding view of a target user), examples can enable resourceefficient video analytics on the user’s device. This benefit will be maximised, especially when the video analytics is running on 360 degree cameras (which usually provide 8K / 4K stream to cover 360 degrees). Privacy preserving video analytics: examples of the disclosure also enables privacypreserving video analytics by identifying the requested user in the video stream. After the identification, the space-embedded camera can blur the other people’s faces or crop the image so that only the requested user’s surrounding view can be transmitted. Note that these operations can be performed on the camera side so the privacy-preserving stream will be enforced to the user device. Interpolation of user trajectory when occluded: In the video analytics, it is common that the target user can be occluded by nearby objects. By leveraging the trajectory generated from the user device’s IMU, examples can interpolate the user trajectory on the camera side. Enabling personal service: Once again, examples aim personalized video analytics, i.e., video analytics is running on the user’s side, not on the camera side. It is enabled by examples, i.e., identifying the target user in the camera stream and sending his / her surrounding view to the requested user. Providing enriched service by combining mobile data on a user’s device: One of the notable benefit of examples of the disclosure is to provide the video analytics service with the opportunity to leverage mobile data on a user’s device. By doing this, the personalised video analytics can provide personlised and enriched services, which are not possible on the traditional video analytics (which relies only on the camera stream). Examples of providing enriched service by combining mobile data on a user’s device: Example 1: interaction monitoring by combining an audio stream captured by a user’s smartphone The video analytics can detect physical co-existence of a group of people, but cannot further provide face-to-face interaction due to lack of capability of audio analytics. While the space-embedded camera is often embedded with a microphone, it is not capable of recording the audio stream from far-distanced people. Also, it is difficult to separate the audio streams when multiple groups are located in the camera view. By combining an audio stream by a user’s smartphone, the analytics service can provide in-depth interaction information based on the co-existence, e.g., number of speaking turns, ratio of speaking time, etc. Example 2: More accurate occupancy detection by combining the ambient light sensor and the microphone By using the ambient light sensor and the microphone on a user's smartphone, it is possible to detect when a room is occupied. This information can be combined with video analytics to improve the accuracy of occupancy detection. For example, if a person is sitting in a chair in a room but not moving or if he / she is occluded, the video analytics may not detect them as being present. However, if the ambient light sensor and microphone on their smartphone detect their presence, the video analytics can be adjusted accordingly. Example 3: Gesture Recognition by combining accelerometer and gyroscope By using the accelerometer and gyroscope data from a user's smartphone, it is possible to recognize certain gestures; gestures can be detected by the vision model from the camera, but it is likely that a part of human body can be occluded by nearby objects or people. This information can be combined with video analytics to enable gesture-based interaction with the video analytics system. For example, a user could perform a specific gesture to pause or rewind a video. Example 4: Location-based personalized analytics By using the GPS sensor or WiFi / Bluetooth on a user's smartphone, it is possible to determine their location. This information can be combined with video analytics to enable location-based analytics. For example, a user could receive personalized recommendations based on their location in a store. Example 5: Queue Management By using the accelerometer and proximity sensors on a user's smartphone, it is possible to detect when they are in a queue and estimate the length of the queue. This information can be combined with video analytics to manage queues more efficiently. For example, the video analytics system can adjust the number of available counters or tellers based on the length of the queue. Example 6: Environmental monitoring By using the sensors on a user's smartphone and wearables, it is possible to monitor the environment around them. This information can be combined with video analytics to enable environmental monitoring. For example, the system can monitor temperature, humidity, and air quality to optimize the comfort level of a building's occupants. Example 7: Access control By using the Bluetooth or NFC sensors on a user's smartphone, it is possible to grant access to secure areas based on the user's proximity to the access point. This information can be combined with video analytics to enable access control. For example, the system can use facial recognition to verify the identity of the user before granting access to a secure area. Fig 8A illustrates an example of a controller 830 suitable for use in an apparatus, such as apparatus 100 of FIG. 1 and / or FIG. 2. In examples, controller 830 can be an apparatus 100. Implementation of a controller 830 may be as controller circuitry. The controller 830 may be implemented in hardware alone, have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware). As illustrated in Fig 8A the controller 830 may be implemented using instructions that enable hardware functionality, for example, by using executable instructions of a computer program 836 in a general-purpose or special-purpose processor 832 that may be stored on a computer readable storage medium (disk, memory etc.) to be executed by such a processor 832. The processor 832 is configured to read from and write to the memory 834. The processor 832 may also comprise an output interface via which data and / or commands are output by the processor 832 and an input interface via which data and / or commands are input to the processor 832. The memory 834 stores a computer program 836 comprising computer program instructions (computer program code) that controls the operation of the apparatus when loaded into the processor 832. The computer program instructions, of the computer program 836, provide the logic and routines that enables the apparatus to perform the methods illustrated in the accompanying Figs. The processor 832 by reading the memory 834 is able to load and execute the computer program 836. The apparatus comprises: at least one processor 832; and at least one memory 834 including computer program code the at least one memory 834 and the computer program code configured to, with the at least one processor 832, cause the apparatus at least to perform: receiving motion data 104 from at least one user device 316 that is co-located with a user 602; determining visual motion data 322 for at least one person 404 in video data 106 of a scene 402; comparing the received motion data 104 and the visual motion data 322 to identify the user 602 in the video data 106 of the scene 402; cropping the video data 106 of the scene 402 to a portion around the user 602 to provide cropped user video data 110 of the scene 402; and transmitting the cropped user video data 110 of the scene 402 to enable at least one service associated with the user 602 based, at least in part, on the cropped user video data 110 of the scene 402. The apparatus comprises: at least one processor 832; and at least one memory 834 including computer program code the at least one memory 834 and the computer program code configured to, with the at least one processor 832, cause the apparatus at least to perform: transmitting motion data 104 from at least one user device 316 that is co-located with a user 602; receiving cropped user video data 110 of a scene 402, wherein the cropped user video data 110 of the scene 402 comprises video data 106 of the scene 402 that has been cropped to a portion around the user 602 based, at least in part, on the transmitted motion data 104; and providing at least one service associated with the user 602 based, at least in part, on the received cropped user video data 110 of the scene 402. The apparatus comprises: at least one processor 832; and at least one memory 834 including computer program code, the at least one memory storing instructions that, when executed by the at least one processor 832, cause the apparatus at least to: receiving motion data 104 from at least one user device 316 that is co-located with a user 602; determining visual motion data 322 for at least one person 404 in video data 106 of a scene 402; comparing the received motion data 104 and the visual motion data 322 to identify the user 602 in the video data 106 of the scene 402; cropping the video data 106 of the scene 402 to a portion around the user 602 to provide cropped user video data 110 of the scene 402; and transmitting the cropped user video data 110 of the scene 402 to enable at least one service associated with the user 602 based, at least in part, on the cropped user video data 110 of the scene 402. The apparatus comprises: at least one processor 832; and at least one memory 834 including computer program code, the at least one memory storing instructions that, when executed by the at least one processor 832, cause the apparatus at least to: transmitting motion data 104 from at least one user device 316 that is co-located with a user 602; receiving cropped user video data 110 of a scene 402, wherein the cropped user video data 110 of the scene 402 comprises video data 106 of the scene 402 that has been cropped to a portion around the user 602 based, at least in part, on the transmitted motion data 104; and providing at least one service associated with the user 602 based, at least in part, on the received cropped user video data 110 of the scene 402. As illustrated in Fig 8A, the computer program 836 may arrive at the apparatus via any suitable delivery mechanism 862. The delivery mechanism 862 may be, for example, a machine readable medium, a computer-readable medium, a non-transitory computer-readable storage medium, a computer program product, a memory device, a record medium such as a Compact Disc Read-Only Memory (CD-ROM) or a Digital Versatile Disc (DVD) or a solid-state memory, an article of manufacture that comprises or tangibly embodies the computer program 836. The delivery mechanism may be a signal configured to reliably transfer the computer program 836. The apparatus may propagate or transmit the computer program 836 as a computer data signal. Computer program instructions for causing an apparatus to perform at least the following or for performing at least the following: receiving motion data 104 from at least one user device 316 that is co-located with a user 602; determining visual motion data 322 for at least one person 404 in video data 106 of a scene 402; comparing the received motion data 104 and the visual motion data 322 to identify the user 602 in the video data 106 of the scene 402; cropping the video data 106 of the scene 402 to a portion around the user 602 to provide cropped user video data 110 of the scene 402; and transmitting the cropped user video data 110 of the scene 402 to enable at least one service associated with the user 602 based, at least in part, on the cropped user video data 110 of the scene 402. Computer program instructions for causing an apparatus to perform at least the following or for performing at least the following: transmitting motion data 104 from at least one user device 316 that is co-located with a user 602; receiving cropped user video data 110 of a scene 402, wherein the cropped user video data 110 of the scene 402 comprises video data 106 of the scene 402 that has been cropped to a portion around the user 602 based, at least in part, on the transmitted motion data 104; and providing at least one service associated with the user 602 based, at least in part, on the received cropped user video data 110 of the scene 402. The computer program instructions may be comprised in a computer program, a non-transitory computer readable medium, a computer program product, a machine readable medium. In some but not necessarily all examples, the computer program instructions may be distributed over more than one computer program. Although the memory 834 is illustrated as a single component / circuitry it may be implemented as one or more separate components / circuitry some or all of which may be integrated / removable and / or may provide permanent / semi-permanent / dynamic / cached storage. In examples the memory 834 comprises a random-access memory 858 and a read only memory 860. In examples the computer program 836 can be stored in the read only memory 858. See, for example, Fig. 8B. Although the processor 832 is illustrated as a single component / circuitry it may be implemented as one or more separate components / circuitry some or all of which may be integrated / removable. The processor 832 may be a single core or multi-core processor. References to ‘computer-readable storage medium’, ‘computer program product’, ‘tangibly embodied computer program’ etc. or a ‘controller’, ‘computer’, ‘processor’ etc. should be understood to encompass not only computers having different architectures such as single / multi- processor architectures and sequential (Von Neumann) / parallel architectures but also specialized circuits such as field-programmable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other processing circuitry. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc. As used in this application, the term ‘circuitry’ may refer to one or more or all of the following: (a) hardware-only circuitry implementations (such as implementations in only analog and / or digital circuitry) and (b) combinations of hardware circuits and software, such as (as applicable): (i) a combination of analog and / or digital hardware circuit(s) with software / firmware and (ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory or memories that work together to cause an apparatus, such as a mobile phone or server, to perform various functions and (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (for example, firmware) for operation, but the software may not be present when it is not needed for operation. This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit for a mobile device or a similar integrated circuit in a server, a cellular network device, or other computing or network device. The blocks illustrated in the accompanying Figs may represent steps in a method and / or sections of code in the computer program 836. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some blocks to be omitted. Where a structural feature has been described, it may be replaced by means for performing one or more of the functions of the structural feature whether that function or those functions are explicitly or implicitly described. Thus, the apparatus can comprise means for: receiving motion data 104 from at least one user device 316 that is co-located with a user 602; determining visual motion data 322 for at least one person 404 in video data 106 of a scene 402; comparing the received motion data 104 and the visual motion data 322 to identify the user 602 in the video data 106 of the scene 402; cropping the video data 106 of the scene 402 to a portion around the user 602 to provide cropped user video data 110 of the scene 402; and 46 transmitting the cropped user video data 110 of the scene 402 to enable at least one service associated with the user 602 based, at least in part, on the cropped user video data 110 of the scene 402. Thus, the apparatus can comprise means for: transmitting motion data 104 from at least one user device 316 that is co-located with a user 602; receiving cropped user video data 110 of a scene 402, wherein the cropped user video data 110 of the scene 402 comprises video data 106 of the scene 402 that has been cropped to a portion around the user 602 based, at least in part, on the transmitted motion data 104; and providing at least one service associated with the user 602 based, at least in part, on the received cropped user video data 110 of the scene 402. In examples, an apparatus can comprise means for performing one or more methods, and / or at least part of one or more methods, as disclosed herein. In examples, an apparatus can be configured to perform one or more methods, and / or at least part of one or more methods, as disclosed herein. The apparatus can be provided in an electronic device, for example, a mobile terminal, according to an example of the present disclosure. It should be understood, however, that a mobile terminal is merely illustrative of an electronic device that would benefit from examples of implementations of the present disclosure and, therefore, should not be taken to limit the scope of the present disclosure to the same. While in certain implementation examples, the apparatus can be provided in a mobile terminal, other types of electronic devices, such as, but not limited to: mobile communication devices, hand portable electronic devices, wearable computing devices, Portable Digital Assistants (PDAs), pagers, mobile computers, desktop computers, televisions, gaming devices, laptop computers, cameras, video recorders, GPS devices and other types of electronic systems, can readily employ examples of the present disclosure. Furthermore, devices can readily employ examples of the present disclosure regardless of their intent to provide mobility. The term ‘comprise’ is used in this document with an inclusive not an exclusive meaning. That is any reference to X comprising Y indicates that X may comprise only one Y or may comprise more than one Y. If it is intended to use ‘comprise’ with an exclusive meaning then it will be made clear in the context by referring to “comprising only one...” or by using “consisting”. In this description, the wording ‘connect’, ‘couple’ and ‘communication’ and their derivatives mean operationally connected / coupled / in communication. It should be appreciated that any number or combination of intervening components can exist (including no intervening components), i.e., so as to provide direct or indirect connection / coupling / communication. Any such intervening components can include hardware and / or software components. As used herein, the term "determine / determining" (and grammatical variants thereof) can include, not least: calculating, computing, processing, deriving, measuring, investigating, identifying, looking up (for example, looking up in a table, a database or another data structure), ascertaining and the like. Also, "determining" can include receiving (for example, receiving information), accessing (for example, accessing data in a memory), obtaining and the like. Also," determine / determining" can include resolving, selecting, choosing, establishing, and the like. In this description, reference has been made to various examples. The description of features or functions in relation to an example indicates that those features or functions are present in that example. The use of the term ‘example’ or ‘for example’ or ‘can’ or ‘may’ in the text denotes, whether explicitly stated or not, that such features or functions are present in at least the described example, whether described as an example or not, and that they can be, but are not necessarily, present in some of or all other examples. Thus ‘example’, ‘for example’, ‘can’ or ‘may’ refers to a particular instance in a class of examples. A property of the instance can be a property of only that instance or a property of the class or a property of a sub-class of the class that includes some but not all of the instances in the class. It is therefore implicitly disclosed that a feature described with reference to one example but not with reference to another example, can where possible be used in that other example as part of a working combination but does not necessarily have to be used in that other example. Although examples have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the claims. Features described in the preceding description may be used in combinations other than the combinations explicitly described above. Although functions have been described with reference to certain features, those functions may be performable by other features whether described or not. Although features have been described with reference to certain examples, those features may also be present in other examples whether described or not. The term ‘a’, ‘an’ or ‘the’ is used in this document with an inclusive not an exclusive meaning. That is any reference to X comprising a / an / the Y indicates that X may comprise only one Y or may comprise more than one Y unless the context clearly indicates the contrary. If it is intended to use ‘a’, ‘an’ or ‘the’ with an exclusive meaning then it will be made clear in the context. In some circumstances the use of ‘at least one’ or ‘one or more’ may be used to emphasis an inclusive meaning but the absence of these terms should not be taken to infer any exclusive meaning. The presence of a feature (or combination of features) in a claim is a reference to that feature or (combination of features) itself and also to features that achieve substantially the same technical effect (equivalent features). The equivalent features include, for example, features that are variants and achieve substantially the same result in substantially the same way. The equivalent features include, for example, features that perform substantially the same function, in substantially the same way to achieve substantially the same result. In this description, reference has been made to various examples using adjectives or adjectival phrases to describe characteristics of the examples. Such a description of a characteristic in relation to an example indicates that the characteristic is present in 49 some examples exactly as described and is present in other examples substantially as described. The above description describes some examples of the present disclosure however those of ordinary skill in the art will be aware of possible alternative structures and method features which offer equivalent functionality to the specific examples of such structures and features described herein above and which for the sake of brevity and clarity have been omitted from the above description. Nonetheless, the above description should be read as implicitly including reference to such alternative structures and method features which provide equivalent functionality unless such alternative structures or method features are explicitly excluded in the above description of the examples of the present disclosure. Whilst endeavoring in the foregoing specification to draw attention to those features believed to be of importance it should be understood that the Applicant may seek protection via the claims in respect of any patentable feature or combination of features hereinbefore referred to and / or shown in the drawings whether or not emphasis has been placed thereon. l / we claim:

Claims

1. An apparatus comprising means for:receiving motion data from at least one user device that is co-located with a user;determining visual motion data for at least one person in video data of a scene;comparing the received motion data and the visual motion data to identify the user in the video data of the scene;cropping the video data of the scene to a portion around the user to provide cropped user video data of the scene; andtransmitting the cropped user video data of the scene to enable at least one service associated with the user based, at least in part, on the cropped user video data of the scene.

2. An apparatus as claimed in claim 1, wherein transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one user device of the user to enable at least one service associated with the user at the at least one user device of the user.

3. An apparatus as claimed in claim 2, wherein the at least one service associated with the user at the at least one user device of the user comprises at least one sensing application.

4. An apparatus as claimed in any preceding claim, wherein transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one server.

5. An apparatus as claimed in any preceding claim, wherein the received motion data comprises data from at least one inertial measurement unit in the at least one user device that is co-located with the user.

6. An apparatus as claimed in any preceding claim, wherein the means are configured to:determine, based, at least in part, on the received motion data, first segmented trajectory information of the user in the frame of reference of the user;determine, based, at least in part, on the visual motion data, second segmented trajectory information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene,wherein comparing the received motion data and visual motion data comprises comparing the first segmented trajectory information of the user and the second segmented trajectory information of the at least one person in the video data of the scene.

7. An apparatus as claimed in claim 6, wherein the first segmented trajectory information comprises orientation and / or movement information of the user in the frame of reference of the user in a sequence of discrete time steps; andwherein the second segmented trajectory information comprises orientation and / or movement information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene in a sequence of discrete time steps that substantially matches the discrete time steps of the first segmented trajectory information.

8. An apparatus as claims in any preceding claim, wherein the at least one service associated with the user uses, as an input, video data of the scene comprising the user.

9. An apparatus as claimed in any of claims 1 to 8, wherein the means comprisesat least one processor; andat least one memory including computer program code,the at least one memory storing instructions that, when executed by the at least one processor, cause performance of the method of at least one of claims 11 to 18.

10. A system comprising an apparatus as claimed in at least one of claims 1 to 9 and at least one visual sensor configured to provide the video data of the scene.

11. A method comprising:receiving motion data from at least one user device that is co-located with a user;determining visual motion data for at least one person in video data of a scene;comparing the received motion data and the visual motion data to identify the user in the video data of the scene;cropping the video data of the scene to a portion around the user to provide cropped user video data of the scene; andtransmitting the cropped user video data of the scene to enable at least one service associated with the user based, at least in part, on the cropped user video data of the scene.

12. A method as claimed in claim 11, wherein transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one user device of the user to enable at least one service associated with the user at the at least one user device of the user.

13. A method as claimed in claim 12, wherein the at least one service associated with the user at the at least one user device of the user comprises at least one sensing application.

14. A method as claimed in any of claims 11 to 13, wherein transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one server.

15. A method as claimed in any of claims 11 to 14, wherein the received motion data comprises data from at least one inertial measurement unit in the at least one user device that is co-located with the user.

16. A method as claimed in any of claims 11 to 15, comprising:determining, based, at least in part, on the received motion data, first segmented trajectory information of the user in the frame of reference of the user;determining, based, at least in part, on the visual motion data, second segmented trajectory information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene,wherein comparing the received motion data and visual motion data comprises comparing the first segmented trajectory information of the user and the second segmented trajectory information of the at least one person in the video data of the scene.

17. A method as claimed in claim 16, wherein the first segmented trajectory information comprises orientation and / or movement information of the user in the frame of reference of the user in a sequence of discrete time steps; andwherein the second segmented trajectory information comprises orientation and / or movement information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene in a sequence of discrete time steps that substantially matches the discrete time steps of the first segmented trajectory information.

18. A method as claimed in any of claims 11 to 17, wherein the at least one service associated with the user uses, as an input, video data of the scene comprising the user.

19. A computer program comprising instructions for causing an apparatus to perform:receiving motion data from at least one user device that is co-located with a user;determining visual motion data for at least one person in video data of a scene;comparing the received motion data and the visual motion data to identify the user in the video data of the scene;cropping the video data of the scene to a portion around the user to provide cropped user video data of the scene; andtransmitting the cropped user video data of the scene to enable at least one service associated with the user based, at least in part, on the cropped user video data of the scene.

20. A computer program as claimed in claim 19, wherein transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one user device of the user to enable at least one service associated with the user at the at least one user device of the user.

21. A computer program as claimed in claim 20, wherein the at least one service associated with the user at the at least one user device of the user comprises at least one sensing application.

22. A computer program as claimed in any of claims 19 to 21, wherein transmitting the cropped user video data comprises transmitting the cropped user video data towards at least one server.

23. A computer program as claimed in any of claims 19 to 22, wherein the received motion data comprises data from at least one inertial measurement unit in the at least one user device that is co-located with the user.

24. A computer program as claimed in any of claims 19 to 23, comprising instructions for causing an apparatus to perform:determining, based, at least in part, on the received motion data, first segmented trajectory information of the user in the frame of reference of the user;determining, based, at least in part, on the visual motion data, second segmented trajectory information of the at least one person in the video data of the scene in the frame of reference of the at least one person in the video data of the scene,wherein comparing the received motion data and visual motion data comprises comparing the first segmented trajectory information of the user and the second segmented trajectory information of the at least one person in the video data of the scene.

25. An apparatus comprising means for:transmitting motion data from at least one user device that is co-located witha user;receiving cropped user video data of a scene, wherein the cropped user video5 data of the scene comprises video data of the scene that has been cropped to a portion around the user based, at least in part, on the transmitted motion data; and providing at least one service associated with the user based, at least in part, on the received cropped user video data of the scene.

Citation Information

Patent Citations

  • Method and device for associating frames in a video of an activity of a person with an event

    US20160314818A1

  • Systems and methods for processing and formatting video for interactive presentation

    US20180007444A1

  • System and method for enhanced video image recognition using motion sensors

    US20210136466A1