1、 ANSI/CEA Standard Digital Television (DTV) Closed Captioning: 3D Extensions ANSI/CEA- 708.1 October 2012 NOTICE Consumer Electronics Association (CEA) Standards, Bulletins and other technical publications are designed to serve the public interest through eliminating misunderstandings between manufa
2、cturers and purchasers, facilitating interchangeability and improvement of products, and assisting the purchaser in selecting and obtaining with minimum delay the proper product for his particular need. Existence of such Standards, Bulletins and other technical publications shall not in any respect
3、preclude any member or nonmember of CEA from manufacturing or selling products not conforming to such Standards, Bulletins or other technical publications, nor shall the existence of such Standards, Bulletins and other technical publications preclude their voluntary use by those other than CEA membe
4、rs, whether the standard is to be used either domestically or internationally. Standards, Bulletins and other technical publications are adopted by CEA in accordance with the American National Standards Institute (ANSI) patent policy. By such action, CEA does not assume any liability to any patent o
5、wner, nor does it assume any obligation whatever to parties adopting the Standard, Bulletin or other technical publication. Note: The users 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 stand
6、ard, no position is taken with respect to the validity of this claim or of any patent rights in connection therewith. The patent holder has, however, filed a statement of willingness to grant a license under these rights on reasonable and nondiscriminatory terms and conditions to applicants desiring
7、 to obtain such a license. Details may be obtained from the publisher. This document does not purport to address all safety problems associated with its use or all applicable regulatory requirements. It is the responsibility of the user of this document to establish appropriate safety and health pra
8、ctices and to determine the applicability of regulatory limitations before its use. This document is copyrighted by the Consumer Electronics Association (CEA) and may not be reproduced, in whole or part, without written permission. Federal copyright law prohibits unauthorized reproduction of this do
9、cument by any means. Organizations may obtain permission to reproduce a limited number of copies by entering into a license agreement. Requests to reproduce text, data, charts, figures or other material should be made to CEA. (Formulated under the cognizance of the CEA R4.3 Television Data Systems S
10、ubcommittee.) Published by CONSUMER ELECTRONICS ASSOCIATION 2012 Technology Phone 800-854-7179; Fax 303-397-2740; Internet http:/; Email 2.2 Definitions For the purposes of this standard, the following definition applies: disparity difference between the horizontal positions of a pixel representing
11、 the same point in space in the right and left views. 1 Variable-length commands are defined in CEA-708 1 Sec. 7.1.11.2. 2 Code space organization is defined in CEA-708 1 Sec. 7.1. CEA-708.1 2 Note: Positive disparity (horizontal right coordinate greater than horizontal left coordinate) creates a pe
12、rception of a position behind the plane of display, and negative disparity creates a perception of a position in front of the display. 2.3 Symbols, Abbreviations and Acronyms EXT1 Character code 0x10, as specified in CEA-708 1. 2.4 Compliance Notation As used in this document “shall” and “must” deno
13、te mandatory provisions of the standard. “Should” denotes a provision that is recommended but not mandatory. “May” denotes a feature whose presence does not preclude compliance, and implementation of which is optional. “Optional” denotes items that may or may not be present in a compliant device. 3
14、Caption Disparity Data The following sections specify the delivery of caption disparity data for use with CEA-708 caption services. Standard and Extended services shall be as defined in CEA-708 1. 3.1 Adjunct Service Caption disparity data for a given caption service shall be delivered in an “Adjunc
15、t Service.” An Adjunct Service shall be considered to be a caption service that provides additional commands and data for the caption service it is associated with. In CEA-708.1, Adjunct Service data to support 3D captioning shall be delivered in Standard caption service #6. Commands and data transp
16、orted in Standard service #6 are considered to be effectively part of other identified services. Decoders processing closed caption commands for display on 3D video are expected to parse the Adjunct Service in Standard service #6 in addition to the selected Standard service #1-6 in order to access c
17、ommands and data needed for 3D rendering. 3.2 SET DEPTH Name: SetDepth - Specify disparity for 3D captioning Format: Variable-length Command Coding: b7 b6 b5 b4 b3 b2 b1 b0 0 0 0 1 0 0 0 0 EXT1 1 0 0 1 0 SL2 SL1 SL0 91h-96h 1 1 0 L4 L3 L2 L1 L0 caption_disparity_data() (variable length) Description:
18、 Caption disparity data shall be transported in a SetDepth command within an Adjunct Service transported in Standard service #6 using the syntax and semantics defined below. Each instance of the SetDepth command specifies the amount of horizontal offset between the left- and right-eye views (dispari
19、ty) for one (or all) caption windows when captioning is used with stereoscopic 3D programming. Parameters: Service Linkage (SL) is a 3-bit unsigned integer in the range 1 to 6 that shall indicate the Standard caption service this SetDepth command is CEA-708.1 3 associated with. EXT1- 0x91 indicates
20、the SetDepth command provides disparity data for Standard caption service #1, EXT1- 0x92 indicates the SetDepth command provides disparity data for Standard caption service #2, and so on. Length (L) is an unsigned integer that shall indicate the number of bytes following the header, in the range 2 t
21、o 27. 3.3 Caption Disparity Data The syntax of caption_disparity_data() shall be as shown in Table 1. No. of bits Format No. of Bytes caption_disparity_data() all_windows 1 bslbf 2 caption_window_id 3 uimsbf temporal_extension_flag 1 bslbf reserved 2 11 starting_disparity 9 simsbf if (temporal_exten
22、sion_flag) alternate_disparity 9 simsbf 2 reserved 3 111 segment_count 4 uimsbf for (k=0; ksegment_count; k+) frame_count 6 uimsbf 1.5 reserved 1 1 segment_slope_change 5 simsbf if (segment_count % 2)=1 reserved 4 1111 (0.5) Table 1 Caption Disparity Data Syntax all_windows a 1-bit flag that, when s
23、et to 1, shall indicate that the disparity data applies to all caption windows. When the flag is set to 0, the disparity data applies to the caption window identified in caption_window_id. caption_window_id a 3-bit unsigned integer that, when all_windows is set to 0, shall identify the Window ID in
24、the corresponding service for which disparity data is being given. When all_windows is set to 1, caption_window_id shall have no meaning. temporal_extension_flag a 1-bit flag that, when set to “1”, shall indicate data is included that identifies a time-varying disparity path. When set to “0” the fla
25、g shall indicate that the last field present in the command is starting_disparity. starting_disparity a 9-bit 2s complement signed integer that shall indicate the disparity value of the associated caption window,given in caption_window_id, relative to 1920 horizontal units. Value zero shall referenc
26、e the screen plane. Negative values shall indicate depths in front of the screen plane. Positive values shall indicate depths behind the screen plane. The starting_disparity value indicates the CEA-708.1 4 value of disparity to apply immediately upon reception of the command. Motion along a temporal
27、 path, if provided, shall start at this disparity at the time the command is executed. alternate_disparity a 9-bit 2s complement signed integer that shall be coded the same as starting_disparity. The alternate_disparity value is intended for use by decoders that are not able to render time-varying c
28、aption window paths. The alternate_disparity shall specify a constant disparity value applicable to the display of the current instance of the associated caption window(s). The alternate_disparity is typically authored to specify a disparity value that is the closest point to the viewer (most negati
29、ve) of any point along the piecewise-linear path. segment_count a 4-bit unsigned integer in the range 1 to 15 that shall indicate the number of segments to follow. frame_count a 6-bit unsigned integer in the range 0 to 63 that shall indicate the number of time increments, each having a duration of (
30、1001/30) milliseconds, that occur prior to the application of the segment_slope_change field directly following. segment_slope_change a 5-bit 2s complement signed integer in the range -16 to +15 that shall indicate the amount of change in slope to apply at the increment indicated in frame_count. Slo
31、pes are specified in number of units of disparity over 32 frames. A slope value of zero shall be assumed at the starting point of the time-varying path. 3.4 Time-varying Disparity Example Caption disparity data that changes over time may be specified by use of the temporal extension syntax. Figure 1
32、 shows the time line resulting from the following sequence of frame_count and segment_slope_change parameters: (2,-7),(10,-9),(8,+9),(10,+7). Figure 1 Time-varying Disparity Example The slope of the disparity curve always starts at zero. In the example, after two frames, the slope changes to -7 disp
33、arity units per 32 frames. After 10 frames, it changes again to 16 disparity units per 32 frames. Eight frames later it changes back to -7, and 10 frames after that it changes back to zero. Figure 1 shows the computed disparity value at each breakpoint, assuming the starting value of starting_dispar
34、ity to be 0. 3 2 f r a m e s1 0 f r a m e s3 2 f r a m e s1 6 p i x .3 2 f r a m e s7 p i x.D i s p a r i t y = ( - 7 / 3 2 ) * 1 0= - 7 0 / 3 2 = - 2 3/1 6= - 2 . 1 8 7 51 0 f r a m e s8 f r a m e sD i s p a r i t y = ( - 7 0 / 3 2 ) + ( ( - 7 - 9 ) / 3 2 ) * 8= ( - 7 0 / 3 2 ) + ( ( - 1 6 / 3 2 )
35、* 8 ) = ( - 7 0 / 3 2 ) + ( - 1 2 8 / 3 2 )= - 1 9 8 / 3 2 = - 6 3/1 6= - 6 . 1 8 7 5D i s p a r i t y = ( - 1 9 8 / 3 2 ) + ( ( - 7 - 9 + 9 ) / 3 2 ) * 1 0= ( - 1 9 8 / 3 2 ) + ( ( - 7 / 3 2 ) * 1 0 ) = ( - 1 9 8 / 3 2 ) + ( - 7 0 / 3 2 )= - 2 6 8 / 3 2 = - 81 2/3 2= - 83/8= - 8 . 3 7 5S = - 7S = -
36、 1 6S = - 7S = 0S = 0Disparity0T i m e ( f r a m e s )7 p i x.CEA-708.1 5 3.5 Proper Order of Inclusion of Disparity Data CEA-708 1 Section 8.11 discusses recommended command sequences for roll-up, paint-on, and pop-on style captioning. For captioning of 3D content, it is recommended to include a Se
37、tDepth command immediately following the DefineWindow command within the sequence. This recommendation applies to any of the three captioning styles. 3.6 Description and Use of Alternate Disparity As described below in Annex A, caption decoders in receivers may vary in their capability to process th
38、e SetDepth command defined in CEA-708.1. While all decoders are expected to parse the entire command properly, lower-end units may not implement a full feature set. In particular, some implementations may not have the computational power in their processing or graphics engines to move a caption wind
39、ow smoothly in depth over time according to the temporal extension data provided in the command. Such an implementation is called a “limited-capability” decoder in Annex A. This section describes the purpose of the alternate_disparity parameter and provides an illustrative example. The author of 3D
40、captioning data must ensure that the z-axis position of each caption window is positioned comfortably in front of any object in the scene during the entire time that window is visible. If, due to an incorrect disparity setting, an object in the scene is perceived to be in front of the caption window
41、, a “depth violation” occurs and the 3D effect is broken. In view of the likely presence of some limited-capability receivers, the caption author must formulate the SetDepth command such that the viewing optimum experience is afforded to all decoder types. To accommodate limited-capability receivers
42、, the caption author uses alternate_disparity to set the z-axis position of each caption window such that it stays in front of objects in the scene during the full duration of display of that window. To stay “in front” typically means that the value of disparity used for alternate_disparity correspo
43、nds to the most-negative value of disparity of any point on the temporal curve delivered for the benefit of the fully-capable receivers. Figure 2 Alternate Disparity Example Figure 2 illustrates a SetDepth command which specifies both a temporal curve and a value of alternate_disparity. It should be
44、 noted that the caption author has chosen a value for alternate_disparity that corresponds to the most-negative value of disparity occurring during the duration of the caption window. In this example, the author could have safely chosen a value for alternate_disparity slightly less negative than the
45、 most-negative peak of the temporal path, if desired. DisparityT i m e0A l t e r n a t e D i s p a r i t yT e m p o r a l P a t hO b j e c t s i n S c e n e+CEA-708.1 6 ANNEX A Decoder Performance Levels (informative) It is anticipated that not all decoders will have the same level of capabilities r
46、elative to interpreting the SetDepth command. The cases below present various levels of performance. For the purposes of this annex, the following definition applies: 3D Rendering: The left and right views of the caption window are rendered at a total displacement from one another of a number of uni
47、ts of disparity given in the given disparity value, relative to a 1920-unit horizontal grid. Both views should be displaced from the nominal (2D) placement of the caption window by an approximately equal amount (within one pixel). A.1 Full-Capability Decoder The full-capability decoder is expected t
48、o render the SetDepth command as follows: a. When temporal_extension_flag is 0 (no temporal extension is present), the left and right views of the associated caption window are rendered with 3D Rendering using starting_disparity as the disparity value. b. When temporal_extension_flag is 1 (temporal
49、extension is present), the left and right views are rendered using 3D Rendering, with a disparity value that starts at starting_disparity and that changes frame-by-frame to follow the path defined by the line segments given in the command. The z-axis motion of the caption window is synchronized to begin when the caption window changes to the “visible” state, or if already visible, when the SetDepth command is received. The disparity at each frame is computed pr