Digital TV Broadcast

Digital TV and HDTV/OTT Video

  • Based largely on digital signal processing and transmission techniques/the Internet
  • More program material to be carried through channels that existing analog systems
    • “ghost free” reception
    • widescreen pictures with wide aspect ratio (16:9)
    • standard definition TV (SDTV) and high definition TV (HDTV) programmes
    • high-quality audio and surround sound
    • multi-channel programming
    • electronic programme guide (EPG)
    • on-screen programme guide channel with today’s programme information
    • interactive TV services such as home shopping, computer games, etc.
    • datacasting services such as financial data, weather updates and traffic news, etc.

4 different efforts:

  • USA ATSC (Advanced Television Standards Committee)
  • Europe DVB-T (Digital Video Broadcast - Terrestrial)
  • Japan ISDB-T (Integrated Services Digital Broadcast - Terrestrial)
    • In 1999: ATSC, DVB-T and ISDB-T were tested in Hong Kong. DVB-T standard was initially recommended by the Government
  • China DMT-TH (Terrestrial Digital Multimedia TV/Handle Broadcasting): announced at August 1, 2007
    • Also adopted in HK.

Transport Layer for Digital TV

img

  • MPEG-2 system and multiplexing: packetized elementary stream, program and transport streams
  • Programme Specific Information (PSI) and Service Information (SI)
  • Scrambling and conditional access in MPEG system

Transmitter-Receiver System

This diagram illustrates how different bit streams multiplex into a single bit stream.

img

MPEG-2: Source Multiplexing

  • Packetization and combination of multiple streams into one single bitstream.
  • Addition of time stamps on elementary streams for synchronization at playback.

MPEG-2 Hierarchical Structure:

img

  • Transport bit stream is also called System Stream, in boardcasting perspective.

img

img

Program Stream VS Transport Stream

  • Since Program Stream packet is variable length, each packet need to have a header that tells:

    • Length of packet
    • Type of packet
  • While Transport Stream packet is fixed length (188), each packet only need to have a header that tells:

    • Type of packet
  • In Lost packet / Error situation

    • Program stream: Lost large amount of data, impossible to recover due to variable length
    • Transport stream: Lost small amount of data
  • From overhead perspective

    • Program stream: less overhead (less headers needed)
    • Transport stream: more overhead (more headers needed)

Program Stream

  • Combines one or more PES, which have a common time-base into a single stream
    • can only carry one program at a time
  • Designed for use in relatively error-free environments and suitable for applications which may involve software processing.
    • e.g. DVD/Blueway (Confined environment) is a error-free environment
  • Program stream packets may be of variable and relatively great length.

Transport Stream

  • Combines one or more PES with one or more independent time bases into a single stream (sometimes called multiplex)
    • can carry multiple programs at a time
  • Elementary streams sharing a common time-base form a program.
  • Designed for use in environments where errors are likely, such as storage or transmission in lossy or noisy media.
  • The transport stream is made of packets with fixed length of 188 bytes

MPEG-2 Transport Stream Multiplex

img

Transport Layer - Packetization

  • Packetization
    • Encapsulates the compressed video and audio, auxiliary data and other information in packets of a fixed length, which is needed for efficient, error-free transmission.
    • Multiplexing and synchronization of the services that comprise a program.

Video and Audio data are dropped into a number of packets (the packets belong to same group will share the same PID(PacketID) )

img

Packet Format

img

Transport Packet Header

  • Packet synchronization (8 bits)
    • the first byte in every packet is a sync byte that has the hexadecimal value 47H.
  • Packet identification (13 bits)
    • 13 bits of the header are assigned as a packet identification (PID) field, which is used for multiplexing and demultiplexing bit streams.
  • Error handling (4 bits)
    • 4 bits are assigned to a continuity counter field. It has a value that cycles uniformly from 0 to 15 at the transmitter for all packets with the same PID value. If a discontinuity in the continuity counter value is experienced at the receiver, it normally means that data has been lost and the receiver circuits should take appropriate action.
    • Help to know there is a missing packet, and the continuity counter value of the packet
  • Conditional access (2 bits)
    • scrambling of data in the packets to control access at the receiver.
    • Authorise decoder to do decoding
  • Flags (2 bits)
    • specific purposes; e.g. a 2-bit field indicates whether the packet contains an adaptation header.
  • The adaptation header (2 bits)
    • Synchronization of audio and video timing, Random access, Local program insertion.

MPEG Program PIDs

  • MPEG has a definition which is different to that normally understood
  • A “program” in broadcasting is a collection of
    • elements with a common time base and
    • the same start and stop times.
  • A program in MPEG is a collection of elements with a common time base only.
    • That is a collection of elementary streams with same program clock reference PCR_PID and referenced to the same program_number

Decoding the Program

Decoding the correct program in a channel

  • When there are several Transport Streams available to a decoder, in order to successfully demultiplex a multiprogram, the decoder must be notified of both
    • the program_number of the service and
    • its associated PID of transport stream with a single program.

img

  • But how the decoder knows the PID numbers of each program?
    • Use a set of table (PAT, PMT)

PAT, PMT & CAT Tables

  • PAT (Program Association Table)
    • The presence of this table is mandatory, and it is carried by the packets of PID = 0.
    • provides the link between the transport_stream_id, the program_number and the program_map_id (PMT).
  • PMT (Program Map Table)
    • the PMT provides the associated group of elements (video, audio etc) with the program_number.
  • CAT (Conditional Access Table)
  • This table must be present as soon as at least one programme in the multiplex has conditional access (PID=1)
  • provides the association between CA system(s) and their EMM (Entitlement Management Messages) streams and any special parameters associated with them.

PMT and PAT are used to create a program

Packet Multiplexing

  • To create a program, the transport system multiplexes a control data stream with packetized elementary bit-streams sharing a time-base
  • each separate bit stream (audio, video, or auxiliary data) has its own unique PID on all of its packets
  • the value PID=0 is reserved for packets that tell the receiver how the other PID values are assigned
  • PID=0 packets contain the program association table (PAT)
  • program association table identifies one or more complete program and what is the PID of packets that contain program map tables, which tell the PIDs for each data stream in the program

img

Example:

img

  • If I want to watch the J2 Program
    • the Decoder will decode the packet with PID = 0 to get the PAT (to know which PID J2 is)
    • Then Decoder will decode the packet with PID = 35 (J2)
    • then decoder will get the PMT of J2 (a list of PID)
    • then the decoder will decode PID = 21,22,23,24,25,26 to get all bitstream of that program

Packet Demultiplexing

  • Note the System bit stream contains multiple programs

img

  • As soon as the new channel is acquired (synchronization), the decoder must:
    • filter the PID 0 packets to acquire the PAT sections;
    • construct the PAT from the data of the sections;
  • Once the user choice is made, the decoder must:
    • filter the PID corresponding to the PMT of this program;
    • construct the PMT form the relevant sections;
    • filter the packet indicated by the PCR_PID field of the PMT, recover the PCR and synchronize the system clock.
    • present the choices to the user, if there is more than one audio or video PID.
  • Once this choice has been made, the decoder must filter the PID corresponding to this choice.

Scrambling and Conditional Access in MPEG-2 system

  • Scrambling & Conditional Access is used in

    • Pay-TV
    • Video-on-demand
    • Pay-per-view applications
  • The scrambling method and the necessary information must be transmitted in the PMT (Program Map Table) and CAT (Conditional Access Table).

  • Standard also defines a Common Scrambling Algorithm, (CSA).

  • A common interface (CI) may be used by all the broadcast companies if CSA is used.

  • Given the very delicate nature of this part of the standard

    • it is understandable that only its very general principles are available
    • implementation details only being accessible to network operators and equipment manufacturers under nondisclosure agreements.

Scambling

img

  • Two type of CI are generated and transmitted for descrambling
    • ECM: Entitlement Control Messages (Transmitted every 2-sec.)
    • EMM: Entitlement Management Messages (Transmitted every 10-sec.)
  • The broadcast data are scrambled by using a Control Word. Two Entitlement signals are generated by using Service & User Keys and also broadcasting.
    • Service Key: Used for selecting different groups of subscribers
    • User Key: Used for each subscriber to scramble the Service Key

Only Authorized user can get the User Key and Service Key

  • The scrambling algorithm uses two control words (even and odd) in order to make the pirate’s take more difficult.
  • One of the two encrypted control words is transmitted in the entitlement control messages (ECM) during the period that the other one is in use, so that the control words have to be stored temporarily in the registers of the descrambling device.

Scrambling at the Transport Level

Transport_Scrambling_flags:

  • 00 - No Scrambling
    • Everyone can watch it
  • 01 - Scrambling with the DEFAULT control word
  • 10 - Scrambling with the EVEN control word
  • 11 - Scrambling with the ODD control word

Descrambling

img

  • Control Words = f(ECM, service_key)
  • Service Key = f(EMM, user_key)

img

  • EMM is carried by CAT

  • PID = 1 carry the CAT

  • The PAT, rebuilt from sections in packets with PID=0, indicates the PID (M) of the packets carrying the PMT sections.

  • The PMT indicates, in addition to the PID of the packets carrying the video and audio PESs and the PCR, the PID of packets carrying the ECM.

  • The conditional access table (CAT), rebuilt from sections in packets with PID=1, indicates which packets carry the EMM for one (or more) access control system(s).

  • From this information and the USER_KEY contained in the smart card, the descrambling system can calculate the CONTROL_WORD required to descramble the next series of packets (PES or transport depending on the scrambling mode).