ATSC PSIP A/65B & SCTE 65 Protocols
PSIPstack is BitRouter’s implementation of the ATSC A/65B PSIP (Program and System Information Protocol for Terrestrial Broadcast and Cable, Rev. B) and ANSI/SCTE 65 2002 (formerly DVS 234, Service Information Delivered Out-of-Band for Digital Cable Television) protocols. It provides a robust and portable solution for implementing a complex software component for both ATSC and OpenCable compliant advanced digital TV receivers. The implementation provides the following important benefits to consumer electronics manufacturers and silicon vendors:
- PSIPstack uses BitRouter’s kernel abstraction layer which contains 53 OS calls and can be ported to a new OS with minimal effort. A hardware abstraction layer is used to port to any target silicon. PSIPstack works with Linux and most major real-time operating systems.
- PSIPstack is currently in version 4.x and is deployed in several commercially available TV sets. The implementation has been tested with several test suites and legal and illegal test streams in several cities in North America and deployed in over 30 million ATSC receivers.
- PSIPstack comes with a unique software simulator that allows behavior for unusual PSIP conditions to be verified.
- The implementation conforms to the latest versions of the ATSC and SCTE protocols.
- Full support for processing of SCTE 18 2002 (formerly DVS 208, Emergency Alert Message for Cable, approved as a joint standard with CEA as ANSI-J-STD-042-2002) is included.
- APIs are provided to support auto programming, channel navigation, retrieval of EPG information and retrieval of private data. A sample auto programming and channel change test application is provided to illustrate usage of these APIs.
The PSIPstack package extracts, parses and acts upon all the relevant tables:
|MPEG-2 PAT||SCTE NIT|
|MPEG-2 PMT||SCTE NTT|
|ATSC MGT||SCTE MGT|
|ATSC VCT||SCTE long / short VCT|
|ATSC STT||SCTE STT|
|ATSC RRT/DRRT||SCTE RRT|
|ATSC EIT||SCTE EAS|
The software maintains internal channel map data structures based on the state of these tables. These structures can be exported and imported from FLASH for retention across power cycles. The software continuously monitors the tables for version changes, and updates its data structures and notifies other software components when changes are detected. Support is provided for both analog and digital channels from both cable and terrestrial sources. Support is also provided for cases where the signal is received from a repeater station, is time delayed or is input from an analog or digital VCR or DVR.
The implementation provides the following API sets for accessing and manipulating terrestrial and cable data:
|Tuner||Set / get frequency and notification of tuning completion|
|Channel||Change channels, auto-program, channel information, and update notifications|
|EPG||Event cache management, titles, captions, ratings and time|
|Parental Control||Retrieve parental control data by channel|
|Demux||Request SI tables, data on a PID and set Audio, Video and PCR PID|
|Tuner Driver||Set frequency and set notification|
|Demux Driver||Set PIDs, request data and set notification|
|ARCHITECTURE||The tuner and demux APIs provide a thin glue layer between the PSIPstack tuner / demux interface and the port-specific device drivers.|
The tuner and demux APIs provide a thin glue layer between the PSIPstack tuner / demux interface and the port-specific device drivers.