IPlfApiTsDmxAbstract
  1. General info

  2. This document defines the Transport Stream Demultiplexing logical component. An instance of this logical component is referred to as a TS Demux and represents functionality to filter specific content (e.g. PES packets, sections) from a transport stream (TS). The functionality can be controlled by means of the interfaces specified in this document. A TS Demux consists of:

    For more information on demultiplexing see also the UHAPI documentation on Transport Stream Demultiplexing.


    1. Background information

    2. 1.1           Introduction

      This document describes the API of a demultiplexer for MPEG transport streams.

      The function of a TS Demux is to filter specific content (e.g. PES packets, sections) from one transport stream (TS). The client can specify several criteria for filtering. The filtered data is routed to decoders or (client) middleware stacks. Several types of filters exist, each with their own filter criteria.

      1.2           Demultiplexing

      Stream and buffer

      The TS Demux can have a number of Streams. A Stream models a stream of data. One buffer is being used per Stream for all data that is being filtered by the filters associated with this Stream. This buffer is not explicitly modelled. When the data is actually being routed to a client, the client has to manage the buffer explicitly.

      TPH and PID Filter

      A TPH Filter is a transport packet header filter that allows setting of filter criteria on some other fields than the PID. Figure 1‑1 shows the structure of a transport packet header. For explanation of the semantics of the data, see [5].

      Figure 1‑1: Structure of a transport packet header

      Typically, a Stream has one PID or TPH Filter. Only for remultiplexing of a single program (as defined in [5]), a Stream can have more of these filters. Each component of a program is conveyed on a separate PID. So, a PID or TPH Filter is needed for each component to be filtered.

      Section Filter, PES Filter, PES Notifier

      Each PID Filter can have specialized filters attached to do additional filtering on the output of the PID Filters. These specialized filters are the following:

             PES Filters to filter PES packets,

             PES Notifiers to notify PES packets to clients,

             Section Filters for filtering of MPEG-2 sections.

      TPH Filters can only have PES Filters and Notifiers attached. Each PID or TPH Filter can have at most one PES Notifier attached to notify PES packets to clients.

      PID or TPH Filters can only have one type of specialized filters attached.

      PCR Filter

      The demultiplexer also has PCR Filters. A PCR Filter is used for filtering Program Clock Reference (PCR) data and routing it to a System Time Clock recovery mechanism. A PCR is a time stamp from which the timing of decoders is derived.

      Descrambler

      The descrambler and the demultiplexer are tightly bound and come in dedicated pairs (e.g. the TS demultiplexer and the DVB descrambler). That is why the interface of the Descrambler is also described in this document.

      Content providers can protect their content through scrambling. The Descrambler descrambles streams at various levels (TS, PES, and section). Descrambling is only possible if the Descrambler has the right descrambling keys. If a customer is entitled to get access to the descrambled content, the client can get access to the proper descrambling keys which will then be fed to the Descrambler.

      Figure 1‑2 shows some TS Demux concepts.

      Figure 1‑2: Demultiplexer concepts


       

      1.3           Typical scenario: playing a program

      Figure 1‑3 shows a typical scenario: playing a program. The thin arrows indicate associations among objects and the thick ones the direction of filtered data.

      Streams �stream1', �stream2', and �stream3' extract respectively video, audio, and subtitles from the incoming transport stream and route their data to the respective decoders. Stream �stream4' filters Teletext data and routes it to memory after applying PES header filtering using a PES Filter. Streams �stream5' and �stream6' filter meta-data from the incoming transport stream that tells among other things on which PIDs the components of the program are conveyed. Stream �stream7' filters ECMs from the incoming transport stream. For filtering EMMs another Stream with a Section Filter is needed. This is not shown in the picture as it would make it too crowded. This meta-data is packed in sections.


  3. Constants

  4. Functions/Parameters

Copyright © 2009, Koninklijke Philips Electronics N.V.