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.

Patent
   RE47054
Priority
Nov 06 2000
Filed
Dec 02 2016
Issued
Sep 18 2018
Expiry
Nov 06 2020
Assg.orig
Entity
unknown
0
110
EXPIRED<2yrs
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.
0. 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.
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.
0. 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.
0. 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.
0. 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.
0. 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.
0. 24. The system of claim 21, wherein the decoder includes a video decoder.
0. 25. The system of claim 24, wherein the decoder includes an audio decoder.
0. 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.
0. 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.
0. 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.
0. 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.
0. 31. The method claim 28, wherein the first demultiplexer is a hardware demultiplexer.
0. 32. The method of claim 28, wherein the second demultiplexer is a hardware demultiplexer.
0. 33. The method of claim 28, wherein the multiplexed packetized data stream includes a plurality of real-time multimedia programs.
0. 34. The method of claim 33, wherein the first program is selected from the plurality of real-time multimedia programs.
0. 35. The method of claim 28, wherein the third mode of operation is triggered based on a user input.
0. 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.
0. 37. The method of claim 36, wherein the clock is generated at the clock recovery module prior to storing the first program portion.
0. 38. The method of claim 37, further comprising determining a playback rate for the first program portion based upon the generated clock.
0. 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.
0. 40. The method of claim 39, wherein the playback rate is a real time rate.
0. 41. The method of claim 39, wherein the playback rate is faster than a real time rate.
0. 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.
0. 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.
0. 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.
0. 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.
0. 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.
0. 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.
0. 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.
0. 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.
0. 50. The method of claim 49, wherein the faster than normal rate comprises a user defined fast forward speed.
0. 51. The method of claim 28, wherein, during the first mode of operation, the multiplexed packetized data stream is not stored.
0. 52. The method of claim 28, wherein, during the third mode of operation, each storing step comprises storing full stream packets.
0. 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.
0. 54. The method claim 28 wherein, during the second mode of operation, the storing comprises storing the first program portion in large blocks.
0. 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.
0. 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.
0. 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.
0. 58. The method of claim 28, wherein storing the first program portion includes storing transport stream packets.
0. 59. The method of claim 28, wherein storing the first program portion includes storing packetized elementary stream (PES) packets.
0. 60. The method of claim 28, wherein the first demultiplexer is a transport stream demultiplexer.
0. 61. The method of claim 28, wherein the third mode is a part-time time-shifting mode.
0. 62. The method of claim 28, wherein each mode of operation is performed using a television equipped with a digital television application.
0. 63. The method of claim 28, wherein each mode of operation is performed using a computer equipped with a digital television application.

The present invention relates generally to time shifting of video data, and more specifically to time shifting of digital video data.

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.

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.

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.

Kovacevic, Branko

Patent Priority Assignee Title
Patent Priority Assignee Title
5457701, Jan 06 1994 Cisco Technology, Inc Method for indicating packet errors in a packet-based multi-hop communications system
5506904, Aug 04 1993 Cisco Technology, Inc System and method for transmitting and receiving variable length authorization control for digital services
5517250, Feb 28 1995 Google Technology Holdings LLC Acquisition of desired data from a packetized data stream and synchronization thereto
5521922, May 25 1993 Sony Corporation Data demultiplexer
5521927, Dec 13 1994 Electronics and Telecommunications Research Institute Elementary stream packetizing unit for MPEG-2 system
5559999, Sep 09 1994 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD MPEG decoding system including tag list for associating presentation time stamps with encoded data units
5598415, Jul 13 1995 Google Technology Holdings LLC Transmission of high rate isochronous data in MPEG-2 data streams
5691664, Jan 16 1996 NEADIWA SOFTWARE KR, L L C Programmable analog array and method for establishing a feedback loop therein
5703887, Dec 23 1994 Vizio, Inc Synchronization and error detection in a packetized data stream
5726989, Nov 06 1995 Stellar One Corporation Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream
5742623, Jul 13 1995 Google Technology Holdings LLC Error detection and recovery for high rate isochronous data in MPEG-2 data streams
5754783, Feb 01 1996 Hewlett Packard Enterprise Development LP Apparatus and method for interleaving timed program data with secondary data
5768292, Mar 15 1991 LSI Logic Corporation Error handling process for MPEG decoder
5778191, Oct 26 1995 Google Technology Holdings LLC Method and device for error control of a macroblock-based video compression technique
5801781, Nov 14 1995 Fujitsu Limited Apparatus for converting moving picture stream of MPEG1 to transport stream of MPEG2
5805602, Sep 25 1995 Verizon Patent and Licensing Inc Network monitoring system for cell delay variation
5809538, Feb 07 1996 Google Technology Holdings LLC DRAM arbiter for video decoder
5812760, Jun 25 1996 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Programmable byte wise MPEG systems layer parser
5812976, Mar 29 1996 Panasonic Corporation of North America System and method for interfacing a transport decoder to a bitrate-constrained audio recorder
5828416, Mar 29 1996 Panasonic Corporation of North America System and method for interfacing a transport decoder to a elementary stream video decorder
5831690, Dec 06 1996 RCA Thomson Licensing Corporation Apparatus for formatting a packetized digital datastream suitable for conveying television information
5835493, Jan 02 1996 DIVICOM, INC MPEG transport stream remultiplexer
5841472, Nov 23 1994 LG Electronics Inc. MPEG2 transport decoder
5856973, Sep 10 1996 DIGITAL VIDEO SYSTEMS, INC Data multiplexing in MPEG server to decoder systems
5859660, Feb 29 1996 Harmonic, Inc Non-seamless splicing of audio-video transport streams
5898695, Mar 29 1995 Hitachi Maxell, Ltd Decoder for compressed and multiplexed video and audio data
5901178, Dec 06 1995 Verance Corporation Post-compression hidden data transport for video
5917830, Oct 18 1996 Google Technology Holdings LLC Splicing compressed packetized digital video streams
5920572, Jun 30 1995 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
5923860, Jun 25 1997 Hewlett Packard Enterprise Development LP Apparatus, method and system for remote peripheral component interconnect bus using accelerated graphics port logic circuits
5936640, Sep 30 1997 Hewlett Packard Enterprise Development LP Accelerated graphics port memory mapped status and control registers
5936925, Apr 08 1996 Pioneer Electronic Corporation Information record medium, apparatus for recording the same and apparatus for reproducing the same
5946318, Mar 21 1997 International Business Machines Corporation Method and apparatus for processing and packetizing data from a data stream
5948119, Jun 15 1995 HALL, DAVID; GALLUP, PATRICIA Packet-based fifo
5949436, Sep 30 1997 Hewlett Packard Enterprise Development LP Accelerated graphics port multiple entry gart cache allocation system and method
5959659, Nov 06 1995 Stellar One Corporation MPEG-2 transport stream decoder having decoupled hardware architecture
5982436, Mar 28 1997 Pendragon Wireless LLC Method for seamless splicing in a video encoder
5990958, Jun 17 1997 National Semiconductor Corporation Apparatus and method for MPEG video decompression
6014368, Mar 11 1996 HANGER SOLUTIONS, LLC Packet multiplexing system
6038000, May 28 1997 INVIDI Technologies Corporation Information stream syntax for indicating the presence of a splice point
6043828, Mar 29 1996 Cirrus Logic, Inc. Method and apparatus for handling proprietary and non-proprietary formatted compact discs in the same video playback system
6058459, Aug 26 1996 PARTHENON UNIFIED MEMORY ARCHITECTURE LLC Video/audio decompression/compression device including an arbiter and method for accessing a shared memory
6067303, Feb 25 1997 International Business Machines Corporation Method and apparatus for detecting and controlling data stream splicing in ATM networks
6072832, Oct 25 1996 NEC Corporation Audio/video/computer graphics synchronous reproducing/synthesizing system and method
6108046, Jun 01 1998 Google Technology Holdings LLC Automatic detection of HDTV video format
6118462, Jul 01 1997 FOOTHILLS IP LLC Computer system controller having internal memory and external memory control
6122123, Mar 12 1997 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
6128026, May 04 1998 S3 GRAPHICS CO , LTD Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same
6134272, Jan 05 1996 LG Electronics Inc Data input/output apparatus of transport decoder
6141358, Jul 25 1997 Wistron Corporation Method and apparatus for aligning sub-stream splice points in an information stream
6148135, Jan 29 1996 Mitsubishi Denki Kabushiki Kaisha Video and audio reproducing device and video decoding device
6157674, Mar 21 1996 Sony Corporation Audio and video data transmitting apparatus, system, and method thereof
6173333, Jul 18 1997 Interprophet Corporation TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols
6181706, Sep 26 1997 International Business Machines Corporation Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register
6181713, Oct 27 1997 Sun Microsystems, Inc Selectable depacketizer architecture
6188703, Aug 01 1997 IBM Corporation Multiplexer for multiple media streams
6223211, Mar 21 1994 Avid Technology, Inc. Apparatus and computer-implemented process for providing real-time multimedia data transport in a distributed computing system
6226291, Nov 01 1996 Texas Instruments Incorporated Transport stream packet parser system
6226769, Dec 12 1997 Hewlett Packard Enterprise Development LP Forward error correction system for packet based real time media
6233256, Mar 13 1996 SRI International Method and apparatus for analyzing and monitoring packet streams
6233389, Jul 30 1998 TIVO SOLUTIONS INC Multimedia time warping system
6236432, Mar 15 1997 LG Electronics Inc MPEG II system with PES decoder
6269107, Feb 05 1997 LG Electronics, Inc. Device and method for demultiplexing transport stream
6275507, Sep 26 1997 International Business Machines Corporation Transport demultiplexor for an MPEG-2 compliant data stream
6275534, Mar 19 1997 NEC Corporation Moving picture transmission system and moving picture transmission apparatus used therein
6285408, Apr 09 1998 LG Electronics Inc. Digital audio/video system and method integrates the operations of several digital devices into one simplified system
6292490, Jan 14 1998 SKYSTREAM NETWORKS INC Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
6301248, Jul 10 1997 Electronics and Telecommunications Research Institute Transport stream multiplexing apparatus capable of accommodating plurality of streams
6310652, May 02 1997 Texas Instruments Incorporated Fine-grained synchronization of a decompressed audio stream by skipping or repeating a variable number of samples from a frame
6310898, Jan 27 1998 Google Technology Holdings LLC Compressed video and audio transport stream multiplexer
6310922, Dec 12 1995 THOMSON LICENSING S A Method and apparatus for generating variable rate synchronization signals
6323910, Mar 26 1998 CLARK RESEARCH AND DEVELOPMENT, INC Method and apparatus for producing high-fidelity images by synchronous phase coherent digital image acquisition
6330285, Feb 11 1998 Google Technology Holdings LLC Video clock and framing signal extraction by transport stream "snooping"
6333938, Apr 26 1996 Texas Instruments Incorporated Method and system for extracting control information from packetized data received by a communications interface device
6336200, May 22 1998 KENCAST, INC Method for validating communicated packets of data and for locating erroneous packets
6351471, Jan 14 1998 SKYSTREAM NETWORKS INC Brandwidth optimization of video program bearing transport streams
6356567, Sep 26 1997 MEDIATEK INC Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
6359911, Dec 04 1998 ENTROPIC COMMUNICATIONS, INC MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information
6378035, Apr 06 1999 Microsoft Technology Licensing, LLC Streaming information appliance with buffer read and write synchronization
6380991, Nov 19 1998 PROJECT GIANTS, LLC Method for splicing MPEG-2 transport streams
6397000, Sep 09 1997 MAXELL, LTD Digital signal recording devices, digital signal recording/ playback devices, and digital signal receiving/recording/playback devices
6414954, Apr 23 1998 NEC Electronics Corporation Picture processing system and method
6424658, Jan 29 1999 HANGER SOLUTIONS, LLC Store-and-forward network switch using an embedded DRAM
6425021, Nov 16 1998 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
6427169, Jul 30 1999 Intel Corporation Parsing a packet header
6434146, Dec 04 1998 DYNAMIC DATA TECHNOLOGIES LLC 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
6434170, Dec 04 1998 DYNAMIC DATA TECHNOLOGIES LLC 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
6438145, Dec 04 1998 III Holdings 6, LLC Transport packet distribution system and method using local header
6449352, Jun 20 1995 MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD Packet generating method, data multiplexing method using the same, and apparatus for coding and decoding of the transmission data
6449656, Jul 30 1999 Intel Corporation Storing a frame header
6463059, Dec 04 1998 CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing
6463486, Apr 06 1999 Microsoft Technology Licensing, LLC System for handling streaming information using a plurality of reader modules by enumerating output pins and associated streams of information
6493847, Jun 15 1999 Qualcomm Incorporated Sonet B2 parity byte calculation method and apparatus
6512775, Nov 08 1996 TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK,THE Method and apparatus for a programmable bitstream parser for audiovisual and generic decoding systems
6526175, Jun 30 1998 MEDIATEK, INC Apparatus and method for packetizing significance-based information
6538999, Feb 20 1998 HTC Corporation PID filter circuit and FIFO circuit
6557031, Sep 05 1997 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
6567471, Jul 25 1997 Sony Corporation System method and apparatus for seamlessly splicing data
6573942, Aug 07 1998 Sharp Laboratories of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
6591058, Dec 23 1997 Intel Corporation Time shifting by concurrently recording and playing a data stream
6621870, Apr 15 1999 TIVO CORPORATION Method and apparatus for compressing video sequences
6643449, Nov 10 1998 TOSHIBA VISUAL SOLUTIONS CORPORATION Recording/reproducing apparatus, video data recording apparatus, recording method, reproducing method
6751170, Sep 27 1999 JVC Kenwood Corporation Information-signal recording and reproducing apparatus
6778533, Jan 24 2000 Broadcom Corporation Method and system for accessing packetized elementary stream data
6792000, Sep 27 1999 Sony Corporation Data processing apparatus and data processing method, and recording medium
8260109, Jul 25 2006 ATI Technologies ULC System for digital time shifting and method thereof
20030206605,
20070009236,
EP942603,
EP1014730,
/
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 02 2016ATI Technologies ULC(assignment on the face of the patent)
Date Maintenance Fee Events


Date Maintenance Schedule
Sep 18 20214 years fee payment window open
Mar 18 20226 months grace period start (w surcharge)
Sep 18 2022patent expiry (for year 4)
Sep 18 20242 years to revive unintentionally abandoned end. (for year 4)
Sep 18 20258 years fee payment window open
Mar 18 20266 months grace period start (w surcharge)
Sep 18 2026patent expiry (for year 8)
Sep 18 20282 years to revive unintentionally abandoned end. (for year 8)
Sep 18 202912 years fee payment window open
Mar 18 20306 months grace period start (w surcharge)
Sep 18 2030patent expiry (for year 12)
Sep 18 20322 years to revive unintentionally abandoned end. (for year 12)