TechTip - Closed Captioning Formats
Closed Captioning Formats
PixelTools Closed Captioning stand alone applications and SDKs have supported a wide variety of closed captioning formats as they were developed throughout the history of closed captioning. Current products include support for historical formats in addition to the latest specifications.
Broadcast Closed Captioning was initially defined by the Consumer Electronics Association in the 1970s in their CEA-608 specification. The caption data was to be transmitted to the user’s analog TV sets in one of the unused bandwidth retrace lines (Line 21). Digital broadcast does not have unused digital bandwidth IE there is no unused Line 21. Before the ATSC digital specification that defined how closed captioning would be carried in the digital broadcast’s user_data, manufactures of analog video digital capture cards simply digitized the analog Line 21 captions, added an additional 16 horizontal lines to each digital video frame, and added the digital caption line to one of the 16 lines. Currently closed captions are carried in MPEG user_data and in AVC SEI headers.
As MPEG became used for broadcasting, several organizations defined different formats for how MPEG user_data would hold closed captioning. Consumer Electronics Association (CEA), Advanced Television Systems Committee (ATSC), the Society of Cable Telecommunications Engineers (SCTE), Digital Versatile Disk (DVD) consortium, and even the C-Cube corporation (the first company to develop an MPEG chip) defined somewhat competing specifications.
PixelTools products support the captioning formats from analog through the latest ATSC / CEA-708 format.
Closed Captioning Format
The Closed Captioning Format selection in PixelTools products controls the actual formatting of the closed captioning text and commands that are inserted into the MPEG user data and controls the specific user data locations. The Format selection control is located in the Decode | Configure | Fix Stream dialog in Expert-Caption and MPEGRepairHD. The Captioning Format is set in the Encode section of MPEGRepairHD in the Configure | Line 21 dialog for video encoding.
The following Closed Captioning format options are available:
CEA 708 DTV
This option inserts only the Digital TV 708 characters into the stream. No backwards compatible 608 (NTSC) characters are inserted. If the caption source is a .SCC file IE CEA-608, PixelTools code generates and inserts the CEA-708 controls and characters to emulate the CEA-608 closed captioning rendering.
This option causes up to eighteen closed captioning characters to be inserted into picture header user_data fields or SEI headers in display order. When converting text to CEA-708 data, DTV Window 0 will be initialized and enabled. Your closed captioning text will be written to this window at the specified frame or time code.
Analyzing the actual user data using the MPEGRepairHD Decode Statistics window will show Picture user data that will start with the Hex values: 47 41 39 34
CEA 708 NTSC
This option inserts only the two backward compatible CEA-608 NTSC characters into each CEA-708 data packet. No DTV 708 data is inserted into the stream. If the caption source is a .SCC file IE CEA-608, PixelTools code generates and inserts the CEA-708 controls and characters to emulate the CEA-608 closed captioning rendering.
This option causes up to two closed captioning characters to be inserted into picture header user_data fields in display order. These bytes are added to the NTSC channel in the field per the Closed Captioning Style selection. This channel was designated by the CEA to facilitate legacy closed caption processing in CEA-708 systems.
Analyzing the actual user data using the MPEGRepairHD Decode Statistics window will show Picture user data that will start with the Hex values: 47 41 39 34
CEA 708 DTV & NTSC (default)
This option inserts both 708 DTV captioning data and the backward compatible 608 NTSC data into the user_data or SEI headers.
This option causes up to eighteen closed captioning characters to be inserted into picture header user data fields in display order and up to two closed captioning characters to be added to the NTSC channel in your selected field. When converting text to CEA-708 data, DTV Window 0 will be initialized and enabled. Your closed captioning text will be written to this window at the specified time. This option causes the same closed captioning text to be written to both the CEA-708 window and the NTSC channels.
Analyzing the actual user data using the MPEGRepairHD Decode Statistics window will show Picture user data that will start with the Hex values: 47 41 39 34.
CEA 608
This is an older option that just writes the two NTSC CEA-608 data pairs to the user_data or SEI.
This option causes up to two closed captioning characters to be inserted into picture header user data fields in transmission order. The characters will be entered into the Field 1 or Field 2 closed captioning field per your Closed Captioning Style selection.
Analyzing the actual user data using the MPEGRepairHD Decode Statistics window will show Picture user data that will start with the Hex values: 02 09
ATSC / CEA 608
This is an older option that just writes the NTSC CEA-608 data pairs to the start of the CEA-708 packet.
This option causes up to two closed captioning characters to be inserted into picture header user data fields in display order. The data formatted per CEA-608 and is wrapped in a SCTE-21 and ATSC header. The characters will be entered into the Field 1 or Field 2 closed captioning fields per your Closed Captioning Style selection.
Analyzing the actual user data using the MPEGRepairHD Decode Statistics window will show Picture user data that will start with the Hex values: 47 41 39 34
DVD
This option causes NTSC captioning data to be written into MPEG user_data in a format defined for DVDs.
This option causes up to 30 closed captioning characters to be inserted into GOP header user data fields. The first set of user data will be inserted at the first GOP at or after the Frame number or time code set in the EDL or DDL file. The remaining user data (over the 30 character per GOP limit) will be inserted in subsequent GOP headers. The characters will be entered into the Field 1 or Field 2 closed captioning field per your Closed Captioning Style selection.
Analyzing the actual user data using the MPEGRepairHD Decode Statistics window will show user data at EVERY GOP header that will start with the Hex values: 43 43 01 f8 9e. The GOP headers will contain the closed captioning data or will contain NULL data.
SCTE 20
This is an older option designed for support of satellite broadcasts.
This option causes up to two closed captioning characters to be inserted into picture header user data fields in display order. The data formatted per CEA-608 is inserted per the ANSI/SCTE 20 standard. The two captioning characters are not byte aligned and so will not be immediately recognizable when extracted in the MPEGRepairHD decode statistics. The characters will be entered into the Field 1 or Field 2 closed captioning fields per your Closed Captioning Style selection.
Analyzing the actual user data using the MPEGRepairHD Decode Statistics window will show 7 bytes of user_data in the Picture Headers that will start with the Hex values: 03 81.
Analog
This option emulates the line 21 of analog broadcasting by inserting a synchronization signal followed by two characters. The signal is visible in the video and shows up as a line containing black and white segments.
This option inserts up to a pair of captioning characters into a user defined line of video as defined in CEA-608. This option is available only during encoding. You must select the actual line that the analog captions will be embedded in. It is often line 28 and not 21 as is the case with analog TV. This line number is set in Decode | Configure | Fix Stream options of MPEGRepairHD
Open Captions
This option renders the actual text and overlays the text in the frames before encoding. This option is available only during encoding. The text is taken from the .SCC file, .SRT file, or any supported captioning format.
Closed Captioning Samples
There are a large number of methods for adding closed captioning to MPEG video files. PixelTools currently supports seven different closed caption insertion specifications.
You can download sample files containing captioning encoded with all of the formats that we support.
CEA 708 DTV User moveable and re-sizable captioning for HDTV (cea708dtv.mpg)
CEA 708 NTSC Backward compatible CEA-608 captioning in CEA 708 (cea708ntsc.mpg)
CEA 708 DTV & NTSC Both CEA 608 and HDTV captioning (cea708.mpg)
SCTE 20 CEA-608 captioning in a SCTE-20 wrapper (scte20.mpg)
ATSC/CEA 608 CEA-608 captioning in an ATSC wrapper (atsc.mpg)
CEA 608 (also known as Divicom standard) CEA-608 captioning in user data (cea.mpg)
DVD Line 21 CEA 608 captioning that can be decoded by the set top (These captions are in addition to
any DVD subtitles that are decoded by the DVD player itself) (dvd.mpg)
Let us know if we can help or request a free demo of our products. View our products features at a glance.
Visit our products page and check out at our PixelTools Store to purchase any of our products
MPEGRepairHD and ExpertHD are trademarks of PixelTools Corporation. All other brand names are trademarks or registered trademarks of their respected holders.
Thank you for your interest in PixelTools