IP Library Granted Patent US 12,250,404
Granted Patent B2
US 12,250,404 · App. 18/807,838 · Granted Mar 11, 2025

Systems and methods for performing adaptive bitrate streaming

Inventors: Jason Braness (San Diego, CA); Auke Sjoerd van der Schaar (Los Angeles, CA); Kourosh Soroushian (San Diego, CA)
Assignee: DIVX, LLC
H04N19/593G11B27/005G11B27/11G11B27/322H04L65/612H04L65/613H04L65/70H04N19/172H04N19/177H04N19/40H04N21/234345H04N21/23439H04N21/2387H04N21/26258H04N21/2662H04N21/42607H04N21/435H04N21/44004H04N21/44008H04N21/44209H04N21/6587H04N21/8455H04N21/8456H04N21/8543H04N21/85406
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,250,404
App. No.
18/807,838
Granted
Mar 11, 2025
Kind
B2
Abstract

Systems and methods for performing trick play functionality using trick play streams during adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment includes requesting a video container index from a video container file containing a video stream from a plurality of alternative streams of video; requesting at least one portion of the video stream using at least one entry from the video container index; decoding the at least one portion of the video stream; receiving at least one user instruction to perform a visual search of the media; requesting a trick play container index from a trick play container file containing a trick play stream; requesting at least one frame of video from the at least one trick play stream; and decoding and displaying the at least one frame of video from the trick play stream.

Claims (114)

1. A method of performing adaptive bitrate streaming using a playback device that selects between different streams of encoded media during playback according to streaming conditions experienced by the playback device, the method comprising:

obtaining, using a playback device via a network, a top level index file for a piece of media content that includes an audio sequence and a video sequence, where the top level index file identifies:

alternative streams of encoded video that are available to the playback device, where:

each of the alternative streams of encoded video is an encoding of the video sequence;

each of the alternative streams of encoded video is encoded as a plurality of portions of encoded video; and

the alternative streams of encoded video are encoded at different bitrates; at least one stream of encoded audio, where:

each of the at least one stream of encoded audio is an encoding of the audio sequence; and

each of the at least one stream of encoded audio is encoded as a plurality of portions of encoded video; and

separate index files that contain information concerning the locations of container files that contain the identified alternative streams of encoded video and the identified at least one stream of encoded audio;

selecting, using the playback device, a first stream of encoded video to utilize to commence playback from the alternative streams of encoded video identified in the top level index file;

obtaining, using a playback device via the network, a first index file from the separate index files identified in the top level index file, where the first index file is an index file for the first stream of encoded video and contains information concerning the location of at least one container file that contains the first stream of encoded video;

obtaining, using the playback device via the network utilizing information from the first index file, a header for the first stream of encoded video;

configuring a video decoder within the playback device using information contained within the header for the first stream of encoded video;

selecting, using the playback device, a first stream of encoded audio to utilize to commence playback from the at least one stream of encoded audio identified in the top level index file;

obtaining, using a playback device via the network, an audio index file from the separate index files identified in the top level index file, where the audio index file is an index file for the first stream of encoded audio and contains information concerning the location of at least one container file that contains the first stream of encoded audio;

obtaining, using the playback device via the network utilizing information from the audio index file, a header for the first stream of encoded audio;

configuring an audio decoder within the playback device using information contained within the header for the first stream of encoded audio;

obtaining, using the playback device via the network utilizing information from the first index file, at least a first portion of encoded video from the first stream of encoded video;

obtaining, using the playback device via the network utilizing information from the audio index file, at least a first portion of encoded audio from the first stream of encoded audio;

commencing playback of the media content by:

decoding, using the video decoder within the playback device, encoded video within the at least a first portion of encoded video from the first stream of encoded video; and

decoding, using the audio decoder within the playback device, encoded audio within the at least a first portion of encoded audio from the first stream of encoded audio;

as the playback device obtains additional portions of encoded media, evaluating at the playback device, current streaming conditions experienced by the playback device;

selecting, using the playback device based upon the current streaming conditions experienced by the playback device, a second stream of encoded video from the alternative streams of encoded video identified in the top level index file;

storing, within memory of the playback device, the index file and the information contained within the header for the first stream of encoded video used to configure the video decoder;

obtaining, using the playback device via the network, a second index file from the separate index files identified in the top level index file, where the second index file is an index file for the second stream of encoded video and contains the locations of at least one container file that contains the plurality of portions of encoded video of the second stream of encoded video;

obtaining, using the playback device via the network utilizing information from the second index file, a header for the second stream of encoded video;

configuring a video decoder within the playback device using information contained within the header for the second stream of encoded video;

obtaining, using the playback device via the network utilizing information from the second index file, at least one portion of encoded video from the second stream of encoded video;

obtaining, using the playback device via the network utilizing information from the audio index file, at least one additional portion of encoded audio from the first stream of encoded audio; and

continuing playback of the media content by:

decoding, using the video decoder within the playback device, encoded video within the at least one portion of encoded video from the second stream of encoded video; and

decoding, using the audio decoder within the playback device, encoded audio within the at least one additional portion of encoded audio from the first stream of encoded audio.

2. The method of claim 1 , further comprising:

as the playback device obtains further additional portions of encoded media, evaluating present streaming conditions experienced by the playback device;

selecting, using the playback device based upon the present streaming conditions experienced by the playback device, the first stream of encoded video from the alternative streams of encoded video identified in the top level index file;

retrieving, from the memory of the playback device, the index file and the information contained within the retrieved header for the first stream of encoded video used to configure the video decoder;

configuring a video decoder within the playback device using the information contained within the header for the first stream of encoded video that was retrieved from the memory of the playback device;

obtaining, using the playback device via the network utilizing information from the first index file retrieved from the memory of the playback device, at least one portion of encoded video from the first stream of encoded video;

obtaining, using the playback device via the network utilizing information from the audio index file, at least one further portion of encoded audio from the first stream of encoded audio; and

continuing playback of the media content by:

decoding, using the video decoder within the playback device, encoded video within the at least one portion of encoded video from the first stream of encoded video; and

decoding, using the audio decoder within the playback device, encoded audio within the at least one further portion of encoded audio from the first stream of encoded audio.

3. The method of claim 1 , wherein storing the information contained within the header for the first stream of encoded video used to configure the video decoder comprises storing the retrieved header from the first stream of encoded video.

4. The method of claim 1 , wherein evaluating current streaming conditions comprises evaluating at least one streaming condition selected from the group consisting of buffer occupancy, network bandwidth and playback device processor capacity.

5. The method of claim 1 , wherein the playback device obtains the second index file and the header for the second stream of encoded video prior to selecting the second stream based upon the current streaming conditions.

6. The method of claim 5 , wherein the playback device retrieves the second index file and the header for the second stream of encoded video prior to commencing playback.

7. The method of claim 1 , wherein:

the first index file contains:

information concerning the location of a container file that contains the first stream of encoded video; and

information concerning locations of portions of video within the container file; and

the at least a first portion of encoded video from the first stream of encoded video is obtained by the playback device via the network using a byte range request generated using the information concerning locations of portions of video within the container file.

8. The method of claim 7 , wherein the information concerning the locations of portions of video within the container file comprises information for each portion of encoded video that is selected from the group consisting of a starting location and a size.

9. The method of claim 1 , wherein:

the first index file contains information concerning the locations of a plurality of container files that each contain a portion of encoded video from the first stream of encoded video; and

the at least a first portion of encoded video from the first stream of encoded video is obtained by the playback device via the network by requesting one of the plurality of container files using the information concerning the location of the plurality of container files.

10. The method of claim 1 , wherein each portion of encoded video from the at least one portion of encoded video from the second stream of encoded video comprises a closed Group of Pictures (GOP) that commences with an Instantaneous Decoder Refresh (IDR) frame.

11. The method of claim 1 , wherein:

the top level index file contains Extensible Markup Language (XML) that includes a list of Uniform Resource Identifiers (URIs) describing streams of media including the alternative streams of encoded video; and

the method further comprises:

parsing the top level index file, using the playback device, to identify the URIs describing each of the alternative streams of encoded video.

12. The method of claim 11 , wherein the list of URIs includes at least one URI describing an audio stream.

13. The method of claim 12 , wherein the list of URIs includes at least one URI describing a subtitle stream.

14. The method of claim 11 , wherein the list of URIs includes at least one URI describing a trick play stream.

15. The method of claim 11 , wherein the top level index file is obtained by the playback device via the network using an HTTP request.

16. The method of claim 1 , wherein the second stream of encoded video is selected based upon at least one factor selected from the group consisting of:

portions of encoded video that have already been requested from a server system by the playback device; and

portions of encoded video that are buffered by the playback device.

17. The method of claim 1 , wherein each of the at least one container file that contains the first stream of encoded video is an Extensible Binary Markup Language (EBML) file.

18. The method of claim 1 , wherein each of the alternative streams of encoded video has a different maximum bitrate.

19. The method of claim 1 , wherein a plurality of the alternative streams of encoded video have different resolutions.

20. The method of claim 1 , wherein a plurality of the alternative streams of encoded video have pixels with different sample aspect ratios.

21. A method of performing adaptive bitrate streaming using a playback device that selects between different streams of encoded media during playback according to streaming conditions experienced by the playback device, the method comprising:

obtaining, using a playback device via a network, a top level index file for a piece of media content that includes an audio sequence and a video sequence, where the top level index file identifies:

alternative streams of encoded video that are available to the playback device, where:

each of the alternative streams of encoded video is an encoding of the video sequence;

each of the alternative streams of encoded video is encoded as a plurality of portions of encoded video; and

the alternative streams of encoded video are encoded at different bitrates; at least one stream of encoded audio, where:

each of the at least one stream of encoded audio is an encoding of the audio sequence; and

each of the at least one stream of encoded audio is encoded as a plurality of portions of encoded video; and

separate index files that contain information concerning the locations of container files that contain the identified alternative streams of encoded video and the identified at least one stream of encoded audio;

selecting, using the playback device, a first stream of encoded video to utilize to commence playback from the alternative streams of encoded video identified in the top level index file;

obtaining, using a playback device via the network, a first index file from the separate index files identified in the top level index file, where the first index file is an index file for the first stream of encoded video and contains information concerning the location of at least one container file that contains the first stream of encoded video;

obtaining, using the playback device via the network utilizing information from the first index file, a header for the first stream of encoded video;

configuring a video decoder within the playback device using information contained within the header for the first stream of encoded video;

selecting, using the playback device, a first stream of encoded audio to utilize to commence playback from the at least one stream of encoded audio identified in the top level index file;

obtaining, using a playback device via the network, an audio index file from the separate index files identified in the top level index file, where the audio index file is an index file for the first stream of encoded audio and contains information concerning the location of at least one container file that contains the first stream of encoded audio;

obtaining, using the playback device via the network utilizing information from the audio index file, a header for the first stream of encoded audio;

configuring an audio decoder within the playback device using information contained within the header for the first stream of encoded audio;

obtaining, using the playback device via the network utilizing information from the first index file, at least a first portion of encoded video from the first stream of encoded video;

obtaining, using the playback device via the network utilizing information from the audio index file, at least a first portion of encoded audio from the first stream of encoded audio;

commencing playback of the media content by:

decoding, using the video decoder within the playback device, encoded video within the at least a first portion of encoded video from the first stream of encoded video; and

decoding, using the audio decoder within the playback device, encoded audio within the at least a first portion of encoded audio from the first stream of encoded audio;

as the playback device obtains additional portions of encoded media, evaluating at the playback device, current streaming conditions experienced by the playback device;

selecting, using the playback device based upon the current streaming conditions experienced by the playback device, a second stream of encoded video from the alternative streams of encoded video identified in the top level index file;

storing, within memory of the playback device, the index file and the information contained within the header for the first stream of encoded video used to configure the video decoder;

obtaining, using the playback device via the network, a second index file from the separate index files identified in the top level index file, where the second index file is an index file for the second stream of encoded video and contains the locations of at least one container file that contains the plurality of portions of encoded video of the second stream of encoded video;

obtaining, using the playback device via the network utilizing information from the second index file, a header for the second stream of encoded video;

configuring a video decoder within the playback device using information contained within the header for the second stream of encoded video;

obtaining, using the playback device via the network utilizing information from the second index file, at least one portion of encoded video from the second stream of encoded video;

obtaining, using the playback device via the network utilizing information from the audio index file, at least one additional portion of encoded audio from the first stream of encoded audio;

continuing playback of the media content by:

decoding, using the video decoder within the playback device, encoded video within the at least one portion of encoded video from the second stream of encoded video; and

decoding, using the audio decoder within the playback device, encoded audio within the at least one additional portion of encoded audio from the first stream of encoded audio;

as the playback device obtains further additional portions of encoded media, evaluating present streaming conditions experienced by the playback device;

selecting, using the playback device based upon the present streaming conditions experienced by the playback device, the first stream of encoded video from the alternative streams of encoded video identified in the top level index file;

retrieving, from the memory of the playback device, the index file and the information contained within the retrieved header for the first stream of encoded video used to configure the video decoder;

configuring a video decoder within the playback device using the information contained within the header for the first stream of encoded video that was retrieved from the memory of the playback device;

obtaining, using the playback device via the network utilizing information from the first index file retrieved from the memory of the playback device, at least one portion of encoded video from the first stream of encoded video;

obtaining, using the playback device via the network utilizing information from the audio index file, at least one further portion of encoded audio from the first stream of encoded audio; and

continuing playback of the media content by:

decoding, using the video decoder within the playback device, encoded video within the at least one portion of encoded video from the first stream of encoded video; and

decoding, using the audio decoder within the playback device, encoded audio within the at least one further portion of encoded audio from the first stream of encoded audio.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2024
From: BRANESS, JASON; SCHAAR, AUKE SJOERD VAN DER; SOROUSHIAN, KOUROSH
To: DIVX, LLC
Reel/Frame 068360/0300 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2024
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 068360/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2024
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 068360/0426 →
CHANGE OF NAME Recorded Aug 21, 2024
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 068360/0457 →
Continuity (9)
Continuation 18301075 · Apr 14, 2023
Continuation 17240827 · Apr 26, 2021
Continuation 16525073 · Jul 29, 2019
Continuation 16155840 · Oct 9, 2018
Continuation 15881351 · Jan 26, 2018
Continuation 15005990 · Jan 25, 2016
Continuation 13221794 · Aug 30, 2011
Provisional Application 61430110 · Jan 5, 2011
Related Publication 20240414369A1 · Dec 12, 2024
References Cited (400)
US 3609227A · Kuljian · 1971 [cited by applicant]
US 3919474A · Benson · 1975 [cited by applicant]
US 4009331A · Goldmark et al. · 1977 [cited by applicant]
US 4694357A · Rahman et al. · 1987 [cited by applicant]
US 4694491A · Horne et al. · 1987 [cited by applicant]
US 4802170A · Trottier · 1989 [cited by applicant]
US 4964069A · Ely · 1990 [cited by applicant]
US 4974260A · Rudak · 1990 [cited by applicant]
US 5119474A · Beitel et al. · 1992 [cited by applicant]
US 5132992A · Yurt et al. · 1992 [cited by applicant]
US 5274758A · Beitel et al. · 1993 [cited by applicant]
US 5341474A · Gelman et al. · 1994 [cited by applicant]
US 5361332A · Yoshida et al. · 1994 [cited by applicant]
US 5396497A · Veltman · 1995 [cited by applicant]
US 5400401A · Wasilewski et al. · 1995 [cited by applicant]
US 5404436A · Hamilton · 1995 [cited by applicant]
US 5420801A · Dockter et al. · 1995 [cited by applicant]
US 5420974A · Morris et al. · 1995 [cited by applicant]
US 5471576A · Yee · 1995 [cited by applicant]
US 5477263A · Ocallaghan et al. · 1995 [cited by applicant]
US 5479303A · Suzuki et al. · 1995 [cited by applicant]
US 5487167A · Dinallo et al. · 1996 [cited by applicant]
US 5502766A · Boebert et al. · 1996 [cited by applicant]
US 5509070A · Schull · 1996 [cited by applicant]
US 5533021A · Branstad et al. · 1996 [cited by applicant]
US 5537408A · Branstad et al. · 1996 [cited by applicant]
US 5539908A · Chen et al. · 1996 [cited by applicant]
US 5541662A · Adams et al. · 1996 [cited by applicant]
US 5544318A · Schmitz et al. · 1996 [cited by applicant]
US 5550863A · Yurt et al. · 1996 [cited by applicant]
US 5574785A · Ueno et al. · 1996 [cited by applicant]
US 5583652A · Ware · 1996 [cited by applicant]
US 5589993A · Naimpally et al. · 1996 [cited by applicant]
US 5600721A · Kitazato · 1997 [cited by applicant]
US 5614940A · Cobbley et al. · 1997 [cited by applicant]
US 5621794A · Matsuda et al. · 1997 [cited by applicant]
US 5627936A · Prasad · 1997 [cited by applicant]
US 5630005A · Ort · 1997 [cited by applicant]
US 5633472A · DeWitt et al. · 1997 [cited by applicant]
US 5642171A · Baumgartner et al. · 1997 [cited by applicant]
US 5642338A · Fukushima et al. · 1997 [cited by applicant]
US 5655117A · Goldberg et al. · 1997 [cited by applicant]
US 5664044A · Ware · 1997 [cited by applicant]
US 5675382A · Bauchspies · 1997 [cited by applicant]
US 5675511A · Prasad et al. · 1997 [cited by applicant]
US 5684542A · Tsukagoshi · 1997 [cited by applicant]
US 5715403A · Stefik · 1998 [cited by applicant]
US 5717816A · Boyce et al. · 1998 [cited by applicant]
US 5719786A · Nelson et al. · 1998 [cited by applicant]
US 5745643A · Mishina · 1998 [cited by applicant]
US 5751280A · Abbott · 1998 [cited by applicant]
US 5751358A · Suzuki et al. · 1998 [cited by applicant]
US 5754648A · Ryan et al. · 1998 [cited by applicant]
US 5757968A · Ando · 1998 [cited by applicant]
US 5761417A · Henley et al. · 1998 [cited by applicant]
US 5763800A · Rossum et al. · 1998 [cited by applicant]
US 5765164A · Prasad et al. · 1998 [cited by applicant]
US 5794018A · Vrvilo et al. · 1998 [cited by applicant]
US 5805700A · Nardone et al. · 1998 [cited by applicant]
US 5813010A · Kurano et al. · 1998 [cited by applicant]
US 5819160A · Foladare et al. · 1998 [cited by applicant]
US 5822524A · Chen et al. · 1998 [cited by applicant]
US 5828370A · Moeller et al. · 1998 [cited by applicant]
US 5838791A · Torii et al. · 1998 [cited by applicant]
US 5841432A · Carmel et al. · 1998 [cited by applicant]
US 5844575A · Reid · 1998 [cited by applicant]
US 5848217A · Tsukagoshi et al. · 1998 [cited by applicant]
US 5852664A · Iverson et al. · 1998 [cited by applicant]
US 5854873A · Mori et al. · 1998 [cited by applicant]
US 5867625A · McLaren · 1999 [cited by applicant]
US 5874986A · Gibbon et al. · 1999 [cited by applicant]
US 5878135A · Blatter et al. · 1999 [cited by applicant]
US 5881038A · Oshima et al. · 1999 [cited by applicant]
US 5887110A · Sakamoto et al. · 1999 [cited by applicant]
US 5892900A · Ginter et al. · 1999 [cited by applicant]
US 5892915A · Duso et al. · 1999 [cited by applicant]
US 5903261A · Walsh et al. · 1999 [cited by applicant]
US 5907597A · Mark · 1999 [cited by applicant]
US 5907658A · Murase et al. · 1999 [cited by applicant]
US 5912710A · Fujimoto · 1999 [cited by applicant]
US 5923869A · Kashiwagi et al. · 1999 [cited by applicant]
US 5946446A · Yanagihara · 1999 [cited by applicant]
US 5956729A · Goetz et al. · 1999 [cited by applicant]
US 5959690A · Toebes, VIII et al. · 1999 [cited by applicant]
US 5970147A · Davis · 1999 [cited by applicant]
US 5973679A · Abbott et al. · 1999 [cited by applicant]
US 5999812A · Himsworth · 1999 [cited by applicant]
US 6002834A · Hirabayashi et al. · 1999 [cited by applicant]
US 6005621A · Linzer et al. · 1999 [cited by applicant]
US 6009237A · Hirabayashi et al. · 1999 [cited by applicant]
US 6016381A · Taira et al. · 2000 [cited by applicant]
US 6031622A · Ristow et al. · 2000 [cited by applicant]
US 6038257A · Brusewitz et al. · 2000 [cited by applicant]
US 6038316A · Dwork et al. · 2000 [cited by applicant]
US 6044469A · Horstmann · 2000 [cited by applicant]
US 6046778A · Nonomura et al. · 2000 [cited by applicant]
US 6047100A · McLaren · 2000 [cited by applicant]
US 6057832A · Lev et al. · 2000 [cited by applicant]
US 6058240A · McLaren · 2000 [cited by applicant]
US 6064794A · McLaren et al. · 2000 [cited by applicant]
US 6065050A · DeMoney · 2000 [cited by applicant]
US 6018611A · Nogami et al. · 2000 [cited by applicant]
US 6079566A · Eleftheriadis et al. · 2000 [cited by applicant]
US 6097877A · Katayama et al. · 2000 [cited by applicant]
US 6108422A · Newby et al. · 2000 [cited by applicant]
US 6141754A · Choy · 2000 [cited by applicant]
US 6151634A · Glaser et al. · 2000 [cited by applicant]
US 6155840A · Sallette · 2000 [cited by applicant]
US 6157410A · Izumi et al. · 2000 [cited by applicant]
US 6169242B1 · Fay et al. · 2001 [cited by applicant]
US 6175921B1 · Rosen · 2001 [cited by applicant]
US 6192075B1 · Jeng et al. · 2001 [cited by applicant]
US 6195388B1 · Choi et al. · 2001 [cited by applicant]
US 6199107B1 · Dujari · 2001 [cited by applicant]
US 6204883B1 · Tsukagoshi · 2001 [cited by applicant]
US 6222981B1 · Rijckaert · 2001 [cited by applicant]
US 6266483B1 · Okada et al. · 2001 [cited by applicant]
US 6282320B1 · Hasegawa et al. · 2001 [cited by applicant]
US 6282653B1 · Berstis et al. · 2001 [cited by applicant]
US 6289450B1 · Pensak et al. · 2001 [cited by applicant]
US 6292621B1 · Tanaka et al. · 2001 [cited by applicant]
US 6308005B1 · Ando et al. · 2001 [cited by applicant]
US 6320905B1 · Konstantinides · 2001 [cited by applicant]
US 6330286B1 · Lyons et al. · 2001 [cited by applicant]
US 6347145B2 · Kato et al. · 2002 [cited by applicant]
US 6351538B1 · Uz · 2002 [cited by applicant]
US 6373803B2 · Ando et al. · 2002 [cited by applicant]
US 6374144B1 · Viviani et al. · 2002 [cited by applicant]
US 6389218B2 · Gordon et al. · 2002 [cited by applicant]
US 6389473B1 · Carmel et al. · 2002 [cited by applicant]
US 6395969B1 · Fuhrer · 2002 [cited by applicant]
US 6397230B1 · Carmel et al. · 2002 [cited by applicant]
US 6415031B1 · Colligan et al. · 2002 [cited by applicant]
US 6418270B1 · Steenhof et al. · 2002 [cited by applicant]
US 6430354B1 · Watanabe · 2002 [cited by applicant]
US 6441754B1 · Wang et al. · 2002 [cited by applicant]
US 6445877B1 · Okada et al. · 2002 [cited by applicant]
US 6449719B1 · Baker · 2002 [cited by applicant]
US 6453115B1 · Boyle · 2002 [cited by applicant]
US 6453116B1 · Ando et al. · 2002 [cited by applicant]
US 6466671B1 · Maillard et al. · 2002 [cited by applicant]
US 6466733B1 · Kim · 2002 [cited by applicant]
US 6504873B1 · Vehvilaeinen · 2003 [cited by applicant]
US 6510513B1 · Danieli · 2003 [cited by applicant]
US 6510554B1 · Gordon et al. · 2003 [cited by applicant]
US 6512883B2 · Shim et al. · 2003 [cited by applicant]
US 6516064B1 · Osawa et al. · 2003 [cited by applicant]
US 6532262B1 · Fukuda et al. · 2003 [cited by applicant]
US 6535920B1 · Parry et al. · 2003 [cited by applicant]
US 6563549B1 · Sethuraman · 2003 [cited by applicant]
US 6578200B1 · Takao et al. · 2003 [cited by applicant]
US 6587506B1 · Noridomi et al. · 2003 [cited by applicant]
US 6594699B1 · Sahai et al. · 2003 [cited by applicant]
US 6621979B1 · Eerenberg et al. · 2003 [cited by applicant]
US 6625320B1 · Nilsson et al. · 2003 [cited by applicant]
US 6628713B1 · Kojima et al. · 2003 [cited by applicant]
US 6642967B1 · Saunders · 2003 [cited by applicant]
US 6654933B1 · Abbott et al. · 2003 [cited by applicant]
US 6658056B1 · Duruöz et al. · 2003 [cited by applicant]
US 6665835B1 · Gutfreund et al. · 2003 [cited by applicant]
US 6671408B1 · Kaku · 2003 [cited by applicant]
US 6690838B2 · Zhou · 2004 [cited by applicant]
US 6697568B1 · Kaku · 2004 [cited by applicant]
US 6714909B1 · Gibbon et al. · 2004 [cited by applicant]
US 6721794B2 · Taylor et al. · 2004 [cited by applicant]
US 6724944B1 · Kalevo et al. · 2004 [cited by applicant]
US 6725281B1 · Zintel · 2004 [cited by applicant]
US 6742082B1 · Lango et al. · 2004 [cited by applicant]
US 6751623B1 · Basso et al. · 2004 [cited by applicant]
US 6771703B1 · Oguz et al. · 2004 [cited by applicant]
US 6807306B1 · Girgensohn et al. · 2004 [cited by applicant]
US 6810031B1 · Hegde et al. · 2004 [cited by applicant]
US 6810131B2 · Nakagawa et al. · 2004 [cited by applicant]
US 6810389B1 · Meyer · 2004 [cited by applicant]
US 6813437B2 · Ando et al. · 2004 [cited by applicant]
US 6819394B1 · Nomura et al. · 2004 [cited by applicant]
US 6850252B1 · Hoffberg · 2005 [cited by applicant]
US 6856997B2 · Lee et al. · 2005 [cited by applicant]
US 6859496B1 · Boroczky et al. · 2005 [cited by applicant]
US 6868525B1 · Szabo · 2005 [cited by applicant]
US 6871006B1 · Oguz et al. · 2005 [cited by applicant]
US 6912253B1 · Li et al. · 2005 [cited by applicant]
US 6912513B1 · Candelore · 2005 [cited by applicant]
US 6917652B2 · Lyu · 2005 [cited by applicant]
US 6920179B1 · Anand et al. · 2005 [cited by applicant]
US 6931531B1 · Takahashi · 2005 [cited by applicant]
US 6931543B1 · Pang et al. · 2005 [cited by applicant]
US 6944621B1 · Collart · 2005 [cited by applicant]
US 6944629B1 · Shioi et al. · 2005 [cited by applicant]
US 6956901B2 · Boroczky et al. · 2005 [cited by applicant]
US 6957350B1 · Demos · 2005 [cited by applicant]
US 6965646B1 · Firestone · 2005 [cited by applicant]
US 6965724B1 · Boccon-Gibod et al. · 2005 [cited by applicant]
US 6965993B2 · Baker · 2005 [cited by applicant]
US 6970564B1 · Kubota et al. · 2005 [cited by applicant]
US 6983079B2 · Kim · 2006 [cited by applicant]
US 6985588B1 · Glick et al. · 2006 [cited by applicant]
US 6988144B1 · Luken et al. · 2006 [cited by applicant]
US 7006757B2 · Ando et al. · 2006 [cited by applicant]
US 7007170B2 · Morten · 2006 [cited by applicant]
US 7020287B2 · Unger · 2006 [cited by applicant]
US 7023924B1 · Keller et al. · 2006 [cited by applicant]
US 7023992B1 · Kubota et al. · 2006 [cited by applicant]
US 7043021B2 · Graunke et al. · 2006 [cited by applicant]
US 7043473B1 · Rassool et al. · 2006 [cited by applicant]
US 7051110B2 · Hagai et al. · 2006 [cited by applicant]
US 7054968B2 · Shrader et al. · 2006 [cited by applicant]
US 7058177B1 · Trimberger et al. · 2006 [cited by applicant]
US 7073191B2 · Srikantan et al. · 2006 [cited by applicant]
US 7103906B1 · Katz et al. · 2006 [cited by applicant]
US 7110542B1 · Tripathy · 2006 [cited by applicant]
US 7120250B2 · Candelore · 2006 [cited by applicant]
US 7124303B2 · Candelore et al. · 2006 [cited by applicant]
US 7127155B2 · Ando et al. · 2006 [cited by applicant]
US 7139868B2 · Parry et al. · 2006 [cited by applicant]
US 7143289B2 · Denning et al. · 2006 [cited by applicant]
US 7150045B2 · Koelle et al. · 2006 [cited by applicant]
US 7151832B1 · Fetkovich et al. · 2006 [cited by applicant]
US 7151833B2 · Candelore et al. · 2006 [cited by applicant]
US 7165175B1 · Kollmyer et al. · 2007 [cited by applicant]
US 7167560B2 · Yu · 2007 [cited by applicant]
US 7181438B1 · Szabo · 2007 [cited by applicant]
US 7185363B1 · Narin et al. · 2007 [cited by applicant]
US 7188183B1 · Paul et al. · 2007 [cited by applicant]
US 7191335B1 · Maillard · 2007 [cited by applicant]
US 7197234B1 · Chatterton · 2007 [cited by applicant]
US 7203313B2 · England et al. · 2007 [cited by applicant]
US 7206940B2 · Evans et al. · 2007 [cited by applicant]
US 7209892B1 · Galuten et al. · 2007 [cited by applicant]
US 7212726B2 · Zetts · 2007 [cited by applicant]
US 7231132B1 · Davenport · 2007 [cited by applicant]
US 7231516B1 · Sparrell et al. · 2007 [cited by applicant]
US 7233669B2 · Candelore · 2007 [cited by applicant]
US 7233948B1 · Shamoon et al. · 2007 [cited by applicant]
US 7237061B1 · Boic · 2007 [cited by applicant]
US 7242772B1 · Tehranchi · 2007 [cited by applicant]
US 7243346B1 · Seth et al. · 2007 [cited by applicant]
US 7274861B2 · Yahata et al. · 2007 [cited by applicant]
US 7295673B2 · Grab et al. · 2007 [cited by applicant]
US 7302490B1 · Gupta et al. · 2007 [cited by applicant]
US 7315829B1 · Tagawa et al. · 2008 [cited by applicant]
US 7328345B2 · Morten et al. · 2008 [cited by applicant]
US 7330875B1 · Parasnis et al. · 2008 [cited by applicant]
US 7340528B2 · Noblecourt et al. · 2008 [cited by applicant]
US 7346163B2 · Pedlow, Jr. et al. · 2008 [cited by applicant]
US 7349886B2 · Morten et al. · 2008 [cited by applicant]
US 7349976B1 · Glaser et al. · 2008 [cited by applicant]
US 7352956B1 · Winter et al. · 2008 [cited by applicant]
US 7356143B2 · Morten · 2008 [cited by applicant]
US 7356245B2 · Belknap et al. · 2008 [cited by applicant]
US 7363647B1 · Fakharzadeh · 2008 [cited by applicant]
US 7366788B2 · Jones et al. · 2008 [cited by applicant]
US 7376233B2 · Candelore et al. · 2008 [cited by applicant]
US 7376831B2 · Kollmyer et al. · 2008 [cited by applicant]
US 7382879B1 · Miller · 2008 [cited by applicant]
US 7389273B2 · Irwin et al. · 2008 [cited by applicant]
US 7397853B2 · Kwon et al. · 2008 [cited by applicant]
US 7400679B2 · Kwon et al. · 2008 [cited by applicant]
US 7406174B2 · Palmer · 2008 [cited by applicant]
US 7406176B2 · Zhu et al. · 2008 [cited by applicant]
US 7418132B2 · Hoshuyama · 2008 [cited by applicant]
US 7421411B2 · Kontio et al. · 2008 [cited by applicant]
US 7443449B2 · Momosaki et al. · 2008 [cited by applicant]
US 7454780B2 · Katsube et al. · 2008 [cited by applicant]
US 7457359B2 · Mabey et al. · 2008 [cited by applicant]
US 7457415B2 · Reitmeier et al. · 2008 [cited by applicant]
US 7460668B2 · Grab et al. · 2008 [cited by applicant]
US 7472280B2 · Giobbi · 2008 [cited by applicant]
US 7478325B2 · Foehr · 2009 [cited by applicant]
US 7484103B2 · Woo et al. · 2009 [cited by applicant]
US 7493018B2 · Kim · 2009 [cited by applicant]
US 7499930B2 · Naka et al. · 2009 [cited by applicant]
US 7499938B2 · Collart · 2009 [cited by applicant]
US 7515710B2 · Russell et al. · 2009 [cited by applicant]
US 7526450B2 · Hughes et al. · 2009 [cited by applicant]
US 7539213B2 · Guillemot et al. · 2009 [cited by applicant]
US 7546641B2 · Robert et al. · 2009 [cited by applicant]
US 7577980B2 · Kienzle et al. · 2009 [cited by applicant]
US 7594271B2 · Zhuk et al. · 2009 [cited by applicant]
US 7610365B1 · Kraft et al. · 2009 [cited by applicant]
US 7623759B2 · Shimoda · 2009 [cited by applicant]
US 7624337B2 · Sull et al. · 2009 [cited by applicant]
US 7627750B1 · Chan · 2009 [cited by applicant]
US 7627888B2 · Ganesan et al. · 2009 [cited by applicant]
US 7639921B2 · Seo et al. · 2009 [cited by applicant]
US 7640358B2 · Deshpande · 2009 [cited by applicant]
US 7640435B2 · Morten · 2009 [cited by applicant]
US 7644172B2 · Stewart et al. · 2010 [cited by applicant]
US 7653686B2 · Yoneda · 2010 [cited by applicant]
US 7664262B2 · Haruki · 2010 [cited by applicant]
US 7664872B2 · Osborne et al. · 2010 [cited by applicant]
US 7676555B2 · Bushee et al. · 2010 [cited by applicant]
US 7689510B2 · Lamkin et al. · 2010 [cited by applicant]
US 7697686B2 · Puiatti et al. · 2010 [cited by applicant]
US 7702925B2 · Hanko et al. · 2010 [cited by applicant]
US 7711052B2 · Hannuksela et al. · 2010 [cited by applicant]
US 7711647B2 · Gunaseelan et al. · 2010 [cited by applicant]
US 7720352B2 · Belknap et al. · 2010 [cited by applicant]
US 7734806B2 · Park · 2010 [cited by applicant]
US 7747853B2 · Candelore · 2010 [cited by applicant]
US 7756270B2 · Shimosato et al. · 2010 [cited by applicant]
US 7756271B2 · Zhu et al. · 2010 [cited by applicant]
US 7761892B2 · Ellis et al. · 2010 [cited by applicant]
US 7779097B2 · Lamkin et al. · 2010 [cited by applicant]
US 7787622B2 · Sprunk · 2010 [cited by applicant]
US 7788271B2 · Soma et al. · 2010 [cited by applicant]
US 7797720B2 · Gopalakrishnan et al. · 2010 [cited by applicant]
US 7817608B2 · Rassool et al. · 2010 [cited by applicant]
US 7840489B2 · Candelore · 2010 [cited by applicant]
US 7840693B2 · Gupta et al. · 2010 [cited by applicant]
US 7853980B2 · Pedlow, Jr. et al. · 2010 [cited by applicant]
US 7864186B2 · Robotham et al. · 2011 [cited by applicant]
US 7869691B2 · Kelly et al. · 2011 [cited by applicant]
US 7873740B2 · Sitaraman et al. · 2011 [cited by applicant]
US 7877002B2 · Ikeda et al. · 2011 [cited by applicant]
US 7881478B2 · Derouet · 2011 [cited by applicant]
US 7882034B2 · Hug et al. · 2011 [cited by applicant]
US 7885405B1 · Bong · 2011 [cited by applicant]
US 7895311B1 · Juenger · 2011 [cited by applicant]
US 7907833B2 · Lee · 2011 [cited by applicant]
US 7913277B1 · Rahrer · 2011 [cited by applicant]
US 7945143B2 · Yahata et al. · 2011 [cited by applicant]
US 7949703B2 · Matsuzaki et al. · 2011 [cited by applicant]
US 7962942B1 · Craner · 2011 [cited by applicant]
US 7970835B2 · St · 2011 [cited by applicant]
US 7974714B2 · Hoffberg · 2011 [cited by applicant]
US 7984513B1 · Kyne et al. · 2011 [cited by applicant]
US 7991156B1 · Miller · 2011 [cited by applicant]
US 8001471B2 · Shaver et al. · 2011 [cited by applicant]
US 8010810B1 · Fitzgerald et al. · 2011 [cited by applicant]
US 8015491B2 · Shaver et al. · 2011 [cited by applicant]
US 8023562B2 · Zheludkov et al. · 2011 [cited by applicant]
US 8046453B2 · Olaiya · 2011 [cited by applicant]
US 8054880B2 · Yu et al. · 2011 [cited by applicant]
US 8065708B1 · Smyth et al. · 2011 [cited by applicant]
US 8069260B2 · Speicher et al. · 2011 [cited by applicant]
US 8073900B2 · Guedalia et al. · 2011 [cited by applicant]
US 8074083B1 · Lee et al. · 2011 [cited by applicant]
US 8078644B2 · Hannuksela · 2011 [cited by applicant]
US 8082442B2 · Keljo et al. · 2011 [cited by applicant]
US 8131875B1 · Chen · 2012 [cited by applicant]
US 8135041B2 · Ramaswamy · 2012 [cited by applicant]
US 8160157B2 · Lamy-Bergot et al. · 2012 [cited by applicant]
US 8169916B1 · Pai et al. · 2012 [cited by applicant]
US 8170210B2 · Manders et al. · 2012 [cited by applicant]
US 8190674B2 · Narayanan et al. · 2012 [cited by applicant]
US 8195714B2 · Mckibben et al. · 2012 [cited by applicant]
US 8201264B2 · Grab et al. · 2012 [cited by applicant]
US 8213607B2 · Rose et al. · 2012 [cited by applicant]
US 8213768B2 · Morioka et al. · 2012 [cited by applicant]
US 8218439B2 · Deshpande · 2012 [cited by applicant]
US 8225061B2 · Greenebaum · 2012 [cited by applicant]
US 8233768B2 · Soroushian et al. · 2012 [cited by applicant]
US 8243924B2 · Chen et al. · 2012 [cited by applicant]
US 8245124B1 · Gupta · 2012 [cited by applicant]
US 8249168B2 · Graves · 2012 [cited by applicant]
US 8261356B2 · Choi et al. · 2012 [cited by applicant]
US 8265168B1 · Masterson et al. · 2012 [cited by applicant]
US 8270473B2 · Chen et al. · 2012 [cited by applicant]
US 8270819B2 · Vannier · 2012 [cited by applicant]
US 8275871B2 · Ram et al. · 2012 [cited by applicant]
US 8286213B2 · Seo · 2012 [cited by applicant]
US 8286621B2 · Halmone · 2012 [cited by applicant]
US 8289338B2 · Priyadarshi et al. · 2012 [cited by applicant]
US 8290157B2 · Candelore · 2012 [cited by applicant]
US 8291460B1 · Peacock · 2012 [cited by applicant]
US 8296434B1 · Miller et al. · 2012 [cited by applicant]
US 8311094B2 · Kamariotis et al. · 2012 [cited by applicant]
US 8311111B2 · Xu et al. · 2012 [cited by applicant]
US 8311115B2 · Gu et al. · 2012 [cited by applicant]
US 8312079B2 · Newsome et al. · 2012 [cited by applicant]
US 8321556B1 · Chatterjee et al. · 2012 [cited by applicant]
US 8325800B2 · Holcomb et al. · 2012 [cited by applicant]
US 8327009B2 · Prestenback et al. · 2012 [cited by applicant]
US 8341715B2 · Sherkin et al. · 2012 [cited by applicant]
US 8346753B2 · Hayes · 2013 [cited by applicant]
US 8365235B2 · Hunt et al. · 2013 [cited by applicant]
US 8369421B2 · Kadono et al. · 2013 [cited by applicant]
US 8380041B2 · Barton et al. · 2013 [cited by applicant]
US 8386621B2 · Park · 2013 [cited by applicant]
US 8396114B2 · Gu et al. · 2013 [cited by applicant]
US 8397265B2 · Henocq et al. · 2013 [cited by applicant]
US 8401188B1 · Swaminathan · 2013 [cited by applicant]
US 8401900B2 · Cansler · 2013 [cited by examiner]
US 8407753B2 · Kuo · 2013 [cited by applicant]
US 8412841B1 · Swaminathan et al. · 2013 [cited by applicant]
US 8423889B1 · Zagorie et al. · 2013 [cited by applicant]
US 8452110B2 · Shoham et al. · 2013 [cited by applicant]
US 8456380B2 · Pagan · 2013 [cited by applicant]
US 8464066B1 · Price et al. · 2013 [cited by applicant]
US 8472792B2 · Butt · 2013 [cited by applicant]
US 8473630B1 · Galligan · 2013 [cited by applicant]
US 8484368B2 · Robert et al. · 2013 [cited by applicant]
US 8510303B2 · Soroushian et al. · 2013 [cited by applicant]
US 8510404B2 · Carmel et al. · 2013 [cited by applicant]
US 8514926B2 · Ro et al. · 2013 [cited by applicant]
US 8515265B2 · Kwon et al. · 2013 [cited by applicant]
US 8516529B2 · Lajoie et al. · 2013 [cited by applicant]
US 8526610B2 · Shamoon et al. · 2013 [cited by applicant]
US 8527645B1 · Proffit et al. · 2013 [cited by applicant]