[go: up one dir, main page]

USRE47054E1 - System for digital time shifting and method thereof - Google Patents

System for digital time shifting and method thereof Download PDF

Info

Publication number
USRE47054E1
USRE47054E1 US15/368,285 US201615368285A USRE47054E US RE47054 E1 USRE47054 E1 US RE47054E1 US 201615368285 A US201615368285 A US 201615368285A US RE47054 E USRE47054 E US RE47054E
Authority
US
United States
Prior art keywords
program
storing
data stream
demultiplexer
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime, expires
Application number
US15/368,285
Inventor
Branko Kovacevic
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36821788&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=USRE47054(E1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ATI Technologies ULC filed Critical ATI Technologies ULC
Priority to US15/368,285 priority Critical patent/USRE47054E1/en
Application granted granted Critical
Publication of USRE47054E1 publication Critical patent/USRE47054E1/en
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q1/00Details of selecting apparatus or arrangements
    • H04Q1/18Electrical details
    • H04Q1/30Signalling arrangements; Manipulation of signalling currents
    • H04Q1/44Signalling arrangements; Manipulation of signalling currents using alternate current
    • H04Q1/444Signalling arrangements; Manipulation of signalling currents using alternate current with voice-band signalling frequencies
    • H04Q1/46Signalling arrangements; Manipulation of signalling currents using alternate current with voice-band signalling frequencies comprising means for distinguishing between a signalling current of predetermined frequency and a complex current containing that frequency, e.g. speech current
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91307Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
    • H04N2005/91328Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal the copy protection signal being a copy management signal, e.g. a copy generation management signal [CGMS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Definitions

  • the present invention relates generally to time shifting of video data, and more specifically to time shifting of digital video data.
  • 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 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 data is to use a multiplexed packetized data stream capable of carrying real-time multimedia programs.
  • a multiplexed packetized data stream is described in the standard ISO/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 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 followed by 184 bytes of data payload, where data payload is obtained by partitioning larger data blocks.
  • an elementary stream 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 Elementary Stream packets (PES packets) consisting of header and payload.
  • PES packets Packetized Elementary Stream packets
  • Each PES packet header starts with start code (ox000001) 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 within one program are synchronized have periodic PTS stamps corresponding to the STC counter to indicate the proper timing for each ES.
  • STC system time clock
  • 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.
  • the transport 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 PES 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 elementary stream carried underneath of a PES packet.
  • PID Packet_ID
  • one PID is used to identify a program specific Information (PSI) table data.
  • PSI program specific Information
  • Each TS PSI table is sent in sections, usually occupying one or more TS packets.
  • PSI tables include Program Association Table (PAT) listing unique 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 or PES packets is done; 4) Private Table carrying Network Information Table (NIT) or private data.
  • PAT Program Association Table
  • PMT Program Map Table
  • FIGS. 1-4 The Hierarchical structure which exists between ES streams, PES and TP packets is illustrated in prior art FIGS. 1-4 .
  • a method and apparatus for efficient time shifting of multiplexed packetized data streams, such as a packet stream, would be advantageous.
  • FIGS. 1-4 illustrate various information associated with an MPEG transport stream of the prior art.
  • FIG. 5 illustrates in graphical form a time line indicating various modes of operation in accordance with the present invention
  • FIG. 6 illustrates in block diagram form a specific embodiment of a system having to digital transport stream receivers in accordance with the present invention.
  • FIG. 7 illustrates in flowchart form a specific embodiment of a clock recovery algorithm.
  • a specific method and apparatus is disclosed describing a time shifting technique.
  • the disclosed time shifting technique can be based upon a hardware transport stream demultiplexer that interfaces to a transport stream.
  • the hardware demultiplexer application assists in the extraction and parsing of a multiplexed packetized data stream, such as a MPEG-2 Transport Stream (TS) multiplex.
  • TS MPEG-2 Transport Stream
  • One such hardware demultiplexer is disclosed in patent application Ser. No. 09/489,682, 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 memory for the dedicated MPEG-2 video decoder and others in the system memory for the dedicated software parser.
  • 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 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 FIG. 5 .
  • FIG. 5 illustrates three functions performed by a time shifting system.
  • a first function is to receive a live broadcast stream 510 .
  • the live broadcast stream is continuously received during the time represented in FIG. 5 .
  • 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 FIG. 5 indicates when a specific program is being recorded by the time shifting system.
  • a third function of the time shifting system is to display the specific program.
  • Vector 530 of FIG. 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 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 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 receiver (DTSR) is receiving a live broadcast and demultiplexing one program of a 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.
  • DTSR digital transport stream receiver
  • 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.
  • 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.
  • a selected program from a given multiplex is received and stored on a hard disk, or other storage media, in the form of full transport stream packets or PES packets.
  • 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.
  • this is represented as vectors 533 and 534 .
  • 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 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.
  • time-shifting may be considered a peak event that occurs sometimes or occasionally.
  • some users may depend on it all the time, up to the end of the current program once it was started.
  • typical 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).
  • 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 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, 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.
  • PSI, SI, video, audio and data 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)
  • the host processor is received and stored as: transport stream packets; PES packets of video, audio, data, PSI and
  • 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 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.
  • larger read/write blocks increase efficiency of data storage and retrieval. Sometimes they can cause unwanted glitches by increasing latency during access.
  • the first time shifting mode of operation is a receive-only mode.
  • a master digital time shifting receiver (DTSR) 610 of FIG. 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 clock data is supplying Master DTSR 610 and the Secondary DTSR 620 .
  • the recovered clock is provided to the secondary DTSR 620 registers through the use of the system memory controller 630 .
  • 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 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 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 PSI 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 and methods for supporting these processes are described in the patent application already incorporated by reference.
  • the host CPU 632 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/SI transport stream packets from multiple buffers 614 allocated in the memory space of the host CPU.
  • 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 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 90 KHz clock derived from the 27 MHz system clock that the VBV shall wait 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 defined in the PMT section to be a video or audio PIDs.
  • VBV_delay value the number of periods of a 90 KHz clock derived from the 27 MHz system clock that the VBV shall wait after receiving the final byte of the picture start code before decoding the
  • a new artificial 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.
  • 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 single program only whose PMT section indicates video, audio, PCR and other PID that carry subtitles, program descriptions, etc.
  • 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 available PCR value encoded in the stream saved on DSM media, immediately after channel change.
  • the host CPU 632 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. 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 demultiplex saved content from a digital storage media while performing transport stream de-multiplexing, audio decode, and bus mastering elementary stream video to the MPEG video decoder.
  • 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.
  • a video PID of the Master DTSR 610 is disabled, while video data with its PTS information is fed directly to the MPEG decoder using the system memory controller 630 .
  • 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 .
  • only the video PID is programmed into the Slave DTSR for retrieving live video stream and sending it to circular buffer on 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.
  • a different partition of the software tasks is possible on the host CPU 632 to achieve all three modes of a digital time shifting.
  • 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 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.
  • 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.
  • PES operating mode two hardware embodiments are possible, the same as in TP operating mode.
  • 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.
  • 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 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.
  • the video is de-multiplexed to the level of elementary stream and stored at the bit-stream buffer of the MPEG video decoder 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.
  • a PES packet header is added.
  • the audio stream is de-multiplexed and decoded by the host CPU.
  • the audio frames are packetized into PES packets.
  • Essential information from the PSI/SI/private data tables is decoded and 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, other implementations required they be sent by DMA to the video decoder before they were decoded on host CPU (MPEG or AC-3 audio).
  • host CPU MPEG or AC-3 audio
  • 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.
  • Embodiments of the invention include a system comprising a first input node to receive a multiplexed packetized data stream that carries realtime multimedia programs; a first transport stream demultiplexer that has an input coupled to the first input node to select packets of data having a predefined packet identifier and an output to provide the select packets of data; a storage device having a data port coupled to the output of the first transport stream demultiplexer to receive the select packets, wherein the storage device is to store the select packets; a first clock recovery module having an input coupled to the first input node, and an output, wherein the clock recovery module is to generate a clock at the output based upon received timing information transmitted in packets of the multiplexed packetized data stream before it is stored in the storage device; and a decoder having a first input coupled to the output of the first clock recovery system to receive the clock, a second input coupled the data port of the storage device to receive the select packets, and an output to provide decoded real-time data.
  • FIG. 7 illustrates in flowchart form a specific embodiment of a clock recovery algorithm to generate a clock, in accordance with the present invention.
  • Algorithm 700 begins with step 710, in which a multiplexed packetized data stream is received at Master DTSR 610.
  • step 720 PCR PIDs are parsed to provide a PCR value.
  • step 730 the STC counter of Master DTSR 610 is initialized to the PCR value.
  • step 740 as a stable clock source, use STC to measure elapsed time between two PCR samples.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

A multiplexed packetized data stream carrying real-time multimedia programs is received at a first hardware demultiplexer. Based on a user input, a video and timing portion of a program associated with the multiplexed packetized data stream can be stored for subsequent display. One type of subsequent display is time shifted display, where the stored portion of the program is played back while new portions of the program are being stored. During time shifted play back, a second hardware demultiplexer can be used, so that one demultiplexer stores new data and maintains a current clock value while the other decodes and displays the stored data.

Description

FIELD OF THE INVENTION
The present invention relates generally to time shifting of video data, and more 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 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 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 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 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 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 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 ISO/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 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 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 Elementary Stream packets (PES packets) consisting of header and payload. Each PES packet header starts with start code (ox000001) 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 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 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 PES 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 elementary stream carried underneath of a PES 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 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 or PES packets is done; 4) Private Table carrying Network Information Table (NIT) or private data.
The Hierarchical structure which exists between ES streams, PES and TP packets is illustrated in prior art FIGS. 1-4.
A method and apparatus for efficient time shifting of multiplexed packetized data streams, such as a packet stream, would be advantageous.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1-4 illustrate various information associated with an MPEG transport stream of the prior art.
FIG. 5 illustrates in graphical form a time line indicating various modes of operation in accordance with the present invention;
FIG. 6 illustrates in block diagram form a specific embodiment of a system having to digital transport stream receivers in accordance with the present invention.
FIG. 7 illustrates in flowchart form a specific embodiment of a clock recovery algorithm.
DETAILED DESCRIPTION OF THE DRAWINGS
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 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 patent application Ser. No. 09/489,682, 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 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 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 FIG. 5.
FIG. 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 FIG. 5, the live broadcast stream is continuously received during the time represented in FIG. 5.
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 FIG. 5 indicates when a specific program is being recorded by the time shifting system.
A third function of the time shifting system is to display the specific program. Vector 530 of FIG. 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 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 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 receiver (DTSR) is receiving a live broadcast and demultiplexing one program of a 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.
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 form of full transport stream packets or PES packets.
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 FIG. 5 this is represented as vectors 533 and 534. In a 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 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 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 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 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, 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.
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 10 GB hard disk units (two hours of 10 Mbps stream). Obviously, a large disk drive is needed to allow any reasonable length of time shifting. In time shifting mode where time shifted 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 20 Mbps instead 10 Mbps.
Because closed or proprietary systems, such as set-top boxes, usually do not share 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 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 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 FIG. 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 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 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 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 PSI 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 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/SI transport stream packets from multiple buffers 614 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 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 90 KHz clock derived from the 27 MHz system clock that the VBV shall wait 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 defined in the PMT section to be a video or audio PIDs. Alternatively, a new artificial 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 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 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. 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 demultiplex saved content from a digital storage media 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 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 into the Slave DTSR for retrieving live video stream and sending it to circular buffer on 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 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 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.
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.
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. 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 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 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 Ser. No. 09/489,682 which is hereby incorporated herein by reference.
Before storing the full compressed MPEG picture in the DSM, a PES 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 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, 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.
Embodiments of the invention include a system comprising a first input node to receive a multiplexed packetized data stream that carries realtime multimedia programs; a first transport stream demultiplexer that has an input coupled to the first input node to select packets of data having a predefined packet identifier and an output to provide the select packets of data; a storage device having a data port coupled to the output of the first transport stream demultiplexer to receive the select packets, wherein the storage device is to store the select packets; a first clock recovery module having an input coupled to the first input node, and an output, wherein the clock recovery module is to generate a clock at the output based upon received timing information transmitted in packets of the multiplexed packetized data stream before it is stored in the storage device; and a decoder having a first input coupled to the output of the first clock recovery system to receive the clock, a second input coupled the data port of the storage device to receive the select packets, and an output to provide decoded real-time data.
FIG. 7 illustrates in flowchart form a specific embodiment of a clock recovery algorithm to generate a clock, in accordance with the present invention. Algorithm 700 begins with step 710, in which a multiplexed packetized data stream is received at Master DTSR 610. In step 720, PCR PIDs are parsed to provide a PCR value. In step 730, the STC counter of Master DTSR 610 is initialized to the PCR value. In step 740, as a stable clock source, use STC to measure elapsed time between two PCR samples.
In the foregoing specification, the invention has been described with reference to 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 demultiplexer, and described in a previous applications which have been incorporated by 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 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 perform the recited function(s). The mean-plus-function clause(s) also cover structural equivalents and equivalent structures that perform the recited function(s). Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims.

Claims (63)

What is claimed is:
1. A method comprising:
receiving a multiplexed packetized data stream that carries real-time multimedia programs;
during a first time:
storing a first portion of the packetized data stream representing video data and timing data of a program;
setting a system time indicator to a stored system time value before storing the first portion of the packetized data stream, wherein the stored system time value is based on a portion of the timing data of the first portion of the packetized data stream; and
during a second time:
incrementing the system time indicator;
retrieving the video data of the first portion of the packetized data stream for video decoding; and
storing a second portion of the packetized data stream representing video data and timing data of the program.
2. The method of claim 1, wherein
storing the first portion of the packetized data stream includes the first portion of the packetized data stream representing audio data of the program;
storing the second portion of the packetized data stream includes the second portion of the packetized data stream representing audio data of the program;
the method further including:
during the second time:
accessing the audio data of the first portion of the packetized data stream for audio playback.
3. The method of claim 1, wherein the multiplexed packetized data steam is a multiplexed packetized data stream that substantially meets an MPEG2 specification.
4. The method of claim 3, wherein storing the first portion includes storing transport stream packets.
5. The method of claim 4, wherein storing the first portion includes:
determining transport stream packets containing data associated with the program; and
storing the transport stream packets containing data associated with the program after the step of determining.
6. The method of claim 3, wherein storing the first portion includes storing packetized elementary stream (PES) packets.
7. The method of claim 6, wherein storing the first portion includes:
determining transport stream packets containing data associated with the program; and
storing PES packets based upon the transport stream packets containing data associated with the program after the step of determining.
8. The method of claim 1, wherein storing the first portion of the transport stream includes the timing data including synchronization information used for playing the program back at a real time program bit-rate.
9. The method of claim 1, wherein incrementing the system time indicator includes incrementing the system time indicator based upon a signal generated from multiplexed packetized data stream data received after the first time.
10. The method of claim 1 further comprising:
decoding the video data of the first portion to provide a decoded video stream.
11. The method of claim 10, wherein receiving a multiplexed packetized data stream and decoding the video data are performed by an integrated semiconductor device.
12. The method of claim 10 further comprising:
providing the decoded video stream for display at a play back rate.
13. The method of claim 12 wherein the play back rate is a real time rate.
14. The method of claim 12, wherein providing the decoded video stream for display includes determining the play back rate based upon clock recovery data of the first portion of the transport stream, wherein the play back rate varies depending upon a rate at which the first portion of the transport stream data is provided to a decoder during the step of decoding.
15. The method of claim 12 wherein providing the decoded video stream for display includes determining the play back rate based upon timing data received from the multiplexed packetized data stream after the first time.
16. The method of claim 15, wherein the timing data received from the multiplexed packetized data stream after the first time is associated with a current real-time data stream.
17. The method of claim 12, wherein the play back rate is faster than a real time rate.
18. A method comprising:
determining a mode of operation;
during a first mode of operation:
receiving a multiplexed packetized data stream at a first demultiplexer;
selecting a first program from the multiplexed packetized data stream;
decoding a video portion of the first program for display;
during a second mode of operation:
receiving the multiplexed packetized data stream at the first demultiplexer;
selecting the first program from the multiplexed packetized data stream;
storing the first program;
during a third mode of operation:
receiving the multiplexed packetized data stream at the first demultiplexer;
selecting the first program from the multiplexed packetized data stream;
storing a first program portion of the first program;
providing the first program portion to a second demultiplexer;
selecting at the second demultiplexer a video portion of the first program portion;
decoding the video portion of the first program portion for display; and
storing a second program portion of the first program simultaneous to the step of decoding.
19. The method of claim 18, 28 further comprising:
during the third mode of operation:
providing the second program portion to a the second demultiplexer;
selecting at by the second demultiplexer a video portion of the second program portion; and
decoding the video portion of the second program portion for display.
20. The method of claim 18 28 further comprising:
during the third mode of operation:
incrementing a counter associated with the second demultiplexer based upon a signal generated using a live feed of the multiplexed packetized data stream as it is received at the first demultiplexer.
21. A system comprising:
a first input node to receive a multiplexed packetized data stream that carries real-time multimedia programs;
a first transport stream demultiplexer having an input coupled to the first input node to select packets of data having a predefined packet identifier and an output to provide the select packets of data;
a storage device having a data port coupled to the output of the first transport stream demultiplexer to receive the select packets, wherein the storage device is to store the select packets;
a first clock recovery module having an input coupled to the first input node, and an output, wherein the first clock recovery module is to generate a clock at the output based upon received timing information transmitted in packets of the multiplexed packetized data stream before the select packets are stored in the storage device; and
a decoder having a first input coupled to the output of the first clock recovery module to receive the clock, a second input coupled the data port of the storage device to receive the select packets, and an output to provide decoded real-time data.
22. The system of claim 21, wherein the first clock recovery module further generates the clock based upon data transmitted in packets of a currently received multiplexed packetized data stream.
23. The system of claim 21, wherein the first clock recovery module further generates the clock based upon multiplexed packetized data stream data stored in the storage device.
24. The system of claim 21, wherein the decoder includes a video decoder.
25. The system of claim 24, wherein the decoder includes an audio decoder.
26. The system of claim 21 further comprising:
a second transport stream demultiplexer having an input coupled to the data port of the storage device.
27. The system of claim 26 further comprising;
a second clock recovery module having an input coupled to the data port of the storage device to allow STC setting based on a stored system time.
28. A method comprising:
determining a mode of operation;
during a first mode of operation:
receiving a multiplexed packetized data stream at a first demultiplexer;
selecting by the first demultiplexer a first program from the multiplexed packetized data stream;
decoding a video portion of the first program for display;
during a second mode of operation:
receiving the multiplexed packetized data stream at the first demultiplexer;
selecting by the first demultiplexer the first program from the multiplexed packetized data stream;
storing the first program;
during a third mode of operation:
receiving the multiplexed packetized data stream at the first demultiplexer;
selecting by the first demultiplexer the first program from the multiplexed packetized data stream;
storing a first program portion of the first program;
providing the first program portion to a second demultiplexer;
selecting by the second demultiplexer a video portion of the first program portion;
decoding the video portion of the first program portion for display; and
storing a second program portion of the first program simultaneous to the step of decoding, wherein the first and second program portions are different portions of the first program.
29. The method of claim 19, further comprising:
during the third mode of operation:
retrieving the first program portion from storage prior to providing the second program portion to the second demultiplexer.
30. The method of claim 28, wherein a presentation time stamp of the first program portion is different than a presentation time stamp of the second program portion.
31. The method claim 28, wherein the first demultiplexer is a hardware demultiplexer.
32. The method of claim 28, wherein the second demultiplexer is a hardware demultiplexer.
33. The method of claim 28, wherein the multiplexed packetized data stream includes a plurality of real-time multimedia programs.
34. The method of claim 33, wherein the first program is selected from the plurality of real-time multimedia programs.
35. The method of claim 28, wherein the third mode of operation is triggered based on a user input.
36. The method of claim 28, further comprising:
during the third mode of operation:
generating a clock, at a clock recovery module, based upon timing information transmitted in the multiplexed packetized data stream.
37. The method of claim 36, wherein the clock is generated at the clock recovery module prior to storing the first program portion.
38. The method of claim 37, further comprising determining a playback rate for the first program portion based upon the generated clock.
39. The method of claim 38, wherein decoding the video portion of the first program includes:
decoding, at the playback rate, the video portion of the first program portion for display.
40. The method of claim 39, wherein the playback rate is a real time rate.
41. The method of claim 39, wherein the playback rate is faster than a real time rate.
42. The method of claim 37, further comprising determining a playback rate for the first program portion based upon a rate at which the first program portion is provided to a decoder during decoding of the video portion of the first program.
43. The method of claim 36, wherein the timing information includes synchronization information used for playing the first program back at a real time rate.
44. The method of claim 28, further comprising:
during the third mode of operation:
retrieving the first program portion from storage prior to providing the first program portion to the second demultiplexer.
45. The method of claim 28, wherein storing the first program portion during the third mode of operation further comprises:
storing audio data of the first program portion.
46. The method of claim 45, further comprising:
during the third mode of operation:
accessing, when the first program portion is decoded for display, the audio data for audio playback.
47. The method of claim 28, wherein, during all three modes of operation, selecting the first program from the multiplexed packetized data stream comprises performing parsing and extraction operations to select the first program.
48. The method of claim 28, wherein, during all three modes of operation, selecting the first program from the multiplexed packetized data stream comprises identifying packet identifiers.
49. The method of claim 28, wherein, during the third mode of operation, decoding comprises decoding at either a normal playback rate or a faster than normal rate.
50. The method of claim 49, wherein the faster than normal rate comprises a user defined fast forward speed.
51. The method of claim 28, wherein, during the first mode of operation, the multiplexed packetized data stream is not stored.
52. The method of claim 28, wherein, during the third mode of operation, each storing step comprises storing full stream packets.
53. The method of claim 28 wherein, during the third mode of operation, the decoding comprises restoring time base information from the retrieved first program portion.
54. The method claim 28 wherein, during the second mode of operation, the storing comprises storing the first program portion in large blocks.
55. The method of claim 28 wherein, during the first and third modes of operation, decoding the video portion of the first program for display comprises decoding video packets and further comprises decoding audio packets.
56. The method of claim 28 wherein, during the first and third modes of operation, decoding the video portion of the first program for display further comprises monitoring for real-time events.
57. The method of claim 28, further comprising, during the third mode of operation, displaying the decoded video portion of the first program portion simultaneous to the step of storing the second program portion of the first program.
58. The method of claim 28, wherein storing the first program portion includes storing transport stream packets.
59. The method of claim 28, wherein storing the first program portion includes storing packetized elementary stream (PES) packets.
60. The method of claim 28, wherein the first demultiplexer is a transport stream demultiplexer.
61. The method of claim 28, wherein the third mode is a part-time time-shifting mode.
62. The method of claim 28, wherein each mode of operation is performed using a television equipped with a digital television application.
63. The method of claim 28, wherein each mode of operation is performed using a computer equipped with a digital television application.
US15/368,285 2000-11-06 2016-12-02 System for digital time shifting and method thereof Expired - Lifetime USRE47054E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/368,285 USRE47054E1 (en) 2000-11-06 2016-12-02 System for digital time shifting and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/707,060 US7095945B1 (en) 2000-11-06 2000-11-06 System for digital time shifting and method thereof
US15/368,285 USRE47054E1 (en) 2000-11-06 2016-12-02 System for digital time shifting and method thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/707,060 Reissue US7095945B1 (en) 2000-11-06 2000-11-06 System for digital time shifting and method thereof

Publications (1)

Publication Number Publication Date
USRE47054E1 true USRE47054E1 (en) 2018-09-18

Family

ID=36821788

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/707,060 Ceased US7095945B1 (en) 2000-11-06 2000-11-06 System for digital time shifting and method thereof
US11/492,681 Expired - Fee Related US8260109B2 (en) 2000-11-06 2006-07-25 System for digital time shifting and method thereof
US15/368,285 Expired - Lifetime USRE47054E1 (en) 2000-11-06 2016-12-02 System for digital time shifting and method thereof

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US09/707,060 Ceased US7095945B1 (en) 2000-11-06 2000-11-06 System for digital time shifting and method thereof
US11/492,681 Expired - Fee Related US8260109B2 (en) 2000-11-06 2006-07-25 System for digital time shifting and method thereof

Country Status (1)

Country Link
US (3) US7095945B1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095945B1 (en) 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof
CA3011846C (en) 2001-02-21 2021-02-16 Rovi Guides, Inc. Systems and methods for interactive program guides with personal video recording features
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
EP1276325A3 (en) * 2001-07-11 2004-07-14 Matsushita Electric Industrial Co., Ltd. Mpeg encoding apparatus, mpeg decoding apparatus, and encoding program
EP1276323A1 (en) * 2001-07-13 2003-01-15 France Telecom Method for broadcasting multimedia signals towards a plurality of terminals
FR2839844A1 (en) * 2002-05-16 2003-11-21 Thomson Licensing Sa DIGITAL DECODER HAVING AN OPERATING MODE OF "REVISUALIZATION" AND COMPRISING TWO BUFFER MEMORIES
US7693399B2 (en) * 2002-07-11 2010-04-06 Lg Electronics Inc. Method for providing program specific information recorded on high density disc medium
US7444419B2 (en) * 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
KR20060123362A (en) * 2003-12-22 2006-12-01 코닌클리케 필립스 일렉트로닉스 엔.브이. Disk Allocation / Scheduling for Layered Video
US7734042B2 (en) 2003-12-22 2010-06-08 Aol Inc. System and method for using a streaming protocol
KR100539886B1 (en) * 2004-09-10 2005-12-28 삼성전자주식회사 Digital broadcasting reception apparatus and method therefor
US7920603B2 (en) * 2006-10-30 2011-04-05 Broadcom Corporation Method and system for switching elementary streams on a decoder with zero delay
US8897622B2 (en) 2006-11-20 2014-11-25 Comcast Cable Holdings, Llc Media recording element
JP2009021885A (en) * 2007-07-12 2009-01-29 Panasonic Corp Digital television broadcast recording / reproducing apparatus and reproducing method thereof
US8051090B2 (en) * 2007-12-28 2011-11-01 Realtek Semiconductor Corp. File management method of a ring buffer and related file management apparatus
US9462020B2 (en) * 2008-01-16 2016-10-04 Qualcomm Incorporated Intelligent client: multiple channel switching over a digital broadcast network
US9003462B2 (en) * 2011-02-10 2015-04-07 Comcast Cable Communications, Llc Content archive model
WO2013013176A1 (en) 2011-07-21 2013-01-24 Sirius Xm Radio Inc. Method and apparatus for delivery of programs and metadata to provide user alerts to tune to corresponding program channels before high interest events occur during playback of programs

Citations (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457701A (en) 1994-01-06 1995-10-10 Scientific-Atlanta, Inc. Method for indicating packet errors in a packet-based multi-hop communications system
US5506904A (en) 1993-08-04 1996-04-09 Scientific-Atlanta, Inc. System and method for transmitting and receiving variable length authorization control for digital services
US5517250A (en) 1995-02-28 1996-05-14 General Instrument Corporation Of Delaware Acquisition of desired data from a packetized data stream and synchronization thereto
US5521922A (en) * 1993-05-25 1996-05-28 Sony Corporation Data demultiplexer
US5521927A (en) 1994-12-13 1996-05-28 Electronics And Telecommunications Research Institute Elementary stream packetizing unit for MPEG-2 system
US5559999A (en) 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
US5598415A (en) 1995-08-04 1997-01-28 General Instrument Corporation Of Delaware Transmission of high rate isochronous data in MPEG-2 data streams
US5691664A (en) 1996-01-16 1997-11-25 Motorola, Inc. Programmable analog array and method for establishing a feedback loop therein
US5703887A (en) 1994-12-23 1997-12-30 General Instrument Corporation Of Delaware Synchronization and error detection in a packetized data stream
US5726989A (en) 1995-11-06 1998-03-10 Stellar One Corporation Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream
US5742623A (en) 1995-08-04 1998-04-21 General Instrument Corporation Of Delaware Error detection and recovery for high rate isochronous data in MPEG-2 data streams
US5754783A (en) 1996-02-01 1998-05-19 Digital Equipment Corporation Apparatus and method for interleaving timed program data with secondary data
US5768292A (en) 1991-03-15 1998-06-16 C-Cube Microsystems, Inc. Error handling process for MPEG decoder
US5778191A (en) 1995-10-26 1998-07-07 Motorola, Inc. Method and device for error control of a macroblock-based video compression technique
US5801781A (en) 1995-11-14 1998-09-01 Fujitsu Limited Apparatus for converting moving picture stream of MPEG1 to transport stream of MPEG2
US5805602A (en) 1995-09-25 1998-09-08 Bell Atlantic Network Services, Inc. Network monitoring system for cell delay variation
US5809538A (en) 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
US5812976A (en) 1996-03-29 1998-09-22 Matsushita Electric Corporation Of America System and method for interfacing a transport decoder to a bitrate-constrained audio recorder
US5812760A (en) 1996-06-25 1998-09-22 Lsi Logic Corporation Programmable byte wise MPEG systems layer parser
US5828416A (en) 1996-03-29 1998-10-27 Matsushita Electric Corporation Of America System and method for interfacing a transport decoder to a elementary stream video decorder
US5831690A (en) 1996-12-06 1998-11-03 Rca Thomson Licensing Corporation Apparatus for formatting a packetized digital datastream suitable for conveying television information
US5835493A (en) 1996-01-02 1998-11-10 Divicom, Inc. MPEG transport stream remultiplexer
US5841472A (en) 1994-11-23 1998-11-24 Lg Electronics Inc. MPEG2 transport decoder
US5856973A (en) 1996-09-10 1999-01-05 Thompson; Kenneth M. Data multiplexing in MPEG server to decoder systems
US5859660A (en) 1996-02-29 1999-01-12 Perkins; Michael G. Non-seamless splicing of audio-video transport streams
US5898695A (en) 1995-03-29 1999-04-27 Hitachi, Ltd. Decoder for compressed and multiplexed video and audio data
US5901178A (en) 1996-02-26 1999-05-04 Solana Technology Development Corporation Post-compression hidden data transport for video
US5917830A (en) 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
US5920572A (en) * 1995-06-30 1999-07-06 Divicom Inc. Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
US5923860A (en) 1997-06-25 1999-07-13 Compaq Computer Corp. Apparatus, method and system for remote peripheral component interconnect bus using accelerated graphics port logic circuits
US5936640A (en) 1997-09-30 1999-08-10 Compaq Computer Corporation Accelerated graphics port memory mapped status and control registers
US5936925A (en) * 1996-04-08 1999-08-10 Pioneer Electronic Corporation Information record medium, apparatus for recording the same and apparatus for reproducing the same
US5946318A (en) 1997-03-21 1999-08-31 International Business Machines Corporation Method and apparatus for processing and packetizing data from a data stream
US5949436A (en) 1997-09-30 1999-09-07 Compaq Computer Corporation Accelerated graphics port multiple entry gart cache allocation system and method
US5948119A (en) 1995-06-15 1999-09-07 Bock; James M. Packet-based fifo
EP0942603A2 (en) 1998-03-09 1999-09-15 Sony Corporation Video splicing apparatus and video splicing method
US5959659A (en) 1995-11-06 1999-09-28 Stellar One Corporation MPEG-2 transport stream decoder having decoupled hardware architecture
US5982436A (en) 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
US5990958A (en) 1997-06-17 1999-11-23 National Semiconductor Corporation Apparatus and method for MPEG video decompression
US6014368A (en) 1996-03-11 2000-01-11 Oki Electric Industry Co., Ltd. Packet multiplexing system
US6038000A (en) 1997-05-28 2000-03-14 Sarnoff Corporation Information stream syntax for indicating the presence of a splice point
US6043828A (en) 1996-03-29 2000-03-28 Cirrus Logic, Inc. Method and apparatus for handling proprietary and non-proprietary formatted compact discs in the same video playback system
US6058459A (en) 1996-08-26 2000-05-02 Stmicroelectronics, Inc. Video/audio decompression/compression device including an arbiter and method for accessing a shared memory
US6067303A (en) 1997-02-25 2000-05-23 International Business Machines Corporation Method and apparatus for detecting and controlling data stream splicing in ATM networks
US6072832A (en) * 1996-10-25 2000-06-06 Nec Corporation Audio/video/computer graphics synchronous reproducing/synthesizing system and method
EP1014730A1 (en) 1998-12-23 2000-06-28 Pixstream Incorporated Forward error correction at MPEG-2 transport stream layer
US6108046A (en) 1998-06-01 2000-08-22 General Instrument Corporation Automatic detection of HDTV video format
US6118462A (en) 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US6122123A (en) 1997-03-12 2000-09-19 U.S. Philips Corporation Method and apparatus for recording digital information signals in which, in order to preserve timing, each packet is checked for the presence of program clock reference signal
US6128026A (en) 1998-05-04 2000-10-03 S3 Incorporated Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same
US6134272A (en) 1996-01-05 2000-10-17 Lg Electronics, Inc. Data input/output apparatus of transport decoder
US6141358A (en) 1997-07-25 2000-10-31 Sarnoff Corporation Method and apparatus for aligning sub-stream splice points in an information stream
US6148135A (en) * 1996-01-29 2000-11-14 Mitsubishi Denki Kabushiki Kaisha Video and audio reproducing device and video decoding device
US6157674A (en) 1996-03-21 2000-12-05 Sony Corporation Audio and video data transmitting apparatus, system, and method thereof
US6173333B1 (en) 1997-07-18 2001-01-09 Interprophet Corporation TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols
US6181713B1 (en) 1997-10-27 2001-01-30 Sun Microsystems, Inc. Selectable depacketizer architecture
US6181706B1 (en) 1997-09-26 2001-01-30 International Business Machines Corporation Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register
US6188703B1 (en) 1997-08-01 2001-02-13 International Business Machines Corp. Multiplexer for multiple media streams
US6223211B1 (en) 1994-03-21 2001-04-24 Avid Technology, Inc. Apparatus and computer-implemented process for providing real-time multimedia data transport in a distributed computing system
US6226769B1 (en) 1997-12-12 2001-05-01 3Com Corporation Forward error correction system for packet based real time media
US6226291B1 (en) 1996-11-01 2001-05-01 Texas Instruments Incorporated Transport stream packet parser system
US6233256B1 (en) 1996-03-13 2001-05-15 Sarnoff Corporation Method and apparatus for analyzing and monitoring packet streams
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6236432B1 (en) 1997-03-15 2001-05-22 Lg Electronics Inc. MPEG II system with PES decoder
US6269107B1 (en) 1997-02-05 2001-07-31 Lg Electronics, Inc. Device and method for demultiplexing transport stream
US6275534B1 (en) 1997-03-19 2001-08-14 Nec Corporation Moving picture transmission system and moving picture transmission apparatus used therein
US6275507B1 (en) 1997-09-26 2001-08-14 International Business Machines Corporation Transport demultiplexor for an MPEG-2 compliant data stream
US6285408B1 (en) 1998-04-09 2001-09-04 Lg Electronics Inc. Digital audio/video system and method integrates the operations of several digital devices into one simplified system
US6292490B1 (en) 1998-01-14 2001-09-18 Skystream Corporation Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US6301248B1 (en) 1997-07-10 2001-10-09 Electronics And Telecommunications Research Institute Transport stream multiplexing apparatus capable of accommodating plurality of streams
US6310922B1 (en) 1995-12-12 2001-10-30 Thomson Consumer Electronics, Inc. Method and apparatus for generating variable rate synchronization signals
US6310898B1 (en) 1998-01-27 2001-10-30 Tektronix, Inc. Compressed video and audio transport stream multiplexer
US6310652B1 (en) 1997-05-02 2001-10-30 Texas Instruments Incorporated Fine-grained synchronization of a decompressed audio stream by skipping or repeating a variable number of samples from a frame
US6323910B1 (en) 1998-03-26 2001-11-27 Clark, Iii William T. Method and apparatus for producing high-fidelity images by synchronous phase coherent digital image acquisition
US6330285B1 (en) 1998-02-11 2001-12-11 Tektronix, Inc. Video clock and framing signal extraction by transport stream “snooping”
US6333938B1 (en) 1996-04-26 2001-12-25 Texas Instruments Incorporated Method and system for extracting control information from packetized data received by a communications interface device
US6336200B1 (en) 1998-05-22 2002-01-01 Kencast, Inc. Method for validating communicated packets of data and for locating erroneous packets
US6351471B1 (en) 1998-01-14 2002-02-26 Skystream Networks Inc. Brandwidth optimization of video program bearing transport streams
US6356567B2 (en) 1997-09-26 2002-03-12 International Business Machines Corporation Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
US6359911B1 (en) 1998-12-04 2002-03-19 Koninklijke Philips Electronics N.V. (Kpenv) MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information
US6378035B1 (en) 1999-04-06 2002-04-23 Microsoft Corporation Streaming information appliance with buffer read and write synchronization
US6380991B1 (en) 1998-11-19 2002-04-30 Tektronix, Inc. Method for splicing MPEG-2 transport streams
US6397000B1 (en) * 1997-09-09 2002-05-28 Hitachi, Ltd. Digital signal recording devices, digital signal recording/ playback devices, and digital signal receiving/recording/playback devices
US6414954B1 (en) 1998-04-23 2002-07-02 Nec Corporation Picture processing system and method
US6425021B1 (en) 1998-11-16 2002-07-23 Lsi Logic Corporation System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
US6424658B1 (en) 1999-01-29 2002-07-23 Neomagic Corp. Store-and-forward network switch using an embedded DRAM
US6427169B1 (en) 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US6434146B1 (en) 1998-12-04 2002-08-13 Koninklijke Philips Electronics N.V. Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
US6434170B1 (en) 1998-12-04 2002-08-13 Koninklijke Philips Electronics N.V. Memory-based circular queue with local descriptive information to implement a storage area for filtering mpeg-2 packets that are distributed and/or processed under the control of a host microprocessor by a direct memory access mechanism
US6438145B1 (en) 1998-12-04 2002-08-20 Koninklijke Philips Electronics N.V. Transport packet distribution system and method using local header
US6449352B1 (en) 1995-06-20 2002-09-10 Matsushita Electric Industrial Co., Ltd. Packet generating method, data multiplexing method using the same, and apparatus for coding and decoding of the transmission data
US6449656B1 (en) 1999-07-30 2002-09-10 Intel Corporation Storing a frame header
US6463059B1 (en) 1998-12-04 2002-10-08 Koninklijke Philips Electronics N.V. Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing
US6463486B1 (en) 1999-04-06 2002-10-08 Microsoft Corporation System for handling streaming information using a plurality of reader modules by enumerating output pins and associated streams of information
US6493847B1 (en) 1999-06-15 2002-12-10 Applied Micro Circuits Corporation Sonet B2 parity byte calculation method and apparatus
US6512775B1 (en) 1996-11-08 2003-01-28 The Trustees Of Columbia University In The City Of New York Method and apparatus for a programmable bitstream parser for audiovisual and generic decoding systems
US6526175B2 (en) 1998-06-30 2003-02-25 Sarnoff Corporation Apparatus and method for packetizing significance-based information
US6538999B1 (en) 1998-02-20 2003-03-25 Nec Corporation PID filter circuit and FIFO circuit
US6557031B1 (en) 1997-09-05 2003-04-29 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
US6567471B1 (en) 1997-07-25 2003-05-20 Sony Corporation System method and apparatus for seamlessly splicing data
US6573942B1 (en) 1998-08-17 2003-06-03 Sharp Laboratories Of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
US6591058B1 (en) 1997-12-23 2003-07-08 Intel Corporation Time shifting by concurrently recording and playing a data stream
US6621870B1 (en) 1999-04-15 2003-09-16 Diva Systems Corporation Method and apparatus for compressing video sequences
US6643449B1 (en) * 1998-11-10 2003-11-04 Kabushiki Kaisha Toshiba Recording/reproducing apparatus, video data recording apparatus, recording method, reproducing method
US20030206605A1 (en) 1998-03-31 2003-11-06 Richard E. Anderson Digital audio/video clock recovery algorithm
US6751170B2 (en) * 1999-09-27 2004-06-15 Victor Company Of Japan, Ltd. Information-signal recording and reproducing apparatus
US6778533B1 (en) * 2000-01-24 2004-08-17 Ati Technologies, Inc. Method and system for accessing packetized elementary stream data
US6792000B1 (en) * 1999-09-27 2004-09-14 Sony Corporation Data processing apparatus and data processing method, and recording medium
US20070009236A1 (en) 2000-11-06 2007-01-11 Ati Technologies, Inc. System for digital time shifting and method thereof

Patent Citations (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768292A (en) 1991-03-15 1998-06-16 C-Cube Microsystems, Inc. Error handling process for MPEG decoder
US5521922A (en) * 1993-05-25 1996-05-28 Sony Corporation Data demultiplexer
US5506904A (en) 1993-08-04 1996-04-09 Scientific-Atlanta, Inc. System and method for transmitting and receiving variable length authorization control for digital services
US5457701A (en) 1994-01-06 1995-10-10 Scientific-Atlanta, Inc. Method for indicating packet errors in a packet-based multi-hop communications system
US6223211B1 (en) 1994-03-21 2001-04-24 Avid Technology, Inc. Apparatus and computer-implemented process for providing real-time multimedia data transport in a distributed computing system
US5559999A (en) 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
US5841472A (en) 1994-11-23 1998-11-24 Lg Electronics Inc. MPEG2 transport decoder
US5521927A (en) 1994-12-13 1996-05-28 Electronics And Telecommunications Research Institute Elementary stream packetizing unit for MPEG-2 system
US5703887A (en) 1994-12-23 1997-12-30 General Instrument Corporation Of Delaware Synchronization and error detection in a packetized data stream
US5517250A (en) 1995-02-28 1996-05-14 General Instrument Corporation Of Delaware Acquisition of desired data from a packetized data stream and synchronization thereto
US5898695A (en) 1995-03-29 1999-04-27 Hitachi, Ltd. Decoder for compressed and multiplexed video and audio data
US5948119A (en) 1995-06-15 1999-09-07 Bock; James M. Packet-based fifo
US6449352B1 (en) 1995-06-20 2002-09-10 Matsushita Electric Industrial Co., Ltd. Packet generating method, data multiplexing method using the same, and apparatus for coding and decoding of the transmission data
US5920572A (en) * 1995-06-30 1999-07-06 Divicom Inc. Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
US5742623A (en) 1995-08-04 1998-04-21 General Instrument Corporation Of Delaware Error detection and recovery for high rate isochronous data in MPEG-2 data streams
US5598415A (en) 1995-08-04 1997-01-28 General Instrument Corporation Of Delaware Transmission of high rate isochronous data in MPEG-2 data streams
US5805602A (en) 1995-09-25 1998-09-08 Bell Atlantic Network Services, Inc. Network monitoring system for cell delay variation
US5778191A (en) 1995-10-26 1998-07-07 Motorola, Inc. Method and device for error control of a macroblock-based video compression technique
US5726989A (en) 1995-11-06 1998-03-10 Stellar One Corporation Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream
US5959659A (en) 1995-11-06 1999-09-28 Stellar One Corporation MPEG-2 transport stream decoder having decoupled hardware architecture
US5801781A (en) 1995-11-14 1998-09-01 Fujitsu Limited Apparatus for converting moving picture stream of MPEG1 to transport stream of MPEG2
US6310922B1 (en) 1995-12-12 2001-10-30 Thomson Consumer Electronics, Inc. Method and apparatus for generating variable rate synchronization signals
US5835493A (en) 1996-01-02 1998-11-10 Divicom, Inc. MPEG transport stream remultiplexer
US6134272A (en) 1996-01-05 2000-10-17 Lg Electronics, Inc. Data input/output apparatus of transport decoder
US5691664A (en) 1996-01-16 1997-11-25 Motorola, Inc. Programmable analog array and method for establishing a feedback loop therein
US6148135A (en) * 1996-01-29 2000-11-14 Mitsubishi Denki Kabushiki Kaisha Video and audio reproducing device and video decoding device
US5754783A (en) 1996-02-01 1998-05-19 Digital Equipment Corporation Apparatus and method for interleaving timed program data with secondary data
US5809538A (en) 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
US5901178A (en) 1996-02-26 1999-05-04 Solana Technology Development Corporation Post-compression hidden data transport for video
US5859660A (en) 1996-02-29 1999-01-12 Perkins; Michael G. Non-seamless splicing of audio-video transport streams
US6014368A (en) 1996-03-11 2000-01-11 Oki Electric Industry Co., Ltd. Packet multiplexing system
US6233256B1 (en) 1996-03-13 2001-05-15 Sarnoff Corporation Method and apparatus for analyzing and monitoring packet streams
US6157674A (en) 1996-03-21 2000-12-05 Sony Corporation Audio and video data transmitting apparatus, system, and method thereof
US5828416A (en) 1996-03-29 1998-10-27 Matsushita Electric Corporation Of America System and method for interfacing a transport decoder to a elementary stream video decorder
US5812976A (en) 1996-03-29 1998-09-22 Matsushita Electric Corporation Of America System and method for interfacing a transport decoder to a bitrate-constrained audio recorder
US6043828A (en) 1996-03-29 2000-03-28 Cirrus Logic, Inc. Method and apparatus for handling proprietary and non-proprietary formatted compact discs in the same video playback system
US5936925A (en) * 1996-04-08 1999-08-10 Pioneer Electronic Corporation Information record medium, apparatus for recording the same and apparatus for reproducing the same
US6333938B1 (en) 1996-04-26 2001-12-25 Texas Instruments Incorporated Method and system for extracting control information from packetized data received by a communications interface device
US5812760A (en) 1996-06-25 1998-09-22 Lsi Logic Corporation Programmable byte wise MPEG systems layer parser
US6058459A (en) 1996-08-26 2000-05-02 Stmicroelectronics, Inc. Video/audio decompression/compression device including an arbiter and method for accessing a shared memory
US5856973A (en) 1996-09-10 1999-01-05 Thompson; Kenneth M. Data multiplexing in MPEG server to decoder systems
US5917830A (en) 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
US6072832A (en) * 1996-10-25 2000-06-06 Nec Corporation Audio/video/computer graphics synchronous reproducing/synthesizing system and method
US6226291B1 (en) 1996-11-01 2001-05-01 Texas Instruments Incorporated Transport stream packet parser system
US6512775B1 (en) 1996-11-08 2003-01-28 The Trustees Of Columbia University In The City Of New York Method and apparatus for a programmable bitstream parser for audiovisual and generic decoding systems
US5831690A (en) 1996-12-06 1998-11-03 Rca Thomson Licensing Corporation Apparatus for formatting a packetized digital datastream suitable for conveying television information
US6269107B1 (en) 1997-02-05 2001-07-31 Lg Electronics, Inc. Device and method for demultiplexing transport stream
US6067303A (en) 1997-02-25 2000-05-23 International Business Machines Corporation Method and apparatus for detecting and controlling data stream splicing in ATM networks
US6122123A (en) 1997-03-12 2000-09-19 U.S. Philips Corporation Method and apparatus for recording digital information signals in which, in order to preserve timing, each packet is checked for the presence of program clock reference signal
US6236432B1 (en) 1997-03-15 2001-05-22 Lg Electronics Inc. MPEG II system with PES decoder
US6275534B1 (en) 1997-03-19 2001-08-14 Nec Corporation Moving picture transmission system and moving picture transmission apparatus used therein
US5946318A (en) 1997-03-21 1999-08-31 International Business Machines Corporation Method and apparatus for processing and packetizing data from a data stream
US5982436A (en) 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
US6310652B1 (en) 1997-05-02 2001-10-30 Texas Instruments Incorporated Fine-grained synchronization of a decompressed audio stream by skipping or repeating a variable number of samples from a frame
US6038000A (en) 1997-05-28 2000-03-14 Sarnoff Corporation Information stream syntax for indicating the presence of a splice point
US5990958A (en) 1997-06-17 1999-11-23 National Semiconductor Corporation Apparatus and method for MPEG video decompression
US5923860A (en) 1997-06-25 1999-07-13 Compaq Computer Corp. Apparatus, method and system for remote peripheral component interconnect bus using accelerated graphics port logic circuits
US6118462A (en) 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US6301248B1 (en) 1997-07-10 2001-10-09 Electronics And Telecommunications Research Institute Transport stream multiplexing apparatus capable of accommodating plurality of streams
US6173333B1 (en) 1997-07-18 2001-01-09 Interprophet Corporation TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols
US6141358A (en) 1997-07-25 2000-10-31 Sarnoff Corporation Method and apparatus for aligning sub-stream splice points in an information stream
US6567471B1 (en) 1997-07-25 2003-05-20 Sony Corporation System method and apparatus for seamlessly splicing data
US6188703B1 (en) 1997-08-01 2001-02-13 International Business Machines Corp. Multiplexer for multiple media streams
US6557031B1 (en) 1997-09-05 2003-04-29 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
US6397000B1 (en) * 1997-09-09 2002-05-28 Hitachi, Ltd. Digital signal recording devices, digital signal recording/ playback devices, and digital signal receiving/recording/playback devices
US6356567B2 (en) 1997-09-26 2002-03-12 International Business Machines Corporation Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
US6181706B1 (en) 1997-09-26 2001-01-30 International Business Machines Corporation Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register
US6275507B1 (en) 1997-09-26 2001-08-14 International Business Machines Corporation Transport demultiplexor for an MPEG-2 compliant data stream
US5936640A (en) 1997-09-30 1999-08-10 Compaq Computer Corporation Accelerated graphics port memory mapped status and control registers
US5949436A (en) 1997-09-30 1999-09-07 Compaq Computer Corporation Accelerated graphics port multiple entry gart cache allocation system and method
US6181713B1 (en) 1997-10-27 2001-01-30 Sun Microsystems, Inc. Selectable depacketizer architecture
US6226769B1 (en) 1997-12-12 2001-05-01 3Com Corporation Forward error correction system for packet based real time media
US6591058B1 (en) 1997-12-23 2003-07-08 Intel Corporation Time shifting by concurrently recording and playing a data stream
US6292490B1 (en) 1998-01-14 2001-09-18 Skystream Corporation Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US6351471B1 (en) 1998-01-14 2002-02-26 Skystream Networks Inc. Brandwidth optimization of video program bearing transport streams
US6310898B1 (en) 1998-01-27 2001-10-30 Tektronix, Inc. Compressed video and audio transport stream multiplexer
US6330285B1 (en) 1998-02-11 2001-12-11 Tektronix, Inc. Video clock and framing signal extraction by transport stream “snooping”
US6538999B1 (en) 1998-02-20 2003-03-25 Nec Corporation PID filter circuit and FIFO circuit
EP0942603A2 (en) 1998-03-09 1999-09-15 Sony Corporation Video splicing apparatus and video splicing method
US6323910B1 (en) 1998-03-26 2001-11-27 Clark, Iii William T. Method and apparatus for producing high-fidelity images by synchronous phase coherent digital image acquisition
US20030206605A1 (en) 1998-03-31 2003-11-06 Richard E. Anderson Digital audio/video clock recovery algorithm
US6285408B1 (en) 1998-04-09 2001-09-04 Lg Electronics Inc. Digital audio/video system and method integrates the operations of several digital devices into one simplified system
US6414954B1 (en) 1998-04-23 2002-07-02 Nec Corporation Picture processing system and method
US6128026A (en) 1998-05-04 2000-10-03 S3 Incorporated Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same
US6336200B1 (en) 1998-05-22 2002-01-01 Kencast, Inc. Method for validating communicated packets of data and for locating erroneous packets
US6108046A (en) 1998-06-01 2000-08-22 General Instrument Corporation Automatic detection of HDTV video format
US6526175B2 (en) 1998-06-30 2003-02-25 Sarnoff Corporation Apparatus and method for packetizing significance-based information
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6573942B1 (en) 1998-08-17 2003-06-03 Sharp Laboratories Of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
US6643449B1 (en) * 1998-11-10 2003-11-04 Kabushiki Kaisha Toshiba Recording/reproducing apparatus, video data recording apparatus, recording method, reproducing method
US6425021B1 (en) 1998-11-16 2002-07-23 Lsi Logic Corporation System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
US6380991B1 (en) 1998-11-19 2002-04-30 Tektronix, Inc. Method for splicing MPEG-2 transport streams
US6434146B1 (en) 1998-12-04 2002-08-13 Koninklijke Philips Electronics N.V. Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
US6463059B1 (en) 1998-12-04 2002-10-08 Koninklijke Philips Electronics N.V. Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing
US6359911B1 (en) 1998-12-04 2002-03-19 Koninklijke Philips Electronics N.V. (Kpenv) MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information
US6438145B1 (en) 1998-12-04 2002-08-20 Koninklijke Philips Electronics N.V. Transport packet distribution system and method using local header
US6434170B1 (en) 1998-12-04 2002-08-13 Koninklijke Philips Electronics N.V. Memory-based circular queue with local descriptive information to implement a storage area for filtering mpeg-2 packets that are distributed and/or processed under the control of a host microprocessor by a direct memory access mechanism
EP1014730A1 (en) 1998-12-23 2000-06-28 Pixstream Incorporated Forward error correction at MPEG-2 transport stream layer
US6424658B1 (en) 1999-01-29 2002-07-23 Neomagic Corp. Store-and-forward network switch using an embedded DRAM
US6378035B1 (en) 1999-04-06 2002-04-23 Microsoft Corporation Streaming information appliance with buffer read and write synchronization
US6463486B1 (en) 1999-04-06 2002-10-08 Microsoft Corporation System for handling streaming information using a plurality of reader modules by enumerating output pins and associated streams of information
US6621870B1 (en) 1999-04-15 2003-09-16 Diva Systems Corporation Method and apparatus for compressing video sequences
US6493847B1 (en) 1999-06-15 2002-12-10 Applied Micro Circuits Corporation Sonet B2 parity byte calculation method and apparatus
US6427169B1 (en) 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US6449656B1 (en) 1999-07-30 2002-09-10 Intel Corporation Storing a frame header
US6751170B2 (en) * 1999-09-27 2004-06-15 Victor Company Of Japan, Ltd. Information-signal recording and reproducing apparatus
US6792000B1 (en) * 1999-09-27 2004-09-14 Sony Corporation Data processing apparatus and data processing method, and recording medium
US6778533B1 (en) * 2000-01-24 2004-08-17 Ati Technologies, Inc. Method and system for accessing packetized elementary stream data
US20070009236A1 (en) 2000-11-06 2007-01-11 Ati Technologies, Inc. System for digital time shifting and method thereof
US8260109B2 (en) 2000-11-06 2012-09-04 Ati Technologies Ulc System for digital time shifting and method thereof

Non-Patent Citations (103)

* Cited by examiner, † Cited by third party
Title
"Digital video recorder", Wikipedia.org, accessed Sep. 28, 2015 at http://www.wikipedia.org/wiki/Digital_video_recorder; 15 pages.
"Information Technology-Generic Coding of Moving Pictures and Associated Audio Information-Part 3: Audio," ISO/IEC 13818-3, Second Edition, Apr. 15, 1998, 116 pp.
"Transmission of Non-Telephone Signals," Information Technology-Generic Coding of Moving Pictures and Associated Audio Information: Systems, ITU-T Recommendation H.222.0, Jul. 1995, 120 pp.
"Information Technology—Generic Coding of Moving Pictures and Associated Audio Information—Part 3: Audio," ISO/IEC 13818-3, Second Edition, Apr. 15, 1998, 116 pp.
"Transmission of Non-Telephone Signals," Information Technology—Generic Coding of Moving Pictures and Associated Audio Information: Systems, ITU-T Recommendation H.222.0, Jul. 1995, 120 pp.
Affidavit in Support of Motion for Pro Hac Vice Admission of Aaron R. Fahrenkrog under 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Jan. 15, 2015; 4 pages.
Affidavit in Support of Motion for Pro Hac Vice Admission of William H. Manning under 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Jan. 15, 2015; 4 pages.
ATI Technologies ULC's Notice of Deposition of Dr. Dan Schonfeld, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Aug. 24, 2015; 3 pages.
ATI Technologies ULC's Notice of Deposition of Dr. Dan Schonfeld, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 5, 2016; 3 pages.
ATI Technologies ULC's Power of Attorney Pursuant to 37 C.F.R. § 42.10(b), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Aug. 12, 2015; 3 pages.
ATI Technologies ULC's Updated Mandatory Notices Pursuant to 37 C.F.R. § 42.8(b)(3) and (b)(4), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 17, 2015; 4 pages.
ATI Technologies ULC's Updated Power of Attorney Pursuant to 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 17, 2015; 3 pages.
Bolot et al., "Adaptive Error Control for Packet Video in the Internet," Internet Conference on Image Processing, 1996. Proceedings, pp. 25-28, vol. 1, Sep. 16-19, 1996, ISBN 0-7803-3259-8.
Chen, Zhigang et al., "Real Time Video and Audio in the World Wide Web," 17 pp. [online] [Retrieved from the Internet Apr. 2, 2008 at URL <http://www.geckil.com/˜harvest/mirror/www.w3.org/Conferences/WWW4/Papers/p211/>.
Civanlar et al., "RTP Payload Format for Bundled MPEG," May 1998, 8 pp. [online] [Retrieved from the Internet Apr. 2, 2008 URL <http://www.geckil.com/˜harvest/rfc/rfc2343.txt>.
Complaint for Patent Infringement, Demand for Jury Trial, Advanced Micro Devices, Inc., et al. v. LG Electronics, Inc., Case No. 3:14-cv-01012-SI (N.D.Cal.), filed Mar. 5, 2014; 23 pages.
Decision Denying Motion for Joinder and Denying Institution of Inter Partes Review 37 C.F.R. § 42.122(b), § 42.108, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), mailed Feb. 2, 2016; 12 pages.
Decision Granting Patent Owner's Motions for Pro Hac Vice Admission of Aaron R. Fahrenkrog and William H. Manning 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 and -00322 (P.T.A.B.), mailed Feb. 19, 2015; 3 pages.
Decision Granting Petitioner's Motions for Pro Hac Vice Admission of Jamie B. Beaber and Michael Maas 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321, -00322, -00325, -00326, -00327, and -00330 (P.T.A.B.), mailed Feb. 19, 2015; 4 pages.
Decision Institution of Inter Partes Review 37 C.F.R. § 42.108, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), mailed Jun. 26, 2015; 24 pages.
Declaration of Dan Schonfeld, Ph.D., filed in Ex Parte Reexamination of U.S. Pat. No. 7,095,945, Control No. 90/013,817, filed Sep. 20, 2016; 198 pages.
Declaration of Dan Schonfeld, Ph.D., LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.),Mailed Apr. 13, 2016; 260 pages.
Declaration of Dr. William Mangione-Smith in Support of the Patent Owner Response, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Sep. 28, 2015; 121 pages.
Declaration of Jamie B. Beaber in Support of Motion for Pro Hac Vice Admission, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 15, 2015; 4 pages.
Declaration of Michael Maas in Support of Motion for Pro Hac Vice Admission, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 15, 2015; 4 pages.
Defendants-Counterclaimants LG Electronics, Inc., LG Electronics U.S.A., Inc., and LG Electronics Mobilecomm U.S.A., Inc.'s Invalidity Contentions and Production of Documents Pursuant to Patent Local Rules 3-3 and 3-4, Advanced Micro Devices, Inc., et al. v. LG Electronics, Inc., et al., Case No. 3:14-cv-01012-SI (N.D.Cal.), filed Oct. 1, 2014; 169 pages.
Defendants—Counterclaimants LG Electronics, Inc., LG Electronics U.S.A., Inc., and LG Electronics Mobilecomm U.S.A., Inc.'s Invalidity Contentions and Production of Documents Pursuant to Patent Local Rules 3-3 and 3-4, Advanced Micro Devices, Inc., et al. v. LG Electronics, Inc., et al., Case No. 3:14-cv-01012-SI (N.D.Cal.), filed Oct. 1, 2014; 169 pages.
Definition of "portion", Webster's New World Dictionary, Fourth Edition, 1999; p. 1122.
Exhibit I-01 (945) U.S. Pat. No. 5,517,250-Hoogenboom Service Chart accompanying Defedants' Invalidity Contentions, Advanced Micro Devices, Inc., et al. v. LG Electronics, Inc., et al., Case No. 3:14-cv-01012-SI (N.D.Cal.), filed Oct. 1, 2014; 85 pages.
Exhibit I-01 (945) U.S. Pat. No. 5,517,250—Hoogenboom Service Chart accompanying Defedants' Invalidity Contentions, Advanced Micro Devices, Inc., et al. v. LG Electronics, Inc., et al., Case No. 3:14-cv-01012-SI (N.D.Cal.), filed Oct. 1, 2014; 85 pages.
Feng, Jian et al., "Error Concealment for MPEG Video Transmissions," Mar. 13, 1997, IEEE Transactions on Consumer Electronics, pp. 183-187, vol. 43, Issue 2, ISSN 0098-3063.
Figure 6 of U.S. Pat. No. 6,397,000, Exhibit 5 to the Deposition of Dan Schonfeld, Ph.D., LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), Sep. 9, 2015; 1 page.
File History of U.S. Pat. No. 7,095,945, U.S. Appl. No. 09/707,060, filed Nov. 6, 2000; 278 pages.
Final Office Action for U.S. Appl. No. 09/707,060, dated Jan. 20, 2006; 17 pages.
Final Office Action for U.S. Appl. No. 11/492,681, dated Oct. 14, 2011; 12 pages.
Final Written Decision 35 U.S.C. § 318(a) and 37 C.F.R. § 42.73, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), mailed Jun. 23, 2016; 20 pages.
Hoffman et al., "RTP Payload Format for MPEG1/MPEG2 Video," Jan. 1998, 15 pages, [online] [Retrieved from the Internet Apr. 2, 2008 URL <http://www.geckil.com/˜harvest/rfc/rfc25250.txt>.
Kassler, et al., "Simulating MPEG-2 Transport Stream Transmission over Wireless ATM," 1999 IEEE, 0-7803-5041-3/99, pp. 3057-3060.
Le Gall, Didier, "MPEG: Video Compression Standard for Multimedia Applications," Communications of the ACM, Apr. 1991, vol. 34, No. 4, pp. 47-58.
Motion for Joinder Pursuant to 35 U.S.C. § 315(c) and 37 C.F.R. § 42.122(b), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Jul. 24, 2015; 16 pages.
Non-Final Office Action for U.S. Appl. No. 09/707,060, dated Jun. 15, 2005; 21 pages.
Non-Final Office Action for U.S. Appl. No. 09/707,060, dated Oct. 4, 2004; 14 pages.
Non-Final Office Action for U.S. Appl. No. 11/492,681, dated Mar. 25, 2011; 12 pages.
Non-Final Office Action for U.S. Appl. No. 11/492,681, dated Oct. 7, 2010; 10 pages.
Notice of Allowance for U.S. Appl. No. 09/707,060, dated Apr. 5, 2006; 8 pages.
Notice of Allowance for U.S. Appl. No. 11/492,681, dated Apr. 7, 2012; 4 pages.
Notice of Filing Date Accorded to Petition and Time for Filing Patent Owner Preliminary Response, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), mailed Jan. 2, 2015; 3 pages.
Notice of Filing Date Accorded to Petition and Time for Filing Patent Owner Preliminary Response, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), mailed Aug. 6, 2015; 3 pages.
Notice of Joint Stipulation to Modify Trial Due Dates 2 and 3, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Dec. 3, 2015; 4 pages.
Okamoto, et al., "A Consumer Digital VCR for Advanced Television," IEEE, 1993; 6 pages.
Okamoto, et al., "A Consumer Digital VCR for Digital Broadcasting," IEEE, 1995; 8 pages.
Order Authorizing Filing of Motion to Withdraw and Substitute Counsel Conduct of Proceeding 37 C.F.R. § 42.10(e), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), mailed Mar. 16, 2015; 5 pages.
Order Granting Patent Owner's Motion to Withdraw and Substitute New Counsel 37 C.F.R. § 42.10(a), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), mailed Apr. 1, 2015; 4 pages.
Order Granting Reexamination of U.S. Pat. No. 7,095,945, Control No. 90/013,817, filed Sep. 29, 2016; 12 pages.
Order Granting Requests for Oral Hearing 37 C.F.R. § 42.70, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), mailed Mar. 9, 2016; 4 pages.
Patent Owner Preliminary Response, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Apr. 2, 2015; 58 pages.
Patent Owner Preliminary Response, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Nov. 6, 2015; 43 pages.
Patent Owner Response, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Sep. 28, 2015; 63 pages.
Patent Owner's Mandatory Notices Pursuant to 37 C.F.R. § 42.8(a)(2), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Aug. 12, 2015; 5 pages.
Patent Owner's Mandatory Notices, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Dec. 31, 2014; 5 pages.
Patent Owner's Motion for Observation on Cross Examination of Petitioner's Reply Witness Dr. Daniel Schonfeld, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 26, 2016; 9 pages.
Patent Owner's Motion for Pro Hac Vice Admission of Aaron R. Fahrenkrog Under 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Jan. 15, 2015; 5 pages.
Patent Owner's Motion for Pro Hac Vice Admission of William H. Manning Under 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Jan. 15, 2015; 5 pages.
Patent Owner's Motion to Withdraw as Counsel and Substitute New Counsel, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 17, 2015; 4 pages.
Patent Owner's Notice of Appeal, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Aug. 25, 2016; 5 pages.
Patent Owner's Objections to Evidence Presented with Petitioner's Reply, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 4, 2016; 4 pages.
Patent Owner's Opposition to Motion for Joinder, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Aug. 24, 2015; 22 pages.
Patent Owner's Oral Hearing Demonstrative Exhibit, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), Mar. 21, 2016; 30 pages.
Patent Owner's Power of Attorney, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Dec. 31, 2014; 3 pages.
Patent Owner's Request for Oral Argument, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 26, 2016; 4 pages.
Patent Owner's Transmittal Letter Accompanying Submission of Exhibit 2014, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 11, 2016; 3 pages.
Patent Owner's Updated Exhibit List, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 11, 2016; 4 pages.
Patent Owner's Updated Exhibit List, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 17, 2016; 4 pages.
Patent Owner's Updated Mandatory Notices Pursuant to 37 C.F.R. § 42.8(b)(2), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Oct. 8, 2015; 3 pages.
Petition for Inter Partes Review of U.S. Pat. No. 7,095,945, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Dec. 10, 2014; 67 pages.
Petition for Inter Partes Review of U.S. Pat. No. 7,095,945, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Jul. 24, 2015; 64 pages.
Petitioner's Motion for Pro Hac Vice Admission of Jamie B. Beaber Pursuant to 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 5, 2015; 7 pages.
Petitioner's Motion for Pro Hac Vice Admission of Michael Maas Pursuant to 37 C.F.R. § 42.10(c), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 5, 2015; 7 pages.
Petitioner's Notice of Deposition of Patent Owner's Expert Dr. Mangione-Smith, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Nov. 30, 2015; 5 pages.
Petitioner's Objections to Evidence under 37 C.F.R. § 42.64(b)(1), LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Oct. 5, 2015; 7 pages.
Petitioner's Oral Hearing Demonstrative Exhibit, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), Mar. 21, 2016; 14 pages.
Petitioner's Power of Attorney, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Dec. 10, 2014; 2 pages.
Petitioner's Power of Attorney, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Jul. 24, 2015; 2 pages.
Petitioner's Reply Brief in Support of the Petition for Inter Partes Review of U.S. Pat. No. 7,095,945, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Jan. 28, 2016; 28 pages.
Petitioner's Request for Oral Argument, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 26, 2016; 4 pages.
Petitioner's Response to Patent Owner's Motion for Observation on Cross-Examination of Dr. Dan Schonfeld, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 1, 2016; 10 pages.
Petitioner's Updated Exhibit List, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 17, 2016; 4 pages.
Petitioner's Updated Mandatory Notices under 37 C.F.R. § 42.8, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Nov. 12, 2015; 6 pages.
Petitioner's Updated Mandatory Notices, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 26, 2015; 5 pages.
Petitioner's Updated Power of Attorney, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 26, 2015; 3 pages.
Record of Oral Hearing, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), mailed Apr. 13, 2016; 38 pages.
Reply Declaration of Dan Schonfeld, Ph.D. in Support of Petitioner LG Electronics, Inc., in the Inter Partes Review of U.S. Pat. No. 7,095,945, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Feb. 15, 2015; 4 pages.
Reply in Support of Petitioner's Motion for Joinder, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Sep. 24, 2015; 11 pages.
Request for Ex Parte Reexamination of U.S. Pat. No. 7,095,945, Control No. 90/013,817, filed Sep. 20, 2016; 61 pages.
Scheduling Order, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), mailed Jun. 26, 2015; 7 pages.
Sugimura, et al., "A Consumer Digital VCR for Digital Broadcasting," IEEE, 1998; 6 pages.
Supplemental Declaration of Dan Schonfeld, Ph.D., LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-01620 (P.T.A.B.), filed Jul. 24, 2015; 167 pages.
Transcript of Teleconference, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), Mar. 4, 2016; 23 pages.
Transcript of the Deposition of Dan Schonfeld, Ph,D., LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), Sep. 9, 2015; 137 pages.
Transcript of the Deposition of Dan Schonfeld, Ph.D., LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), Feb. 12, 2016; 92 pages.
Transcript of the Deposition of William Mangione Smith, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00325 (P.T.A.B.), Jan. 11, 2016; 136 pages.
Transmittal Letter Accompanying Submission of Exhibit 2015, LG Electronics, Inc. v. ATI Technologies ULC, IPR2015-00321 (P.T.A.B.), filed Mar. 17, 2016; 3 pages.
Zhu, Wenw et al., "End-to-end Modeling and Simulation of MPEG-2 Transport Streams over ATM Networks with Jitter," 1998 IEEE Transactions on Circuits and Systems for Video Technology, vol. 8, No. 1, Feb. 1998, pp. 9-12.

Also Published As

Publication number Publication date
US20070009236A1 (en) 2007-01-11
US7095945B1 (en) 2006-08-22
US8260109B2 (en) 2012-09-04

Similar Documents

Publication Publication Date Title
USRE47054E1 (en) System for digital time shifting and method thereof
US6873629B2 (en) Method and apparatus for converting data streams
US6078594A (en) Protocol and procedure for automated channel change in an MPEG-2 compliant datastream
US6115422A (en) Protocol and procedure for time base change in an MPEG-2 compliant datastream
US6275507B1 (en) Transport demultiplexor for an MPEG-2 compliant data stream
AU2011200246B2 (en) Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage
KR100226528B1 (en) Decoder for compressed and multiplexed video and audio data
US6940873B2 (en) Data stream control system for associating counter values with stored selected data packets from an incoming data transport stream to preserve interpacket time interval information
US6026506A (en) Concealing errors in transport stream data
US6181706B1 (en) Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register
US7024685B1 (en) Transport demultiplexor with bit maskable filter
US7639924B2 (en) Audio/video decoding process and device, and video driver circuit and decoder box incorporating the same
US20100278229A1 (en) System for random access to content
US6229801B1 (en) Delivery of MPEG2 compliant table data
JP2003530037A (en) Method and apparatus for creating and playing back digital video recordings, and digital video recordings created using this method
EP1289279A2 (en) System for multiplexing video data streams in a digital video recorder and method of operating the same
AU2001266732B2 (en) System and method for providing multi-perspective instant replay
US6731657B1 (en) Multiformat transport stream demultiplexor
US7372873B1 (en) Reconstructing a partial transport stream
JP4366038B2 (en) Television broadcast processing apparatus and control method for television broadcast processing apparatus
CA2695230C (en) Fast channel change between logical channels within a transport multiplex
EP1311120A2 (en) Method for implementing low-speed playback of a digital broadcast program
KR100431548B1 (en) Apparatus for reproducing a moving picture using stream header information