1、 Copyright 2013 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 Approved June 6, 2013 Table of Contents Page Foreword . 2 Intellectual Property 2 1 Scope 3 2 Conformance Notation 3 3 Normative References 3 4 Definition of Acronyms, Ter
2、ms and Data Types . 4 5 General 4 5.1 Header Metadata . 4 6 Essence Descriptors . 6 6.1 Event Text Descriptor . 7 6.2 STL Descriptor . 7 6.3 STL SubDescriptor . 8 7 Generic Stream Partition Pack 9 7.1 Generic Stream Partition Pack Key . 9 7.2 Generic Stream Partition Pack Length . 9 7.3 Generic Stre
3、am Partition Pack Value 9 8 Generic Stream Data Element Coding 10 8.1 Generic Stream Data Element Key 10 8.2 Generic Stream Data Element Length . 10 8.3 Generic Stream Data Element Value . 10 9 Essence Container Data . 11 10 STL Instances Outside the MXF File (External Essence) . 11 Annex A Bibliogr
4、aphy (Informative) 12 Annex B Use cases (Informative) . 13 B.1 Use Case 1 (Alignment Signals are not present inside the MXF File) 13 B.2 Use Case 2 (Alignment Signals are present inside the MXF File) 13 B.3 Values for Start Timecode and STL Reference Point Timecode 14 Page 1 of 14 pages SMPTE ST 207
5、5:2013 SMPTE STANDARD Mapping EBU TECH 3264 (STL) into the MXF Generic Stream Container SMPTE ST 2075:2013 Page 2 of 14 pages Foreword SMPTE (the Society of Motion Picture and Television Engineers) is an internationally-recognized standards developing organization. Headquartered and incorporated in
6、the United States of America, SMPTE has members in over 80 countries on six continents. SMPTEs Engineering Documents, including Standards, Recommended Practices, and Engineering Guidelines, are prepared by SMPTEs Technology Committees. Participation in these Committees is open to all with a bona fid
7、e interest in their work. SMPTE cooperates closely with other standards-developing organizations, including ISO, IEC and ITU. SMPTE Engineering Documents are drafted in accordance with the rules given in Part XIII of its Operations Manual. SMPTE ST 2075 was prepared by Technology Committee 31FS. Int
8、ellectual Property At the time of publication no notice had been received by SMPTE claiming patent rights essential to the implementation of this Standard. However, attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. SMPTE shall not b
9、e held responsible for identifying any or all such patent rights. SMPTE ST 2075:2013 Page 3 of 14 pages 1 Scope This document provides the specification on how to carry binary EBU TECH 3264 (STL) files into the MXF Generic Stream Container using the MXF Generic Stream Partition defined in SMPTE ST 4
10、10. This document specifies the Generic Stream Partition Pack, Generic Stream Data Element KLV coding and Essence Descriptors for STL files. The document also defines how to link to STL essence which is external to an MXF file. 2 Conformance Notation Normative text is text that describes elements of
11、 the design that are indispensable or contains the conformance language keywords: “shall“, “should“, or “may“. Informative text is text that is potentially helpful to the user, but not indispensable, and can be removed, changed, or added editorially without affecting interoperability. Informative te
12、xt does not contain any conformance keywords. All text in this document is, by default, normative, except: the Introduction, any section explicitly labeled as “Informative“ or individual paragraphs that start with “Note: The keywords “shall“ and “shall not“ indicate requirements strictly to be follo
13、wed in order to conform to the document and from which no deviation is permitted. The keywords, “should“ and “should not“ indicate that, among several possibilities, one is recommended as particularly suitable, without mentioning or excluding others; or that a certain course of action is preferred b
14、ut not necessarily required; or that (in the negative form) a certain possibility or course of action is deprecated but not prohibited. The keywords “may“ and “need not“ indicate courses of action permissible within the limits of the document. The keyword reserved indicates a provision that is not d
15、efined at this time, shall not be used, and may be defined in the future. The keyword forbidden indicates reserved and in addition indicates that the provision will never be defined in the future. A conformant implementation according to this document is one that includes all mandatory provisions (“
16、shall“) and, if implemented, all recommended provisions (“should“) as described. A conformant implementation need not implement optional provisions (“may“) and need not implement them as described. Unless otherwise specified, the order of precedence of the types of normative information in this docu
17、ment shall be as follows: Normative prose shall be the authoritative definition; Tables shall be next; followed by formal languages; then figures; and then any other language forms. 3 Normative References Note: All references in this document to other SMPTE documents use the current numbering style
18、(e.g. SMPTE ST 336:2007) although, during a transitional phase, the document as published (printed or PDF) may bear an older designation (such as SMPTE 336M-2007). Documents with the same root number (e.g. 336) and publication year (e.g. 2007) are functionally identical. The following standards cont
19、ain provisions that, through reference in this text, constitute provisions of this standard. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements based on this standard are encouraged to investigate the possibility of applyin
20、g the most recent edition of the standards indicated below. RFC 5646, Tags for Identifying Languages SMPTE ST 2075:2013 Page 4 of 14 pages SMPTE ST 336:2007, Data Encoding Protocol using Key-Length-Value SMPTE ST 377-1:2011, Material Exchange Format (MXF) File Format Specification SMPTE ST 410:2008,
21、 Material Exchange Format Generic Stream Partition 4 Definition of Acronyms, Terms and Data Types For the purposes of this document, the terms and definitions given in SMPTE ST 377-1 and SMPTE ST 410 and the following apply. GSI: General Subtitle Information (according to EBU TECH 3264). STL: EBU st
22、andard subtitle data exchange format (according to EBU TECH 3264). STL Generic Stream Partition: A Generic Stream Partition that carries EBU STL data. TTI: Text and Timing Information (according to EBU TECH 3264). 5 General EBU STL files store the subtitle data as binary data. For the mapping of thi
23、s binary data into an MXF file, one or more Generic Stream Partitions that are defined in SMPTE ST 410 shall be used. One complete EBU STL file shall be mapped into one Generic Stream Partition as a single binary stream. For the mapping into MXF, one EBU STL file shall not be divided. If multiple ST
24、L files are being mapped into one MXF file, each STL file shall be stored in an individual Generic Stream Partition. Each Generic Stream Partition shall be associated with a single Stream ID value. 5.1 Header Metadata Following the provisions in SMPTE ST 410, in MXF files that store both audio-visua
25、l essence and STL data internally, there shall be one Top-Level File Package be present for each Essence Container and each Generic Stream. Hence, the Operational Pattern of such an MXF file shall be OP 1b or higher. For MXF files that store either the audio-visual essence or the STL data outside th
26、e MXF file but still link to this external essence (see Section 10), there shall be one Top-Level File Package be present for each Essence Container and each Generic Stream. Hence, the Operational Pattern of such an MXF file shall be OP 1b or higher as well. For MXF files that store only STL essence
27、 in one MXF file and do not link to any other external essence, the Operational Pattern of such an MXF file shall be OP 1a. Note: Figure 1 illustrates an example of an MXF file layout with one internal Essence Container (in Body Partition 1) and one internal STL essence (in Generic Stream Partition
28、1). The order of Partitions is not defined, therefore, Generic Stream Partitions can exist before and/or after Body Partitions. SMPTE ST 2075:2013 Page 5 of 14 pages B o d y P a r t i t i o n 1 F o o t e r P a r t i t i o nB o d y P a r t i t i o n P a c k ( B o d y S I D )G e n e r i c S t r e a m
29、P a r t i t i o n P a c k ( S t r e a m I D )G e n e r i c S t r e a m P a r t i t i o n 1H e a d e r P a r t i t i o n P a c k H e a d e r M e t a d a t aP r e f a c eE C D : E s s e n c e C o n t a i n e r D a t aC o n t e n tS t o r a g eE C D 1S o u r c eP a c k a g e 2S o u r c eP a c k a g e 1
30、M a t e r i a lP a c k a g eE C D 2T i m e l i n e T r a c k ( T i m e c o d e )T i m e l i n e T r a c k ( D a t a )Figure 1 Example of an MXF file layout 5.1.1 Tracks Each Top-Level Source Package that links to one STL Generic Stream Partition (via the Essence Container Data set) shall link to exa
31、ctly one Timeline Track (Data). The Track Number of this track shall be the last four bytes of the Generic Stream Data Element key which is defined in Section 7.1. This Timeline Track (Data) shall be described by a STL Essence Descriptor which is defined in Section 8. Each Top-Level Source Package t
32、hat links to one STL Generic Stream Partition (via the Essence Container Data set) shall also link to exactly one Timeline Track (Timecode) present. This track provides the time reference for the STL essence. The value of the property Origin of this Timeline Track (Timecode) shall be set to zero. Th
33、e value of the property Edit Rate of this track shall be set to the value of the Disk Format Code (DFC) inside the GSI block of the linked STL file and shall follow the rules given in Table 1. Table 1 STL Disc Format Code and MXF Edit Rate values STL Disc Format Code (DFC) Edit Rate value (numerator
34、/denominator) STL25.01 25/1 STL30.01 30/1 (in case of actual 30 frames per second essence) 30000/1001 (in case of 29.97 frames per second essence) 5.1.2 Timecode Component The Timeline Track (Timecode) which has been defined in Section 5.1.1 shall link (via a Sequence set) to exactly one Timecode Co
35、mponent. Hence, there cannot be any timecode discontinuities. The value of the property Start Timecode in this Timecode Component shall define the start time code of this Top-Level Source Package which links to a Generic Stream Partition that carries STL data. Source Package Timecode track Start Tim
36、ecode and STL Reference Point Timecode values shall be defined as a frame count and shall be of type Position. Note: There is no requirement for the two values to be the same. SMPTE ST 2075:2013 Page 6 of 14 pages Figure 2 MXF Header Metadata and STL relationship 6 Essence Descriptors Essence Descri
37、ptors for STL files are called STL Essence Descriptor. STL Essence Descriptor shall be a subclass of Generic Event Text Essence Descriptor. SMPTE ST 2075:2013 Page 7 of 14 pages 6.1 Event Text Descriptor Item Name Type Len Local Tag Item Designator Req ? Meaning Default Event Text Descriptor Set Key
38、 16 06.0E.2B.34. 02.7F.01.01. 0D.01.01.01. 01.01.6F.00 Req Defines the Generic Event Text Essence Descriptor Length BER Length var Req All items in SMPTE ST 377-1:2011 F.6 (definition of Generic Data Essence Descriptor) Event Text Kind UL 16 Dyn 06.0E.2B.34. 01.01.01.0E. 03.02.01.08. 01.00.00.00 Req
39、 Identifies the type (purpose) of the event text type, e.g. subtitles or captions. RP 224 specifies two ULs for this: EBU-t3264 STL Subtitle Essence and EBU-t3264 STL Captions Essence Event Text Language Code UTF-16 String var Dyn 06.0E.2B.34. 01.01.01.0D. 03.01.01.02. 02.15.00.00 Req Specifies the
40、language of the event text using RFC 5646 tags This shall be an abstract class. 6.2 STL Descriptor Item Name Type Len Local Tag Item Designator Req ? Meaning Default STL Descriptor Set Key 16 06.0E.2B.34. 02.7F.01.01. 0D.01.01.01. 01.01.70.00 Req Defines the STL Essence Descriptor Length BER Length
41、var Req All items in 6.1 (definition of Generic Event Text Essence Descriptor) STL Reference Point Timecode Position 16 Dyn 06.0E.2B.34. 01.01.01.0E. 07.02.01.02. 02.02.00.00 Req Specifies the Reference Point Timecode of the STL essence. See Section 6.2.1. SMPTE ST 2075:2013 Page 8 of 14 pages 6.2.1
42、 STL Reference Point Timecode The STL Reference Point Timecode property provides the time reference mechanism into the STL data. The value of this property shall be the same as the Time Code Start-of-Programme (TCP) inside the STL GSI block. 6.3 STL SubDescriptor STL Essence SubDescriptors shall be
43、used in order to describe multiple languages that are stored in a single STL file which is mapped into a single MXF file. Note: The intention of EBU STL was to store subtitle information for exactly one language inside one STL file. However, there exist EBU STL files that store more than one languag
44、e into one file by using different lines for different languages, e.g. the first line of subtitles provides English Subtitles, and the second line provides French Subtitles. This work-around is possible for language combinations that use the same code page. Item Name Type Len Local Tag Item Designat
45、or Req ? Meaning Default STL Sub-Descriptor Set Key 16 06.0E.2B.34. 02.7F.01.01. 0D.01.01.01. 01.01.71.00 Req Defines the STL Essence SubDescriptor Length BER Length var Req All items in SMPTE ST 377-1:2011 B.3 (definition of MXF SubDescriptor) STL Line number UInt 8 1 Dyn 06.0E.2B.34. 01.01.01.0E.
46、03.02.01.08. 02.00.00.00 Req The line number on which a specific language is being visible. Event Text Language Code UTF-16 String var Dyn 06.0E.2B.34. 01.01.01.0D. 03.01.01.02. 02.15.00.00 Req Specifies the language of the event text using RFC 5646 tags The value of the element line number shall be
47、 a decimal, one-based counter and shall identify the line from top to down. Since the first STL line (line number = 1) is used for the primary language and is being described by the STL Essence Descriptor (see Section 6.2), the value of the element line number for the 1st STL Essence SubDescriptor s
48、hall be 2. Note: Figure 3 illustrates an example in which three different languages (English, French, and German) are stored in one STL instance. On the right side of Figure 3 the corresponding STL Essence Descriptor and two STL Essence SubDescriptors are shown. SMPTE ST 2075:2013 Page 9 of 14 pages
49、 T h is is t h e h o u s e ! C e s t la m a is o n ! D a s is t d a s H a u s ! S T L E s s e n c e S u b D e s c r i p t o r 1S T L E s s e n c e D e s c r i p t o rE v e n t T e x t T y p e : 0 6 . 0 e . 2 b . 3 4 . 0 4 . . . S T L R e f e r e n c e P o i n t T i m e c o d e : 9 0 0 , 0 0 0L a n g u a g e T a g : e n - U S L i n e N u m b e r : 2 “L a n g u a g e T a g : f r - F R S T L E s s e n c e S u b D e s c r i p t o r 2L i n e N u m b e r : 3 “L a n g u a g e T a g : d e - D