`USOO7159233B2
`
`(12) United States Patent
`US 7,159,233 B2
`(10) Patent N0.:
`
`Son et a1.
`(45) Date of Patent:
`Jan. 2, 2007
`
`(54) METHOD AND APPARATUS FOR
`PREPROCESSING AND POSTPROCESSING
`CONTENT IN AN INTERACTIVE
`INFORMATION DISTRIBUTION SYSTEM
`
`(75)
`
`Inventors: Yong Ho Son, Palo Alto, CA (US);
`Christopher W'. B. Goode, Menlo Park,
`CA @IS)
`
`(73) Assignee: Sedna Patent Services, LLC,
`Philadelphia, PA (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term ot'this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 998 days.
`
`(2]) Appl. N0.: 09/772,233
`
`(22)
`
`Filed:
`
`Jan. 295 2001
`
`(65)
`
`US 2002/0047899 A1
`
`Prior Publication Data
`_
`APR 23: 2002
`
`Related U.S. Application Data
`
`(60) Provisional application NO 60/178 795 filed on Jan
`28, 2000, provisional application No. 60/178,809,
`filed on Jan. 28, 2000, provisional application No,
`60/178,810, filed on Jan. 28, 2000, provisional appli-
`cation No. 60/178,857, filed on Jan. 28, 2000.
`
`(51)
`
`(56)
`
`Int. Cl.
`H04N 7/1 73
`(2006.01)
`G06F 15/16
`(2006.01)
`(52) U'S' Cl' 725/987097/3/567’592/3/185’77395/9311’
`_
`4
`‘_
`_
`’
`’
`’
`(58) Fleld of Classificatlon Search
`725/86,
`,
`_ 725/87” 88’ 91’ 98* 709/215? 219* 231
`See application file for complete search history.
`References Cited
`
`
`U. S. PATENT DOCUMENTS
`
`1/1999 Thompson .................. 370/389
`5,856,973 A
`.. 725/91
`4/1999 Wahl
`..................
`5,898,456 A *
`
`207/101
`6/2000 Elcfthcriadis ct a1.
`6,079,566 A
`4/2003 Mimura etal.
`709/218
`6,557,031 131*
`
`6,647,411 B1* 11/2003 Towel] et a1,
`. 709/213
`2001/0013068 Al*
`8/2001 Klemets et a1.
`709/231
`
`FOREIGN I’A'TENT DOCUMENTS
`
`W0
`W0
`
`WO 98/51080 A
`WO 99/21363 A
`
`11/1998
`4/1999
`
`OTHER PUBLICATIONS
`
`US. Appl. No. 08/984,710, filed Dec. 3, 1997, entitled: System for
`Interactively Distributing Information Services.
`U.S.Appl, No. 09/772,287, filed Jan. 29, 2001, entitled: Method and
`Apparatus for Content Distribution Via Non-Homogeneous Access
`Networks
`Bonisch H et a1: “Server side compresslets for Internet multimedia
`streams” Multimedia Computing and Systems, 1999, IEEE Inter-
`national Confcrcncc on Florence.
`Italy Jun. 7-11. 1999. Los
`Alamitos. CA. USA. IEEE Comput, Soc. US. v01. 2, Jun. 7, I999
`
`(Jun. 7. I999). pp. 82-86. XP010519360 ISBN: 0-7695-0253-9.
`1‘ cited by examiner
`.
`.
`~
`.
`Primary Examzrer Chns Kelley
`.
`Assn/ant annzmeriJoseph G. Ustaris
`(74) Allumey, Age/11, or FirmiPatterson & Sheridan, LLP
`
`(57)
`
`ABSTRACT
`
`A method and apparatus for prcproccssing and preprocess-
`mg content in an interactive information distribution system.
`Content is retrieved from a storage medium and encapsu-
`lated in accordance to an Internet Protocol (IP) format. The
`encapsulated content is then uploaded for storage in a stream
`caching server and Tor future streaming of content to diT—
`ferent types of access networks.
`
`5,838,678 A
`
`11/1998 Davis et al.
`
`................ 370/389
`
`27 Claims, 6 Drawing Sheets
`
`( L
`
`102/
`
`138
`CCALHEADEND
` swammoms
`mmswauns sva _\140
`woes»:
`82mm
` \
`aroma:
`acxsr
`
`w[R:
`
`
`
`146
`mm
`swrrcn PRUSESSCR "144 164
`
`
`
` 142
`
`
`
`
`more mum 155
`nEumE swim
`NETWOHK
`
`
`mumsseam
`mm 1.5mm
`
`
`muss»: «152
`
`180
`
`
`143
`um um
`135
`DAM LINK
`
`
` mpsaws:
`com/E1191 "115
`comma "112
`’
`cmvsflsk h l
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` R119
`
` MDDEM R114
`
`
`
`
`xmmanam K120
`12:111meTERMINAL
`11.6
`
`APPLE -‘~isa
`
`
`
`
`comm M
`senor
`own/ER m
`150
`I
`in“«‘54
`
`
`
`
`
`
`
`“new“ f
`lismimt T 15mm mum
`mm;
`clncuirs
`122
`swoon
`l
`124
`
` \ \
`mm
`
`
`
`t
`r
`152
`156
`
`DISH Ex. 1005, p. 1
`DISH Ex. 1005, p. 1
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`I
`
`
`
`US. Patent
`
`Jan. 2, 2007
`
`Sheet 1 0f6
`
`US 7,159,233 B2
`
`1 38
`
`
`LOCAL HEAD END
`
`SERVER
`
`STREAM CACHING
`
`STORAGE
`
`MEDIUM
`
`102
`
`146
`
`164
`
`INFRASTRUCTURE SYSTEM
`MANAGER
`
`LAYER 3
`SWITCH
`_
`
`PACKET
`PROCESSOR
`
`
`
`
`140
`
`144
`
`1 66
`
`REMOTE HEADEND
`REMOTE STREAM
`
`
`
`
`
`CACHING SERVER I
`I MANAGER I 162
`
`016
`
`STREAM DISTRIBUTION
`NETWORK
`
`104
`
`126
`
`148
`
`HTTP
`SERVER
`
`116
`
`DATA LINK
`CONVERTER
`
`2
`
`1 1
`
`DATA LINK
`CONVERTER
`
`1 18
`
`DATA LINK
`CONVERTER
`
`136
`
`CARRIER
`NETWORK
`
`6
`
`1 08
`
`CABLE
`NETWORK
`
`OOB
`ROUTER
`
`1 10
`
`113
`
`114
`
`DSLAM
`
`1 19
`
`CABLE MODEM
`
`COMPUTER TERMINAL
`
`154El 158
`
`150
`
`
`
`PROCESSOR
`
`STORAGE
`MEDIUM
`
`SUPPORT
`
`CIRCUITS
`
`152
`
`155
`
`120
`
`128
`
`132
`
`134
`
`COMPUTER
`TERMINAL
`
`SETTOP
`TERMINAL
`
`COMPUTER
`TERMINAL
`
`DVR
`
`122
`
`124
`
`FIG. 1
`
`DISH Ex. 1005, p. 2
`DISH Ex. 1005, p. 2
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`
`
`US. Patent
`
`Jan. 2, 2007
`
`Sheet 2 0f6
`
`US 7,159,233 B2
`
`IP HEADER
`
`lP PAYLOAD
`
`210
`
`220
`
`200
`
`’/
`
`
`
`UDP PACKET
`
`STREAM CHECK
`
`CRC
`
`
`
`221
`
`226
`
`228
`
`
`
`
`
`UDP HEADER
`
`
`
`UDP PAYLOAD
`
`222
`
`224
`
`RTP PACKET
`
`230
`
`FIG. 2A
`
`RTP HEADER
`
`RTP PAYLOAD
`
`240
`
`250
`
`
`
`MPEG-2 MPEG-2 MPEG-2 MPEG-2 MPEG-2
`PACKET
`PACKET
`PACKET
`PACKET
`PACKET
`
`252
`
`254
`
`256
`
`258
`
`260
`
`FIG. 28
`
`230
`
`’/
`
`
`
`DISH Ex. 1005, p. 3
`DISH Ex. 1005, p. 3
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`
`
`U.S. Patent
`
`Jan.2,2007
`
`Sheet3 0f6
`
`US 7,159,233 B2
`
`E<mmfiw
`
` HZMHZOO
`
`filll_§
`
`§_IE
`
`m.OE
`
`
`
`._.zm._.ZOO_>_<m_m._.mm5m
`
`III-III§
`
`omm
`
`DISH Ex. 1005, p. 4
`DISH Ex. 1005, p. 4
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`
`
`
`US. Patent
`
`Jan. 2, 2007
`
`Sheet 4 0f6
`
`US 7,159,233 B2
`
`404
`
`EXECUTE APPLET TO INITIATE
`PREPROCESSING
`
`START
`
`402
`
`400
`
`406
`
`
`USER
`
`NO
`
`PURCHASED
`
`SHELF SPARE ?
`
`
`
`
`
`
`LOAD CONTENT FROM
`SUBSCRIBER TERMINAL
`
`CREATE METADATA FOR LOADED
`CONTENT
`
`412
`
`
`
`
`TRANSCODE CONTENT
`
`TRANSCODE
`INTO FORMAT FOR
`
`
`CONTENT ?
`TARGET VIEWER
`
`
`
`METADATA TO CACHE SERVER
`
`
`
`ENCAPSULATE TRANSCODED
`CONTENT INTO IP PACKETS FOR
`
`STREAM CACHING SERVER
`
`UPLOAD CONTENT AND
`
`SET PERMISSION TO RESTRICT
`ACCESS TO STORED CONTENT
`
`FIG. 4
`
`CREATE HTML PAGE FOR
`ACCESSING CONTENT
`
`END
`
`424
`
`408
`
`410
`
`416
`
`418
`
`420
`
`422
`
`DISH Ex. 1005, p. 5
`DISH Ex. 1005, p. 5
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`
`
`U.S. Patent
`
`Jan. 2, 2007
`
`Sheet 5 0f6
`
`US 7,159,233 B2
`
`START
`
`502
`
`500
`
`USER SELECTS TO ACCESS
`STORED CONTENT AT
`
`HTML PAGE
`
`504
`
`506
`
`
` CURRENT
`
`PASSWORD
`
`
`EMCODED?
`
`
`
`NO 0
`
`510
`
`
`
`DETECTED?
`
`VIEW CONTENT
`
`DOWNLOAD PLAYER TO
`
`512
`
`
`
`PLAYER
`
`
`SUPPORT FULL
`NO
`
`
`
`QUALITY
`PLAYBACK?
`
`
`
`514
`
`YES
`
`
`
`PAY FOR
`FULL QUALITY
`
`
`CONTENT?
`
`
`
`FIG. 5A
`
`DISH Ex. 1005, p. 6
`DISH Ex. 1005, p. 6
`DISH v. BBiTV
` DISH v. BBiTV
`IPR2020-01280
` IPR2020-01280
`
`
`
`US. Patent
`
`Jan. 2, 2007
`
`Sheet 6 0f6
`
`US 7,159,233 B2
`
`RETRIEVE FULL
`IP FORMATTED
`CONTENT FROM
`
`516
`
`526
`
`RETRIEVE PORTION
`OF lP FORMATTED
`CONTENT FROM
`SERVER
`
`SERVER
`NETWORK
`IP STREAM
`
`STREAM CONTENT
`OVER DISTRIBUTION
`NETWORK
`
`518
`
`528
`
`STREAM CONTENT
`OVER DISTRIBUTION
`
`EXTRACT CONTENT
`FROM IP STREAM
`
`520
`
`530
`
`EXTRACT PORTION
`OF CONTENT FROM
`
`522
`
`532
`
`
`
`YES
`
`YES
`
`
`
`
`
`
`TRANSCODE
`
`
`TRANSCODE
`
`
`FOR ACCESS
`FOR ACCESS
`NETWORK AND
`NETWORK AND
`
`
`VIEWER?
`VIEWER?
` TRANSCODE
`
`TRANSCODE
`
`NO
`CONTENT AT
`CONTENT AT
`
`LOW
`NORMAL
`
`QUALITY
`QUALITY
`
`
`
`
`STREAM CONTENT OVER
`
`536
`
`ACCESS NETWORK
`
`500
`
`DISPLAY CONTENT ON
`VIEWER
`
`538
`
`0
`
`FIG. 5B
`
`END
`
`540
`
`DISH Ex. 1005, p. 7
`DISH Ex. 1005, p. 7
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`
`
`US 7,159,233 B2
`
`1
`METHOD AND APPARATUS FOR
`PREPROCESSING AND POSTPROCESSING
`CONTENT IN AN INTERACTIVE
`INFORMATION DISTRIBUTION SYSTEM
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`This invention claims benefit of US. Provisional Patent
`Application Ser. Nos. 60/178,795, 60/178,809, 60/178,810
`and 60/178,857, all filed on Jan. 28, 2000, and such appli-
`cations are herein incorporated by reference in their entire-
`ties.
`
`This invention is related to simultaneously filed US,
`patent application Ser. No. 09/772,287, filed on the same
`date as this application, and such applications herein incor—
`porated by reference in entirety.
`
`
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`
`The invention relates to electronic storage and transmis-
`sion of content. More particularly, the invention relates to a
`method and apparatus for preprocessing and postprocessing
`content in an interactive information distribution system.
`2. Description of the Background Art
`Information systems such as video on demand (VOD)
`systems are capable of streaming program content to a great
`number of users or subscribers. To provide a requested
`program content to a subscriber, the VOD system retrieves
`the requested program content from a video server, streams
`the content over a stream distribution network, and converts
`the content
`to an access network that
`is coupled to a
`particular neighborhood of subscriber terminals. The user
`then Views the requested program content at the subscriber
`terminal.
`
`However, the different types of access networks have
`different limitations with respect to transmission latency,
`bandwidth, and the like. To service a wide subscriber base,
`the VOD systems currently implement different solutions for
`each type of access network. For example, VOD systems
`that provide web-based video content must account for a
`public and private wide area networks that support content
`of a particular quality of service (QoS), typically medium
`latency, low bandwidth and poor quality video, e.g. high
`jitter. Additionally, VOD systems that provide cable-based
`Video must account for cable networks that support low
`latency, high bandwidth and high quality video.
`One example of using different solutions involves the use
`of separate video servers for each type of access network.
`Such a solution only increases the co st of providing program
`content at the head end. Therefore, there is a need in the art
`to provide a scalable VOD solution that is common for the
`different types of access networks. Additionally, there is a
`need to preprocess and postprocess content for such a VOD
`solution.
`
`SUMMARY OF THE INVENTION
`
`The invention provides a method and system for prepro-
`cessing content for a stream caching server in an interactive
`information distribution system. In one embodiment,
`the
`method initially retrieves of content in a subscriber terminal.
`The retrieved content is encapsulated in accordance to an
`Internet Protocol (IP) format used for streaming content to
`various access networks. The encapsulated content is then
`
`10
`
`15
`
`20
`
`25
`
`40
`
`45
`
`60
`
`65
`
`2
`uploaded for storage in a stream caching server and for
`fiiture streaming of content
`to different types of access
`networks.
`The present invention preprocesses content into a com-
`mon format suitable for a stream caching server capable of
`transmitting content to different types of access networks. In
`one embodiment of the invention, a user executes an applet
`program to preprocess content stored in a computer terrni—
`nal. Such a configuration enables a user to upload content
`over the Internet for storage in a stream caching server and
`subsequent streaming to other subscribers. The invention
`also postprocesses content into a format supported by a
`particular type of player and access network used to receive
`the content from the stream caching server.
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`invention can be readily
`The teachings of the present
`understood by considering the following detailed descrip—
`tion in conjunction with the accompanying drawings,
`in
`which:
`FIG. 1 depicts a high level block diagram of a first portion
`of an interactive information distribution system embodied
`in the present invention;
`FIG. 2A depicts one embodiment of an Internet Protocol
`(IP) packet used in the information distribution system of
`FIG. 1;
`FIG. 2B depicts one embodiment of a Realtime Transport
`Packet (RTP) contained in a payload section of the IP packet
`of FIG. 2A;
`FIG. 3 depicts a data structure useful in understanding an
`embodiment of the present invention;
`FIG. 4 depicts a flow diagram of a method for imple-
`menting the preproces sing of program content in accordance
`to one embodiment of the present invention; and
`FIG. 5 depicts a flow diagram of a method for and
`postprocessing content in accordance to another embodi-
`ment of the present invention.
`To facilitate understanding, identical reference numerals
`have been used, where possible,
`to designate identical
`elements that are common to the figures.
`
`DETAILED DESCRIPTION
`
`FIG. 1 depicts a high level block diagram of an interactive
`information distribution system 100. One application of the
`distribution system 100 is as a video of demand (VOD)
`system, as described in US. Pat. No. 6,253,375 and incor-
`porated herein by reference. In such a VOD system 100, a
`riser may request and receive a particular content selection,
`e.g., video, movie or programming content, from a service
`provider without any time restrictions associated with nor—
`mal cable programming.
`The information distribution system 100 comprises a
`stream caching server 102, a stream distribution network
`104, at least one access network and at least one subscriber
`terminal. The stream caching server 102 receives, stores and
`streams content in accordance to an Internet Protocol (IP).
`One example of such a stream caching server 102 is dis-
`closed in simultaneously filed US. application Ser. No.
`09/772,287, entitled “Method and Apparatus for Streaming
`Content in an Interactive Information Distribution System,
`which is herein incorporated by reference. The content is
`configured within a payload portion of each IP packet
`received, stored and streamed by the stream caching server
`102. The use of this P formatted content enables a single
`stream caching server 102 to stream content via an inte-
`
`DISH Ex. 1005, p. 8
`DISH Ex. 1005, p. 8
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`
`
`US 7,159,233 B2
`
`
`
`3
`grated stream distribution network 104 to different types of
`access networks. As such,
`the system 100 is capable of
`streaming the same content to any cable service subscriber
`or any person using the Internet.
`In accordance to the present invention, the stream caching
`server 102 may receive content that is preprocessed at, for
`example, a remotely located subscriber terminal. One such
`subscriber terminal is a computer terminal 116 comprising a
`processor 150, a storage medium 152, a random access
`memory (RAM) 154 and support circuits 156. The RAM
`154 stores an applet 154 that
`is downloaded from, for
`example, a HTTP server 148 coupled to an access network,
`for example, a private local area network @AN) or wide
`area network (WAN) 106. The processor 150 executes the
`applet 154 to initiate the preprocessing in the present inven—
`tion. The storage medium 152 stores the content
`to be
`preprocessed. The support circuits 156 provide an interface
`for receiving the applet 154 from the http server 148,
`receiving content from the streaming cache server 102, or
`uploading preprocessed content to the http server 148.
`Possible configurations of the applet 154 include a JAVA
`Applet Plug In for an Internet browser, or a software
`program written in a particular programming language, e.g.,
`C++. Once the processor 150 executes the applet 154, the
`con ent
`is retrieved from the storage medium 152. The
`con ent may include standard multimedia files in a variety of
`formats, e.g., AVI (Audio Video Interleaved), Moving JPEG,
`
`
`
`MPeG—l, MPeG—Z, MPeG—4, MP3, Quicktime, and the
`like. If a need exists to convert the content into a particular
`format,
`the retrieved content may be transcoded into a
`format supported by a Viewer or subscriber terminal that
`eventually receives the downstream content. The transcod-
`ing of content changes the format and rate of the retrieved
`content. One example of such transcoding is the conversion
`of MPEG—2 content into MPEG—4 content that can be played
`on a graphic processor in set
`top terminals or personal
`computer (PC) terminals. Other types of content may be
`transcoded into MPEG—2 content playable on conventional
`set top terminals. Some transcoding requires decoding to
`baseband followed by encoding according to the desired
`format. Some transcoding may be performed without base—
`band decoding.
`The content, whether transcoded or not, is then encapsu-
`lated into a format that is optimal for the stream caching
`server 102. In one embodiment, the content, as MPEG—2
`packets,
`is encapsulated in a payload of each Realtime
`Transfer Protocol (RTP) packet contained in the payload of
`an IP packet. The format of such encapsulated content is
`shown in FIGS. 2A72B. However, the use of the RTP packet
`also supports non real time applications.
`FIG. 2A depicts one embodiment of an Internet Protocol
`(IP) packet 200 used in the present invention. The IP packet
`comprises an IP header 210 and an IP payload 320. The IP
`payload comprises a UDP (User Datagrarn Protocol) packet
`221 comprising a UDP header 222 and a UDP payload 224.
`A RTP packet 230, a stream integrity check 226 and a cyclic
`redundancy check (CRC) 228 is illustratively contained in
`the UDP payload 224. In one embodiment of the IP packet
`200, the IP header 210 is 20 bytes, the UDP header 222 is
`8 bytes, the stream integrity check field 226 is 4 bytes and
`the CRC field 228 is 4 bytes.
`FIG. 2B depicts one embodiment of a Realtime Transport
`Packet (RTP) 230 contained in a payload section 220 of the
`IP packet 300 of FIG. 2A. The RTP packet 230 comprises a
`
`RTP header 240 and a RTP payload 250. Five MPEG—2
`packets 352, 354, 356, 358 and 360 are illustratively con-
`tained in each RTP payload 250. The number of MPEG-2
`
`10
`
`15
`
`20
`
`25
`
`40
`
`45
`
`60
`
`65
`
`4
`packets in the RPT payload 250 corresponds to the buffer
`space in the Fibre Channel controller in the packet processor
`144.
`the
`shown in FIGS. 2A72B,
`the embodiment
`For
`transcoding may also include compression of the IP header
`310, the UDP header 322 and the RTP header 340. The
`compression of these headers 310, 322 and 340 optimizes
`the storage of content on the storage medium 146 of the
`stream caching server 102. Additionally, the transcoding
`may include encryption of the content.
`Compression of the IP header 310 may include compres-
`sion of non-address fields, and deletion of source and
`destination IP addresses. The IP source address is subse-
`quently decompressed (at the packet processor 144) as the IP
`address at the output interface of the stream caching server
`102. The IP destination address is assigned prior to stream-
`ing and is based upon the data link converter 112, 118 or 126
`or edge device for the target access network 106, 108 or 110.
`The compression of the UDP header 322 may delete
`source and destination port numbers in the storage medium
`146. New values are then assigned to the source and
`destination port numbers prior to streaming of content over
`the stream distribution network 104. The source port number
`is assigned a unique stream number with IP addresses. The
`destination port number is assigned a unique target stream
`number within the data link converter 112, 118 or 126 or the
`target edge device.
`Once encapsulated into the IP format, the content is then
`uploaded to the http server 148 via the modem 114 and the
`LAN/WAN 106. The HTTP server 148 provides a user
`interface, e.g., a HTML (HyperText Markup Language)
`page, for the user to upload the content to the stream caching
`server 102, The http server 148 also transmits the transcoded
`content upstream to the data link converter 112 via the
`LAN/WAN 106. The data link converter 112 modulates the
`encapsulated content for upstream transmission over the
`distribution network 104 for storage in the stream caching
`server 102.
`The preprocessing of the present invention is not limited
`to a computer terminal 116 uploading content over a LAN/
`WAN 106. For example, the encapsulation may also occur in
`the computer terminal 116 prior to uploading to content to
`the http server 148. Additionally, the preprocessing may be
`initiated from a computer terminal 122 or digital Video
`recorder 124 over a carrier network 108, e.g., a T—l or T—3
`line. As such, a user of any computer terminal 116 and 122
`may author multimedia content over a network, e.g., Inter-
`net, and store the content in a virtual video shelf at the
`stream caching server 102 for playback by other users. The
`preprocessing is also applicable to content from a conten
`provider such as a movie manufacturer.
`The preprocessing may also include the creation of meta-
`data once the processor 150 executes the applet 154. The
`metadata generally contains a variety of information abou
`the content to be stored on the stream caching server 102 anc
`streamed to a viewer or subscriber terminal. One embodi-
`ment of the metadata is in the form of a data structure tha
`is prepended prior to a file associated with the content.
`The metadata may comprise many different
`types 0
`information used by the stream caching server 102 in
`steaming the content
`to a viewer device or subscriber
`terminal. One type of metadata that identify the conten
`include title, author, screenwriter, actors,
`length of play,
`timing information, play rate, e. g., constant bit rate (CBR) or
`variable bit rate (VBR), genre of content, size of content,
`and the like. Other forms of metadata indicate the type 0 '
`content and the type of player used to play the content.
`
`
`
`DISH Ex. 1005, p. 9
`DISH Ex. 1005, p. 9
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`
`
`US 7,159,233 B2
`
`5
`
`5
`6
`
`This greatly reduces the hardware cost at the head end 138,
`Illustrative types of content include AVI, MPEG-1, MPEG-
`as the prior art requires a streaming caching server 102 and
`2, Ml’lz'G-4, MP3, Quicktime, and Moving JPEG. The
`a distribution network 104 for each type of access network
`inetadata may also include MPEG7 structure including
`106, 108 and 110.
`scene descriptions and indices. Exemplary types of player
`
`For example, the server 102 may stream content to a
`devices include MPEG—l player, MPEG-Z player, MPEG—4
`private local Area Network (LAN) or Wide Area Network
`player, Microsoft Media Player, Real Video/Real Audio
`(WAN) 106. Specifically, the system 100 may streamcon-
`Player, and QuickTime Player.
`tent through the stream distribution network 104 to a digital
`.
`.
`.
`.
`.
`link converter 112, the LAN or WAN 106, a modem 114 and
`The . metadata may include pricmg information and
`restrictions to YICW the content from the server 102’ Auser 10 a display device coupled to a computer terminal 116. If a
`or service prmilder may preset the price and access restr10'
`user decides to request content from the server 102 or uplink
`tions that are required to View the preprocessed content from
`content, e.g., a home movie, to the server 102, that request
`the server 102- Pricing information include a price to view
`or content would travel upstream in a path reverse to that of
`the content, applicable discounts associated With viewing
`the downstreamed content. The digital link converter 112
`the content, and applicable package deals when ordering the 15 modulates the program content for transmission via the
`preprocessed content with other content selections. Access
`private LAN/WAN 106. Additionally, the data link converter
`
`112 extracts a lVIPEG formatted program content from the
`restrictions include rating of content, viewing window infor-
`RTP formatted stream from the stream distribution network
`mation and sales window information. The viewing window
`is a graphical interface that requires a subscriber to enter a
`104 and transcodes the program content into a format that is
`correct password to receive the content from the server 102. 20 supported by the LAN/WAN 106. 0118 example Of the data
`The sales window is a graphical interface that requires a
`link converter 112 is a DIVA Digital Link (DDL 500) that
`subscriber to pay for viewing a particular content selection.
`perfomis quadrature amplitude modulation (QAM) onthe
`The metadata comprises indexing at leacket boundaries,
`downstream prograincontent, The LAN or WAN 106 is a
`e.g., Group of Pictures (GOP) boundaries and frame bound—
`”We “WSW prov1ded by a private party or an lntemet
`aries. This indexing enables the stream caching server 1 02 in 25 Serv1ce Provider, (ISP). The modem 114 demodulates Vldeo
`responding to an interactive VCR like commands, e.g., fast
`content for v1ew1ng on the computer terminal. 116.
`forward (FF), rewind (REVV), pause, stop, bookmark, and
`.The server 102 may also stream content Via the stream
`return to place. Specifically, the indexing information sup-
`distribution network 104 to a data .hnk converter 118‘ a
`ports random frame access at a content stream granularity,
`carrier network 108’ a dlgltal subscriber line accessmulti-
`separate FF and REW tracks, random frame access ofFF and 30 plexer (DSLAM) 119’ an X'DSL modem 120 to either a
`REW tracks, pause/play, bookmarks for each active sub-
`computer terminal 122 or a digital v1deo recorder (DV R)
`scriber, and DVD scene selection. Additionally, the metadata
`.124’ A request for content or upload 0f content WOUld travel
`may also include markers for Changes in variable bit rate
`111 the reverse path taken .by the downstream content. The
`(VBR) and statistical multiplexing.
`carrier network 108 may include a T-1 or T-3 transmiss10n
`.
`.
`.
`link. The data link converter 118 multiplexes the down—
`The indeXing enables the use Of MPEGJ based descrip—
`stream content for transmission via the carrier network 108.
`
`Additionally, the data link converter 118 mav extract MPEG
`tors tor indexed access at content. The indexmg 0f content
`can be on a per frame basis or a per GOP bags] MPEGJ
`packets from the IP formatted stream fPOIIl the stream
`based descriptors include a length Of descriptor, Le" from a
`distribution network 104. The DSLAM 119 demultiplexes
`start frame to an end frame, and a SPhCma tor a database 01 40 the downstream content to a particular xDSL modem 120,
`indices. The database is a hierarchical based database that
`The xDSL modem 120 demodulates the content for viewing
`allows for hierarchical scene description. Forexample, a
`on a computer terminal 122 or a display device (not shown)
`root index may represent a scene Of Paris, Whllc a branch
`coupled to the DVR 124, The xDSL modem 120 may
`index may represent a scene of the Eiflel Tower.
`comprise a ADSL (asynchronous digital subscriber line)
`The indexing is also used for stream creation. 111 one 45 modem, aVDSL (very high data rate digital subscriber line),
`embodiment, the stream is created in realtime from a single
`and the like.
`
`MPEG—Z or MPEG—4 content stream, e.g., a start GOP to an
`The server 100 may also stream content (or program
`CW1 GOR or a start frame to an end frame. In a second
`content selection) via the stream distribution network 104 to
`embodiment, the stream is created in non real time and the
`a data link converter 126, the cable network 110 to either a
`modified stream file is stored. In a third embodiment, the 50 set top terminal 128 or a cable modem that is coupled to a
`stream is transcoded or re-cncoded such that a reference
`computer terminal 130 or a DVR 132. The data link con—
`frame or l-frame is forcedto be the frame With information
`vertcr 126 operates in a similar manner to the digital link
`deSIIed 1h an index, even 1f the frame arrived 1h the packet
`converter 112 except to format the content for transmission
`processor 144 as a predictive frame, e.g., B—frame or
`in the cable network 110. The content is transmitted from the
`P-frame. Stream indexing will also be discussed below with 55 cable network 110 to a set top terminal 128 or a cable
`respect to FIG- 3-
`modem 130 that demodulates the program content for view-
`Once the preprocessed content is uploaded, the stream
`ing on a computer terminal 132 or a display device coupled
`caching server 102 may store and stream the preprocessed
`to the DVR 134. A request from a cable subscriber or user
`content, or altematively stream the content in real time. The
`is processed via the cable network 110, the 008 (out of
`streaming of content encapsulated in IP format enables the 60 band) router 136 and the modulator 126 that modulates the
`stream caching server 102 to stream content to subscribers
`request back to the stream distribution network 104.
`via different types of access networks 106, 108 and 110. As
`Although the system 100 is illustratively shown to stream
`such, only one stream caching server 102 and one distribu-
`program content to the LAN/WAN 106, the PSTN 108 and
`tion network 104 is required to provide scalable streaming.
`the cable network 110, the system 100 may also stream
`Namely, one stream caching server 102 may stream content 65 content to other types of access networks. For example, the
`to the LAN/WAN 106, the carrier network 108, the cable
`system 100 may also stream program content to satellite and
`network 110 and any other access network that supports 1P.
`terrestrial networks. Additionally, each system 100 actually
`
`35
`
`DISH Ex. 1005, p. 10
`DISH Ex. 1005, p. 10
`DISH v. BBiTV
` DISH v. BBiTV
`|PR2020-01280
` IPR2020-01280
`
`
`
`US 7,159,233 B2
`
`7
`streams content over many more access networks and sub-
`scriber terminals than the example shown in FIG. 1.
`The stream caching server 102 is located at the local head
`end 138 with an infrastructure system manager 140, a switch
`142 and a packet processor 144. The stream caching server
`102 comprises a storage medium 146 to store the content
`preprocessed in accordance to the present invention. One
`configuration of the storage medium 146 is a redundant set
`of disk arrays, e.g., Redundant Array of Inexpensive Disks
`(RAID).
`The infrastructure system manager 140 coordinates a
`(user) request from the subscriber terminal by passing the
`request to the stream caching server 102 and establishing a
`session between the subscriber terminal and the stream
`caching server 102. An exemplary infrastructure system
`manager 140 is the DIVA System Manager (DSM), as
`disclosed in US. application Ser. No. 09/772,287. The
`switch 142 routes the user request from the stream distri—
`bution network 104 to the system manager 140. Addition-
`ally, the switch 142 routes the retrieved content from the
`stream caching server 102 to the packet processor 144.
`The storage medium 148 stores the preprocessed content
`in an IP format. The content is configured as a plurality of
`MPEG, e.g., Ml’EG-Z or M1’EG-4, packets contained in a
`payload of a RTP packet within an IP packet. For example,
`the payload of each RTP packet may contain five MPEG—2
`packets. The structure of the IP packet is shown to FIG. 2B.
`The RTP format (RFC 1889) minimizes the latency in
`streaming content from the server, by supporting the stream-
`ing of content in real time. Additionally, the content in the
`IP packet can be configured to have a minimal Quality of
`Service (QoS), e.g., data latency.
`The packet processor 144 postprocesses the content into
`a format supported by a particular type of player and access
`network 106, 108 and 110 used to receive the content from
`the stream caching server 102. Such a player is either a
`software module downloaded from a HTTP server 148 to a
`computer terminal 122. a hardware module coupled to a
`subscriber terminal, or a card inserted into a subscriber
`terminal Exemplary players include a MPEG- 1 player, a
`
`MPEG-2 player, a MPEG-4 player, a Microsoft Media
`Player, a Real Video/Real Audio Player, a QuickTime
`Player, a Wireless Device Vldeo or Audio Player, and the
`like.
`
`The packet processor 144 transcodes the content without
`disturbing the IP format. For example, the packet processor
`144 separates the content, e.g., MPFG-Z packets, and header
`information in the IP packet, transcodes the content packets
`into a desired format supported by the access network and
`downstream player, and combines the transcoded packets
`with the header information to recreate the IP packet. Such
`transcoding is performed at an elementary packet level for
`transmitting at the transport packet level. Additional func—
`tions performed by the packet processor 144 include jitter
`correction, creating of a PBS (packet elementary stream),
`stream splicing. and statistical multiplexing.
`More specifically. the transcoding includes the conversion
`content in the RIP payload into a format suitable for the
`access network 106, 108 and 110, but the transcoded content
`is still encapsulated in the IP packet stream. Such transcod-
`ing may change the format and rate of the content. For
`example, the transcoding may include the conversion of
`
`
`MPEG-2 formatted content into MPEG— 1, MP3G-4, AVI,
`Moving JPEG, MP3, Quicktime, Wireless Applications Pro—
`tocol content, and the like. The transcodingis performedin
`accordance to an extended Real Time Streaming Protocol
`
`10
`
`15
`
`20
`
`25
`
`40
`
`45
`
`60
`
`65
`
`8
`(RTSP-RFC 2326) such that stream manipulations conform
`to Internet standards and are applicable to any access
`networ