Video Resolution Selection for Preference-Aware Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video streaming systems struggle to match video playback characteristics with user preferences, leading to suboptimal experiences due to discrepancies in video resolution and smoothness, which can result in blurring, pixelation, stalling, or freezing.
Innovation Solution
A method to determine user preferences for video playback characteristics, calculate a return of interest (ROI) based on these preferences, and select the appropriate video resolution and bitrate to align with user preferences, using a quality score, smoothness penalty, and resource usage penalty to optimize video delivery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If video is transcoded into multiple resolutions and bitrates to satisfy different user preferences and device capabilities, then user preference matching improves, but system complexity increases
Solution Approach 1:
The system dynamically selects video resolution and bitrate based on real-time user preferences, device capabilities, and network conditions. The video player adjusts playback parameters dynamically rather than using fixed settings, allowing the system to adapt to changing conditions without requiring all possible video versions to be pre-configured and manually managed.
Solution Approach 2:
The system changes video playback parameters (resolution, bitrate) based on determined user preferences and calculated ROI values. By adjusting these parameters dynamically according to user-specific preferences rather than using static settings, the system achieves better preference matching without requiring complex manual configuration of multiple fixed-resolution versions.
2Manufacturing precision
If higher video bitrate is used to support higher resolution playback, then video quality improves, but network bandwidth requirements increase
Solution Approach 1:
The system applies different video quality levels (resolutions and bitrates) locally tailored to each user's preferences and device capabilities. Instead of providing uniform high-quality video to all users regardless of their needs or network conditions, the system selectively delivers appropriate quality levels based on individual user profiles and real-time conditions, optimizing the balance between quality and bandwidth consumption.
Solution Approach 2:
The system delivers video quality that is partially sufficient rather than maximally high for all cases. By calculating ROI and user preferences, the system determines the optimal quality level that satisfies user needs without always providing the highest possible bitrate, thus avoiding excessive network bandwidth consumption while maintaining acceptable or preferred video quality.
3Productivity
If lower video bitrate is used to reduce network bandwidth consumption, then network efficiency improves, but video resolution and quality deteriorate
Solution Approach 1:
The system changes video playback parameters based on determined user preferences for smoothness versus quality. Users who prioritize smoothness over quality have their preferences encoded, and the system adjusts bitrate and resolution parameters accordingly, delivering lower bitrates to these users while maintaining their perceived satisfaction, thus improving network efficiency without significantly deteriorating their video experience.
Data Source
AI summary
Example computer-implemented methods and systems for determining video resolution for video streaming are disclosed. One example method includes determining a preference of a user for a particular video playback characteristic; determining, based on the determined preference of the user and for each version of a video, a return of interest (ROI), wherein each version of the video has a particular resolution and bitrate; determining, based on the ROI, a version of the video to provide to a device of the user; and providing the corresponding version of the video to the device of the user.


