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/SCTE/ANSI SCTE 021 Standard for carriage of NTSC VBI data in cable digital transport streams (2006).pdf Like all conversions the text below should be fully readable as UTF-8 unicode text. --------------------------------------------------------------- ENGINEERING COMMITTEE Digital Video Subcommittee AMERICAN NATIONAL STANDARD ANSI/SCTE 21 2001R2006 STANDARD FOR CARRIAGE OF NTSC VBI DATA IN CABLE DIGITAL TRANSPORT STREAMS 1 NOTICE The Society of Cable Telecommunications Engineers (SCTE) Standards are intended to serve the public interest by providing specifications, test methods and procedures that promote uniformity of product, interchangeability and ultimately the long term reliability of broadband communications facilities. These documents shall not in any way preclude any member or nonmember of SCTE from manufacturing or selling products not conforming to such documents, nor shall the existence of such standards preclude their voluntary use by those other than SCTE members, whether used domestically or internationally. SCTE assumes no obligations or liability whatsoever to any party who may adopt the Standards. Such adopting party assumes all risks associated with adoption of these Standards or Recommended Practices, and accepts full responsibility for any damage and/or claims arising from the adoption of such Standards or Recommended Practices. Attention is called to the possibility that implementation of this standard may require use of subject matter covered by patent rights. By publication of this standard, no position is taken with respect to the existence or validity of any patent rights in connection therewith. SCTE shall not be responsible for identifying patents for which a license may be required or for conducting inquires into the legal validity or scope of those patents that are brought to its attention. Patent holders who believe that they hold patents which are essential to the implementation of this standard have been requested to provide information about those patents and any related licensing terms and conditions. Any such declarations made before or after publication of this document are available on the SCTE web site at http://www.scte.org. All Rights Reserved © Society of Cable Telecommunications Engineers, Inc. 140 Philips Road Exton, PA 19341 2 Contents 1. Introduction....................................................................................................................................... 5 1.1 Purpose ............................................................................................................................................. 5 1.2 Scope ................................................................................................................................................. 5 2. Applicable Documents .................................................................................................................... 6 3. Acronyms and Abbreviations ........................................................................................................ 7 4. Video User Data Extensions .......................................................................................................... 8 4.1 Use of Picture User Data .............................................................................................................. 8 4.2 Closed Captioning .......................................................................................................................... 8 4.3 Nielsen SID/AMOL Signals........................................................................................................... 9 4.4 Other VBI Standards ..................................................................................................................... 9 5. Picture User Data Syntactic Extensions .................................................................................. 10 5.1 Syntax Conventions and Definitions....................................................................................... 10 5.1.1 Method of Describing Bitstream Syntax ............................................................................. 10 5.1.2 Reserved, Forbidden & Marker Bits .................................................................................... 11 5.1.3 Mnemonics .................................................................................................................................. 12 5.1.4 Start Codes.................................................................................................................................. 12 5.1.5 Definition of Functions............................................................................................................ 12 5.2 Bitstream Ordering of Picture User Data .............................................................................. 12 5.3 Picture User Data Syntactic Extensions ................................................................................ 13 5.4 Additional EIA 608 Data ............................................................................................................. 14 5.5 Luminance PAM Data Structure .............................................................................................. 15 5.6 Picture User Data bandwidth…………………..…………………………………………………….19 3 List of Figures Figure 5-1. Next Start Code Function Syntax.............................................................................................12 Figure 5-2. Extensions to ATSC Picture User Data Syntax.........................................................................14 Figure 5-3. Additional EIA 608 Data Structure and Syntax......................................................................15 Figure 5-4. Luminance PAM Data Structure and Syntax.........................................................................16 Figure 5-1 Frequency Response of PRC Filter (Linear Scale) ...................................................................19 Figure 5-2 PRC Impulse Response.................................................................................................................19 List of Tables Table 5–1. Bitstream Data Elements and Conditions ...............................................................................10 Table 5-1. Field Number for Additional EIA 608 Data ...............................................................................15 Table 5-2. Field Number for Picture User Data ...........................................................................................17 Table 5-3. Bits Per Symbol Encoding ............................................................................................................17 Table 5-4. Pulse Shape...................................................................................................................................18 Table 5-5. PAM Alpha. ...................................................................................................................................19 4 1. Introduction 1.1 Purpose This document defines a standard for the carriage of Vertical Blanking Interval (VBI) services in MPEG-2 compliant bitstreams constructed in accordance with ISO/IEC 13818-2. The approach builds upon a data structure defined in the ATSC A/53 Digital Television Standard, and is designed to be backwards-compatible with that method. 1.2 Scope The sections in this standard describing video user data extensions to MPEG-2 are organized as follows: • Section 1—Provides an introduction • Section 2—Lists applicable documents • Section 3—Defines the acronyms and abbreviations used in this specification • Section 4—Provides an overview of the VBI services supported • Section 5—Specifies the video bitstream syntax and semantics for picture user data extensions 5 2. Applicable Documents The following documents may enhance the understanding of this specification: 1. Generic Coding of Moving Pictures and Associated Audio, ISO/IEC 13818-2: 1995 (E) International Standard (MPEG-2 Video). 2. Generic Coding of Moving Pictures and Associated Audio, ISO/IEC 13818-1, International Standard, November, 1994 (MPEG-2 Systems). 3. Characteristics of Systems for Monochrome and Colour Television, CCIR Report 624-4, 1990. 4. Encoding Parameters of Digital Television for Studios, CCIR Recommendation 601-2, 1990. 5. ATSC A/53, Digital Television Standard (1995). 6. Lewis, Boyd A. and Kempter P., AMOL Signal Specifications, Nielsen Engineering and Technology, January, 1994, Revision Level 1.1, Document Number ACN 403-1122-000. 7. Code of Federal Regulations, Title 47 (Telecommunication), Part 73, Section 699. 8. NTC Report No. 7, Video Facility Testing Technical Performance Objectives, 1976. 9. EIA-708-B, Digital Television (DTV) Closed Captioning October 1999. 10. ANSI/EIA-608-1994, Recommended Practice for Line 21 Data Service, September 1994. 11. AMOL Signal Specification, Nielsen Engineering and Technology, Document Number ACN 403-1122-000, Revision Level 1.4, January 16, 1995. 12. AMOL II Signal Specification, Nielsen Engineering and Technology, Document Number ACN 403-1193-024, Revision Level 3.2, May 19, 1995. 13. EIA-516, Joint EIA/CVCC Recommended Practice for Teletext: North American Basic Teletext Specification (NABTS), May 1988. 14. World System Teletext and Data Broadcasting System, Technical Specification, The Department of Trade and Industry, London, England, May 1987. 15. IEC-461, Time and Control Code for Video Tape Recorders (VITC), Publication 461, International Electrotechnical Commission, 1986. 16. SCTE DVS 157r1, SCTE Proposed Standard methods for carriage of closed captions and non real-time sampled video, March 1999. 6 3. Acronyms and Abbreviations ATSC Advanced Television Systems Committee AMOL Automated Measurement of Lineups bslbf bit string left bit first CCIR International Radio Consultative Committee EIA Electronic Industries Association FCC Federal Communications Commission IEC International Electrotechnical Commission ISO International Standards Organization LL Low Level lsb least significant bit ML Main Level MP Main Profile MPEG Moving Picture Experts Group msb most significant bit NTC Network Transmission Committee NTSC National Television System Committee PAL Phase Alternate Line PAM Pulse Amplitude Modulation SID Source Identification uimsbf unsigned integer most significant bit first VBI Vertical Blanking Interval VITC Vertical Interval Time Code VITS Vertical Interval Test Signal 7 DVS053r7 4. Video User Data Extensions The video user data extensions to the MPEG-2 syntax and semantics described in this standard provide a means to support a number of NTSC VBI services beyond those supported in the original ATSC A/53 standard. While the A/53 standard only supported carriage of EIA-608 closed caption data on line 21, the VBI enhancements defined in this standard extend support to include: a) EIA-608-compliant closed captioning for one or more VBI lines other than line 21 (Ref. [10]) b) Nielsen Source Identification (SID)/Automated Measurement Of Lineups (AMOL) signals (Ref. [11] and [12]) c) North American Basic Teletext per the EIA-516 NABTS Specification (Ref. [13]) d) World System Teletext (WST) (Ref. [14]) e) Vertical Interval Time Code (VITC) (Ref. [15]) 4.1 Use of Picture User Data The use of additional new data types within video user data is discouraged unless the data is inseparable from the video content and unlikely to be replaced or modified prior to decoder's passive receipt of this data. In other words, it shall not be necessary to process the data before reception in the decoder and no processing should be required after reception other than using it for NTSC waveform reconstruction in the decoder. The NTSC VBI data defined in this standard is an example of data that is by not any practical means separable from video and is unlikely to be replaced or modified. This type of VBI data is considered a part of the input video waveform that is digitized, compressed, transported, and reconstructed with an NTSC output (when the video mode is NTSC format). The VBI data encoded in video user data syntax is carried only to allow reconstruction at a receiver of the full original NTSC waveform as it was input to the MPEG-2 encoder. In all other cases, applications residing in digital receivers should receive their pertinent data via elementary stream components of a digital service (i.e. via separate PID streams) and must not rely on the user data structure. 4.2 Closed Captioning Many television services carry closed caption information in line 21, field 1 of the VBI. According to the EIA-608 standard, closed caption data may also be carried in line 21 of field 2. Certain system service providers use the EIA-608 closed caption format to carry additional data in VBI lines other than line 21. The user data syntactic constructs described in this document allow multiple VBI lines per display field, including the standard line 21 closed caption usage. 8 July 11, 2000 4.3 Nielsen SID/AMOL Signals AMOL encoding places information in the VBI and includes a SID code and a date/time stamp. It is used by broadcasters to verify that programs or commercials air at the intended times. VBI user data syntactic constructs support one or more VBI lines for this purpose. 4.4 Other VBI Standards The encoding method described in this standard is applicable to VBI standards in addition to those mentioned here because it is a general purpose method for representing a basic VBI waveform. Most standards in current use use two-level luminance encoding, however this standard accommodates multi-level pulse-amplitude modulation (PAM) coding as well. The technique is applicable to both PAL and NTSC. If the MPEG-2 video syntax carried a video program in PAL format, the syntax described here can be used as-is to carry VBI data and reconstruct a PAL standard video waveform. 9 5. Picture User Data Syntactic Extensions The method used in this document for describing video bitstream syntax is the same as that used in the MPEG-2 International Standard, ISO/IEC 13818-2. The syntactic extensions to MPEG-2 Main Profile at Main Level operation for VBI services are implemented using the picture user data syntax defined in subsection 5.2. 5.1 Syntax Conventions and Definitions 5.1.1 Method of Describing Bitstream Syntax Those ISO/IEC 13818-2 conventions and definitions that appear in VBI user data syntax are reviewed in the remainder of this subsection. As exemplified in Table 5–1, this syntax resembles C-code and uses the convention that a variable or expression evaluating to a non-zero value is equivalent to a condition that is true. Table 5–1. Bitstream Data Elements and Conditions while ( condition ) { If the condition is true, then the group of data elements data_element occurs next in the data stream. This repeats until the ... condition is not true. } do { data_element The data element always occurs at least once. ... } while ( condition ) The data element is repeated until the condition is not true. if ( condition) { If the condition is true, then the first group of data data_element elements occurs next in the data stream. ... } else { If the condition is not true, then the second group of data data_element elements occurs next in the data stream. ... } for ( i = 0; i < n; i++) { The group of data elements occurs n times. Conditional data_element constructs within the group of data elements may depend ... on the value of the loop control variable i, which is set to } zero for the first occurrence, incremented to one for the second occurrence, and so forth. /* comment ... */ Explanatory comment that may be deleted entirely without in any way altering the syntax. 10 Each data item in the bitstream appears in bold type and is described by its name, its length in bits, and a mnemonic for its type and order of transmission. The action caused by a decoded data element in a bitstream depends on the value of that data element and on data elements previously decoded. The constructs in normal type in the above table are used to express the conditions when data elements are present. A group of data elements may contain nested conditional constructs. For compactness, the { } are omitted when only one data element follows. Array data is represented as follows: data_element[n] the n+1th element of an array of data data_element[m][n] the m+1, n+1th element of a two-dimensional array of data While the syntax descriptions given in this document are expressed in procedural terms, it should not be assumed that subsection 5.2 implements a satisfactory decoding procedure. In particular, it defines a correct and error-free input bitstream for compatible encoders. Actual decoders must include means to look for start codes in order to begin decoding correctly, and to identify errors, erasures and insertions while decoding. Neither the methods to identify these situations nor the actions to be taken are specified in this document. 5.1.2 Reserved, Forbidden & Marker Bits The terms reserved and forbidden are used in the description of some values of several fields in the coded bitstream. reserved—Indicates that the value may be used in the future for ISO/IEC-defined extensions. forbidden—Indicates a value that shall never be used (usually in order to avoid emulation of start codes). marker_bit—Indicates a one-bit field in which the value zero is forbidden. These marker bits are introduced at several points in the syntax to avoid start code emulation. Operators + Addition. - Subtraction (as a binary operator) or negation (as a unary operator). ++ Increment. -- Decrement. > Greater than. >= Greater than or equal to. < Less than. <= Less than or equal to. == Equal to. != Not equal to. = Assignment operator. 11 DVS053r7 5.1.3 Mnemonics The following mnemonics are defined to describe the different data types used in the user data syntax described in subsection 5.2: bslbf—Bit string, left bit first, where “left” is the order in which bit strings are written in the specification. Bit strings are written as a string of 1s and 0s within single quote marks, e.g. ‘1000 0001’. Blanks within a bit string are for ease of reading and have no significance. uimsbf—Unsigned integer, most significant bit first. 5.1.4 Start Codes Start codes are specific bit patterns that do not otherwise occur in the video stream. Each start code consists of the 24-bit start code prefix string ‘0000 0000 0000 0000 0000 0001’ followed by an 8-bit integer that identifies the type of start code as described in ISO/IEC 13818-2. Start codes are always byte aligned, and may be preceded by any number of zero stuffing bits. 5.1.5 Definition of Functions The following utility functions for picture coding algorithms are defined:. bytealigned() returns 1 if the next bit in the bitstream is the first bit in a byte. Otherwise it returns 0. nextbits() permits comparison of a bit string with the next bits to be decoded in the bitstream. next_start_code() removes any zero bit and zero byte stuffing and locates the next start code as defined in Figure 5-1. No. of bits Mnemonic next_start_code() { while ( !bytealigned() ) 1 0 zero_bit while ( nextbits() != '0000 0000 0000 0000 0000 0001' ) 8 0000 0000 zero_byte } Figure 5-1. Next Start Code Function Syntax 5.2 Bitstream Ordering of Picture User Data In order to comply with this standard, an encoder shall satisfy all the following general requirements with regard to VBI data: 1. The picture user data shall be packed in decode order, storing the VBI data to be reconstructed from a given picture in the picture user data of the same picture. 2. The VBI data for the repeated field shall be transported with the picture that transports the video data for the field to be repeated. 12 July 11, 2000 3. For a given picture and VBI data type, all the VBI data for the first display field shall be followed by all the VBI data for the second display field followed by all the VBI data for the third (repeated) display field, if present. Also, for a given picture, VBI data type, and field, all the VBI data for the first line shall be followed by all the VBI data for the second line, etc.1 4. The encoder shall send no more than one picture user data construct using the same user_data_type_code after any given picture header. 5.3 Picture User Data Syntactic Extensions The picture user data syntax to support VBI services is shown in Figure 5-4, where non-shaded cells highlight syntactic extensions to the ATSC syntax described in Ref. [5]. Support for reconstruction of EIA-608 captions for insertion into the NTSC VBI by receivers that provide this function using DVS 157 (Ref.[16]), requires dual carriage of EIA-608 captions using the ATSC syntax described in Ref.[5] (user_data_type_code value of 0x03 and cc_type values of ‘00’ or ‘01’) and DVS 157. As shown, the ATSC syntax is extensible via the definition of additional user_data_type_code values. This standard defines type code value 0x04 as additional_EIA_608_data() and type code value 0x05 as luma_PAM_data(). The following sections define these data structures. 1 As an example, a three-field film-mode picture with a f2,f1,f2 display order and closed captions on lines 14, 16, and 21 of field 2 and lines 15 and 21 of field 1 shall be sent in order: d1-14, d1-16, d1-21, d2-15, d2-21, d3-14, d3-16, d3-21, where f1 is the odd field, f2 is the even field, d1 is the first display field, d2 is the second display field, and d3 is the third display field. 13 DVS053r7 No. of bits Mnemonic user_data( ) { user_data_start_code 32 bslbf ATSC_identifier 32 bslbf user_data_type_code 8 uimsbf if (user_data_type_code == ‘0x03’) { process_em_data_flag 1 bslbf process_cc_data_flag 1 bslbf additional_data_flag 1 bslbf cc_count 5 uimsbf em_data 8 bslbf for ( i=0 ; i < cc_count ; i++ ) { marker_bits 5 ‘1 1111’ cc_valid 1 bslbf cc_type 2 bslbf cc_data_1 8 bslbf cc_data_2 8 bslbf } marker_bits 8 ‘1111 1111’ if (additional_data_flag) { while( nextbits() != ‘0000 0000 0000 0000 0000 0001’ ) { additional_user_data } } } else if (user_data_type_code == ‘0x04’) additional_EIA_608_data() else if (user_data_type_code == ‘0x05’) luma_PAM_data() else ATSC_reserved_user_data next_start_code() } Figure 5-2. Extensions to ATSC Picture User Data Syntax 5.4 Additional EIA 608 Data Figure 5-3 defines the additional_EIA_608_data() data structure. 14 July 11, 2000 additional_EIA_608_data() { marker_bits 3 ‘111’ additional_cc_count 5 uimsbf for ( i=0 ; i < additional_cc_count ; i++ ) { additional_cc_valid 1 bslbf additional_cc_line_offset 5 uimsbf additional_cc_field_number 2 uimsbf additional_cc_data_1 8 bslbf additional_cc_data_2 8 bslbf } while( nextbits() != ‘0000 0000 0000 0000 0000 0001’ ) additional_type_4_data 8 } Figure 5-3. Additional EIA 608 Data Structure and Syntax additional_cc_count—A five-bit integer (values in the range [1:31]) indicating the number of lines of EIA 608 to be defined following the field. All such constructs must occur in the intended display order, assuming an interlaced display line and field display order. additional_cc_valid—A Boolean flag that indicates, when set, that the two bytes of additional closed caption data to follow are valid. When the flag is false, the data shall be ignored by the decoder. The additional_cc_valid flag may be set to zero to create a place-holder for closed caption data to be inserted into the digital multiplex downstream from the encoder. additional_cc_line_offset—A five-bit integer (values in the range [1:31]) giving the offset in lines from which the EIA 608 closed caption data originated relative to the base VBI frame line (line 9 of 525-line [NTSC and PAL/M] field 1, line 272 of 525-line field 2, line 5 of 625-line [all PAL except PAL/M] field 1, and line 318 of 625-line field 2), as specified in CCIR Report 624-4. additional_cc_field_number—The number of the field, in display order, from which the EIA 608 data originated, interpreted in the following Table. Table 5-1. Field Number for Additional EIA 608 Data additional_cc_ Meaning field_number 00 Forbidden 01 1st display field 10 2nd display field 11 3rd display field (the repeated field in film mode). additional_cc_data_1—The first 8-bit byte of EIA 608 closed caption data to be reconstructed on the line identified by additional_cc_line_offset within the field identified by additional_cc_field_number. additional_cc_data_2—The second 8-bit byte of EIA 608 closed caption data to be reconstructed. additional_type_4_data—Reserved for future use by ATSC. 5.5 Luminance PAM Data Structure Figure 5-4 defines the luma_PAM_data() structure. 15 DVS053r7 luma_PAM_data() { marker_bits 3 ‘111’ luma_PAM_count 5 uimsbf for (i=0 ; i