Monday, July 31, 2006

JM 7.3 Software for H.264 Video Coding

After spending about 2 weeks on Channel Coding Im back to Source Coding precisely Video Coding.H.264/AVC is a video coding standard developed by the JVT in 2003.It includes many optional features allowing a complexity-performance trade-off.For more info about H.264 u can read the Overview paper:- Overview of the H. 264/AVC video coding standard[pdf] by T Wiegand, GJ Sullivan, G Bjntegaard, A Luthra.

The JM 7.3 software deals with the implementation of H.264 Video Coding.It has been written using the C Language.I will be spending about a week (hopefully!!) going through the software,making some changes to it.The input and Output(Reconstructed video files are in the YUV Format.I came across some trivial things which are basic in the C language.U can skip what comes next if u are familiar with the Basic Definitions in C.

Trivia:

1. .h files contain declarations of variables.
2.The corresponding(same name) .c file contains the functions.The header file can
be used in any number of programs w/o writing the code again and again.
3.#ifndef(If not Defined):-To prevent bad effects from a double include, it is common to surround the body in the include file with the following (where MYHEADER_H is replaced by a name that is appropriate for your program).
Eg:-
#ifndef MYHEADER_H
#define MYHEADER_H
. . . // This will be seen by the compiler only once
#endif /* MYHEADER_H */
4.Extern:A declaration to assert to the compiler that the definition for an
object or function is in another file.If you want to make a variable available to every file
in a project you declare it globally in one file, that is, not inside a function, and add an extern declaration of that variable to a header file that is included in all the other files.


Sunday, July 30, 2006

Repeat Accumulate Codes by David MacKay

Repeat-Accumulate[pdf]
Algo:-
1.Consider K source Bits s1s2s3....sk.
2.Repeat each bit three times,giving N=3K bits.
3.Permute these N bits using a random permutation giving u1u2....uN
4,Transmit the accumulated sum t1=u1,t2=u1+u2...........
5.That's it.

This simple coding schemes gets surprisingly close to the Shannon Limit!!!!

Saturday, July 29, 2006

Efficient LDPC Encoding by Rich,Urbanke(Read:07/29/06)

Efficient encoding of low-density parity-check codes[pdf]:-

The Encoding and Decoding operations for LDPC Codes have a complexity of O(N^2).This remarkable paper tries to complete the operations in a linear time.Infact,it has a complexity of 0.017^2* n2,which is linear even for large block lengths n.

A new method called approximate lower triangulation method is used which retains the sparcity of H as very less transformations are performed.Greedy Algorithms are used for finding the approximate lower triangule which gives a good idea of the Greedy Algo.