This file is raw output from pdftotext and may not be ideal for distribution. If you are a maintainer for Hackipedia, please sit down when you have time and clean this text version up. Source PDF: /mnt/main/jmc-storage/docs/ATSC/A-65 Program and System Information Protocol for Terrestrial Broadcast and Cable (2009).pdf Like all conversions the text below should be fully readable as UTF-8 unicode text. --------------------------------------------------------------- ATSC Standard: Program and System Information Protocol for Terrestrial Broadcast and Cable(PSIP) Document A/65:2009, 14 April 2009 Advanced Television Systems Committee, Inc. 1776 K Street, N.W., Suite 200 Washington, D.C. 20006 Advanced Television Systems Committee Document A/65:2009 The Advanced Television Systems Committee, Inc., is an international, non-profit organization developing voluntary standards for digital television. The ATSC member organizations represent the broadcast, broadcast equipment, motion picture, consumer electronics, computer, cable, satellite, and semiconductor industries. Specifically, ATSC is working to coordinate television standards among different communications media focusing on digital television, interactive systems, and broadband multimedia communications. ATSC is also developing digital television implementation strategies and presenting educational seminars on the ATSC standards. ATSC was formed in 1982 by the member organizations of the Joint Committee on InterSociety Coordination (JCIC): the Electronic Industries Association (EIA), the Institute of Electrical and Electronic Engineers (IEEE), the National Association of Broadcasters (NAB), the National Cable Telecommunications Association (NCTA), and the Society of Motion Picture and Television Engineers (SMPTE). Currently, there are approximately 140 members representing the broadcast, broadcast equipment, motion picture, consumer electronics, computer, cable, satellite, and semiconductor industries. ATSC Digital TV Standards include digital high definition television (HDTV), standard definition television (SDTV), data broadcasting, multichannel surround-sound audio, and satellite direct-to-home broadcasting. Contact information is given below. Mailing address Advanced Television Systems Commmittee, Inc. 1776 K Street, N.W., Suite 200 Washington, D.C. 20006 Telephone 202-872-9160 (voice), 202-872-9161 (fax) Web site http://www.atsc.org, E-mail: standard@atsc.org NOTE: The user's attention is called to the possibility that compliance with this standard may require use of an invention covered by patent rights. By publication of this standard, no position is taken with respect to the validity of this claim or of any patent rights in connection therewith. One or more patent holders have, however, filed a statement regarding the terms on which such patent holder(s) may be willing to grant a license under these rights to individuals or entities desiring to obtain such a license. Details may be obtained from the ATSC Secretary and the patent holder. The revision history of this document is given below. A/65 Revision History A/65 approved 23 December 1997 Revision A approved 31 May 2000 Amendment No. 1 approved 12 August 2002 Amendment No. 2 approved 6 August 2002 Amendment No. 3 approved 1 April 2002 Revision B approved 18 March 2003 Amendment No. 1 approved 28 April 2005 Revision C approved 2 January 2006 Amendment No. 1 approved 9 May 2006 A/65:2009 approved 14 April 2009 Font issue in Table D.4 corrected 3 August 2010 2 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 Table of Contents 1. SCOPE 9 1.1 Application 9 1.1.1 Terrestrial Broadcast 9 1.1.2 Cable 10 1.2 Organization 10 2. REFERENCES 11 2.1 Normative References 11 2.2 Informative References 12 3. DEFINITIONS 12 3.1 Compliance Notation 12 3.2 Acronyms and Abbreviations 12 3.3 Definition of Terms 14 3.4 Section and Data Structure Syntax Notation 15 4. DATA STRUCTURE 16 4.1 Table Format 16 4.2 Extensibility 18 4.3 User Private Ranges 19 4.4 Reserved Fields 19 5. TABLE HIERARCHY AND STRUCTURE REQUIREMENTS 19 5.1 Requirements for Terrestrial Broadcast 21 5.2 Requirements for Cable 22 6. SPECIFICATIONS 22 6.1 System Time Table (STT) 22 6.2 Master Guide Table (MGT) 24 6.2.1 Descriptors in the MGT Outer Loop 28 6.2.2 Descriptors in the MGT Inner Loop 28 6.2.3 Descriptor Precedence 28 6.3 Virtual Channel Table (VCT) 28 6.3.1 Terrestrial Virtual Channel Table 29 6.3.2 Cable Virtual Channel Table 35 6.4 Rating Region Table (RRT) 37 6.5 Event Information Table (EIT) 40 6.6 Extended Text Table (ETT) 44 6.7 Directed Channel Change Table (DCCT) 46 6.7.1 Temporary Retune DCC 49 6.7.2 Channel Redirect DCC 50 6.7.3 Viewer-Direct-Select Persistence 62 6.8 DCC Selection Code Table (DCCSCT) 63 6.9 Core Descriptors 66 6.9.1 AC-3 Audio Descriptor 68 6.9.2 Caption Service Descriptor 68 6.9.3 Content Advisory Descriptor 69 3 Advanced Television Systems Committee Document A/65:2009 6.9.4 Extended Channel Name Descriptor 71 6.9.5 Service Location Descriptor 71 6.9.6 Time-Shifted Service Descriptor 73 6.9.7 Component Name Descriptor 74 6.9.8 Stuffing Descriptor 75 6.9.9 Descriptors for Inactive Channels 75 6.9.10 DCC Departing Request Descriptor 75 6.9.11 DCC Arriving Request Descriptor 76 6.9.12 Redistribution Control (RC) Descriptor 77 6.9.13 Genre Descriptor 78 6.10 Multiple String Structure 79 6.11 Enhanced Service PSIP Signaling and Announcement (PSIP-E) 82 6.11.1 Enhanced Service MGT (MGT-E) 83 6.11.2 System Time Table for Enhanced Modes (STT-E) 83 6.11.3 Virtual Channel Table for Enhanced Modes (TVCT-E) 83 6.11.4 Event Information Table for Enhanced Modes (EIT-E) 84 6.11.5 Event Text Table for Enhanced Modes (ETT-E) 84 6.11.6 Directed Channel Change for Enhanced Modes 84 7. PSIP STD MODEL 85 7.1 Buffer Model for Terrestrial Broadcast 85 7.2 Buffer Model for Cable 85 7.3 Buffer Model Considerations to Support DCC for Terrestrial Broadcast 85 Annex A: Daylight Saving Time Control (Normative) 87 Annex B: Additional Constraints on Virtual Channel Table for the U.S. (Normative) 89 B.1 ASSIGNMENT OF MAJOR CHANNEL NUMBER VALUES FOR TERRESTRIAL BROADCAST IN THE U.S. 89 B.1.1 Mandatory Requirements for Major Channel Number Values in the Range 2–69 89 B.1.2 Major Channel Number Values in the Range 70–99 90 B.1.3 Major Channel Numbers for Translated Signals 90 B.2 REQUIREMENT TO TRANSMIT ANALOG TRANSMISSION SIGNAL ID 90 Annex C: Standard Huffman Tables for Text Compression (Normative) 91 C.1 SCOPE 91 C.2 CHARACTER SET DEFINITION 91 C.2.1 First Order Escape 91 C.2.2 Decode Table Data Structures 92 C.2.2.1 Tree Root Byte Offsets 92 C.2.2.2 Order-1 Decode Trees 92 C.3 STANDARD COMPRESSION TYPE 1 ENCODE/DECODE TABLES 93 C.4 STANDARD COMPRESSION TYPE 2 HUFFMAN ENCODE/DECODE TABLES 102 4 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 Annex D: An Overview of PSIP for Terrestrial Broadcast with Application Examples (Informative) 111 D.1 INTRODUCTION 111 D.2 OVERVIEW 111 D.3 ELEMENTS OF PSIP 111 D.4 APPLICATION EXAMPLE 114 D.4.1 The Master Guide Table (MGT) 115 D.4.2 The Virtual Channel Table (VCT) 116 D.4.3 The Event Information Tables (EITs) 119 D.4.4 The Rating Region Table (RRT) 120 D.5 PACKETIZATION AND TRANSPORT 120 D.6 TUNING OPERATIONS AND TABLE ACCESS 121 D.7 GPS TIME 122 D.8 NVOD EXAMPLES 125 D.9 INTERPRETATION OF MGT TABLE VERSION NUMBERS 126 D.10 USE OF ANALOG TRANSMISSION SIGNAL ID 128 D.11 USE OF COMPONENT NAME DESCRIPTOR 128 Annex E: Typical Size of PSIP Tables (Informative) 129 E.1 OVERVIEW 129 E.2 SYSTEM TIME TABLE (STT) 129 E.3 MASTER GUIDE TABLE (MGT) 129 E.4 TERRESTRIAL VIRTUAL CHANNEL TABLE (TVCT) 129 E.5 RATING REGION TABLE (RRT) 130 E.6 EVENT INFORMATION TABLE (EIT) 130 E.7 EXTENDED TEXT TABLE (ETT) 131 E.8 DIRECTED CHANNEL CHANGE TABLE (DCCT) 131 E.9 DIRECTED CHANNEL CHANGE SELECTION CODE TABLE (DCCSCT) 131 E.10 AN EXAMPLE FOR TERRESTRIAL BROADCAST 131 Annex F: An Overview of Huffman-Based Text Compression (Informative) 133 F.1 INTRODUCTION 133 F.2 DATA COMPRESSION OVERVIEW 133 F.3 OVERVIEW OF CONTEXT-SENSITIVE HUFFMAN CODING 133 F.3.1 Example 134 F.3.2 Decode Tree Example 135 F.3.3 Encoding/Character Decoding Examples with 1st-order Huffman tables 137 Annex G: An Overview of PSIP for Cable (Informative) 139 G.1 INTRODUCTION 139 G.2 OVERVIEW 139 G.3 COMPARING CVCT AND TVCT 139 G.3.1 Path Select 139 G.3.2 Out of Band 140 5 Advanced Television Systems Committee Document A/65:2009 G.3.3 Major and Minor Channel Numbers 140 G.3.4 Source IDs 140 G.4 IN-BAND VERSUS OUT-OF-BAND SYSTEM INFORMATION 140 G.5 USING PSIP ON CABLE 141 G.5.1 Terrestrial Virtual Channel Maps on Cable 141 G.5.2 Use of the Cable VCT 141 G.5.3 Service Location on Cable 142 G.5.4 Analog Channel Sharing 142 G.6 RE-MULTIPLEXING ISSUES 143 G.7 THE TRANSITION TO PSIP ON CABLE IN THE U.S. 144 G.8 DATA RATES FOR PSIP ON CABLE 144 6 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 Index of Tables Table 4.1 Generic Table Format Used in PSIP 16 Table 4.2 Table ID Ranges and Values (Informative) 17 Table 6.1 Bit Stream Syntax for the System Time Table 23 Table 6.2 Bit Stream Syntax for the Master Guide Table 26 Table 6.3 Table Types 27 Table 6.4 Bit Stream Syntax for the Terrestrial Virtual Channel Table 30 Table 6.5 Modulation Modes 33 Table 6.6 ETM Location 34 Table 6.8 Bit Stream Syntax for the Cable Virtual Channel Table 36 Table 6.9 Path Select 37 Table 6.10 Bit Stream Syntax for the Rating Region Table 38 Table 6.11 Bit Stream Syntax for the Event Information Table 42 Table 6.12 ETM Location 43 Table 6.13 Bit Stream Syntax for the Extended Text Table 44 Table 6.14 ETM ID 45 Table 6.15 Bit Stream Syntax for the Directed Channel Change Table 47 Table 6.16 DCC Context 49 Table 6.17 DCC Selection Type Assignments 52 Table 6.18 Demographic Selection Type Assignments 56 Table 6.19 Examples of Selection Code Packing 58 Table 6.20 Categorical Genre Code Assignments 58 Table 6.21 Conditional Type Value Format 61 Table 6.22 County Subdivision Coding 61 Table 6.23 Bit Stream Syntax for the DCC Selection Code Table 64 Table 6.24 Update Type Coding 65 Table 6.25a List and Location of PSIP Descriptors 67 Table 6.25b List and Location of PSIP Descriptors 67 Table 6.26 Bit Stream Syntax for the Caption Service Descriptor 68 Table 6.27 Stream Syntax for the Content Advisory Descriptor 70 Table 6.28 Bit Stream Syntax for the Extended Channel Name Descriptor 71 Table 6.29 Bit Stream Syntax for the Service Location Descriptor 72 Table 6.30 Selected Stream Type Assignments (Informative) 73 Table 6.31 Bit Stream Syntax for the Time Shifted Service Descriptor 74 Table 6.32 Bit Stream Syntax for the Component Name Descriptor 75 Table 6.33 Bit Stream Syntax for the DCC Departing Request Descriptor 76 Table 6.34 DCC Departing Request Type Assignments 76 Table 6.35 Bit Stream Syntax for the DCC Arriving Request Descriptor 77 Table 6.36 DCC Arriving Request Type Assignments 77 Table 6.37 Bit Stream Syntax for the Redistribution Control Descriptor 78 Table 6.38 Stream Syntax for the Genre Descriptor 79 Table 6.39 Bit Stream Syntax for the Multiple String Structure 80 Table 6.40 Compression Types 80 Table 6.41 Modes 82 7 Advanced Television Systems Committee Document A/65:2009 Table 7.1 Maximum Cycle Time for the STT, MGT, VCT and RRT 85 Table 7.2 Maximum Rate for Each PSIP Packet Stream 85 Table 7.3 Maximum Cycle Time for the STT-E, MGT-E, VCT-E, and RRT-E 85 Table 7.4 Maximum Rate for Each PSIP Packet Stream 85 Table A1 Structure of Daylight Saving Time Control 87 Table A2 Basic Use of Daylight Saving Fields Through the Year 88 Table C1 Characters with Special Definitions 91 Table C2 Decode Table Format 92 Table C3 Decode Tree Format 93 Table C4 English-language Program Title Encode Table 93 Table C5 English-language Program Title Decode Table 98 Table C6 English-language Program Description Encode Table 102 Table C7 English-language Program Description Decode Table 106 Table D1 An Example of EIT Coverage Times 114 Table D2 The First 3-Hour Segment to be Described in VCT and EIT-0 115 Table D3 The Second 3-Hour Segment to be Described in VCT and EIT-1 115 Table D4 Receiver Behavior with Hidden and Hide Guide Attributes 119 Table E1 Symbols 129 Table E2 Typical Size (bytes) of MGT 129 Table E3 Typical TVCT Size (bytes) 130 Table E4 Typical Size (in bytes per rating region) of RRT 130 Table E5 Typical Size (bytes per virtual channel per EIT) of EIT 130 Table E6 Typical Size (bytes per virtual channel or bytes per event) of ETT 131 Table E7 Typical Size (bytes) of DCCT 131 Table E8 Typical Size (bytes) of DCCSCT 131 Table E9 Typical Sizes of PSIP tables (except ETT) for the Example 132 Table E10 Typical Sizes of ETTs for the Example 132 Table F1 Example Character Set and Frequency of Character Occurrence 134 Table F2 Decode Tree Example 136 8 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 Index of Figures Figure 5.1 Table hierarchy for the Program and System Information Protocol (PSIP). 20 Figure 5.2 Extended Text Tables (ETTs) defined to carry text messages for describing virtual channels and events. 21 Figure D1 Main structure for the PSIP tables. 112 Figure D2 Extended Text Tables in the PSIP hierarchy. 113 Figure D3 Content of the Master Guide Table. 116 Figure D4 Content of the Virtual Channel Table. 117 Figure D5 Content of EIT-0 for NBZ.S 120 Figure D6 An Instance of a Rating Region Table (RRT). 121 Figure D7 Packetization and transport of the PSIP tables. 122 Figure D8 Extraction of the VCT from the Transport Stream. 123 Figure D9 Acquisition of audiovisual components. 123 Figure D10 NVOD Example #1. 125 Figure D11 NVOD Example #2. 126 Figure F1 Example Huffman tree. 135 Figure F2 Coding example for the string “The next”. 136 Figure F3 Huffman tree for prior symbol “x”. 137 9 ATSC Standard: Program and System Information Protocol for Terrestrial Broadcast and Cable 1 SCOPE This document defines a standard for System Information (SI) and Program Guide (PG) data compatible with digital multiplex bit streams constructed in accordance with ISO/IEC 13818-1 (MPEG-2 Systems). The document defines the standard protocol for transmission of the relevant data tables contained within packets carried in the Transport Stream multiplex. The protocol defined herein is referred to as Program and System Information Protocol (PSIP). This standard was prepared by the Advanced Television Systems Committee (ATSC) Technology and Standards Group (TSG). The document was first approved by the members of the ATSC on 23 December 1997. Revision A was published on 31 May 2000. Revision B to PSIP was the result of incorporating Amendment No. 1A (12 August 2002), Amendment No. 2 (6 August 2002), and Amendment No. 3 (1 April 2002) after their approval by the full ATSC. The cover date of A/65B was 18 March 2003. ATSC Standard A/65C was approved by the full membership on 2 January 2006. Revision A/65:2009 incorporated Amendment No. 1 (9 May 2006) and a number of other updates and clarifications. ATSC Standard A/65:2009 was approved by the full membership on 14 April 2009. For an informative description of the purpose, concepts, and tables defined in this protocol, first-time readers are encouraged to start with Annex D. In addition, a Recommended Practice on PSIP implementation is available as ATSC document A/69, “ATSC Recommended Practice: Program and System Information Protocol Implementation Guidelines for Broadcasters” [23]. A companion document for receiver manufacturers is available from the Consumer Electronics Association: “CEA-CEB12, PSIP Recommended Practice” [18]. 1.1 Application This document describes tables that shall be applicable to terrestrial (over-the-air) and cable signals. Some PSIP tables apply to terrestrial broadcast, some apply to cable, and others apply to both. 1.1.1 Terrestrial Broadcast The following PSIP data shall be included in all ATSC-compliant Transport Streams to be transmitted via terrestrial broadcast: • The Terrestrial Virtual Channel Table (TVCT) defining, at a minimum, MPEG-2 programs embedded in the Transport Stream in which the TVCT is carried. • The Master Guide Table (MGT) defining the type, packet identifiers, and versions for all the other PSIP tables in this Transport Stream, except for the System Time Table (STT). • The Rating Region Table (RRT) defining the TV parental guideline (rating information) system referenced by any content advisory descriptor carried within the Transport Stream, except the RRT corresponding to rating_region 0x01 (US + possessions).1 • The System Time Table (STT), defining the current date and time of day. Page 11 Advanced Television Systems Committee Document A/65:2009 • A service_location_descriptor for each digital virtual channel in the VCT. • The first four Event Information Tables (EIT-0, EIT-1, EIT-2, and EIT-3) describing 12 hours of events (TV programs), each with a coverage of 3 hours, and including all of the virtual channels listed in the TVCT. 1.1.2 Cable The following PSIP data shall be included in all ATSC-compliant Transport Streams to be transmitted via cable: • The Cable Virtual Channel Table (CVCT) defining, at a minimum, the virtual channel structure for the collection of MPEG-2 programs embedded in the Transport Stream in which the CVCT is carried. • The Master Guide Table (MGT) defining the type, packet identifiers, and versions for all of the other PSIP tables included in this Transport Stream except for the System Time Table (STT). • The Rating Region Table (RRT) defining the TV parental guideline system (rating information) referenced by any content advisory descriptor carried within the Transport Stream, except the RRT corresponding to rating_region 0x01 (US + possessions).2 • The System Time Table (STT), defining the current date and time of day. 1.2 Organization The sections of this document are organized as follows: • Section 1 — Provides this general introduction. • Section 2 — Lists references and applicable documents. • Section 3 — Provides a definition of terms and a list of acronyms and abbreviations used in this document. • Section 4 — Describes the data structure of the PSIP tables. • Section 5 — Describes the overall table hierarchy. • Section 6 — Describes formats for all of the PSIP tables. • Section 7 — Describes PSIP STD model. • Annex A — Describes the daylight saving time control. • Annex B — Describes the assignment of major_channel_number values for terrestrial broadcast in the U.S. • Annex C — Describes the standard Huffman tables for text compression. • Annex D — Provides an overview of PSIP for terrestrial broadcast with application examples. • Annex E — Describes the typical sizes of PSIP tables. • Annex F — Provides an overview of Huffman-based text compression. • Annex G — Provides an overview of the use of PSIP for cable. 1. Note: Interpretation in a receiver of the rating_region 0x01 RRT requires prior knowledge of CEA-766 [19]; therefore transmission is unnecessary. 2. Ibid. 12 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 2 REFERENCES 2.1 Normative References The following documents are normative references to this Standard: [1] ATSC: “ATSC Digital Television Standard, Part 1 — Digital Television System,” Doc. A/53 Part 1:2009, Advanced Television Systems Committee, Washington, D.C. , 7 August 2009. [2] ATSC: “ATSC Digital Television Standard, Part 2 — RF/Transmission System Characteristics,” Doc. A/53 Part 2:2007, Advanced Television Systems Committee, Washington, D.C., 3 January 2007. [3] ATSC: “ATSC Digital Television Standard, Part 3 — Service Multiplex and Transport Subsystem Characteristics,” Doc. A/53 Part 3:2009, Advanced Television Systems Committee, Washington, D.C., 7 August 2009. [4] ATSC: “ATSC Digital Television Standard, Part 5 — AC-3 Audio System Characteristics,” Doc. A/53 Part 5:2007, Advanced Television Systems Committee, Washington, D.C., 3 January 2007. [5] FIPS: “Federal Information Processing Standard, FIPS Pub 6-4, Counties and Equivalent Entities of the U.S., Its Possessions, and Associated Areas — 90 Aug 31,” U.S. Government Printing Office, Washington, DC 20040, http://www.itl.nist.gov/fipspubs. [6] CEA: “Line 21 Data Services,” Doc. CEA-608-E, Consumer Electronics Association, Arlington, VA., April 2008. [7] CEA: “Digital Television (DTV) Closed Captioning,” Doc. CEA-708-D, Consumer Electronics Association, Arlington, VA, August 2008. [8] ISO: “ISO 639.2, Code for the Representation of Names of Languages — Part 2: alpha-3 code,” as maintained by the ISO 639/Joint Advisory Committee (ISO 639/JAC), http:// www.loc.gov/standards/iso639-2/iso639jac.html. JAC home page:http://www.loc.gov/standards/iso639-2/iso639jac.html; ISO 639.2 standard online: http://www.loc.gov/standards/iso639-2/langhome.html. [9] ISO/IEC 8859, Information Processing — 8-bit Single-Octet Coded Character Sets, Parts 1 through 10. [10] ISO: “ISO/IEC 10646-1:2000, Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 1: Architecture and Basic Multilingual Plane.” [11] ITU: “ITU-T Rec. H.222.0 | ISO/IEC 13818-1:2007, Information Technology — Generic coding of moving pictures and associated audio — Part 1: systems.” [12] ITU: “ITU-T Rec. H.262 | ISO/IEC 13818-2:2000, Information Technology — Generic coding of moving pictures and associated audio — Part 2: video.” [13] Unicode Consortium: “The Unicode Standard, Version 3.0,” The Unicode Consortium, Addison-Wesley Pub., ISBN 0201616335. [14] Unicode Consortium: “Unicode Technical Report #6, A Standard Compression Scheme for Unicode,” Revision 3.0, 1999-11-12, The Unicode Consortium. 13 Advanced Television Systems Committee Document A/65:2009 [15] CFR: “U.S. Code of Federal Regulations, Title 47, Part 11, Emergency Alert System (EAS),” U.S. Government Printing Office, Washington, DC 20040, http://wireless.fcc.gov/ index.htm?job=rules_and_regulations. [16] CFR: “U.S. Code of Federal Regulations, Title 47, Part 73, Broadcast Radio Services,” U.S. Government Printing Office, Washington, DC 20040, http://wireless.fcc.gov/ index.htm?job=rules_and_regulations. 2.2 Informative References [17] ATSC: “Data Broadcast Standard,” Doc. A/90, Advanced Television Systems Committee, Washington, D.C., 26 July 2000. [18] CEA: “PSIP Recommended Practice,” Doc. CEA-CEB12-A, Consumer Electronics Association, Arlington, VA, October 2003. [19] ANSI/CEA: “U.S. and Canadian Rating Region Tables (RRT) and Content Advisory Descriptors for Transport of Content Advisory Information Using ATSC Program and System Information Protocol (PSIP),” Doc. ANSI/CEA-766-C, American National Standards Institute and Consumer Electronics Association, Arlington, VA, April 2008. [20] ISO/IEC: “ISO/IEC 11172-2:1993, Information technology – Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s — Part 2: Video.” [21] SCTE: “Digital Video Transmission Standard for Cable Television,” Doc. ANSI/SCTE 07 2006, Society of Cable Telecommunications Engineers, http://www.scte.org/. [22] CFR: “U.S. Code of Federal Regulations, Title 47, Part 15, Radio Frequency Devices,” U.S. Government Printing Office, Washington, DC 20040, http://wireless.fcc.gov/ index.htm?job=rules_and_regulations. [23] ATSC: “Program and System Information Protocol Implementation Guidelines for Broadcasters,” Doc. A/69, Advanced Television Systems Committee, Washington, D.C., 25 June 2002. [24] ATSC: “Code Point Registry,” Advanced Television Systems Committee, Washington, D.C. 3 DEFINITIONS 3.1 Compliance Notation As used in this document, “shall” denotes a mandatory provision of the standard. “Should” denotes a provision that is recommended but not mandatory. “May” denotes a feature whose presence does not preclude compliance, that may or may not be present at the option of the implementer. 3.2 Acronyms and Abbreviations The following acronyms and abbreviations are used within this specification: ATSC – Advanced Television Systems Committee bslbf – bit serial, leftmost bit first BMP – basic multilingual plane 14 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 CAT – Conditional Access Table CRC – cyclic redundancy check CVCT – Cable Virtual Channel Table DCC – Directed Channel Change DCCRR – DCC capable DTV reference receiver DCCSCT – DCC Selection Code Table DET – Data Event Table DTV – digital television EPG – electronic program guide EIT – Event Information Table EIT-E – Event Information Table in the TS-E EMM – entitlement management message ETM – Extended Text Message ETT – Extended Text Table ETT-E – Event Text Table in the TS-E GPS – Global Positioning System PSIP – Program and System Information Protocol MGT – Master Guide Table MGT-E – Master Guide Table in the TS-E MPAA – Motion Picture Association of America MPEG – Moving Picture Experts Group NVOD – near video on demand OOB – out of band PAT – Program Association Table PCR – Program Clock Reference PES – Packetized Elementary Stream PID – packet identifier PMT – Program Map Table - The collection of all the TS_program_map_section()s. PSIP-E – Program and System Information in the TS-E PTC – physical transmission channel SCTE – Society of Cable Telecommunications Engineers SI – system information 15 Advanced Television Systems Committee Document A/65:2009 STD – System Target Decoder STT – System Time Table STT-E – System Time Table in the TS-E rpchof – remainder polynomial coefficients, highest order first RRT – Rating Region Table TS – Transport Stream TS-E – The collection of packets delivered by enhanced VSB TS-Ea – The collection of packets delivered using one-half rate coding per A/53 Part 2 [2] TS-Eb – The collection of packets delivered using one-quarter rate coding per A/53 Part 2 [2] TSID – Transport Stream Identifier (digital) or Transmission Signal Identifier (analog) TVCT – Terrestrial Virtual Channel Table TVCT-E – Terrestrial Virtual Channel Table in the TS-E unicode – Unicode™ UTC – Coordinated Universal Time3 uimsbf – unsigned integer, most significant bit first VCT – Virtual Channel Table. Used in reference to either TVCT or CVCT. 3.3 Definition of Terms The following terms are used throughout this document: descriptor – A data structure of the format specified in ISO/IEC 13818-1 [11] Section 2.6, which consists of descriptor_tag, descriptor_length, and a variable amount of data. The tag and length fields are each 8 bits. The length specifies the length of data that begins immediately following the descriptor_length field itself. digital channel – A set of one or more digital elementary streams. See virtual channel. event – A collection of associated program elements that have a common timeline for a defined period. An event is equivalent to the common industry usage of “television program.” An event may also be an analog “television program.” instance – See table instance. logical channel – See virtual channel. physical channel – A generic term to refer to the each of the 6–8 MHz frequency bands where television signals are embedded for transmission. Also known as the physical transmission channel (PTC). One analog virtual channel fits in one PTC but multiple digital virtual channels typically coexist in one PTC. physical transmission channel – See physical channel. 3. Since unanimous agreement could not be achieved by the ITU on using either the English word order, CUT, or the French word order, TUC, a compromise to use neither was reached. 16 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 program element – A generic term for one of the elementary streams or other data streams that may be included in a program. For example: audio, video, data, etc. program – A collection of program elements. Program elements may be elementary streams. Program elements need not have any defined time base; those that do have a common time base are intended for synchronized presentation. The term program is also commonly used in the context of a “television program” such as a scheduled daily news broadcast. In this specification the term “event” is used to refer to a “television program” to avoid ambiguity. region – As used in this document, a region is a geographical area consisting of one or more countries. section – A data structure comprising a portion of an ISO/IEC 13818-1 defined table, such as the Program Association Table (PAT), Conditional Access Table (CAT), or Program Map Table (PMT). All sections begin with the table_id and end with the CRC_32 field, and their starting points within a packet payload are indicated by the pointer_field mechanism defined in the ISO/ IEC 13818-1 International Standard [11]. stream – An ordered series of bytes. The usual context for the term stream is the series of bytes extracted from Transport Stream packet payloads which have a common unique PID value (e.g., video PES packets or Program Map Table sections). table – The collection of re-assembled sections bearing a common table_id and version number4. table instance – Tables are identified by the table_id field. However, in cases such as the Event Information Table, several instances of a table are defined simultaneously. All instances are conveyed in Transport Stream packets of the same PID value and have the same table_id field value. Each instance has a different table_id_extension value. The term table_id_extension is the generic label for the field per Table 4.1; it is renamed as appropriate for specific tables. virtual channel – A virtual channel is the designation, usually a number, that is recognized by the user as the single entity that will provide access to an analog TV program or a set of one or more digital elementary streams. It is called “virtual” because its identification (name and number) may be defined independently from its physical location. Examples of virtual channels are: digital radio (audio only), a typical analog TV channel, a typical digital TV channel (composed of one audio and one video stream), multi-visual digital channels (composed of several video streams and one or more audio tracks), or a data broadcast channel (composed of one or more data streams). In the case of an analog TV channel, the virtual channel designation will link to a specific physical transmission channel. In the case of a digital TV channel, the virtual channel designation will link both to the physical transmission channel and to the particular video and audio streams within that physical transmission channel. 3.4 Section and Data Structure Syntax Notation This document contains symbolic references to syntactic elements. These references are typographically distinguished by the use of a different font (e.g., restricted), may contain the 4. Note that this definition of table constrains version-number to apply to the collection of sections as contrasted to each section. 17 Advanced Television Systems Committee Document A/65:2009 underscore character (e.g., sequence_end_code) and may consist of character strings that are not English words (e.g., dynrng). The formats of sections and data structures in this document are described using a C-like notational method employed in ISO/IEC 13818-1 [11]. 4 DATA STRUCTURE This section describes the data structure common to all PSIP tables. 4.1 Table Format Tables defined in this Standard are derived from the “long” form of the MPEG-2 private_section defined in Sections 2.4.4.10 and 2.4.4.11 of ISO/IEC 13818-1 [11]. The table format common to all PSIP tables is given in Table 4.1. An additional field, protocol_version, has been added as a consistent first byte of every PSIP table section. Table 4.1 Generic Table Format Used in PSIP Syntax No. of Bits Format PSIP_section() { table_id 8 uimsbf section_syntax_indicator 1 ‘1’ private_indicator 1 ‘1’ reserved 2 ‘11’ section_length 12 uimsbf table_id_extension 16 uimsbf reserved 2 ‘11’ version_number 5 uimsbf current_next_indicator 1 bslbf section_number 8 uimsbf last_section_number 8 uimsbf protocol_version 8 uimsbf PSIP_table_data() * CRC_32 32 rpchof } table_id– The value of this 8-bit field shall identify the PSIP Table to which this section belongs. Tables defined in this PSIP Standard, and any created in other ATSC Standards are considered “private” with respect to ISO/IEC 13818-1 [11] and standard with respect to other ATSC Standards. Table 4.2 lists Table ID ranges and values. 18 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 Table 4.2 Table ID Ranges and Values (Informative) Table ID Tables PID Ref. Value (hex) ISO/IEC 13818-1 Sections: 0x00 Program Association Table (PAT) 0x0000 Ref. [11] 0x01 Conditional Access Table (CAT) 0x0001 Ref. [11] 0x02 Program Table (PMT) per PAT Ref. [11] 0x03-0x3F [ISO reserved] User Private Sections: 0x40-0xBF [User Private] Other Documents: 0xC0-0xC6 [ATSC coordinated values which are defined in other standards.] PSIP Tables: 0xC7 Master Guide Table (MGT) 0x1FFB Sec.6.2 0xC8 Terrestrial Virtual Channel Table (TVCT) 0x1FFB Sec.6.3.1 0xC9 Cable Virtual Channel Table (CVCT) 0x1FFB Sec.6.3.2 0xCA Rating Region Table (RRT) 0x1FFB Sec.6.4 0xCB Event Information Table (EIT) per MGT Sec.6.5 0xCC Extended Text Table (ETT) per MGT Sec.6.6 0xCD System Time Table (STT) 0x1FFB Sec.6.1 0xCE-0xD2 [ATSC coordinated values which are defined in other standards.] 0xD3 Directed Channel Change Table (DCCT) 0x1FFB Sec.6.7 0xD4 Directed Channel Change Selection Code Table (DCCSCT) 0x1FFB Sec.6.8 0xD5-0xDF [ATSC coordinated values which are defined in other standards.] 0xE0-0xE5 [Used in other systems] 0xE6-0xFE [Reserved for future ATSC use] – This 1-bit field shall be set to ‘1’ to always indicate the “long” form of section_syntax_indicator the MPEG-2 private_section table. private_indicator – This 1-bit field shall be set to ‘1’. private_section_length – A 12-bit field. It specifies the number of remaining bytes in the private section immediately following this field up to and including the CRC_32 field. The value in this field shall not exceed 4093 (0xFFD). table_id_extension – This is a 16-bit field and is table-dependent. It shall be considered to be logically part of the table_id field providing the scope for the remaining fields. version_number – This 5-bit field is the version number of the PSIP_section. The version_number shall be incremented by 1 modulo 32 when a change in the information carried within the PSIP_section occurs. When the current_next_indicator is set to ‘0’, then the version_number shall be that of the next applicable PSIP_section with the same table_id, table_id_extension, and section_number. – A 1-bit field, which when set to ‘1’ indicates that the PSIP_section sent is current_next_indicator currently applicable. When the current_next_indicator is set to ‘1’, then the version_number shall be that of the currently applicable PSIP_section. When the bit is set to ‘0’, it indicates that the 19 Advanced Television Systems Committee Document A/65:2009 PSIP_section sent is not yet applicable and shall be the next PSIP_section with the same section_number, table_id_extension, and table_id to become valid. section_number – This 8-bit field gives the number of the PSIP_section. The section_number of the first section in a PSIP table shall be 0x00. The section_number shall be incremented by 1 with each additional section in PSIP table. The scope of the section_number shall be defined by the table_id and table_id_extension. That is, for each PSIP table and value of the table_id_extension field, there is the potential for the full range of section_number values. last_section_number– This 8-bit field specifies the number of the last section (that is, the section with the highest section_number) of the PSIP table of which this section is a part. Its scope is the same as for the section_number field. protocol_version – An 8-bit unsigned integer field whose function is to allow, in the future, this table type to carry parameters that may be structured differently than those defined in the current protocol. At present, the only valid value for protocol_version is zero. Non-zero values of protocol_version may be used by a future version of this standard to indicate structurally different tables. CRC_32 – This is a 32-bit field that contains the CRC value that gives a zero output of the registers in the decoder defined in ISO/IEC 13818-1[11], Annex A after processing the entire private section. Note that individual PSIP tables defined in this standard may further constrain the above fields. But when not further constrained in each table, the above semantics shall apply. 4.2 Extensibility The PSIP protocol describes a number of tables conveying system information and content guide data structures. The standard is designed to be extensible via the following mechanisms: Reserved fields – Fields in this standard marked reserved shall be reserved for use either when revising this standard, or when another standard is issued that builds upon this one. See Section 4.4. Standard table types – As indicated in Table 4.2, table_id values in the range 0xCE to 0xD2, 0xD5 to 0xDF and 0xE6-0xFE shall be reserved for use either when revising this PSIP Standard, or when another standard is issued. Protocol version field – Future substantive structural modifications shall be accommodated by defining different protocol version numbers. Backwards compatible additions or modifications may be added without incrementing the protocol version number. Table length extensions – Future amendments to this standard may include new fields at the ends of certain tables. Tables that may be extensible in this way include those in which the last byte of the field just preceding the CRC may be determined without use of the section_length field. Such an extension is a backwards compatible addition. Descriptor length extensions – Future amendments to this standard may include new fields at the ends of certain descriptors. Descriptors extensible in this way include those in which the last byte of the last currently defined field may be determined without the use of the descriptor_length field. 20 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 New descriptor types– Future amendments to this standard may define new types of descriptors not recognized or supported by existing receiving devices. A descriptor whose descriptor_tag identifies a type not recognized by a particular receiver is expected to be ignored. Descriptors can be included in certain specified places within PSIP tables, subject to certain restrictions (see Table 6.25). Descriptors may be used to extend data represented as fixed fields within the tables. They make the protocol very flexible since they can be included only as needed. New descriptor types can be standardized and included without affecting receivers that have not been designed to recognize and process the new types. 4.3 User Private Ranges Certain fields in this standard are defined to include “user private” ranges: • table_id values in the range 0x40 through 0xBF • MGT table_type values in the range 0x0400 through 0x0FFF Table sections with table_id values in the user private range (0x40 through 0xBF) shall not appear in transport packets identified with the base_PID PID value (0x1FFB), the base_PID-E PID value (0x1FF9)5, or the STT_PID_E value (0x1FF8). The MGT and the MGT-E may refer to private table sections with any value of table_id including values in the user private range. Refer to Section 6.2 for a discussion of the use of the MPEG-2 Registration Descriptor in the MGT. Refer to Section 6.11.1 for discussion and constraints that apply to the MGT-E. 4.4 Reserved Fields reserved — Fields in this PSIP Standard marked “reserved” shall not be assigned by the user, but shall be available for future use. Decoders are expected to disregard reserved fields for which no definition exists that is known to that unit. Each bit in the fields marked “reserved” shall be set to one until such time as it is defined and supported. 5 TABLE HIERARCHY AND STRUCTURE REQUIREMENTS The Program and System Information Protocol (PSIP) is a collection of hierarchically arranged tables for describing system information and program guide data. These tables are packetized and multiplexed according to the transport protocol detailed in ISO/IEC 13818-1[11]. The base PID (base_PID) is an explicitly defined value (0x1FFB) used to identify the TS packets for the following tables for terrestrial and cable systems6: • The System Time Table (STT) • Master Guide Table (MGT) • Rating Region Table (RRT) • Virtual Channel Table (VCT) • The optional Directed Channel Change Table (DCCT) • The optional Directed Channel Change Selection Code Table (DCCSCT) 5. Other restrictions on use of PID values exist in A/53 Part 3 [3] Section 6.9. 6. The ATSC DTV Standards do not define a Network Information Table (NIT) as specified in MPEG-2 Systems. The use of program_number 0x0000 in the PAT to point to the PSIP base_PID (0x1FFB) should be avoided as MPEG-2 Systems reserves this value for the network_PID, which in turn is used to identify the TS packets of a NIT. See A/53 Part 3 [3] for further details. 21 Advanced Television Systems Committee Document A/65:2009 Base_PID ST RRT DCCT DCCSCT MGT PID-K PID-L PID-M PID-N VCT EIT-0 EIT-1 EIT-2 EIT-3 For channel x source_id source_id source id source_id source_id For channel y source_id source_id source_id source id source_id Figure 5.1 Table hierarchy for the Program and System Information Protocol (PSIP). Several Event Information Tables (EIT) are also part of the PSIP data structures, with their PIDs explicitly defined in the MGT. Figure 5.1 illustrates the relations between these elements. As the name indicates, the System Time Table (STT) carries time information needed for any application requiring synchronization. The Rating Region Table (RRT) defines rating tables valid for different regions or countries. The Master Guide Table (MGT) defines sizes, PIDs, and version numbers for all of the relevant tables. The Virtual Channel Table (VCT) actually exists in two versions: one for terrestrial and a second one for cable applications. Its purpose is to tabulate virtual channel attributes required for navigation and tuning. The terrestrial and cable versions are similar in structure, with the latter redefining the semantics of some fields pertinent to cable operations. The optional Directed Channel Change Table carries requests for a receiver to switch to specified virtual channels at specified times under specified circumstances. The optional Directed Channel Change Selection Code Table permits extension of the basic genre category and location code tables defined here. Each of the Event Information Tables (EITs) lists TV programs (events) for the virtual channels described in the VCT. The EITs are sequentially and chronologically organized from 22 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 MGT PID-X PID-Y PID-Z PID-V ETT-0 ETT-1 ETT-2 ETT-V text message text message text message for EIT-0 for EIT-1 for EIT-2 text message for VCT Figure 5.2 Extended Text Tables (ETTs) defined to carry text messages for describing virtual channels and events. EIT-0 to EIT-127. The first table (EIT-0) corresponds to the currently valid list of events. The second table (EIT-1) corresponds to the next time window, and so on. During remultiplexing, EIT tables which originally existed in separate Transport Streams may be multiplexed into a common Transport Stream or vice-versa. For this reason, it is very convenient to synchronize the start times and durations of the EITs. Consequently, the next three synchronization rules shall be followed when EIT tables are prepared. • Requirement 1: Each EIT shall have a duration of 3 hours. • Requirement 2: Start times for EITs are restricted to 0:00 (midnight), 3:00, 6:00, 9:00, 12:00 (noon), 15:00, 18:00 and 21:00. All of these times are UTC. • Requirement 3: EIT-0 lists all of the available events for the current 3-hour time segment. EIT-1 lists all of the available events for the next 3-hour time segment, and likewise, non- overlapping sequential time windows are allocated for all of the other EITs. For example, a broadcast group operating in the Eastern time zone of the U.S. at 15:30 EDT (19:30 UTC) is required to carry EIT-0 describing events from 14:00 to 17:00 EDT (18:00 to 21:00 in UTC time) plus EIT-1, EIT-2, and EIT-3 covering the next 9-hour interval between 17:00 to 2:00 EDT. At 17:00 EDT, the first table, EIT-0, will be obsolete while EIT-1 will still be valid. At this time, simply by shifting the listed PID values in the MGT, EIT-1 becomes EIT-0 and EIT-2 becomes EIT-1. Updating tables then becomes a process of shifting the list of PIDs in the MGT and their corresponding version numbers. However, updates and/or corrections to the information in the EITs may be performed at any time since the decoder monitors the MGT continuously, where the most current copy of the version number is maintained. Updates and/or corrections to the EIT (other than shifting) shall be signaled by increasing the version number by one. Besides listing the PIDs for all of the EITs, the Master Guide Table (MGT) also lists a set of PIDs for Extended Text Tables (ETTs). The ETTs carry relatively long text messages for describing events and virtual channels. Each EIT has either zero or one associated ETT. Similarly, The VCT has either zero or one associated ETT. Figure 5.2 illustrates the concept. 5.1 Requirements for Terrestrial Broadcast The rules governing the transport of PSIP tables for terrestrial broadcast are: 23 Advanced Television Systems Committee Document A/65:2009 • Requirement 4: Every digital Transport Stream in terrestrial broadcast shall include the STT, the TVCT, the MGT, and the first four Event Information Tables (EIT-0, EIT-1, EIT-2 and EIT-3)7. The CVCT, all of the other EITs and the whole collection of ETTs may be present but are not required. An RRT defining the rating system for a given region shall be included in the TS if any content_advisory_descriptor in use refers to that region, unless that region has explicit standards that define the rating system and the meaning of the values in the content_advisory_descriptor. • Requirement 4E: When there is a service of service_type 0x02, service_type 0x03, or service_type 0x06 in the digital Transport Stream delivered via E-VSB (per A/53 Part 2 [2]) the transmission shall include the STT-E, TVCT-E, the MGT-E, and should include the first Event Information Table (EIT-0-E). • Requirement 5: The PSIP tables shall describe all of the digital channels multiplexed in the Transport Stream. For convenience, the tables may optionally include information about analog channels as well as other digital channels available in different Transport Streams. • Requirement 5E: The PSIP-E tables shall describe all services of service_type 0x02, service_type 0x03, or service_type 0x06 delivered via E-VSB (per A/53 Part 2 [2]). 5.2 Requirements for Cable The rules governing the transport of PSIP tables for cable are: • Requirement 6: The required tables for a cable system are: the STT,either the CVCT or the TVCT, and the MGT. For any region that makes use of the capability to change the RRT, that RRT shall be included in the TS if any content_advisory_descriptor in use refers to that region. An RRT defining the rating system for a given region shall be included in the TS if any content_advisory_descriptor in use refers to that region, unless that region has explicit standards that define the rating system and the meaning of the values in the content_advisory_descriptor. • Requirement 7: The PSIP tables shall describe all of the digital channels multiplexed in the Transport Stream. For convenience, the tables may optionally include information about analog channels as well as other digital channels available in different Transport Streams. 6 SPECIFICATIONS This section describes the bit stream syntax and semantics for the System Time Table (STT), Master Guide table (MGT), Virtual Channel Table (VCT), Rating Region Table (RRT), Event Information Table (EIT), Extended Text Table (ETT), the optional Directed Channel Change Table (DCCT), the optional Directed Channel Change Selection Code Table (DCCSCT), core descriptors, and the multiple string structure. 6.1 System Time Table (STT) The System Time Table provides the current date and time of day information. The following constraints apply to the Transport Stream packet carrying the STT: • PID for STT shall have the value 0x1FFB (base_PID) 7. Exception: test signals may or may not be included in EIT/ETT data. 24 Program and System Information Protocol for Terrestrial Broadcast and Cable 14 April 2009 • transport_scrambling_control bits shall have the value ‘00’ • adaptation_field_control bits shall have the value ‘01’ The bit stream syntax for the System Time Table shall be as shown in Table 6.1. Table 6.1 Bit Stream Syntax for the System Time Table Syntax No. of Bits Format system_time_table_section() { table_id 8 0xCD section_syntax_indicator 1 ‘1’ private_indicator 1 ‘1’ reserved 2 ‘11’ section_length 12 uimsbf table_id_extension 16 0x0000 reserved 2 ‘11’ version_number 5 ‘00000’ current_next_indicator 1 ‘1’ section_number 8 0x00 last_section_number 8 0x00 protocol_version 8 uimsbf system_time 32 uimsbf GPS_UTC_offset 8 uimsbf daylight_saving 16 uimsbf for (i=0; i