Programming Metadata Communication Protocol
The topic of this article may not meet Wikipedia's general notability guideline. (September 2008)
Programming Metadata Communication Protocol (PMCP) is a standard for use within digital television broadcast facilities for transfer of the source data used to generate electronic program guide listings and other program-related information. The resulting data may then be sent to a PSIP generator for conversion to broadcast-ready format.
PMCP is an XML-based platform-independent protocol for the exchange of data, which may then be transported between systems in a variety of forms such as files, messages, web or e-mail services.
The Programming Metadata Communication Protocol (PMCP) is critical to viewers of digital television in the United States and other ATSC countries. When viewing digital television channels, people have become accustomed to navigating between channels via an electronic program guide (EPG). The data which populates the EPG comes from the ATSC's Program and System Information Protocol (PSIP). PMCP provides the source data for PSIP, including which programs are airing on which channel, at which time. It also includes a great deal of extended data, including a synopsis of the program, year of production, V-Chip rating data, closed captioning indication, etc.
PMCP, defined in the Advanced Television Systems Committee's A/76B, provides ATSC broadcasters with a standardized means to exchange system information (SI) among systems that create and manage these data elements. These systems can be outside Program listing services, program management systems, traffic (commercial and program scheduling) and broadcast automation systems, which all contribute a portion of the PSIP data to a PSIP Generator.
PMCP data can be used to create MPEG-2 Program Specific Information (PSI, generally Program Association and Program Map Tables) mostly useful to receiving devices and PSIP, the Program and System Information Protocol, published as ATSC A/65, which generally includes program and channel guides which are useful for viewers deciding which television program to watch. Although most ATSC users are terrestrial broadcasters, PMCP includes the capability to specify information used in cable and satellite-delivered ATSC transports.
At the heart of PMCP is an XML Schema (actually a collection of XML Schema Definition files), which provide a standardized structure into which PSI and PSIP-related data may be exchanged. PMCP does not dictate systems' internal database structures; it is simply a platform-independent protocol for the exchange of data.
PMCP may be transported between systems in a variety of forms. It may be exchanged as files, messages, or web services. Nothing in the specification would prevent the exchange of PMCP messages using simple email.
PMCP's development is managed by the ATSC's TSG/S1 group, which meets as needed, and reports to the Technology and Standards Group within the ATSC. It is an open, due process group, with a diverse membership, which during the heydey of PMCP development, numbered in the dozens.
PMCP was first published as A/76 in November 2004, and enjoys adoption from a variety of broadcast equipment and system vendors. Two revisions (largely backwards-compatible) with the standard have been made. ATSC A/76a extended PMCP to include metadata necessary for proper signaling of ACAP data broadcast elements, and A/76B, was released in 2007, fixed some errors and made the schema usable with the related SMPTE S2021 (BXF) schema.
- "A/76B: Programming Metadata Communication Protocol Standard, Revision B". Advanced Television Systems Committee. Retrieved 24 March 2011.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- Whitaker, Jerry. "Making PSIP Work for Broadcasters". TV Technology. Retrieved 24 March 2011.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- "New ATSC PMCP Standard Powers PSIP - Press Release". Advanced Television Systems Committee. Retrieved 24 March 2011.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>