<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="IncrediMail 1.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY style="BACKGROUND-POSITION: 0px 0px; FONT-SIZE: 12pt; FONT-FAMILY: " background="" scroll=yes ORGYPOS="0">
<TABLE id=INCREDIMAINTABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD id=INCREDITEXTREGION style="FONT-SIZE: 12pt; CURSOR: auto; FONT-FAMILY: Arial" width="100%">
<DIV> </DIV>
<DIV> </DIV>
<DIV id=IncrediOriginalMessage><I>-------Original Message-------</I></DIV>
<DIV> </DIV>
<DIV id=receivestrings>
<DIV dir=ltr style="FONT-SIZE: 11pt" <i><B>From:</B></I> <A href="mailto:x264-devel@videolan.org">x264-devel@videolan.org</A></DIV>
<DIV dir=ltr style="FONT-SIZE: 11pt" <i><B>Date:</B></I> 01/17/07 07:45:23</DIV>
<DIV dir=ltr style="FONT-SIZE: 11pt" <i><B>To:</B></I> <A href="mailto:x264-devel@videolan.org">x264-devel@videolan.org</A></DIV>
<DIV dir=ltr style="FONT-SIZE: 11pt" <i><B>Subject:</B></I> [x264-devel] Re: AW: Re: Error Concealment</DIV></DIV>
<DIV> </DIV>
<DIV>Ok Ryan, In that case suppose we lost the 3rd macroblock of the 2nd slice in a picture containing 3 slices. </DIV>
<DIV>Do we need to conceal the whole slice (2nd slice) or only the 3rd macroblock in the 2nd slice? </DIV>
<DIV> </DIV>
<DIV><BR><BR> </DIV>
<DIV><SPAN class=gmail_quote>On 1/17/07, <B class=gmail_sendername>Ryan Dalzell</B> <<A href="mailto:x264@tullyroan.com">x264@tullyroan.com</A>> wrote:</SPAN>
<DIV class=gmail_quote style="MARGIN: 0px 0px 0px 0.8ex; rem_PADDING-LEFT: 1ex; rem_BORDER-LEFT: #ccc 1px solid">On Wednesday 17 January 2007 12:38, List, Peter wrote:<BR>> > -----Ursprüngliche Nachricht-----<BR>> > Von: <A href="mailto:x264-devel-bounce@videolan.org">x264-devel-bounce@videolan.org</A> [mailto:<A href="mailto:x264-devel-">x264-devel-</A><BR>> > <A href="mailto:bounce@videolan.org">bounce@videolan.org</A>] Im Auftrag von Ryan Dalzell <BR>> > Gesendet: Mittwoch, 17. Januar 2007 13:28<BR>> > An: <A href="mailto:x264-devel@videolan.org">x264-devel@videolan.org</A><BR>> ><BR>> > Betreff: [x264-devel] Re: Error Concealment<BR>> > <BR>> > On Wednesday 17 January 2007 09:53, Awadh Bihari wrote:<BR>> > > Please let me know how to detect the slice loss at the decoder side.<BR>> > > It can only be detected if active sps/pps is not equal to sps/pps ? <BR>> > Due to arbitrary slice order and the fact that slice headers do not<BR>> > tell<BR>> > you how many macroblocks are in the slice (and assuming you are<BR>> > receiving<BR>> > the video data over a network), I believe that the only way is to <BR>> > actually<BR>> > decode each slice and count the number of macroblocks that it<BR>> > contributes<BR>> > to a picture. Then, after a suitable period of time to allow late<BR>> > packets <BR>> > to arrive, if you still haven't decoded all the macroblocks of a<BR>> > picture<BR>> > then you have lost some slices.<BR>><BR>> I dont see why you need to count anything. The slice always tells you <BR>> where it's locates in the frame, so you just dump the macroblocks to<BR>> that place. If you have arbitrary slice order, things get more difficult,<BR>> but in principle it should be the same. You should be able to detect <BR>> when the next frame starts (by POC and/or frame_number). If that happens<BR>> you can finalize the previous frame, and that's it. Am I missing<BR>> something<BR>> here?<BR><BR>Yes, I think you are. Let's say that your receive six slices for a picture <BR>before a slice with a different POC arrives. Is this all the slices for<BR>that picture, or are there supposed to be seven and one got lost? You can't<BR>tell, short of decoding all the slices and counting the number of <BR>macroblocks provided.<BR><BR>This gets even worse when slices can be out of order across picture<BR>boundaries. I have searched high and low the spec and I cannot find a<BR>statement that precludes this from happening. (Of course, due to the lack <BR>of plain English in the spec it could be there.) Also this could happen<BR>when packets become reordered due to network jitter or taking different<BR>routes. Then you don't even know that you have the last slice you are going <BR>to get when the POC changes. So you have to wait a while to see if there<BR>are more packets to arrive containing slices for the current picture.<BR><BR>IMO, it's pretty horrible and ASO is a good example of a little extra <BR>flexibility with not much real value but with a high cost in real world<BR>systems.<BR><BR>Cheers,<BR>-Ryan<BR><BR>--<BR>This is the x264-devel mailing-list<BR>To unsubscribe, go to: <A href="http://developers.videolan.org/lists.html">http://developers.videolan.org/lists.html</A><BR><BR></DIV></DIV><BR>
<DIV> </DIV></TD></TR>
<TR>
<TD id=INCREDIFOOTER width="100%">
<TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD width="100%"></TD>
<TD id=INCREDISOUND vAlign=bottom align=middle></TD>
<TD id=INCREDIANIM vAlign=bottom align=middle></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><SPAN id=IncrediStamp><SPAN dir=ltr><A href="http://www.incredimail.com/index.asp?id=54475"><IMG alt="Add FUN to your email - CLICK HERE!" hspace=0 src="http://www2.incredimail.com/contents/stamps/imstp_emo_en.gif" align=baseline border=0></A></SPAN></SPAN></BODY></HTML>