IP Library Granted Patent US 10,951,902
Granted Patent B2
US 10,951,902 · App. 16/438,784 · Granted Mar 16, 2021

Systems and methods for multiple bit rate content encoding

Inventors: Akshay Chetan Shah (Mumbai, IN); Padmassri Chandrashekar (Bangalore, IN)
Assignee: Rovi Guides, Inc.
H04N19/167H04N19/146H04N19/166H04N19/172
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,951,902
App. No.
16/438,784
Filed
Jun 12, 2019
Granted
Mar 16, 2021
Kind
B2
Art Unit
2487
USPC
375/240.02
Abstract

Systems and methods for encoding a video stream at multiple bit rates is disclosed herein. An encoder divides each frame of a video stream into a plurality of portions and allocates an available number of bits between the plurality of portions based on user preference information. Portions having one or more objects of interest to the viewer determined based on the user preference information are allocated a higher number of available bits while portions of the frames that do not include one or more objects of interest are allocated a minimum number of bits from the available bits.

Claims (75)

1. A method of content encoding comprising:

receiving, by a server, a request for a media asset;

retrieving, by the server, user preference information for a user requesting the content;

accessing, by the server, an input video stream associated with the media asset and

generating, by the server, an encoded version of the media asset, wherein generating the encoded version of the media asset comprises:

identifying, by the server, a key portion of the frame in the input video stream based on the retrieved user profile information; and

generating an encoded version of the frame, wherein generating the encoded version of the frame comprises:

encoding, by the server, the key portion of the frame at a first quality level that is higher than a second quality level at which a portion of the frame other than the key portion of the frame is encoded;

wherein encoding the key portion of the frame at the first quality level comprises allocating, by the server, a higher number of bits to the key portion of the frame, and wherein encoding the portion other than the key portion at the second quality level comprises allocating, by the server, a lower number of bits to the portion other than the key portion of the frame; and

generating the encoded version of the frame to include: (a) the encoded key portion of the frame of the input video stream; and (b) the encoded portion of the frame of the input video stream other than the key portion; and

transmitting via a network, by the server, the encoded version of the frame to a display device associated with the user requesting the media asset for display.

2. The method of claim 1 , further comprising:

categorizing the retrieved user preference information into one or more groups; and

identifying a group of frames that include one or more objects of interest that match the one or more groups.

3. The method of claim 2 , wherein identifying the key portion of the frame based on the retrieved user preference information comprises:

identifying portions of each of the group of frames including one or more objects of interest that map to the one or more groups.

4. The method of claim 1 , further comprising:

determining network conditions for a wireless communications network between the display device and an encoder; and

calculating an available number of bits based on the determined network conditions.

5. The method of claim 4 , wherein encoding the key portion of the frame at the first quality level that is higher than the second quality level at which the portion other than the key portion of the frame is encoded comprises:

allocating the portions other than the key portion of the frame a minimum number of bits of the calculated available number of bits; and

allocating the key portion of the frame a remaining number of bits of the calculated available number of bits.

6. The method of claim 1 , wherein identifying the key portion of the frame based on the retrieved user profile information comprises:

dividing the frame into a plurality of portions;

retrieving metadata for each of the plurality of portions; and

comparing the retrieved metadata to retrieved user profile information to identify the key portion of the plurality of portions having metadata that match the retrieved user profile information.

7. The method of claim 1 , wherein identifying the key portion of the frame based on the retrieved user profile information comprises:

generating a color map for the frame;

identifying a color associated with the user profile information to be prioritized for encoding at the first quality level; and

identifying the key portion of the frame including the identified color based on a match with the generated color map.

8. The method of claim 1 , further comprising:

encoding the key portion of the frame at the first quality level using a first processor; and

encoding the respective portions other than the key portion of the frame at the second quality level using a second processor in parallel to the first processor.

9. The method of claim 1 , wherein the first quality level is allocated based on:

allocating a minimum average bit rate to the portions other than the key portion of the frame; and

allocating a remainder of a maximum bit rate to the key portion of the frame.

10. The method of claim 1 , wherein the second quality level corresponds to a minimum average bit rate for the plurality of frames.

11. A system of content encoding, the system comprising:

control circuitry configured to:

receive a request for a media asset;

retrieve user preference information for a user requesting the content;

access an input video stream associated with the media asset; and

generate an encoded version of the media asset, wherein generating the encoded version of the media asset comprises:

identify a key portion of the frame in the input video stream based on the retrieved user profile information; and

generate an encoded version of the frame, wherein generating the encoded version of the frame comprises:

encode the key portion of the frame at a first quality level that is higher than a second quality level at which a portion of the frame other than the key portion of the frame is encoded; and

wherein encoding the key portion of the frame at the first quality level comprises allocating a higher number of bits to the key portion of the frame, and wherein encoding the portion other than the key portion at the second quality level comprises allocating a lower number of bits to the portion other than the key portion of the frame; and

generate the encoded version of the frame to include: (a) the encoded key portion of the frame of the input video stream; and (b) the encoded portion of the frame of the input video stream other than the key portion; and

transmit, via a network, the encoded version of the frame to a display device associated with the user requesting the media asset for display.

12. The system of claim 11 , wherein the control circuitry is further configured to:

categorize the retrieved user preference information into one or more groups; and

identify a group of frames that include one or more objects of interest that match the one or more groups.

13. The system of claim 12 , wherein the control circuitry, when identifying the key portion of the frame based on the retrieved user preference information, is configured to:

identify portions of each of the group of frames including one or more objects of interest that map to the one or more groups.

14. The system of claim 11 , wherein the control circuitry is further configured to:

determine network conditions for a wireless communications network between the display device and an encoder; and

calculate an available number of bits based on the determined network conditions.

15. The system of claim 14 , wherein the control circuitry, when encoding the key portion of the frame at the first quality level that is higher than the second quality level at which portions other than the key portion of the frame are encoded, is configured to:

allocate the portions other than the key portion of the frame a minimum number of bits of the calculated available number of bits; and

allocate the key portion of the frame a remaining number of bits of the calculated available number of bits.

16. The system of claim 11 , wherein the control circuitry, when identifying the key portion of the frame based on the retrieved user profile information, is further configured to:

divide the frame into a plurality of portions;

retrieve metadata for each of the plurality of portions; and

compare the retrieved metadata to retrieved user profile information to identify the key portion of the plurality of portions having metadata that match the retrieved user profile information.

17. The system of claim 11 , wherein the control circuitry, when identifying the key portion of the frame based on the retrieved user profile information, is further configured to:

generate a color map for the frame;

identify a color associated with the user profile information to be prioritized for encoding at the first quality level; and

identify the key portion of the frame including the identified color based on a match with the generated color map.

18. The system of claim 11 , wherein the control circuitry is further configured to:

encode the key portion of the frame at the first quality level using a first processor; and

encode the portion other than the key portion of the frame at the second quality level using a second processor in parallel to the first processor.

19. The system of claim 11 , wherein control circuitry is configured to:

allocate a minimum average bit rate to the portions other than the key portion of the frame; and

allocate a remainder of a maximum bit rate to the key portion of the frame.

20. The system of claim 11 , wherein the second quality level corresponds to a minimum average bit rate for the plurality of frames.

Assignments (7)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2020
From: SHAH, AKSHAY CHETAN; CHANDRASHEKAR, PADMASSRI
To: ROVI GUIDES, INC.
Reel/Frame 053827/0231 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
Continuity (1)
Related Publication 20200396464A1 · Dec 17, 2020
Cited By (1)
US 12,593,050