`
`ATIOOOO69
`Patent Application
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`In re Application of:
`
`Branko Kovacevic
`
`Entitled:
`
`SYSTEM FOR DIGITAL TIME SHIFTING AND METHOD THEREOF
`
`A
`
`=-.=
`
`"r--§=§
`
`fifii
`
`
`
`
`CERTIFICATE OF VIAILING BY EXPRESS MAIL
`
`"EXPRESS MAIL" Mailing Label No
`
`EL5790938l3US
`
`I l/O6/00
`Date of Deposit
`I hereby certify that this papei 01 fee is being deposited with the U S Postal
`Service "Express Mail Post Office to Addressee" service undei
`37 CFR 1 10 on the date indicated above and is addressed to
`Box PATENT APPLICATION
`Assistant Commissioiiei of Patents, Washington. D C 20231
`
`
`
`
`
`
`
`Type or Piint \1-ame Manha Rocha
`
`
`
`Signatuie
`
`‘ Box PATENT APPLICATION
`
`Assistant Commissioner of Patents
`
`Washington, D.C. 20231
`
`Dear Sir:
`
`REQUEST FOR FILING A NATIONAL PATENT APPLICATION
`
`Transmitted herewith for filing, please find the following:
`
`X
`
`X
`
`1. Specification, claims and abstract of the above-referenced patent application
`having
`23
`pages.
`
`2. _§_ sheet(s) of drawing(s) (L formal / _ informal) comprising Figures _I_
`throughL .
`
`X
`
`3. Declaration and executed Power of Attorney’s ( X
`
`signed __ unsigned).
`
`3A.
`
`No filing fee, Oath, or Declaration is enclosed pursuant to 37 C.F.R l.53(d).
`
`4. Information Disclosure Statement along with Form PTO-1449 and references.
`
`Continuation;
`Divisional;
`Continuation-In-Part;
`5. This is a:
`substitute Application (MPEP 201.09) of Application Serial No.
`;
`reissue of U.S. Patent No.
`filed on
`
`filed
`
`An extension to extend the life of the above prior Application to at least the
`date of filing hereof
`(Q_n_e_ box must be marked)
`(a)
`is concurrently being filed in that prior Application,
`(b)__ was previously filed in that prior Application,
`
`1
`
`LG Ex. 1002, pg. 1
`
`i
`00/90/IIllllIIIllllllllllllllllllllllllllllIO.I.cI‘Sn956:)!‘
`
`
`
`LG Ex. 1002, pg. 1
`
`
`
`ATIOOOO69
`
`Patent Application
`
`(0)
`
`is not necessary for copendency.
`
`5
`
`X
`
`s it
`6. Attached is an assignment to ATI Technologies Inc. Please return the recorded
`assign_ment to the undersigned.
`
`: 7. Priority is clai fed under 35 U.S.C. § lVl79(l_)as_gd_(_on fjng in"
`
`, ,
`
`OI]
`
`(No.) Certified copy (copies)
`
`are attached; or
`
`were previously filed
`
`8. Attached: _ O\Io.) verified statement(s) establishing “small entity" status under
`37 CFR§ 1.9 and l.27.
`
`X
`
`9. Attached:
`
`X
`
`Return Postcard
`
`(Other)
`
`10.
`
`Preliminary Amendment:
`
`Prior to a first Office Action, kindly amend the Application as follows:
`
`
`
`
` .,‘.u,,.,._;u.‘,,;~,,.u,,.__,_n-__..-
`
`
`
`LG Ex. 1002, pg. 2
`
`LG Ex. 1002, pg. 2
`
`
`
`‘/:
`
`ATIOOOO69
`
`Patent Application
`
`1 1.
`
`The following Filing Fee calculation is based on the claims filed less any claims
`canceled by the Preliminary Amendment of Item 10.
`
`7
`
`1
`Tiifi “Vi? 77‘.
`BASIC
`__;_F.EE, ,_ _
`
`fifliflfl If T
`1
`;_
`
`777
`
`777
`
`‘
`
`I
`
`if
`
`v A
`
`,,
`
`_
`
`SMALL
`1 ENTITY
`I RATE
`$355
`-_
`
`‘
`A7
`
`_
`
`0_R
`
`I LARGE
`3 ENTITY
`‘_RATE
`I7 ‘A WW
`, $710
`‘
`
`-
`
`7
`
`I
`
`7
`
`7 77
`
`NUMBER
`FILED
`
`7
`
`7
`
`NUMBER
`7 E7xTRA
`
`77
`
`_
`
`A
`
`_
`
`7 7
`
`-20
`
`7
`
`77
`
`7
`
`7
`
`7
`
`,
`
`3
`‘I
`
`=__
`
`V —
`$710 00
`_
`
`7 H
`
`_ _
`
`g
`
`5
`g
`I
`l
`l
`.
`1
`;
`
`V}_7
`; =
`1
`I
`I
`l
`_F_
`I
`
`=
`
`
`
`
`,
`17777
`‘
`
`, _,
`
`‘
`T‘ ”
`,__.._,
`
`77
`
`7
`
`TOTAL
`CLAIMS
`777
`INDEP
`
`27
`77
`
`=
`7
`
`7
`I
`7 777(atleast70)
`
`x 9
`7
`
`3
`
`, 0
`=
`-3
`~ CLAIMS
`<ar_Ieast0L
`,
`,
`__ 7
`_
`,
`‘
`_
`__
`If any proper multIple dependent claim (Ignore Improper) Is present
`(Enter $0 00 Ifthis IS a gs_su_e applicatron)
`”
`” ’ ”’
`7
`' ’
`7
`’
`’
`T
`Ifas_s1@rr£t1s,2<j<,i(Itt£,6,>_,_2,i,€1dr990rdmg Eqe $40 00 __
`Attached Is a Rule 47 Petition (Inventor refuses to sign or
`_
`cannot be re7a7ched)7$7173O
`77
`77
`7
`777
`7
`7 7
`T70TAL FILIN7G FEE
`7
`777
`77
`7
`
`_
`
`77 77
`7
`
`x40
`,_
`
`,
`
`+$] 35
`"T
`’
`
`;
`l
`:
`,
`5 x 18
`I
`77
`3
`
`I Q?
`7_
`
`T
`
`$126 00
`7 77 7 7
`
`. Q I x80
`__ 7
`,_
`
`,
`
`, =
`3
`
`,_ _
`
`$00 00
`,_,_,
`
`OR
`
`1
`7’
`_
`
`7'
`L, ._
`
`77 7
`
`7 7
`77
`
`W
`
`7
`7
`
`1
`‘ +$270
`7
`77’
`
`] = I +$
`' “‘*”
`1 +53 4,9951
`
`V
`
`77
`
`777777
`77 7
`
`,
`7 _7
`jr7$
`I
`‘ =§7§7§.oo
`
`I
`
`i
`74‘
`L
`
`12.
`
`A check in the amount of _ to cover the Filing Fee calculated in Item 1] is
`attached. Please charge any deficiency or credit any overpayment to ATI
`Technologies, Inc., PLC Deposit Account No. 50-0441.
`
`X
`
`13.
`
`X 14.
`
`Please charge ATI TECHNOLOGIES, INC., Deposit Account No. 50-0441
`in the amount of $ 876.00 the Filing Fee calculated in Item 1 1. This sheet is
`attached in duplicate.
`
`The Commissioner is hereby authorized to charge any fee specifically
`authorized hereafter, or any missing or insufficient fee(s) filed, or asserted to be
`filed, or which should have been filed herewith or concerning any paper filed
`hereafter, and may be required under 37 CFR 1.16-1.18 (missing or
`insufficiencies only) now or hereafter relative to this application and for the
`resulting Official Document under 37 CFR 1.20, and to have and cause any
`necessary petition for extension of time to be filed and any fees necessary to be
`paid for said extension of time QK credit any overpayment to ATI
`TECHNOLOGIES, INC., Deposit Account No. 50-0441
`purpose a duplicate copy of this sheet is attached.
`
`, for which
`
`LG Ex. 1002, pg. 3
`
`LG Ex. 1002, pg. 3
`
`
`
`ATIOOOO69
`
`Patent Application
`
`Respectfully submitted,
`Branko Kovacevic
`
`I / - 6 ’QOOO
`Date
`
`fix-%_,$ 0..————i.'."“
`. Gustav Larson
`
`Reg. No. 39,263
`
`SIMON, FAKHOURY, TANGALOS, FRANTZ & GALASSO, PLC.
`PO. Box 26503
`
`Austin, Texas 78755-0503
`Telephone: (512) 336-8957
`Facsimile: (512) 336-9155
`
`
`
`LG Ex. 1002, pg. 4
`
`LG Ex. 1002, pg. 4
`
`
`
`ATI000069
`
`PATENT APPLICATION
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`FILING OF A UNITED STATES PATENT APPLICATION
`
`SYSTEM FOR DIGITAL TIME SHIFTING AND METHOD THEREOF
`
`INVENTOR:
`
`Branko Kovacevic
`
`60 Clipper Road, Suite 1402
`Willowdale, Ontario
`
`ATTORNEY OF RECORD
`
`J. GUSTAV LARSON
`
`SIMON, FAKHOURY, TANGALOS, FRANTZ & GALASSO PLC
`P.O. Box 26503
`
`Austin, Texas 78755-0503
`PHONE (512) 336-8957
`FAX (512) 336-9155
`
`
`
`LG Ex. 1002, pg. 5
`
`LG Ex. 1002, pg. 5
`
`
`
`SYSTEM FOR DIGITAL TIME SHIFTING AND METHOD THEREOF
`
`ATI000069
`
`Field Of The Invention
`
`The present invention relates generally to time shifting of video data, and more
`
`5
`
`specifically to time shifting of digital video data.
`
`Background Of The Invention
`
`Systems for time shifting a Viewed program are known in the industry. For
`
`example, if a viewer is interrupted by a phone call during a television program, the
`
`10
`
`program can be recorded for a few minutes and then played back from the point of
`
`interruption while addition video information is continually recorded. One prior art
`
`method of accomplishing time shifting is to capture the rendered video signal. When the
`
`rendered signal is an analog signal it is digitized and stored. When the rendered signal is
`
`a digital signal it can be captured directly. Once captured, the rendered digital data can
`
`15
`
`be stored directly. A digital signal stored directly can require a large amount of storage
`
`space, even when only a few minutes of video are captured. The digital signal can be
`
`compressed to reduce the amount of storage space required. However, compressing a
`
`video signal requires additional processing power, resulting in additional costs.
`
`
`
`As the use of digital video data becomes increasingly common, a method and
`
`20
`
`apparatus for time shifting a digital program that is more efficient than those known in art
`
`would be advantageous. One known method to provide digital video data is to provide
`
`the data using a specific protocol that has the ability to transmit the digital video data in a
`
`compressed format. An example of one such format is known as MPEG-2, and has been
`
`approved by the International Organization for Standards (ISO) Moving Pictures Experts
`
`25
`
`Group (MPEG group). MPEG-2 is a versatile communication standard that gives
`
`theoretical explanations needed to implement an MPEG-2 decoder through the syntax
`
`and semantics of coded bit-streams. MPEG-2 is an open standard and continues to
`
`LG Ex. 1002, pg. 6
`
`LG Ex. 1002, pg. 6
`
`
`
`ATIOOOO69
`
`evolve and be applied to a wide variety of applications ranging from video conferencing
`
`to High Definition Television (HDTV). The MPEG-2 standard, as a generic and open
`
`standard, is intended for variety of audio/video coding applications.
`
`One method of transporting large amounts of various types of transport stream
`
`5
`
`data is to use a multiplexed packetized data stream capable of carrying real-time
`
`multimedia programs. One example of a multiplexed packetized data stream is described
`
`in the standard 1S0/IEC 13818-1 and will be referred to as a transport stream. Transport
`
`streams generally offer robustness for noisy channels and can carry multiple programs
`
`(like multiple TV services) within the same multiplex. The transport stream is based on
`
`10
`
`188 byte long packets that are well suited for hardware error correction and processing
`
`schemes needed in noisy environments, such as coaxial cable television networks and
`
`satellite transponders. Such a transport stream facilitates fast program access, channel
`
`hopping and synchronization between multiple programs within the transport stream.
`
`A transport stream consists of fixed length packets based on 4 bytes of header
`
`15
`
`followed by 184 bytes of data payload, where data payload is obtained by partitioning
`
`larger data blocks. For example, an elementary stream (ES) is a set of data generally
`
`consisting of compressed data from a single source, such as a video or audio source, with
`
`some additional ancillary data for identification, characterization and synchronization.
`
`ES streams are first packetized into either constant length or variable length Packetized
`
`20
`
`Elementary Stream packets (PES packets) consisting of a header and payload. Each PES
`
`packet header starts with start code (oxOO0OOl) followed with the stream_id byte
`
`identifying type of ES underneath.
`
`PES packets from various elementary streams are merged together to form a
`
`program (service) with its own system time clock (STC). All ES component streams
`
`25
`
`within one program are synchronized have periodic PTS stamps corresponding to the
`
`STC counter to indicate the proper timing for each ES.
`
`
`
`The relatively long and most often variable length PES packets are further
`
`packetized into shorter TS packets having a constant size of 188 bytes. A small and
`
`constant TS packet size makes error recovery easier and faster. Usually, the transport
`
`LG Ex. 1002, pg. 7
`
`LG Ex. 1002, pg. 7
`
`
`
`ATIOOOO69
`
`stream carries several programs, each with its own STC. Each TS packet consists of a TS
`
`Packet header with optional Adaptation Field followed by useful data payload containing
`
`portion of a PBS packet. The TS header consists of a sync byte, flags,
`
`indicators
`
`information for error detection and timing and Packet_ID (PID) field used to identify
`
`5
`
`elementary stream carried underneath of a PBS packet. In addition to identifying specific
`
`elementary streams, one PID is used to identify a program specific Information (PSI)
`
`table data.
`
`Each TS PSI table is sent in sections, usually occupying one or more TS packets.
`
`Four types of PSI tables exist: 1) Program Association Table (PAT) listing unique
`
`10
`
`program_number (as an identifier of each program in one multiplex) and PID of the PMT
`
`table; 2) Program Map Table (PMT) listing PIDs of all component streams making a
`
`given program. PMT may be constructed for each program separately or be common for
`
`a group of programs; 3) Conditional Access Table (CAT) identifying PID of Entitlement
`
`Management Messages and ID of used conditional access system if any scrambling of TS
`
`15
`
`or PES packets is done; 4) Private Table carrying Network Information Table (NIT) or
`
`private data.
`
`The Hierarchical structure which exists between ES streams, PBS and TP packets
`
`is illustrated in prior art Figure 1-4.
`
`A method and apparatus for efficient time shifting of multiplexed packetized data
`
`20
`
`streams, such as a packet stream, would be advantageous.
`
`
`
`
`LG Ex. 1002, pg. 8
`
`LG Ex. 1002, pg. 8
`
`
`
`ATIO00069
`
`Brief Description Of The Drawings
`
`Figures 1-4 illustrate various information associated with an MPEG transport
`
`stream of the prior art.
`
`Figure 5 illustrates in graphical form a time line indicating various modes of
`
`5
`
`operation in accordance with the present invention;
`
`Figure 6 illustrates in block diagram form a specific embodiment of a system
`
`having to digital transport stream receivers in accordance with the present invention.
`
`10
`
`
`
`LG Ex. 1002, pg. 9
`
`LG Ex. 1002, pg. 9
`
`
`
`Detailed Description Of The Drawings
`
`ATI000069
`
`A specific method and apparatus is disclosed describing a time shifting technique.
`
`In one embodiment, the disclosed time shifting technique can be based upon a hardware
`
`transport stream demultiplexer that interfaces to a transport stream. The hardware
`
`5
`
`demultiplexer application assists
`
`in the extraction and parsing of a multiplexed
`
`packetized data stream, such as a MPEG-2 Transport Stream (TS) multiplex. One such
`
`hardware demultiplexer is disclosed in pending patent application (990135), which is
`
`hereby incorporated herein by reference. The disclosed hardware transport core is used
`
`to filter component streams into 15 memory ring buffers, one allocated in the frame
`
`10
`
`memory for the dedicated MPEG-2 video decoder and others in the system memory for
`
`the dedicated software parser.
`
`It can demultiplex the most frequent transport packets of
`
`video stream into an Elementary Stream (ES) by monitoring the first packet identifier
`
`(PID) of each TS packet. This flexible filter can be set to extract private data from the
`
`adaptation field (AF) or from the PES packet header. Thirty-one other PIDs can be
`
`15
`
`simply filtered and routed to a common (joint) or individual memory buffers for
`
`subsequent software processing on the host processor. The basic idea of a time shifting
`
`is shown in Figure 5.
`
`Figure 5 illustrates three functions performed by a time shifting system. A first
`
`function is to receive a live broadcast stream 510. According to the graph of Figure 5,
`
`20
`
`the live broadcast stream is continuously received during the time represented in Figure
`
`5.
`
`
`
`_
`
`i!::Ei3
`
`A second function of a time shifting system is to record a specific program after a
`
`user activates the time shifting feature. Vector 520 of Figure 5 indicates when a specific
`
`program is being recorded by the time shifting system.
`
`25
`
`A third function of the time shifting system is to display the specific program.
`
`Vector 530 of Figure 5 indicates when a specific program is being played back.
`
`Specifically, Vector portion 531 represents the time where the program is being displayed
`
`directly from the live broadcast stream. Vector portion 532 represents the time that the
`
`user is unable to View the program, i.e. the user is away from the television. Therefore, in
`
`LG Ex. 1002, pg. 10
`
`LG Ex. 1002, pg. 10
`
`
`
`ATIOOOO69
`
`one embodiment, during this time no program is displayed.
`
`In an alternate embodiment,
`
`the live feed can continue to be displayed, even though the program is being recorded.
`
`Vector 533 represents the time during which the time-shifted program, which has
`
`been stored, is being replayed at a normal playback rate. Note that during this time, the
`
`5
`
`live program feed continues to be recorded for future time shifted play back.
`
`Vector 534 represents a time during which the time shifted program is being
`
`replayed at a faster than normal replay rate. By being able to playback at a faster than
`
`normal rate, it is possible to catch-up to the live broadcast stream.
`
`The receive—only mode of vector 31 represents where the digital transport stream
`
`10
`
`receiver (DTSR) is receiving a live broadcast and demultiplexing one program of a
`
`l 5
`
`
`
`plurality of programs available in the live broadcast stream. This will be referred to as
`
`Transparent Mode indicating the transport stream is accessed immediately and not
`
`saved. Therefore, from the point of view of digital storage media (DSM), the received
`
`data is transparent.
`
`Note that the PAT table is constantly acquired, in transparent mode, and other
`
`modes, so that version number change or PMT table PID change for a currently viewed
`
`program can be detected. If such a change occurs during the live broadcast of a program,
`
`PIDs will be reprogrammed for video and splicing with be handled.
`
`20
`
`A Continuous Time Shifting Mode occurs during vectors 532-534. Continuous
`
`time shifting mode occurs when time shifting is selected by the viewer to store part or all
`
`of a program for later viewing after a short or long intermission. During continuous time
`
`shifting mode, a selected program from a given multiplex is received and stored on a hard
`
`disk, or other storage media, in the fonn of full transport stream packets or PES packets.
`
`25
`
`A Part-Time Time-Shifting Mode, when selected by the viewer, allows for
`
`replay of a time shifted program or fast forward (FF) replay of a time shifted program at
`
`user defined FF speed. In Figure 5 this is represented as vectors 533 and 534.
`
`In a
`
`LG Ex. 1002, pg. 11
`
`LG Ex. 1002, pg. 11
`
`
`
`ATI000069
`
`specific embodiment discussed herein,
`
`this time-shifting mode is the most demanding
`
`mode of the 3 described modes because: the host CPU system is receiving and storing a
`
`real time event; at the same time, the host CPU is retrieving saved stream data from the
`
`disk; simultaneously with first two operations, the host CPU is performing transport
`
`5
`
`stream de—multiplexing of video, audio, private and PSI/SI data on a host CPU; and at the
`
`same time the host CPU is restoring PCR/PTS time—base information as described later.
`
`For some digital television applications, time-shifting may be considered a peak
`
`event that occurs sometimes or occasionally. However, some users may depend on it all
`
`the time, up to the end of the current program once it was started. For those users, typical
`
`10
`
`operating state of the system is time shifting, de-coupled from the live stream. Time
`
`shifting of the digital transport stream should offer the same quality as from the live
`
`broadcast (source stream).
`
`
`
`Systems suitable for time-shifting need to simultaneously receive and decode a
`
`transport stream and handle incoming source stream (to process all PSI and SI data) and
`
`15
`
`record incoming source stream as a full entity or just its one program. Time shifting
`
`allows the viewer to step away from the TV monitor without missing any of the program
`
`parts. One embodiment of time shifting includes storing all transport packets received on
`
`the transport stream. Another embodiment of time shifting that
`
`is more efficient
`
`includes: 1) selecting just the transport packets of interest (PSI, SI, video, audio and data
`
`20
`
`packets) that constitute one program event to minimize the bit-rate of the recorded
`
`stream, to minimize the bandwidth through the host bus interface unit, and to minimize
`
`hard disk head movement (if any); 2) increasing the amount of storage and useful life of
`
`the hard disk; and 3) assuring that the amount of data that needs to be processed by the
`
`host processor is received and stored as: transport stream packets; PES packets of video,
`
`25
`
`audio, data, PSI and SI content, de-multiplexed transport; or PES packets of video and
`
`audio and bus master compressed video into the video bit—stream buffer of the MPEG
`
`video decoding device.
`
`LG Ex. 1002, pg. 12
`
`LG Ex. 1002, pg. 12
`
`
`
`ATIO00069
`
`Selection of just one time shifted program reduces the potentially high bit-rate of
`
`a transport stream multiplex to a manageable size, suitable for storage on current 10GB
`
`hard disk units (two hours of l0Mbps stream). Obviously, a large disk drive is needed to
`
`allow any reasonable length of time shifting.
`
`In time shifting mode where time shifted
`
`5
`
`material is simultaneously received and stored, the bit-rate of the host bus-interface unit
`
`(HBIU) needs to be double a system where the HBIU is only responsible for playing a
`
`single program stream.
`
`Generally the bandwidth needed is calculated to be
`
`approximately 20Mbps instead l0Mbps.
`
`Because closed or proprietary systems, such as set-top boxes, usually do not share
`
`10
`
`the hard disk drive with other systems, very specialized disk drives for audio-video
`
`applications with specialized interfaces can be used. Hard drive features that would be
`
`advantageous include: 1) Increasing access speeds and sustained sequence transfers in
`
`two directions; 2) Having deferred re-calibration of drive heads to prevent glitches or
`
`latencies during playback; 3) Having head offsets to prevent losing a revolution when
`
`15
`
`going from side to side on a platter; 4) Supporting on the fly error correction; and 5)
`
`Having embedded multi-disk drive units that decrease access latencies.
`
`The operating system can play a significant role in the efficient use of the drive by
`
`accessing most frequent video data in large blocks and decreasing seek time. Generally,
`
`larger read/write blocks increase efficiency of data storage and retrieval. Sometimes they
`
`20
`
`can cause unwanted glitches by increasing latency during access.
`
`The first time shifting mode of operation is a receive—only mode. During receive-
`
`only mode of operation a master digital time shifting receiver (DTSR) 610, of Figure 6, is
`
`programmed to receive and parse transport stream packets matching video and PCR
`
`PIDS. A host CPU 632 is assisting MPEG-2 clock recovery, and the same recovered
`
`25
`
`clock data is supplying Master DTSR 610 and the Secondary DTSR 620.
`
`In one
`
`embodiment,
`
`the recovered clock is provided to the secondary DTSR 620 registers
`
`through the use of the system memory controller 630. Also, the Master DTSR 610 is
`
`programmed to perform PID filtering of audio, private, and PSI/SI PIDs programmed in
`
`the auxiliary PID registers.
`
`Secondary DTSR 620 is programmed for PID filtering
`
`
`
`
`LG Ex. 1002, pg. 13
`
`LG Ex. 1002, pg. 13
`
`
`
`ATI000069
`
`operations on Video PID programmed on a first auxiliary PID register. However, since
`
`the receiver is in receive—only mode, the video transport packets in the ring buffer 624 are
`
`disregarded. The clock recovery algorithm is suppressed on the secondary DTSR 620.
`
`Only STC of the slave DTSR is set upon the channel change. Host CPU 632 performs
`
`5
`
`PES parsing of audio transport stream packets, decode and presentation of audio frames
`
`(on AC-97 codec or wave device), and continuous parsing and data processing of PS1
`
`sections monitoring real-time events like PID change, PCR discontinuity or splicing of
`
`audio stream. This activity by the host CPU 632 is part of the normal receive only mode
`
`of operation where a specified channel is being decoded and displayed. Specific systems
`
`10
`
`and methods for supporting these processes are described in the patent application
`
`already incorporated by reference.
`
`When in continuous time-shifting mode of operation,
`
`the host CPU 632 performs
`
`additional processing including: retrieval; multiplexing; time base corrections; storage of
`
`video audio, private and PSI/S1 transport stream packets from multiple buffers 614
`
`15
`
`allocated in the memory space of the host CPU. In one embodiment, however, the master
`
`DTSR 620 is used to decode and display video stream as describe previously with
`
`reference to receive only mode. Transport packets from a common program are retrieved
`
`from the buffer 614 and provided to a digital storage media circular file system in a
`
`multiplexed manner. Multiplexing is performed by inserting audio, video, private, and
`
`20
`
`PSI/SI transport stream packets to satisfy a group of relevant criteria.
`
`Fundamental functions performed during continuous digital time shifting include:
`
`1) Preserving of original ES_rate of each component stream; 2) Limiting PCR jitter of
`
`newly created single program multiplex; 3) Preserving VBV_delay value (the number of
`
`periods of a 9OKHz clock derived from the 27MHz system clock that the VBV shall wait
`
`25
`
`after receiving the final byte of the picture start code before decoding the picture) to
`
`insure non-interrupted MPEG video decode after initial VBV_delay time in constant bit-
`
`rate (CBR) stream environments;
`
`4) Preventing underflow or overflow of elementary
`
`stream decoder buffers in accordance with the T_STD model defined in ISO/IEC 13818-1
`
`standard; 5) providing PID values in the video or audio TS packets that were originally
`
`30
`
`defined in the PMT section to be a video or audio PIDs. Alternatively, a new artificial
`
`
`
`
`10
`
`LG Ex. 1002, pg. 14
`
`LG Ex. 1002, pg. 14
`
`
`
`ATI000069
`
`PCR stream can be separately created and injected as TS PCR packets at the rate of at
`
`least 10 times per second to create a new time base for decimated, time-shifted stream
`
`stored on the DSM. Whereby,
`
`the original PAT transport packet is modified or a new
`
`PAT packet is inserted into the stream instead of the original PAT section to indicate a
`
`5
`
`single program only whose PMT section indicates video, audio, PCR and other PID that
`
`carry subtitles, program descriptions, etc. As a stable clock source, STC of the Master
`
`DTSR is used to measure elapsed time between two PCR samples; 6) Providing PTS
`
`values in the video, audio or private data streams by using STC of the Master DTSR as
`
`elapsed time counter; and 7) Initializing STC of the playback DTSR device to a first
`
`10
`
`available PCR value encoded in the stream saved on DSM media, immediately after
`
`channel change.
`
`While in part-time digital time-shifting mode, the host CPU 632 performs some
`
`additional processing like retrieval and de-multiplexing of the single program transport
`
`stream created in continuous time digital time-shifting mode during a storage process.
`
`15
`
`Generally, the playback of the stored program is combined with continued transport
`
`stream de—multiplexing and recording of the real—time transport stream. Such a mode of
`
`operation is the most intensive mode of operation because
`
`the host CPU 632 must
`
`create/store a multiplexed single program transport stream from a continued reception of
`
`a live broadcast; and retrieve and de-multiplex saved content from a digital storage media
`
`20
`
`while performing transport stream de-multiplexing, audio decode, and bus mastering
`
`elementary stream video to the MPEG video decoder.
`
`
`
`In one implementation, an MPEG decoder associated with the Master DTSR 610
`
`is used to decode and display a video stream from a DSM media and receive private data,
`
`and PSI/SI sections from a live broadcast. In such a case, a video PID of the Master
`
`25
`
`DTSR 610 is disabled, while video data with its PTS information is fed directly to the
`
`MPEG decoder using the system memory controller 630. However, PCR PID is
`
`programmed on a Master DTSR so that MPEG clock recovery continues from a live
`
`transport stream feed and is supplied to the STC counters of both the master DTSR 610
`
`and the second DTSR 620.
`
`In one implementation, only the video PID is programmed
`
`30
`
`into the Slave DTSR for retrieving live video stream and sending it to circular buffer on
`
`11
`
`LG Ex. 1002, pg. 15
`
`LG Ex. 1002, pg. 15
`
`
`
`ATI000069
`
`the host system in the form of a full MPEG-2 transport stream packets, while the Master
`
`DTSR is used to buffer the non-video components of a specific program.
`
`In another embodiment, a different partition of the software tasks is possible on
`
`the host CPU 632 to achieve all three modes of a digital time shifting.
`
`In the second
`
`5
`
`embodiment, a first DTSR is used as a combo video-PCR only device, either to receive
`
`and decode video from a live broadcast or from a DSM media. The PCR PID of the first
`
`DTSR is programmed always to match live broadcast, and full clock recovery is done by
`
`the first DTSR. A second DTSR can be used in all 3 modes to receive video, audio,
`
`private data and PSI/SI sections, all utilizing auxiliary PID filters and received as full
`
`10
`
`MPEG-2 transport packets arriving in the single memory queue. This way, the temporal
`
`order of a stream and validity of the T-STD decoder model is inherently preserved. Also,
`
`the amount of the host DRAM memory required for queue allocation is less than in the
`
`first case. In both embodiments, a quality digital stream time shifting at the transport
`
`packet level is achieved.
`
`15
`
`In yet another operating mode, a different partition of the software tasks is
`
`possible on the host CPU 632 to achieve all three modes of digital time shifting by
`
`storing PES layers as a basic format of the audio/video data saved on a DSM.
`
`In PES
`
`operating mode, two hardware embodiments are possible, the same as in TP operating
`
`mode.
`
`20
`
`In a first hardware embodiment, the first DTSM is used as a combo device, to
`
`achieve playback of live or stored MPEG video and reception of audio, private & PSI/SI
`
`content. The second device is used only to receive and de—multiplex MPEG-2 Video
`
`transport stream and retrieve MPEG-2 elementary stream from a live broadcast. Upon
`
`retrieval of ES video, PES packets are formed and stored on the DSM media.
`
`25
`
`In the second hardware embodiment, the first DTSM is used as a combo video-
`
`PCR only device, either to receive and decode video from a live broadcast or from a
`
`DSM media. The PCR PID is programmed always to match live broadcast, and full clock
`
`recovery is done by the first DTSR. A second DTSR is used in all 3 time-shifting modes
`
`to receive audio, private data, PSI/SI sections, by utilizing auxiliary PID filters to store
`
`
`
`
`l2
`
`LG Ex. 1002, pg. 16
`
`LG Ex. 1002, pg. 16
`
`
`
`ATI000069
`
`the transport packets to a single memory queue. That way, a temporal order of a stream
`
`and validity of T-STD decoder model is already preserved.
`
`In yet another time shifting embodiment, the video is de-multiplexed to the level
`
`of elementary stream and stored at the bit-stream buffer of the MPEG video decoder
`
`I
`
`5
`
`physically allocated in the frame memory. The MPEG video stream is then retrieved from
`
`this buffer by a software processing thread running on a host CPU. Every time a picture
`
`start code is found in the video bit-stream buffer, a full compressed MPEG picture, in the
`
`form of elementary stream,
`
`is sent to the system memory buffer by DMA. One such
`
`method is disclosed in patent application (990135) which is hereby incorporated herein
`
`10
`
`by reference.
`
`
`
`
`Before storing the full compressed MPEG picture in the DSM, a PBS packet
`
`header is added. The audio stream is de-multiplexed and decoded by the host CPU.
`
`In a
`
`similar fashion as the video, prior to audio decoding, the audio frames are packetized into
`
`PES packets. Essential information from the PSI/SI/private data tables is decoded and
`
`15
`
`stored in a pure source form on a DSM. This way, further reduction of the host DRAM
`
`memory requirements for queue allocation and memory on the DSM media is reduced.
`
`An advantage of this mode is reduction of CPU cycles needed for A/V playback of
`
`stored data due to the PES format of audio/video data. PES de-multiplexing is done in
`
`place, passing pointers to the payload of PES packets that contain video or audio frames,
`
`20
`
`other implementations required they be sent by DMA to the video decoder before they
`
`were decoded on host CPU (MPEG or AC—3 audio). As a result, the host CPU doesn’t
`
`move any raw audio or video data, and host CPU utilization is reduced in order of
`
`magnitude compared to TS playback operating mode.
`
`In the foregoing specification, the invention has been described with reference to
`
`25
`
`specific embodiments. However, one of ordinary skill in the art appreciates that various
`
`modifications and changes can be made without departing from the scope of the present
`
`invention as set forth in the claims below. For example,
`
`the specific time—shifting
`
`implementation has been described as with reference to a specific transport stream
`
`dernultiplexer, and described in a previous applications which have been incorporated by
`
`13
`
`LG Ex. 1002, pg. 17
`
`LG Ex. 1002, pg. 17
`
`
`
`ATI000069
`
`reference. Different
`
`transport stream demultiplexers and method of implementing
`
`specific aspects of the present invention can be used as well. Likewise, specific partitions
`
`between hardware and software implementions have been described, which can vary
`
`depending upon the implemented demultiplexer. For example, the video stream parser
`
`5
`
`can be designed to support routing the parsed video data to a circular buffer that is
`
`accessible by the system memory controller. Accordingly, the specification and figures
`
`are to be regarded in an illustrative rather than a restrictive sense, and all such
`
`modifications are intended to be included within the scope of present invention.
`
`In the
`
`claims, means-plus-function clause(s), if any, cover the structures described herein that
`
`10
`
`perform the recited function(s). The mean-plus-function clause(s) also cover structural
`
`equivalents and equivalent structures that perform the recited function(s). B