I need to encode an video frame(orginalFrame) and for that frame I have
a source that gives me an estimate of the frame (estimateFrame) at
around 32 dB. But I need to increase the quality to around 36-40 dB. I
want to encode the residual Frame(= orginalFrame - estimateFrame).
When I use H.264 to encode the residual Frame (mapped to 0-256, and
Intra coded), it costs much higher to reach the dBs around 36-40 than
directly encoding the orginalFrame. I believe that there must be a
reasonable way to exploit the information given by the estimateFrame to
decrease the bits needed to reach the desired dBs around 36-40. Can
anyone suggest me a way, method or code which can encode a residual
frame efficiently.
Thanks
Burak
> I need to encode an video frame(orginalFrame) and for that frame I have
> a source that gives me an estimate of the frame (estimateFrame) at
> around 32 dB. But I need to increase the quality to around 36-40 dB. I
> want to encode the residual Frame(= orginalFrame - estimateFrame).
Bad idea. H.264 as well as all other video codecs I know use a motion
prediction where they look for blocks in the last frame and just encode
the reference to the last block plus a motion vector plus the prediction
error. By supplying a difference image already, you completely break the
motion prediction.
If the estimated frame is some kind of "previous frame", then supply
that to the encoder directly.
> When I use H.264 to encode the residual Frame (mapped to 0-256, and
> Intra coded), it costs much higher to reach the dBs around 36-40 than
> directly encoding the orginalFrame. I believe that there must be a
> reasonable way to exploit the information given by the estimateFrame to
> decrease the bits needed to reach the desired dBs around 36-40.
Yes, write your own motion predictor. (-: Or use what H.264 has to offer
and leave it to the encoder to make an estimation.
So long,
Thomas