Patent US6434170B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6434170B1 Expired / Lapsed US ⏱️ 0.0 years remaining

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

Assignee: Dynamic Data Technologies LLC
•
Filing: 1998-12-04
•
Granted: 2002-08-13
•
Expires: 2018-12-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for enhancing transport packet demultiplexing and distribution in a digital transport demultiplexing system that inputs a stream of digital multimedia transport packets is provided. Each of the transport packets includes a packet identifier (PID) to identify the digital program or elementary stream to which it corresponds. Local packet information is generated for each of the transport packets, which is used in identifying and distributing the transport packets. A local header is created that includes the generated local packet information, and the local header is linked to its corresponding transport packet to create a modified transport packet. In this manner, each of the modified transport packets represents a self-contained digital transport packet having local distribution information contained therein. The demulitplexing apparatus performs the demultiplexing operation by transferring data packets into and out of circular data queues. These circular queues comprise a contiguous block of memory which are defined by a queue starting address, a queue size, a read pointer, and a write pointer. When data packets are written to and read from a circular queue, the sequential addressing of the queue will automatically rollover from the highest memory location within the queue to the lowest memory location when the sequential addresses move through the circular queue.

Inventors

  • 👤 Alek Movshovich
  • 👤 Robert H. Hoem
  • 👤 Niranjan A. Puttaswamy
  • 👤 Brian Lai

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 10:06
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/40; H04N21/41; H04N21/426; H04N21/42607; H04N21/42615; H04J; H04J3/00; H04J3/02; H04J3/06; H04J3/0635; H04J3/0685; H04N21/42623; H04N21/43; H04N21/4302; H04N21/4305; H04N21/434; H04N21/4344; H04N21/436; H04N21/4363; H04N21/43632

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 167 words
A method for managing digital transport packet distribution in a transport packet demultiplexing system, wherein the transport packet demultiplexing system receives a transport stream including digital transport packets comprising a plurality of data bytes, each digital transport packet identified by a packet identifier (PID), the method comprising: generating an address index, Addr_IDX, for a first byte of each of the transport packets based on the PID, wherein the address index corresponds to a memory queue address into at least one of a plurality of circular queue, each of the plurality of circular queues comprise: a queue starting address, Q_ST_Addr; a queue size, Q_Size; a queue read pointer, Q_RD_Ptr; and a queue write pointer, Q_WR_Ptr; generating a local header incorporating the address index for each of the transport packets; adding the local headers to their corresponding transport packets; and distributing the modified transport packet to corresponding one of a plurality of circular memory queues based on their associated one of the memory queue addresses in the local header.
Claim 2
Independent Claim 167 words
A method for managing digital transport packet distribution in a transport packet demultiplexing system, wherein the transport packet demultiplexing system receives a transport stream including digital transport packets comprising a plurality of data bytes, each digital transport packet identified by a packet identifier (PID), the method comprising: generating an address index, Addr_IDX, for a first byte of each of the transport packets based on the PID, wherein the address index corresponds to a memory queue address into at least one of a plurality of circular queue, each of the plurality of circular queues comprise: a queue starting address, Q_ST_Addr; a queue size, Q_Size; a queue read pointer, Q_RD_Ptr; and a queue write pointer, Q_WR_Ptr; generating a local header incorporating the address index for each of the transport packets; adding the local headers to their corresponding transport packets; and distributing the modified transport packet to corresponding one of a plurality of circular memory queues based on their associated one of the memory queue addresses in the local header.
Claim 3
Dependent Claim 54 words
The method according to claim 1 , wherein the distributing step comprises: storing the first byte of the digital transport packet into the circular queue at a memory location specified by the address index; and storing each of the subsequent bytes in the digital transport packet in successive memory locations within the circular queue.
Claim 4
Dependent Claim 40 words
The method according to claim 2 , wherein addresses for the successive memory locations within the circular queue are defined by the following equation: ADDR=(Addr_IDX+count−1) modulo Q_Size+Q_ST_Addr wherein count refers to each of the bytes within the digital transport packet.
Claim 5
Dependent Claim 23 words
The method according to claim 3 , wherein the distributing step transfers transport packets contain MPEG-2 audio data to an audio circular queue.
Claim 6
Dependent Claim 23 words
The method according to claim 3 , wherein the distributing step transfers transport packets contain MPEG-2 video data to a video circular queue.
Claim 7
Dependent Claim 23 words
The method according to claim 3 , wherein the distributing step transfers transport packets contain MPEG-2 teletext data to a teletext circular queue.
Claim 8
Dependent Claim 23 words
The method according to claim 3 , wherein the distributing step transfers transport packets contain MPEG-2 CRC data to a CRC circular queue.
Claim 9
Dependent Claim 24 words
The method according to claim 3 , wherein the distributing step transfers transport packets contain 1394 interface data to a 1394 interface circular queue.
Claim 10
Independent Claim 175 words
An apparatus for managing digital transport packet distribution in a transport packet demultiplexing system, wherein the transport packet demultiplexing system receives a transport stream including digital transport packets comprising a plurality of data bytes, each digital transport packet identified by a packet identifier (PID), the apparatus comprising: means for generating an address index, Addr_IDX, for a first byte of each of the transport packets based on the PID, wherein the address index corresponds to a memory queue address into at least one of a plurality of circular queue, each of the plurality of circular queues comprise: a queue starting address, Q_ST_Addr; a queue size, Q_Size; a queue read pointer, Q_RD_Ptr; and a queue write pointer, Q_WR_Ptr; means for generating a local header incorporating the address index for each of the transport packets; means for adding the local headers to their corresponding transport packets; and means for distributing the modified transport packet to corresponding one of a plurality of circular memory queues based on their associated one of the memory queue addresses in the local header.
Claim 11
Independent Claim 175 words
An apparatus for managing digital transport packet distribution in a transport packet demultiplexing system, wherein the transport packet demultiplexing system receives a transport stream including digital transport packets comprising a plurality of data bytes, each digital transport packet identified by a packet identifier (PID), the apparatus comprising: means for generating an address index, Addr_IDX, for a first byte of each of the transport packets based on the PID, wherein the address index corresponds to a memory queue address into at least one of a plurality of circular queue, each of the plurality of circular queues comprise: a queue starting address, Q_ST_Addr; a queue size, Q_Size; a queue read pointer, Q_RD_Ptr; and a queue write pointer, Q_WR_Ptr; means for generating a local header incorporating the address index for each of the transport packets; means for adding the local headers to their corresponding transport packets; and means for distributing the modified transport packet to corresponding one of a plurality of circular memory queues based on their associated one of the memory queue addresses in the local header.
Claim 12
Dependent Claim 58 words
The apparatus according to claim 9 , wherein the distributing means comprises: means for storing the first byte of the digital transport packet into the circular queue at a memory location specified by the address index; and means for storing each of the subsequent bytes in the digital transport packet in successive memory locations within the circular queue.
Claim 13
Dependent Claim 40 words
The apparatus according to claim 9 , wherein addresses for the successive memory locations within the circular queue are defined by the following equation: ADDR=(Addr_IDX+count−1) modulo Q_Size+Q_ST_Addr wherein count refers to each of the bytes within the digital transport packet.
Claim 14
Dependent Claim 23 words
The apparatus according to claim 11 , wherein the distributing means transfers transport packets contain MPEG-2 audio data to an audio circular queue.
Claim 15
Dependent Claim 23 words
The apparatus according to claim 11 , wherein the distributing means transfers transport packets contain MPEG-2 video data to a video circular queue.
Claim 16
Dependent Claim 23 words
The apparatus according to claim 11 , wherein the distributing means transfers transport packets contain MPEG-2 teletext data to a teletext circular queue.
Claim 17
Dependent Claim 23 words
The apparatus according to claim 11 , wherein the distributing means transfers transport packets contain MPEG-2 CRC data to a CRC circular queue.
Claim 18
Dependent Claim 24 words
The apparatus according to claim 11 , wherein the distributing means transfers transport packets contain 1394 interface data to a 1394 interface circular queue.

References Cited (Backward Citations)

US5636224A Cited
US5724358A Cited
US6088355A Cited
US6208643B1 Cited
US5870396A Cited
US6032190A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-08-12 2006-02-11 2006-08-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-08-12 2010-02-11 2010-08-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-08-12 2014-02-11 2014-08-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag