Subject: [ppsp] PPSP Peer Protocol - Multiple Media Transmission and media synch

From: Alberto José González Cela <[email-masked]>
Date: Fri, 20 Nov 2009 14:54:07 +0100

Dear all,

I don't know if media synchronization is out of the scope of PPSP. However,
in this sense, I would like to ask you if media synchronization can be
included in PPSP standardization.

I think that this issue can be very interesting when proposing PPSP Peer
Protocol standardization. Currently, PPSP proposes to exchange data taking
advantage of the Buffer Map (BM). This BM has the structure shown in :

http://tools.ietf.org/html/draft-zong-ppsp-reqs-02

Which corresponds to the following representation:

 +---+---+---+---+---+---+---+---+---+---+
 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
 +---+---+---+---+---+---+---+---+---+---+

This BM is designed for a Single Description ("single bitstream")
transmission.

What I propose is to allow using a 2 dimensions (2D) BM representation.
Thanks to this, the application can specify multiple-related flows. This can
be easily seen when applying source coding techniques such as MDC (Multiple
Description Coding) or SVC (Scalable Video Coding), where media is composed
of several layers. However, the same happens when we want to transmit
multimedia contents, for instance, video and audio independently (not
contained or multiplexed in a single stream such as when using MPEG-TS).

Thus, the BM can be represented as follows:

        +---+---+---+---+---+---+---+---+---+---+
Layer 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
        +---+---+---+---+---+---+---+---+---+---+

        +---+---+---+---+---+---+---+---+---+---+
Layer 2 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
        +---+---+---+---+---+---+---+---+---+---+

        +---+---+---+---+---+---+---+---+---+---+
Layer 3 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
        +---+---+---+---+---+---+---+---+---+---+

.

.

.

         +---+---+---+---+---+---+---+---+---+---+
Layer N  | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
         +---+---+---+---+---+---+---+---+---+---+

Here, Layer 1, 2,.. N can represent different quality layers of the same
bitstream (considering MDC or SVC). In addition, if we are using video and
audio separately, Layer 1 can correspond to video and Layer 2 to audio. The
BM now is represented by 2 dimension. X-axis represents the Chunk ID (the
same way as the original proposal, allowing temporal ordering), and the
Y-axis denotes the layer where a Chunk belongs to (associates chunks to a
specific stream).

This can be interesting to extend the capabilities of the application in an
easy manner by means of PPSP.

BR,

-- 
Alberto Jose Gonzalez Cela
Universitat Politecnica de Catalunya / i2CAT Foundation

---

From: James Seng <[email-masked]>
Date: Fri, 20 Nov 2009 22:02:03 +0800

Alberto bought up an very interesting point of having technique that carter
for certain media descriptive. Specifically, SVC allows layers that where
some would be essential and some would be optional, but depending what get
drops, the quality of the media would varies.

I think instead of creating a 2 dimensional bitmap, one could achieve the
same effect with a linear bitmap. What is more important in the protocol is
to identify which piece is essential and which piece is optional. Or more
generically, a scalar priority number of each piece, in such a way that the
app can then make decision which they would pick to when they have resource
constraint.

For example, one could discard video and prioritize audio (or vice verse).
(The other challenge is how to sync up video and voice if when that happens
but thats an app problem).

-James Seng

2009/11/20 Alberto José González Cela <[email-masked]>

> _______________________________________________
> ppsp mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/ppsp
>
>

---

From: Alberto José González Cela <[email-masked]>
Date: Fri, 20 Nov 2009 15:16:05 +0100

I agree with the linear bitmap representation. Regarding to scalar priority,
do you mean giving weight to "layers"? In that sense, layers can have a
priority order. However, the application can apply the priority as it
desires (if it already knows what kind of media is going to be distributed
and which features it has).

BR,

Alberto.

2009/11/20 James Seng <[email-masked]>

>> I don't know if media synchronization is out of the scope of PPSP.
>> However, in this sense, I would like to ask you if media synchronization can
>> be included in PPSP standardization.
>>
>> This can be interesting to extend the capabilities of the application in
>> an easy manner by means of PPSP.
>>
>> BR,
>>
>> --

---

From: James Seng <[email-masked]>
Date: Fri, 20 Nov 2009 22:28:17 +0800

Preciesly. The priority would also help in network management, assisting in
network that has certain constraint to "drop" pieces, if need to be. I don't
like network meddling in my data in general but one of the original
intention of PPSP is to help network admin to manage/cache/prioritize P2P
traffic while providing the as much quality as it can within resource
constraint.

-James Seng

> I agree with the linear bitmap representation. Regarding to scalar
> priority, do you mean giving weight to "layers"? In that sense, layers can
> have a priority order. However, the application can apply the priority as it

---

From: "Y.J. Gu" <[email-masked]>
Date: Thu, 26 Nov 2009 10:33:18 +0800

well, how to give weight to layers in a linear bm?

Regards

Yingjie Gu

  _____  

From: [email-masked] [mailto:[email-masked]] On Behalf Of
Alberto José González Cela
Sent: Friday, November 20, 2009 10:16 PM
To: James Seng
Cc: [email-masked]
Subject: Re: [ppsp] PPSP Peer Protocol - Multiple Media Transmission and
media synch

BR,

Alberto.

-James Seng

Dear all, 

.
.
.

BR,

---

From: "Y.J. Gu" <[email-masked]>
Date: Thu, 26 Nov 2009 12:05:41 +0800

Priority is a good idea. When I think about priority, I find there are two
aspects.
On one hand, the requesting peer should know what is essential to itself and
identify the essential pieces in the request messages so that these pieces
can be transmitted earlier and, if applicable, guaranteed. For example,
when switching channel , the first pieces are essential to the delay of
switching, so these pieces should be given high priority in the request
messages.
 
On the other hand, buffer map provided by responsive peers or torrent file
provided by the seeds should show the priority of pieces or chunks, so that
the requesting peers can make a decision which pieces or chunks should be
obtained first when there is a network jam.

Regards

Yingjie Gu

  _____  

From: [email-masked] [mailto:[email-masked]] On Behalf Of
James Seng
Sent: Friday, November 20, 2009 10:28 PM
To: Alberto José González Cela
Cc: [email-masked]
Subject: Re: [ppsp] PPSP Peer Protocol - Multiple Media Transmission and
media synch

-James Seng

BR,

Alberto.

-James Seng

Dear all, 

.
.

.

BR,

---

From: Alberto José González Cela <[email-masked]>
Date: Thu, 26 Nov 2009 14:03:31 +0100

I agree with giving priority to layers.

Regarding to the first aspect pointed out by Yingjie, there is no need to
specify a priority because the requesting peer makes this decision into its
scheduler (for instance requesting the chunks with lower ID in order to
obtain them first). So, here we only need to know the sequence ID of each
chunk.

I think priority should be given to layers, for instance, prioritizing video
over audio (or vice versa) or layer 1 (low quality, CIF resolution) over
layer N (high quality, HD resolution). This can be done when writing the
schedulers of each application. However, in my opinion, the key issue here
is to allow the protocol to specify different layers (by specifying a layer
ID). In this way, the application can decide which chunks of each layer to
order and in what order.
According to this, it can be used the 2 dimensional Buffer Map (BM) or a
linear Buffer Map, which concatenates the rows of the 2 dimensional BM.

Alberto

2009/11/26 Y.J. Gu <[email-masked]>

> On one hand, the requesting peer should know what is essential to itself
> and identify the essential pieces in the request messages so that these
> pieces can be transmitted earlier and, if applicable, guaranteed. For
> example,  when switching channel , the first pieces are essential to the
> delay of switching, so these pieces should be given high priority in the
> request messages.
>
>  ------------------------------
> *From:* [email-masked] [mailto:[email-masked]] *On Behalf Of
> *James Seng
> *Sent:* Friday, November 20, 2009 10:28 PM
>
> *To:* Alberto José González Cela
> *Cc:* [email-masked]
> *Subject:* Re: [ppsp] PPSP Peer Protocol - Multiple Media Transmission and
> media synch
>
>> Alberto bought up an very interesting point of having technique that
>>> carter for certain media descriptive. Specifically, SVC allows layers that
>>> where some would be essential and some would be optional, but depending what
>>> get drops, the quality of the media would varies.
>>>
>>> For example, one could discard video and prioritize audio (or vice
>>> verse). (The other challenge is how to sync up video and voice if when that
>>> happens but thats an app problem).
>>>
>>> -James Seng
>>>

---

From: "zhangyunfei" <[email-masked]>
Date: Fri, 27 Nov 2009 09:56:51 +0800

I like the idea of expressing some degree of priority for different kinds of chunks.
I agree with James and Alberto in the priority issue,i.e.,I think it's reasonable to give priority to some kind of chunks(e.g., audio if there are video together).
However I am not sure about the effect of showing very fine granularity about the priority for different chunks in bitmap.It may make the bitmap complex and heavy-weight.

BR
Yunfei

zhangyunfei
2009-11-27

发件人： Alberto_Jos開Gonz醠ez_Cela
发送时间： 2009-11-26 21:11:14
收件人： Y.J. Gu
抄送： [email-masked]
主题： Re: [ppsp] PPSP Peer Protocol - Multiple Media Transmissionandmedia synch

I agree with giving priority to layers.?

Regarding to the first aspect pointed out by?Yingjie, there is no need to specify a priority because the requesting peer makes this decision into its scheduler (for instance requesting the chunks with lower ID in order to obtain them first). So, here we only need to know the sequence ID of each chunk.

I think priority should be given to layers, for instance, prioritizing video over audio (or vice versa) or layer 1 (low quality, CIF resolution) over layer N (high quality, HD resolution). This can be done when writing the schedulers of each application. However, in my opinion, the key issue here is to allow the protocol to specify different layers (by specifying a layer ID).?In this way, the application can decide which chunks of each layer to order and in what order.
According to this, it can be used the 2 dimensional Buffer Map (BM) or a linear Buffer Map, which concatenates the rows of the 2 dimensional BM.

Alberto

?

?
Priority is a good idea. When I think about priority, I find there are two aspects.
On one hand, the requesting peer should know what is essential to itself and identify the essential pieces in the request messages so that these pieces can be transmitted earlier and, if applicable,?guaranteed. For example,??when switching channel , the first pieces are essential to the delay of switching, so these pieces should be given high priority in the request messages.
?
On the other hand, buffer map?provided by responsive peers or?torrent file provided by the seeds?should show the priority of pieces or chunks, so that the requesting peers can make a decision which pieces or chunks should be obtained first when there is a network jam.
?
?
Regards
Yingjie Gu
?

From: [email-masked] [mailto:[email-masked]] On Behalf Of James Seng
Sent: Friday, November 20, 2009 10:28 PM

Cc: [email-masked]
Subject: Re: [ppsp] PPSP Peer Protocol - Multiple Media Transmission and media synch

Preciesly. The priority would also help in network management, assisting in network that has certain constraint to "drop" pieces, if need to be. I don't like network meddling in my data in general but one of the original intention of PPSP is to help network admin to manage/cache/prioritize P2P traffic while providing the as much quality as it can within resource constraint.

-James Seng

I agree with the linear bitmap representation. Regarding to scalar priority, do you mean giving weight to "layers"? In that sense, layers can have a priority order. However, the application can apply the priority as it desires (if it already knows what kind of media is going to be distributed and which features it has).? 

BR,

Alberto.

Alberto bought up an very interesting point of having technique that carter for certain media descriptive. Specifically, SVC allows layers that where some would be essential and some would be optional, but depending what get drops, the quality of the media would varies.

I think instead of creating a 2 dimensional bitmap, one could achieve the same effect with a linear bitmap. What is more important in the protocol is to identify which piece is essential and which piece is optional. Or more generically, a scalar priority number of each piece, in such a way that the app can then make decision which they would pick to when they have resource constraint.

For example, one could discard video and prioritize audio (or vice verse). (The other challenge is how to sync up video and voice if when that happens but thats an app problem). 

-James Seng

Dear all, 

I don't know if media synchronization is out of the scope of PPSP. However, in this sense, I would like to ask you if media synchronization can be included in PPSP standardization.

I think that this issue can be very interesting when proposing PPSP Peer Protocol standardization. Currently, PPSP proposes to exchange data taking advantage of the Buffer Map (BM). This BM has the structure shown in :

This BM is designed for a Single Description ("single bitstream") transmission.

What I propose is to allow using a 2 dimensions (2D) BM representation. Thanks to this, the application can specify multiple-related flows. This can be easily seen when applying source coding techniques such as MDC (Multiple Description Coding) or SVC (Scalable Video Coding), where media is composed of several layers. However, the same happens when we want to transmit multimedia contents, for instance, video and audio independently (not contained or multiplexed in a single stream such as when using MPEG-TS).

.
.
.

Here, Layer 1, 2,.. N can represent different quality layers of the same bitstream (considering MDC or SVC). In addition, if we are using video and audio separately, Layer 1 can correspond to video and Layer 2 to audio.?The BM now is represented by 2 dimension. X-axis represents the Chunk ID (the same way as the original proposal, allowing temporal ordering), and the Y-axis denotes the layer where a Chunk belongs to (associates chunks to a specific stream).

This can be interesting to extend the capabilities of the application in an easy manner by means of PPSP.

BR,

---

From: "Y.J. Gu" <[email-masked]>
Date: Fri, 27 Nov 2009 13:07:12 +0800

Yes, the requesting peer can identify the important chunks and ask for them
first. And they also need to sign the priority in the messages so that the
intermedia peers(in DHT), the trackers(in tracker-based) or the responsive
peers could be aware that these messages/chunks are important and should be
deal first.
Besides key chunks, high priority should also be given to "maintenance"
messages, e.g. "route table maintenance message" in DHT when a peer is going
to leave and need to transfer its route table to neighbors, which is crucial
to the stability of the overlay. These messages should be recoganized and
deal with priority.
 
Layers also need priority as you said. And as premise, the peers need to
have a plenty of  knowledge of the encodidng specification, e.g. layers and
key chunks, of the target content. These can be described in the torrent
file.

Regards

Yingjie Gu

  _____  

From: Alberto José González Cela [mailto:[email-masked]] 
Sent: Thursday, November 26, 2009 9:04 PM
To: Y.J. Gu
Cc: James Seng; [email-masked]
Subject: Re: [ppsp] PPSP Peer Protocol - Multiple Media Transmission and
mediasynch

Alberto

 

Regards

Yingjie Gu

  _____  

Cc: [email-masked]

-James Seng

BR,

Alberto.

-James Seng

Dear all, 

.
.
.

BR,

---

From: Alberto José González Cela <[email-masked]>
Date: Fri, 27 Nov 2009 15:00:18 +0100

I agree with defining layers and key chunks in the torrent file. This will
reduce the overhead significantly while allows specifying other important
information such as the specification of each layer which can be then used
by the schedulers of the peers.

In fact, this is a similar solution (in essence) to the one we used in the
CoolRuc application. By means of metadata, we specified the kind of media to
be delivered, for instance:

Resource A: SVC
base layer: CIF resolution
enhancement layer 1: SD resolution
enhancement layer 2: HD resolution

Resource B: MDC, mpeg2
number of descriptors: 4
descriptor 1: QCIF resolution
descriptor 2: QCIF resolution
descriptor 3: QCIF resolution
descriptor 4: QCIF resolution

BR,

Alberto.

2009/11/27 Y.J. Gu <[email-masked]>

> *From:* Alberto José González Cela [mailto:[email-masked]]
> *Sent:* Thursday, November 26, 2009 9:04 PM
> *To:* Y.J. Gu
> *Cc:* James Seng; [email-masked]
>
> I think priority should be given to layers, for instance, prioritizing
> video over audio (or vice versa) or layer 1 (low quality, CIF resolution)
> over layer N (high quality, HD resolution). This can be done when writing
> the schedulers of each application. However, in my opinion, the key issue
> here is to allow the protocol to specify different layers (by specifying a
> layer ID). In this way, the application can decide which chunks of each
> layer to order and in what order.
>> *From:* [email-masked] [mailto:[email-masked]] *On Behalf
>> Of *James Seng
>> *Subject:* Re: [ppsp] PPSP Peer Protocol - Multiple Media Transmission
>> and media synch
>>
>>   Preciesly. The priority would also help in network management,
>> assisting in network that has certain constraint to "drop" pieces, if need
>> to be. I don't like network meddling in my data in general but one of the
>> original intention of PPSP is to help network admin to
>> manage/cache/prioritize P2P traffic while providing the as much quality as
>> it can within resource constraint.
>>
>> -James Seng
>>
>>>> I think instead of creating a 2 dimensional bitmap, one could achieve
>>>> the same effect with a linear bitmap. What is more important in the protocol
>>>> is to identify which piece is essential and which piece is optional. Or more
>>>>> I think that this issue can be very interesting when proposing PPSP
>>>>> Peer Protocol standardization. Currently, PPSP proposes to exchange data
>>>>> taking advantage of the Buffer Map (BM). This BM has the structure shown in
>>>>> :
>>>>>
>>>>> Here, Layer 1, 2,.. N can represent different quality layers of the
>>>>> same bitstream (considering MDC or SVC). In addition, if we are using video
>>>>> and audio separately, Layer 1 can correspond to video and Layer 2 to
>>>>> audio. The BM now is represented by 2 dimension. X-axis represents the Chunk
>>>>> ID (the same way as the original proposal, allowing temporal ordering), and
>>>>> the Y-axis denotes the layer where a Chunk belongs to (associates chunks to
>>>>> a specific stream).
>>>>>