`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 1 of 20 Page ID #:81
`
`
`
`
`EXHIBIT 3
`EXHIBIT 3
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 2 of 20 Page ID #:82
`061598121'W'002“ “we“ 1'3 Flilllll|lllllllflllllllllllillflllllzllfll'lflflllllllllfllllllflllllfilll
`
`IJS010356145B2
`
`(12) United States Patent
`US 10,356,145 B2
`(10) Patent N0.:
`
` Thang et a]. (45) Date of Patent: *Jul. 16, 2019
`
`
`(54) METHOD AND DEVICE FOR PROVIDING
`STREAMING CONTENT
`
`(71) Applicant: IDEAHUB INC., Seoul (KR)
`
`(72)
`
`Inventors: Truong Cong Thang, Daejeon (KR);
`Jin Young Lee, Daejeon (KR); Seong
`Jun Bae, Daejeon (KR); Jung Won
`Kang, Daejeon (KR); Soon Heung
`Jung, Daejeon (KR); Sang Taick Park,
`Daejeon (KR); Won Ryu, Daejeon
`(KR)
`
`.
`(73) A551gnee:
`
`( * ) Notice:
`
`IDEAHUB, INC., Seoul (KR)
`
`Subject. to any disclaimer, the term of this
`patent IS extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`.
`.
`.
`.
`.
`Thls patent IS subject to a termmal dls-
`Clalmer‘
`
`(21) Appl. N05 16/224’555
`.
`Flledi
`
`(22)
`
`Dec- 18, 2013
`_
`_
`_
`Prior Publication Data
`US 2019/0124130 A1
`Apr. 25, 2019
`
`(65)
`
`(52) US. Cl.
`CPC .......... H04L 65/60 (2013.01); H04L 65/4084
`(2013.01); H04L 67/2804 (2013.01);
`(Continued)
`(58) Field of Classification Search
`CPC combination set(s) only.
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U’S’ PATENT DOCUMENTS
`2005/0076136 A1
`4/2005 Cho et a1.
`2008/0168132 A1
`7/2008 Chun
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`KR
`KR
`
`1020050075633 A
`1020080108568 A
`
`7/2005
`12/2008
`
`OTHER PUBLICATIONS
`
`“Universal Mobile Telecommunications System; LTE; Transparent
`end-to-end Packet-switched Streaming Service (PSS); Protocols
`and codecs (3GPP TS 26.234 version 9.3.0 Release 9),” ETSI TS
`126 234, v9.3.0, Jun. 2010, pp. 1-184, ETSI, Sophia Antipolis
`Valbonne, France.
`
`(Continued)
`
`Primary Examiner 7 El Hadji M Sall
`
`Related US. Application Data
`
`(74) Attorney, Agent, or Firm 7 One LLP
`
`(63) Continuation of application No. 15/785,275, filed on
`OCt' 16’ 2017’ now Pat. NO' 10’178’142’ Wthh IS a
`(Contmued)
`_
`_
`_
`_
`_
`Foreign Application Priority Data
`
`(30)
`
`Sep. 1, 2010
`Sep. 1: 2011
`
`(KR) ........................ 10-2010-0085527
`(KR) ~~~~~~~~~~~~~~~~~~~~~~~~ 10'2011'0088325
`
`(51)
`
`Int. Cl'
`H04L 29/06
`H04L 29/08
`
`(200601)
`(2006.01)
`(Continued)
`
`1 00
`
`ABSTRACT
`(57)
`Amethod and apparatus for an adaptive Hypertext Transfer
`Protocol (HTTP) streaming service using metadata of con-
`tent are provided. The metadata of the content may be
`efficiently divided for a purpose of use of a terminal based
`on general media information or specific media information,
`and may be transmitted to the terminal. A group may include
`one or more representations of content. The metadata may
`include a group element, and the group element may provide
`a summary of attributes of one or more representations
`included in the group.
`
`20 Claims, 7 Drawing Sheets
`
`
`
`SERVER
`(PROVIDER)
`
`MP1.) MPD FOR
`
`GENERAL
`.
`
`21; w
`’
`
`1
`
`MOBILE NEONE
`
`'
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 3 of 20 Page ID #:83
`Case 8:21-cv-00211 Document 1—3 Filed 01/29/21 Page 3 of 20 Page ID #:83
`
`US 10,356,145 B2
`Page 2
`
`Related US. Application Data
`
`continuation of application No. 13/820,408, filed as
`application No. PCT/KR2011/006496 on Sep.
`1,
`2011, now Pat. No. 9,794,312.
`
`(51)
`
`Int. Cl.
`H04N 21/239
`H04N 21/845
`H04N 21/2343
`H04N 21/258
`H04N 21/262
`H04N 21/658
`H04N 21/643
`H04N 21/643 7
`(52) us. Cl.
`CPC
`
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`
`H04N 21/2393 (2013.01); H04N 21/23439
`(2013.01); H04N 21/25825 (2013.01); H04N
`21/26258 (2013.01); H04N 21/8456 (2013.01);
`H04N 21/6437 (2013.01); H04N 21/64322
`(2013.01); H04N 21/6582 (2013.01)
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`2009/0207866 A1
`2009/0259766 A1
`2010/0106770 A1
`2010/0169303 A1
`2011/0099594 A1
`2012/0013746 A1*
`
`2012/0042050 A1
`2012/0290644 A1
`
`8/2009 Cholas et a1.
`10/2009 Karlsson et a1.
`4/2010 Taylor et a1.
`7/2010 Biderman et a1.
`4/2011 Chen et a1.
`1/2012 Chen .................... G1 1B 27/034
`348/180
`
`2/2012 Chen et a1.
`11/2012 Gabin et a1.
`
`OTHER PUBLICATIONS
`
`“Use cases for Rel-10 adaptive HTTP Streaming,” 3GPP TSG-
`SA4#60, Aug. 16-20, 2010, pp. 1-5.
`3Generation Partnership Project Organization Partner, “Transparent
`end-to-end Packet-switched Streaming Service (PSS); Progressive
`Download and Dynamic Adaptive Streaming over HTTP (3GP-
`DASH)”, 3GPP TS 26.cde V1.0.0, Aug. 2010, pp. 3-34, Valbonne,
`France.
`Alex Zambelli, IIS Smooth Streaming Technical Overview, Mar.
`2009, Microsoft Corporation.
`Description of Evaluation Experiments on ISO/IEC 23001-6, Dynamic
`Adaptive Streaming over HTTP, ISO/IEC JTCl/SC29/WG11, Jul.
`2010, MPEG2010/N 11450, Geneva, Switzerland.
`Harry Pyle et a1., “Microsoft HTTP Smooth Streaming: Microsoft
`response to the ISO/IEC/JTCl/SC29/WG11/N1338 Call for Pro-
`posal 0n HTTP Streaming,” MPEG2010/M17902, Jul. 2010, pp.
`1-31, Microsoft Corporation, Geneva, Switzerland.
`Partial Representation Management, 3GPP TSG-SA4 Meeting #60,
`Aug. 16-20, 2010, pp. 1-3, Huawei Technologies Co. Ltd. Erlangen,
`Germany.
`R. Fielding et a1., “Hypertext Transfer ProtocoliHTTPll,” RFC
`2616, Jun. 1999, pp. 1-176, The Internet Society.
`Thomas Stockhammer et a1., “WD 0.1 of 23001-6 Dynamic Adap-
`tive Streaming over HTTP (DASH),” MPEG2010 Geneva/m11398,
`Jul. 30, 2010, pp. 1-16, ISO/IEC 2003.
`Truong Cong Thang et a1: “Signaling Metadata for Adaptive HTTP
`Streaming”, 93. MPEG Meeting; Jul. 26, 2010-Ju1. 30, 2010;
`Geneva; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/
`WGll), No. M17771, Jul. 21, 2010, XP030046361, p. 12, line l-p.
`13, last line; p. 1, line l-p. 3, last line.
`
`* cited by examiner
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 4 of 20 Page ID #:84
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 4 of 20 Page ID #:84
`
`U.S. Patent
`
`Jul. 16, 2019
`
`Sheet 1 of 7
`
`US 10,356,145 B2
`
`EEG, E,
`
`100
`
`110
`3A
`2(5:
`E’K/\;/'//
`3“
`.1----------------------------------------------------------------------------------------------------,.., 5%?
`
`_____
`
`________
`
`
`
`......................... =
`SERVER
`{PROVEDER}
`
`—
`
`GENERAL
`MP1)
`
`7
`
`,_
`
`MPD 1m
`
`CLIENT
`(TERMINAL)
`
`1134 , 130
`
`,
`
`,_
`
`\11321
`MOBILE PHONE J
`
`_, M
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 5 of 20 Page ID #:85
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 5 of 20 Page ID #:85
`
`U.S. Patent
`
`Jul. 16, 2019
`
`Sheet 2 of 7
`
`US 10,356,145 B2
`
`Zfifl. 2
`
`“KAN SMESSEON REEQUES’E‘
`MES SAGE 2 E, G
`
`
`REFRESENTATEON
`
`SELECT APPRO?R§ATE
`
`g
`
`l
`
`REQ U8 ST FOR CG’NTENT
`CQRRE SPON 1) EN (3 TC? SifiiLEC'l‘EB
`
`REPRESENE‘A’E‘ION 250
`d
`
`u
`i
`.'xn
`E
`
`
`REQUESTED CONTENT 260
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 6 of 20 Page ID #:86
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 6 of 20 Page ID #:86
`
`U.S. Patent
`
`Jul. 16, 2019
`
`Sheet 3 of 7
`
`US 10,356,145 B2
`
`ER; 3
`
`
`
`TRANSMISSION REQUEST
`MESSAGE 310
`
`SPECTETC MEI} 320
`
`330 v
`
`SELECT SPECIFIC MED
`
`REQUEST FOR SELECTED
`SPECIFIC MEI) 349
`
`REQUESTED SPECIFIC MED 350
`
`REQUEST FOR CONTENT
`REPRESENTATTON{ S) 360
`
`REQUESTED CONTENT
`REERESENTATION(S) 37G
`
` 2%
`
`SELECT APPROPRIATE
`REPRESENTATION
`
`"'
`
`REQUEST FOR CONTENT
`CORRESPONDING TO SET_,ECTED
`
`REPRESENTATION 390
`
`.
`:
`
`:
`:
`
`REQUESTED CONTENT 395
`I-----------------------------------------------------------------------------------------------------------------M
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 7 of 20 Page ID #:87
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 7 of 20 Page ID #:87
`
`U.S. Patent
`
`Jul. 16, 2019
`
`Sheet 4 of 7
`
`US 10,356,145 B2
`
`EEG, 4
`
`m1)
`
`__________________________N4“)
`
`TRANSCEIVER
`
`CONTROI_,I_,ER,
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 8 of 20 Page ID #:88
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 8 of 20 Page ID #:88
`
`U.S. Patent
`
`Jul. 16, 2019
`
`Sheet 5 of 7
`
`US 10,356,145 B2
`
`EH}, 5
`
`CQNTROLLER ,_______, TRANSCEIVER
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 9 of 20 Page ID #:89
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 9 of 20 Page ID #:89
`
`U.S. Patent
`
`Jul. 16, 2019
`
`Sheet 6 of 7
`
`US 10,356,145 B2
`
`EEG, 6
`
`1 113
`2
`
`1911
`
`TERMINAL
`
`SERVER
`
`METADA'E‘A 611'}
`
`PRQCESS METADATA
`
`
`
`
`
`REQUESE FOR SEGMEN'I‘S 630
`
`
`
`
`PERFGRM DECODING
`AND RENDERENG
`
`
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 10 of 20 Page ID #:90
`n
`H3
`
`1..9t1mmm6,u1ml.Dh
`
`Otwncmm.a8.PwoaS.cU
`
`mh@MVVM
`
`mm#5m41mmm3,0012S,mU
`
`3me0$33V1wx17£35af90Q7m.aemmw
`‘{eSEESSE39‘wfiflamQEEaq\P4mezw
`m.
`
`
`
`mmmDU<madam.»
`
`wwwa‘flxwwmfi
`
`«3%
`
`fizaagmfl
`
`
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 11 of 20 Page ID #:91
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 11 of 20 Page ID #:91
`
`US 10,356,145 B2
`
`1
`METHOD AND DEVICE FOR PROVIDING
`STREAMING CONTENT
`
`CROSS-REFERENCES TO RELATED
`APPLICATION
`
`The present application is a Continuation of US. appli-
`cation Ser. No. 15/785,275, filed on Oct. 16, 2017, which is
`a Continuation of US. application Ser. No. 13/820,408, filed
`on Mar. 1, 2013, which is a national stage of PCT/KR2011/
`006496 filed on Sep. 1, 2011, which claims priority to
`Korean application number 10-2010-0085527, filed on Sep.
`1, 2010, and Korean application number 10-2011-0088325,
`filed on Sep. 1, 2011, in the Korean Intellectual Property
`Office, which is incorporated herein by reference in to its
`entirety.
`
`TECHNICAL FIELD
`
`The present invention relates to a technology for provid-
`ing streaming content, and more particularly, to an apparatus
`and method for providing media content using adaptive
`streaming.
`
`BACKGROUND ART
`
`Streaming is one of schemes for transmitting and playing
`back multimedia content such as sounds, moving images,
`and the like. A client may play back content while receiving
`the content through the streaming.
`An adaptive streaming service refers to providing a
`streaming service employing a communication scheme with
`a request of a client and a response of a server in response
`to the request.
`The client may request a media sequence suitable for an
`environment of the client
`(for example, a transmission
`channel of the client), using the adaptive streaming service.
`The server may provide a media sequence matched to the
`request of the client among media sequences with various
`qualities that are included in the server.
`The adaptive streaming service may be provided based on
`various protocols.
`A Hypertext Transfer Protocol (HTTP) adaptive stream-
`ing service refers to an adaptive streaming service provided
`based on an HTTP protocol. A client of the HTTP adaptive
`streaming service may receive content from a server using
`the HTTP protocol, and may transmit a request associated
`with a streaming service to the server.
`
`DISCLOSURE OF INVENTION
`
`Technical Goals
`
`An aspect of the present invention provides an apparatus
`and method that may efficiently divide and transmit media
`information for a purpose of use of a terminal in an active
`Hypertext Transfer Protocol (HTTP) streaming, by using
`general media information and specific media information.
`Another aspect of the present
`invention provides an
`apparatus and method that may use a group element that
`provides a summary of attributes of one or more represen-
`tations included in a group in an active HTTP streaming.
`
`Technical Solutions
`
`According to an aspect of the present invention, there is
`provided a method for providing media, the method includ-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`ing: receiving metadata of media including one or more
`periods; accessing segments of the media based on infor-
`mation provided by the metadata; and decoding and render-
`ing data of the media that is included in the segments,
`wherein each to of the periods includes one or more groups,
`each of the groups includes one or more representations of
`the media, and each of the representations is a structured
`collection of one or more media components within a period,
`and includes one or more segments.
`The metadata may be a Media Presentation Description
`(MPD) of the media.
`The metadata may include a group element describing
`each of the groups.
`The group element may provide a summary of values of
`attributes of all representations within a group described by
`the group element.
`The metadata may include an attribute indicating a mini-
`mum value among bandwidth attributes of all representa-
`tions within a group, and an attribute indicating a maximum
`value among the bandwidth attributes.
`The metadata may include an attribute indicating a mini-
`mum value among horizontal resolution attributes of all
`representations within a group, and an attribute indicating a
`maximum value among the horizontal resolution attributes.
`The metadata may include an attribute indicating a mini-
`mum value among frame rate attributes of all representations
`within a group, and an attribute indicating a maximum value
`among the frame rate attributes.
`According to another aspect of the present invention,
`there is provided a terminal, including: an access engine to
`receive metadata of media including one or more periods, to
`receive segments of the media based on information pro-
`vided by the metadata, and to output the media by decoding
`data of the media that is included in the segments; and a
`media engine to receive the data of the media from the
`access engine, and to output the media, wherein each of the
`periods includes one or more groups, each of the groups
`includes one or more representations of the media, and each
`of the representations is a structured collection of one or
`more media components within a period, and includes one
`or more segments.
`According to still another aspect of the present invention,
`there is provided a method by which a terminal requests
`content
`through Hypertext Transfer Protocol
`(HTTP)
`streaming to receive the content through the HTTP stream-
`ing, the method including: transmitting, to a server, a trans-
`mission request message including attributes of the terminal;
`receiving, from the server, a specific Media Presentation
`Description (MPD) suitable for the terminal, the specific
`MPD including descriptions of representations of the con-
`tent; selecting an appropriate representation from among the
`representations in the specific MPD, based on the descrip-
`tions of the representations; and requesting the server to
`transmit content corresponding to the selected representa-
`tion.
`
`The transmission request message may be an HTTP
`request message,
`the attributes to may be transferred as
`parameters of the HTTP request message, and the HTTP
`request message may transfer parameters representing the
`attributes to the server using a query of an HTTP.
`The attributes may be transferred as parameters of the
`HTTP request message, and the HTTP request message may
`include the parameters in an HTTP header and may transfer
`the parameters representing the attributes to the server.
`The attributes may include a capability of the terminal and
`a preference of the terminal.
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 12 of 20 Page ID #:92
`Case 8:21-cv-OO211 Document 1-3 Filed 01/29/21 Page 12 of 20 Page ID #:92
`
`US 10,356,145 B2
`
`3
`The attributes may include a minimum bandwidth, a
`maximum bandwidth, and an average bandwidth of a net-
`work resource that are acceptable by the terminal, may
`include a vertical resolution and a horizontal resolution of
`
`the terminal, and may include a frame rate of the terminal.
`The specific MPD may include Uniform Resource Iden-
`tifiers (URIs) of the descriptions.
`The requesting may include requesting the server to
`transmit the content corresponding to the selected represen-
`tation, using a URI of the selected representation.
`According to yet another aspect of the present invention,
`there is provided a method for providing content through
`HTTP streaming, the method including: receiving, from a
`terminal, a transmission request message including attri-
`butes of the terminal; transmitting, to the terminal, a specific
`Media Presentation Description (MPD) suitable for the
`terminal based on the attributes, the specific MPD including
`descriptions of representations specific to a predetermined
`category of the terminal, and URIs of the specific represen-
`tations; receiving, from the terminal, a request for content
`corresponding to a representation selected by the terminal,
`the content corresponding to the selected representation
`being requested via a URI of the selected representation in
`the specific MPD; and transmitting the content correspond-
`ing to the selected representation to the terminal through the
`HTTP streaming.
`The method may further include analyzing the attributes
`and generating the specific MPD suitable for the terminal.
`The specific MPD may be generated based on a general
`MPD, and the general MPD may include descriptions of all
`representations of the content, and URIs of all of the
`representations.
`The method may further include analyzing the attributes
`and selecting the specific MPD suitable for the terminal
`from among specific MPDs that are generated in advance.
`According to a further aspect of the present invention,
`there is provided a method by which a terminal requests
`content through HTTP streaming to receive the content
`through the HTTP streaming, the method including: trans-
`mitting a transmission request message to a server; receiving
`a general MPD from the server, the general MPD including
`parameters to describe each of one or more specific MPDs;
`selecting a specific MPD from among the one or more
`specific MPDs based on the parameters, the specific MPD
`including representations of the content; requesting the
`server to transmit the selected specific MPD; receiving the
`selected specific MPD from the server; requesting the server
`to transmit one or more content representations of the
`content adapted to the use of the terminal, using the selected
`specific MPD; and receiving, from the server, the one or
`more content representations.
`The method may further include selecting an appropriate
`representation from among the one or more content repre-
`sentations, requesting the server to transmit content corre-
`sponding to the selected representation using the selected
`representation, and receiving, from the server, the content
`corresponding to the selected representation through the
`HTTP streaming.
`The method may further include receiving an update of
`the specific MPD from the server.
`The parameters may include a Uniform Resource Locator
`(URL) indicating a location of the specific MPD.
`The requesting for the selected specific MPD may include
`requesting the server to transmit the selected specific MPD
`using a URL of the selected specific MPD.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`The selecting of the specific MPD may include determin-
`ing whether each of the one or more specific MPDs is
`suitable, based on the parameters.
`The parameters may include a view identifier (ID) of
`multi-view video of the content, and may include a com-
`plexity and quality of audio/video of the content.
`The requesting for the one or more content representa-
`tions may include requesting the server to transmit the one
`or more content representations of the content adapted to the
`use of the terminal, using the selected specific MPD, after a
`predetermined period of time elapses.
`According to a further aspect of the present invention,
`there is provided a method for providing content through
`HTTP streaming, the method including: receiving a trans-
`mission request message from a terminal; transmitting a
`general MPD to the terminal, the general MPD including
`parameters to describe each of one or more specific MPDs;
`receiving, from the terminal, a request for a specific MPD
`selected from among the one or more specific MPDs, the
`selected specific MPD including descriptions of representa-
`tions specific to a predetermined category of terminals and
`URIs of the specific representations;
`transmitting the
`selected specific MPD to the terminal; receiving, from the
`terminal, a request for one or more content representations
`adapted to the use of the terminal among the specific
`representations; and transmitting the one or more content
`representations to the terminal.
`from the
`The method may further include receiving,
`terminal, a request for content corresponding to a represen-
`tation selected from among the one or more content repre-
`sentations, and transmitting,
`to the terminal,
`the content
`corresponding to the selected representation through the
`HTTP streaming.
`
`Effect of the Invention
`
`According to embodiments of the present invention, it is
`possible to efliciently divide and transmit media information
`for a purpose of use of a terminal in an active Hypertext
`Transfer Protocol
`(HTTP) streaming, by using general
`media information and specific media information.
`Additionally, according to embodiments of the present
`invention, it is possible to use a group element that provides
`a summary of attributes of one or more representations
`included in a group in an active HTTP streaming.
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`FIG. 1 is a diagram illustrating different types of Media
`Presentation Description (MPD) according to an embodi-
`ment of the present invention.
`FIG. 2 is a flowchart illustrating a server-driven content
`transmission negotiation method according to an embodi-
`ment of the present invention.
`FIG. 3 is a flowchart illustrating a terminal-driven content
`transmission negotiation method according to an embodi-
`ment of the present invention.
`FIG. 4 is a diagram illustrating a configuration of a server
`100 according to an embodiment of the present invention.
`FIG. 5 is a diagram illustrating a configuration of a
`terminal 110 according to an embodiment of the present
`invention.
`
`FIG. 6 is a signal flowchart illustrating a method for
`providing media according to an embodiment of the present
`invention.
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 13 of 20 Page ID #:93
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 13 of 20 Page ID #:93
`
`5
`FIG. 7 is a diagram illustrating a configuration of the
`terminal 110 according to an embodiment of the present
`invention.
`
`6
`write the MPD of the media presentation, and the server and
`the terminal need to perform negotiation for transmission of
`the MPD.
`
`US 10,356,145 B2
`
`BEST MODE FOR CARRYING OUT THE
`INVENTION
`
`Reference will now be made in detail to embodiments of
`
`the present invention, examples of which are illustrated in
`the accompanying drawings, wherein like reference to
`numerals refer to the like elements throughout. The embodi-
`ments are described below in order to explain the present
`invention by referring to the figures.
`A Dynamic Adaptive Streaming over HTTP (DASH) may
`specify formats that enable 1) delivery of media content
`from an HTTP server to an HTTP client, and enable 2)
`caching of content by standard HTTP cashes.
`A media component may be an encoded version of
`individual media types, such as audios, videos, or timed
`texts with specific attributes, for example bandwidths, lan-
`guages, or resolutions.
`Media content may be a set of media components having
`a common timeline, for example audios, videos, or timed
`texts. Additionally, media components may have relation-
`ships on how the media components may be presented (for
`example,
`individually, jointly, or mutually exclusive) as
`programs or movies.
`Media content and content may be used as interchange-
`able terms.
`
`A media presentation may be a structured collection of
`data used to establish bounded or unbounded presentation of
`media content including components of continuous media.
`In other words, the media presentation may be a struc-
`tured collection of data that is accessible to a DASH client
`
`in order to provide a streaming service to a user.
`A Media Presentation Description (MPD) may be a for-
`malized description for a media presentation. The MPD may
`be an MPD of a “Dynamic Adaptive HTTP Streaming of
`MPEG (DASH).”
`The media presentation may be described by an MPD
`including possible updates of the MPD.
`Content may be content on demand, or live content.
`The content may be divided into one or more intervals. In
`other words, the content may include one or more intervals.
`Intervals may be interchangeable with periods. The term
`period may be used as a term of 3rd Generation Partnership
`Project (3GPP) adaptive HTTP streaming.
`A period may be an interval of a media presentation. A
`sequence of all periods may constitute the media presenta-
`tion.
`
`In other words, the media presentation may include one or
`more periods,
`One or more intervals may be a basic unit. One or more
`intervals may be described by signaling metadata. In other
`words, metadata may describe each of the one or more
`intervals.
`
`The metadata may be an MPD.
`The MPD may include description of a representation (or
`an expression) of all possible media to be transmitted to all
`types of clients. In other words,
`the MPD may include
`description of combinations of video, audio, languages, and
`the like that may be used by all types of clients. To provide
`an adaptive streaming service employing an HTTP, a server
`needs to transmit an MPD of a media presentation to a
`terminal 110. To transmit the MPD, a server 100 needs to
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`The MPD may define a format to announce resource
`identifiers for segments. The MPD may provide a context for
`identified resources within the media presentation. The
`resource identifiers may be HTTP-Uniform Resource Loca-
`tors (URLs). URLs may be restricted by a byte range
`attribute.
`
`Each interval may be divided into fragments.
`Fragments may be interchangeable with segments. The
`term segment may be used as a term of 3GPP adaptive HTTP
`streaming.
`A segment may refer to an entity body of a response to an
`HTTP/ 1.1 GET request for an HTTP-URL, for example as
`defined in RFC 2616, (or a partial GET request for a part
`indicated by a byte range).
`A sub-segment may refer to a smallest unit within seg-
`ments that may be indexed by a segment
`index at the
`segment level.
`Two or more sets of fragments corresponding to a single
`interval may exist. Each of the sets may be called an
`alternative.
`
`An alternative may be interchangeable with a represen-
`tation.
`
`Each period may include one or more groups.
`Each group may include one or more representations of
`are same media content.
`
`A representation may refer to a structured collection of
`one or more media components within a single period. A
`representation may be one of alternative choices of the
`media content or a subset of the media content typically
`differing by the encoding choice, for example by a bitrate, a
`resolution, a language, a codec, and the like. In other words,
`the representation may represent a combination of video,
`audio, languages, and the like that may constitute media.
`An MPD (or an MPD element) may provide descriptive
`information that enables a client to select one or more
`
`representations.
`Each representation may be formed of one or more
`segments. In other words, a representation may include one
`or more segments.
`An MPD may be a document including metadata required
`to a DASH client to form appropriate HTTP-URLs in order
`to 1) access segments and to 2) provide a user with a
`streaming service. The HTTP-URLs may be absolute or
`relative.
`
`The MPD may be an Extensible Markup Language
`OiML)-document.
`The MPD may include an MPD element. The MPD may
`include only a single MPD element.
`FIG. 1 illustrates different types of MPD according to an
`embodiment of the present invention.
`The server 100 may transfer an MPD as a single large file
`to the terminal 110.
`
`Generally, only a few representations among MPDs pro-
`vided by the server 100 may be suitable for the terminal 110.
`Accordingly,
`for transmission of a file in the entire
`session, a network resource (for example, a bandwidth, and
`the like) may be wasted. Additionally, the terminal 110 may
`waste processing power to search for an available media
`representation (for example, a client needs to at least parse
`the entire description file). Therefore, there is a need for a
`method that may efficiently transmit a list file to minimize
`resource waste.
`
`
`
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 14 of 20 Page ID #:94
`Case 8:21-cv-00211 Document 1-3 Filed 01/29/21 Page 14 of 20 Page ID #:94
`
`US 10,356,145 B2
`
`7
`The server 100 (namely, a provider) may generate (in
`advance, or on the fly) different MPDs for different catego-
`ries of the terminal 110 (namely, a client).
`The first type of MPD may be a “general MPD 120.” The
`general MPD 120 may be called a first MPD.
`The general MPD 120 may include description of all
`representations of content, and Uniform Resource Identifiers
`(URIs) of all of the representations.
`Additionally,
`the provider 100 may include “specific
`MPD(s) 130” as the second type. The specific MPD 130 may
`include only descriptions of representations specific to a
`certain category of the terminal 110, and URIs of the specific
`representations.
`For example, the provider 100 may have three specific
`MPDs 132, 134, and 136 for three categories of the terminal
`110 (namely, a High-Definition TeleVision (HDTV), a Per-
`sonal Computer (PC), and a mobile phone). The specific
`MPD 132, 134, or 136 may be called a second MPD.
`Clearly, no mobile phone may take into consideration
`representations used for an HDTV.
`Actually, the provider 100 may have a specific description
`that provides hints so that to the terminal 110 may select
`appropriate representations from an MPD (in particular, the
`general MPD 120).
`In particular, the description may provide a list of com-
`positions. Each of the compositions may indicate represen-
`tations (or groups of a representation) that may be used for
`a given purpose (for example, for a French-speaking user
`using a mobile phone).
`FIG. 2 is a flowchart illustrating a server-driven content
`transmission negotiation method according to an embodi-
`ment of the present invention.
`transmission negotiation
`The
`server-driven content
`method may be based on a general server-driven transmis-
`sion negotiation scheme according to an HTTP/1.1 technol-
`ogy.
`In operation 210, the terminal 110 may transmit, to the
`server 100, a transmission request message including several
`specific attributes (for example, capabilities and preferences
`of the terminal 110).
`The transmission request message may be an HTTP
`request message. Additionally, the specific attributes may be
`transferred as parameters of the HTTP request message.
`The HTTP request message may transfer parameters
`representing the specific attributes to the server 100, using a
`query of an HTTP.
`The HTTP request message may include parameters in an
`HTTP header, and may transfer parameters representing the
`specific attributes to the server 100.
`The specific attributes (namely, parameters) included in
`the transmission request message may enable the server 100
`to verify capabilities and preferences of the terminal 110.
`Table 1 shows examples of specific attributes (namely,
`parameters)
`
`TABLE 1
`
`Name
`
`Description
`
`capability
`preference
`
`minBand
`
`maxBand
`
`Information associated with a capability of a terminal
`Information associated with a preference of a terminal
`or a user of a terminal
`Minimum bandwidth of a network resource acceptable
`by a terminal (namely, minimum bandwidth of network
`connection of a terminal) (in Mbps)
`Maximum bandwidth of a network resource acceptable
`by a terminal (in Mbps)
`
`8
`TABLE 1-continued
`
`Name
`
`Description
`
`averBand
`
`width
`height
`framerate
`lang
`
`10
`
`mime
`
`Average bandwidth of a network resource acceptable by
`a terminal (in Mbps)
`Horizontal resolution of a terminal screen (in pixels)
`Vertical resolution of a terminal screen (in pixels)
`Maximum Video frame rate supported by a terminal
`Language code of media content supported by a
`terminal (language code may conform to RFC 5646)
`Multipurpose Internet Mail Extensions (MIME) type
`supported by a terminal.
`The MIME type may include codec parameters for all
`media types.
`Codec parameters may include profile and level
`information.
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Parameters other than the parameters of Table 1 may be
`added, to support features of content (for example, a view
`identifier (ID) of a multi-view video, a complexity and
`quality of audio/video, and the like).
`
`the server 100 may
`Based on the specific attributes,
`transmit, to the terminal, the specific MPD 130 suitable for
`the terminal 110.
`
`In operation 220, the server 100 may generate the specific
`MPD 130 suitable for the terminal 110 by analyzing the
`specific attributes of the terminal 110. The server 100 may
`generate the specific MPD 130 based on the gener