US2023006852A1PendingUtilityA1

Techniques for avoiding conflicting user actions during a video collaboration session

Assignee: DROPBOX INCPriority: Jun 30, 2021Filed: Aug 10, 2022Published: Jan 5, 2023
Est. expiryJun 30, 2041(~14.9 yrs left)· nominal 20-yr term from priority
H04L 12/1822H04L 12/1831H04L 65/4015G06F 40/169H04L 65/403H04L 65/1089
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are disclosed for avoiding conflicting user actions while the users synchronously participate in collaborative video review based on joint state data for a video collaboration session. User actions may conflict, e.g., when a user submits a video playback instruction to change the current frame of the session while another user is performing a frame-specific action on the current frame. The video collaboration service freezes the current frame in joint state data based on detecting that a frame-specific action is being performed or is likely imminent. Detecting a freeze condition may be implicit or explicit. In order to unfreeze the current frame of the joint state data, no active freeze conditions may be in effect. Further, the freeze condition may be lifted implicitly or explicitly. A visual video freeze indication may be displayed by one or more client applications participating in the session while a freeze condition is active.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method comprising:
 concurrently streaming video data to a plurality of client devices based, at least in part, on joint state data that comprises a current frame value identifying a currently-viewed frame of a plurality of frames of the video data;   receiving, from a particular client device of the plurality of client devices, one or more annotation actions performed on a particular frame of the plurality of frames at the particular client device;   detecting a freeze condition based on one or more annotation actions; and   based on the detected freeze condition, freezing the current frame value, in the joint state data, at the particular frame.   
     
     
         2 . The method of  claim 1 , wherein said freezing the current frame value, in the joint state data, at the particular frame comprises causing video playback controls, displayed at one or more client devices of the plurality of client devices, to be disabled. 
     
     
         3 . The method of  claim 1 , further comprising, after freezing the current frame value, in the joint state data, at the particular frame:
 detecting a lift of the freeze condition based, at least in part, on one of:   receiving an instruction to lift the freeze condition,   receiving a terminating update from the particular client device, or   determining that a threshold amount of time has lapsed since detecting a context event that precipitated the freeze condition; and   after detecting a lift of the freeze condition, unfreezing the current frame value.   
     
     
         4 . The method of  claim 3 , further comprising:
 displaying by each client device of the one or more client devices a visual video freeze indication including a user identifier associated with the freeze condition.   
     
     
         5 . The method of  claim 1 , further comprising:
 receiving, from a second client device of the plurality of client devices, a video playback instruction that instructs to change the current frame value in the joint state data;   after receiving the video playback instruction, and based, at least in part, on the detected freeze condition, maintaining the current frame value, in the joint state data, identifying the particular frame.   
     
     
         6 . The method of  claim 1 , further comprising:
 receiving, from the particular client device of the plurality of client devices, co-presence information describing the one or more annotation actions performed at the particular client device in a graphical user interface displayed by the particular client device.   
     
     
         7 . The method of  claim 1 , wherein detecting the freeze condition based on the one or more annotation actions comprises determining that a threshold amount of time has not yet passed since a timestamp associated with the one or more annotation actions. 
     
     
         8 . The method of  claim 1 , further comprising:
 after freezing the current frame value, receiving an instruction to unfreeze the current frame value from, the instruction to unfreeze being associated with a session master identifier;   based on receiving the instruction to unfreeze, unfreezing the current frame value.   
     
     
         9 . The method of  claim 8 , wherein: the freeze condition is a first freeze condition; and
 detecting a second freeze condition precipitated by a client device of the plurality of client devices other than the particular client device;   wherein both the first freeze condition and the second freeze condition are active upon receiving the instruction to unfreeze the current frame value.   
     
     
         10 . A non-transitory computer-readable storage medium, the computer-readable storage medium comprising instructions that when executed by a computer, cause the computer to:
 concurrently stream video data to a plurality of client devices based, at least in part, on joint state data that comprises a current frame value identifying a currently-viewed frame of a plurality of frames of the video data;   receive, from a particular client device of the plurality of client devices, one or more annotation actions performed on a particular frame of the plurality of frames at the particular client device;   detect a freeze condition based on one or more annotation actions; and   based on the detected freeze condition, freeze the current frame value, in the joint state data, at the particular frame.   
     
     
         11 . The computer-readable storage medium of  claim 10 , wherein said freezing the current frame value, in the joint state data, at the particular frame comprises cause video playback controls, displayed at one or more client devices of the plurality of client devices, to be disabled. 
     
     
         12 . The computer-readable storage medium of  claim 10 , wherein the instructions further configure the computer to:
 receive, from a second client device of the plurality of client devices, a video playback instruction that instructs to change the current frame value in the joint state data;   after receiving the video playback instruction, and based, at least in part, on the detected freeze condition, maintain the current frame value, in the joint state data, identifying the particular frame.   
     
     
         13 . The computer-readable storage medium of  claim 10 , wherein detecting the freeze condition based on the one or more annotation actions comprises determining that a threshold amount of time has not yet passed since a timestamp associated with the one or more annotation actions. 
     
     
         14 . The computer-readable storage medium of  claim 10 , wherein the instructions further configure the computer to:
 after freezing the current frame value, receive an instruction to unfreeze the current frame value, the instruction to unfreeze being associated with a session master identifier;   based on receiving the instruction to unfreeze, unfreeze the current frame value.   
     
     
         15 . The computer-readable storage medium of  claim 14 , wherein: the freeze condition is a first freeze condition; and
 detect a second freeze condition precipitated by a client device of the plurality of client devices other than the particular client device;   wherein both the first freeze condition and the second freeze condition are active upon receiving the instruction to unfreeze the current frame value.   
     
     
         16 . A computing apparatus comprising:
 a processor; and   a memory storing instructions that, when executed by the processor, configure the apparatus to:   concurrently stream video data to a plurality of client devices based, at least in part, on joint state data that comprises a current frame value identifying a currently-viewed frame of a plurality of frames of the video data;   receive, from a particular client device of the plurality of client devices, one or more annotation actions performed on a particular frame of the plurality of frames at the particular client device;   detect a freeze condition based on one or more annotation actions; and   based on the detected freeze condition, freeze the current frame value, in the joint state data, at the particular frame.   
     
     
         17 . The computing apparatus of  claim 16 , wherein the instructions further configure the apparatus to, after freezing the current frame value, in the joint state data, at the particular frame:
 detect a lift of the freeze condition based, at least in part, on one of:   receive an instruction to lift the freeze condition,   receive a terminating update from the particular client device, or   determine that a threshold amount of time has lapsed since detecting a context event that precipitated the freeze condition; and   after detecting a lift of the freeze condition, unfreeze the current frame value.   
     
     
         18 . The computing apparatus of  claim 17 , wherein the instructions further configure the apparatus to:
 display by each client device of the one or more client devices a visual video freeze indication including a user identifier associated with the freeze condition.   
     
     
         19 . The computing apparatus of  claim 16 , wherein the instructions further configure the apparatus to:
 receive, from a second client device of the plurality of client devices, a video playback instruction that instructs to change the current frame value in the joint state data;   after receiving the video playback instruction, and based, at least in part, on the detected freeze condition, maintain the current frame value, in the joint state data, identifying the particular frame.   
     
     
         20 . The computing apparatus of  claim 16 , wherein detecting the freeze condition based on the one or more annotation actions comprises determining that a threshold amount of time has not yet passed since a timestamp associated with the one or more annotation actions.

Join the waitlist — get patent alerts

Track US2023006852A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.