RE: [AVT] RTP streaming and adaptation to AVC of an SVC temporal scalable bitstream - Packet loss

<Ye-Kui.Wang@nokia.com> Tue, 21 August 2007 11:37 UTC

Return-path: <avt-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1INS2g-00086S-6s; Tue, 21 Aug 2007 07:37:02 -0400
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1INS2f-000866-5N for avt@ietf.org; Tue, 21 Aug 2007 07:37:01 -0400
Received: from smtp.nokia.com ([131.228.20.170] helo=mgw-ext11.nokia.com) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1INS2e-0002KO-EK for avt@ietf.org; Tue, 21 Aug 2007 07:37:01 -0400
Received: from esebh108.NOE.Nokia.com (esebh108.ntc.nokia.com [172.21.143.145]) by mgw-ext11.nokia.com (Switch-3.2.5/Switch-3.2.5) with ESMTP id l7LBaRVn032528; Tue, 21 Aug 2007 14:36:49 +0300
Received: from esebh104.NOE.Nokia.com ([172.21.143.34]) by esebh108.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 21 Aug 2007 14:36:35 +0300
Received: from trebe101.NOE.Nokia.com ([172.22.124.61]) by esebh104.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 21 Aug 2007 14:36:35 +0300
x-mimeole: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Subject: RE: [AVT] RTP streaming and adaptation to AVC of an SVC temporal scalable bitstream - Packet loss
Date: Tue, 21 Aug 2007 14:36:33 +0300
Message-ID: <1C1F3D15859526459B4DD0A7A9B2268B03C1B455@trebe101.NOE.Nokia.com>
In-Reply-To: <008201c7e3e4$0e2dce00$11010a0a@bsoft007>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [AVT] RTP streaming and adaptation to AVC of an SVC temporal scalable bitstream - Packet loss
Thread-Index: Acfj5BeD/yzU3aClSWeKdSTFP6u51wAAKXCA
References: <008201c7e3e4$0e2dce00$11010a0a@bsoft007>
From: Ye-Kui.Wang@nokia.com
To: daniele@bsoft.info
X-OriginalArrivalTime: 21 Aug 2007 11:36:35.0294 (UTC) FILETIME=[8775BFE0:01C7E3E7]
X-Nokia-AV: Clean
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 3002fc2e661cd7f114cb6bae92fe88f1
Cc: avt@ietf.org
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
Errors-To: avt-bounces@ietf.org

Hi Daniele,

See inline, please. 

BR, YK 

>-----Original Message-----
>From: ext daniele renzi (bsoft) [mailto:daniele@bsoft.info] 
>Sent: Tuesday, August 21, 2007 2:12 PM
>To: Wang Ye-Kui (Nokia-NRC/Tampere)
>Cc: avt@ietf.org
>Subject: Re: [AVT] RTP streaming and adaptation to AVC of an 
>SVC temporal scalable bitstream - Packet loss
>
>Dear Ye Kui,
>
>I've been doing a little more thinking about the solution of 
>having layer specific sequence numbers and I got the following 
>conclusions (please correct me if something is wrong):
>- each combination of temporal_id (3 bits), dependency_id (3 
>bits) and quality_id (5 bits) completely identify a scalable layer;

An error from myself: quality_id is of 4 bits, not 5 bits. 
Otherwise yes if a scalable layer is defined as a combintion of the
three variables DTQ. In some exotic cases, a scalable layer may also be
a subset of NAL units of a combinaiton of DTQ, e.g. when
region-of-interest (ROI) scalability is in use. 

>- the streamer should keep a separate sequence number variable 
>for any of these layers (combination of temporal_id, 
>dependency_id and quality_id);
>- separate sequence number variables don't mean different 
>fields in the RTP payload header (NALU header), as any NALU 
>belongs to a specific layer and not to other layers (1:1 
>mapping between NALU and layer);
>- so, we'd have just one additional field in the NALU header 
>(16 bit, like sequence number in RTP); this field could be 
>added just to the prefix NALUs syntax to save some bandwidth; 
>this wouldn't make the RTP payload structure that ugly, at 
>least in my opinion...;

This is true if you never encapsulate NALUs with different values of DTQ
in the same packet. But the thing gets complicated when considering
aggregation packets, and more when considering interleaved packetization
mode. But you are right that probably nobody would ever encapsulate NAL
units from the maximum possible number of layers into one packet,
therefore the number of layer specific sequence numbers would never
reach the maximum, 8x8x16. But anyway, then a loop of layers is needed,
and an ID of layer is needed in addition to each sequence number. 

>- I agree that having a prefix NALU for any slice NALU would 
>definitely increase the bandwidth occupation and that for 
>temporal scalability the SEI message based solution could be 
>better; however, this would mean that in any SVC streaming 
>scenario the single RTP session mode must be used in 
>conjunction with the sub-sequence SEI message to prevent 
>packet loss problems when dropping higher layers;

Prefix NAL unit can only be associated with NALUs with dependency_id and
quality_id both equal to 0. 

>- if everything above is correct, I suppose that without this 
>additional layer-specific sequence number field, in any case 
>the smoother way to handle packet losses is transporting 
>different layers of a SVC bitstream in different RTP sessions.
>

The conclusion is correct to me. Yet another solution with single RTP
session, without sub-sequence info SEI message, without PACSI or prefix
NAL unit, is to let the adapter parse the slice header. Then together
with normal RTP sequence number the adapter should be able to detect any
loss of any layer.

BR, YK

>Thanks
>
>BR,
>
>Daniele
>
>Daniele Renzi
>bSoft -- www.bsoft.info
>+39-0733-57707  (tel/fax)
>

_______________________________________________
Audio/Video Transport Working Group
avt@ietf.org
https://www1.ietf.org/mailman/listinfo/avt