Privacy preserving online video recording using metadata
Systems and methods are provided herein for only including portions of a user's environment that have been approved by a user in a video conference while excluding portions that have not been approved. This may be accomplished by a device receiving a policy identifying one or more approved objects of a scene of a video stream. The device may then generate a filtered video stream by only including portions of the scene that comprise the one or more objects that were approved by the policy in the filtered video stream. The filtered video stream may be combined with other video streams to generate a video conference that is transmitted and/or stored by one or more devices participating in the video conference.
1 . A method comprising:
receiving a first video stream from a first device;
identifying a plurality of objects of a first scene of the first video stream, wherein the plurality of objects comprise a first object of the first scene;
receiving a first policy from the first device, wherein the first policy identifies:
a first action to be performed on the first object; and
the first policy is generated by the first device in response to the first device receiving an input corresponding to the first action;
generating a first filtered video stream by modifying the first object of the first scene according to the first action identified by the first policy, wherein the first filtered video stream comprises a modified first object that is modified according to the first action identified by the first policy;
receiving a second video stream from a second device;
generating a merged video stream by combining the first filtered video stream and the second video stream;
transmitting the merged video stream to the first device and the second device;
storing, by a third device, a recording of the merged video stream;
receiving an updated policy from the first device, wherein;
the updated policy identifies an updated action to be performed on the modified first object;
the updated action corresponds to replacing the modified first object with a virtual object in the recording of the merged video stream; and
the updated policy is generated by the first device in response to the first device receiving an additional input corresponding to the updated action;
receiving a selection of the virtual object from the first device;
generating an updated recording of the merged video stream by replacing the modified first object with the virtual object according to the updated policy;
deleting the recording of the merged video stream so that the recording of the merged video stream is not accessible by the second device; and
storing, by the third device, the updated recording of the merged video stream, wherein the updated recording of the merged video stream displays the virtual object according to the updated action identified by the updated policy.
2 . The method of claim 1 , wherein the third device is a server.
3 . The method of claim 1 , wherein the first policy further identifies a second object of the first scene of the first video stream and a second action to be performed on the second object of the first scene of the first video stream.
4 . The method of claim 3 , wherein generating the first filtered video stream further comprises:
removing portions of the first scene not identified by the first policy; and
displaying the second object according to the second action.
5 . The method of claim 4 , wherein displaying the second object according to the second action comprises blurring the second object in the first video stream.
6 . The method of claim 4 , wherein displaying the second object according to the second action comprises replacing the second object with a text box in the first video stream.
7 . The method of claim 4 , wherein displaying the second object according to the second action comprises replacing the second object with an additional virtual object in the first video stream.
8 . The method of claim 7 , further comprising receiving an additional selection of the additional virtual object from the first device.
9 . The method of claim 7 , further comprising generating the additional virtual object based on one or more characteristics of the second object without reciting a selection from the first device.
10 . The method of claim 1 , further comprising:
receiving a second policy from the first device, wherein the second policy identifies:
a second set of features corresponding to a second object of a second scene of the first video stream; and
a second action to be performed on the second object;
receiving subsequent segments of the first video stream from the first device, wherein the subsequent segments of the first video stream comprise the second scene;
generating filtered subsequent segments by modifying the second scene according to the second action identified by the second policy;
receiving subsequent segments of the second video stream from the second device;
generating a second merged video stream by combining the filtered subsequent segments and the subsequent segments of the second video stream; and
transmitting the second merged video stream to the first device and the second device.
11 . The method of claim 1 , wherein the virtual object is an extended reality (XR) element.
12 . The method of claim 11 , wherein:
the first object comprises a first plurality of dimensions;
the virtual object comprises a second plurality of dimensions; and
at least one dimension of the second plurality of dimensions is the same as at least one dimension of the first plurality of dimensions.
13 . The method of claim 11 , wherein the first object comprises a first plurality of dimensions and generating the updated recording of the merged video stream further comprises scaling the first object to match the first plurality of dimensions.
14 . An apparatus comprising:
control circuitry; and
at least one memory including computer program code for one or more programs, the at least one memory and the computer program code configured to, with the control circuitry, cause the apparatus to perform at least the following:
receive a first video stream from a first device, wherein the first video stream comprises a first object of a first scene;
receive a first policy from the first device, wherein:
the first policy indicates a first action to be performed on the first object; and
the first policy is generated in response to receiving an input corresponding to the first action to be performed on the first object of the first scene;
generate a first filtered video stream by modifying the first object of the first scene according to the first action identified by the first policy, wherein the first filtered video stream comprises a modified first object that is modified according to the first action identified by the first policy;
receive a second video stream from a second device;
generate a merged video stream by combining the first filtered video stream and the second video stream;
transmit the merged video stream to the first device and the second device;
store a recording of the merged video stream in memory;
receive an updated policy from the first device, wherein:
the updated policy identifies an updated action to be performed on the modified first object;
the updated policy corresponds to replacing the modified first object with a virtual object in the recording of the merged video stream; and
the updated policy is generated by the first device in response to the first device receiving an additional input corresponding to the updated action;
receive a selection of the virtual object from the first device;
generate an updated recording of the merged video stream by replacing the modified first object with the virtual object according to the updated action identified by the updated policy;
delete the recording of the merged video stream from memory so that the recording of the merged video stream is not accessible; and
store the updated recording of the merged video stream in memory.
15 . The apparatus of claim 14 , wherein the apparatus is a server.
16 . The apparatus of claim 14 , wherein the first policy further identifies a second object of the first scene of the first video stream and a second action to be performed on the second object of the first scene of the first video stream.
17 . The apparatus of claim 16 , wherein the apparatus is further caused, when generating the first filtered video stream, to:
remove portions of the first scene not identified by the first policy;
and
display the second object according to the second action.
18 . The apparatus of claim 17 , wherein the apparatus is further caused, when displaying the second object according to the second action, to blur the second object in the first video stream.
19 . A method comprising:
receiving a first video stream from a first device;
identifying a plurality of objects of a first scene of the first video stream, wherein the plurality of objects comprise a first object of the first scene;
receiving a first policy from the first device, wherein:
the first policy identifies a first action to be performed on the first object; and
the first action corresponds to replacing the first object with a virtual object; stream;
receiving a sectional of the virtual object from the first device;
generating a first filtered video stream by replacing the first object with the virtual object in the first video stream according to the first action identified by the first policy;
receiving a second video stream from a second device;
generating a merged video stream by combining the first filtered video stream and the second video stream;
transmitting the merged video stream to the first device and the second device;
generating a recording of the merged video stream;
receiving an updated policy from the first device, wherein:
the updated policy identifies an updated action to be performed; and
the updated action corresponds to removing the virtual object from the recording of the merged video stream;
generating an updated recording of the merged video stream by removing the virtual object from the recording of the merged video stream according to the updated action identified by the updated policy; and
storing the updated recording of the merged video stream.
20 . The method of claim 19 , wherein generating the first filtered video stream further comprises removing portions of the first scene not identified by the first policy.