1、 Copyright 2007 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 595 W. Hartsdale Ave., White Plains, NY 10607 (914) 761-1100 Approved August 22, 2007 Table of Contents Page Forward . 3 1 Scope . 4 2 Conformance Notation . 4 2.1 Conformance Implementations. 5 3 Normative References . 5 4 KL
2、V Protocol 5 4.1 ANSI/SMPTE 298M Universal Label Key . 6 4.1.1 UL Designator . 8 4.1.2 Registry Designator 10 4.1.3 Structure Designator . 10 4.1.4 Version Number 10 4.1.5 Item Designator. 11 4.2 Encoding of the KLV Length Field 11 4.3 Encoding of Data Values 12 4.4 Empty Data Items 12 5 KLV Coding
3、of Individual Data Items . 12 5.1 Registers of Individual Data Items 12 5.1.1 Metadata Dictionaries . 12 5.1.2 Essence Dictionaries 13 5.1.3 Control Dictionaries. 13 5.1.4 Types Dictionaries 13 5.2 Identification of Value Data Representatives 13 6 KLV Group Coding. 14 6.1 Universal Sets. 15 6.2 Glob
4、al Sets 16 6.3 Local Sets . 19 Page 1 of 41 pages SMPTE 336M-2007Revision of SMPTE 336M-2001 SMPTE STANDARD Data Encoding Protocol Using Key-Length-Value SMPTE 336M-2007 Page 2 of 41 pages 6.4 Variable-Length Packs 21 6.5 Defined-Length Packs .23 6.6 Forbidden Use .25 7 Wrappers and Containers.25 8
5、SMPTE Labels26 9 Registered Private Information.27 Annex A (Normative) Glossary of Terms and Acronyms28 Annex B (Informative) Organization of Reference30 Annex C (Informative) Example Usage of the SMPTE UL.31 Annex D (Informative) Example of the KLV Encoding of a Single Metadata Item .32 Annex E (In
6、formative) Example of a Universal Set 33 Annex F (Informative) Example of a Global Set .34 Annex G (Informative) Example of a Local Set 35 Annex H (Informative) Example of a Variable-Length Pack.36 Annex I (Informative) Example of a Defined-Length Pack .37 Annex J (Informative) Example of a Label .3
7、8 Annex K (Informative) ASN.1 BER Length Coding 39 Annex L (Informative) ASN.1 BER Encoding of an Object Identifier Value40 Annex M (Informative) Bibliography 41 SMPTE 336M-2007 Page 3 of 41 pages Foreword SMPTE (the Society of Motion Picture and Television Engineers) is an internationally-recognize
8、d standards developing organization. Headquartered and incorporated in 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 Commit
9、tees. Participation in these Committees is open to all with a bona fide 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 Administr
10、ative Practices. SMPTE 336M was prepared by Technology Committee W25 on Metadata and Wrappers. SMPTE 336M-2007 Page 4 of 41 pages 1 Scope This standard defines a byte-level data encoding protocol for representing data items and data groups. This protocol defines a data structure which is independent
11、 of the application or transportation method used. The standard defines a Key-Length-Value (KLV) triplet as a data interchange protocol for data items or data groups where the Key identifies the data, the Length specifies the length of the data and the Value is the data itself. The KLV protocol prov
12、ides a common interchange point for all compliant applications irrespective of the method of implementation or transport. The standard also provides methods for combining associated KLV triplets in data sets where the set of KLV triplets is itself coded with KLV data coding protocol. Such sets can b
13、e coded in either full form (Universal Sets) or in one of four increasingly bit-efficient forms (Global Sets, Local Sets, Variable Length Packs and Defined Length Packs). The standard provides a definition of each of these data constructs. The standard also describes implications of KLV coding inclu
14、ding the use of a SMPTE Universal Label as a value within a KLV coding triplet or whose meaning is entirely conveyed by the SMPTE UL itself. The two kinds of usage for such standalone SMPTE Universal Labels are a) as a value in a K L V construct and b) as a Key that has no Length and no Value. This
15、standard defines where SMPTE ULs may be used for each kind of construct. The standard also defines the use of KLV coding to provide a means to carry information that is registered with a non-SMPTE external agency. The encoding byte range (length of the payload) specified in this document may accommo
16、date unusually large volumes of data. Consequently, a specific application of KLV encoding may require only a limited operating data range and those details shall be defined in a relevant application document. Annex A provides a glossary of terms used in this standard. 2 Conformance Notation Normati
17、ve text is text that describes elements of 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
18、affecting interoperability. Informative text 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“
19、 indicate requirements strictly to be followed 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 tha
20、t a certain course of action is preferred but 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 “
21、reserved” indicates a provision that is not defined 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. SMPTE 336M-2007 Page 5 of 41 pages 2.1 Conforming Impl
22、ementations A conformant implementation according to this document is one that includes all mandatory provisions (“shall“) and, if implemented, all recommended provisions (“should“) as described. A conformant implementation need not implement optional provisions (“may“) and need not implement them a
23、s described. 3 Normative References The following standards contain provisions which, through reference in this text, constitute provisions of this recommended practice. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements ba
24、sed on this recommended practice are encouraged to investigate the possibility of applying the most recent edition of the standards indicated below. ANSI/SMPTE 298M-1997, Television Universal Labels for Unique Identification of Digital Data ISO/IEC 8825-1:2002 (ITU-T X.690), Information Technology A
25、SN.1 Encoding Rules Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER): BER Paragraphs 8.1.3.4 and 8.1.3.5 for Length, 8.19 for Object Identifier Coding. 4 KLV Protocol Table1 and Figure 1 present an introductory view of the KLV Protoc
26、ol for encoding data. The data encoded may be a single data item, or a data group. The coding of data items is described in section 5 while the coding of data groups is described in Section 6 of this standard. The KLV Coding Protocol is composed of a Universal Label (UL) identification “Key”, follow
27、ed by a numeric “Length” (Value Length), followed by the data “Value”. The composition of the Key is described in Section 4.1 of this standard. The length of the full Key shall be 16 bytes. The Length field is described in Section 4.2 of this standard. The byte-length of the Length field varies as d
28、efined in Section 4.2 of this standard. The Value is described in Section 4.3 of this standard. The Value is a sequence of bytes of the data type as specified in a relevant standard and is not further encoded by the KLV Protocol. The length of the Value field is variable and any limitations are defi
29、ned in a relevant defining standard. Table 1 KLV Fields for Encoding of Data Field Description Length Contents/Format Key UL for identification of the Value 16 bytes Section 4.1 Length Length of the Value field Defined in a relevant register, essence, application standard, but variable length Sectio
30、n 4.2 Value Value associated with the Key Variable Section 4.3 SMPTE 336M-2007 Page 6 of 41 pages Figure 1 KLV Encoding 4.1 ANSI/SMPTE 298M Universal Label Key The KLV Coding Protocol shall use and only use a fixed 16-byte SMPTE-administered Universal Label, according to ANSI/SMPTE 298M, as the Key
31、to identify the data in the Value field. The term UL is used throughout this standard to refer to a SMPTE-administered Universal Label. The full Key shall consist of a 16-byte field including an Object ID (0x06) and the UL size (0x0e indicating a total Key size of 16 bytes) followed by a series of s
32、ub-identifiers starting with the UL Code (0x2b) and SMPTE Designator (0x34). The sub-identifiers define the UL Designator (bytes 38 inclusive) and Item Designator (bytes 916 inclusive) as specified in Table 2. The first two sub-identifiers after the SMPTE Designator shall have reserved values for th
33、e KLV Coding Protocol according to this standard. Each word in the ANSI/SMPTE 298M UL is coded using ASN.1 Basic Encoding Rules (BER) for Object Identifier coding specified in ISO/IEC 8825-1, paragraph 8.19. (See Annex L.) The values of each byte of the UL Designator shall be limited to the range 0x
34、01 to 0x7F, which in BER Object Identifier coding are represented by a single byte. The value of the Item Designator is coded using ASN.1 Basic Encoding Rules (BER) for Object Identifier coding and shall be 8 bytes in length. The sub-identifiers in the UL Designator and Item Designator shall have le
35、ft to right significance with the first sub-identifier as the most significant. The leftmost sub-identifier of value 0x00 in the Key shall define the termination of the label and all sub-identifiers of lower significance shall also be set to 0x00. Sub-identifiers of value 0x00 shall have no signific
36、ance to the meaning of the Key. ANSI/SMPTE 298M defines only the first four bytes of a UL: the Object ID, UL Size, UL Code and SMPTE Designator. This standard specifies the application of ANSI/SMPTE 298M ULs for the purpose of Key-Length-Value coding and defines the semantics of the remaining sub-id
37、entifiers of the UL Designator (bytes 5 to 8). The semantics of the Item Designator (bytes 9-16) are defined by a number of separate documents, which together cover all the defined values of the UL Designator. KLV Encoding Key Length of Value Value 16 byte SMPTE Administered UL Variable bytes ASN.1
38、BER Variable Length bytes SMPTE 336M-2007 Page 7 of 41 pages Table 2 Field Descriptions for the Key for the KLV Encoding of Data No. Field Description Length Content/Format UL Header 1 OID Object Identifier 1 byte Always 0x06 2 UL Size 16-byte size of the UL 1 byte Always 0x0E UL Designator 3 UL Cod
39、e Concatenated sub-identifiers ISO, ORG 1 byte Always 0x2B 4 SMPTE Designator SMPTE sub-identifier 1 byte Always 0x34 5 Category Designator Category designator identifying the category of registry described (e.g. Dictionaries) 1 byte See Table 3 6 Registry Designator Registry Designator identifying
40、the specific register in a category (e.g. Metadata Dictionaries) 1 byte See Table 3 7 Structure Designator Designator of the structure variant within the given registry designator 1 byte Section 4.1.3 8 Version Number Version of the given register which first defines the item specified by the Item D
41、esignator 1 byte Incrementing number 9 16 Item Designator Unique identification of the particular item within the context of the UL Designator 8 bytes See relevant standard and version Annex C shows an informative example of a Metadata Key from the SMPTE Metadata Dictionary in tabular and figure for
42、mats. Decoders which recognize the Key but do not want to, or cannot, decode the associated Value may ignore the item and should continue the decoding process of subsequent items using the Length value to skip the Value of the un-decoded item. If decoders store and forward the item, they shall forwa
43、rd the item unaltered. Bytes 5 and 6 of the Key shall be used to identify the contents of, and define the interpretation of the Value for all values of the Item Designator within a given category and registry designator. Table 3 defines the use of bytes 5 and 6. When bytes 5 and 6 do not match any o
44、f the values in Table 3, the parser shall not interpret the contents of the “V“ bytes, shall make the K L and V available to application processing, and shall continue parsing with the byte immediately following the end of the “V“. NOTE Application writers should be aware that public and private reg
45、isters of SMPTE UL number spaces exist and these registers will contain valid KLV keys which may be unknown to the parser. Provision of application level interpretation of unrecognized KLVs keys is important for interoperability. SMPTE 336M-2007 Page 8 of 41 pages Figure 2 Key Structure 4.1.1 UL Des
46、ignator Table 3 defines byte values for the designators to be used in bytes 5 to 7 of the UL Designator. SMPTE Standards and Recommended Practices (RPs) which define a Key with the value of byte 5 (Registry Category Designator) in the range 0x01 to 0x04 shall register the full Key or Keys used with
47、the SMPTE Registration Authority in the registry identified by bytes 6 and 7 (Registry Designator and Structure Designator). Key Structure Key Length Value 2 bytes UL Header UL Designator Item Designator Fixed 16 bytes 6 bytes Table 2, Nos. 1 long or short form as required. The Value of a Universal
48、Set shall be a sequence of KLV-encoded items whose total length is given by the Length field. Each and every data item in a Universal Set shall apply KLV Data Coding protocol including the full Key value. Relevant Application Standards or RPs may specify constraints upon the Value of a Universal Set
49、 such as the number and size of items, the allowed sequence of items and whether any items are mandatory or optional. The Key for Universal Sets is described by Table. The Universal Set Designator is defined within the last 8 bytes in the Universal Set Key. Universal Set Keys shall be defined in an associated Standard or RP and the Key value shall be registered with the SMPTE Registration Authority in accordance with the provisions of the accompanying Standard or RP to guarantee a unique Key value. Table 4 Field Descriptions for the Key for th
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1