Video Substream Profit Evaluation for Cache Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video on demand systems face challenges in efficiently caching video content due to high data rates and limited cache capacity, leading to difficulties in determining the value of video data and optimizing its placement in distributed architectures to maximize quality of service.
Innovation Solution
A method to evaluate the profit of substreams of encoded video data by calculating an error metric between decoded versions with and without specific data portions, allowing for objective and automatable decision-making on caching and bandwidth allocation, using techniques such as peak signal-to-noise ratio (PSNR) and knapsack problem approaches to prioritize substreams based on their importance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If video objects are cached in their entirety at web proxies, then complete video playback can be provided with low latency, but cache capacity is exhausted quickly due to large file sizes
Solution Approach 1:
The video stream is divided into multiple substreams based on H.264 data partitioning, where each substream corresponds to a specific partition type (A, B, or C) and frame type (I, P, or B frames). This segmentation allows the cache to store only essential substreams rather than complete video files, reducing cache capacity requirements while maintaining playback availability.
Solution Approach 2:
Different substreams are assigned different cache retention priorities based on their importance to video quality and playback continuity. Essential substreams (e.g., I-frames and partition A data) are cached with higher priority, while less critical substreams are cached with lower priority or not cached at all, optimizing the use of limited cache capacity.
2Loss of time
If only the start of video streams is cached to reduce response time, then initial playback latency is reduced, but sufficient bandwidth is still needed to stream the remainder from remote servers
Solution Approach 1:
The cache pre-stores essential video substreams (I-frames and partition A data) before they are requested by clients. This preliminary caching of critical data ensures that when playback starts, the most important video data is already available locally, reducing both response time and the bandwidth needed for subsequent streaming.
3Adaptability or versatility
If layered encoding is used to enable progressive reconstruction at higher qualities, then video quality adaptability is improved, but decoder complexity increases significantly
Solution Approach 1:
The video is encoded using H.264 data partitioning that divides each frame into partitions (A, B, C), where partition A contains essential data and partitions B and C contain enhancement data. The cache stores partition A data and selectively caches partition B and C data based on available capacity and demand, enabling quality adaptation without requiring a full layered encoding decoder at the cache.
Solution Approach 2:
The invention extracts and caches only the essential partition A data and selectively extracts partition B and C data based on cache capacity. This extraction approach provides quality adaptability by allowing clients to receive different combinations of partitions without requiring the cache to implement complex layered decoding and re-encoding functionality.
Data Source
AI summary
There is disclosed in aspects of the invention a method of evaluating the profit of a substream of encoded video data, a method of operating servers, a network and an apparatus. In the method, a data portion is identified comprising at least some of the data in the substream being evaluated; comparing a decoded version of the video with the data portion present and a decoded version of the video with the data portion removed and calculating an error metric indicative of the distortion between the two versions; and, calculating a profit for the substream dependent upon the error metric.


