Re: [AVTCORE] [payload] Clarifying the H.265 RTP payload format specification's text on when to set the RTP "M" bit

"Mo Zanaty (mzanaty)" <mzanaty@cisco.com> Tue, 27 August 2013 22:58 UTC

Return-Path: <mzanaty@cisco.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9A6A221F9FDE; Tue, 27 Aug 2013 15:58:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level:
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EmhxfMUV1z2M; Tue, 27 Aug 2013 15:58:07 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) by ietfa.amsl.com (Postfix) with ESMTP id 5195A21F9FD5; Tue, 27 Aug 2013 15:58:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=19322; q=dns/txt; s=iport; t=1377644287; x=1378853887; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=m1IodV4vhwp3VKwwMjjzN3Dfqy1McOhoshExXCoohvU=; b=J1E+5lxIBEC+wy8yL38ck5SDgJNnS+QCGJDBSG+vHrJVSiN/cKR/kese nNMJ5bJDY6P5e1L3bzLZW6yAUHtNKMTqYs7vZJ2zi2VkXhTfPFiaVTGgL FwA0nljOX+bKadHJEpgsHmgcCiXT1hZrCrnAJt9gjfPT3iP2IZ/+0QgfC 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AocFAI4uHVKtJV2c/2dsb2JhbABZgkNENYN4u3UBgQwXgQsWdIIkAQEBBAEBASAKTBACAQgRBAEBJAQDAgICJQsUCQgCBA4FiAEMpjaSKo9JFwQGAQmCXzR9A5QVg1qRYIFjgT0
X-IronPort-AV: E=Sophos; i="4.89,971,1367971200"; d="scan'208,217"; a="252472492"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by rcdn-iport-4.cisco.com with ESMTP; 27 Aug 2013 22:58:06 +0000
Received: from xhc-aln-x07.cisco.com (xhc-aln-x07.cisco.com [173.36.12.81]) by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id r7RMw6el019282 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 27 Aug 2013 22:58:06 GMT
Received: from xmb-rcd-x14.cisco.com ([169.254.4.38]) by xhc-aln-x07.cisco.com ([173.36.12.81]) with mapi id 14.02.0318.004; Tue, 27 Aug 2013 17:58:05 -0500
From: "Mo Zanaty (mzanaty)" <mzanaty@cisco.com>
To: "Wang, Ye-Kui" <yekuiw@qti.qualcomm.com>
Thread-Topic: [AVTCORE] [payload] Clarifying the H.265 RTP payload format specification's text on when to set the RTP "M" bit
Thread-Index: AQHOo3jjnEEyNQElLUmyU/ypjzM8DQ==
Date: Tue, 27 Aug 2013 22:58:04 +0000
Message-ID: <75CC2B0E-28F2-452C-9CE5-060DB8DFEE6B@cisco.com>
References: <C1F36850-2B72-4A98-97B7-8847C9C90CB0@live555.com> <3879D71E758A7E4AA99A35DD8D41D3D91D4C7AA7@xmb-rcd-x14.cisco.com> <A0D9B971-CDE0-4AF7-9A70-C280514AEF10@live555.com> <8BA7D4CEACFFE04BA2D902BF11719A83384D4C47@nasanexd02f.na.qualcomm.com> <5D781561-69CD-4E0D-9377-B4B26036E691@live555.com> <8BA7D4CEACFFE04BA2D902BF11719A83384D5FB3@nasanexd02f.na.qualcomm.com> <69F25DB2-6926-4ACA-935D-90376A2A7BFA@live555.com> <8BA7D4CEACFFE04BA2D902BF11719A83384D690F@nasanexd02f.na.qualcomm.com> <A6FDCB43-F221-4BE0-BEDA-1F1E5394DDEC@live555.com> <3879D71E758A7E4AA99A35DD8D41D3D91D4CC65C@xmb-rcd-x14.cisco.com> <F5C111A5-64A6-48AB-BBA8-8812EE49F7ED@live555.com> <8BA7D4CEACFFE04BA2D902BF11719A83384D6FD4@nasanexd02f.na.qualcomm.com> <B995CF20-66A4-47B9-B141-B650290F8DC7@live555.com> <8BA7D4CEACFFE04BA2D902BF11719A83385120E1@nasanexd02f.na.qualcomm.com>
In-Reply-To: <8BA7D4CEACFFE04BA2D902BF11719A83385120E1@nasanexd02f.na.qualcomm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: multipart/alternative; boundary="_000_75CC2B0E28F2452C9CE5060DB8DFEE6Bciscocom_"
MIME-Version: 1.0
Cc: Ross Finlayson <finlayson@live555.com>, "avt@ietf.org" <avt@ietf.org>, "payload@ietf.org" <payload@ietf.org>
Subject: Re: [AVTCORE] [payload] Clarifying the H.265 RTP payload format specification's text on when to set the RTP "M" bit
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avt>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Aug 2013 22:58:14 -0000

I suggest replacing "The content of a NAL unit" with "The NAL unit header". The content does reveal end of access unit boundaries if you're willing to parse/decode it all.

Mo


On Aug 27, 2013, at 12:51 AM, "Wang, Ye-Kui" <yekuiw@qti.qualcomm.com<mailto:yekuiw@qti.qualcomm.com>> wrote:

Hi Ross,

Sorry for a slow response. I started to edit this draft today, and have included the following note after the semantics of the M bit:

Informative note: The content of a NAL unit does not tell whether or not the NAL unit is the last NAL unit, in decoding order, of an access unit.  An RTP sender implementation may obtain this information from the video encoder.  If, however, the implementation cannot obtain this information directly from the encoder, e.g., when the stream was pre-encoded, and also there is no timestamp allocated for each NAL unit, then the sender implementation can inspect subsequent NAL units in decoding order to determine whether or not the NAL unit is the last NAL unit of an access unit as follows.  A NAL unit naluX is the last NAL unit of an access unit if the next VCL NAL unit naluY in decoding order has the high-order bit of the first byte after its NAL unit header equal to 1, and all NAL units between naluX and naluY, when present, have nal_unit_type in the range of 32 to 35, inclusive, equal to 39, in the range of 41 to 44, inclusive, or in the range of 48 to 55, inclusive.

Would you be fine with this wording?

BR, YK


From: avt-bounces@ietf.org<mailto:avt-bounces@ietf.org> [mailto:avt-bounces@ietf.org] On Behalf Of Ross Finlayson
Sent: Monday, August 12, 2013 12:25 PM
To: avt@ietf.org<mailto:avt@ietf.org>; payload@ietf.org<mailto:payload@ietf.org>
Subject: Re: [AVTCORE] [payload] Clarifying the H.265 RTP payload format specification's text on when to set the RTP "M" bit

You just need one more little step to get everything right here, instead of thinking of compromising the implementation ☺

That is, read subclause 7.4.2.4.4 of the HEVC spec. The most relevant paragraphs are copied below for convenience (the first paragraph itself contains the answer to your question, but the second paragraph may also provide helpful information)

Thanks for the info; that was useful.

Here, then is the updated text of a paragraph - to be added after the existing 'M bit' text - that clarifies when/how to set it:
----------
Unfortunately the contents of a NAL unit, alone, do not tell a RTP sender implementation whether or not the NAL unit ends an access unit.  Instead, the implementation may be able to obtain this information separately, from the encoder.  If, however, the implementation cannot obtain this information directly from the encoder (e.g., because the implementation is sending data that consists solely of a sequence of pre-encoded NAL units), then it must instead inspect subsequent NAL units, to determine whether or not the NAL unit ends an access unit.  If the NAL units have already been timestamped, then these timestamps can be used to determine the access unit boundaries.  Otherwise, the access unit boundaries (and times) must be determined by inspecting the NAL units' contents - specifically, the "nal_unit_type" and (for VCL NAL units) the "first_slice_segment_in_pic_flag".  The following rule can be used:
           A NAL unit (X) ends an access unit if the next-occurring VCL NAL unit (Y) has the high-order bit of the first byte after its NAL unit header equal to 1, and all NAL units, if any, between (X) and (Y) have a "nal_unit_type" in one of the following ranges: [32,35], 39, [41,44], or [48,55].
----------

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

_______________________________________________
Audio/Video Transport Core Maintenance
avt@ietf.org<mailto:avt@ietf.org>
https://www.ietf.org/mailman/listinfo/avt