video compression basics
Hello,
I am developing an MPEG 4 Simple Profile Video (Encoder/Decoder) on
TMS320C67x. I am using the TMS320C67x DSK. I am new to Source
coding/video compression. Hence, I have several questions:
1) I do not think I will be able to develop my own Motion Estimation
Algorithm for the Encoder. It is the most MIPS demanding stuff on the
encoder. Will the one provided by MoMuSys be okay ? Or do you
recommend some other already published algorithm (freely available)
....say published in Trans. IEEE ?
3) Just like #2 above, should I use the MoMuSys algorithm(s) for Rate
Control, Error Resilience & Error Concealment ? Or do you suggest some
other published (freely available) algorithms for the above ?
4) For H.261, the frame rate is specified to be 30000/1001
(appx.=29.917) pictures per second. How come they have arrived at such
a fraction ?
5) In H.261: except for the intra DC co-efficients that are uniformly
quantized with a step size of 8, the "dead-zone" is used to quantize
all other co-efficients in "order to remove noise around zero". Could
you please explain what this means ? How does one prove it
theoretically ?
6) Is pixel aspect ratio the same as aspect ratio ?
7) Does picture rate mean the same as frame rate ?
8) In H.263: AC-DC prediction cannot be used in conjunction with
motion compensation. Why is this so ?
9) In H.263: (I found the stuff below in the document at MoTech
....MPEG h.263 doc):
9a) Consider a sub-QCIF picture of 128 x 96: So each GOB will contain
8 macroblocks, and a QCIF picture will contain 8 GOB's. How do we
arrive at this figure ?
9b) This way QCIF will contain 0 GOBs, CIF-18 GOBs, CIF, 4CIF and
16CIF will contain 18 GOB's. How do we arrive at these numbers?
9c) In GOB's, the size of GOB's per picture is fixed. Why ?
10) In MPEG 4 ISO/IEC 14496-2, the following definition is given:
motion compensation: The use of motion vectors to improve the
efficiency of the prediction of sample values. The prediction uses
motion vector to provide offsets into the past and/or future reference
VOPs containing previously "decoded" sample values that are used to
form the prediction error.
Why is the term "decoded" used ? Should it not be "encoded"?
11) Lastly, I was wondering the following: Hopefully, I would be able
to finish the DSP optimization of the MPEG 4 Simple Profile Codec on
TMS320C67x after the end of some months. I need to create a "demo" of
the same in order to exhibit it at some tradeshow ? What does it take
to do so ?
I would be deeply obliged if you can spare your valuable time to
answer my questions.
Regards,
NP
|