Skip to main content

HESP - High Efficiency Streaming Protocol
draft-theo-hesp-06

Document Type Active Internet-Draft (individual)
Author Pieter-Jan Speelmans
Last updated 2024-04-17
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-theo-hesp-06
# Document Shepherd Writeup


Technical Summary:


   This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personnal:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## Document History

1. Does the working group (WG) consensus represent the strong concurrence of a
   few individuals, with others being silent, or did it reach broad agreement?

   It's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

2. Was there controversy about particular points, or were there decisions where
   the consensus was particularly rough?

   There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If
   so, please summarize the areas of conflict in separate email messages to the
   responsible Area Director. (It should be in a separate email because this
   questionnaire is publicly available.)

   No

4. For protocol documents, are there existing implementations of the contents of
   the document? Have a significant number of potential implementers indicated
   plans to implement? Are any existing implementations reported somewhere,
   either in the document itself (as [RFC 7942][3] recommends) or elsewhere
   (where)?

    There is at least a partial implementations of the model in openSCHC, see (*) at the end of this writeup


### Additional Reviews

5. Does this document need review from other IETF working groups or external
   organizations? Have those reviews occurred?

   No such thing

6. Describe how the document meets any required formal expert review criteria,
   such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.

   The document was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

7. If the document contains a YANG module, has the final version of the module
   been checked with any of the [recommended validation tools][4] for syntax and
   formatting validation? If there are any resulting errors or warnings, what is
   the justification for not fixing them at this time? Does the YANG module
   comply with the Network Management Datastore Architecture (NMDA) as specified
   in [RFC 8342][5]?

   Yes, the document was validated through IETF YANG tools including yangson, see (*) at the end of this writeup


8. Describe reviews and automated checks performed to validate sections of the
   final version of the document written in a formal language, such as XML code,
   BNF rules, MIB definitions, CBOR's CDDL, etc.

   There's only YANG

### Document Shepherd Checks

9. Based on the shepherd's review of the document, is it their opinion that this
   document is needed, clearly written, complete, correctly designed, and ready
   to be handed off to the responsible Area Director?

   Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

11. What type of RFC publication is being requested on the IETF stream (Best
    Current Practice, Proposed Standard, Internet Standard, Informational,
    Experimental, or Historic)? Why is this the proper type of RFC? Do all
    Datatracker state attributes correctly reflect this intent?


Proposed Standard, which makes sense for such content. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good; there could have been a ref to YANG. Also I suggested to move the LoRa reference to informational

16. List any normative references that are not freely available to anyone. Did
    the community have sufficient access to review any such normative
    references?

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

19. Will publication of this document change the status of any existing RFCs? If
    so, does the Datatracker metadata correctly reflect this and are those RFCs
    listed on the title page, in the abstract, and discussed in the
    introduction? If not, explain why and point to the part of the document
    where the relationship of this document to these other RFCs is discussed.

    no

20. Describe the document shepherd's review of the IANA considerations section,
    especially with regard to its consistency with the body of the document.
    Confirm that all aspects of the document requiring IANA assignments are
    associated with the appropriate reservations in IANA registries. Confirm
    that any referenced IANA registries have been clearly identified. Confirm
    that each newly created IANA registry specifies its initial contents,
    allocations procedures, and a reasonable name (see [RFC 8126][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

21. List any new IANA registries that require Designated Expert Review for
    future allocations. Are the instructions to the Designated Expert clear?
    Please include suggestions of designated experts, if appropriate.

    none

[1]: https://www.ietf.org/about/groups/iesg/
[2]: https://www.rfc-editor.org/rfc/rfc4858.html
[3]: https://www.rfc-editor.org/rfc/rfc7942.html
[4]: Internet-Draft                    HESP                        April 2024

   *  Each media sample of the Initialization Stream MUST be independent
      (i.e., an I frame in H.264) and individually addressable (the
      latter is currently always true for HESP.)
   *  Initialization Packets MUST contain a reference to the subsequent
      sample in the Continuation Segment, where this subsequent sample
      MUST be either independent (i.e., an I frame in H.264) or
      dependent on the media sample directly preceding it in decode
      order (i.e., a P frame referencing only the previous frame.)  If
      the subsequent sample does not meet this constraint, then this
      Initialization Packet MUST NOT be published.  Instead, the last
      valid Initialization Packet MUST be returned if this Sequence
      Number is queried.

   The Continuation Stream for Tracks of the Compatibility Profile must
   satisfy the following requirements:

   *  Continuation Segments SHOULD NOT exceed a duration of 30 seconds.
   *  Each CMAF Fragment of the Continuation Segment MUST contain at
      most the amount of media samples of a sub-GOP (defined below.)
   *  The following GOP structure must be followed in the underlying
      H.264 stream: I, B (repeated n times), P, B (repeated n times), P,
      where n lies between 0 and 4.
   *  Each sub-GOP (B ... B P) MUST depend on at most one previous frame
      (allowing for keyframe insertion.)

C.2.1.  Example

   Figure 5 depicts a part of H.264 output of 7 frames, sorted in decode
   order.  The dependencies of each frame are shown with arrows.

                      ______________________________________
                      |                     |       |       |
                      V                     |       |       |
          +----+  +----+  +----+  +----+  +----+  +----+  +----+
          |####|  |%%%%|  |%%%%|  |%%%%|  |@@@@|  |@@@@|  |@@@@|
          | I1 |  | P4 |  | B2 |  | B3 |  | P7 |  | B5 |  | B6 |
          +----+  +----+  +----+  +----+  +----+  +----+  +----+
              ^     |  ^     |       |        ^      |       |
              |_____|  |     |       |        |______|       |
              |        |     |       |        |              |
              |________|_____|       |        |______________|
              |                      |
              |______________________|

                Figure 5: Continuation stream with sub-GOPs

Speelmans                Expires 19 October 2024               [Page 78]
Internet-Draft                    HESP                        April 2024

C.2.1.1.  Sub GOPs

   A "sub-GOP" defines a set of B and P frames that only depend on one
   previous frame.

   In Figure 5, there are 3 sub-GOPs:

   *  sub-GOP 1 (####) contains only a single I frame.
   *  sub-GOP 2 (%%%%) contains a P frame (P4) that only depends on I1;
      all B frames depend on I1 and P4.
   *  sub-GOP 3 (@@@@) contains a P frame (P7) that only depends on P4;
      all B frames depend on P7 and P4.

C.2.1.2.  Initialization Packets

   An Initialization Packet can be published if the subsequent media
   sample of the Continuation Stream depends on at most one previous
   frame.

   For Figure 5, this is the case at the following positions:

   *  position 1: an Initialization Packet can be published.  It will
      contain IDR1 (a keyframe matching the timestamp of I1) and will
      reference P4, the subsequent media sample of the Continuation
      Stream that only depends on I1.  On the client-side, the media
      data will be decoded with IDR1 inserted at the location of I1.
   *  position 4: an Initialization Packet can be published.  It will
      contain IDR4 (a keyframe matching the timestamp of P4) and will
      reference P7, the subsequent media sample of the Continuation
      Stream that only depends on P4.  On the client-side, the media
      data will be decoded with IDR4 inserted at the location of P4.

   A client requesting an Initialization Packet at other time positions
   must receive the most recent valid Initialization Packet.  For
   example, that means that a request for an Initialization Packet at
   position 2 in Figure 5 must return the Initialization Packet at
   position 1.

Author's Address

   Pieter-Jan Speelmans (editor)
   THEO Technologies
   Leuven
   Belgium
   Email: pieter-jan.speelmans@theoplayer.com

Speelmans                Expires 19 October 2024               [Page 79]