System and method for searching patterns in real-time over a...

Multiplex communications – Communication techniques for information carried in plural... – Combining or distributing information via time channels

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C370S498000, C370S537000, C370S542000, C348S385100, C375S240260

Reexamination Certificate

active

06654389

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to systems and methods for multiplexing data streams, and particularly, to a system and method enabling simultaneous real-time pattern searching of multiple logical streams communicated over a shared media.
2. Discussion of the Prior Art
The MPEG-2 Generic Coding of Moving Pictures and Associated Audio: Systems Recommendation H.222.0 ISO/IEC 13818-1 defines the mechanisms for combining, or multiplexing, several types of multimedia information into one program stream. This standard uses a known method of multiplexing, called packet multiplexing, where data, video and audio packets, etc. are interleaved one after other onto a single MPEG-2 transport stream (TS). The individual streams comprising the data, video and audio packets absent system or timing data are called elementary streams. The Packetized Elementary Streams (PES's) are elementary streams comprising all the header and data required to enable decoding of the elementary stream associated with a programs and may be up to 64 kbytes in length.
Transport Streams (TS's) are defined for transmission networks and allow for the multiplexing of many Packetized Elementary Streams which are packetized into smaller fixed length size, e.g., 188 bytes. These TS's additionally may suffer from occasional transmission errors. Each TS packet consists of a TS Header, followed optionally by ancillary data called Adaptation Field, followed typically by some or all the data from one PES packet. The TS Header consists of a>Sync
13
byte (0×47), flags, indicators, a Packet Identifier (PID), plus other information used for error detection, timing, etc. The semantics for the MPEG-2 TS header are as follows:
Sync_byte: (8-bits) a fixed value 0×47.
Transport_error_indicator: (1-bit) Indicates an uncorrectable bit error exists in the current TS packet.
Payload unit
13
start
13
indicator: (1-bit) indicates the presence of a new PES packet or a new TS-PSI Section. PSI—Program Specific Information.
Transport_priority: (1-bit) indicates a higher priority than other packets.
PID: (13-bits) Values 0 and 1 are pre-assigned, while values 2 to 15 are reserved. Values 0×0010 to 0×1 FFE, may be assigned by the Program Specific Information (PSI). Value 0×1 FFF is used for Null packets.
Transport
13
scrambling control: (2-bits) indicates the scrambling mode of the packet payload.
Adaptation_field_control: (2-bits) indicates the presence of adaptation field or payload.
Continuity_counter: (4-bits) One continuity counter per PID. It increments with each non-repeated TS packet having the correspondent PID.
Each MPEG-2 program stream may be characterized as a data stream that is encapsulated using MPEG-2 TS packets, with each packet containing a header field with a packet identifier (PID). The PID field is particularly used by an MPEG-2 transport demultiplexor (“Demux”) to tune to a particular set of PID's that correspond to a given program stream. Each program stream must have a set of distinct PID's (except for PID=0×1 FFF for the Null packet).
For example:
program stream
1
: <video PID=0×101, audio PID=0×102, secondary audio PID=0×107, 0×1 FFF> valid
program stream
2
: <video PID=0×101, audio PID=0×200, private data PID=0×107, 0×1 FFF> valid
For a typical MPEG-2 transport stream multiplexer, several program streams, originating from different sources (e.g., network interface, or local storage sub-system), are routed over a shared data bus (i.e., a local bus) and stored in a local packet memory. Finally, packets are removed from the packet memory and transmitted over the output channel.
It would be highly desirable to provide for MPEG-2 applications, a mechanism for monitoring the data transfer over the local bus, by parsing the MPEG-2 Transport Layer, removing MPEG-2 TS header and adaptation fields, and searching the payload field, for a specific pattern (e.g., a start code “0×000001”).
U.S. Pat. No. 5,734,429 describes an apparatus for detecting start code for bit stream of compressed image according to the MPEG-standard. The disclosed apparatus however, can only handle the case where only one bit stream is present. Similarly, U.S. Pat. No. 5,727,036 describes a method for searching start code for high bit rate but only covers the case where only one bit stream is present.
It would be desirable to provide a mechanism that searches for patterns in a multi-program multiplexed stream, in real-time, and moreover, that searches in parallel several bit streams that are multiplexed and transmitted over a shared media (bus, network, etc.).
It would be additionally desirable to provide a real-time search mechanism that searches for patterns in a multi-program multiplexed stream, wherein individual bit streams are transferred as buffer (burst-basis) units, and that further provides tracking and transferring of buffer unit context when a search pattern crosses a buffer boundary, i.e., when the starting part of the pattern resides in one buffer and the remainder part resides in a following buffer.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a system and method for performing real-time search of a bit pattern over a shared media supporting multiple simultaneous data streams each associated with a different program source.
It is a further object of the present invention to provide in an MPEG-2 packet Time Division Multiplexed transport system, a real-time data monitoring mechanism for data transfers occurring over a local bus that parses the MPEG-2 Transport Layer, removes MPEG-2 Transport Stream header and adaptation fields, searches the payload field for a specific pattern, and, identifies and indexes points where the search patterns occur.
It is yet another object of the present invention to provide in an MPEG-2 packet transport system, a real-time data monitoring and pattern searching system that additionally tracks all the individual bit streams at a given time, and performs context switching in a transfer unit (burst) basis.
According to the principles of the invention, there is provided a system and method for providing real-time searching and indexing of patterns included in packets of a packet stream over a time-domain multiplexed shared media (e.g., local bus, local area network, etc) and, particularly providing searching of several data streams transmitted over this shared media using a real-time search engine. Given a set of data streams, where a data stream is characterized as a set of linked buffers (initially stored in a Packet Memory (
30
), for example, using a linked list data structure, and associated with a program stream using a unique identifier called the Queue Identifier (QID)), with each buffer capable of being transferred in blocks of variable block sizes over a shared media using a time-domain multiplexing (TDM) technique (e.g., one block from data stream(i) is transmitted, then one block from data stream(j) is transmitted, and so forth), the real-time search engine is enabled to: capture each individual data transfer; parse the higher level protocol that encapsulates the payload; remove the transport layer header, and perform the pattern searching in the data stream payload. In the event of a pattern being found, the Real-Time Search Engine (
100
) generates a special status message containing the offset within the packet payload, the location within the associated buffer, and the contents of the packet following the location of the search pattern.
This search is performed in real-time (as the blocks traverse the media), and the search results are reported to a host processor using one or more pre-defined messages. Additionally, as a pattern can cross a buffer boundary, i.e., the starting part of the pattern may reside in one buffer and the remainder part may reside in the subsequent buffer, additional complexity is introduced. The Real-Ti

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for searching patterns in real-time over a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for searching patterns in real-time over a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for searching patterns in real-time over a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3173268

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.