breaking the input signal into segments while calculating DFT
How they break up the input signal into 256 segments?


This is usually done by a sliding a window of a given width (here 256). Depending on the step-size this results in overlapping (if smaller than 256) or non-overlapping (if equal or larger than 256) data segments.


  How each segment was multiplied with the Hamming window?


Usually, by an element-wise multiplication.


  How they calculate 256 DFT points?


The number of DFT points is, if I am not mistaken, determined by the length of the input signal.


  How the frequency spectra was averaged?


All resulting spectra were summed up and divided by the number of spectra.