From Wikipedia:

A zero-order hold reconstructs the following continuous-time waveform from a sample sequence $x[n]$, assuming one sample per time interval $T$: $$x_{\mathrm{ZOH}}(t)\,= \sum_{n=-\infty}^{\infty} x[n]\cdot \mathrm{rect} \left(\frac{t-T/2 -nT}{T} \right) \ $$ where $\mathrm{rect}()$ is the rectangular function.

We can refer to $\mathrm{rect}()$ also as one-dimensional rectangular function. For example, the product of two one-dimensional rect functions can be viewed as a rect function in two dimension, i.e. a function that has the value 1 on the square of side length 1 centered at the origin, and has the value 0 outside this square. I am wondering if there exists, for example, a two dimensional version of ZOH for a signal in two variable, $x(t_1,t_2)$.

Thanks in advance.


1 Answer 1


Yes there exists a 2D analog of the 1D zero order hold for image reconstruction, whose mathematical formulation follows closely that of 1D case as: $$I_{\mathrm{ZOH}}(x,y)\,= \sum_{n=-\infty}^{\infty} \sum_{m=-\infty}^{\infty} x[n,m]\cdot \operatorname{rect} \left( {x-nT_x,y-mT_y} \right) $$

Where $x[n,m]$ is the spatial samples of 2D image to be reconstructed, $T_x$ and $T_y$ are sampling periods in $x$ and $y$ dimensions (which are generally equal in practice) and the $\operatorname{rect}()$ function is a 2D rectengular pulse of height one and durations $T_x$ and $T_y$ along the dimensions.

The zero order hold interpolation can easily be observed when you enlarge an image through an image editor by not using any smooth interpolation methods but just repeated filling of those new enlarged pixels.

In particular just use, for example, IrfanView to open any image and choose Image->Resize from menu, then choose to enlarge the image from the options in the coming window, and finally choose "Resize (faster, lo quality)" option from the "Size Methods" sections about lower right corner (for version 4.40)

If you instead choose "smooth" methods, they will fill in the pixels with calculated intermediate values, therefore implementing higher order holds than zero.

  • $\begingroup$ Thank you, this is very interesting! Do you know any references on the 2D zero order hold? $\endgroup$
    – Mark
    Commented Feb 27, 2016 at 18:06
  • 1
    $\begingroup$ I dont know of a book in which a chapter is devoted to zero order hold, but in many formal DSP textbooks, which deal with "Sampling, Reconstruction and Interpolation" it is generally discussed as a prelude to the subject, or as a special case of a general mechanism. For example Oppenheim's systems and Signals or Discrete Time Signal Processing books discuss (specifically for 1D) case of zero order hold . Also Jae Lim's 2D Signal and Image Processing book also briefly mentions the above formula before discussing more elaborate techniques. Also look at Fundamentals of Image Processing by Jain $\endgroup$
    – Fat32
    Commented Feb 27, 2016 at 18:22
  • $\begingroup$ Dear Fat32, I have an interesting question for you: dsp.stackexchange.com/questions/78172/… $\endgroup$
    – SheppLogan
    Commented Sep 9, 2021 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.