Use of objective quality measures of streamed content to reduce streaming bandwidth

Shivadas , et al. September 28, 2

Patent Grant RE48761

U.S. patent number RE48,761 [Application Number 15/950,950] was granted by the patent office on 2021-09-28 for use of objective quality measures of streamed content to reduce streaming bandwidth. This patent grant is currently assigned to DIVX, LLC. The grantee listed for this patent is DIVX, LLC. Invention is credited to William David Amidei, Abhishek Shivadas.


United States Patent RE48,761
Shivadas ,   et al. September 28, 2021

Use of objective quality measures of streamed content to reduce streaming bandwidth

Abstract

A method includes encoding video at a first bitrate to produce first encoded sections, and at a second bitrate that is less than the first bitrate to produce second encoded sections. The method further includes measuring levels of objective quality, indicative of perceptual quality, of the first and second encoded sections. The method includes determining, based on the measured objective quality levels, replaceable sections among the first encoded sections, and replacement sections among the second encoded sections, each of the replacement sections to replace a corresponding one of the replaceable sections. the method includes streaming the first encoded sections except for the replaceable sections, and the replacement sections instead of their corresponding replaceable sections.


Inventors: Shivadas; Abhishek (San Diego, CA), Amidei; William David (San Diego, CA)
Applicant:
Name City State Country Type

DIVX, LLC

San Diego

CA

US
Assignee: DIVX, LLC (San Diego, CA)
Family ID: 1000005665091
Appl. No.: 15/950,950
Filed: April 11, 2018

Related U.S. Patent Documents

Application Number Filing Date Patent Number Issue Date
Reissue of: 13731949 Dec 31, 2012 9313510 Apr 12, 2016

Current U.S. Class: 1/1
Current CPC Class: H04N 19/177 (20141101); H04N 19/46 (20141101); H04N 19/154 (20141101); H04N 19/102 (20141101); H04N 19/164 (20141101)
Current International Class: H04N 19/102 (20140101); H04N 19/46 (20140101); H04N 19/154 (20140101); H04N 19/164 (20140101); H04N 19/177 (20140101)

References Cited [Referenced By]

U.S. Patent Documents
4009331 February 1977 Goldmark et al.
4694357 September 1987 Rahman et al.
4802170 January 1989 Trottier
4964069 October 1990 Ely
5119474 June 1992 Beitel et al.
5274758 December 1993 Beitel et al.
5361332 November 1994 Yoshida et al.
5396497 March 1995 Veltman
5400401 March 1995 Wasilewski et al.
5404436 April 1995 Hamilton
5420801 May 1995 Dockter et al.
5420974 May 1995 Morris et al.
5471576 November 1995 Yee
5479303 December 1995 Suzuki et al.
5487167 January 1996 Dinallo et al.
5502766 March 1996 Boebert et al.
5509070 April 1996 Schull
5533021 July 1996 Branstad et al.
5537408 July 1996 Branstad et al.
5539908 July 1996 Chen et al.
5541662 July 1996 Adams et al.
5574785 November 1996 Ueno et al.
5583652 December 1996 Ware
5589993 December 1996 Naimpally et al.
5600721 February 1997 Kitazato
5621794 April 1997 Matsuda et al.
5627936 May 1997 Prasad
5633472 May 1997 DeWitt et al.
5642171 June 1997 Baumgartner et al.
5642338 June 1997 Fukushima et al.
5655117 August 1997 Goldberg et al.
5664044 September 1997 Ware
5675382 October 1997 Bauchspies
5675511 October 1997 Prasad et al.
5684542 November 1997 Tsukagoshi
5715403 February 1998 Stefik
5717816 February 1998 Boyce et al.
5719786 February 1998 Nelson et al.
5745643 April 1998 Mishina
5751280 May 1998 Abbott
5751358 May 1998 Suzuki et al.
5754648 May 1998 Ryan et al.
5757968 May 1998 Ando
5763800 June 1998 Rossum et al.
5765164 June 1998 Prasad et al.
5794018 August 1998 Vrvilo et al.
5805700 September 1998 Nardone et al.
5813010 September 1998 Kurano et al.
5822524 October 1998 Chen et al.
5828370 October 1998 Moeller et al.
5841432 November 1998 Carmel et al.
5844575 December 1998 Reid
5848217 December 1998 Tsukagoshi et al.
5854873 December 1998 Mori et al.
5867625 February 1999 McLaren
5887110 March 1999 Sakamoto et al.
5892900 April 1999 Ginter et al.
5903261 May 1999 Walsh et al.
5907597 May 1999 Mark
5907658 May 1999 Murase et al.
5923869 July 1999 Kashiwagi et al.
5946446 August 1999 Yanagihara
5956729 September 1999 Goetz et al.
5959690 September 1999 Toebes, VIII et al.
5970147 October 1999 Davis
5999812 December 1999 Himsworth
6002834 December 1999 Hirabayashi et al.
6009237 December 1999 Hirabayashi et al.
6016381 January 2000 Taira et al.
6031622 February 2000 Ristow et al.
6038257 March 2000 Brusewitz et al.
6044469 March 2000 Horstmann
6046778 April 2000 Nonomura et al.
6047100 April 2000 McLaren
6057832 May 2000 Lev et al.
6058240 May 2000 McLaren
6064794 May 2000 McLaren et al.
6065050 May 2000 DeMoney
6018611 June 2000 Nogami et al.
6079566 June 2000 Eleftheriadis et al.
6097877 August 2000 Katayama et al.
6141754 October 2000 Choy
6155840 December 2000 Sallette
6169242 January 2001 Fay et al.
6175921 January 2001 Rosen
6192075 February 2001 Jeng et al.
6195388 February 2001 Choi et al.
6204883 March 2001 Tsukagoshi
6222981 April 2001 Rijckaert
6266483 July 2001 Okada et al.
6282320 August 2001 Hasegawa et al.
6282653 August 2001 Berstis et al.
6289450 September 2001 Pensak et al.
6292621 September 2001 Tanaka et al.
6308005 October 2001 Ando et al.
6320905 November 2001 Konstantinides
6330286 December 2001 Lyons et al.
6351538 February 2002 Uz
6373803 April 2002 Ando et al.
6374144 April 2002 Viviani et al.
6389218 May 2002 Gordon et al.
6389473 May 2002 Carmel et al.
6395969 May 2002 Fuhrer
6397230 May 2002 Carmel et al.
6415031 July 2002 Colligan et al.
6418270 July 2002 Steenhof et al.
6441754 August 2002 Wang et al.
6445877 September 2002 Okada et al.
6449719 September 2002 Baker
6453115 September 2002 Boyle
6453116 September 2002 Ando et al.
6466671 October 2002 Maillard et al.
6466733 October 2002 Kim
6504873 January 2003 Vehvilaeinen
6510513 January 2003 Danieli
6510554 January 2003 Gordon et al.
6512883 January 2003 Shim et al.
6532262 March 2003 Fukuda et al.
6587506 July 2003 Noridomi et al.
6594699 July 2003 Sahai et al.
6621979 September 2003 Eerenberg et al.
6625320 September 2003 Nilsson et al.
6642967 November 2003 Saunders
6654933 November 2003 Abbott et al.
6658056 December 2003 Duruoz et al.
6665835 December 2003 Gutfreund et al.
6671408 December 2003 Kaku
6690838 February 2004 Zhou
6697568 February 2004 Kaku
6724944 April 2004 Kalevo et al.
6725281 April 2004 Zintel et al.
6751623 June 2004 Basso et al.
6771703 August 2004 Oguz et al.
6807306 October 2004 Girgensohn et al.
6810031 October 2004 Hegde et al.
6810389 October 2004 Meyer
6813437 November 2004 Ando et al.
6819394 November 2004 Nomura et al.
6850252 February 2005 Hoffberg
6856997 February 2005 Lee et al.
6859496 February 2005 Boroczky et al.
6871006 March 2005 Oguz et al.
6912253 June 2005 Li et al.
6912513 June 2005 Candelore
6917652 July 2005 Lyu
6931531 August 2005 Takahashi
6944621 September 2005 Collart
6944629 September 2005 Shioi et al.
6956901 October 2005 Boroczky et al.
6957350 October 2005 Demos
6965724 November 2005 Boccon-Gibod et al.
6965993 November 2005 Baker
6970564 November 2005 Kubota et al.
6983079 January 2006 Kim
6985588 January 2006 Glick et al.
6988144 January 2006 Luken et al.
7006757 February 2006 Ando et al.
7007170 February 2006 Morten
7020287 March 2006 Unger
7023924 April 2006 Keller et al.
7043473 May 2006 Rassool et al.
7103906 September 2006 Katz et al.
7127155 October 2006 Ando et al.
7150045 December 2006 Koelle et al.
7151832 December 2006 Fetkovich et al.
7151833 December 2006 Candelore et al.
7165175 January 2007 Kollmyer et al.
7185363 February 2007 Narin et al.
7188183 March 2007 Paul et al.
7197234 March 2007 Chatterton
7206940 April 2007 Evans et al.
7209892 April 2007 Galuten et al.
7212726 May 2007 Zetts
7231132 June 2007 Davenport
7237061 June 2007 Boic
7242772 July 2007 Tehranchi
7243346 July 2007 Seth et al.
7274861 September 2007 Yahata et al.
7295673 November 2007 Grab et al.
7328345 February 2008 Morten et al.
7330875 February 2008 Parasnis et al.
7340528 March 2008 Noblecourt et al.
7349886 March 2008 Morten et al.
7352956 April 2008 Winter et al.
7356143 April 2008 Morten
7356245 April 2008 Belknap et al.
7366788 April 2008 Jones et al.
7376831 May 2008 Kollmyer et al.
7382879 June 2008 Miller
7397853 July 2008 Kwon et al.
7400679 July 2008 Kwon et al.
7406174 July 2008 Palmer
7418132 August 2008 Hoshuyama
7421411 September 2008 Kontio et al.
7454780 November 2008 Katsube et al.
7457359 November 2008 Mabey et al.
7457415 November 2008 Reitmeier et al.
7472280 December 2008 Giobbi
7478325 January 2009 Foehr
7484103 January 2009 Woo et al.
7493018 February 2009 Kim
7499930 March 2009 Naka et al.
7499938 March 2009 Collart
7515710 April 2009 Russell et al.
7526450 April 2009 Hughes et al.
7546641 June 2009 Robert et al.
7594271 September 2009 Zhuk et al.
7610365 October 2009 Kraft et al.
7639921 December 2009 Seo et al.
7640435 December 2009 Morten
7689510 March 2010 Lamkin et al.
7711052 May 2010 Hannuksela et al.
7720352 May 2010 Belknap et al.
7747853 June 2010 Candelore et al.
7761892 July 2010 Ellis et al.
7779097 August 2010 Lamkin et al.
7788271 August 2010 Soma et al.
7817608 October 2010 Rassool et al.
7853980 December 2010 Pedlow, Jr. et al.
7864186 January 2011 Robotham et al.
7869691 January 2011 Kelly et al.
7882034 February 2011 Hug et al.
7913277 March 2011 Rahrer
7945143 May 2011 Yahata et al.
7949703 May 2011 Matsuzaki et al.
7962942 June 2011 Craner
7974714 July 2011 Hoffberg
7991156 August 2011 Miller
8023562 September 2011 Zheludkov et al.
8046453 October 2011 Olaiya
8054880 November 2011 Yu et al.
8065708 November 2011 Smyth et al.
8069260 November 2011 Speicher et al.
8082442 December 2011 Keljo et al.
8131875 March 2012 Chen
8169916 May 2012 Pai et al.
8195714 June 2012 Mckibben et al.
8201264 June 2012 Grab et al.
8225061 July 2012 Greenebaum
8233768 July 2012 Soroushian et al.
8243924 August 2012 Chen et al.
8245124 August 2012 Gupta
8249168 August 2012 Graves
8261356 September 2012 Choi et al.
8265168 September 2012 Masterson et al.
8270473 September 2012 Chen et al.
8270819 September 2012 Vannier
8275871 September 2012 Ram et al.
8286213 October 2012 Seo
8289338 October 2012 Priyadarshi et al.
8291460 October 2012 Peacock
8296434 October 2012 Miller et al.
8311111 November 2012 Xu et al.
8311115 November 2012 Gu et al.
8312079 November 2012 Newsome et al.
8321556 November 2012 Chatterjee et al.
8325800 December 2012 Holcomb
8341715 December 2012 Sherkin et al.
8369421 February 2013 Kadono et al.
8386621 February 2013 Park
8396114 March 2013 Gu et al.
8401900 March 2013 Cansler et al.
8407753 March 2013 Kuo
8412841 April 2013 Swaminathan et al.
8423889 April 2013 Zagorie et al.
8452110 May 2013 Shoham et al.
8456380 June 2013 Pagan
8472792 June 2013 Butt
8473630 June 2013 Galligan
8510303 August 2013 Soroushian et al.
8510404 August 2013 Carmel et al.
8515265 August 2013 Kwon et al.
8516529 August 2013 Lajoie et al.
8527645 September 2013 Proffit et al.
8595378 November 2013 Cohn et al.
8606069 December 2013 Okubo et al.
8640166 January 2014 Craner et al.
8649669 February 2014 Braness et al.
8656183 February 2014 Russell et al.
8677428 March 2014 Lewis et al.
8681866 March 2014 Jia
8683066 March 2014 Hurst et al.
8689267 April 2014 Hunt
8726264 May 2014 Allen et al.
RE45052 July 2014 Li
8767825 July 2014 Wang et al.
8774609 July 2014 Drake et al.
8781122 July 2014 Chan et al.
8782268 July 2014 Pyle et al.
8805109 August 2014 Shoham et al.
8806188 August 2014 Braness et al.
8819116 August 2014 Tomay et al.
8832434 September 2014 Apostolopoulos et al.
8843586 September 2014 Pantos et al.
8849950 September 2014 Stockhammer et al.
8856218 October 2014 Inskip
8908984 December 2014 Shoham et al.
8909922 December 2014 Kiefer et al.
8914534 December 2014 Braness et al.
8914836 December 2014 Shivadas et al.
8918535 December 2014 Ma et al.
8918636 December 2014 Kiefer
8918908 December 2014 Ziskind et al.
8948249 February 2015 Sun et al.
8997161 March 2015 Priyadarshi et al.
8997254 March 2015 Amidei et al.
9014471 April 2015 Shoham et al.
9025659 May 2015 Soroushian et al.
9038116 May 2015 Knox et al.
9042670 May 2015 Carmel et al.
9060207 June 2015 Scherkus et al.
9094737 July 2015 Shivadas et al.
9098335 August 2015 Muthiah et al.
9124773 September 2015 Chan et al.
9125073 September 2015 Oyman et al.
9184920 November 2015 Grab et al.
9191457 November 2015 Van der Schaar
9197685 November 2015 Soroushian
9203816 December 2015 Brueck et al.
9210481 December 2015 Braness et al.
9215466 December 2015 Zhai et al.
9247311 January 2016 Kiefer
9247312 January 2016 Braness et al.
9247317 January 2016 Shivadas et al.
9253178 February 2016 Blom et al.
9264475 February 2016 Shivadas et al.
9294531 March 2016 Zhang et al.
9313510 April 2016 Shivadas et al.
9343112 May 2016 Amidei et al.
9344517 May 2016 Shivadas et al.
9344721 May 2016 Dikvall
9479805 October 2016 Rothschild et al.
9485546 November 2016 Chen et al.
9571827 February 2017 Su et al.
9584557 February 2017 Panje et al.
9584847 February 2017 Ma et al.
9621522 April 2017 Kiefer et al.
9706259 July 2017 Chan et al.
9712890 July 2017 Shivadas et al.
9798863 October 2017 Grab et al.
9813740 November 2017 Panje et al.
9866878 January 2018 van der Schaar et al.
9883204 January 2018 Braness et al.
9906785 February 2018 Naletov et al.
9967189 May 2018 Patel et al.
9967305 May 2018 Braness
10264255 April 2019 Naletov et al.
10368096 July 2019 Braness et al.
10382785 August 2019 Braness et al.
10715806 July 2020 Naletov et al.
2001/0021276 September 2001 Zhou
2001/0030710 October 2001 Werner
2001/0036355 November 2001 Kelly et al.
2001/0046299 November 2001 Wasilewski et al.
2001/0052077 December 2001 Fung et al.
2001/0052127 December 2001 Seo et al.
2001/0053222 December 2001 Wakao et al.
2001/0055337 December 2001 Matsuzaki et al.
2002/0026560 February 2002 Jordan et al.
2002/0034252 March 2002 Owen et al.
2002/0048450 April 2002 Zetts
2002/0051494 May 2002 Yamaguchi et al.
2002/0057739 May 2002 Hasebe et al.
2002/0057898 May 2002 Normile
2002/0062313 May 2002 Lee et al.
2002/0067432 June 2002 Kondo et al.
2002/0076112 June 2002 Devara
2002/0087569 July 2002 Fischer et al.
2002/0091665 July 2002 Beek et al.
2002/0093571 July 2002 Hyodo
2002/0110193 August 2002 Yoo et al.
2002/0116481 August 2002 Lee
2002/0118953 August 2002 Kim
2002/0120934 August 2002 Abrahams et al.
2002/0135607 September 2002 Kato et al.
2002/0136298 September 2002 Anantharamu et al.
2002/0141503 October 2002 Kobayashi et al.
2002/0143413 October 2002 Fay et al.
2002/0143547 October 2002 Fay et al.
2002/0147980 October 2002 Satoda
2002/0154779 October 2002 Asano et al.
2002/0159528 October 2002 Graziani et al.
2002/0159598 October 2002 Rubinstein et al.
2002/0161462 October 2002 Fay
2002/0164024 November 2002 Arakawa et al.
2002/0169971 November 2002 Asano et al.
2002/0180929 December 2002 Tseng et al.
2002/0184159 December 2002 Tadayon et al.
2002/0184515 December 2002 Oho et al.
2002/0191112 December 2002 Akiyoshi et al.
2002/0191959 December 2002 Lin et al.
2002/0191960 December 2002 Fujinami et al.
2003/0001964 January 2003 Masukura et al.
2003/0002577 January 2003 Pinder
2003/0002578 January 2003 Tsukagoshi et al.
2003/0005442 January 2003 Brodersen et al.
2003/0021296 January 2003 Wee et al.
2003/0031178 February 2003 Haeri
2003/0035488 February 2003 Barrau
2003/0035545 February 2003 Jiang
2003/0035546 February 2003 Jiang et al.
2003/0041257 February 2003 Wee et al.
2003/0044080 March 2003 Frishman et al.
2003/0053541 March 2003 Sun et al.
2003/0061305 March 2003 Copley et al.
2003/0061369 March 2003 Aksu et al.
2003/0063675 April 2003 Kang et al.
2003/0065777 April 2003 Mattila et al.
2003/0077071 April 2003 Lin et al.
2003/0078930 April 2003 Surcouf et al.
2003/0093799 May 2003 Kauffman et al.
2003/0123855 July 2003 Okada et al.
2003/0128296 July 2003 Lee
2003/0133506 July 2003 Haneda
2003/0135742 July 2003 Evans
2003/0142594 July 2003 Tsumagari et al.
2003/0152370 August 2003 Otomo et al.
2003/0163824 August 2003 Gordon et al.
2003/0165328 September 2003 Grecia
2003/0174844 September 2003 Candelore
2003/0185302 October 2003 Abrams
2003/0185542 October 2003 McVeigh et al.
2003/0206558 November 2003 Parkkinen et al.
2003/0206717 November 2003 Yogeshwar et al.
2003/0210821 November 2003 Yogeshwar et al.
2003/0216922 November 2003 Gonzales et al.
2003/0229900 December 2003 Reisman
2003/0231863 December 2003 Eerenberg et al.
2003/0231867 December 2003 Gates et al.
2003/0233464 December 2003 Walpole et al.
2003/0236836 December 2003 Borthwick
2003/0236907 December 2003 Stewart et al.
2004/0001594 January 2004 Krishnaswamy et al.
2004/0006701 January 2004 Kresina
2004/0021684 February 2004 Millner
2004/0022391 February 2004 Obrien
2004/0024688 February 2004 Bi et al.
2004/0025180 February 2004 Begeja et al.
2004/0028227 February 2004 Yu
2004/0031058 February 2004 Reisman
2004/0037421 February 2004 Truman
2004/0039916 February 2004 Aldis et al.
2004/0047592 March 2004 Seo et al.
2004/0047607 March 2004 Seo et al.
2004/0047614 March 2004 Green
2004/0052501 March 2004 Tam
2004/0071453 April 2004 Valderas
2004/0076237 April 2004 Kadono et al.
2004/0081333 April 2004 Grab et al.
2004/0081434 April 2004 Jung et al.
2004/0093494 May 2004 Nishimoto et al.
2004/0093618 May 2004 Baldwin et al.
2004/0101059 May 2004 Joch et al.
2004/0105549 June 2004 Suzuki et al.
2004/0107356 June 2004 Shamoon et al.
2004/0114687 June 2004 Ferris et al.
2004/0117347 June 2004 Seo et al.
2004/0136698 July 2004 Mock
2004/0139335 July 2004 Diamand et al.
2004/0143760 July 2004 Alkove et al.
2004/0146276 July 2004 Ogawa
2004/0158878 August 2004 Ratnakar et al.
2004/0184534 September 2004 Wang
2004/0184616 September 2004 Morten et al.
2004/0202320 October 2004 Amini et al.
2004/0217971 November 2004 Kim
2004/0255115 December 2004 DeMello et al.
2004/0255236 December 2004 Collart
2005/0004875 January 2005 Kontio et al.
2005/0005025 January 2005 Harville et al.
2005/0013494 January 2005 Srinivasan et al.
2005/0015797 January 2005 Noblecourt et al.
2005/0038826 February 2005 Bae et al.
2005/0055399 March 2005 Savchuk
2005/0063541 March 2005 Candelore
2005/0071280 March 2005 Irwin et al.
2005/0076232 April 2005 Kawaguchi
2005/0108320 May 2005 Lord et al.
2005/0114534 May 2005 Lee
2005/0114896 May 2005 Hug
2005/0144468 June 2005 Northcutt
2005/0149450 July 2005 Stefik et al.
2005/0177741 August 2005 Chen et al.
2005/0180641 August 2005 Clark
2005/0183120 August 2005 Jain et al.
2005/0193070 September 2005 Brown et al.
2005/0193322 September 2005 Lamkin et al.
2005/0196147 September 2005 Seo et al.
2005/0204289 September 2005 Mohammed et al.
2005/0207442 September 2005 Zoest et al.
2005/0207578 September 2005 Matsuyama et al.
2005/0243912 November 2005 Kwon et al.
2005/0254508 November 2005 Aksu et al.
2005/0265555 December 2005 Pippuri
2005/0273695 December 2005 Schnurr
2005/0275656 December 2005 Corbin et al.
2006/0013568 January 2006 Rodriguez
2006/0015580 January 2006 Gabriel et al.
2006/0026294 February 2006 Virdi et al.
2006/0026302 February 2006 Bennett et al.
2006/0036549 February 2006 Wu
2006/0037057 February 2006 Xu
2006/0052095 March 2006 Vazvan
2006/0053080 March 2006 Edmonson et al.
2006/0064605 March 2006 Giobbi
2006/0078301 April 2006 Ikeda et al.
2006/0093320 May 2006 Hallberg et al.
2006/0120378 June 2006 Usuki et al.
2006/0129909 June 2006 Butt et al.
2006/0165163 July 2006 Burazerovic et al.
2006/0168639 July 2006 Gan et al.
2006/0173887 August 2006 Breitfeld et al.
2006/0179239 August 2006 Fluhr
2006/0181965 August 2006 Collart
2006/0235880 October 2006 Qian
2006/0245727 November 2006 Nakano et al.
2006/0259588 November 2006 Lerman et al.
2006/0263056 November 2006 Lin et al.
2006/0267986 November 2006 Bae
2006/0274835 December 2006 Hamilton et al.
2006/0294164 December 2006 Armangau et al.
2007/0005333 January 2007 Setiohardjo et al.
2007/0031110 February 2007 Rijckaert
2007/0033419 February 2007 Kocher et al.
2007/0044010 February 2007 Sull et al.
2007/0047645 March 2007 Takashima
2007/0047901 March 2007 Ando et al.
2007/0053513 March 2007 Hoffberg
2007/0058928 March 2007 Naito et al.
2007/0067472 March 2007 Maertens et al.
2007/0083467 April 2007 Lindahl et al.
2007/0083617 April 2007 Chakrabarti et al.
2007/0086528 April 2007 Mauchly et al.
2007/0100757 May 2007 Rhoads
2007/0133603 June 2007 Weaver
2007/0136817 June 2007 Nguyen
2007/0140647 June 2007 Kusunoki et al.
2007/0154165 July 2007 Hemmeryckx-Deleersnijder et al.
2007/0168541 July 2007 Gupta et al.
2007/0168542 July 2007 Gupta et al.
2007/0178933 August 2007 Nelson
2007/0180051 August 2007 Kelly et al.
2007/0180125 August 2007 Knowles et al.
2007/0185982 August 2007 Nakanowatari et al.
2007/0192810 August 2007 Pritchett et al.
2007/0217339 September 2007 Zhao
2007/0217759 September 2007 Dodd
2007/0234391 October 2007 Hunter et al.
2007/0239839 October 2007 Buday et al.
2007/0255940 November 2007 Ueno
2007/0271317 November 2007 Carmel
2007/0271385 November 2007 Davis et al.
2007/0274679 November 2007 Yahata et al.
2007/0277219 November 2007 Toebes et al.
2007/0277234 November 2007 Bessonov et al.
2007/0280298 December 2007 Hearn et al.
2007/0288745 December 2007 Kwan
2007/0292107 December 2007 Yahata et al.
2007/0297422 December 2007 Matsuo et al.
2008/0005175 January 2008 Bourke et al.
2008/0008455 January 2008 De Lange et al.
2008/0043832 February 2008 Barkley et al.
2008/0046718 February 2008 Grab et al.
2008/0066099 March 2008 Brodersen et al.
2008/0066181 March 2008 Haveson et al.
2008/0077592 March 2008 Brodie et al.
2008/0086456 April 2008 Rasanen et al.
2008/0086570 April 2008 Dey et al.
2008/0086747 April 2008 Rasanen et al.
2008/0101466 May 2008 Swenson et al.
2008/0101718 May 2008 Yang et al.
2008/0104633 May 2008 Noblecourt et al.
2008/0120330 May 2008 Reed et al.
2008/0120342 May 2008 Reed et al.
2008/0120389 May 2008 Bassali et al.
2008/0126248 May 2008 Lee et al.
2008/0131078 June 2008 Jeong et al.
2008/0137541 June 2008 Agarwal et al.
2008/0137736 June 2008 Richardson et al.
2008/0137847 June 2008 Candelore et al.
2008/0151817 June 2008 Fitchett
2008/0172441 July 2008 Speicher et al.
2008/0187283 August 2008 Takahashi
2008/0192818 August 2008 DiPietro et al.
2008/0195664 August 2008 Maharajh et al.
2008/0195744 August 2008 Bowra et al.
2008/0201705 August 2008 Wookey
2008/0205860 August 2008 Holtman
2008/0209534 August 2008 Keronen et al.
2008/0240144 October 2008 Kruse et al.
2008/0256105 October 2008 Nogawa et al.
2008/0263354 October 2008 Beuque
2008/0279535 November 2008 Haque et al.
2008/0294453 November 2008 Baird-Smith et al.
2008/0298358 December 2008 John et al.
2008/0310454 December 2008 Bellwood et al.
2008/0310496 December 2008 Fang
2009/0010622 January 2009 Yahata et al.
2009/0013195 January 2009 Ochi et al.
2009/0031220 January 2009 Tranchant et al.
2009/0037959 February 2009 Suh et al.
2009/0048852 February 2009 Burns et al.
2009/0055546 February 2009 Jung et al.
2009/0060452 March 2009 Chaudhri
2009/0064341 March 2009 Hartung et al.
2009/0066839 March 2009 Jung et al.
2009/0077143 March 2009 Macy, Jr.
2009/0097644 April 2009 Haruki
2009/0106082 April 2009 Senti et al.
2009/0132599 May 2009 Soroushian et al.
2009/0132721 May 2009 Soroushian et al.
2009/0132824 May 2009 Terada et al.
2009/0136216 May 2009 Soroushian et al.
2009/0150557 June 2009 Wormley et al.
2009/0165148 June 2009 Frey et al.
2009/0168795 July 2009 Segel et al.
2009/0169181 July 2009 Priyadarshi et al.
2009/0172201 July 2009 Carmel et al.
2009/0178090 July 2009 Oztaskent
2009/0196139 August 2009 Bates et al.
2009/0201988 August 2009 Gazier et al.
2009/0217317 August 2009 White et al.
2009/0226148 September 2009 Nesvadba et al.
2009/0228395 September 2009 Wegner et al.
2009/0249081 October 2009 Zayas
2009/0265737 October 2009 Issa et al.
2009/0276636 November 2009 Grab et al.
2009/0282162 November 2009 Mehrotra et al.
2009/0290706 November 2009 Amini et al.
2009/0290708 November 2009 Schneider et al.
2009/0293116 November 2009 DeMello
2009/0303241 December 2009 Priyadarshi et al.
2009/0307258 December 2009 Priyadarshi et al.
2009/0307267 December 2009 Chen et al.
2009/0310819 December 2009 Hatano
2009/0310933 December 2009 Lee
2009/0313544 December 2009 Wood et al.
2009/0313564 December 2009 Rottler et al.
2009/0316783 December 2009 Au et al.
2009/0328124 December 2009 Khouzam et al.
2009/0328228 December 2009 Schnell
2010/0040351 February 2010 Toma et al.
2010/0057928 March 2010 Kapoor et al.
2010/0058405 March 2010 Ramakrishnan et al.
2010/0074324 March 2010 Qian et al.
2010/0074333 March 2010 Au et al.
2010/0083322 April 2010 Rouse
2010/0094969 April 2010 Zuckerman et al.
2010/0095121 April 2010 Shetty et al.
2010/0106968 April 2010 Mori et al.
2010/0107260 April 2010 Orrell et al.
2010/0111192 May 2010 Graves
2010/0138903 June 2010 Medvinsky
2010/0142915 June 2010 Mcdermott et al.
2010/0142917 June 2010 Isaji
2010/0158109 June 2010 Dahlby et al.
2010/0161825 June 2010 Ronca et al.
2010/0166060 July 2010 Ezure et al.
2010/0186092 July 2010 Takechi et al.
2010/0189183 July 2010 Gu et al.
2010/0218208 August 2010 Holden
2010/0228795 September 2010 Hahn
2010/0235472 September 2010 Sood et al.
2010/0250532 September 2010 Soroushian et al.
2010/0290761 November 2010 Drake et al.
2010/0299522 November 2010 Khambete et al.
2010/0306249 December 2010 Hill et al.
2010/0313225 December 2010 Cholas et al.
2010/0313226 December 2010 Cholas et al.
2010/0316126 December 2010 Chen
2010/0319014 December 2010 Lockett et al.
2010/0319017 December 2010 Cook
2010/0332595 December 2010 Fullagar et al.
2011/0002381 January 2011 Yang et al.
2011/0010466 January 2011 Fan et al.
2011/0016225 January 2011 Park et al.
2011/0047209 February 2011 Lindholm et al.
2011/0055585 March 2011 Lee
2011/0058675 March 2011 Brueck et al.
2011/0060808 March 2011 Martin et al.
2011/0066673 March 2011 Outlaw
2011/0067057 March 2011 Karaoguz et al.
2011/0078440 March 2011 Feng et al.
2011/0080940 April 2011 Bocharov
2011/0082924 April 2011 Gopalakrishnan
2011/0096828 April 2011 Chen et al.
2011/0103374 May 2011 Lajoie et al.
2011/0107379 May 2011 Lajoie et al.
2011/0116772 May 2011 Kwon et al.
2011/0126191 May 2011 Hughes et al.
2011/0129011 June 2011 Cilli et al.
2011/0135090 June 2011 Chan et al.
2011/0138018 June 2011 Raveendran et al.
2011/0142415 June 2011 Rhyu
2011/0145726 June 2011 Wei et al.
2011/0145858 June 2011 Philpott et al.
2011/0149753 June 2011 Bapst et al.
2011/0150100 June 2011 Abadir
2011/0153785 June 2011 Minborg et al.
2011/0153835 June 2011 Rimac et al.
2011/0173345 July 2011 Knox et al.
2011/0179185 July 2011 Wang et al.
2011/0184738 July 2011 Kalisky et al.
2011/0191439 August 2011 Dazzi et al.
2011/0191803 August 2011 Baldwin et al.
2011/0197237 August 2011 Turner
2011/0197261 August 2011 Dong et al.
2011/0197267 August 2011 Gravel et al.
2011/0213827 September 2011 Kaspar et al.
2011/0222786 September 2011 Carmel et al.
2011/0225302 September 2011 Park et al.
2011/0225315 September 2011 Wexler et al.
2011/0225417 September 2011 Maharajh et al.
2011/0239078 September 2011 Luby et al.
2011/0246657 October 2011 Glow
2011/0246659 October 2011 Bouazizi
2011/0246661 October 2011 Manzari et al.
2011/0252118 October 2011 Pantos et al.
2011/0264530 October 2011 Santangelo et al.
2011/0268178 November 2011 Park
2011/0276695 November 2011 Maldaner et al.
2011/0283012 November 2011 Melnyk
2011/0291723 December 2011 Hashimoto
2011/0296048 December 2011 Knox et al.
2011/0302319 December 2011 Ha et al.
2011/0305273 December 2011 He et al.
2011/0314130 December 2011 Strasman
2011/0314176 December 2011 Frojdh et al.
2011/0314500 December 2011 Gordon et al.
2012/0005312 January 2012 Mcgowan et al.
2012/0005368 January 2012 Knittle
2012/0017282 January 2012 Kang et al.
2012/0023251 January 2012 Pyle et al.
2012/0036365 February 2012 Kyslov et al.
2012/0036544 February 2012 Chen et al.
2012/0042090 February 2012 Chen et al.
2012/0047542 February 2012 Lewis et al.
2012/0066360 March 2012 Ghosh
2012/0093214 April 2012 Urbach
2012/0110120 May 2012 Willig et al.
2012/0114302 May 2012 Randall
2012/0124191 May 2012 Lyon
2012/0137336 May 2012 Applegate et al.
2012/0144117 June 2012 Weare et al.
2012/0144445 June 2012 Bonta et al.
2012/0147958 June 2012 Ronca et al.
2012/0166633 June 2012 Baumback et al.
2012/0167132 June 2012 Mathews et al.
2012/0170642 July 2012 Braness et al.
2012/0170643 July 2012 Soroushian et al.
2012/0170906 July 2012 Soroushian et al.
2012/0170915 July 2012 Braness et al.
2012/0173751 July 2012 Braness et al.
2012/0177101 July 2012 van der Schaar
2012/0179834 July 2012 Van Der et al.
2012/0201475 August 2012 Carmel et al.
2012/0201476 August 2012 Carmel et al.
2012/0233345 September 2012 Hannuksela
2012/0240176 September 2012 Ma et al.
2012/0254455 October 2012 Adimatyam et al.
2012/0257678 October 2012 Zhou et al.
2012/0260277 October 2012 Kosciewicz
2012/0263434 October 2012 Wainner et al.
2012/0265562 October 2012 Daouk et al.
2012/0278496 November 2012 Hsu
2012/0289147 November 2012 Raleigh et al.
2012/0294355 November 2012 Holcomb et al.
2012/0297039 November 2012 Acuna et al.
2012/0307883 December 2012 Graves
2012/0311094 December 2012 Biderman et al.
2012/0311174 December 2012 Bichot et al.
2012/0314778 December 2012 Salustri et al.
2012/0317235 December 2012 Nguyen et al.
2012/0331167 December 2012 Hunt
2013/0007223 January 2013 Luby et al.
2013/0013730 January 2013 Li et al.
2013/0013803 January 2013 Bichot et al.
2013/0019107 January 2013 Grab et al.
2013/0019273 January 2013 Ma et al.
2013/0041808 February 2013 Pham et al.
2013/0044821 February 2013 Braness et al.
2013/0046849 February 2013 Wolf
2013/0046902 February 2013 Villegas Nunez et al.
2013/0051554 February 2013 Braness et al.
2013/0054958 February 2013 Braness et al.
2013/0055084 February 2013 Soroushian et al.
2013/0058480 March 2013 Ziskind et al.
2013/0061040 March 2013 Kiefer et al.
2013/0061045 March 2013 Kiefer et al.
2013/0064466 March 2013 Carmel et al.
2013/0066838 March 2013 Singla et al.
2013/0080267 March 2013 McGowan
2013/0094565 April 2013 Yang et al.
2013/0097309 April 2013 Ma et al.
2013/0114944 May 2013 Soroushian et al.
2013/0124859 May 2013 Pestoni et al.
2013/0128962 May 2013 Rajagopalan et al.
2013/0152767 June 2013 Katz et al.
2013/0166580 June 2013 Maharajh
2013/0166765 June 2013 Kaufman
2013/0166906 June 2013 Swaminathan et al.
2013/0170561 July 2013 Hannuksela
2013/0170764 July 2013 Carmel et al.
2013/0173513 July 2013 Chu et al.
2013/0179199 July 2013 Ziskind et al.
2013/0179589 July 2013 McCarthy
2013/0179992 July 2013 Ziskind et al.
2013/0182952 July 2013 Carmel et al.
2013/0196292 August 2013 Brennen et al.
2013/0212228 August 2013 Butler et al.
2013/0223812 August 2013 Rossi
2013/0226578 August 2013 Bolton et al.
2013/0226635 August 2013 Fisher
2013/0227081 August 2013 Luby et al.
2013/0227122 August 2013 Gao
2013/0301424 November 2013 Kotecha et al.
2013/0311670 November 2013 Tarbox et al.
2013/0329781 December 2013 Su et al.
2014/0003516 January 2014 Soroushian
2014/0019593 January 2014 Reznik et al.
2014/0037620 February 2014 Ferree et al.
2014/0052823 February 2014 Gavade et al.
2014/0059156 February 2014 Freeman, II et al.
2014/0096171 April 2014 Shivadas et al.
2014/0101722 April 2014 Moore
2014/0115650 April 2014 Zhang et al.
2014/0119432 May 2014 Wang et al.
2014/0140253 May 2014 Lohmar et al.
2014/0140396 May 2014 Wang et al.
2014/0140417 May 2014 Shaffer et al.
2014/0143301 May 2014 Watson et al.
2014/0143431 May 2014 Watson et al.
2014/0143440 May 2014 Ramamurthy et al.
2014/0149557 May 2014 Lohmar et al.
2014/0177734 June 2014 Carmel et al.
2014/0189065 July 2014 Schaar et al.
2014/0201382 July 2014 Shivadas et al.
2014/0211840 July 2014 Butt et al.
2014/0211859 July 2014 Carmel et al.
2014/0241420 August 2014 Orton-jay et al.
2014/0241421 August 2014 Orton-jay et al.
2014/0247869 September 2014 Su et al.
2014/0250473 September 2014 Braness et al.
2014/0258714 September 2014 Grab
2014/0269927 September 2014 Naletov et al.
2014/0269936 September 2014 Shivadas et al.
2014/0280763 September 2014 Grab et al.
2014/0297804 October 2014 Shivadas et al.
2014/0297881 October 2014 Shivadas et al.
2014/0355668 December 2014 Shoham et al.
2014/0359678 December 2014 Shivadas et al.
2014/0359679 December 2014 Shivadas et al.
2014/0359680 December 2014 Shivadas et al.
2014/0376720 December 2014 Chan et al.
2015/0006662 January 2015 Braness
2015/0026677 January 2015 Stevens et al.
2015/0049957 February 2015 Carmel et al.
2015/0063693 March 2015 Carmel et al.
2015/0067715 March 2015 Koat et al.
2015/0104153 April 2015 Braness et al.
2015/0117836 April 2015 Amidei et al.
2015/0117837 April 2015 Amidei et al.
2015/0139419 May 2015 Kiefer et al.
2015/0188758 July 2015 Amidei et al.
2015/0188842 July 2015 Amidei et al.
2015/0188921 July 2015 Amidei et al.
2015/0189017 July 2015 Amidei et al.
2015/0189373 July 2015 Amidei et al.
2015/0288530 October 2015 Oyman
2015/0288996 October 2015 Van Der Schaar et al.
2015/0334435 November 2015 Shivadas et al.
2015/0373421 December 2015 Chan et al.
2016/0070890 March 2016 Grab et al.
2016/0112382 April 2016 Kiefer et al.
2016/0149981 May 2016 Shivadas et al.
2016/0219303 July 2016 Braness et al.
2017/0214947 July 2017 Kiefer et al.
2017/0280203 September 2017 Chan et al.
2018/0007451 January 2018 Shivadas et al.
2018/0060543 March 2018 Grab et al.
2018/0131980 May 2018 Van Der Schaar et al.
2018/0220153 August 2018 Braness et al.
2018/0262757 September 2018 Naletov et al.
2018/0332094 November 2018 Braness
2019/0045219 February 2019 Braness et al.
2019/0045220 February 2019 Braness et al.
2019/0268596 August 2019 Naletov et al.
2019/0356928 November 2019 Braness et al.
Foreign Patent Documents
2010203605 May 2015 AU
2237293 Jul 1997 CA
2823829 Jan 2019 CA
1169229 Dec 1997 CN
1221284 Jun 1999 CN
1723696 Jan 2006 CN
757484 Feb 1997 EP
813167 Dec 1997 EP
0936812 Aug 1999 EP
1056273 Nov 2000 EP
1187483 Mar 2002 EP
2004013823 Jan 2004 EP
1420580 May 2004 EP
1453319 Sep 2004 EP
2807821 Dec 2004 EP
1553779 Jul 2005 EP
1657835 May 2006 EP
1283640 Oct 2006 EP
1718074 Nov 2006 EP
2180664 Apr 2010 EP
2360923 Aug 2011 EP
2486517 Aug 2012 EP
2486727 Aug 2012 EP
2507995 Oct 2012 EP
2564354 Mar 2013 EP
2616991 Jul 2013 EP
2616991 Jul 2013 EP
2617192 Jul 2013 EP
2617192 Jul 2013 EP
2661696 Nov 2013 EP
2661875 Nov 2013 EP
2661895 Nov 2013 EP
2486727 Mar 2014 EP
2564354 Mar 2014 EP
2616991 Mar 2014 EP
2617192 Mar 2014 EP
2716048 Apr 2014 EP
2721826 Apr 2014 EP
2486517 Jun 2014 EP
2486517 Jun 2014 EP
2751990 Jul 2014 EP
2751990 Jul 2014 EP
2807821 Dec 2014 EP
2751990 Apr 2015 EP
2661696 May 2020 EP
1125765 Aug 2009 HK
08046902 Feb 1996 JP
08111842 Apr 1996 JP
08163488 Jun 1996 JP
08287613 Nov 1996 JP
09037225 Feb 1997 JP
11164307 Jun 1999 JP
11275576 Oct 1999 JP
11328929 Nov 1999 JP
2000201343 Jul 2000 JP
02001043668 Feb 2001 JP
2001209726 Aug 2001 JP
2001346165 Dec 2001 JP
2002164880 Jun 2002 JP
2002170363 Jun 2002 JP
2002518898 Jun 2002 JP
2002218384 Aug 2002 JP
2003179597 Jun 2003 JP
2003250113 Sep 2003 JP
2004013823 Jan 2004 JP
2004515941 May 2004 JP
2004172830 Jun 2004 JP
2004187161 Jul 2004 JP
2004234128 Aug 2004 JP
2004304767 Oct 2004 JP
2004328218 Nov 2004 JP
2005027153 Jan 2005 JP
2005504480 Feb 2005 JP
2005080204 Mar 2005 JP
2005286881 Oct 2005 JP
2006155500 Jun 2006 JP
2006521035 Sep 2006 JP
2006524007 Oct 2006 JP
2007036666 Feb 2007 JP
2007174375 Jul 2007 JP
2007235690 Sep 2007 JP
2007535881 Dec 2007 JP
2008235999 Oct 2008 JP
2009522887 Jun 2009 JP
2009530917 Aug 2009 JP
5200204 Jun 2013 JP
2014506430 Mar 2014 JP
5723888 May 2015 JP
6038805 Dec 2016 JP
6078574 Feb 2017 JP
2017063453 Mar 2017 JP
2018160923 Oct 2018 JP
6453291 Jan 2019 JP
6657313 Feb 2020 JP
202080551 May 2020 JP
100221423 Sep 1999 KR
2002013664 Feb 2002 KR
1020020064888 Aug 2002 KR
20040039852 May 2004 KR
20060106250 Oct 2006 KR
100669616 Jan 2007 KR
20070005699 Jan 2007 KR
20100106418 Oct 2010 KR
1020130133830 Dec 2013 KR
101874907 Jul 2018 KR
101917763 Nov 2018 KR
102072839 Jan 2020 KR
102122189 Jun 2020 KR
2328040 Jun 2008 RU
146026 Dec 2010 SG
1995015660 Jun 1995 WO
1996013121 May 1996 WO
1997031445 Apr 1998 WO
1999010836 Mar 1999 WO
1999065239 Dec 1999 WO
2000049762 Aug 2000 WO
2000049763 Aug 2000 WO
0104892 Jan 2001 WO
2001031497 May 2001 WO
2001050732 Jul 2001 WO
2001065762 Sep 2001 WO
2002001880 Jan 2002 WO
2002008948 Jan 2002 WO
2002035832 May 2002 WO
2002037210 May 2002 WO
2002054196 Jul 2002 WO
2003030000 Apr 2003 WO
2003047262 Jun 2003 WO
2003096136 Nov 2003 WO
2004012378 Feb 2004 WO
2004054247 Jun 2004 WO
2004097811 Nov 2004 WO
2004100158 Nov 2004 WO
2004102571 Nov 2004 WO
2005008385 Jan 2005 WO
2005015935 Feb 2005 WO
2005109224 Nov 2005 WO
2006018843 Feb 2006 WO
2006018843 Dec 2006 WO
2007044590 Apr 2007 WO
2007113836 Oct 2007 WO
2008010275 Jan 2008 WO
2008042242 Apr 2008 WO
2008086313 Jul 2008 WO
2007113836 Nov 2008 WO
2008135932 Nov 2008 WO
2007113836 Dec 2008 WO
2009006302 Jan 2009 WO
2009065137 May 2009 WO
2009070770 Jun 2009 WO
2009109976 Sep 2009 WO
2010060106 May 2010 WO
2010080911 Jul 2010 WO
2010089962 Aug 2010 WO
2010108053 Sep 2010 WO
2010111261 Sep 2010 WO
2010122447 Oct 2010 WO
2010147878 Dec 2010 WO
2011042898 Apr 2011 WO
2011042900 Apr 2011 WO
2011068668 Jun 2011 WO
2011087449 Jul 2011 WO
2011101371 Aug 2011 WO
2011103364 Aug 2011 WO
2011132184 Oct 2011 WO
2011135558 Nov 2011 WO
2012035533 Mar 2012 WO
2012035534 Mar 2012 WO
2012035534 Jul 2012 WO
2012094171 Jul 2012 WO
2012094181 Jul 2012 WO
2012094189 Jul 2012 WO
20120094181 Jul 2012 WO
20120094189 Jul 2012 WO
2012035533 Aug 2012 WO
2012162806 Dec 2012 WO
2012171113 Dec 2012 WO
2013030833 Mar 2013 WO
2013032518 Mar 2013 WO
2013103986 Jul 2013 WO
2013111126 Aug 2013 WO
2013111126 Aug 2013 WO
2013032518 Sep 2013 WO
2013144942 Oct 2013 WO
2014506430 Mar 2014 WO
2014145901 Sep 2014 WO
2014193996 Dec 2014 WO
2014193996 Feb 2015 WO
2015031982 Mar 2015 WO
2013111126 Jun 2015 WO

Other References

Written Opinion of the International Searching Authority for International Application No. PCT/US2007/063950, completed Mar. 1, 2008, dated Mar. 19, 2008, 6 pgs. cited by applicant .
Written Opinion of the International Searching Authority for International Application No. PCT/US2008/087999, completed Feb. 7, 2009, dated Mar. 19, 2009, 4 pgs. cited by applicant .
"DVD-Mpeg differences", retrieved from http://dvd.sourceforge.net/dvdinfo/dvdmpeg.html, printed on Jul. 2, 2009, 1 pg. cited by applicant .
Nelson, Mark, "Arithmetic Coding + Statistical Modeling = Data Compression: Part 1--Arithmetic Coding", Doctor Dobb's Journal, Feb. 1991, printed from http://www.dogma.net/markn/articles/arith/part1.htm on printed Jul. 2, 2003, 12 pgs. cited by applicant .
Author Unknown, "Turbo-Charge Your Internet and PC Performance", printed Oct. 30, 2008 from Speedtest.net--The Global Broadband Speed Test, 1 pg. cited by applicant .
Author Unknown, "White paper, The New Mainstream Wireless LAN Standard", Broadcom Corporation, Jul. 2003, 12 pgs. cited by applicant .
Blasiak, "Video Transrating and Transcoding: Overview of Video Transrating and Transcoding Technologies", Ingenient Technologies, TI Developer Conference, Aug. 6-8, 2002, 22 pgs. cited by applicant .
Bloom et al., "Copy Protection for DVD Video", Proceedings of the IEEE, vol. 87, No. 7, Jul. 1999, pp. 1267-1276. cited by applicant .
Bross et al., "High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Document: JCTVC-L1003_v34, 12th Meeting: Geneva, CH, Jan. 14-23, 2013 (presented in three parts). cited by applicant .
Casares et al., "Simplifying Video Editing Using Metadata", DIS2002, 2002, pp. 157-166. cited by applicant .
Concolato et al., "Live HTTP Streaming of Video and Subtitles within a Browser", MMSys 2013, Feb. 26-Mar. 1, 2013, Oslo, Norway, 5 pgs. cited by applicant .
De Cock et al., "Complexity-Based Consistent-Quality Encoding in the Cloud", IEEE International Conference on Image Processing (ICIP), Date of Conference Sep. 25-28, 2016, Phoenix, AZ, pp. 1484-1488. cited by applicant .
Deutscher, "IIS Transform Manager Beta--Using the MP4 to Smooth Task", Retrieved from: https://web.archive.org/web/20130328111303/http://blog.johndeutscher.com/- category/smooth-streaming, Blog post of Apr. 29, 2011, 14 pgs. cited by applicant .
Eskicioglu et al., "An Integrated Approach to Encrypting Scalable Video", Proceedings IEEE International Conference on Multimedia and Expo, Aug. 26-29, 2002, Lausanne, Switzerland, 4 pgs. cited by applicant .
Fecheyr-Lippens, "A Review of HTTP Live Streaming", Internet Citation, Jan. 25, 2010, pp. 1-37. cited by applicant .
Garg et al., "An Experimental Study of Throughput for UDP and VoIP Traffic in IEEE 802.11b Networks", Wireless Communications and Networkings, Mar. 2003, pp. 1748-1753. cited by applicant .
Gast, "When is 54 Not Equal to 54? A Look at 802.11a, b and g Throughput", Aug. 8, 2003, printed Oct. 30, 2008 from www.oreillynet.com/pub/a/wireless/2003/08/08/wireless_throughput.html, 4 pgs. cited by applicant .
Ghosh, "Enhancing Silverlight Video Experiences with Contextual Data", Retrieved from: http://msdn.microsoft.com/en-us/magazine/ee336025.aspx, 2010, 15 pgs. cited by applicant .
Griffith, Eric, "The Wireless Digital Picture Frame Arrives", Wi-Fi Planet, printed May 4, 2007 from http://www.wi-fiplanet.com/news/article.php/3093141, Oct. 16, 2003, 3 pgs. cited by applicant .
Hartung et al., "DRM Protected Dynamic Adaptive HTTP Streaming", MMSys 2011 Proceedings of the Second Annual ACM Conference on Multimedia Systems, San Jose, California, Feb. 23-25, 2011, pp. 277-282. cited by applicant .
Hurtado Guzman, Juan Esteban, "Development and Implementation of an Adaptive HTTP Streaming Framework for H264/MVC Coded Media", Politecnico di Torino, Nov. 2010, 108 pgs. cited by applicant .
Hwang et al., "Efficient and User Friendly Inter-domain Device Authentication/Access control for Home Networks", Proceedings of the 2006 International Conference on Embedded and Ubiquitous Computing, Seoul, Korea, Aug. 1-4, 2006, pp. 131-140. cited by applicant .
Inlet Technologies, "Adaptive Delivery to iDevices", 2010, 2 pages. cited by applicant .
Inlet Technologies, "Adaptive delivery to iPhone 3.0", 2009, 2 pgs. cited by applicant .
Inlet Technologies, "HTTP versus RTMP", 2009, 3 pages. cited by applicant .
Inlet Technologies, "The World's First Live Smooth Streaming Event: The French Open", 2009, 2 pages. cited by applicant .
I-O Data, "Innovation of technology arrived", Nov. 2004, Retrieved from http://www.iodata.com/catalogs/AVLP2DVDLA_Flyer200505.pdf, 2 pgs. cited by applicant .
Kaspar et al., "Using HTTP Pipelining to Improve Progressive Download over Multiple Heterogeneous Interfaces", IEEE ICC proceedings, 2010, 5 pgs. cited by applicant .
Kim, Kyuheon, "MPEG-2 ES/PES/TS/PSI", Kyung-Hee University, Oct. 4, 2010, 66 pages. cited by applicant .
Kozintsev et al., "Improving last-hop multicast streaming video over 802.11", Workshop on Broadband Wireless Multimedia, Oct. 2004, pp. 1-10. cited by applicant .
Kurzke et al., "Get Your Content Onto Google TV", Google, Retrieved from: http://commondatastorage.googleapis.com/io2012/presentations/live&20to%20- website/1300.pdf, 2012. 58 pgs. cited by applicant .
Lang, "Expression Encoder, Best Practices for live smooth streaming broadcasting", Microsoft Corporation, 2010, retrieved from http://www.streamingmedia.com/conferences/west2010/presentations/SMWest-1- 2010-Expression-Encoder.pdf, 20 pgs. cited by applicant .
Levkov, "Mobile Encoding Guidelines for Android Powered Devices", Adobe Systems Inc., Addendum B, Dec. 22, 2010, 42 pgs. cited by applicant .
Li et al., "Content-Aware Playout and Packet Scheduling for Video Streaming Over Wireless Links", IEEE Transactions on Multimedia, vol. 10, No. 5, Aug. 2008, pp. 885-895. cited by applicant .
Lian et al., "Efficient video encryption scheme based on advanced video coding", Multimed. Tools Appl. vol. 38, 2008, pp. 75-89. cited by applicant .
Lin et al., "Multipass Encoding for Reducing Pulsing Artifacts in Cloud Based Video Transcoding", IEEE International Conference on Image Processing (ICIP), Date of Conference Sep. 27, 30, 2015, Quebec City, QC, Canada, 5 pgs. cited by applicant .
Liu et al., "A Formal Framework for Component Deployment", OOPSLA 2006, Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Language, and Applications, Portland, Oregon, Oct. 22-26, 2006, pp. 325-344. cited by applicant .
Long et al., "Silver: Simplifying Video Editing with Metadata", Demonstrations, CHI 2003: New Horizons, Apr. 5-10, 2003, pp. 628-629. cited by applicant .
Matroska, "Diagram", Matroska, Technical/Info, Diagram, 2016, retrieved from https://www.matroska.org/technical/diagram/index.html on Jul. 20, 2017, 9 pages. cited by applicant .
Matroska, "Specifications", Matroska, Technical/Info, Specifications, Jun. 25, 2017, retrieved from https://www.matroska.org/technical/specs/index.html on Jul. 20, 2017, 20 pages. cited by applicant .
Miras, "On Quality Aware Adaptation of Internet Video", University of London, PhD dissertation, 2004, 181 pgs. cited by applicant .
Morrison, "EA IFF 85 Standard for Interchange Format Files", Jan. 14, 1985, printed from http://www.dcs.ed.ac.uk/home/mxr/gfx/2d/IFF.txt on Mar. 6, 2006, 24 pgs. cited by applicant .
Moscoso, Pedro Gomes, "Interactive Internet TV Architecture Based on Scalable Video Coding", Instituto Superior Techico, Universidad Technica de Lisboa, May 2011, 103 pgs. cited by applicant .
MSDN, "Adaptive streaming, Expression Studio 2.0", Apr. 23, 2009, 2 pgs. cited by applicant .
Nelson, "Arithmetic Coding + Statistical Modeling = Data Compression: Part 1--Arithmetic Coding", Doctor Dobb's Journal, Feb. 1991, USA, pp. 1-12. cited by applicant .
Nelson, Michael, "IBM's Cryptolopes", Complex Objects in Digital Libraries Course, Spring 2001, Retrieved from http://www.cs.odu.edu/.about.mln/teaching/unc/inls210/?method=display&pkg- _name=cryptolopes.pkg&element_name=cryptolopes.ppt, 12 pages. cited by applicant .
Noboru, "Play Fast and Fine Video on Web! codec", Co.9, No. 12, Dec. 1, 2003, pp. 178-179. cited by applicant .
Noe, Alexander, "AVI File Format", http://www.alexander-noe.com/video/documentation/avi.pdf, Dec. 14, 2006, pp. 1-26. cited by applicant .
Noe, Alexander, "Definitions", Apr. 11, 2006, retrieved from http://www.alexander-noe.com/video/amg/definitions.html on Oct. 16, 2013, 2 pages. cited by applicant .
Ooyala, "Widevine Content Protection", Ooyala Support Center for Developers. Ooyala, Inc., Jun. 3, 2013. http://support.ooyala.com/developers/documentation/concepts/player_v3_wid- evine_integration.html, 7 pgs. cited by applicant .
Oyman et al., "Quality of Experience for HTTP Adaptive Streaming Services", IEEE Communications Magazine, Apr. 2012, vol. 50, No. 4, pp. 20-27, DOI: 10.1109/MCOM.2012.6178830. cited by applicant .
Ozer, Jan, "Adaptive Streaming in the Field", Streaming Media, Dec. 2010-Jan. 2011, pp. 36-47. cited by applicant .
Padiadpu, Rashmi, "Towards Mobile Learning: A SCORM Player for the Google Android Platform", Master Thesis, Hamburg University of Applied Sciences, 2008, 66 pgs. cited by applicant .
"IBM Closes Cryptolopes Unit," Dec. 17, 1997, CNET News, Printed on Apr. 25, 2014 from http://news.cnet.com/IBM-closes-Cryptolopes-unit/2100-1001_3206465.html, 3 pages. cited by applicant .
"Information Technology--Coding of Audio Visual Objects--Part 2: Visual" International Standard, ISO/IEC 14496-2, Third Edition, Jun. 1, 2004, pp. 1-724. (presented in three parts). cited by applicant .
U.S. Appl. No. 13/905,804, "Notice of Allowance," dated Aug. 12, 2015, 8 pgs. cited by applicant .
Broadq--The Ultimate Home Entertainment Software, printed May 11, 2009 from ittp://web.srchive.org/web/20030401122010/www.broadq.com/qcasttuner/- , 1 pg. cited by applicant .
Cloakware Corporation, "Protecting Digital Content Using Cloakware Code Transformation Technology", Version 1.2, May 2002, pp. 1-10. cited by applicant .
EP11774529 Supplementary European Search Report, completed Jan. 31, 2014, 2 pgs. cited by applicant .
European Search Report Application No. EP 08870152, Search Completed May 19, 2011, dated May 26, 2011, 9 pgs. cited by applicant .
European Supplementary Search Report for Application EP09759600, completed Jan. 25, 2011, 11 pgs. cited by applicant .
Extended European Search Report for European Application EP10821672, completed Jan 30, 2014, 3 pgs. cited by applicant .
Extended European Search Report for European Application EP11824682, completed Feb. 6, 2014, 4 pgs. cited by applicant .
Extended European Search Report for European Application No. 14763140.2, Search completed Sep. 26, 2016, dated Oct. 5, 2016, 9 Pgs. cited by applicant .
Final draft ETSI ES 202 109, V1.1.1, ETSI Standard, Terrestrial Trunked Radio (TETRA); Security; Synchronization mechanism for end-to-end encryption, Oct. 2002, 17 pgs. cited by applicant .
"Container format (digital)", printed Aug. 22, 2009 from http://en.wikipedia.org/wiki/Container_format_(digital), 4 pgs. cited by applicant .
"Diagram | Matroska", Dec. 17, 2010, Retrieved from http://web.archive.org/web/201 01217114656/http:I/matroska.org/technical/diagram/index.html on Jan. 29, 2016, 5 pages. cited by applicant .
"Draft CR: Trick Mode for HTTP Streaming", 3GPP TSG-SA4 Meeting #58, Apr. 26-30, 2010, Vancouver, Canada, S4-100237, 3 pgs. cited by applicant .
"DVD--MPeg differences", printed Jul. 2, 2009 from http://dvd.sourceforge.net/dvdinfo/dvdmpeg.html, 1 pg. cited by applicant .
"DVD subtitles", sam.zoy.org/writings/dvd/subtitles, dated Jan. 9, 2001, printed Jul. 2, 2009, 4 pgs. cited by applicant .
"Final Committee Draft of MPEG-4 streaming text format", International Organisation for Standardisation, Feb. 2004, 22 pgs. cited by applicant .
"IBM Spearheading Intellectual Property Protection Technology for Information on the Internet; Cryptolope Containers Have Arrived", May 1, 1996, Business Wire, Printed on Aug. 1, 2014 from http://www.thefreelibrary.com/IBM+Spearheading+Intellectual+Property+Prot- ection+Technology+for...-a018239381, 6 pg. cited by applicant .
"Information Technology--Coding of audio-visual objects--Part 14: MP4 file format", International Standard, ISO/IEC 14496-14, First Edition, Nov. 15, 2003, 18 pages. cited by applicant .
"Information Technology--Coding of audio-visual objects--Part 17: Streaming text", International Organisation for Standardisation, Feb. 2004, 22 pgs. cited by applicant .
"Information technology--Coding of audio-visual objects--Part 18: Font compression and streaming", ISO/IEC 14496-18, First edition Jul. 1, 2004, 26 pgs. cited by applicant .
"Information technology--Generic coding of moving pictures and associated audio information: Systems", International Standard ISO/IEC 13818-1, Second Edition, Dec. 1, 2000, 174 pages (presented in two parts). cited by applicant .
"Information-Technology--Generic coding of moving pictures and associated audio: Systems, Recommendation H.222.0", International Standard, ISO/IEC 13818-1, Draft 1209, Apr. 25, 1995, 151 pages. cited by applicant .
"Information-Technology--Generic coding of moving pictures and associated audio: Systems, Recommendation H.222.0", International Standard, ISO/IEC 13818-1, Draft 1540, Nov. 13, 1994, 161 pages. cited by applicant .
"KISS Players, KISS DP-500", retrieved from http://www.kiss-technology.com/?p=dp500 on May 4, 2007, 1 pg. cited by applicant .
"Matroska", Wikipedia, Jul. 10, 2017, retrieved from https://en.wikipedia.org/wiki/Matroska on Jul. 20, 2017, 3 pages. cited by applicant .
"Matroska Streaming | Matroska", Retrieved from the Internet: URL:http://web.archive.org/web/201 0121711431 O/http://matroska.org/technical!streaming/index.html [retrieved on Jan. 29, 2016], Dec. 17, 2010, 2 pgs. cited by applicant .
"MovieLabs Specification for Next Generation Video--Version 1.0", Motion Picture Laboratories, Inc., 2013, Retrieved from: http://movielabs.com/ngvideo/MovieLabs%20Specification%20for%20Next%20Gen- eration%20Video%20v1.0.pdf, 5 pgs. cited by applicant .
"MPEG-2", Wikipedia, Jun. 13, 2017, retrieved from https://en.wikipedia.org/wiki/MPEG-2 on Jul. 20, 2017, 13 pages. cited by applicant .
"MPEG-4 File Format, Version 2", Sustainability of Digital Formats: Planning for Library of Congress Collections, Retrieved from: https://www.loc.gov/preservation/digital/formats/fdd/fdd000155.shtml, Last updated Feb. 21, 2017, 8 pgs. cited by applicant .
"MPEG-4 Part 14", Wikipedia, Jul. 10, 2017, retrieved from https://en.wikipedia.org/wiki/MPEG-4_Part_14 on Jul. 20, 2017, 5 pages. cited by applicant .
"Netflix turns on subtitles for PC, Mac streaming", Yahoo! News, Apr. 21, 2010, Printed on Mar. 26, 2014, 3 pgs. cited by applicant .
"OpenDML AVI File Format Extensions", OpenDML AVI M-JPEG File Format Subcommittee, retrieved from www.the-labs.com/Video/odmIff2-avidef.pdf, Sep. 1997, 42 pgs. cited by applicant .
"OpenDML AVI File Format Extensions Version 1.02", OpenDMLAVI MJPEG File Format Subcommittee. Last revision: Feb. 28, 1996. Reformatting: Sep. 1997, 29 pgs. cited by applicant .
"QCast Tuner for PS2", printed May 11, 2009 from http://web.archive.org/web/20030210120605/www.divx.com/software/detail.ph- p?ie=39, 2 pgs. cited by applicant .
"Series H: Audiovisual and Multimedia Systems Infrastructure of audiovisual services--Coding of moving video; High efficiency video coding", International Telecommunication Union, ITU-T H.265, Apr. 2015, 634 pages (presented in six parts). cited by applicant .
"Smooth Streaming Client", The Official Microsoft IIS Site, Sep. 24, 2010, 4 pages. cited by applicant .
"Specifications | Matroska", Retrieved from the Internet: URL:http://web.archive.org/web/201 00706041303/http:/1www.matroska.org/technical/specs/index.html, retrieved on Jan. 29, 2016, Jul. 6, 2010, 14 pgs. cited by applicant .
"Specifications Matroska", Dec. 17, 2010, [retrieved on Mar. 2, 2018], 12 pages. cited by applicant .
"Supplementary European Search Report for Application No. EP 10834935, International Filing Date Nov. 15, 2010, Search Completed May 27, 2014, 9 pgs." cited by applicant .
"Supported Media Formats", Supported Media Formats, Android Developers, Printed on Nov. 27, 2013 from developer.android.com/guide/appendix/media-formats.html, 3 pgs. cited by applicant .
"Text of ISO/IEC 14496-18/COR1, Font compression and streaming", ITU Study Group 16--Video Coding Experts Group--ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 06), No. N8664, Oct. 27, 2006, 8 pgs. cited by applicant .
"Text of ISO/IEC 14496-18/FDIS, Coding of Moving Pictures and Audio", ITU Study Group 16--Videocoding Experts Group--ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 06), No. N6215, Dec. 2003, 26 pgs. cited by applicant .
"Thread: SSME (Smooth Streaming Medial Element) config.xml review (Smooth Streaming Client configuration file)", Printed on Mar. 26, 2014, 3 pgs. cited by applicant .
"Transcoding Best Practices", From movideo, Printed on Nov. 27, 2013 from code.movideo.com/Transcoding_Best_Practices, 5 pgs. cited by applicant .
"Using HTTP Live Streaming", iOS Developer Library, http://developer.apple.com/library/ios/#documentation/networkinginternet/- conceptual/streamingmediaguide/UsingHTTPLiveStreaming/UsingHTTPLiveStreami- ng.html#//apple_ref/doc/uid/TP40008332-CH102-SW1, Feb. 11, 2014, 10 pgs. cited by applicant .
"Video Manager and Video Title Set IFO file headers", printed Aug. 22, 2009 from http://dvd.sourceforge.net/dvdinfo/ifo.htm, 6 pgs. cited by applicant .
"What is a DVD?", printed Aug. 22, 2009 from http://www.videohelp.com/dvd, 8 pgs. cited by applicant .
"What is a VOB file", http://www.mpucoder.com/DVD/vobov.html, printed on Jul. 2, 2009, 2 pgs. cited by applicant .
"What's on a DVD?", printed Aug. 22, 2009 from http://www.doom9.org/dvd-structure.htm, 5 pgs. cited by applicant .
U.S. Appl. No. 13/224,298, "Final Office Action Received", dated May 19, 2014, 26 pgs. cited by applicant .
U.S. Appl. No. 13/905,804, "Non-Final Office Action Received", U.S. Appl. No. 13/905,804, "Non-Final Office Action Received", dated Jul. 25, 2014, 15 pgs. cited by applicant .
Adams et al., "Will http adaptive streaming become the dominant mode of video delivery in cable networks?", https://www.nctatechnicalpapers.com/Paper/2011/2011-will-http-adaptive-st- reaming-become-the-dominant-mode-of-video-delivery-in-cable-networks-, 10 pgs. cited by applicant .
Adhikari et al., "Unreeling Netflix: Understanding and Improving Multi-CDN Movie Delivery", 2012 Proceedings IEEE InfoCom, Mar. 25-30, 2012, Orlando, Florida, 9 pgs. cited by applicant .
Adzic et al., "Optimized Adaptive HTTP Streaming for Mobile Devices", International Society for Optics and Photonics, Applications of Digital Image Processing XXXIV, vol. 8135, Sep. 2011, p. 81350T. cited by applicant .
Akhshabi et al., "An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP", MMSys'11, Feb. 23-25, 2011, 12 pgs. cited by applicant .
Author Unknown, "Blu-ray Disc--Blu-ray Disc--Wikipedia, the free encyclopedia", printed Oct. 30, 2008 from http://en.wikipedia.org/wiki/Blu-ray_Disc, 11 pgs. cited by applicant .
Author Unknown, "Blu-ray Movie Bitrates Here--Blu-ray Forum", printed Oct. 30, 2008 from http://forum.blu-ray.com/showthread.php?t=3338, 6 pgs. cited by applicant .
Author Unknown, "MPEG-4 Video Encoder: Based on International Standard ISO/IEC 14496-2", Patni Computer Systems, Ltd., printed Jan. 24, 2007, USA, pp. 1-15. cited by applicant .
Author Unknown, "O'Reilly--802.11 Wireless Networks: The Definitive Guide, Second Edition", printed Oct. 30, 2008 from http://oreilly.com/catalog/9780596100520, 2 pgs. cited by applicant .
Papagiannaki et al., "Experimental Characterization of Home Wireless Networks and Design Implications", INFOCOM 2006, 25th IEEE International Conference of Computer Communications, Proceedings, Apr. 2006, 13 pgs. cited by applicant .
Peek, David, "Consumer Distributed File Systems", Dissertation, Doctor of Philosophy, Computer Science and Engineering, The University of Michigan, 2009, 118 pgs. cited by applicant .
Phamdo, "Theory of Data Compression", printed on Oct. 10, 2003, 12 pgs. cited by applicant .
Rosenberg et al., "Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)", Network Working Group, RFC 3840, Aug. 2004, 36 pgs. cited by applicant .
Schulzrinne, H., "Real Time Streaming Protocol 2.0 (RTSP): draft-ietfmmusic-rfc2326bis-27", MMUSIC Working Group of the Internet Engineering Task Force (IETF), Mar. 9, 2011, 296 pgs. (presented in two parts). cited by applicant .
Silvia, "adaptive HTTP streaming for open codecs", Oct. 9, 2010, retrieved on: Mar. 2, 2018, 15 pgs. cited by applicant .
Tan, Yap-Peng et al., "Video transcoding for fast forward/reverse video playback", IEEE ICIP, 2002, pp. I-713 to I-716. cited by applicant .
Taxan, "AVel LinkPlayer2 for Consumer", I-O Data USA--Products--Home Entertainment, printed May 4, 2007 from http://www.iodata.com/usa/products/products.php?cat=HNP&sc=AVEL&pld=AVLP2- /DVDLA&ts=2&tsc, 1 pg. cited by applicant .
Tripathi et al., "Improving Multimedia Streaming with Content-Aware Video Scaling", Retrieved from: http://digitalcommons.wpi.edu/computerscience-pubs/96, 2001, 17 pgs. cited by applicant .
Unknown, "AVI RIFF File Reference (Direct X 8.1 C++ Archive)", printed from http://msdn.microsoft.com/archive/en-us/dx81_c/directx_cpp/htm/aviri- fffilereference.asp?fr . . . on Mar. 6, 2006, 7 pgs. cited by applicant .
Unknown, "Entropy and Source Coding (Compression)", TCOM 570, Sep. 1999, pp. 1-22. cited by applicant .
Unknown, "MPEG-4 Video Encoder: Based on International Standard ISO/IEC 14496-2", Patni Computer Systems, Ltd., publication date unknown, 15 pgs. cited by applicant .
Venkatramani et al., "Securing Media for Adaptive Streaming", Multimedia 2003 Proceedings of the Eleventh ACM International Conference on Multimedia, Nov. 2-8, 2003, Berkeley, California, 4 pgs. cited by applicant .
Wang et al., "Image Quality Assessment: From Error Visibility to Structural Similarity", IEEE Transactions on Image Processing, Apr. 2004, vol. 13, No. 4, pp. 600-612. cited by applicant .
Zambelli, "IIS Smooth Streaming Technical Overview", Microsoft Corporation, Mar. 2009, 17 pgs. cited by applicant .
IBM Corporation and Microsoft Corporation, "Multimedia Programming Interface and Data Specifications 1.0", Aug. 1991, printed from http://www.kk.iij4u.or.jp/.about.kondo/wave/mpidata.txt on Mar. 6, 2006, 100 pgs. cited by applicant .
InformationWeek, "Internet on Wheels", InformationWeek: Front End: Daily Dose, Jul. 20, 1999, Printed on Mar. 26, 2014, 3 pgs. cited by applicant .
International Preliminary Report for Application No. PCT/US2011/066927, Filed Dec. 22, 2011, dated Jul. 10, 2013, 13 pgs. cited by applicant .
International Preliminary Report for International Application No. PCT/US2011/067243, International Filing Date Dec. 23, 2011, dated Jul. 10, 2013, 7 pgs. cited by applicant .
International Preliminary Report on Patentability for International Application PCT/US14/30747, dated Sep. 15, 2015, dated Sep. 24, 2015, 6 Pgs. cited by applicant .
International Preliminary Report on Patentability for International Application No. PCT/US2007/063950, Report Completed Dec. 18, 2009, 3 pgs. cited by applicant .
International Preliminary Report on Patentability for International Application No. PCT/US2008/083816, dated May 18, 2010, 6 pgs. cited by applicant .
International Preliminary Report on Patentability for International Application No. PCT/US2010/56733, dated Jun. 5, 2012, 5 pgs. cited by applicant .
International Preliminary Report on Patentability for International Application No. PCT/US2011/068276, dated Mar. 4, 2014, 23 pgs. cited by applicant .
International Preliminary Report on Patentability for International Application PCT/US2011/067167, dated Feb. 25, 2014, 8 pgs. cited by applicant .
International Preliminary Report on Patentability for International Application PCT/US2013/043181 dated Dec. 31, 2014, dated Jan. 8, 2015, 11 Pgs. cited by applicant .
International Preliminary Report on Patentability for International Application PCT/US2014/039852, dated Dec. 1, 2015, dated Dec. 5, 2015, 8 Pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US07/63950, completed Feb. 19, 2008; dated Mar. 19, 2008, 9 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US08/87999, completed Feb. 7, 2009, dated Mar. 19, 2009, 6 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US09/46588, completed Jul. 13, 2009, dated Jul. 23, 2009, 7 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US2004/041667, completed May 24, 2007, dated Jun. 20, 2007, 6 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US2005/025845, completed Feb. 5, 2007, dated May 10, 2007, 8 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US2008/083816, completed Jan. 10, 2009, dated Jan. 22, 2009, 7 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US2010/020372, Completed Feb. 10, 2009, dated Mar. 1, 2010, 8 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US2010/56733, Completed Jan. 3, 2011, dated Jan. 14, 2011, 9 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US2011/067243, International Filing Date Dec. 23, 2011, Search Completed Apr. 24, 2012, dated May 8, 2012, 8 pgs. cited by applicant .
International Search Report and Written Opinion for International Application No. PCT/US2013/043181, completed Nov. 27, 2013, dated Dec. 6, 2013, 12 pgs. cited by applicant .
International Search Report and Written Opinion for International Application PCT/US14/30747, completed Jul. 30, 2014, dated Aug. 22, 2014, 7 Pgs. cited by applicant .
International Search Report and Written Opinion for International Application PCT/US14/39852, completed Oct. 21, 2014, dated Dec. 5, 2014, 11 pgs. cited by applicant .
International Search Report and Written Opinion for International Application PCT/US2011/066927, completed Apr. 3, 2012, dated Apr. 20, 2012, 14 pgs. cited by applicant .
International Search Report and Written Opinion for International Application PCT/US2011/067167, completed Jun. 19, 2012, dated Jul. 2, 2012, 11 pgs. cited by applicant .
International Search Report and Written Opinion for International Application PCT/US2011/068276, completed Jun. 19, 2013, dated Jul. 8, 2013, 24 pgs. cited by applicant .
International Search Report and Written Opinion for PCT/US2013/020572, International Filing Date Jan. 7, 2013, Search Completed Mar. 19, 2013, dated Apr. 29, 2013, 10 pgs. cited by applicant .
International Telecommunication Union, Telecommunication Standardization Sector of ITU, H.233, Line Transmission of Non-Telephone Signals, Confidentiality System for Audiovisual Services, ITU-T Recommendation H.233, Mar. 1993, 18 pgs. cited by applicant .
ITS International, "Fleet System Opts for Mobile Server", Aug. 26, 1999, Printed on Oct. 21, 2011 from http://www.itsinternational.com/News/article.cfm?recordID=547, 2 pgs. cited by applicant .
Lifehacker--Boxqueue Bookmarklet Saves Videos for Later Boxee Watching, printed Jun. 16, 2009 from http://feeds.gawker.com/.about.r/lifehacker/full/.about.3/OHvDmrlgZZc/box- queue-bookmarklet-saves-videos-for-late-boxee-watching, 2 pgs. cited by applicant .
Linksys Wireless-B Media Adapter Reviews, printed May 4, 2007 from http://reviews.cnet.com/Linksys_Wireless_B_Media_Adapter/4505-6739_7-3042- 1900.html?tag=box, 5 pgs. cited by applicant .
Linksys, KISS DP-500, printed May 4, 2007 from http://www.kiss-technology.com/?p=dp500, 2 pgs. cited by applicant .
LINKSYS.RTM.: "Enjoy your digital music and pictures on your home entertainment center, without stringing wires!", Model No. WMA 11B, printed May 9, 2007 from http://www.linksys.com/servlet/Satellite?c=L_Product_C2&childpagename=US/- Layout&cid=1115416830950&p, 4 pgs. cited by applicant .
Microsoft Corporation, "Chapter 8, Multimedia File Formats" 1991, Microsoft Windows Multimedia Programmer's Reference, 3 cover pgs, pp. 8-1 to 8-20. cited by applicant .
Microsoft Media Platform: Player Framework, "Microsoft Media Platform: Player Framework v2.5 (formerly Silverlight Media Framework)", May 3, 2011, 2 pages. cited by applicant .
Microsoft Media Platform: Player Framework, "Silverlight Media Framework v1.1", Jan. 2010, 2 pages. cited by applicant .
Microsoft Windows.RTM. XP Media Center Edition 2005, Frequently asked Questions, printed May 4, 2007 from http://www.microsoft.com/windowsxp/mediacenter/evaluation/faq.mspx, 6 pgs. cited by applicant .
Microsoft Windows.RTM. XP Media Center Edition 2005: Features, printed May 9, 2007, from http://www.microsoft.com/windowsxp/mediacenter/evaluation/features.mspx, 4 pgs. cited by applicant .
Office Action for Chinese Patent Application No. CN200880127596.4, dated May 6, 2014, 8 pgs. cited by applicant .
Office Action for U.S. Appl. No. 13/223,210, dated Apr. 30, 2015, 14 pgs. cited by applicant .
Office Action for U.S. Appl. No. 14/564,003, dated Apr. 17, 2015, 28 pgs. cited by applicant .
Open DML AVI-M-JPEG File Format Subcommittee, "Open DML AVI File Format Extensions", Version 1.02, Feb. 28, 1996, 29 pgs. cited by applicant .
pc world.com, Future Gear: PC on the HiFi, and the TV, from http://www.pcworld.com/article/id,108818-page,1/article.html, printed May 4, 2007, from IDG Networks, 2 pgs. cited by applicant .
Qtv--About BroadQ, printed May 11, 2009 from http://www.broadq.com/en/about.php, 1 pg. cited by applicant .
Supplementary European Search Report for Application No. EP 04813918, Search Completed Dec. 19, 2012, 3 pgs. cited by applicant .
Supplementary European Search Report for Application No. EP 10729513, completed Dec. 9, 2013, 4 pgs. cited by applicant .
Supplementary European Search Report for EP Application 11774529, completed Jan. 31, 2014, 2 pgs. cited by applicant .
Supplementary European Search Report for European Application No. 07758499.3, Report Completed Jan. 25, 2013, 8 pgs. cited by applicant .
Windows Media Center Extender for Xbox, printed May 9, 2007 from http://www.xbox.com/en-US/support/systemuse/xbox/console/mediacenterexten- der.htm, 2 pgs. cited by applicant .
Windows.RTM. XP Media Center Edition 2005, "Experience more entertainment", retrieved from http://download.microsoft.com/download/c/9/a/c9a7000a-66b3-455b-860b-1c16- f2eecfec/MCE.pdf on May 9, 2007, 2 pgs. cited by applicant .
Invitation to Pay Add'l Fees Rcvd for International Application PCT/US14/39852, dated Sep. 25, 2 Pgs, Sep. 25, 2014. cited by applicant .
3GPP TS 26.247, V1.3.0, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects Transparent end-to-end Packet-switches Streaming Services (PSS);, Progressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH) (Release 10), Mar. 2011, 72 pgs. cited by applicant .
"Best Practices for Multi-Device Transcoding", Kaltura Open Source Video, Printed on Nov. 27, 2013 from knowledge.kaltura.com/best-practices-multi-device-transcoding, 13 pgs. cited by applicant .
Bocharov et al, "Portable Encoding of Audio-Video Objects, The Protected Interoperable File Format (PIFF)", Microsoft Corporation, First Edition Sep. 8, 2009, 30 pgs. cited by applicant .
Bulterman et al., "Synchronized Multimedia Integration Language (SMIL 3.0)", W3C Recommendation Dec. 1, 2008, https://www.w3.org/TR/2008/REC-SMIL3-20081201/, 321 pgs. (presented in five parts). cited by applicant .
Cahill et al., "Locally Adaptive Deblocking Filter for Low Bit Rate Video", Proceedings 2000 International Conference on Image Processing, Sep. 10-13, 2000, Vancouver, BC, Canada, 4 pgs. cited by applicant .
Candelore, U.S. Appl. No. 60/372,901, filed Apr. 16, 2002, 5 pgs. cited by applicant .
Chaddha et al., "A Frame-work for Live Multicast of Video Streams over the Internet", Proceedings of 3rd IEEE International Conference on Image Processing, Sep. 19, 1996, Lausanne, Switzerland, 4 pgs. cited by applicant .
Cheng, "Partial Encryption for Image and Video Communication", Thesis, Fall 1998, 95 pgs. cited by applicant .
Cheng et al., "Partial encryption of compressed images and videos", IEEE Transactions on Signal Processing, vol. 48, No. 8, Aug. 2000, 33 pgs. cited by applicant .
Cheung et al., "On the Use of Destination Set Grouping to Improve Fairness in Multicast Video Distribution", Proceedings of IEEE INFOCOM'96, Conference on Computer Communications, vol. 2, IEEE, 1996, 23 pgs. cited by applicant .
Collet, "Delivering Protected Content, An Approach for Next Generation Mobile Technologies", Thesis, 2010, 84 pgs. cited by applicant .
Diamantis et al., "Real Time Video Distribution using Publication through a Database", Proceedings SIBGRAPI'98. International Symposium on Computer Graphics, Image Processing, and Vision (Cat. No. 98EX237), Oct. 1990, 8 pgs. cited by applicant .
Dworkin, "Recommendation for Block Cipher Modes of Operation: Methods and Techniques", NIST Special Publication 800-38A, 2001, 66 pgs. cited by applicant .
Fang et al., "Real-time deblocking filter for MPEG-4 systems", Asia-Pacific Conference on Circuits and Systems, Oct. 28-31, 2002, Bail, Indonesia, 4 pgs. cited by applicant .
Fecheyr-Lippens, "A Review of HTTP Live Streaming", Jan. 2010, 38 pgs. cited by applicant .
Fielding et al., "Hypertext Transfer Protocol--HTTP1.1", Network Working Group, RFC 2616, Jun. 1999, 114 pgs. cited by applicant .
Fukuda et al., "Reduction of Blocking Artifacts by Adaptive DCT Coefficient Estimation in Block-Based Video Coding", Proceedings 2000 International Conference on Image Processing, Sep. 10-13, 2000, Vancouver, BC, Canada, 4 pgs. cited by applicant .
Huang, U.S. Pat. No. 7,729,426, U.S. Appl. No. 11/230,794, filed Sep. 20, 2005, 143 pgs. cited by applicant .
Huang et al., "Adaptive MLP post-processing for block-based coded images", IEEE Proceedings--Vision, Image and Signal Processing, vol. 147, No. 5, Oct. 2000, pp. 463-473. cited by applicant .
Huang et al., "Architecture Design for Deblocking Filter in H.264/JVT/AVC", 2003 International Conference on Multimedia and Expo., Jul. 6-9, 2003, Baltimore, MD, 4 pgs. cited by applicant .
Jain et al., U.S. Appl. No. 61/522,623, filed Aug. 11, 2011, 44 pgs. cited by applicant .
Jung et al., "Design and Implementation of an Enhanced Personal Video Recorder for DTV", IEEE Transactions on Consumer Electronics, vol. 47, No. 4, Nov. 2001, 6 pgs. cited by applicant .
Kalva, Hari, "Delivering MPEG-4 Based Audio-Visual Services", 2001, 113 pgs. cited by applicant .
Kang et al., "Access Emulation and Buffering Techniques for Steaming of Non-Stream Format Video Files", IEEE Transactions on Consumer Electronics, vol. 43, No. 3, Aug. 2001, 7 pgs. cited by applicant .
Kim et al, "A Deblocking Filter with Two Separate Modes in Block-based Video Coding", IEEE transactions on circuits and systems for video technology, vol. 9, No. 1, 1999, pp. 156-160. cited by applicant .
Kim et al., "Tree-Based Group Key Agreement", Feb. 2004, 37 pgs. cited by applicant .
Laukens, "Adaptive Streaming--A Brief Tutorial", EBU Technical Review, 2011, 6 pgs. cited by applicant .
Legault et al., "Professional Video Under 32-bit Windows Operating Systems", SMPTE Journal, vol. 105, No. 12, Dec. 1996, 10 pgs. cited by applicant .
Li et al., "Layered Video Multicast with Retransmission (LVMR): Evaluation of Hierarchical Rate Control", Proceedings of IEEE INFOCOM'98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century, Cat. No. 98, vol. 3, 1998, 26 pgs. cited by applicant .
List et al., "Adaptive deblocking filter", IEEE transactions on circuits and systems for video technology, vol. 13, No. 7, Jul. 2003, pp. 614-619. cited by applicant .
Massoudi et al., "Overview on Selective Encryption of Image and Video: Challenges and Perspectives", EURASIP Journal on Information Security, Nov. 2008, 18 pgs. cited by applicant .
McCanne et al., "Receiver-driven Layered Multicast", Conference proceedings on Applications, technologies, architectures, and protocols for computer communications, Aug. 1996, 14 pgs. cited by applicant .
Meier, "Reduction of Blocking Artifacts in Image and Video Coding", IEEE Transactions on Circuits and Systems for Video Technology, vol. 9, No. 3, Apr. 1999, pp. 490-500. cited by applicant .
Newton et al., "Preserving Privacy by De-identifying Facial Images", Carnegie Mellon University School of Computer Science, Technical Report, CMU-CS-03-119, Mar. 2003, 26 pgs. cited by applicant .
O'Brien, U.S. Appl. No. 60/399,846, filed Jul. 30, 2002, 27 pgs. cited by applicant .
O'Rourke, "Improved Image Decompression for Reduced Transform Coding Artifacts", IEEE Transactions on Circuits and Systems for Video Technology, vol. 5, No. 6, Dec. 1995, pp. 490-499. cited by applicant .
Park et al., "A postprocessing method for reducing quantization effects in low bit-rate moving picture coding", IEEE Transactions on Circuits and Systems for Video Technology, vol. 9, No. 1, Feb. 1999, pp. 161-171. cited by applicant .
Richardson, "H.264 and MPEG-4 Video Compression", Wiley, 2003, 306 pgs. (presented in 2 parts). cited by applicant .
Sima et al., "An Efficient Architecture for Adaptive Deblocking Filter of H.264 AVC Video Coding", IEEE Transactions on Consumer Electronics, vol. 50, No. 1, Feb. 2004, pp. 292-296. cited by applicant .
Spanos et al., "Performance Study of a Selective Encryption Scheme for the Security of Networked, Real-Time Video", Proceedings of the Fourth International Conference on Computer Communications and Networks, IC3N'95, Sep. 20-23, 1995, Las Vegas, NV, pp. 2-10. cited by applicant .
Srinivasan et al., "Windows Media Video 9: overview and applications", Signal Processing: Image Communication, 2004, 25 pgs. cited by applicant .
Stockhammer, "Dynamic Adaptive Streaming over HTTP--Standards and Design Principles", Proceedings of the second annual ACM conference on Multimedia, Feb. 2011, pp. 133-145. cited by applicant .
Timmerer et al., "HTTP Streaming of MPEG Media", Proceedings of Streaming Day, 2010, 4 pgs. cited by applicant .
Tiphaigne et al., "A Video Package for Torch", Jun. 2004, 46 pgs. cited by applicant .
Trappe et al., "Key Management and Distribution for Secure Multimedia Multicast", IEEE Transaction on Multimedia, vol. 5, No. 4, Dec. 2003, pp. 544-557. cited by applicant .
Van Deursen et al., "On Media Delivery Protocols in the Web", 2010 IEEE International Conference on Multimedia and Expo, Jul. 19-23, 2010, 6 pgs. cited by applicant .
Ventura, Guillermo Albaida, "Streaming of Multimedia Learning Objects", AG Integrated Communication System, Mar. 2003, 101 pgs. cited by applicant .
Waggoner, "Compression for Great Digital Video", 2002, 184 pgs. cited by applicant .
Watanabem et al., "MPEG-2 decoder enables DTV trick plays", esearcher System LSI Development Lab, Fujitsu Laboratories Ltd., Kawasaki, Japan, Jun. 2001, 2 pgs. cited by applicant .
Wiegand, "Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG", Jan. 2002, 70 pgs. cited by applicant .
Willig et al., U.S. Appl. No. 61/409,285, filed Nov. 2, 2010, 43 pgs. cited by applicant .
Yang et al., "Projection-Based Spatially Adaptive Reconstruction of Block-Transform Compressed Images", IEEE Transactions on Image Processing, vol. 4, No. 7, Jul. 1995, pp. 896-908. cited by applicant .
Yang et al., "Regularized Reconstruction to Reduce Blocking Artifacts of Block Discrete Cosine Transform Compressed Images", IEEE Transactions on Circuits and Systems for Video Technology, vol. 3, No. 6, Dec. 1993, pp. 421-432. cited by applicant .
Yu et al., "Video deblocking with fine-grained scalable complexity for embedded mobile computing", Proceedings 7th International Conference on Signal Processing, Aug. 31-Sep. 4, 2004, pp. 1173-1178. cited by applicant .
Zakhor, "Iterative Procedures for Reduction of Blocking Effects in Transform Image Coding", IEEE Transactions on Circuits and Systems for Video Technology, vol. 2, No. 1, Mar. 1992, pp. 91-95. cited by applicant .
Apple HTTP Live Streaming specification, Aug. 2017, 60 pgs. cited by applicant .
Microsoft Smooth Streaming specification, Jul. 22, 2013, 56 pgs. cited by applicant .
ISO/IEC 14496-12:2008(E) Informational Technology--Coding of Audio-Visual Objects Part 12: ISO Base Media Filea Format, Oct. 2008, 120 pgs. cited by applicant .
Server-Side Stream Repackaging (Streaming Video Technologies Panorama, Part 2), Jul. 2011, 15 pgs. cited by applicant .
Universal Mobile Telecommunications System (UMTS), ETSI TS 126 233 V9.1.0 (Jun. 2011) 3GPP TS 26.233 version 9.1.0 Release 9, 18 pgs. cited by applicant .
Universal Mobile Telecommunications Systems (UMTS); ETSI TS 126 244 V9.4.0 (May 2011) 3GPP TS 26.244 version 9.4.0 Release 9, 58 pgs. cited by applicant .
HTTP Live Streaming, Mar. 2011, 24 pgs. cited by applicant .
HTTP Live Streaming, Sep. 2011, 33 pgs. cited by applicant .
Information Technology--MPEG Systems Technologies--Part 7: Common Encryption in ISO Base Media File Format Files (ISO/IEC 23001-7), Apr. 2015, 24 pgs. cited by applicant .
ISO/IEC 14496-12 Information technology--Coding of audio-visual objects--Part 12: ISO base media file format, Feb. 2004 ("MPEG-4 Part 12 Standard"), 62 pgs. cited by applicant .
ISO/IEC FCD 23001-6 MPEG systems technologies Part 6: Dynamic adaptive streaming over HTTP (DASH), Jan. 28, 2011, 86 pgs. cited by applicant .
Microsoft Corporation, Advanced Systems Format (ASF) Specification, Revision 01.20.03, Dec. 2004, 121 pgs. cited by applicant .
MPEG-DASH presentation at Streaming Media West 2011, Nov. 2011, 14 pgs. cited by applicant .
Pomelo, LLC Tech Memo, Analysis of Netflix's Security Framework for `Watch Instantly` Service, Mar.-Apr. 2009, 18 pgs. cited by applicant .
Text of ISO/IEC 23001-6: Dynamic adaptive streaming over HTTP (DASH), Oct. 2010, 71 pgs. cited by applicant .
"Data Encryption Decryption using AES Algorithm, Key and Salt with Java Cryptography Extension", Available at https://www.digizol.com/2009/10/java-encrypt-decrypt-jce-salt.html, Oct. 200, 6 pgs. cited by applicant .
"Delivering Live and On-Demand Smooth Streaming", Microsoft Silverlight, 2009, 28 pgs. cited by applicant .
"HTTP Based Adaptive Streaming over HSPA", Apr. 2011, 73 pgs. cited by applicant .
"Java Cryptography Architecture API Specification & Reference", Available at https://docs.oracle.com/javase/1.5.0/docs/guide/security/CryptoSpec.ht- ml, Jul. 25, 2004, 68 pgs. cited by applicant .
"Java Cryptography Extension, javax.crypto.Cipher class", Available at https://docs.oracle.com/javase/1.5.0/docs/api/javax/crypto/Cipher.html, 2004, 24 pgs. cited by applicant .
"JCE Encryption--Data Encryption Standard (DES) Tutorial", Available at https://mkyong.com/java/jce-encryption-data-encryption-standard-des-tutor- ial/, Feb. 25, 2009, 2 pgs. cited by applicant .
"Live and On-Demand Video with Silverlight and IIS Smooth Streaming", Microsoft Silverlight, Windows Server Internet Information Services 7.0, Feb. 2010, 15 pgs. cited by applicant .
"Single-Encode Streaming for Multiple Screen Delivery", Telestream Wowza Media Systems, 2009, 6 pgs. cited by applicant .
"The MPEG-DASH Standard for Multimedia Streaming Over the Internet", IEEE MultiMedia, vol. 18, No. 4, 2011, 7 pgs. cited by applicant .
"Windows Media Player 9", Microsoft, Mar. 23, 2017, 3 pgs. cited by applicant .
Abomhara et al., "Enhancing Selective Encryption for H.264/AVC Using Advanced Encryption Standard", International Journal of computer Theory and Engineering, Apr. 2010, vol. 2, No. 2, pp. 223-229. cited by applicant .
A.M. Alattar et al., "Improved selective encryption techniques for secure transmission of MPEG video bit-streams", In Proceedings 1999 International Conference on Image Processing (Cat. 99CH36348), vol. 4, IEEE, 1999, pp. 256-260. cited by applicant .
Antoniou et al., "Adaptive Methods for the Transmission of Video Streams in Wireless Networks", 2015, 50 pgs. cited by applicant .
Apostolopoulos et al., "Secure Media Streaming and Secure Transcoding", Multimedia Security Technologies for Digital Rights Management, 2006, 33 pgs. cited by applicant .
Asai et al., "Essential Factors for Full-Interactive VOD Server: Video File System, Disk Scheduling, Network", Proceedings of Globecom '95, Nov. 14-16, 1995, 6 pgs. cited by applicant .
Beker et al., "Cipher Systems, The Protection of Communications", 1982, 40 pgs. cited by applicant .
Extended European Search Report for European Application No. 20172313.7 Search completed Aug. 19, 2020, dated Aug. 27, 2020, 11 Pgs. cited by applicant .
"Supported Media Formats", Supported Media Formats, Android Developers, Nov. 27, 2013, 3 pgs. cited by applicant .
European Search Report for Application 11855103.5, search completed Jun. 26, 2014, 9 pgs. cited by applicant .
European Search Report for Application 11855237.1, search completed Jun. 12, 2014, 9 pgs. cited by applicant .
Federal Computer Week, "Tool Speeds Info to Vehicles", Jul. 25, 1999, 5 pages. cited by applicant .
HTTP Live Streaming Overview, Networking & Internet, Apple, Inc., Apr. 1, 2011, 38 pages. cited by applicant .
Informationweek: Front End: Daily Dose, "Internet on Wheels", Jul. 20, 1999, 3 pgs. cited by applicant .
International Search Report and Written Opinion for International Application PCT/US2011/066927, International Filing Date Dec. 22, 2011, Report Completed Apr. 3, 2012, Mailed Apr. 20, 2012, 14 pgs. cited by applicant .
International Search Report and Written Opinion for International Application PCT/US2011/067167, International Filing Date Dec. 23, 2011, Report Completed Jun. 19, 2012, Mailed Jul. 2, 2012, 11 pgs. cited by applicant .
ITS International, "Fleet System Opts for Mobile Server", Aug. 26, 1999, 1 page. cited by applicant .
Microsoft, Microsoft Media Platform: Player Framework, "Silverlight Media Framework v1.1", 2 pages. cited by applicant .
Microsoft, Microsoft Media Platform: Player Framework, "Microsoft Media Platform: Player Framework v2.5 (formerly Silverlight Media Framework)", 2 pages. cited by applicant .
The Official Microsoft IIS Site, Smooth Streaming Client, 4 pages. cited by applicant .
"Adaptive Streaming Comparison", Jan. 28, 2010, 5 pgs. cited by applicant .
"Best Practices for Multi-Device Transcoding", Kaltura Open Source Video, 13 pgs. cited by applicant .
"Netflix turns on subtitles for PC, Mac streaming", 3 pgs. cited by applicant .
"Thread: SSME (Smooth Streaming Medial Element) config.xml review (Smooth Streaming Client configuration file)", 3 pgs. cited by applicant .
"Transcoding Best Practices", From movideo, Nov. 27, 2013, 5 pgs. cited by applicant .
"Using HTTP Live Streaming", iOS Developer Library, Retrieved from: http://developer.apple.com/library/ios/#documentation/networkinginternet/- concept ual/streamingmediaguide/UsingHTTPLiveStreaming/UsingHTTPLiveStream- ing.html#//apple_ref/doc/uid/TP40008332-CH102-SW1, 10 pgs. cited by applicant .
Akhshabi et al., "An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP", MMSys'11, Feb. 24-25, 2011, 12 pgs. cited by applicant .
Anonymous, "Method for the encoding of a compressed video sequence derived from the same video sequence compressed at a different bit rate without loss of data", ip.com, ip.com No. IPCOM000008165D, May 22, 2002, pp. 1-9. cited by applicant .
Author Unknown, "Tunneling QuickTime RTSP and RTP over HTTP", Published by Apple Computer, Inc.: 1999 (month unknown), 6 pages. cited by applicant .
Deutscher, "IIS Transform Manager Beta--Using the MP4 to Smooth Task", Retrieved from: https://web.archive.org/web/20130328111303/http://blog.johndeutscher.com/- category/smooth-streaming, Blog post of Apr. 17, 2010, 14 pgs. cited by applicant .
Gannes, "The Lowdown on Apple's HTTP Adaptive Bitrate Streaming", GigaOM, Jun. 10, 2009, 12 pgs. cited by applicant .
Inlet Technologies, "The World's First Live Smooth Streaming Event: The French Open", 2 pages. cited by applicant .
Nelson, "Smooth Streaming Deployment Guide", Microsoft Expression Encoder, Aug. 2010, 66 pgs. cited by applicant .
Noe, A., "Matroska File Format (under construction!)", Retrieved from the Internet: URL: http://web.archive.org web/20070821155146/www.matroska.org/technical/specs/matroska.pdf, retrieved on Jan. 19, 2011, Jun. 24, 2007, 1-51. cited by applicant .
Ozer, "The 2012 Encoding and Transcoding Buyers' Guide", Streamingmedia.com, Retrieved from: http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/The-20- - 12-Encoding-and-Transcoding-Buyers-Guide-84210.aspx, 2012, 8 pgs. cited by applicant .
Pantos, "HTTP Live Streaming, draft-pantos-http-live-streaming-10", IETF Tools, Oct. 15, 2012, Retrieved from: http://tools.ietf.org/html/draft-pantos-http-live-streaming-10, 37 pgs. cited by applicant .
Pantos, R, "HTTP Live Streaming: draft-pantos-http-live-streaming-06", Published by the Internet Engineering Task Force (IETF), Mar. 31, 2011, 24 pages. cited by applicant .
RGB Networks, "Comparing Adaptive HTTP Streaming Technologies", Nov. 2011, Retrieved from: http://btreport.net/wp-content/uploads/2012/02/RGB-Adaptive-HTTP-Streamin- - g-Comparison-1211-01.pdf, 20 pgs. cited by applicant .
Schulzrinne, H et al., "Real Time Streaming Protocol 2.0 (RTSP): draft-ietfmmusic-rfc2326bis-27", MMUSIC Working Group of the Internet Engineering Task Force (IETF), Mar. 9, 2011, 296 pages. cited by applicant .
Siglin, "HTTP Streaming: What You Need to Know", streamingmedia.com, 2010, 15 pages. cited by applicant .
Siglin, "Unifying Global Video Strategies, MP4 File Fragmentation for Broadcast, Mobile and Web Delivery", Nov. 16, 2011, 16 pgs. cited by applicant .
Wu, Feng et al., "Next Generation Mobile Multimedia Communications: Media Codec and Media Transport Perspectives", In China Communications, Oct. 2006, pp. 30-44. cited by applicant.

Primary Examiner: Choi; Woo H.
Attorney, Agent or Firm: KPPB LLP

Claims



What is claimed is:

1. A method of encoding video, the method performed by an encoding system, comprising: encoding video at a first bitrate to produce first encoded sections using an encoding system; encoding the video at a second bitrate that is less than the first bitrate to produce second encoded sections using the encoding system, each having encoded therein the video of a corresponding one of the first encoded sections; measuring .[.levels of.]. objective quality .Iadd.levels .Iaddend.using the encoding system, indicative of perceptual quality, of the first and second encoded sections; determining, based on the measured objective quality levels, .Iadd.non-replaceable sections among the first encoded sections and .Iaddend.replaceable sections among the first encoded sections, and replacement sections among the second encoded sections using the encoding system, each to replace a corresponding one of the replaceable sections; generating identifying information that identifies the replaceable sections and their corresponding replacement sections in .[.the.]. .Iadd.a .Iaddend.first and second container files, respectively, using the encoding system; .Iadd.constructing a file containing (1) the non-replaceable sections from the first encoded sections and (2) the replacement sections from the second encoded sections; .Iaddend. streaming the identifying information using the encoding system; and in response to requests from a streaming client device that are dependent on the streamed identifying information, streaming the .[.first encoded.]. .Iadd.non-replaceable .Iaddend.sections .[.except for the replaceable sections.]. using the encoding device, and streaming the replacement sections instead of their corresponding replaceable sections, .[.at a same time as the corresponding replaceable section would have been streamed had the corresponding replaceable section not been replaced.]. .Iadd.wherein the streaming includes streaming from the file the non-replaceable sections, and streaming from the file the replacement sections.Iaddend..

2. The method of claim 1, wherein the determining includes: determining, using the encoding device, if corresponding first and second encoded sections have respective measured objective quality levels that each meet a predetermined criterion of objective quality; and declaring, using the encoding device, the corresponding first and second encoded sections as corresponding replaceable and replacement sections, respectively, if the respective measured objective quality levels each meet the predetermined criterion.

3. The method of claim 2, wherein the predetermined criterion of objective quality is indicative of an acceptable difference in the perceptual quality levels of the corresponding replaceable and replacement sections when decoded and presented.

4. The method of claim 2, wherein the predetermined criterion of objective quality is one of: a threshold level of objective quality that must be exceeded by each of the respective measured objective quality levels; and a maximum difference between the respective measured objective quality levels that must not be exceeded.

5. The method of claim 1, wherein: the measuring includes measuring a signal-to-noise ratio (SNR) as the objective quality level; and the determining includes determining whether the measured objective quality levels meet a predetermined criterion that is based on one of an absolute objective quality level and a relative objective quality level.

.[.6. The method of claim 1, further comprising: constructing a first file containing the first encoded sections, including the replaceable sections; constructing a second file containing the second encoded sections, including the replacement sections; and wherein the streaming includes: streaming the first encoded sections, except for the replaceable sections, from the first container file; and streaming the replacement sections from the second container file..].

.[.7. The method of claim 1, further comprising constructing a file containing the first encoded sections, except for the replaceable sections which are replaced by their corresponding replacement sections, wherein the streaming includes streaming from the file the first encoded sections, except for the replaceable sections, and the replacement sections..].

8. A non-transitory computer readable medium encoded with a computer program, including instructions to cause a processor to: encode video at a first bitrate to produce first encoded sections; encode the video at a second bitrate that is less than the first bitrate to produce second encoded sections, each having encoded therein the video of a corresponding one of the first encoded sections; measure objective quality levels, indicative of perceptual quality levels, of the first and second encoded sections; determine, based on the measured objective quality levels.Iadd., non-replaceable sections among the first encoded sections and .Iaddend.replaceable sections among the first encoded sections, and replacement sections among the second encoded sections, each to replace a corresponding one of the replaceable sections; generate identifying information that identifies the replaceable sections and their corresponding replacement sections in .[.the.]. .Iadd.a .Iaddend.first and second container files, respectively, using the encoding system; .Iadd.constructing a file containing (1) the non-replaceable sections from the first encoded sections and (2) the replacement sections from the second encoded sections; .Iaddend. stream the identifying information; and in response to requests from a playback device that are dependent on the streamed identifying information, stream the .[.first encoded.]. .Iadd.non-replaceable .Iaddend.sections .[.except for the replaceable sections,.]. and stream the replacement sections instead of their corresponding replaceable sections, .[.at a same time as the corresponding replaceable section would have been streamed had the corresponding replaceable section not been replaced.]. .Iadd.wherein the streaming includes streaming from the file the non-replaceable sections, and streaming from the file the replacement sections.Iaddend..

9. The computer readable medium of claim 8, wherein the instructions to cause the processor to determine include instructions to cause the processor to: determine if corresponding first and second encoded sections have respective measured objective quality levels that each meet a predetermined criterion of objective quality; and declare the corresponding first and second encoded sections as corresponding replaceable and replacement sections, respectively, if the respective measured objective quality levels each meet the predetermined criterion.

10. The computer readable medium of claim 9, wherein the predetermined criterion of objective quality is indicative of an acceptable difference in the perceptual quality levels of the corresponding replaceable and replacement sections when decoded and presented.

11. The computer readable medium of claim 9, wherein the predetermined criterion of objective quality is one of: a threshold level of objective quality that must be exceeded by each of the respective measured objective quality levels; and a maximum difference between the respective measured objective quality levels that must not be exceeded.

12. The computer readable medium of claim 8, wherein: the instructions to cause the processor to measure include instructions to cause the processor to measure a signal-to-noise ratio (SNR) as the objective quality level; and the instructions to cause the processor to determine include instructions to cause the processor to determine whether the measured objective quality levels meet a predetermined criterion that is based on one of an absolute objective quality level and a relative objective quality level.

.[.13. The computer readable medium of claim 8, wherein the instructions further include instructions to cause the processor to: construct a first file containing the first encoded sections, including the replaceable sections; construct a second file containing the second encoded sections, including the replacement sections; and wherein the instructions to cause the processor to stream include instructions to cause the processor to: stream the first encoded sections, except for the replaceable sections, from the first container file; and stream the replacement sections from the second container file..].

.[.14. The computer readable medium of claim 8, further comprising constructing a file containing the first encoded sections, except for the replaceable sections which are replaced by their corresponding replacement sections, wherein the streaming includes streaming from the file the first encoded sections, except for the replaceable sections, and the replacement sections..].

15. An .Iadd.encoding .Iaddend.apparatus, comprising: a processor.Iadd.; .Iaddend. .[.and.]. .Iadd.a .Iaddend.memory .[.configured to.]. .Iadd.storing computer executable instructions which when executed cause the processor to.Iaddend.: encode video at a first bitrate to produce first encoded sections, and encode the video at a second bitrate that is less than the first bitrate to produce second encoded sections, each having encoded therein the video of a corresponding one of the first encoded sections; measure objective quality levels, indicative of perceptual quality levels, of the first and second encoded sections; determine, based on the measured objective quality levels, non-replaceable sections among the first encoded sections and replaceable sections among the first encoded sections, and replacement sections among the second encoded sections, each to replace a corresponding one of the replaceable sections; and generate identifying information that identifies the replaceable sections and their corresponding replacement sections in .[.the.]. .Iadd.a .Iaddend.first and second container files, respectively, using the encoding system; .Iadd.construct a file containing (1) the non-replaceable sections from the first encoded sections and (2) the replacement sections rom the second encoded sections; .Iaddend. stream the identifying information; and in response to requests from a playback device that are dependent on the streamed identifying information.Iadd., .Iaddend.stream the .[.first encoded.]. .Iadd.non-replaceable .Iaddend.sections .[.except for the replaceable sections,.]. and the replacement sections instead of their corresponding replaceable sections, .[.at a same time as the corresponding replaceable section would have been streamed had the corresponding replaceable section not been replaced.]. .Iadd.wherein the streaming includes streaming from the file the non-replaceable sections, and streaming from the file the replacement sections.Iaddend..

16. The .Iadd.encoding .Iaddend.apparatus of claim 15, wherein the .[.processor and memory, configured to determine, are further configured.]. .Iadd.processor when executing the instructions in the memory is further configured to: .Iaddend.determine if corresponding first and second encoded sections have respective measured objective quality levels that each meet a predetermined criterion of objective quality; and declare the corresponding first and second encoded sections as corresponding replaceable and replacement sections, respectively, if the respective measured objective quality levels each meet the predetermined criterion.

17. The .Iadd.encoding .Iaddend.apparatus of claim 16, wherein the predetermined criterion of objective quality is indicative of an acceptable difference in the perceptual quality levels of the corresponding replaceable and replacement sections when decoded and presented.

18. The .Iadd.encoding .Iaddend.apparatus of claim 16, wherein the predetermined criterion of objective quality is one of: a threshold level of objective quality that must be exceeded by each of the respective measured objective quality levels; and a maximum difference between the respective measured objective quality levels that must not be exceeded.

19. The .Iadd.encoding .Iaddend.apparatus of claim 16, wherein .[.the processor and memory, configured to measure, are further configured.]. .Iadd.the processor when executing the instructions in the memory is further configured .Iaddend.to measure a signal-to-noise ratio (SNR) as the objective quality level; and the processor and memory, configured to determine, are further configured to determine whether the measured objective quality levels meet a predetermined criterion that is based on one of an absolute objective quality level and a relative objective quality level.

.[.20. The apparatus of claim 16, wherein: the processor and memory are further configured to construct a first file containing the first encoded sections, including the replaceable sections, and construct a second file containing the second encoded sections, including the replacement sections; and the processor and memory, configured to stream, are further configured to stream the first encoded sections, except for the replaceable sections, from the first container file, and stream the replacement sections from the second container file..].

.[.21. The apparatus of claim 16, wherein: the processor and memory are further configured to construct a file containing the first encoded sections, except for the replaceable sections which are replaced by their corresponding replacement sections; and the processor and memory, configured to stream, are further configured to stream from the file the first encoded sections, except for the replaceable sections, and the replacement sections..].

22. The .Iadd.encoding .Iaddend.apparatus of claim 15, further comprising: a communication system to communicate with a network; and a housing to house the processor and memory, and the communication system.

.Iadd.23. A content distribution system, comprising: a set of one or more encoding servers, wherein each server of the set of encoding servers comprises: a non-volatile storage storing computer executable instructions; and at least one processor; wherein the computer executable instructions, which when executed cause the processors in the set of one or more encoding servers to encode source content by: encoding a portion of video at a first bitrate to produce a first encoded section; encoding the same portion of video at a second bitrate that is less than the first bitrate to produce a second encoded section; measuring objective quality levels with respect to each of the first and second encoded sections; selecting one of the first and second encoded sections based on the measured objective quality levels of the first and second encoded sections; constructing a file containing the selected one of the first and second encoded sections, wherein the file contains at least one encoded section encoded at the first bitrate and at least one encoded section encoded at the second bitrate; storing a video stream comprising the file containing the selected one of the first and second encoded sections; and streaming the stored video stream in response to a request from a playback device. .Iaddend.

.Iadd.24. The content distribution system of claim 23, wherein the first and second sections encode video at a same resolution. .Iaddend.

.Iadd.25. The content distribution system of claim 23, wherein the first and second encoded sections are each a self-contained unit of media capable of being decoded without reference to any other encoded section. .Iaddend.

.Iadd.26. The content distribution system of claim 25, wherein the video stream comprises a plurality of encoded sections including the selected one of the first and second encoded sections and each of the plurality of encoded sections encodes a fixed duration of media. .Iaddend.

.Iadd.27. The content distribution system of claim 25, wherein the video stream comprises a plurality of encoded sections including the selected one of the first and second encoded sections and at least some of the plurality of encoded sections encode different durations of media. .Iaddend.

.Iadd.28. The content distribution system of claim 23, wherein each of the first and second encoded sections comprises a number of successive frames of video. .Iaddend.

.Iadd.29. The content distribution system of claim 23, wherein a measured objective quality of a section of video is at least one measure selected from the group consisting of: a signal-to-noise ratio (SNR) of the section, a peak SNR (PSNR) of the section, and a structural similarity index (SSIM) that measures a similarity between sections. .Iaddend.

.Iadd.30. The content distribution system of claim 23, wherein the processor when executing the instructions in the memory is further configured to encode source content by: determining when the second encoded section has a respective measured objective quality level that meets a predetermined criterion for objective quality; and selecting the corresponding second encoded section when the measured objective quality level meets the predetermined criterion. .Iaddend.

.Iadd.31. The content distribution system of claim 30, wherein the predetermined criterion of objective quality is indicative of an acceptable difference in the perceptual quality levels of the corresponding first and second sections when decoded and presented. .Iaddend.

.Iadd.32. The content distribution system of claim 30, wherein the measuring includes measuring a signal-to-noise ratio (SNR) as the objective quality level; and the determining includes determining whether the measured objective quality level meet a predetermined criterion that is based on one of an absolute objective quality level and a relative objective quality level. .Iaddend.

.Iadd.33. A content distribution system, comprising: a set of one or more encoding servers, wherein each server of the set of encoding servers comprises: a non-volatile storage storing computer executable instructions; and at least one processor; wherein the computer executable instructions, which when executed, cause the processor to encode source content by: encoding a portion of video at a first bitrate to produce a first encoded section, where the first encoded section is a self-contained unit of media capable of being decoded without reference to any other encoded section; encoding the same portion of video at a second bitrate that is less than the first bitrate to produce a second encoded section, where the second encoded section is a self-contained unit of media capable of being decoded without reference to any other encoded section; measuring objective quality levels with respect to each of the first and second encoded sections; determining when the second encoded section has a respective measured objective quality level that meets a predetermined criterion for objective quality; selecting one of the first and second encoded sections based on the measured objective quality levels of the first and second encoded sections, where the second encoded section is selected when the measured objective quality level of the second encoded section meets the predetermined criterion for objective quality; and; constructing a file containing the selected one of the first and second encoded sections, wherein the file contains at least one encoded section encoded at the first bitrate and at least one encoded section encoded at the second bitrate; storing a video stream comprising the file containing the selected one of the first and second encoded sections; streaming the stored video stream in response to a request from a playback device. .Iaddend.
Description



BACKGROUND

Distribution of multimedia (also referred to herein as "media" and/or "program(s)"), such as movies and the like, from network services to a client device may be achieved through adaptive bitrate streaming of the media. Typically, the media may be encoded at different bitrates and resolutions into multiple bitrate streams that are stored in the network services. Conventional adaptive bitrate streaming of media includes determining streaming conditions, e.g., an available streaming bandwidth at the client device, and then streaming a selected one of the different bitrate stream from the network services to the client device based on the determined conditions.

From the perspective of the network service, streaming media includes transmitting the media in response to requests from the client device. From the perspective of the client device, streaming media includes continuously requesting and receiving the media from the network services, and storing the received media in a buffer for subsequent presentation or playback, essentially, in near real-time. The buffered media may be presented, i.e., played back, in audio-visual form, for example.

The human visual system perceives a perceptual or subjective quality of streamed, presented media, and is able to detect small changes in the perceptual quality. The perceptual quality generally increases and decreases as the encoded bitrate of the streamed program (i.e., "streaming bitrate") increases and decreases. Therefore, more or less available streaming bandwidth may translate to more or less perceptual quality, respectively.

Given the ever pressing need to conserve bandwidth at the client device, conventional streaming techniques tend to select a streaming bitrate deemed to be sufficiently high to meet an acceptable level of perceptual quality, based on the streaming bandwidth conditions determined at the client device, as mentioned above. This bandwidth-centric determination and selection at the client device dies not take into consideration changes or variations in the content contained in the media itself over time as the media is streamed and, therefore, often results in unnecessarily high, and therefore, bandwidth-wasteful, streaming bitrates.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

FIG. 1 is a block diagram of an example network environment in which adaptive streaming of multimedia (also referred to herein as "media" and "program(s)") from network services to a client device may be implemented.

FIG. 2 is an illustration of an example encoded video program generated by a media distributor.

FIG. 3 is an illustration of a container file that encodes a single audio stream.

FIG. 4 is an illustration of a container file that encodes multiplexed audio and video streams.

FIG. 5 is an illustration of a container file that encodes multiplexed video, audio, text, and metadata streams.

FIG. 6 is an illustration of an example of swapping-while-streaming from the container files of FIG. 2.

FIG. 7 is an illustration of an example of pre-swapped streaming using the container files of FIG. 2.

FIG. 8 is an illustration of example level-drop (or swap) information that identifies swappable, co-located clusters, as determined in cluster swapping examples of FIGS. 6 and 7.

FIG. 9 is a sequence diagram of example high-level interactions between a distributor and a client device in the network environment of FIG. 1.

FIG. 10 is a flowchart of an example method of streaming a program, which may be performed at a client device of FIG. 1.

FIG. 11 is a flowchart of an example method of adaptive streaming of programs from network services to a client device, which may be performed in a distributor of the network services.

FIG. 12 is a flowchart of a method expanding on the streaming in the method of FIG. 11 corresponding to a swapping-while-streaming embodiment, in which streaming is from multiple files.

FIG. 13 is a flowchart of a method expanding on the streaming of the method of FIG. 11, corresponding to a pre-swapped embodiment, in which streaming is from a single file constructed from multiple different files.

FIG. 14 is a block diagram of an example computer system corresponding to any network services, including a distributor in the network services.

FIG. 15 is a block diagram of an example system representing a client device.

FIG. 16 is a block diagram of a computer system configured to perform processing of media/programs and adaptive streaming.

FIG. 17 is a block diagram of an example computer program hosted in a client-side computer system (e.g., client device) similar to the compute system of FIG. 14.

In the drawings, the leftmost digit(s) of a reference number identifies the drawing in which the reference number first appears.

DETAILED DESCRIPTION

Embodiments described herein are directed to adaptive streaming of a video program from network services to a client device that utilize encoded video section swapping to reduce streaming bandwidth, which minimally impacting a perceptual/presentation quality of the streamed program at the client device. The adaptive streaming with sections swapping embodiments reduce streaming bandwidth at client the device based on characteristics or properties of content in the video program, i.e., measures of objective quality indicative of perceptual quality, that changes over time while the program is being streamed. More specifically, the embodiments determine swappable, corresponding/co-located sections of video encoded at different bitrates based on the measured objective quality levels of the co-located sections and the predetermined criterion of objective quality. The swappable, co-located sections include a section encoded at a first bitrate and a section encoded at a second bitrate that is less than the first bitrate. During streaming of the video program, the section encoded at the first bitrate is replaced with the co-located section encoded at the lesser second bitrate, thereby conserving streaming bandwidth by a substantial amount approximately equally to a difference between the first and second bitrates.

Network Environment

FIG. 1 is a block diagram of an example network environment 100 in which adaptive streaming of programs from network services to a client device may be implemented. Network environment 100 includes a collection of server-side services 101 that interact and cooperate to originate, manage, and distribute, e.g., stream, programs to a user operated client device 104 over one or more networks 106, such as the Internet. Such program include, but are not limited to, entertainment programs (e.g., television, shows, movies, cartoons, new programs, etc.), educations programs (e.g., classroom video, adult education video, learning programs, etc.), and advertising programs (e.g., commercials, infomercials, or marketing content). Network services 102 communicate with each other and with client device 104 using any suitable communication protocol, such as an Internet protocol, which may include Transmission Control Protocol/Internet Protocol (TCP/IP), Hypertext Transfer Protocol (HTTP), etc.

Client device 104 may be capable of wireless and/or wired communication with networks 106. Client device 104 includes processing, storage, communication, and user interface capabilities sufficient to provide all of the client device functionality described herein. Such functionality may be provided, at least in part, by one or more applications, such as computer programs, that execute on client device 104. Applications executed on client device 104 may include client-side application, which presents Graphical User Interfaces (GUIs) through which a user of the client device may interact with and request services from corresponding server-side applications hosted in services 102. Accordingly, under user control, client device 104 may request/select programs from services 102, stream the selected programs from the services, and then present the streamed programs, in other words, playback the streamed programs.

Network services 102 include, but are not limited to, one or more media provider(s) 112 to originate source programs, and one or more media distributor(s) 114 to encode, store, and distribute the programs to client device 104. Each of the services 102 may be implemented as one or more computer servers that execute one or more associated server-side computer program applications suited to the given service. Media providers 112, such as Netflix.RTM., HBO.RTM., cable networks, and so on, utilize network services 102 to manage and deliver their revenue bearing programs to client device 104. Media providers 112 download their source programs to distributor 114, which encodes, stores, and then streams the encoded programs to client device 104 when requested to do so.

Distributor 114 includes an encoded 122 and a stream manager 126. Encoded 122 may encode each program into a number of alternative streams to support adaptive bitrate streaming of the program. The alternative streams encode the same program in different ways, such as at one or more of different bitrates, one or more different resolutions, and/or one of more different frame rats. As will be described more fully below in connection with FIG. 2, each of the encoded streams is typically stored in one or more container files. Encoder 122 also generates a program index file for the container files associated with the encoded program. Stream manager 126 manages streaming of the encoded program from the container files to client device 104 when the client device requests the program. Stream manager 126 cooperates with the requesting client device 104 to support adaptive bitrate streaming of the program from the container files to the client device.

Distributor 114 may also store auxiliary streams which contain information associated with the program streams mentioned above. The auxiliary streams are encoded at low bitrates, e.g., at bitrates of 200 kbps or much less. The auxiliary streams may include metadata synchronized in time with and descriptive of the content in associated main program streams. The metadata may include cues indicating or bracketing, e.g., commercial segments, or other non-program segments/content, such as level-drop information for encoded section swapping as will be described below, interspersed throughout the program streams. Typically, such auxiliary streams would be streamed simultaneously with their associated program streams and handled appropriately at the client device. However, the auxiliary streams may be streamed before the program streams.

As discussed above, client-side GUIs provide a user with access to services and program offerings. Such client-side GUIs typically include easily navigable program guides, and may present programs and channel selection options, program descriptions, advertisements, programming/user control options, and other typical programming features, as would be appreciated by those of ordinary skill in the relevant arts. The client-side GUIs accept user selections/requests, such as a request to view a program. In response to such GUI selections/requests, the client-side application sends appropriate requests to a counterpart server-side application residing in distributor 114, to initiate the appropriate actions among services 102 that will satisfy the client selections/requests, e.g., enable a client device to stream the selected program from the distributor for presentation to the user.

Container Files--Streaming Sources

As described above, distributor 114 encodes source programs from providers 112. To support adaptive bitrate streaming, distributor 122 may encode the source programs at multiple bitrates to produce multiple streams for each source program, as will be described more fully below in connection with FIG. 2. While streaming such encoded programs, client device 104 may switch between streams (and thus between encoded bitrates and corresponding streaming rates) according to conditions at the client device.

FIG. 2 is an illustration of an example encoded video program 200 generated by distributor 112. Encoded video program 200 includes multiple (encoded) video streams 1-4 encoded at multiple corresponding bitrates Rate 1-Rate 4. Encoded video streams 1-4 encode video at multiple video resolutions Res 1-Res 4, which may be equal to or different from each other. Encoded video program 200 includes a program stream index 204 and multiple container files 208(1)-208(4) corresponding to streams 1-4.

Program stream index 204 includes pointers 210(1)-(4), e.g., Uniform Resource Locators (URLs), to corresponding container files 208(1)-(4), and lists encoding parameters used to encode each of the streams 1-4, including, but not limited to, encoded bitrates Rate 1-Rate 4, encoding resolutions Res 1-Res 4, frame rates, and encoding techniques/standards. Exemplary, non-limiting, bitrates may range from below 125 kilo-bits-per-second (kbps) up to 15,000 kbps, or even higher, depending on the type of encoded media.

Each of container files 208 comprises sequential clusters 212 of a larger media sector (not shown in FIG. 2), and sequential blocks 214 of encoded media (which may also include audio, text, multimedia, etc., in addition to video) within each of the clusters. Each cluster 212, and each block 214, includes a time code TC indicating a start time for the media encoded in the blocks of that cluster, and encodes a fixed duration of media. For example, each cluster 212 of container file 208(1) encodes two seconds of video. In other embodiments, each cluster may encode a different duration of media, which may vary from two seconds. Each cluster 212 is a self-contained unit of media that may be decoded and presented on client devices 204 without reference to any other clusters. Clusters 212 may also include successive cluster members identifying a streaming sequence of the clusters.

Each cluster/block 212/214 in a given one of the container files 208 encodes the same content (e.g., video content) as corresponding clusters in the other ones of the container files. For example, the cluster/block indicated at A in container file 208(1) has encoded therein the same video as that encoded in the clusters/blocks indicated at B, C, and D of container files 208(2), 208(3), and 208(4), respectively. Corresponding clusters/blocks are also referred to herein as "co-located" clusters/blocks because they encode the same video and share the same time code TC, i.e., they are aligned or coincide in time.

Container files may encode a single stream, such as a video stream (as depicted in FIG. 2), an audio stream, or a text stream (e.g., subtitles). Alternatively, each container file may encode multiple multiplexed streams, such as a mix of video, audio, and text streams. FIGS. 3-5 are further illustrations of diverse container files.

FIG. 3 is an illustration of a container file 300 that encodes a single audio stream.

FIG. 4 is an illustration of a container file 400 that encodes multiplexed audio and video streams.

FIG. 5 is an illustration of a container file 500 that encodes multiplexed video, audio, text, and metadata streams.

In addition, a container file may encode only a metadata stream at a relatively low bitrate.

The encoded container files depicted in FIGS. 2-5 support adaptive streaming to client device 104. If conditions change while streaming, then client device 104 may switch between container files to stream at rates best suited to the conditions.

In embodiments: the container files may be Matroska containers based on Extensible Binary Meta Language (EBML), which is a derivative of Extensible Binary Meta Language (XML), or files encoded in accordance with the Moving Picture Experts Group (MPEG) standard; the program index may be provided in a Synchronized Multimedia Integration Language (SMIL) format; and client device 104 may implement adaptive streaming from distributor 114 over networks 106 using the HTTP protocol.

The container files described above may support adaptive streaming of encoded video programs across an available spectrum bandwidth that is divided into multiple, i.e., n, levels. Video having a predetermined video resolution for each level may be encoded at a bitrate corresponding to the band-width associated with the given level. For example, in DivX.RTM. Plus Streaming, by Royi Corporation, the starting bandwidth is 125 kbps and the ending bandwidth is 8400 kbps, and the number n of bandwidth levels is eleven (11). Each bandwidth level encodes a corresponding video stream, where the maximum encoded bitrate of the video stream (according to a hypothetical reference decoder model of the video coding standard H.264) is set equal to the bandwidth/bitrate of the given level. In DivX.RTM. Plus Streaming, the 11 levels are encoded according to 4 different video resolution levels, in the following way: mobile (2 levels). standard definition (4 levels), 720p (2 levels), and 1080p (3 levels).

Section Swapping: Objective Quality vs. Perceptual Quality

Adaptive streaming embodiments described herein take into consideration certain characteristics in the content in video programs (also referred to herein simply as "video") to be streamed, to reduce streaming bitrates. as will now be described. The human visual system is able to detect small changes in the perceptual or presentation quality of presented video. However, perceptual quality and changes in perceptual quality are difficult to measure directly. Instead, certain characteristics or properties of encoded video, that are indicative of perceptual quality video as actually presented (i.e., once the encoded video is decoded and presented), may be determined, e.g., measured directly, in a straight forward manner. Such measured properties represent an objective quality of the video. As the content of encoded video varies across successive sections of the encoded Video, and between co-located sections of encoded video in different video streams, the objective quality correspondingly varies, and may be measured to determine a level of objective quality corresponding to each of the aforementioned sections. The term "section" as used herein refers to a number of successive frames of video, including, but not limited to, multimedia audio-visual content, which may be collected into successive blocks and clusters in container files for streaming, as described above.

The difference in objective quality levels between co-located sections of encoded video (e.g., between co-located clusters from two container files that encode the same video but at different bitrates) may be used to determine a corresponding difference in the perceptual quality of the two video sections. Specifically, the difference in objective quality levels may be used to determine whether that difference is sufficiently large as to cause a visually noticeable difference in the perceptual quality of the two sections (once decoded and presented). With this in mind, there exists a criterion of objective quality (referred to as a predetermined "swap criterion" of objective quality), for the two objective quality levels, that translates to a virtually imperceptible difference in perceptual quality. Two co-located sections having objective quality levels that meet this criterion are considered interchangeable or swappable with each other for purposes of streaming to a client device because of their imperceptible or nearly imperceptible difference in perceptual quality. "Co-located" sections are also referred to herein as "corresponding" sections.

Swappable, co-located, encoded sections may be swapped to reduce streaming bandwidth in cases where co-located sections include a first section encoded at a relatively high bitrate and a (co-located) second section encoded at a relatively low bitrate. Specifically, streaming the (lower bitrate) second section instead of (i.e., in place of) its co-located (higher bitrate) first section reduces streaming bandwidth, while maintaining perceptual quality. The first section is referred to herein as a "replaceable section" and the second section that is streamed instead of the first section is referred to herein as the "replacement section." The more often high bitrate sections are replaced with their co-located low bitrate sections while streaming, i.e., the more often bitrate swapping occurs, the more streaming bandwidth is conserved.

Measures of objective quality of a section of encoded video (e.g., of a cluster/block of encoded video) include, but are not limited to, a signal-to-noise ratio (SNR) of the section, a peak SNR (PSNR) of the section, a structural similarity index (SSIM) that measures a similarity between sections, and so on.

PSNR is a commonly used measure for assessing a quality of reconstructed video after compression (encoding). PSNR is measured on a logarithmic scale and depends on the Mean Squared Error (MSE) between an original source image and an impaired image or video frame. A higher PSNR generally indicates better quality, while a lower PSNR generally indicates poorer quality. Formulas for PSNR are given below:

.times..times..times..function..function. ##EQU00001## .function. ##EQU00001.2## Where: m & n are dimensions of an image; I & K are components of an image (Y, U, V); and MAX, is a maximum possible pixel value.

Each section of encoded video may be assigned one or more scores based on the different possible objective quality measures. Multiple successive encoded sections may have their objective quality levels combined into and, therefore, associated with, a single measurement of objective quality, which may include, e.g., a mean or variance of the SNR (or PSNR) or each of the multiple sections.

A criterion of objective quality that indicates co-located sections may be swapped with little or no impact on perceptual quality--if the co-located section have levels of objective quality that each meet that criterion--may be based on one of: a. an absolute level of objective quality, e.g., co-located clusters are declared swappable if the PSNR of each cluster is above a threshold PSNR; and b. a difference between respective levels objective quality of co-located encoded sections, e.g., co-located clusters are declared swappable if a difference between their respective PSNR values is less than a certain PSNR difference threshold.

For relative criterion (b), a variable scale may be defined using as a base PSNR a highest level PSNR among encoded sections under consideration; e.g., for encoded section PSNR levels in a range of 29 dB and 31 dB, an acceptable difference value may be 1.5 dB, and for encoded section PSNR levels in a range of 27 dB and 29 dB, an acceptable PSNR difference level may be only 1 dB. The variable scale may be extended to cover all encoded section PSNR levels that are expected as part of an encoding process, and may also extend to cover other objective quality metrics such as a mean, a variance, a difference between highest and lowest PSNR levels in a cluster, or a formula combining some or all of these or other metrics. Such assignments may be altered based on the type of objective quality that is used.

Embodiments directed to adaptive streaming using section swapping described below include (i) a "swapping-while-streaming" embodiment in which swappable co-located sections from different files are swapped while streaming, and (ii) a "pre-swapped streaming" embodiment in which a single file containing pre-swapped sections is constructed from multiple encoded files before streaming is initiated, and then all of the sections in the single file, including the pre-swapped sections, are streamed from that file. Examples of these embodiments are described below.

Swapping-While-Streaming

In swapping-while-streaming, swappable co-located sections are swapped while streaming from multiple different container files in real-time, such as from multiple container files 208 in FIG. 2.

FIG. 6 is an illustration of an example of swapping-while-streaming from container files 208 of FIG. 2. With reference to FIG. 6, the example assumes the following: a. Separate container files 208(1), 208(2), and 208(3) represent three levels N, N-1 and N-2, respectively, of the n levels available for e.g., DivX.RTM. Plus Streaming; b. Levels N, N-1, and N-2 are each encoded at successively decreasing bitrates but may be at the same resolution. In other examples, the Levels are each encoded at successively decreasing bitrates but may be at different resolutions; c. Swappable, co-located clusters (including a replaceable section, and its corresponding replacement section) have been determined and identified across the container files 208(1)-208(3). As described above, the swappable, co-located clusters are determined based on determined/measured objective quality levels of the clusters in the container files and a comparison of the determined/measured objective quality levels (of co-located sections) against a predetermined criterion of objective quality indicative of a minimal difference in perceptual quality; and d. Level N is initially selected for streaming.

Traversing left-to-right in FIG. 6, initially, encoded sections from level N are streamed from container file 208(1). Encoded sections are streamed predominantly from level N. However, while the sections from Level N are streamed, replaceable (swappable) sections thereof are encountered and replaced with co-located replacement (swappable) sections from level N-1, or level N-2, as indicated at LD1, or LD2, respectively. That is, the lower level, co-located replacement sections are streamed instead of the higher level replaceable sections, resulting in conserved streaming bandwidth. Each replacement section is streamed at the same time its corresponding co-located replaceable section would have been streamed had it not been replaced, so as to maintain a proper encoded video sequence. A section swap is referred to as a "level-drop" because the source level (n) from which the replacement section is streamed is lower than the current level, e.g., in a swap, the level drops from level N to Level N-1, or Level N-2. In swapping while streaming, client device 104 and distributor 114 cooperate with each other to swap sections from different container files.

Pre-Swapped Streaming

In pre-swapped streaming, a single file containing swappable sections, i.e., level-drops, is constructed from multiple files before streaming. Then, the sections in the single file, including the pre-swapped sections, are streamed from that file.

FIG. 7 is an illustration of an example of pre-swapped streaming using container files 208 of FIG. 2. Before streaming, swappable, co-located clusters are determined and identified across levels N, N-1, and N-2, similar to the swapping-while-streaming embodiment. The determined swaps, or level-drops, are incorporated into Level N. In other words, determined and identified replaceable sections of Level N are replaced with co-located replacement sections of Levels N-1 and N-2, as identified. As a result, a new, pre-swapped Level N file is constructed that incorporates original sections of Level N that were not indicated as replaceable, and the determined/identified replacement sections (i.e., level-drops) instead of the replaceable sections. Then, sections are streamed only from the new, pre-swapped Level N file. In pre-swapped streaming, streaming of the pre-swapped sections is transparent to client device 104, which simply requests streaming sections from the single file. The examples of FIGS. 6 and 7 may be extended over more container files at different bitrates, and thus more levels and corresponding level-drops.

Level-Drop Information

FIG. 8 is an illustration of example level-drop (or swap) information 800 that identifies swappable, co-located clusters, as determined in the cluster swapping examples of FIGS. 6 and 7. In the manner described above, and further below, distributor 114 measures objective quality levels of sections, e.g., clusters in container files 208, and then determines swappable co-located clusters between the files based on the measured objective quality levels and a predetermined swap criterion. Distributor 114 generates level-drop information 800 as records 802, 804 and 806 that identify the determined, swappable, co-located clusters in the different files. Each record identifies swappable clusters including a starting cluster and its contiguous following clusters (if any), and also blocks within clusters. Each record may include one or more of cluster/block numbers, time codes TC, location/addresses of the clusters in the file. Level-drop information 800 includes: a. records 802 linked vertically to indicate determined, time-ordered, replaceable clusters among the clusters of level N, e.g., in container file 208(1); b. records 804 linked vertically to indicate determined, time-ordered replacement clusters among the clusters of level N-1, e.g., in container file 208(2); and c. records 806 to indicate a determined replacement cluster among the clusters of level N-2, e.g., in container file 208(3). Horizontal links 810 between records indicating co-located, replaceable and replacement clusters, e.g., between Level N and Levels N-1, N-2.

Distributor 114 may embed level-drop information 800 as in container files and metadata. Alternatively, or additionally, level-drop information may be stored as an auxiliary/metadata, level-drop file that is stored and indexed separately from the container files. Therefore, in the swapping-while-streaming embodiment, level-drop information 800 may be streamed from distributor 114, to client device 104, with streamed clusters. Alternatively, level-drop information may be streamed from the auxiliary file separately from the clusters.

In the pre-swapped embodiment, distributor 114 uses level-drop information 800 to construct a single pre-swapped file and need not be streamed to client device 104. However, client device 104 does not need the level-drop information.

Server-Client Sequence Diagram

FIG. 9 is a sequence diagram of example high-level interactions 900 between distributor 114 and client device 104 in network environment 100. Interactions 900 progress in time from top-to-bottom in FIG. 9, as a sequence of phases beginning with an initialization/set-up phase 904 indicated in the top left-hand corner of FIG. 9.

During initialization/set-up phase 904, distributor 114 encodes video programs and stores the encoded video programs in container files for subsequent streaming to client device 104. Distributor 114 determines swappable co-located sections among the container files associated with each program based on determined objective quality measures and a predetermined swap criterion for the objective quality measures of co-located clusters in different files, as discussed above. Distributor 114 embeds drop-level information, such as information 900, in the container files, or stores the information in a separate drop-level file. In the pre-swapped embodiment, distributor 114 constructs a single file for streaming using the drop-level information and the multiple container files.

During a user interaction phase 920, client device 104 presents client-side GUIs to a user. At 924, the user selects a program from the GUIs, and, in response, client device 104 sends a request for the program to distributor 114.

During a pre-streaming phase 930, in response to the client device request (at 924), at 932, the distributor 114 sends an index of URLs associated with the requested program to client device 104. In the swapping-while-streaming embodiment, distributor 114 may also sends drop-level information if such information is provided in a separate file. Alternatively, distributor 114 may stream the drop-level information to client 104 in subsequent pre-streaming and streaming phases 930, 940, described below. The URLs may include a first URL directed to a program index (e.g., index 204 in FIG. 2) for the encoded program corresponding to the requested program and stored in distributor 114, and a second URL directed to a drop-level file, if available.

During streaming phase 940, streaming of the requested program from distributor 114 to client device 104 commences. Client device 104 determines a streaming bandwidth available at the client device and selects a stream from among the multi-bitrate streams, as indicated in the program index, that best matches the determined bandwidth. Client device 104 continually requests encoded stream sections from container files in distributor 114 based on the index information and the level-drop information (in the swapping-while-streaming embodiment), and receives the requested blocks from the distributor. In the swapping-while-streaming embodiment, the level-drop information may have been received during pre-streaming phase 930, may be streamed from a separate level-drop file, and/or may be embedded as records in the encoded video sections streamed during stage 940. Client device 104 buffers the received sections, decodes the buffered sections, and then presents the decoded sections. As streaming conditions change, client device 104 may switch to a new stream, i.e., request sections from another stream having a bitrate better suited to the changed conditions.

In yet another embodiment, level-drop information may be calculated dynamically at client device 104 instead of distributor 114 based on objective quality levels embedded in streamed sections. In this embodiment, distributor 114 embeds measured objective quality levels in corresponding encoded video sections, and streams the sections to the client device 104. Client device 104 calculates level-drop information based on the received objective quality levels, and performs swapping-while-streaming based on the dynamically calculated objective quality levels.

In both the swapping-while-streaming and pre-swapped embodiments, client device 104 intermittently requests replacement blocks having a lower encoded bitrate than the co-located replaceable block, which advantageously conserves streaming bandwidth at the client device. Each replacement block is streamed at the same its corresponding or co-located replaceable block would have been streamed had it not been replaced.

Client-Side Method

FIG. 10 is a flowchart of an example summary method 1000 of stream a video program with swapped sections, which may be performed at client device 104. 1005 includes requesting to stream the video program. 1010 includes receiving an index to multiple files containing the video encoded at different bitrates, including at least a first bitrate and a second bitrate that is less than the first bit rate. 1015 includes determining an available streaming bandwidth. 1020 includes selecting from the received index the file encoded at the first bitrate based on the determined streaming bandwidth. 1025 includes initiating streaming of the selected file. 1030 includes streaming the selected file, including requesting successive sections of encoded video and receiving the requested sections. The swapping-while-streaming embodiment also includes receiving level-drop information in any number of ways, including streaming the level-drop information from an auxiliary file before or while streaming the encoded video, or as metadata embedded with the streamed encoded sections. The streaming in the swapping-while-streaming embodiment includes requesting encoded sections from multiple levels (e.g., levels N, N-1, and N-2, etc.), i.e., requesting swappable sections, based on the level-drop information, so as to conserve bandwidth.

Server/Network-Side Method

FIG. 11 is a flowchart of an example summary method 1100 of preparing, and adaptive streaming of, a video program with swapped sections from services 102 to client device 104, which may be performed in distributor 114. 1110 includes encoding video at a first bitrate to produce first encoded sections. 1115 includes encoding the video at a second bitrate that is less than the first bitrate to produce second encoded sections, each having encoded therein the video of a corresponding one of the first encoded sections. The first and second encoded sections may encode video that has the same resolution for each of the first and second encoded sections, or may encode video having different resolution. 1120 includes measuring levels of objective quality, indicative of perceptual quality, of the first and second encoded sections. 1125 includes determining, based on the measured objective quality levels and a predetermined criterion of objective quality indicative of a relatively small difference in perceptual quality, swappable sections, including replaceable sections among the first encoded sections, and corresponding replacement sections among the second encoded sections, each of the replacement sections to replace a corresponding/co-located one of the replaceable sections. This can be through of as declaring or identifying certain co-located sections as swappable sections if they meet the predetermined criterion. A result of the determining in 1125 is to identify sections in lower levels (e.g., N-1, N-2) which may be swapped with higher levels (e.g., N) with little or no impact to the subjective/perceptual quality of the video. 1130 includes generating, from the determining in 1125, level-drop information identifying the replaceable sections and their corresponding replacement sections in the first and second container files, respectively. 1135 includes streaming the first encoded sections except for the replaceable sections, and the replacement sections instead of their corresponding replaceable sections, thereby conserving streaming bandwidth. Each replacement section is streamed at the same time its corresponding or co-located replaceable section would have been streamed had it not been replaced.

FIG. 12 is a flowchart of a method 1200 expanding on the streaming at 1140, corresponding to the swapping-while-streaming embodiment described above, in which streaming is from multiple files. 1205 includes streaming the replacement sections instead of the replaceable sections from a second file containing the second encoded sections. Each replacement section is streamed from the second file at the same time its corresponding replaceable section would have been streamed from the first file. 1210 includes streaming the replacement sections from a second file containing the second encoded sections.

FIG. 13 is a flowchart of a method 1300 expanding on the streaming at 1140, corresponding to the pre-swapped embodiment described above, in which streaming is from a single file constructed from multiple different bitrate files. 1305 includes constructing a file containing (i) the first encoded sections, except for the replaceable sections, and (ii) the replacement sections instead of their corresponding replaceable sections. 1310 includes streaming the first encoded sections, except for the replacement section, and the replacement sections from the constructed file.

Methods and systems disclosed herein may be implemented with respect to one or more of a variety of systems including one or more consumer systems, such as described below with reference to FIGS. 13 and 14. Methods and systems disclosed herein are not, however, limited to the examples of FIGS. 13 and 14.

Prototype Example

In a prototype example, a full length feature movie (video program) (2hours and 25 minutes) was encoded at three bitrates: 8400 kbps, 5300 kbps, and 3500 kbps utilizing a 2-pass encoding process at a resolution of 1920.times.816 pixels and 24 frames per second. The PSNR for each frame was determined against the original source video, and the frames were grouped into clusters of 48 frames, corresponding to 2 seconds of video frames. From here, the lowest PSNR of the frames in a cluster was determined for each cluster, and a minimum PSNR of 40 dB was chosen as the least acceptable objective quality metric for a cluster. If the minimum PSNR for a cluster at a lower level was available, that cluster was swapped for the higher level cluster. This approach was used for 8400 kbps (using 8400 kbps, 5300 kbps, and 3500 kbps), and for 5300 kbps (using 5300 kbps and 3500 kbps). The results were an accumulative bandwidth savings of 36% for an 8400 kbps stream and 18% for a 5300 kbps stream, with minimal impact on perceptual quality.

System and Computer Block Diagrams

FIG. 14 is a block diagram of an example computer system 1400 corresponding to any of services 102, including distributor 114. Computer system 1400, which may be, e.g., a server, includes one or more processors 1405, a memory 1410 in which instruction sets and databases for computer program applications are stored, a mass storage 1420 for storing, e.g., encoded programs and drop-level information, and an input/output (I/O) module 1415 through which components of computer system 1400 may communicate with networks 106.

FIG. 15 is a block diagram of an example system 1500 representing, e.g., client device 104, and may be implemented, and configured to operate, as described in one or more examples herein.

System 1500 or portions thereof may be implemented within one or more integrated circuit dies, and may be implemented as a system-on-a-chip; (SoC).

System 1500 may include one or more processors 1504 to execute client-side application program stored in memory 1505.

System 1500 may include a communication system 1506 to interface between processors 1504 and communication networks, such as networks 106. Communication system 1506 may include a wired and/or wireless communication system.

System 1500 may include a stream processor 1507 to process program streams, received over channel 1508 and through communication system 1506, for presentation at system 1500. Stream processor 1507 includes a buffer 1507a to buffer portions of received, streamed programs, and a decoder 1507b to decode and decrypt the buffered programs in accordance with encoding and encryption standards, and using decryption keys. In an alternative embodiment, decoder 1507b may be integrated within a display and graphics platform of system 1500. Stream processor 1507 together with processors 1504 and memory 1505 represent a controller of system 1500. This controller includes modules to perform the functions of one or more examples described herein, such as a streaming module to stream programs through communication system 1506.

System 1500 may include a user interface system 1510.

User interface system 1510 may include a monitor or display 1532 to display information from processor 1504, such as client-side storefront GUIs.

User interface system 1510 may include a human interface device (HID) 1534 to provide user input to processor 1504. HID 1534 may include, for example and without limitation, one or more of a key board, a cursor device, a touch-sensitive device, and or a motion and/or image sensor, HID 1534 may include a physical device and/or a virtual device, such as a monitor-displayed or virtual keyboard.

User interface system 1510 may include an audio system 1536 to receive and/or output audible sound.

System 1500 may correspond to, for example, a computer system, a personal communication device, and/or a television set-top box.

System 1500 may include a housing, and one or more of communication system 1506, processors 1504, memory 1505, user interface system 1510, or portions thereof may be positioned within the housing. The housing may include, without limitation, a rack-mountable housing, a desk-top housing, a lap-top housing, a notebook housing, a net-book housing, a set-top box housing, a portable housing, and/or other conventional electronic housing and/or future-developed housing. For example, communication system 1502 may be implemented to receive a digital television broadcast signal, and system 1500 may include a set-top box housing or a portable housing,, such as a mobile telephone housing.

Accordingly, system 1500 may include, but is not limited to, stand-alone equipment, such as personal computers, lap-tops, ultrabooks, and tablets, and mobile phones and smart-phones/Personal Digital Assistants (PDAs). system 150 may also represent and include a suite of interconnected devices, such a set-top box/video game console device, a remote to operate such a device, and an audio-visual display and/or computer. System 1500 may also represent and include (digital video disk) DVD and Blu-ray players, and televisions.

FIG. 16 is a block diagram of a computer system 1600, configured to perform processing of media/programs and adaptive streaming as described herein.

Computer system 1600 includes one or more computer instruction processing units and/or processor cores, illustrated herein as processor 1602, to execute computer readable instructions, also referred to herein as computer program logic.

Computer system 1600 may include memory, cache, registers, and/or storage, illustrated here as memory 1604, which may include a non-transitory computer readable medium encoded with computer programs, illustrated here as computer program 1606.

Memory 1604 may include data 1608 to be used by processor 1602 in executing computer program 1606, and/or generated by processor 1602 during execution of computer program 1606. Data 1608 includes a database 1608a of container files and generated drop-level information for use in the methods described herein.

Compute program 1606 may include the following server-side instructions: a. encoding instructions 1610 to cause processor 1602 to encode programs at different bitrates into different container files; b. measurer instructions 1612 to measure objective quality levels of encoded video sections; c. determiner instructions 1614 to cause processor 1602 to determine, based on the measured objective quality levels and a predetermined criterion of objective quality indicative of a relatively small difference in perceptual quality, swappable, co-located sections among the different container files, e.g., to determine replaceable sections and corresponding replacement sections; d. generating instructions 1616 to generate level-drop information identifying the determined co-located swappable sections; e. streaming instructions 1618 to stream the encoded programs, and swap the swappable sections as appropriate in the swapping-while-streaming embodiment; and f. file constructing instructions 1620 to construct a file from multiple files containing pre-swapped sections in the pre-swapped embodiment.

FIG. 17 is a block diagram of an example computer program 1706 hosted in a client-side computer system similar to computer system 1600. Computer program 1606 may include the following client-side instructions: a. client-side application instructions 1710 to cause a client-side processor to communicate with corresponding server-side distributors, present corresponding client-side navigable GUIs, permit a user to select programs for presentation, and present streamed programs; b. bandwidth determiner instructions 1712 to cause the processor to determine an available streaming bandwidth; c. streaming instructions 1714 to cause the processor to initiate and maintain streaming of programs. Streaming instructions 1714 include instructions to cause the processor to identify swappable co-located sections from drop-level information received from a server-side peer and to stream the identified swappable sections accordingly; and d. decoding instructions 1716 to cause the processor to decode streamed programs.

Methods and system disclosed herein may be implemented in hardware, software, firmware, and combinations thereof, including discrete and integrated circuit logic, applications specific integrated circuit (ASIC) logic, and microcontrollers, and may be implemented as part of a domain-specific integrated circuit package, and/or a combination of integrated circuit packages. Software may include a computer readable medium encoded with a computer program including instructions to cause a processor to perform one or more functions in response thereto. The computer readable medium may include a transitory and/or non-transitory medium. The processor may include a general purpose instruction processor, a controller, a microcontroller, and/or other instruction-based processor.

Methods and systems are disclosed herein with the aid of functional building blocks illustrating functions, features, and relationships thereof. At least some of the boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries may be defined so long as the specified functions and relationships thereof are appropriately performed.

A method embodiment which may be performed at a client-side or a network/server-side comprises: a. replaceable sections among first sections of video encoded at a first bitrate, and b. replacement sections of the video each encoded at a bitrate that is less than the first bitrate and having encoded therein the video of a corresponding one of the replaceable sections, each replacement section and the corresponding replaceable section having respective measured levels of objective quality that meet a predetermined criterion of objective quality; and

streaming the first sections of video except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections.

The method may further comprise:

decoding the streamed first sections and the replacement sections to recover the video encoded therein; and

presenting the recovered video.

In the method, the predetermined criterion of objective quality, if met, may translate to an acceptable difference in perceptual quality levels of the video when decoded from the corresponding replaceable and replacement sections, and then presented.

In the method, the replacement sections may include:

first replacement sections encoded at a second bit rate than is less than the first bitrate; and

second replacement sections encoded at a third bitrate than is less than the second bitrate.

In the method, the streaming may include:

streaming the first sections except for the replaceable sections from a first file containing the first sections and the replaceable sections; and

streaming the replacement sections instead of the replicable sections from a second file containing the replacement sections.

The method may further comprise:

requesting to stream the video;

receiving an index to multiple files containing the video encoded at different bitrates, including at least the first bitrate and the bitrate that is less than the first bit rate;

determining an available streaming bandwidth;

selecting the file encoded at the first bitrate based on the determined streaming bandwidth,

wherein

the identifying may include receiving level-drop information identifying the replaceable and replacement sections, and

the streaming may include streaming the first sections except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections based on the identifying information.

The streaming may include receiving requests for the sections of video and transmitting the requested sections of video.

The identifying may include streaming information identifying the replaceable and replacement sections in streaming sources.

In the method, each of the measured levels of objective quality may be based on a signal to noise ratio (SNR) and the predetermined criterion may be based on a one of an absolute SNR level and a relative SNR between the measured levels of objective quality.

A computer program product embodiment corresponding to the above-recited method embodiment comprises a non-transitory computer readable medium encoded with a computer program, including instructions to cause a processor to:

identify a. replaceable sections among first sections of video encoded at a first bitrate, and b. replacement sections of the video each encoded at a bitrate that is less than the first bitrate and having encoded therein the video of a corresponding one of the replaceable sections, each replacement section and the corresponding replaceable section having respective measured levels of objective quality that meet a predetermined criterion of objective quality; and

stream the first sections of video except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections.

The predetermined criterion of objective quality, if met may translate to an acceptable difference in perceptual quality levels of the video decoded from the corresponding replaceable and replacement sections, and then presented.

The replacement sections may include:

first replacement sections encoded at a second bit rate that is less than the first bitrate; and

second replacement sections encoded at a third bitrate that is less than the second bitrate.

The instruction to cause the processor to stream may include instructions to cause the processor to:

stream the first sections except for the replaceable sections from the first file containing the first sections and the replaceable sections; and

stream the replacement sections instead of the replaceable sections from the second file containing the replacement sections.

The instructions may further include instructions to cause the processor to:

request to stream the video;

receive an index to multiple files containing the video encoded at different bitrates, including at least the first bitrate and the bitrate that is less than the first bit rate;

determine an available streaming bandwidth;

select the file encoded at the first bitrate based on the determined streaming bandwidth; and

receive the information identifying the replaceable and replacement sections,

wherein

the instructions to cause the processor to identify may include instructions to cause the processor to receive level-drop information that identifies the replaceable and replacement sections, and

the instructions to cause the processor to stream may include instructions to cause the processor to stream the first sections except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections, based on the identifying information.

The instructions to cause the processor to stream may include instructions to cause the processor to receive requests for the sections of video and transmit the requested sections of video.

The instructions to cause the processor to identify may include instructions to cause the processor to stream information identifying the replaceable and replacement sections in streaming sources.

Each of the measured levels of objective quality may be based on a signal to noise ratio (SNR) and the predetermined criterion is based on a one of an absolute SNR level and a relative SNR between the measured levels of objective quality.

An apparatus embodiment corresponding to the above method and computer program product embodiments comprises:

a processor and memory configured to:

identify a. replaceable sections among first sections of video encoded at a first bitrate, and b. replacement sections of the video each encoded at a bitrate that is less than the first bitrate and having encoded therein the video of a corresponding one of the replaceable sections, each replacement section and the corresponding replaceable section having respective measured levels of objective quality that meet a predetermined criterion of objective quality; and

stream the first sections of video except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections.

The predetermined criterion of objective quality, if met, may translate to an acceptable difference in perceptual quality levels of the video decoded from the corresponding replaceable and replacement sections, and then presented.

The replacement sections may include:

first replacement sections encoded at a second bit rate that is less than the first bitrate; and

second replacement sections encoded at a third bitrate that is less than the second bitrate.

The processor and memory, configured to stream, may be configured to:

stream the first sections except for the replaceable sections from a first file containing the first sections and the replaceable sections; and

stream the replacement sections instead of the replaceable sections from a second file containing the replacement sections.

The processor and memory may be further configured to:

request to stream the video;

receive an index to multiple files containing the video encoded at different bitrates, including at least the first bitrate and the bitrate that is less than the first bit rate;

determine an available streaming bandwidth;

select the file encoded at the first bitrate based on the determined streaming bandwidth,

wherein

the processor and memory, configured to identify, may be further configured to receive level-drop information identifying the replaceable and replacement sections, and

the processor and memory, configured to stream, may be further configured to stream the first sections except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections, based on the identifying information.

The processor and memory, configured to stream, may be further configured to receive request for the sections of video and transmit the requested sections of video.

The processor and memory, configured to steam, may be further configured to identify the replaceable and replacement sections from streamed information.

The apparatus may further comprise:

a user interface system;

a communication system to communicate with a network; and

a housing to house the processor and memory, the communication system, and the user interface system.

The communication system may include a wireless communication system; and

the housing includes a mobile hand-held housing to receive the processor and memory, the user interface system, the communication system, and a battery.

While various embodiment are disclosed herein it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail may be made therein without departing from the spirit and scope of the methods and systems disclosed herein. Thus, the breadth and scope of the claims should not be limited by any of the examples disclosed herein.

* * * * *

References


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed