1、 Recommendation ITU-R BT.1563-1(03/2011)Data encoding protocol using key-length-valueBT SeriesBroadcasting service(television)ii Rec. ITU-R BT.1563-1 Foreword The role of the Radiocommunication Sector is to ensure the rational, equitable, efficient and economical use of the radio-frequency spectrum
2、by all radiocommunication services, including satellite services, and carry out studies without limit of frequency range on the basis of which Recommendations are adopted. The regulatory and policy functions of the Radiocommunication Sector are performed by World and Regional Radiocommunication Conf
3、erences and Radiocommunication Assemblies supported by Study Groups. Policy on Intellectual Property Right (IPR) ITU-R policy on IPR is described in the Common Patent Policy for ITU-T/ITU-R/ISO/IEC referenced in Annex 1 of Resolution ITU-R 1. Forms to be used for the submission of patent statements
4、and licensing declarations by patent holders are available from http:/www.itu.int/ITU-R/go/patents/en where the Guidelines for Implementation of the Common Patent Policy for ITU-T/ITU-R/ISO/IEC and the ITU-R patent information database can also be found. Series of ITU-R Recommendations (Also availab
5、le online at http:/www.itu.int/publ/R-REC/en) Series Title BO Satellite delivery BR Recording for production, archival and play-out; film for television BS Broadcasting service (sound) BT Broadcasting service (television) F Fixed service M Mobile, radiodetermination, amateur and related satellite se
6、rvices P Radiowave propagation RA Radio astronomy RS Remote sensing systems S Fixed-satellite service SA Space applications and meteorology SF Frequency sharing and coordination between fixed-satellite and fixed service systems SM Spectrum management SNG Satellite news gathering TF Time signals and
7、frequency standards emissions V Vocabulary and related subjects Note: This ITU-R Recommendation was approved in English under the procedure detailed in Resolution ITU-R 1. Electronic Publication Geneva, 2011 ITU 2011 All rights reserved. No part of this publication may be reproduced, by any means wh
8、atsoever, without written permission of ITU. Rec. ITU-R BT.1563-1 1 RECOMMENDATION ITU-R BT.1563-1 Data encoding protocol using key-length-value (Question ITU-R 130/6) (2002-2011) Scope This Recommendation defines a byte-level data encoding protocol for representing data items and data groups. This
9、protocol defines a data structure which is independent of the application or transportation method used. The Recommendation 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
10、data and the Value is the data itself. The KLV protocol provides a common interchange point for all compliant applications irrespective of the method of implementation or transport. The ITU Radiocommunication Assembly, considering a) that many countries have installed digital television production f
11、acilities based on the use of digital video components conforming to Recommendations ITU-R BT.601, ITU-R BT.656 and ITU-R BT.799; b) that high-definition television (HDTV) production systems have been installed based on digital HDTV interfaces conforming to Recommendation ITU-R BT.1120; c) that ther
12、e exists the capacity within a signal conforming to Recommendation ITU-R BT.656 or ITU-R BT.799 for additional data signals to be multiplexed within the serial data stream; d) that there are operational and economic benefits to be achieved by the multiplexing of ancillary data signals with the seria
13、l data stream; e) that the operational benefits are increased if a minimum of different formats are used for ancillary data signals; f) that formatting of ancillary data packets is specified in Recommendation ITU-R BT.1364; g) that a generic formatting for a wide variety of data using ancillary data
14、 packets as one form of transmission will benefit broadcast transmission operations, recommends 1 that the key-length-value (KLV) data formatting (Data Encoding Protocol Using Key-Length-Value), defined in Annex 1 be used as a method for a variety of data in the serial digital interface; 2 that comp
15、liance with this Recommendation is voluntary. However, the Recommendation may contain certain mandatory provisions (to ensure, e.g., interoperability or applicability) and compliance with the Recommendation is achieved when all of these mandatory provisions are met. The words “shall” or some other o
16、bligatory language such as “must” and the negative equivalents are used to express requirements. The use of such words shall in no way be construed to imply partial or total compliance with this Recommendation. 2 Rec. ITU-R BT.1563-1 Annex 1 1 KLV Protocol1Table 1 and Fig. 1 present an introductory
17、view of the KLV Protocol for encoding data. The data encoded may be a single data item, or a data group. The KLV Coding Protocol is composed of a Universal Label (UL) identification “Key”, followed by a numeric “Length” (Value Length), followed by the data “Value”. The length of the full Key shall b
18、e 16 bytes. The Value is a sequence of bytes of the data type as specified in a relevant Recommendation and is not further encoded by the KLV Protocol. The length of the Value field is variable and any limitations are defined in a relevant defining Recommendation. TABLE 1 KLV Fields for Encoding of
19、Data Field Description Length Contents/Format Key UL for identification of the Value 16 bytes Section 1.1 Length Length of the Value field Defined in a relevant register, essence, application standard, but variable length Section 1.2 Value Value associated with the Key Variable Section 1.3 FIGURE 1
20、KLV Encoding 1563-01Key Length of ValueValue16 byte SMPTEadministered ULVariable bytesASN.1 BERVariable Length byte1.1 Universal Label Key The KLV Coding Protocol shall use and only use a fixed 16-byte SMPTE-administered Universal Label, according to SMPTE 298M, as the Key to identify the data in th
21、e Value field. The term UL is used throughout this Recommendation to refer to a SMPTE-administered Universal Label (see Appendix 2). 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 sub-
22、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. 1SMPTE acts as the register of values for the universal label, Type Values, and entries in th
23、e Metadata dictionary. Readers of this Recommendation are urged to check registered values at http:/www.smpte-ra.org/ for the latest entries. Rec. ITU-R BT.1563-1 3 TABLE 2 Field Descriptions for the Key for the KLV Encoding of Data No. Field Description Length Content/Format UL Header 1 OID Object
24、identifier 1 byte Always 0x06 2 UL Size 16-byte size of the UL 1 byte Always 0x0E UL Designator 3 UL Code 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
25、 described (e.g., Dictionaries) 1 byte See Table 3 6 Registry Designator Registry Designator identifying 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
26、 4.1.3 8 Version Number Version of the given register which first defines the item specified by the Item Designator 1 byte Incrementing number 9 to 16 Item Designator Unique identification of the particular item within the context of the UL Designator 8 bytes See relevant Recommendation and version
27、The first two sub-identifiers after the SMPTE Designator shall have reserved values for the KLV Coding Protocol according to this Recommendation. Each word in the SMPTE 298M UL is coded using ASN.1 Basic Encoding Rules (BER) for Object Identifier coding specified in ISO/IEC 8825-1. The values of eac
28、h byte of the UL Designator shall be limited to the range 0x01 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-identi
29、fiers in the UL Designator and Item Designator shall have left 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 t
30、o 0x00. Sub-identifiers of value 0x00 shall have no significance to the meaning of the Key. SMPTE 298M defines only the first four bytes of a UL: the Object ID, UL Size, UL Code and SMPTE Designator. This Recommendation specifies the application of SMPTE 298M ULs for the purpose of Key-Length-Value
31、coding and defines the semantics of the remaining sub-identifiers of the UL Designator (bytes 5 to 8). The semantics of the Item Designator (bytes 9 to 16) are defined by a number of separate documents, which together cover all the defined values of the UL Designator. 4 Rec. ITU-R BT.1563-1 Decoders
32、 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 forward the item
33、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 of the values
34、 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 1 Application writers should be aware that public and private registers of
35、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. FIGURE 2 Key Structure 1563-02Key Length Value2 bytesUL HeaderUL Designator Item
36、 DesignatorFixed 16 bytes6 bytesTable 2, Nos 1 and 2 Table 2, Nos 3 to 8 Table 2, Nos 9 to 168 bytes1.1.1 UL Designator Table 3 defines byte values for the designators to be used in bytes 5 to 7 of the UL Designator. SMPTE Recommendations and Recommended Practices (RPs) which define a Key with the v
37、alue of byte 5 (Registry Category Designator) in the range 0x01 to 0x04 shall register the full Key or Keys used with the SMPTE Registration Authority in the registry identified by bytes 6 and 7 (Registry Designator and Structure Designator). 1.1.1.1 Dictionaries SMPTE Standards and RPs which define
38、 the value of word 5 of the Key as 0x01 are Dictionary Recommendations and shall be used to define single data items with the KLV data construct. 1.1.1.2 Groups (Sets and Packs) SMPTE Standards and RPs which define the value of word 5 of the Key as 0x02 are Set and Pack Recommendations and shall be
39、used to define groups of KLV coded data items. Rec. ITU-R BT.1563-1 5 TABLE 3 UL Designator for Bytes 5 through 7 Category Designator Registry Designator Defined in: Structure Designator External References (informative) Byte 5 Byte 6 Byte 7 0x01 Dictionaries Section 5 01 Metadata Dictionaries Secti
40、on 5.1.1 0x010x7F 0x01: SMPTE 335M 02 Essence Dictionaries Section 5.1.2 0x010x7F 03 Control Dictionaries Section 5.1.3 0x010x7F 04 Types Dictionaries Section 5.1.4 0x010x7F 0x01: Types Draft, CD2003 0x02 Groups (Sets and Packs) Section 6 SMPTE 395M 01 Universal Sets Section 6.1, Table 4 0x010x7F 02
41、 (default) Global Sets Section 6.2, Table 6 Section 6.2, Table 5 03 (default) Local Sets Section 6.3, Table 8 0x010x7F 04 (default) Variable Length Packs Section 6.4, Table 10 0x010x7F 05 Defined-Length Packs Section 6.5, Table 11 0x010x7F 06 Reserved Section 6.6 0x010x7F 03 Wrappers and Containers
42、Section 7 01 Simple Wrappers and Containers Section 7.1 0x010x7F 02 Complex Wrappers and Containers Section 7.2 0x010x7F 04 Labels Section 8 Labels Register Section 8 0x010x7F 0x01: SMPTE 400M 05 Registered Private Information Section 9 RP225 06 7E Reserved 1.1.1.3 Wrappers and Containers SMPTE Stan
43、dards and RPs which define the value of word 5 of the Key as 0x03 are Wrapper and Container Recommendations and use the Key to identify the Wrapper or Container and its contents. The definition of the terms “Wrapper” and “Container” are defined in Appendix A. 1.1.1.4 Labels The coding of Labels is d
44、efined in Section 5. 1.1.1.5 Registered Private Information The coding of Registered Private Information is defined in Section 6. 6 Rec. ITU-R BT.1563-1 1.1.1.6 Reserved Reserved Registry Categories are reserved for future extension to this Recommendation or for provisions defined by other SMPTE Sta
45、ndards. No other specifications shall use these reserved values. 1.1.2 Registry Designator As illustrated in Tables 2 and 3, byte 6 shall define the Registry Designator identifying the specific register in a category (e.g., Metadata Dictionary). Global Sets, Local Sets and Variable Length Packs use
46、more than one value to identify the lengths of the Length field and, in the case of Local Sets, the Local Tag field. Usage of the Registry Designator values is defined in Table 3. 1.1.3 Structure Designator As illustrated in Tables 2 and 3, byte 7 shall define the Structure Designator for the given
47、register. Structure Designator values are allocated to distinguish between incompatible versions of the same register. They may be thought of as a major version number. Usage of the Structure Designator values is defined in Table 3. 1.1.4 Version number For items registered by SMPTE, byte 8 shall de
48、fine the version number of the given register which first defines the item specified by the Item Designator. For items not registered by SMPTE, the entity responsible for registration of items shall define its own version numbering policy. NOTE 1 SMPTE will assign the first node that identifies the
49、non-SMPTE organization and this node will be given a SMPTE version number. The values of the version number that lie under the SMPTE assigned node will then be assigned by the appropriate non-SMPTE organization, not by SMPTE. New items may be added to registers after initial approval of the controlling Recommendation, Standard or RP. Each time a set of item definitions is added, the current Version Number of the particular register is incremented. Each entry in a register includes the version number in which the item was first