Zum Hauptinhalt springen

8. Metadata Information

Dieser Abschnitt bewahrt den RFC-Text zu APV, einschliesslich bitstream syntax, syntax element processing, decoding and parsing processes, metadata, profiles, levels, bands, raw bitstream format und implementation references.

Originaler RFC-Text​

8.  Metadata Information

8.1.  Metadata Payload

   syntax code                                                   | type
   --------------------------------------------------------------|-----
   metadata_payload(payloadType, payloadSize){                   |
     if(payloadType == 4){                                       |
       metadata_itu_t_t35(payloadSize)                           |
     }                                                           |
     else if(payloadType == 5){                                  |
       metadata_mdcv(payloadSize)                                |
     }                                                           |
     else if(payloadType == 6){                                  |
       metadata_cll(payloadSize)                                 |
     }                                                           |
     else if(payloadType == 10){                                 |
       metadata_filler(payloadSize)                              |
     }                                                           |
     else if(payloadType == 170){                                |
       metadata_user_defined(payloadSize)                        |
     }                                                           |
     else{                                                       |
       metadata_undefined(payloadSize)                           |
     }                                                           |
     byte_alignment()                                            |
   }                                                             |

                 Figure 28: metadata_payload() syntax code

   The syntax and semantics of each type of metadata are defined in
   Section 8.2.

8.2.  List of Metadata Syntax and Semantics

8.2.1.  Filler Metadata

   syntax code                                                   | type
   --------------------------------------------------------------|-----
   metadata_filler(payloadSize){                                 |
     for(i = 0; i < payloadSize; i++){                           |
       ff_byte                                                   | f(8)
     }                                                           |
   }                                                             |

   ff_byte
      is a byte equal to 0xFF.

8.2.2.  Recommendation ITU-T T.35 Metadata

   This metadata contains information registered as specified in
   [ITUT-T35].

   syntax code                                                   | type
   --------------------------------------------------------------|-----
   metadata_itu_t_t35(payloadSize){                              |
     itu_t_t35_country_code                                      | b(8)
     readSize = payloadSize - 1                                  |
                                                                 |
     if(itu_t_t35_country_code == 0xFF){                         |
       itu_t_t35_country_code_extension                          | b(8)
       readSize--                                                |
     }                                                           |
                                                                 |
     for(i = 0; i < readSize; i++){                              |
       itu_t_t35_payload[i]                                      | b(8)
     }                                                           |
   }                                                             |

                Figure 29: metadata_itu_t_t35() syntax code

   itu_t_t35_country_code
      MUST be a byte having the semantics of country code as specified
      in Annex A of [ITUT-T35].

   itu_t_t35_country_code_extension
      MUST be a byte having the semantics of country code as specified
      in Annex B of [ITUT-T35].

   itu_t_t35_payload[i]
      MUST be a byte having the semantics of data registered as
      specified in [ITUT-T35].

   The terminal provider code and terminal provider oriented code as
   specified in [ITUT-T35] MUST be contained in the first one or more
   bytes of the itu_t_t35_payload.  Any remaining bytes in
   itu_t_t35_payload data MUST be data having syntax and semantics as
   specified by the entity identified by the [ITUT-T35] country code and
   terminal provider code.  Note that any metadata to be carried with
   this type of payload is expected to have been registered through
   either national administrator, the Alliance for Telecommunications
   Industry Solutions (ATIS) or the ITUT-T Telecommunication
   Standardization Bureau (TSB) as specified in [ITUT-T35].

8.2.3.  Mastering Display Color Volume Metadata

   syntax code                                                   | type
   --------------------------------------------------------------|-----
   metadata_mdcv(payloadSize){                                   |
     for(i = 0; i < 3; i++){                                     |
       primary_chromaticity_x[i]                                 | u(16)
       primary_chromaticity_y[i]                                 | u(16)
     }                                                           |
     white_point_chromaticity_x                                  | u(16)
     white_point_chromaticity_y                                  | u(16)
     max_mastering_luminance                                     | u(32)
     min_mastering_luminance                                     | u(32)
   }                                                             |

                   Figure 30: metadata_mdcv() syntax code

   primary_chromaticity_x[i]
      specifies a 0.16 fixed-point format of X chromaticity coordinate
      of mastering display in terms of CIE 1931 as specified in
      [ISO11664-1], where i = 0, 1, 2 specifies Red, Green, Blue,
      respectively.

   primary_chromaticity_y[i]
      specifies a 0.16 fixed-point format of Y chromaticity coordinate
      of mastering display in terms of CIE 1931 as specified in
      [ISO11664-1], where i = 0, 1, 2 specifies Red, Green, Blue,
      respectively.

   white_point_chromaticity_x
      specifies a 0.16 fixed-point format of white point X chromaticity
      coordinate of mastering display in terms of CIE 1931 as specified
      in [ISO11664-1].

   white_point_chromaticity_y
      specifies a 0.16 fixed-point format of white point Y chromaticity
      coordinate as mastering display in terms of CIE 1931 as specified
      in [ISO11664-1].

   max_mastering_luminance
      is a 24.8 fixed-point format of maximum display mastering
      luminance, represented in candelas per square meter.

   min_mastering_luminance
      is an 18.14 fixed-point format of minimum display mastering
      luminance, represented in candelas per square meter.

8.2.4.  Content Light-Level Information Metadata

   syntax code                                                   | type
   --------------------------------------------------------------|-----
   metadata_cll(payloadSize){                                    |
     max_cll                                                     | u(16)
     max_fall                                                    | u(16)
   }                                                             |

                   Figure 31: metadata_cll() syntax code

   max_cll
      specifies the maximum content light level information as specified
      in [CTA-861.3], Appendix A.

   max_fall
      specifies the maximum frame-average light level information as
      specified in [CTA-861.3], Appendix A.

8.2.5.  User-Defined Metadata

   This metadata has user data identified by a universal unique
   identifier as specified in [RFC9562], the contents of which are not
   specified in this document.

   syntax code                                                 | type
   ------------------------------------------------------------|-----
   metadata_user_defined(payloadSize){                         |
     uuid                                                      | u(128)
     for(i = 0; i < (payloadSize - 16); i++)                   |
       user_defined_data_payload[i]                            | b(8)
   }                                                           |

               Figure 32: metadata_user_defined() syntax code

   uuid
      MUST be a 128-bit value specified as a generated Universally
      Unique Identifier (UUID) according to the procedures specified in
      [RFC9562].

   user_defined_data_payload[i]
      MUST be a byte having user-defined syntax and semantics as
      specified by the UUID generator.

8.2.6.  Undefined Metadata

   syntax code                                                   | type
   --------------------------------------------------------------|-----
   metadata_undefined(payloadSize){                              |
     for(i = 0; i < payloadSize; i++){                           |
       undefined_metadata_payload_byte[i]                        | b(8)
     }                                                           |
   }                                                             |

                Figure 33: metadata_undefined() syntax code

   undefined_metadata_payload_byte[i]
      is a byte reserved for future use.