Videoconferencing with Reduced Quality Interruptions Upon Participant Join
Abstract
In an embodiment, a computing system can include one or more processors and one or more non-transitory computer-readable media that store instructions that, when executed by the one or more processors, cause the computing system to perform operations. The operations can include: receiving an internal encoder state of an encoder running on a first computing device being used to participate in a video conference currently in progress; receiving data indicative of a second computing device being used to join the video conference; compressing, based at least in part on receipt of the data, the internal encoder state to generate a compressed internal encoder state of the encoder; and/or transmitting the compressed internal encoder state to the second computing device to synchronize the internal encoder state of the encoder running on the first computing device with an internal decoder state of a decoder running on the second computing device.
Claims
exact text as granted — not AI-modified1 .- 20 . (canceled)
21 . A computer-implemented method, comprising:
joining, by a first computing device operatively coupled to one or more processors, a video conference currently in progress, wherein the video conference comprises the first computing device and a second computing device, and wherein joining the video conference comprises running a decoder; receiving, by the first computing device, data indicative of an internal encoder state of an encoder running on the second computing device; and using, by the first computing device, the data indicative of the internal encoder state to synchronize an internal decoder state of the decoder running on the first computing device with the internal encoder state of the encoder running on the second computing device.
22 . The computer-implemented method of claim 21 , wherein receiving the data indicative of the internal encoder state of the encoder running on the second computing device comprises:
receiving, by the first computing device from the second computing device, the data indicative of the internal encoder state of the encoder running on the second computing device.
23 . The computer-implemented method of claim 21 , wherein receiving the data indicative of the internal encoder state of the encoder running on the second computing device comprises:
receiving, by the first computing device from a computing system that hosts the video conference, the data indicative of the internal encoder state of the encoder running on the second computing device.
24 . The computer-implemented method of claim 21 , wherein the internal encoder state comprises at least one of: one or more portions of one or more reference frames of video data associated with the video conference; or statistical data corresponding to at least one of the one or more portions of the one or more reference frames or the one or more reference frames.
25 . The computer-implemented method of claim 21 , wherein receiving the data indicative of the internal encoder state of the encoder running on the second computing device comprises:
receiving, by the first computing device from the second computing device, a compressed internal encoder state of the encoder running on the second computing device.
26 . The computer-implemented method of claim 25 , wherein the compressed internal encoder state comprises at least one of: one or more compressed portions of one or more reference frames of video data associated with the video conference; or compressed statistical data corresponding to at least one of the one or more compressed portions of the one or more reference frames or the one or more reference frames.
27 . The computer-implemented method of claim 25 , wherein using the data indicative of the internal encoder state to synchronize the internal decoder state of the decoder running on the first computing device with the internal encoder state of the encoder running on the second computing device comprises:
receiving, by the first computing device, an instruction from the second computing device instructing the first computing device to use the compressed internal encoder state to update the internal decoder state of the decoder running on the first computing device to synchronize the internal encoder state of the encoder with the internal decoder state of the decoder; and using, by the first computing device, the compressed internal encoder state to synchronize the internal decoder state of the decoder running on the first computing device with the internal encoder state of the encoder running on the second computing device.
28 . The computer-implemented method of claim 21 , wherein the method further comprises:
receiving, by the first computing device, a current delta frame of video data associated with the video conference from the second computing device, the current delta frame being current at a time the first computing device joins the video conference.
29 . A first computing device, comprising:
one or more processors; and one or more non-transitory computer-readable media that store instructions that, when executed by the one or more processors, cause the first computing device to perform operations, the operations comprising:
joining a video conference currently in progress, wherein the video conference comprises the first computing device and a second computing device, and wherein joining the video conference comprises running a decoder;
receiving data indicative of an internal encoder state of an encoder running on the second computing device; and
using the data indicative of the internal encoder state to synchronize an internal decoder state of the decoder running on the first computing device with the internal encoder state of the encoder running on the second computing device.
30 . The first computing device of claim 29 , wherein receiving the data indicative of the internal encoder state of the encoder running on the second computing device comprises:
receiving, from the second computing device, the data indicative of the internal encoder state of the encoder running on the second computing device.
31 . The first computing device of claim 29 , wherein receiving the data indicative of the internal encoder state of the encoder running on the second computing device comprises:
receiving, from a computing system that hosts the video conference, the data indicative of the internal encoder state of the encoder running on the second computing device.
32 . The first computing device of claim 29 , wherein the internal encoder state comprises at least one of: one or more portions of one or more reference frames of video data associated with the video conference; or statistical data corresponding to at least one of the one or more portions of the one or more reference frames or the one or more reference frames.
33 . The first computing device of claim 29 , wherein receiving the data indicative of the internal encoder state of the encoder running on the second computing device comprises:
receiving, from the second computing device, a compressed internal encoder state of the encoder running on the second computing device.
34 . The first computing device of claim 33 , wherein the compressed internal encoder state comprises at least one of: one or more compressed portions of one or more reference frames of video data associated with the video conference; or compressed statistical data corresponding to at least one of the one or more compressed portions of the one or more reference frames or the one or more reference frames.
35 . The first computing device of claim 33 , wherein using the data indicative of the internal encoder state to synchronize the internal decoder state of the decoder running on the first computing device with the internal encoder state of the encoder running on the second computing device comprises:
receiving an instruction from the second computing device instructing the first computing device to use the compressed internal encoder state to update the internal decoder state of the decoder running on the first computing device to synchronize the internal encoder state of the encoder with the internal decoder state of the decoder; and using the compressed internal encoder state to synchronize the internal decoder state of the decoder running on the first computing device with the internal encoder state of the encoder running on the second computing device.
36 . The first computing device of claim 29 , wherein the operations further comprises:
receiving a current delta frame of video data associated with the video conference from the second computing device, the current delta frame being current at a time the first computing device joins the video conference.
37 . One or more non-transitory computer-readable media that store instructions that, when executed by one or more processors of a first computing device, cause the first computing device to perform operations, the operations comprising:
joining a video conference currently in progress, wherein the video conference comprises the first computing device and a second computing device, and wherein joining the video conference comprises running a decoder; receiving data indicative of an internal encoder state of an encoder running on the second computing device; and using the data indicative of the internal encoder state to synchronize an internal decoder state of the decoder running on the first computing device with the internal encoder state of the encoder running on the second computing device.
38 . The one or more non-transitory computer-readable media of claim 37 , wherein receiving the data indicative of the internal encoder state of the encoder running on the second computing device comprises:
receiving, from the second computing device, the data indicative of the internal encoder state of the encoder running on the second computing device.
39 . The one or more non-transitory computer-readable media of claim 37 , wherein receiving the data indicative of the internal encoder state of the encoder running on the second computing device comprises:
receiving, from a computing system that hosts the video conference, the data indicative of the internal encoder state of the encoder running on the second computing device.
40 . The one or more non-transitory computer-readable media of claim 37 , wherein the internal encoder state comprises at least one of: one or more portions of one or more reference frames of video data associated with the video conference; or statistical data corresponding to at least one of the one or more portions of the one or more reference frames or the one or more reference frames.Join the waitlist — get patent alerts
Track US2023403311A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.