US 12,244,878 B2
Systems and methods for distributing content using a common set of encryption keys
Michael George Kiefer, Lake Havasu City, AZ (US); Eric William Grab, San Diego, CA (US); and Jason Braness, San Diego, CA (US)
Assigned to DIVX, LLC, San Diego, CA (US)
Filed by DIVX, LLC, San Diego, CA (US)
Filed on May 10, 2023, as Appl. No. 18/315,425.
Application 18/315,425 is a continuation of application No. 17/024,373, filed on Sep. 17, 2020, granted, now 11,683,542.
Application 17/024,373 is a continuation of application No. 16/414,649, filed on May 16, 2019, granted, now 10,856,020, issued on Dec. 1, 2020.
Application 16/414,649 is a continuation of application No. 16/155,811, filed on Oct. 9, 2018, granted, now 10,341,698, issued on Jul. 2, 2019.
Application 16/155,811 is a continuation of application No. 15/481,340, filed on Apr. 6, 2017, granted, now 10,244,272, issued on Mar. 26, 2019.
Application 15/481,340 is a continuation of application No. 14/970,412, filed on Dec. 15, 2015, granted, now 9,621,522, issued on Apr. 11, 2017.
Application 14/970,412 is a continuation of application No. 14/564,003, filed on Dec. 8, 2014, granted, now 9,247,311, issued on Jan. 26, 2016.
Application 14/564,003 is a continuation of application No. 13/340,623, filed on Dec. 29, 2011, granted, now 8,909,922, issued on Dec. 9, 2014.
Claims priority of provisional application 61/530,305, filed on Sep. 1, 2011.
Prior Publication US 2023/0396820 A1, Dec. 7, 2023
Int. Cl. H04N 21/2347 (2011.01); H04L 9/08 (2006.01); H04L 9/14 (2006.01); H04L 9/32 (2006.01); H04L 9/40 (2022.01); H04N 21/254 (2011.01); H04N 21/4408 (2011.01); H04N 21/4627 (2011.01); H04N 21/6334 (2011.01); H04N 21/647 (2011.01)
CPC H04N 21/2347 (2013.01) [H04L 9/0819 (2013.01); H04L 9/0822 (2013.01); H04L 9/0861 (2013.01); H04L 9/14 (2013.01); H04L 9/32 (2013.01); H04L 63/0428 (2013.01); H04N 21/2541 (2013.01); H04N 21/4408 (2013.01); H04N 21/4627 (2013.01); H04N 21/6334 (2013.01); H04N 21/64715 (2013.01); H04L 2209/603 (2013.01)] 36 Claims
OG exemplary drawing
 
1. A playback device for playing protected video from a plurality of alternative streams, comprising:
a set of one or more processors; and
a non-volatile storage containing an application for causing the set of one or more processors to perform the steps of:
obtaining a top level index identifying a plurality of alternative streams of protected video, wherein each of the alternative streams of protected video includes partially encrypted encoded video frame data,
wherein the partially encrypted encoded video frame data contains encrypted portions and unencrypted portions of data;
obtaining common cryptographic information, where each of the plurality of alternative streams of protected video is protected using the common cryptographic information;
obtaining a container index that provides byte ranges for portions of a container file that contains one of the plurality of alternative streams of protected video;
requesting portions of the container file based on the provided byte ranges;
locating, within the requested portions of the container file, encryption information that identifies the size and location of encrypted portions of partially encrypted encoded video frame data that is also contained within the requested portions of the container file;
decrypting each encrypted portion of the partially encrypted encoded video frame data identified using the located encryption information, where the decryption process utilizes the common cryptographic information;
decoding the decrypted encoded video frame data and unencrypted encoded video frame data to obtain decoded frames of video; and
playing back the decoded frames of video.