IP Library › Granted Patent US 12,088,796
Granted Patent B2
US 12,088,796 · App. 18/501,810 · Granted Sep 10, 2024

Hybrid media recording

Inventors: Roie Cohen (Ashkelon, IL); Gideon Keyson (Jerusalem, IL); Nadav Keyson (Tel Aviv, IL); Sebastian Greco (Milan, IT)
Assignee: RiversideFM, Inc.
H04N19/105H04N19/154H04N19/59H04N21/4307
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,088,796
App. No.
18/501,810
Granted
Sep 10, 2024
Kind
B2
Abstract

Systems and methods relating to presenting media content are disclosed. According to an example method, media data comprising a first media content segment is received. The first media content segment comprises first audio data received via the first user device and first video data received via the first user device, and is encoded according to a first set of encoding parameters. A fault is detected in the first media content segment. Detecting the fault comprises determining a quality value of the first media content segment, and determining whether the quality value exceeds a threshold. A second media content segment is received. The second media content segment comprises second audio data and second video data, and is encoded according to a second set of encoding parameters. The first media content segment is replaced with the second media content segment in the media data. Replacing the first media content segment with the second media content segment comprises synchronizing a first time of the second media content segment to a corresponding first time of the first media content segment, and trimming a length of the second media content segment to a length of the first media content segment.

Claims (87)

1. A method comprising:

receiving, at a server, media data comprising a first media content segment, the first media content segment comprising one or more of first audio data uploaded by a first user device and first video data uploaded by the first user device, the first media content segment encoded according to a first set of encoding parameters;

determining, by the server, whether a fault in the first media content segment has occurred, wherein said determining whether the fault has occurred comprises determining a quality value of the first media content segment, the quality value comprising one or more of a resolution, a bitrate, and a frame rate, and determining whether the quality value exceeds a threshold;

in accordance with a determination that the fault has occurred, replacing, in the media data, the first media content segment with a second media content segment comprising one or more of second audio data and second video data, the second media content segment encoded according to a second set of encoding parameters;

in accordance with a determination that the fault has not occurred, forgoing replacing, in the media data, the first media content segment with the second media content segment, and

providing the media data from the server to a client device for presentation of the media data;

wherein said replacing the first media content segment with the second media content segment comprises:

synchronizing a first time of the second media content segment to a corresponding first time of the first media content segment, the first time associated with the fault, and

trimming a length of the second media content segment based on a length of the first media content segment.

2. The method of claim 1 , wherein said synchronizing the first time of the second media content segment to the corresponding first time of the first media content segment comprises:

identifying the first time of the first media content segment based on a portion of the first media content segment corresponding to a portion of an audio signal; and

identifying the first time of the second media content segment based on a portion of the second media content segment corresponding to the portion of the audio signal.

3. The method of claim 1 , wherein said determining the quality value of the first media content segment comprises:

determining a spatial feature based on a video component of the first media content segment;

determining a temporal feature based on the video component of the first media content segment;

determining an audio feature of an audio component of the first media content segment; and

applying the spatial feature, the temporal feature, and the audio feature as input to an artificial intelligence model.

4. The method of claim 1 , wherein:

the first media content segment comprises audio data or video data received from the first user device via a streaming process;

the second media content segment comprises audio data or video data received at the server via a progressive upload process;

the first set of encoding parameters is associated with a first bitrate; and

the second set of encoding parameters is associated with a second bitrate higher than the first bitrate.

5. The method of claim 1 , wherein the presentation of the media data comprises a presentation of the media data via a conferencing application of the client device.

6. The method of claim 1 , wherein each of the first media content segment and the second media content segment comprises data recorded by the first user device at a first time.

7. The method of claim 1 , wherein:

the first media content segment comprises audio data or video data recorded by the first user device;

the second media content segment comprises audio data or video data recorded by a second user device;

the method further comprises communicating a signal to the second user device; and

the second media content segment further comprises audio data or video data recorded in response to the second user device receiving the signal.

8. The method of claim 1 , wherein:

the one or more of second audio data and second video data comprises audio data or video data recorded by the first user device.

9. The method of claim 1 , wherein:

the one or more of second audio data and second video data comprises audio data or video data recorded by the second user device, and

the first user device and the second user device are in communication with a common session of a computer application.

10. The method of claim 9 , wherein the second user device comprises a mobile device.

11. The method of claim 9 , wherein the fault is associated with a disconnection of the first user device from the common session.

12. The method of claim 9 , wherein:

the first media content segment comprises a first recording of a performance,

the second media content segment comprises a second recording of the performance, and

the second recording differs from the first recording according to a video parameter.

13. The method of claim 12 , wherein the video parameter comprises one or more of a view angle, a field of view, a depth of field, a focal point, a lens type, an aspect ratio, an optical filter, and a video processing filter.

14. The method of claim 1 , wherein:

receiving the second media content segment comprises receiving an output of a file size reduction, and

replacing the first media content segment with the second media content segment further comprises applying a compensation to the output of the file size reduction.

15. The method of claim 14 , wherein:

the file size reduction comprises a reduction in video resolution, and

the compensation comprises an increase in video resolution.

16. The method of claim 1 , wherein the first user device comprises the client device.

17. The method of claim 1 , wherein the first set of encoding parameters comprises the second set of encoding parameters.

18. A system comprising:

one or more processors configured to perform a method comprising:

receiving, at a server, media data comprising a first media content segment, the first media content segment comprising one or more of first audio data uploaded by a first user device and first video data uploaded by the first user device, the first media content segment encoded according to a first set of encoding parameters;

determining, by the server, whether a fault in the first media content segment has occurred, wherein said determining whether the fault has occurred comprises determining a quality value of the first media content segment, the quality value comprising one or more of a resolution, a bitrate, and a frame rate, and determining whether the quality value exceeds a threshold;

in accordance with a determination that the fault has occurred, replacing, in the media data, the first media content segment with a second media content segment comprising one or more of second audio data and second video data, the second media content segment encoded according to a second set of encoding parameters;

in accordance with a determination that the fault has not occurred, forgoing replacing, in the media data, the first media content segment with the second media content segment, and

providing the media data from the server to a client device for presentation of the media data;

wherein said replacing the first media content segment with the second media content segment comprises:

synchronizing a first time of the second media content segment to a corresponding first time of the first media content segment, the first time associated with the fault, and

trimming a length of the second media content segment based on a length of the first media content segment.

19. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform a method comprising:

receiving, at a server, media data comprising a first media content segment, the first media content segment comprising one or more of first audio data uploaded by a first user device and first video data uploaded by the first user device, the first media content segment encoded according to a first set of encoding parameters;

determining, by the server, whether a fault in the first media content segment has occurred, wherein said determining whether the fault has occurred comprises determining a quality value of the first media content segment, the quality value comprising one or more of a resolution, a bitrate, and a frame rate, and determining whether the quality value exceeds a threshold;

in accordance with a determination that the fault has occurred, replacing, in the media data, the first media content segment with a second media content segment comprising one or more of second audio data and second video data, the second media content segment encoded according to a second set of encoding parameters;

in accordance with a determination that the fault has not occurred, forgoing replacing, in the media data, the first media content segment with the second media content segment, and

providing the media data from the server to a client device for presentation of the media data;

wherein said replacing the first media content segment with the second media content segment comprises:

synchronizing a first time of the second media content segment to a corresponding first time of the first media content segment, the first time associated with the fault, and

trimming a length of the second media content segment based on a length of the first media content segment.

20. The non-transitory computer-readable medium of claim 19 , wherein:

the first media content segment comprises audio data or video data received from the first user device via a streaming process;

the second media content segment comprises audio data or video data received at the server via a progressive upload process;

the first set of encoding parameters is associated with a first bitrate; and

the second set of encoding parameters is associated with a second bitrate higher than the first bitrate.

21. The non-transitory computer-readable medium of claim 19 , wherein the first user device comprises the client device.

22. The non-transitory computer-readable medium of claim 19 , wherein:

the one or more of second audio data and second video data comprises audio data or video data recorded by the second user device;

the first user device and the second user device are configured to communicate with a common session of a computer application; and

the fault is associated with a disconnection of the first user device from the common session.

23. A method comprising:

receiving, at a server, media data comprising a first media content segment, the first media content segment comprising one or more of first audio data uploaded by a first user device and first video data uploaded by the first user device, the first media content segment encoded according to a first set of encoding parameters;

determining, by the server, whether a fault has occurred, the fault associated with the first media content segment, wherein said determining whether the fault has occurred comprises determining a quality value of the first media content segment, the quality value comprising one or more of a resolution, a bitrate, and a frame rate, and determining whether the quality value exceeds a threshold;

in accordance with a determination that the fault has occurred, replacing, in the media data, the first media content segment with a second media content segment comprising one or more of second audio data and second video data, the second media content segment encoded according to a second set of encoding parameters;

in accordance with a determination that the fault has not occurred, forgoing replacing, in the media data, the first media content segment with the second media content segment, and providing the media data from the server to a client device for presentation of the media data;

wherein said replacing the first media content segment with the second media content segment comprises:

determining, based on an audio signal associated with the first media content segment and further associated with the second media content segment, a first time of the second media content segment and a corresponding first time of the first media content segment;

synchronizing the first time of the second media content segment to the corresponding first time of the first media content segment, and

trimming a length of the second media content segment based on a length of the first media content segment.

Continuity (4)
Continuation 18106821 · Feb 7, 2023
Continuation 17878641 · Aug 1, 2022
Provisional Application 63389779 · Jul 15, 2022
Related Publication 20240064293A1 · Feb 22, 2024
Cited By (1)
US 12,348,711