New issue 546: Periodic Intra Refresh (PIR) - poor error recovery after NAL 
unit erasure
https://bitbucket.org/multicoreware/x265/issues/546/periodic-intra-refresh-pir-poor-error

Guy Dorman:

Hello,

I am working with periodic intra refresh mode \(--intra-refresh\). I am testing 
the error recovery of the encoded bit stream after erasing a single NAL unit 
and I try to decode the erroneous bit stream. I tried several H.265 decoders 
and all have a problem to recover from the missing NAL unit in reasonable time 
\(I expect recovery to be complete after a PIR cycle but it takes much 
longer\). I made some debug and I think I understand the problems \(at the 
encoder\):

1. On the vertical intra refresh bar, the encoder allows to use intra 
prediction modes larger than 26 \(vertical prediction\). This means that for 
these CU’s, the encoder takes pixels for intra prediction which are from 
top-right of the current CU – at the decoder side, these pixels might be 
“dirty” \(different from the encoder\) due to the missing NAL unit.
2. Inter predicted CU’s to the left side of the refresh intra bar should not do 
motion search and use pixels from the refresh intra bar \(since these pixels 
might be dirty\). Using a video analyzer, I do see CU’s adjacent to the intra 
refresh bar and that have MV’s pointing to the left \(this means they use dirty 
pixels as prediction\).

Is there a way to limit the encoder as follows:?

For CU’s on the intra refresh bar, limit the PM’s to be lower than 27.

For CU’s on the left side of the intra refresh bar, limit motion search such 
that it wont pickup prediction pixels from the refresh bar \(I noticed that the 
encoder includes this limitation in Search::setSearchRange\(\) but effectively, 
using a video analyzer, I see it has no effect\).

Thanks,

Guy


_______________________________________________
x265-devel mailing list
x265-devel@videolan.org
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to