A method of digital video stabilization, the method comprising performing steps on a computing device of: processing of a local motion vector estimation for each of a plurality of frames of each scene of a video segment, wherein the processing of the local motion vector estimation comprises for each said frame: downsampling said each frame and a reference frame associated with said each frame by one or more times to form a plurality of versions of said each frame at a plurality of resolutions, wherein a lowest resolution version of said each frame has a plurality of blocks associated as a pyramid structure to a successively larger number of blocks at corresponding locations in each higher resolution version of said each frame; for the lowest resolution version of said each frame, estimating motion vectors of the blocks of said lowest resolution version frame using a full search motion vector estimation processing of the associated lowest resolution version reference frame; for each successively higher resolution version of said each frame, estimating motion vectors of the blocks of said successively higher resolution version frame using a refinement search starting from the motion vector estimated for the associated block of the preceding lower resolution version frame according to the pyramid structure; and producing estimated local motion vectors for the blocks of the original resolution version of said each frame; processing the estimated local motion vectors of said each frame for estimation of a global motion transform representing jittery video motion, wherein said processing further includes applying temporal smoothing of said global motion transform over a number of neighboring frames of the video segment using a constrained global optimization with an over-smoothing constraint determined by averaging global motion transforms for a predetermined number of neighboring frames used as an upper limit for temporal smoothing; and processing an image warping on said each video segment based on the global motion transform to compensate the jittery video motion. processing of a local motion vector estimation for each of a plurality of frames of each scene of a video segment, wherein the processing of the local motion vector estimation comprises for each said frame: downsampling said each frame and a reference frame associated with said each frame by one or more times to form a plurality of versions of said each frame at a plurality of resolutions, wherein a lowest resolution version of said each frame has a plurality of blocks associated as a pyramid structure to a successively larger number of blocks at corresponding locations in each higher resolution version of said each frame; for the lowest resolution version of said each frame, estimating motion vectors of the blocks of said lowest resolution version frame using a full search motion vector estimation processing of the associated lowest resolution version reference frame; for each successively higher resolution version of said each frame, estimating motion vectors of the blocks of said successively higher resolution version frame using a refinement search starting from the motion vector estimated for the associated block of the preceding lower resolution version frame according to the pyramid structure; and producing estimated local motion vectors for the blocks of the original resolution version of said each frame; downsampling said each frame and a reference frame associated with said each frame by one or more times to form a plurality of versions of said each frame at a plurality of resolutions, wherein a lowest resolution version of said each frame has a plurality of blocks associated as a pyramid structure to a successively larger number of blocks at corresponding locations in each higher resolution version of said each frame; for the lowest resolution version of said each frame, estimating motion vectors of the blocks of said lowest resolution version frame using a full search motion vector estimation processing of the associated lowest resolution version reference frame; for each successively higher resolution version of said each frame, estimating motion vectors of the blocks of said successively higher resolution version frame using a refinement search starting from the motion vector estimated for the associated block of the preceding lower resolution version frame according to the pyramid structure; and producing estimated local motion vectors for the blocks of the original resolution version of said each frame; processing the estimated local motion vectors of said each frame for estimation of a global motion transform representing jittery video motion, wherein said processing further includes applying temporal smoothing of said global motion transform over a number of neighboring frames of the video segment using a constrained global optimization with an over-smoothing constraint determined by averaging global motion transforms for a predetermined number of neighboring frames used as an upper limit for temporal smoothing; and processing an image warping on said each video segment based on the global motion transform to compensate the jittery video motion.