RFC 3984 - RTP Payload Format for H.264 Video(5)

时间:2006-10-31 来源: 作者: 点击:
largerthanthevalueofPDON,theDONdistanceisequaltoDON- PDON.Otherwise,theDONdistanceisequalto65535-PDON+DON +1. oNALunitsaredeliveredtothedecoderinascendingorderofDON distance.IfseveralNALunitssharethe
  
      larger than the value of PDON, the DON distance is equal to DON -
      PDON.  Otherwise, the DON distance is equal to 65535 - PDON + DON
      + 1.

   o  NAL units are delivered to the decoder in ascending order of DON
      distance.  If several NAL units share the same value of DON
      distance, they can be passed to the decoder in any order.

   o  When a desired number of NAL units have been passed to the
      decoder, the value of PDON is set to the value of DON for the last
      NAL unit passed to the decoder.

7.3.  Additional De-Packetization Guidelines

   The following additional de-packetization rules may be used to
   implement an operational H.264 de-packetizer:

   o  Intelligent RTP receivers (e.g., in gateways) may identify lost
      coded slice data partitions A (DPAs).  If a lost DPA is found, a
      gateway may decide not to send the corresponding coded slice data
      partitions B and C, as their information is meaningless for H.264
      decoders.  In this way a MANE can reduce network load by
      discarding useless packets without parsing a complex bitstream.

   o  Intelligent RTP receivers (e.g., in gateways) may identify lost
      FUs.  If a lost FU is found, a gateway may decide not to send the
      following FUs of the same fragmented NAL unit, as their
      information is meaningless for H.264 decoders.  In this way a MANE
      can reduce network load by discarding useless packets without
      parsing a complex bitstream.

   o  Intelligent receivers having to discard packets or NALUs should
      first discard all packets/NALUs in which the value of the NRI
      field of the NAL unit type octet is equal to 0.  This will
      minimize the impact on user experience and keep the reference
      pictures intact.  If more packets have to be discarded, then
      packets with a numerically lower NRI value should be discarded
      before packets with a numerically higher NRI value.  However,
      discarding any packets with an NRI bigger than 0 very likely leads
      to decoder drift and SHOULD be avoided.

8.  Payload Format Parameters

   This section specifies the parameters that MAY be used to select
   optional features of the payload format and certain features of the
   bitstream.  The parameters are specified here as part of the MIME
   subtype registration for the ITU-T H.264 | ISO/IEC 14496-10 codec.  A
   mapping of the parameters into the Session Description Protocol (SDP)
   [5] is also provided for applications that use SDP.  Equivalent
   parameters could be defined elsewhere for use with control protocols
   that do not use MIME or SDP.

   Some parameters provide a receiver with the properties of the stream
   that will be sent.  The name of all these parameters starts with
   "sprop" for stream properties.  Some of these "sprop" parameters are
   limited by other payload or codec configuration parameters.  For
   example, the sprop-parameter-sets parameter is constrained by the
   profile-level-id parameter.  The media sender selects all "sprop"
   parameters rather than the receiver.  This uncommon characteristic of
   the "sprop" parameters may not be compatible with some signaling
   protocol concepts, in which case the use of these parameters SHOULD
   be avoided.

8.1.  MIME Registration

   The MIME subtype for the ITU-T H.264 | ISO/IEC 14496-10 codec is
   allocated from the IETF tree.

   The receiver MUST ignore any unspecified parameter.

   Media Type name:     video

   Media subtype name:  H264

   Required parameters: none

   OPTIONAL parameters:
       profile-level-id:
                        A base16 [6] (hexadecimal) representation of
                        the following three bytes in the sequence
                        parameter set NAL unit specified in [1]: 1)
                        profile_idc, 2) a byte herein referred to as
                        profile-iop, composed of the values of
                        constraint_set0_flag, constraint_set1_flag,
                        constraint_set2_flag, and reserved_zero_5bits
                        in bit-significance order, starting from the
                        most significant bit, and 3) level_idc.  Note
                        that reserved_zero_5bits is required to be
                        equal to 0 in [1], but other values for it may
                        be specified in the future by ITU-T or ISO/IEC.

                        If the profile-level-id parameter is used to
                        indicate properties of a NAL unit stream, it
                        indicates the profile and level that a decoder
                        has to support in order to comply with [1] when
                        it decodes the stream.  The profile-iop byte
                        indicates whether the NAL unit stream also
                        obeys all constraints of the indicated profiles
                        as follows.  If bit 7 (the most significant
                        bit), bit 6, or bit 5 of profile-iop is equal
                        to 1, all constraints of the Baseline profile,
                        the Main profile, or the Extended profile,
                        respectively, are obeyed in the NAL unit
                        stream.

                        If the profile-level-id parameter is used for
                        capability exchange or session setup procedure,
                        it indicates the profile that the codec
                        supports and the highest level
                        supported for the signaled profile.  The
                        profile-iop byte indicates whether the codec
                        has additional limitations whereby only the
                        common subset of the algorithmic features and
                        limitations of the profiles signaled with the
                        profile-iop byte and of the profile indicated
                        by profile_idc is supported by the codec.  For
                        example, if a codec supports only the common
                        subset of the coding tools of the Baseline
                        profile and the Main profile at level 2.1 and
                        below, the profile-level-id becomes 42E015, in
                        which 42 stands for the Baseline profile, E0
                        indicates that only the common subset for all
                        profiles is supported, and 15 indicates level
                        2.1.

                            Informative note: Capability exchange and
                            session setup procedures should provide
                            means to list the capabilities for each
                            supported codec profile separately.  For
                            example, the one-of-N codec selection
                            procedure of the SDP Offer/Answer model can
                            be used (section 10.2 of [7]).

                        If no profile-level-id is present, the Baseline
                        Profile without additional constraints at Level
                        1 MUST be implied.

       max-mbps, max-fs, max-cpb, max-dpb, and max-br:
                        These parameters MAY be used to signal the
                        capabilities of a receiver implementation.
                        These parameters MUST NOT be used for any other
                        purpose.  The profile-level-id parameter MUST
                        be present in the same receiver capability
                        description that contains any of these
                        parameters.  The level conveyed in the value of
                        the profile-level-id parameter MUST be such
                        that the receiver is fully capable of
                        supporting.  max-mbps, max-fs, max-cpb, max-
                        dpb, and max-br MAY be used to indicate
                        capabilities of the receiver that extend the
                        required capabilities of the signaled level, as
                        specified below.

                        When more than one parameter from the set (max-
                        mbps, max-fs, max-cpb, max-dpb, max-br) is
                        present, the receiver MUST support all signaled
                        capabilities simultaneously.  For example, if
                        both max-mbps and max-br are present, the
                        signaled level with the extension of both the
                        frame rate and bit rate is supported.  That is,
                        the receiver is able to decode NAL unit
                        streams in which the macroblock processing rate
                        is up to max-mbps (inclusive), the bit rate is
                        up to max-br (inclusive), the coded picture
                        buffer size is derived as specified in the
                        semantics of the max-br parameter below, and
                        other properties comply with the level
                        specified in the value of the profile-level-id
                        parameter.

                        A receiver MUST NOT signal values of max-
                        mbps, max-fs, max-cpb, max-dpb, and max-br that
                        meet the requirements of a higher level,

                        referred to as level A herein, compared to the
                        level specified in the value of the profile-
                        level-id parameter, if the receiver can support
                        all the properties of level A.

                            Informative note: When the OPTIONAL MIME
                            type parameters are used to signal the
                            properties of a NAL unit stream, max-mbps,
                            max-fs, max-cpb, max-dpb, and max-br are
                            not present, and the value of profile-
                            level-id must always be such that the NAL
                            unit stream complies fully with the
                            specified profile and level.

       max-mbps:        The value of max-mbps is an integer indicating
                        the maximum macroblock processing rate in units
                        of macroblocks per second.  The max-mbps
                        parameter signals that the receiver is capable
                        of decoding video at a higher rate than is
                        required by the signaled level conveyed in the
                        value of the profile-level-id parameter.  When
                        max-mbps is signaled, the receiver MUST be able
                        to decode NAL unit streams that conform to the
                        signaled level, with the exception that the
                        MaxMBPS value in Table A-1 of [1] for the
                        signaled level is replaced with the value of
                        max-mbps.  The value of max-mbps MUST be
                        greater than or equal to the value of MaxMBPS
                        for the level given in Table A-1 of [1].
                        Senders MAY use this knowledge to send pictures
                        of a given size at a higher picture rate than
                        is indicated in the signaled level.

       max-fs:          The value of max-fs is an integer indicating
                        the maximum frame size in units of macroblocks.
                        The max-fs parameter signals that the receiver
                        is capable of decoding larger picture sizes
                        than are required by the signaled level conveyed
                        in the value of the profile-level-id parameter.
                        When max-fs is signaled, the receiver MUST be
                        able to decode NAL unit streams that conform to
                        the signaled level, with the exception that the
                        MaxFS value in Table A-1 of [1] for the
                        signaled level is replaced with the value of
                        max-fs.  The value of max-fs MUST be greater
                        than or equal to the value of MaxFS for the
                        level given in Table A-1 of [1].  Senders MAY
                        use this knowledge to send larger pictures at a

                        proportionally lower frame rate than is
                        indicated in the signaled level.

       max-cpb          The value of max-cpb is an integer indicating
                        the maximum coded picture buffer size in units
                        of 1000 bits for the VCL HRD parameters (see
                        A.3.1 item i of [1]) and in units of 1200 bits
                        for the NAL HRD parameters (see A.3.1 item j of
                        [1]).  The max-cpb parameter signals that the
                        receiver has more memory than the minimum
                        amount of coded picture buffer memory required
                        by the signaled level conveyed in the value of
                        the profile-level-id parameter.  When max-cpb
                        is signaled, the receiver MUST be able to
                        decode NAL unit streams that conform to the
                        signaled level, with the exception that the
                        MaxCPB value in Table A-1 of [1] for the
                        signaled level is replaced with the value of
                        max-cpb.  The value of max-cpb MUST be greater
                        than or equal to the value of MaxCPB for the
                        level given in Table A-1 of [1].  Senders MAY
                        use this knowledge to construct coded video
                        streams with greater variation of bit rate
                        than can be achieved with the
                        MaxCPB value in Table A-1 of [1].

                            Informative note: The coded picture buffer
                            is used in the hypothetical reference
                            decoder (Annex C) of H.264.  The use of the
                            hypothetical reference decoder is
                            recommended in H.264 encoders to verify
                            that the produced bitstream conforms to the
                            standard and to control the output bitrate.
                            Thus, the coded picture buffer is
                            conceptually independent of any other
                            potential buffers in the receiver,
                            including de-interleaving and de-jitter
                            buffers.  The coded picture buffer need not
                            be implemented in decoders as specified in
                            Annex C of H.264, but rather standard-
                            compliant decoders can have any buffering
                            arrangements provided that they can decode
                            standard-compliant bitstreams.  Thus, in
                            practice, the input buffer for video
                            decoder can be integrated with de-
                            interleaving and de-jitter buffers of the
                            receiver.

       max-dpb:         The value of max-dpb is an integer indicating
                        the maximum decoded picture buffer size in
                        units of 1024 bytes.  The max-dpb parameter
                        signals that the receiver has more memory than
                        the minimum amount of decoded picture buffer
                        memory required by the signaled level conveyed
                        in the value of the profile-level-id parameter.
                        When max-dpb is signaled, the receiver MUST be
                        able to decode NAL unit streams that conform to
                        the signaled level, with the exception that the
                        MaxDPB value in Table A-1 of [1] for the
                        signaled level is replaced with the value of
                        max-dpb.  Consequently, a receiver that signals
                        max-dpb MUST be capable of storing the
                        following number of decoded frames,
                        complementary field pairs, and non-paired
------分隔线----------------------------
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容