Many programs such as TMPGEnc refer to different stream types. Can someone supply me with a definition of the following (or point me to where an explanation is given):

Elementary stream
System stream
Program stream
Transport stream

In TMPGEnc, what is "system stream" versus "VCD stream"? And what is "program stream" versus "SVCD stream"?

Thanks in advance