In some embodiments, a method determines a combination of sub-bitstream chunks from a plurality of sub-bitstreams for a video. The combination of sub-bitstream chunks includes a quality measurement. The method exchanges a sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk from another sub-bitstream in the plurality of sub-bitstreams based on a relationship of a change in bitrate to a change in quality due to the exchanging. The method continues to exchange a sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk until the quality measurement of the combination of sub-bitstream chunks meets a target quality and outputs the combination of sub-bitstream chunks.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: determining, by a computing device, a combination of sub-bitstream chunks from a plurality of sub-bitstreams for a video, the combination of sub-bitstream chunks being associated with a quality measurement; analyzing, by the computing device, relationships for exchanging sub-bitstream chunks in the combination of sub-bitstream chunks with sub-bitstream chunks from other sub-bitstreams, wherein a relationship is based on a change in bitrate to a change in quality due to the exchanging; exchanging, by the computing device, a sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk from another sub-bitstream in the plurality of sub-bitstreams based on analyzing the relationships; continuing, by the computing device, to exchange a sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk by analyzing remaining relationships until the quality measurement of the combination of sub-bitstream chunks meets a target quality; and outputting, by the computing device, the combination of sub-bitstream chunks.
2. The method of claim 1 , wherein the relationship based on the change in bitrate to the change in quality due to the exchanging comprises how much bitrate will be reduced in relation to quality in the combination of sub-bitstream chunks due to the exchanging.
3. The method of claim 1 , wherein continuing to exchange the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk comprises: exchanging a different one of the sub-bitstream chunks in the combination of sub-bitstream chunks with another sub-bitstream chunk based on the relationship of the change in bitrate to the change in quality due to the exchanging.
4. The method of claim 1 , wherein analyzing the relationships and/or exchanging the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk comprise: quantifying how much bitrate will be reduced in relation to quality due to the exchanging for multiple possible exchanges of sub-bitstream chunks for the sub-bitstream chunk; and selecting the another sub-bitstream chunk based on the another bitstream chunk being associated with a highest quality and a lowest bitrate reduction in the combination of sub-bitstream chunks among the multiple possible exchanges.
5. The method of claim 1 , wherein exchanging the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk comprises: selecting the another sub-bitstream chunk with a highest quality from multiple sub-bitstream chunks of the video.
6. The method of claim 1 , wherein exchanging the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk comprises: selecting the another sub-bitstream chunk from multiple sub-bitstream chunks that will reduce the quality measurement the least with the most amount of bandwidth reduction.
7. The method of claim 1 , wherein analyzing the relationships and/or exchanging the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk comprise: calculating an exchange rate that considers bitrate change divided by quality change for multiple exchanges of the sub-bitstream chunk with other sub-bitstream chunks in the plurality of sub-bitstream chunks; and selecting the sub-bitstream chunk that includes the exchange rate with a smallest slope when the exchange rate considers the bitrate change divided by the quality change.
8. The method of claim 1 , wherein analyzing the relationships comprises: calculating a first difference in bitrate between the sub-bitstream chunk and the another sub-bitstream chunk; calculating a second difference in the quality measurement between the sub-bitstream chunk and the another sub-bitstream chunk; and using the first difference and the second difference to determine whether to exchange the sub-bitstream chunk in the combination of sub-bitstream chunks with the another sub-bitstream chunk.
9. The method of claim 1 , wherein analyzing the relationships comprises: comparing how much bitrate will be reduced in relation to quality due to the exchanging of a plurality of sub-bitstream chunks.
10. The method of claim 1 , wherein continuing to exchange the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk until the quality measurement of the combination meets the target quality comprises: calculating a new quality measurement for the combination of sub-bitstream chunks after the exchanging; and comparing the new quality measurement to the target quality.
11. The method of claim 10 , wherein continuing to exchange the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk until the quality measurement of the combination meets the target quality comprises: when the new quality measurement meets the target quality, stopping the exchanging.
12. The method of claim 11 , wherein continuing to exchange the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk until the quality measurement of the combination meets the target quality comprises: when the new quality measurement does not meet the target quality, exchanging a further sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk.
13. The method of claim 1 , further comprising: transcoding the video into the plurality of sub-bitstreams, wherein each sub-bitstream is transcoded using a different set of transcoding parameters.
14. The method of claim 1 , further comprising: transcoding each chunk of the video into the plurality of sub-bitstreams, wherein each sub-bitstream transcodes a chunk using a different set of transcoding parameters.
15. The method of claim 1 , further comprising: using the combination of sub-bitstream chunks as a transcoded version of the video.
16. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be configured for: determining a combination of sub-bitstream chunks from a plurality of sub-bitstreams for a video, the combination of sub-bitstream chunks being associated with a quality measurement; analyzing relationships for exchanging sub-bitstream chunks in the combination of sub-bitstream chunks with sub-bitstream chunks from other sub-bitstreams, wherein a relationship is based on a change in bitrate to a change in quality due to the exchanging; exchanging a sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk from another sub-bitstream in the plurality of sub-bitstreams based on analyzing the relationships; continuing to exchange a sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk by analyzing remaining relationships until the quality measurement of the combination of sub-bitstream chunks meets a target quality; and outputting the combination of sub-bitstream chunks.
17. The non-transitory computer-readable storage medium of claim 16 , wherein the relationship based on the change in bitrate to the change in quality due to the exchanging comprises how much bitrate will be reduced in relation to quality in the combination of sub-bitstream chunks due to the exchanging.
18. The non-transitory computer-readable storage medium of claim 16 , wherein analyzing the relationships and/or exchanging the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk comprise: quantifying how much bitrate will be reduced in relation to quality due to the exchanging for multiple possible exchanges of sub-bitstream chunks for the sub-bitstream chunk; and selecting the another sub-bitstream chunk based on the another bitstream chunk being associated with a highest quality and a lowest bitrate reduction in the combination of sub-bitstream chunks among the multiple possible exchanges.
19. The non-transitory computer-readable storage medium of claim 16 , wherein analyzing the relationships and/or exchanging the sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk comprise: calculating an exchange rate that considers bitrate change divided by quality change for multiple exchanges of the sub-bitstream chunk with other sub-bitstream chunks in the plurality of sub-bitstream chunks; and selecting the sub-bitstream chunk that includes the exchange rate with a smallest slope when the exchange rate considers the bitrate change divided by the quality change.
20. An apparatus comprising: one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for: determining a combination of sub-bitstream chunks from a plurality of sub-bitstreams for a video, the combination of sub-bitstream chunks being associated with a quality measurement; analyzing relationships for exchanging sub-bitstream chunks in the combination of sub-bitstream chunks with sub-bitstream chunks from other sub-bitstreams, wherein a relationship is based on a change in bitrate to a change in quality due to the exchanging; exchanging a sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk from another sub-bitstream in the plurality of sub-bitstreams based on analyzing the relationships; continuing to exchange a sub-bitstream chunk in the combination of sub-bitstream chunks with another sub-bitstream chunk by analyzing remaining relationships until the quality measurement of the combination of sub-bitstream chunks meets a target quality; and outputting the combination of sub-bitstream chunks.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 23, 2020
January 4, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.