IP Library Granted Patent US 10,097,746
Granted Patent B2
US 10,097,746 · App. 15/200,741 · Granted Oct 9, 2018

Method and system for dynamically adjusting a camera setting for a video stream

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 10,097,746
App. No.
15/200,741
Granted
Oct 9, 2018
Kind
B2
Abstract

In one aspect, an example method for dynamically adjusting a camera setting for a video stream includes: (i) receiving, by a computing system, video content captured by a camera operating in accordance with a camera setting; (ii) generating, by the computing system, a video stream representing the video content; and (iii) while generating the video stream: (a) determining, by the computing system, an amount of packets in a memory buffer; (b) determining, by the computing system, a time period since the camera setting was last adjusted; and (c) using, by the computing system, the determined amount of packets in the memory buffer and the determined time period since the camera setting was last adjusted as a basis to adjust the camera setting.

Claims (76)

1. A method comprising:

receiving, by a computing system, video content captured by a camera operating in accordance with a camera capture setting;

encoding, by the computing system, in accordance with one or more encoding parameters, the video content to generate a video stream representing the video content; and

while generating the video stream:

(i) determining, by the computing system, an amount of packets in a memory buffer;

(ii) determining, by the computing system, a time period since the camera capture setting was last adjusted; and

(iii) using, by the computing system, the determined amount of packets in the memory buffer and the determined time period since the camera capture setting was last adjusted as a basis to adjust the camera capture setting.

2. The method of claim 1 , wherein the memory buffer is a data queue of the computing system.

3. The method of claim 1 ,

wherein receiving video content captured by the camera operating in accordance with a camera capture setting comprises receiving video content captured by the camera operating in accordance with a frame rate setting,

wherein determining the time period since the camera capture setting was last adjusted comprises determining a time period since the frame rate setting was last adjusted, and

wherein using the determined amount of packets in the memory buffer and the determined time period since the camera capture setting was last adjusted as a basis to adjust the camera capture setting comprises using the determined amount of packets in the memory buffer and the determined time period since the frame rate setting was last adjusted as a basis to adjust the frame rate setting.

4. The method of claim 1 , wherein using the determined amount of packets in the memory buffer and the determined time period since the camera capture setting was last adjusted as a basis to adjust the camera capture setting comprises:

making, by the computing system, a first determination that the determined amount of packets in the memory buffer is less than a threshold amount of packets;

making, by the computing system, a second determination that the determined time period since the camera capture setting was last adjusted is greater than a threshold time period; and

responsive to making the first and second determinations, increasing, by the computing system, the camera capture setting.

5. The method of claim 4 , wherein the threshold amount of packets is a value in a range of 5-15 packets, and wherein the threshold time period is a value in a range of 10-20 seconds.

6. The method of claim 4 , wherein increasing the camera capture setting comprises increasing a frame rate setting for the video stream by a frame rate setting increment that is a value in a range from 10 frames per second to 20 frames per second.

7. The method of claim 4 , wherein the computing system supports multiple frame sizes for the video stream ranging from a smallest frame size to a largest frame size,

wherein increasing the camera capture setting comprises increasing a frame size setting for the video stream to be a larger frame size setting supported by the computing system.

8. The method of claim 4 , further comprising:

making, by the computing system, a third determination that a data rate of the generated video stream is higher than an upper threshold data rate,

wherein increasing the camera capture setting is further responsive to making the third determination.

9. The method of claim 8 , further comprising:

making, by the computing system, a fourth determination that the computing system is transmitting the generated video stream via a Wi-Fi connection; and

responsive to making the fourth determination, selecting, by the computing system, the upper threshold data rate to be a value in a range of 1335 to 1425 kilobits per second.

10. The method of claim 8 , further comprising:

making, by the computing system, a fourth determination that the computing system is transmitting the generated video stream via a cellular network connection; and

responsive to making the fourth determination, selecting, by the computing system, the upper threshold data rate to be a value in a range of 450 to 550 kilobits per second.

11. The method of claim 1 , wherein using the determined amount of packets in the memory buffer and the determined time period since the camera capture setting was last adjusted as a basis to adjust the camera capture setting comprises:

making, by the computing system, a first determination that the determined amount of packets in the memory buffer is greater than a threshold amount of packets;

making, by the computing system, a second determination that the determined time period since the camera capture setting was last adjusted is greater than a threshold time period; and

responsive to making the first and second determinations, decreasing, by the computing system, the camera capture setting.

12. The method of claim 11 , wherein the threshold amount of packets is a value in a range of 20-35 packets, and wherein the threshold time period is a value in a range of 1-10 seconds.

13. The method of claim 11 , wherein decreasing the camera capture setting comprises decreasing the camera capture setting by a frame rate setting increment that is a value in a range from 10 frames per second to 20 frames per second.

14. The method of claim 11 , wherein the computing system supports multiple frame sizes for the video stream ranging from a smallest frame size to a largest frame size,

wherein decreasing the camera capture setting comprises decreasing a frame size setting for the video stream to be a smaller frame size setting supported by the computing system.

15. The method of claim 11 , further comprising:

making, by the computing system, a third determination that a data rate of the generated video stream is lower than a lower threshold data rate,

wherein decreasing the camera capture setting is further responsive to making the third determination.

16. The method of claim 15 , further comprising:

making, by the computing system, a fourth determination that the computing system is transmitting the generated video stream via a Wi-Fi connection; and

responsive to making the fourth determination, selecting, by the computing system, the lower threshold data rate to be a value in a range of 450 to 550 kilobits per second.

17. The method of claim 15 , further comprising:

making, by the computing system, a fourth determination that the computing system is transmitting the generated video stream via a cellular network connection; and

responsive to making the fourth determination, selecting, by the computing system, the lower threshold data rate to be a value in a range of 50 to 150 kilobits per second.

18. The method of claim 1 , wherein the computing system is a first computing system, the method further comprising:

while generating the video stream:

(iv) transmitting, by the first computing system, to a second computing system, the video stream, wherein the second computing system is configured for receiving the video stream from the first computing system and for broadcasting the video stream.

19. The method of claim 1 , further comprising:

presenting, by the computing system, via a user interface, an indication of the adjusted camera capture setting.

20. A non-transitory computer readable medium having stored thereon instructions that, upon execution by a processor, cause performance of a set of acts comprising:

receiving, by a computing system, video content captured by a camera operating in accordance with a camera capture setting;

encoding, by the computing system, in accordance with one or more encoding parameters, the video content to generate a video stream representing the video content; and

while generating the video stream:

(i) determining, by the computing system, an amount of packets in a memory buffer;

(ii) determining, by the computing system, a time period since the camera capture setting was last adjusted; and

(iii) using, by the computing system, the determined amount of packets in the memory buffer and the determined time period since the camera capture setting was last adjusted as a basis to adjust the camera capture setting.

21. A computing system comprising:

a camera; and

a memory buffer,

wherein the computing system is configured for performing a set of acts comprising:

receiving video content captured by the camera operating in accordance with a camera capture setting;

encoding, in accordance with one or more encoding parameters, the video content to generate a video stream representing the video content; and

while generating the video stream:

(i) determining an amount of packets in the memory buffer;

(ii) determining a time period since the camera capture setting was last adjusted; and

(iii) using the determined amount of packets in the memory buffer and the determined time period since the camera capture setting was last adjusted as a basis to adjust the camera capture setting.

22. The method of claim 1 ,

wherein receiving video content captured by the camera operating in accordance with a camera capture setting comprises receiving video content captured by the camera operating in accordance with a frame size setting,

wherein determining the time period since the camera capture setting was last adjusted comprises determining a time period since the frame size setting was last adjusted, and

wherein using the determined amount of packets in the memory buffer and the determined time period since the camera capture setting was last adjusted as a basis to adjust the camera capture setting comprises using the determined amount of packets in the memory buffer and the determined time period since the frame size setting was last adjusted as a basis to adjust the frame size setting.

23. The method of claim 1 ,

wherein receiving video content captured by the camera operating in accordance with a camera capture setting comprises receiving video content captured by the camera operating in accordance with a shutter speed setting,

wherein determining the time period since the camera capture setting was last adjusted comprises determining a time period since the shutter speed setting was last adjusted, and

wherein using the determined amount of packets in the memory buffer and the determined time period since the camera capture setting was last adjusted as a basis to adjust the camera capture setting comprises using the determined amount of packets in the memory buffer and the determined time period since the shutter speed setting was last adjusted as a basis to adjust the shutter speed setting.

Assignments (6)
RELEASE - REEL/FRAME 048783/0537 Recorded Sep 24, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: TRIBUNE BROADCASTING COMPANY, LLC
Reel/Frame 050473/0797 →
PARTIAL RELEASE - REEL/FRAME 039667/0565 Recorded Sep 24, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: TRIBUNE BROADCASTING COMPANY, LLC
Reel/Frame 050474/0975 →
SECURITY AGREEMENT Recorded Sep 19, 2019
From: CHICAGOLAND TELEVISION NEWS, INC.; KPLR, INC.; KSTU, LLC; KSWB, LLC; KTLA, LLC; KTVI, LLC; KWGN, LLC; TRIBUNE BROADCASTING COMPANY, LLC; TRIBUNE BROADCASTING DENVER, LLC; TRIBUNE BROADCASTING FORT SMITH, LLC; TRIBUNE ENTERTAINMENT COMPANY, LLC; TRIBUNE MEDIA COMPANY; TRIBUNE TELEVISION NEW ORLEANS, INC.; WDAF LICENSE, INC.; WDCW, LLC; WGHP, LLC; WGN CONTINENTAL BROADCASTING COMPANY, LLC; WHNT, LLC; WJW TELEVISION, LLC; WNEP, LLC; WPIX, LLC; WQAD, LLC; WREG, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 050438/0004 →
SECURITY INTEREST Recorded Apr 3, 2019
From: TRIBUNE BROADCASTING COMPANY, LLC
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 048783/0537 →
SECURITY AGREEMENT Recorded Aug 12, 2016
From: GRACENOTE, INC.; CASTTV, INC.; TRIBUNE BROADCASTING COMPANY, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039667/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2016
From: LASHER, RICHARD M.; LASHER, DANA A.; HUNDEMER, HANK J.
To: TRIBUNE BROADCASTING COMPANY, LLC
Reel/Frame 039066/0169 →