Re: [AVTCORE] [payload] Some changes to rfc3984bis, SVC, and RCDO payload drafts

Roni Even <Even.roni@huawei.com> Sun, 27 March 2011 05:23 UTC

Return-Path: <Even.roni@huawei.com>
X-Original-To: avt@core3.amsl.com
Delivered-To: avt@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B5D243A6991; Sat, 26 Mar 2011 22:23:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -97.339
X-Spam-Level:
X-Spam-Status: No, score=-97.339 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FH_RELAY_NODNS=1.451, FRT_PROFILE1=2.555, HELO_MISMATCH_COM=0.553, HTML_MESSAGE=0.001, J_CHICKENPOX_33=0.6, RDNS_NONE=0.1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WhlhkNzp4E7L; Sat, 26 Mar 2011 22:23:03 -0700 (PDT)
Received: from szxga01-in.huawei.com (unknown [119.145.14.64]) by core3.amsl.com (Postfix) with ESMTP id 6402E3A698E; Sat, 26 Mar 2011 22:23:02 -0700 (PDT)
Received: from huawei.com (szxga05-in [172.24.2.49]) by szxga05-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LIP00HTQB0Q82@szxga05-in.huawei.com>; Sun, 27 Mar 2011 13:24:26 +0800 (CST)
Received: from huawei.com ([172.24.2.119]) by szxga05-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LIP0091LB0PSW@szxga05-in.huawei.com>; Sun, 27 Mar 2011 13:24:26 +0800 (CST)
Received: from windows8d787f9 (dhcp-4795.meeting.ietf.org [130.129.71.149]) by szxml12-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0LIP000AKB092N@szxml12-in.huawei.com>; Sun, 27 Mar 2011 13:24:25 +0800 (CST)
Date: Sun, 27 Mar 2011 07:23:50 +0200
From: Roni Even <Even.roni@huawei.com>
In-reply-to: <B2DE0AFA86565C47BD3A8435550F9553030CFF66@XMB-RCD-201.cisco.com>
To: "'Mo Zanaty (mzanaty)'" <mzanaty@cisco.com>, 'Ye-Kui Wang' <yekui.wang@huawei.com>, payload@ietf.org, avt@ietf.org
Message-id: <003501cbec3f$2d8448d0$888cda70$%roni@huawei.com>
MIME-version: 1.0
X-Mailer: Microsoft Office Outlook 12.0
Content-type: multipart/alternative; boundary="Boundary_(ID_Y4Tbp7ToHbsmjs6ecv17SA)"
Content-language: en-us
Thread-index: Acvm161AAF2A6AC0R/ODLEMZyh1IcgAwzyEAAIkXUFAAnXzNcAACDXKA
iPlanet-SMTP-Warning: Lines longer than SMTP allows found and truncated.
References: <B2DE0AFA86565C47BD3A8435550F9553030CFF66@XMB-RCD-201.cisco.com>
Cc: 'Gary Sullivan' <garysull@microsoft.com>
Subject: Re: [AVTCORE] [payload] Some changes to rfc3984bis, SVC, and RCDO payload drafts
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Sun, 27 Mar 2011 05:23:19 -0000

HI Mo,

When the solution was discussed there are two assumptions

1.        Old implementations (RFC3984) expecting the maxdpb parameter in
kbyes only supported 4:2:0 8-bit and no other color because otherwise using
only Kbytes and not macro blocks will not work for them. 

2.       New implementation(RFC6184 - the assigned RFC number to 3984bis)
expects a value in macroblocks and will interpret the value in maxdpb as
macroblocks.

So see my comments inline

Roni Even

As individual

 

From: payload-bounces@ietf.org [mailto:payload-bounces@ietf.org] On Behalf
Of Mo Zanaty (mzanaty)
Sent: Sunday, March 27, 2011 6:23 AM
To: Ye-Kui Wang; payload@ietf.org; avt@ietf.org
Cc: Gary Sullivan; Roni Even
Subject: Re: [payload] [AVTCORE] Some changes to rfc3984bis, SVC, and RCDO
payload drafts

 

The proposed changes to max-dpb, max-cpb and max-br sacrifice some backward
compatibility with RFC 3984 and forward compatibility with H.264. The latter
seems intentional but the former seems unintentional. Further changes are
needed to fix or clearly convey these incompatibilities.

 

What was discussed and decided regarding max-dpb, max-cpb and max-br in the
ITU/IETF F2F meetings? Based on the original suggested changes (at the end
without color coding), forward compatibility with H.264 appears to be the
focus. But after "further discussions", the newest suggested changes (with
color coding) appear focused on backward compatibility with RFC 3984, but
don't fully achieve this.

 

The problem with RFC 3984 backward compatibility is that changing the units
of max-dpb (from 1024 bytes to 8/3 macroblocks) only works for the 4:2:0
chroma format, which is the primary format used in most profiles and
applications. However, the high profiles support other chroma formats, and
this change breaks backward compatibility for them.

 

RE: See assumption 1

 

For example, consider an RFC 3984 implementation that declares max-dpb=8100
(KB) to support 3 reference frames of 720p at 4:4:4. The proposed change
would misinterpret this declaration to mean 6 reference frames of 720p at
any chroma format including 4:4:4, hence potentially overflowing the old RFC
3984 receiver's DPB by a factor of 2.

 

RE: if the system is old it will calculate the KB and will not start from
MBs and convert. Also we have assumption 1.

 

(Note that H.264 got away with changing MaxDPB since the original 2003
version only supported 4:2:0. When the high profiles which support other
chroma formats were added in 2005, MaxDPB was explicitly redefined in terms
of 4:2:0 so it remains constant across all chroma formats. For further
clarity, MaxDpbMbs later replaced MaxDPB. But RFC 3984 never kept up with
these changes, so implementations are stuck with the 2003 definitions even
for later features such as the high profiles and other chroma formats.)

 

RE: so this is why the two assumption are there.

 

The problem with H.264 forward compatibility is that NOT changing the units
of max-cpb and max-br for the high profiles (to include the scaling factors
1.25/3/4) obviously creates confusion and incompatibility between H.264 and
this bis draft. This seems like an intentional change after "further
discussions" decided to focus on RFC 3984 backward compatibility at the
expense of H.264 forward compatibility.

 

 

Before deciding on specific new text, the WG should decide on whether the
focus of this draft should be backward compatibility with RFC 3984 or
forward compatibility with H.264. Or if the intent is to strike some balance
between the two, then clearly convey the intentional incompatibilities in
the text.

 

Regards,

Mo Zanaty

 

From: avt-bounces@ietf.org [mailto:avt-bounces@ietf.org] On Behalf Of Ye-Kui
Wang
Sent: Monday, March 21, 2011 4:11 AM
To: payload@ietf.org; avt@ietf.org
Subject: Re: [AVTCORE] Some changes to rfc3984bis, SVC,and RCDO payload
drafts

 

Further discussions with the same group of persons led to a decision to stay
with the unscaled units for max-br and max-cpb, thus fewer changes are
needed to the three payload formats listed in the title and H.241. With
this, the changes needed are listed below (the originally suggested changes
are dropped from this email). This time I have highlighted the changes, and
I have also described the nature the changes below. Hope these may help
understand better what have been changed, and can lead to a quicker decision
by the group, including WG chairs, and our AD.

 

BR, YK

 

------------------------------------Start of suggested changes
--------------------------------------

 

Section 8.1:

OLD:

      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 highest level conveyed in the value of the

         profile-level-id parameter or the max-recv-level parameter.

         When max-dpb is signaled, the receiver MUST be able to decode

         NAL unit streams that conform to the signaled highest level,

         with the exception that the MaxDPB value in Table A-1 of [1]

         for the signaled highest 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 fields in its decoded

         picture buffer:

 

            Min(1024 * max-dpb / ( PicWidthInMbs * FrameHeightInMbs *

            256 * ChromaFormatFactor ), 16)

 

         PicWidthInMbs, FrameHeightInMbs, and ChromaFormatFactor are

         defined in [1].

 

         The value of max-dpb MUST be greater than or equal to the value

         of MaxDPB given in Table A-1 of [1] for the highest level.

         Senders MAY use this knowledge to construct coded video streams

         with improved compression.

NEW: (When this change can be considered as editorial can be discussed, but
the nature of this change as follows. On the other hand, if not changed,
then the semantics of max-dpb is simply equivalent to unspecified, as MaxDPB
and ChromaFormatFactor are not found in the latest H.264 spec any more. Note
that compared to RFC 3984, the bits on the wire do not change.)

      max-dpb: The value of max-dpb is an integer indicating the maximum

         decoded picture buffer size in units of 8/3 macroblocks.  The max-

         dpb parameter signals that the receiver has more memory than

         the minimum amount of decoded picture buffer memory required by

         the signaled highest level conveyed in the value of the

         profile-level-id parameter or the max-recv-level parameter.

         When max-dpb is signaled, the receiver MUST be able to decode

         NAL unit streams that conform to the signaled highest level,

         with the exception that the MaxDpbMbs value in Table A-1 of [1]

         for the signaled highest level is replaced with the value of

         max-dpb * 3 / 8.  Consequently, a receiver that signals max-dpb
MUST be

         capable of storing the following number of decoded frames,

         complementary field pairs, and non-paired fields in its decoded

         picture buffer:

 

            Min(max-dpb * 3 / 8 / ( PicWidthInMbs * FrameHeightInMbs), 16)

 

         Wherein PicWidthInMbs and FrameHeightInMbs are defined in [1].

 

         The value of max-dpb MUST be greater than or equal to the value

         of MaxDpbMbs * 3 / 8, wherein the value of MaxDpbMbs is given in 

Table A-1 of [1] for the highest level.

         Senders MAY use this knowledge to construct coded video streams

         with improved compression.

 

 

------------------------------------End of suggested changes
--------------------------------------

 

From: avt-bounces@ietf.org [mailto:avt-bounces@ietf.org] On Behalf Of Ye-Kui
Wang
Sent: Sunday, March 20, 2011 4:21 AM
To: payload@ietf.org; avt@ietf.org
Subject: [AVTCORE] Some changes to rfc3984bis, SVC, and RCDO payload drafts

 

Folks,

 

The three H.264/AVC related payload formats, namely,
draft-ietf-avt-rtp-rfc3984bis-12, draft-ietf-avt-rtp-svc-27, and
draft-ietf-avt-rtp-h264-rcdo-08, are all at the AUTH48 stage.

 

The RFC-Editor has found the following problem: In
draft-ietf-avt-rtp-rfc3984bis-12, the definition of the max-dpb media
parameter refers to the MaxDPB that was defined the first version of the
H.264/AVC spec, but not any more in the latest version (the 2010 version).
The parameter in the latest H.264/AVC version corresponding to MaxDPB is
MaxDpbMbs, and the unit of the new parameter (i.e., macroblocks) is
different from the original one (i.e. 1024 bytes).

 

The problem applies also to the SVC payload format, the RCDO payload format,
and H.241.

 

A solution has been found and agreed, involving rfc3984bis authors and some
key people related to H.264/AVC (e.g., Gary Sullivan and Heiko Schwarz) and
H.241 (e.g., Stephen Botzko and Patrick Luthi). Furthermore, we have found
that there are also a couple of places that need fixes due to similar
changes from the initial version of H.264/AVC to the latest version.

 

Per Roni's suggestion, I am sending in below the changes to
draft-ietf-avt-rtp-rfc3984bis-12 for review by the Payload and AVTcore WGs.
It seems that exactly the same changes are needed to
draft-ietf-avt-rtp-h264-rcdo-08 (co-authors of this draft may confirm), and
similar but slightly different changes are needed to
draft-ietf-avt-rtp-svc-27.

 

Since the drafts are at the AUTH48 stage, please provide comments by Monday,
March 21, if any. Many thanks!

 

BR, YK

 

 

------------------------------------Start of suggested changes
--------------------------------------

 

Section 8.1:

OLD:

      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]).

NEW:

      max-cpb: The value of max-cpb is an integer indicating the maximum

         coded picture buffer size. For Constrained Baseline, Baseline, Main


and Extended profiles, the unit is 1000 bits for the VCL HRD

         parameters and 1200 bits for the NAL HRD parameters. For High, High
10,

High 4:2:2, High 4:4:4 Predictive, High 10 Intra, High 4:2:2 Intra, 

High 4:4:4 Intra and CAVLC 4:4:4 Intra profiles, the unit is cpbBrVclFactor

bits for the VCL HRD and cpbBrNalFactor bits for the NAL HRD parameters.

 

OLD:

      max-br: The value of max-br is an integer indicating the maximum
         video bitrate in units of 1000 bits per second for the VCL HRD
         parameters (see A.3.1, item i of [1]) and in units of 1200 bits
         per second for the NAL HRD parameters (see A.3.1, item j of
         [1]).

NEW: 

      max-br: The value of max-br is an integer indicating the maximum

         video bitrate.  For Constrained Baseline, Baseline, Main 

and Extended profiles, the unit is 1000 bits per second for the VCL HRD

         parameters and 1200 bits per second for the NAL HRD parameters. For
High, High 10,

High 4:2:2, High 4:4:4 Predictive, High 10 Intra, High 4:2:2 Intra, 

High 4:4:4 Intra and CAVLC 4:4:4 Intra profiles, the unit is cpbBrVclFactor

bits per second for the VCL HRD and cpbBrNalFactor bits per second for the
NAL HRD parameters.

 

------------------------------------End of suggested changes
--------------------------------------