1、 Copyright 2009 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 Approved June 5, 2009 Table of Contents Page Foreword . 2 Intellectual Property 2 Introduction . 2 1 Scope . 3 2 Conformance Notation . 3 3 Normative References . 3 4 Glos
2、sary of Terms 4 4.1 Universal Label 4 4.2 SMPTE-Administered Universal Label. 4 5 Label Structure. 4 6 Label Definition and Name Space . 4 7 Notation 4 8 Universal Label Encoding 5 8.1 Primitive Encoding . 5 8.2 Constructed Encoding 5 Annex A Bibliography (Informative) . 7 Annex B Plain Text Form of
3、 SMPTE-Administered Universal Label (Normative) . 8 Annex C ISO/ITU Identifier Hierarchy Registration System and Notation (Informative) 9 Annex D Primitive Encoding (Informative) . 11 Annex E Constructed Encoding (Informative) 13 Annex F Universal Label Comparisons (Informative) 14 F.1 Arbitrary Lab
4、el Comparisons . 14 F.2 SMPTE Label Comparisons 15 Page 1 of 15 pages SMPTE 298-2009Revision of ANSI/SMPTE 298M-1997 SMPTE STANDARD Universal Labels for Unique Identification of Digital Data SMPTE 298-2009 Page 2 of 15 pages Foreword SMPTE (the Society of Motion Picture and Television Engineers) is
5、an internationally-recognized 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
6、 by SMPTEs Technology Committees. 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 i
7、n Part XIII of its Administrative Practices. SMPTE Standard 298 was prepared by Technology Committee 30MR. Intellectual 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
8、 possibility that some of the elements of this document may be the subject of patent rights. SMPTE shall not be held responsible for identifying any or all such patent rights. Introduction This section is entirely informative and does not form an integral part of this Engineering Document. This stan
9、dard defines Universal Labels that can be used by any organization that wishes to label data in a manner that is universally unambiguous, globally unique, and traceable to the authorizing organization that defines their meaning. They are a form of metadata that is intended to be associated with othe
10、r data or metadata for the purpose of identifying that data or metadata or of specifying the way that data or metadata is to be interpreted. Universal Labels are intended to function across all types of digital communications protocols, message structures, and storage formats and to allow the interm
11、ixture of data of any sort. These labels may be attached to the data they identify and travel with them through communications channels. The meanings of the Universal Labels are defined by organizations that are part of a hierarchical structure, beginning with the International Organization for Stan
12、dardization (ISO) and the International Telecommunication Union (ITU), which share the top level. Each organization in the hierarchy is automatically assigned part of a specified name space to use in defining labels for data types and forms under its responsibility. SMPTE is one such organization. S
13、MPTE 298-2009 Page 3 of 15 pages 1 Scope This standard defines Universal Labels as a means to identify the type and encoding of data within a general-purpose data stream or file. These Universal Labels can be used by any organization that wishes to label data in a manner that is universally unambigu
14、ous, globally unique, and traceable to the authorizing organization. While the primary use of Universal Labels is to identify the type and encoding of data within a general-purpose data stream or file, other meanings may be associated with specific labels; such additional meanings are beyond the sco
15、pe of this standard and remain completely within the control of the particular organizations that define those labels. A specific form of Universal Label, called an SMPTE-administered Universal Label is defined. It is the mechanism used to identify and distinguish data contained in data streams or f
16、iles that have been generated according to the provisions of other SMPTE Standards and Recommended Practices. 2 Conformance Notation Normative text is text that describes elements of the design that are indispensable or contains the conformance language keywords: “shall“, “should“, or “may“. Informa
17、tive 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 text does not contain any conformance keywords. All text in this document is, by default, normative, except: the Introdu
18、ction, any section explicitly labeled as “Informative“ or individual paragraphs that start with “Note:” The keywords “shall“ and “shall not“ 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
19、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 but not necessarily required; or that (in the negative form) a certain possibility or course of action is deprecated b
20、ut 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 defined at this time, shall not be used, and may be defined in the future. The keyword “forbidden” indicates “reserv
21、ed” 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 (“shall“) and, if implemented, all recommended provisions (“should“) as described. A conformant implementation ne
22、ed not implement optional provisions (“may“) and need not implement them as described. 3 Normative References The following standards contain provisions which, through reference in this text, constitute provisions of this standard. At the time of publication, the editions indicated were valid. All s
23、tandards are subject to revision, and parties to agreements based on this standard are encouraged to investigate the possibility of applying the most recent edition of the standards indicated below. ISO/IEC 8824-1:2002 (ITU-T X.680), Information Technology Abstract Syntax Notation One (ASN.1) Specif
24、ication of Basic Notation SMPTE 298-2009 Page 4 of 15 pages ISO/IEC 8825-1:2002 (ITU-T X.690), Information Technology ASN.1 Encoding Rules Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER) SMPTE 2029-2009, Uniform Resource Names for S
25、MPTE Resources 4 Glossary of Terms The following sub-clauses define the most important terms used in this standard: 4.1 Universal Label A variable-length label, defined by this standard and administered by an organization that is registered internationally by ISO/ITU or one of their constituent orga
26、nizations. 4.2 SMPTE-Administered Universal Label A fixed-length (16-byte) universal label, defined by this standard and administered by SMPTE. 5 Label Structure Within this standard, the type and format or other characteristics of messages exchanged in a general-purpose data stream shall be identif
27、ied using the ISO/ITU registration system as specified by ASN.1 in ISO/IEC 8824-1. A universal label is composed of an ISO/ITU identifier or path specification to an authorized administrative organization within the ISO/ITU name space, followed by a data type identifier defined by that organization
28、and located within its subsection of the name space. 6 Label Definition and Name Space A universal label shall be an “object identifier” and its name space shall conform to the definition of object identifiers specified by ISO/IEC 8824-1. Note: The ISO/ITU identifiers are organized in a hierarchy th
29、at is registered internationally by ISO, ITU, and their constituent organizations. The root or initial part of the identifier hierarchy is specified in ISO/IEC 8824-1 Annexes B, C, and D. See Annex C of this standard for a further description of the ISO/ITU identifier hierarchy registration system.
30、7 Notation A universal label shall utilize the notation specified by ISO/ITU 8824-1, ASN.1, for the object identifier type. ASN.1 specifies a human readable notation for the precise representation of object identifiers within the ISO/ITU identifier hierarchy. A universal label includes an identifier
31、; the identifier is represented by a sequence of unsigned integer components, enclosed within braces, that designate a location in the identifier name space starting at the root of the ISO/ITU hierarchy and selecting which branch to take as each level of the hierarchy is descended. Names consisting
32、of strings of lower-case characters may be used in addition to or, in certain circumstances, in place of the integer components. Names assigned in annexes B, C, and D of ISO/ITU 8824-1 may be used in place of the integer components at the root of the sequence. Names assigned by an identified organiz
33、ation may be used, followed by their equivalent integer values enclosed in parentheses. See Annex C of this standard for a further description and example of the ISO/ITU identifier notation. SMPTE 298-2009 Page 5 of 15 pages 8 Universal Label Encoding Universal labels shall be encoded according to t
34、he basic encoding rules (BER) as specified by ISO/IEC 8825-1, with the additional requirement that the encoding of the object identifier value shall use either “primitive” encoding or “constructed” encoding at the option of the authorizing organization. Universal labels, as defined in this standard,
35、 when administered by an organization registered within the ISO/ITU identifier hierarchy, shall use either the primitive encoding or the constructed encoding with a length that is a multiple of 4 bytes. SMPTE-administered universal labels shall be encoded using primitive encoding only, and their val
36、ues shall be defined so that the primitive encoding of the entire label has a fixed length of 16 bytes. 8.1 Primitive Encoding The primitive encoding of a universal label value shall be as specified by ISO/IEC 8825-1 (BER) sub-clause 8.19, “Encoding of an Object Identifier Value.” (See Annex D for a
37、 description of primitive encoding) If necessary, an organization shall supplement its object identifier with up to three null values (corresponding to additional branches in the ISO/ITU hierarchy) so that the encoded length of the universal label is an integer multiple of 4 bytes. The encoded label
38、 consists of an object identifier (OID) tag (0616per ASN.1) and a length followed by a sequence of sub-identifier bytes. The first two integer components of the object identifier are coded within the first sub-identifier byte. Each additional integer component of the object identifier is encoded by
39、a sequence of one or more sub-identifier bytes. Following is an example of the primitive encoding of the universal label having the value itu(0) recommendation(0) t(20) 4, or simply 0 0 20 4. OID tag Length Contents 06160316001614160416A SMPTE-administered universal label shall be encoded using prim
40、itive encoding and shall have a fixed 4-byte prefix that identifies the SMPTE organization in the ISO/ITU hierarchy, followed by a 12-byte sub-identifier string assigned and administered by SMPTE. Following is an example of the 16-byte SMPTE-administered universal label having the value iso(1) organ
41、ization(3) smpte(52) committee(18) standard (10) identifier(1) 0 0 0 0 0 0 0 0 0, or (as decimal numbers) 1 3 52 18 10 1 0 0 0 0 0 0 0 0 0 OID tag Length SMPTE Sub-identifiers 06160E162B341612160A160116001600160016001600160016001600160016Note: SMPTE-administered universal labels are zero-padded to c
42、reate 16-byte encoded labels. The use of this example does not imply that such a structure will ultimately be approved by SMPTE. 8.2 Constructed Encoding When an organization specifies alternative encoding rules for its data type identifiers, a constructed encoding of a universal label value may be
43、used. The constructed encoding of a universal label value shall be as specified by ISO/IEC 8825-1 (BER) sub-clause 8.1, General Rules for Encoding, regarding constructed types. The encoded label consists of the following sequence: a constructed object identifier (CID) tag with the constructed bit se
44、t (2616), a length, a primitively encoded object identifier (OID as described in section 9.1 of SMPTE 298-2009 Page 6 of 15 pages this standard), an byte string identifier (OCT) tag, and a primitively encoded byte string. If necessary, an organization shall supplement its object identifier with up t
45、o three null values (corresponding to additional branches in the ISO/ITU hierarchy) so that the encoded length of the universal label has a length that is an integer multiple of 4 bytes. The primitively encoded byte string consists of an identifier tag (0416), a length, and a sequence of bytes. (See
46、 annex E for a detailed description of constructed encoding.) For example, 1 3 64 “00 10 0A FF” represents a constructed-encoding form of the universal label having an organization identifier value of iso(1) organization(3) hypothetical-organization(64), and a data type identifier value specified by
47、 the organization to be encoded as 001610160A16FF16: CID tag Length OID tag Length Org ID OCT tag Length Contents 26160A16061602162B16401604160416001610160A16FF16SMPTE 298-2009 Page 7 of 15 pages Annex A (Informative) Bibliography RFC 5119, A Uniform Resource Name (URN) Namespace for the Society of
48、Motion Picture and Television Engineers (SMPTE), published by the Internet Engineering Task Force (IETF) SMPTE 298-2009 Page 8 of 15 pages Annex B (Normative) Plain Text Form of SMPTE-Administered Universal Label Universal labels are described in this standard using the notation defined by ISO/IEC 8
49、824-1 for object identifiers. They are encoded according to the basic encoding rules of ISO/IEC 8825-1, yielding a byte string. Certain applications may require that a SMPTE-administered universal label be represented in a plain text format, either for clarity or for cross-reference to a data stream containing the actual universal label. In these applications, the plain text representation of the universal label should use the urn format as defined in standard SMPTE 2029. Note: An example of a universal label using the SM