⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc3984.txt

📁 RTP英文标准文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:

         for interarrival jitter (section 6.4.1 of RFC 3550) assume that
         the RTP timestamp of a packet is directly proportional to its
         transmission time.

5.2.  Common Structure of the RTP Payload Format

   The payload format defines three different basic payload structures.
   A receiver can identify the payload structure by the first byte of
   the RTP payload, which co-serves as the RTP payload header and, in
   some cases, as the first byte of the payload.  This byte is always
   structured as a NAL unit header.  The NAL unit type field indicates
   which structure is present.  The possible structures are as follows:

   Single NAL Unit Packet: Contains only a single NAL unit in the
   payload.  The NAL header type field will be equal to the original NAL
   unit type; i.e., in the range of 1 to 23, inclusive.  Specified in
   section 5.6.

   Aggregation packet: Packet type used to aggregate multiple NAL units
   into a single RTP payload.  This packet exists in four versions, the
   Single-Time Aggregation Packet type A (STAP-A), the Single-Time
   Aggregation Packet type B (STAP-B), Multi-Time Aggregation Packet
   (MTAP) with 16-bit offset (MTAP16), and Multi-Time Aggregation Packet
   (MTAP) with 24-bit offset (MTAP24).  The NAL unit type numbers
   assigned for STAP-A, STAP-B, MTAP16, and MTAP24 are 24, 25, 26, and
   27, respectively.  Specified in section 5.7.

   Fragmentation unit: Used to fragment a single NAL unit over multiple
   RTP packets.  Exists with two versions, FU-A and FU-B, identified
   with the NAL unit type numbers 28 and 29, respectively.  Specified in
   section 5.8.

   Table 1.  Summary of NAL unit types and their payload structures

      Type   Packet    Type name                        Section
      ---------------------------------------------------------
      0      undefined                                    -
      1-23   NAL unit  Single NAL unit packet per H.264   5.6
      24     STAP-A    Single-time aggregation packet     5.7.1
      25     STAP-B    Single-time aggregation packet     5.7.1
      26     MTAP16    Multi-time aggregation packet      5.7.2
      27     MTAP24    Multi-time aggregation packet      5.7.2
      28     FU-A      Fragmentation unit                 5.8
      29     FU-B      Fragmentation unit                 5.8
      30-31  undefined                                    -






Wenger, et al.              Standards Track                    [Page 11]

RFC 3984           RTP Payload Format for H.264 Video      February 2005


      Informative note: This specification does not limit the size of
      NAL units encapsulated in single NAL unit packets and
      fragmentation units.  The maximum size of a NAL unit encapsulated
      in any aggregation packet is 65535 bytes.

5.3.  NAL Unit Octet Usage

   The structure and semantics of the NAL unit octet were introduced in
   section 1.3.  For convenience, the format of the NAL unit type octet
   is reprinted below:

      +---------------+
      |0|1|2|3|4|5|6|7|
      +-+-+-+-+-+-+-+-+
      |F|NRI|  Type   |
      +---------------+

   This section specifies the semantics of F and NRI according to this
   specification.

   F: 1 bit
      forbidden_zero_bit.  A value of 0 indicates that the NAL unit type
      octet and payload should not contain bit errors or other syntax
      violations.  A value of 1 indicates that the NAL unit type octet
      and payload may contain bit errors or other syntax violations.

      MANEs SHOULD set the F bit to indicate detected bit errors in the
      NAL unit.  The H.264 specification requires that the F bit is
      equal to 0.  When the F bit is set, the decoder is advised that
      bit errors or any other syntax violations may be present in the
      payload or in the NAL unit type octet.  The simplest decoder
      reaction to a NAL unit in which the F bit is equal to 1 is to
      discard such a NAL unit and to conceal the lost data in the
      discarded NAL unit.

   NRI: 2 bits
      nal_ref_idc.  The semantics of value 00 and a non-zero value
      remain unchanged from the H.264 specification.  In other words, a
      value of 00 indicates that the content of the NAL unit is not used
      to reconstruct reference pictures for inter picture prediction.
      Such NAL units can be discarded without risking the integrity of
      the reference pictures.  Values greater than 00 indicate that the
      decoding of the NAL unit is required to maintain the integrity of
      the reference pictures.

      In addition to the specification above, according to this RTP
      payload specification, values of NRI greater than 00 indicate the
      relative transport priority, as determined by the encoder.  MANEs



Wenger, et al.              Standards Track                    [Page 12]

RFC 3984           RTP Payload Format for H.264 Video      February 2005


      can use this information to protect more important NAL units
      better than they do less important NAL units.  The highest
      transport priority is 11, followed by 10, and then by 01; finally,
      00 is the lowest.

         Informative note: Any non-zero value of NRI is handled
         identically in H.264 decoders.  Therefore, receivers need not
         manipulate the value of NRI when passing NAL units to the
         decoder.

      An H.264 encoder MUST set the value of NRI according to the H.264
      specification (subclause 7.4.1) when the value of nal_unit_type is
      in the range of 1 to 12, inclusive.  In particular, the H.264
      specification requires that the value of NRI SHALL be equal to 0
      for all NAL units having nal_unit_type equal to 6, 9, 10, 11, or
      12.

      For NAL units having nal_unit_type equal to 7 or 8 (indicating a
      sequence parameter set or a picture parameter set, respectively),
      an H.264 encoder SHOULD set the value of NRI to 11 (in binary
      format).  For coded slice NAL units of a primary coded picture
      having nal_unit_type equal to 5 (indicating a coded slice
      belonging to an IDR picture), an H.264 encoder SHOULD set the
      value of NRI to 11 (in binary format).

      For a mapping of the remaining nal_unit_types to NRI values, the
      following example MAY be used and has been shown to be efficient
      in a certain environment [13].  Other mappings MAY also be
      desirable, depending on the application and the H.264/AVC Annex A
      profile in use.

         Informative note: Data Partitioning is not available in certain
         profiles; e.g., in the Main or Baseline profiles.
         Consequently, the nal unit types 2, 3, and 4 can occur only if
         the video bitstream conforms to a profile in which data
         partitioning is allowed and not in streams that conform to the
         Main or Baseline profiles.

      Table 2.  Example of NRI values for coded slices and coded slice
      data partitions of primary coded reference pictures

      NAL Unit Type     Content of NAL unit              NRI (binary)
      ----------------------------------------------------------------
       1              non-IDR coded slice                         10
       2              Coded slice data partition A                10
       3              Coded slice data partition B                01
       4              Coded slice data partition C                01




Wenger, et al.              Standards Track                    [Page 13]

RFC 3984           RTP Payload Format for H.264 Video      February 2005


         Informative note: As mentioned before, the NRI value of non-
         reference pictures is 00 as mandated by H.264/AVC.

      An H.264 encoder SHOULD set the value of NRI for coded slice and
      coded slice data partition NAL units of redundant coded reference
      pictures equal to 01 (in binary format).

      Definitions of the values for NRI for NAL unit types 24 to 29,
      inclusive, are given in sections 5.7 and 5.8 of this memo.

      No recommendation for the value of NRI is given for NAL units
      having nal_unit_type in the range of 13 to 23, inclusive, because
      these values are reserved for ITU-T and ISO/IEC.  No
      recommendation for the value of NRI is given for NAL units having
      nal_unit_type equal to 0 or in the range of 30 to 31, inclusive,
      as the semantics of these values are not specified in this memo.

5.4.  Packetization Modes

   This memo specifies three cases of packetization modes:

      o Single NAL unit mode
      o Non-interleaved mode
      o Interleaved mode

   The single NAL unit mode is targeted for conversational systems that
   comply with ITU-T Recommendation H.241 [15] (see section 12.1).  The
   non-interleaved mode is targeted for conversational systems that may
   not comply with ITU-T Recommendation H.241.  In the non-interleaved
   mode, NAL units are transmitted in NAL unit decoding order.  The
   interleaved mode is targeted for systems that do not require very low
   end-to-end latency.  The interleaved mode allows transmission of NAL
   units out of NAL unit decoding order.

   The packetization mode in use MAY be signaled by the value of the
   OPTIONAL packetization-mode MIME parameter or by external means.  The
   used packetization mode governs which NAL unit types are allowed in
   RTP payloads.  Table 3 summarizes the allowed NAL unit types for each
   packetization mode.  Some NAL unit type values (indicated as
   undefined in Table 3) are reserved for future extensions.  NAL units
   of those types SHOULD NOT be sent by a sender and MUST be ignored by
   a receiver.  For example, the Types 1-23, with the associated packet
   type "NAL unit", are allowed in "Single NAL Unit Mode" and in "Non-
   Interleaved Mode", but disallowed in "Interleaved Mode".
   Packetization modes are explained in more detail in section 6.






Wenger, et al.              Standards Track                    [Page 14]

RFC 3984           RTP Payload Format for H.264 Video      February 2005


   Table 3.  Summary of allowed NAL unit types for each packetization
   mode (yes = allowed, no = disallowed, ig = ignore)

      Type   Packet    Single NAL    Non-Interleaved    Interleaved
                       Unit Mode           Mode             Mode
      -------------------------------------------------------------

      0      undefined     ig               ig               ig
      1-23   NAL unit     yes              yes               no
      24     STAP-A        no              yes               no
      25     STAP-B        no               no              yes
      26     MTAP16        no               no              yes
      27     MTAP24        no               no              yes
      28     FU-A          no              yes              yes
      29     FU-B          no               no              yes
      30-31  undefined     ig               ig               ig

5.5.  Decoding Order Number (DON)

   In the interleaved packetization mode, the transmission order of NAL
   units is allowed to differ from the decoding order of the NAL units.
   Decoding order number (DON) is a field in the payload structure or a
   derived variable that indicates the NAL unit decoding order.
   Rationale and examples of use cases for transmission out of decoding
   order and for the use of DON are given in section 13.

   The coupling of transmission and decoding order is controlled by the
   OPTIONAL sprop-interleaving-depth MIME parameter as follows.  When
   the value of the OPTIONAL sprop-interleaving-depth MIME parameter is
   equal to 0 (explicitly or per default) or transmission of NAL units
   out of their decoding order is disallowed by external means, the
   transmission order of NAL units MUST conform to the NAL unit decoding
   order.  When the value of the OPTIONAL sprop-interleaving-depth MIME
   parameter is greater than 0 or transmission of NAL units out of their
   decoding order is allowed by external means,

   o  the order of NAL units in an MTAP16 and an MTAP24 is NOT REQUIRED
      to be the NAL unit decoding order, and

   o  the order of NAL units generated by decapsulating STAP-Bs, MTAPs,
      and FUs in two consecutive packets is NOT REQUIRED to be the NAL
      unit decoding order.

   The RTP payload structures for a single NAL unit packet, an STAP-A,
   and an FU-A do not include DON.  STAP-B and FU-B structures include
   DON, and the structure of MTAPs enables derivation of DON as
   specified in section 5.7.2.




Wenger, et al.              Standards Track                    [Page 15]

RFC 3984           RTP Payload Format for H.264 Video      February 2005


      Informative note: When an FU-A occurs in interleaved mode, it

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -