Optimal quality adaptive video delivery
AssigneeVerizon and Redbox Digital Entertainment Services, LLC
InventorFenglin Yin
Life of this patent
Estimating the term…
Abstract
A method, performed by a computer device, may include receiving a request for a video asset from a user device, wherein the request includes information identifying a device type associated with the user device and a processor load associated with the user device. The method may further include determining a bandwidth capacity associated with a connection to the user device; selecting a codec and a quality level for the requested video asset based on the device type, the processor load, and the determined bandwidth capacity; identifying a Uniform Resource Identifier associated with the selected codec and quality level for the requested video asset; and providing the identified Uniform Resource Identifier to the user device.
Claims18
A method, performed by a computer device, the method comprising:
- receiving, by the computer device via a network, a request for a video asset from a user device, wherein the request includes information identifying a device type associated with the user device and a processor load associated with the user device, wherein the computer device includes a database that stores Uniform Resource Identifiers for particular video assets;
- obtaining, by the computer device, information identifying a last viewed position for the requested video asset for a user account associated with the user device;
- identifying, by the computer device, a segment of the requested video asset based on the obtained information identifying the last viewed position for the requested video asset;
- determining, by the computer device, a bandwidth capacity associated with a connection to the user device;
- selecting, by the computer device, a codec and a quality level for the requested video asset based on the device type, the processor load, and the determined bandwidth capacity;
- identifying, by the computer device, a Uniform Resource Identifier associated with the selected codec and quality level for the requested video asset using the database, wherein identifying the Uniform Resource Identifier associated with the selected codec and quality level for the requested video asset includes:
- identifying a segment Uniform Resource Identifier associated with the selected codec and quality level for the identified segment of the requested video asset;
- providing, by the computer device via the network, the identified segment Uniform Resource Identifier to the user device;
- receiving, by the computer device via the network, a request for a next segment of the requested video asset from the user device, wherein the request for the next segment includes
- processor load information that indicates that the processor load associated with the user device has changed;
- selecting, by the computer device, a different codec for the requested video asset, based on the processor load information that indicates that the processor load associated with the user device has changed;
- identifying, by the computer device, a different Uniform Resource Identifier associated with the different codec for the requested video asset using the database;
- and
- providing, by the computer device via the network, the identified different Uniform Resource Identifier to the user device.
A computer device comprising:
- logic configured to:
- receive, via a network, a request for a video asset from a user device, wherein the request includes information identifying a device type associated with the user device and a processor load associated with the user device, wherein the computer device includes a database that stores Uniform Resource Identifiers for particular video assets;
- obtain information identifying a last viewed position for the requested video asset for a user account associated with the user device;
- identify a segment of the requested video asset based on the obtained information identifying the last viewed position for the requested video asset;
- determine a bandwidth capacity associated with a connection to the user device;
- select a codec and a quality level for the requested video asset based on the device type, the processor load, and the determined bandwidth capacity;
- identify a Uniform Resource Identifier associated with the selected codec and quality level for the requested video asset using the database, wherein, when identifying the Uniform Resource Identifier associated with the selected codec and quality level for the requested video asset, the logic is further configured to:
- identify a segment Uniform Resource Identifier associated with the selected codec and quality level for the identified segment of the requested video asset;
- provide, via the network, the identified segment Uniform Resource Identifier to the user device;
- receive, via the network, a request for a next segment of the requested video asset from the user device, wherein the request for the next segment includes
- processor load information that indicates that the processor load associated with the user device has changed;
- select a different codec for the requested video asset, based on the processor load information that indicates that the processor load associated with the user device has changed;
- identify a different Uniform Resource Identifier associated with the different codec for the requested video asset using the database;
- and
- provide, via the network, the identified different Uniform Resource Identifier to the user device.
A non-transitory computer-readable medium storing instructions executable on one or more processors, the non-transitory computer-readable medium comprising:
- one or more instructions to receive, by a computer device and via a network, a request for a video asset from a user device, wherein the request includes information identifying a device type associated with the user device and a processor load associated with the user device, wherein the computer device includes a database that stores Uniform Resource Identifiers for particular video assets;
- one or more instructions to obtain information identifying a last viewed position for the requested video asset for a user account associated with the user device;
- one or more instructions to identify a segment of the requested video asset based on the obtained information identifying the last viewed position for the requested video asset;
- one or more instructions to determine a bandwidth capacity associated with a connection to the user device;
- one or more instructions to select a codec and a quality level for the requested video asset based on the device type, the processor load, and the determined bandwidth capacity;
- one or more instructions to identify a Uniform Resource Identifier associated with the selected codec and quality level for the requested video asset using the database, wherein, the one or more instructions to identify the Uniform Resource Identifier associated with the selected codec and quality level for the requested video asset further include:
- one or more instructions to identify a segment Uniform Resource Identifier associated with the selected codec and quality level for the identified segment of the requested video asset;
- one or more instructions to provide, via the network, the identified segment Uniform Resource Identifier to the user device;
- one or more instructions to receive, via the network, a request for a next segment of the requested video asset from the user device, wherein the request for the next segment includes
- processor load information that indicates that the processor load associated with the user device has changed;
- one or more instructions to select a different codec for the requested video asset, based on the processor load information that indicates that the processor load associated with the user device has changed;
- one or more instructions to identify a different Uniform Resource Identifier associated with the different codec for the requested video asset using the database;
- and
- one or more instructions to provide, via the network, the identified different Uniform Resource Identifier to the user device.
Dependencies are inferred from the claim text.