Abstract:
Systems, methods and computer program products are disclosed for resampling a digital image. According to an implementation, a source image can be presharpened and upsampled to a first upsampled image having a specified image size and a first level of presharpening. The source image is also presharpened and upsampled to a second upsampled image having the specified image size and second level of presharpening that is less than the first level of presharpening. The first and second upsampled images are deblurred. A binary edge mask image is generated from the deblurred, upsampled images. The binary edge mask image is dilated and blurred to generate a deep mask image. The first and second, deblurred upsampled images are blended together using the deep mask image.
Abstract:
A method of removing unwanted camera motion from a video sequence is provided. The method matches a group of feature points between each pair of consecutive video frames in the video sequence. The method calculates the motion of each matched feature point between the corresponding pair of consecutive video frames. The method calculates a set of historical metrics for each feature point. The method, for each pair of consecutive video frames, identifies a homography that defines a dominant motion between the pair of consecutive frames. The homography is identified by performing a geometrically biased historically weighted RANSAC on the calculated motion of the feature points. The geometrically biased historically weighted RANSAC gives a weight to the calculated motion of each feature point based on the historical metrics calculated for the feature point. The method removes the unwanted camera motion from the video sequence using the identified homographies.
Abstract:
Embodiments of the present disclosure provide a method and system for sharing information between a first computing device and a second computing device. In the described embodiments, an optical label, such as, for example a QR code, is generated on the first computing device. In embodiments, the optical label is color encoded and displayed in such a way that the optical label is not perceptible to a user. The second computing device may capture the encoded optical label and subject the captured images to a processing technique that decodes the encoded optical label.
Abstract:
Techniques to permit a digital image capture device to stabilize a video stream in real-time (during video capture operations) are presented. In general, techniques are disclosed for stabilizing video images using an overscan region and a look-ahead technique enabled by buffering a number of video input frames before generating a first stabilized video output frame. (Capturing a larger image than is displayed creates a buffer of pixels around the edge of an image; overscan is the term given to this buffer of pixels.) More particularly, techniques are disclosed for buffering an initial number of input frames so that a “current” frame can use motion data from both “past” and “future” frames to adjust the strength of a stabilization metric value so as to keep the current frame within its overscan. This look-ahead and look-behind capability permits a smoother stabilizing regime with fewer abrupt adjustments.
Abstract:
A barcode decoding system and method are disclosed that use a data-driven classifier for transforming a potentially degraded barcode signal into a digit sequence. The disclosed implementations are robust to signal degradation through incorporation of a noise model into the classifier construction phase. The run-time computational cost is low, allowing for efficient implementations on portable devices. Implementations are disclosed for intelligent preview scaling, barcode-aware autofocus augmentation and multi-scale signal feature extraction.
Abstract:
A user interface enables a user to calibrate the position of a three dimensional model with a real-world environment represented by that model. Using a device's sensor, the device's location and orientation is determined. A video image of the device's environment is displayed on the device's display. The device overlays a representation of an object from a virtual reality model on the video image. The position of the overlaid representation is determined based on the device's location and orientation. In response to user input, the device adjusts a position of the overlaid representation relative to the video image.
Abstract:
Techniques and devices for creating a Forward-Reverse Loop output video and other output video variations. A pipeline may include obtaining input video and determining a start frame within the input video and a frame length parameter based on a temporal discontinuity minimization. The selected start frame and the frame length parameter may provide a reversal point within the Forward-Reverse Loop output video. The Forward-Reverse Loop output video may include a forward segment that begins at the start frame and ends at the reversal point and a reverse segment that starts after the reversal point and plays back one or more frames in the forward segment in a reverse order. The pipeline for the generating Forward-Reverse Loop output video may be part of a shared resource architecture that generates other types of output video variations, such as AutoLoop output videos and Long Exposure output videos.
Abstract:
Techniques and devices for creating an AutoLoop output video by adding synthetic camera motion to the AutoLoop output video. The AutoLoop output video is created from a set of frames. After generating the AutoLoop output video based on a plurality of loop parameters and at least a portion of the frames, synthetic camera motion is combined with the AutoLoop output video. The synthetic camera loop is based on the subset of the input frames and exhibits some amount of camera motion for the subset of the input frames. Once the synthetic camera loop is generated, the synthetic camera loop and the video loop is combined to enhance the AutoLoop output video.
Abstract:
A method of removing unwanted camera motion from a video sequence is provided. The method matches a group of feature points between each pair of consecutive video frames in the video sequence. The method calculates the motion of each matched feature point between the corresponding pair of consecutive video frames. The method calculates a set of historical metrics for each feature point. The method, for each pair of consecutive video frames, identifies a homography that defines a dominant motion between the pair of consecutive frames. The homography is identified by performing a geometrically biased historically weighted RANSAC on the calculated motion of the feature points. The geometrically biased historically weighted RANSAC gives a weight to the calculated motion of each feature point based on the historical metrics calculated for the feature point. The method removes the unwanted camera motion from the video sequence by using the identified homographies.
Abstract:
A barcode decoding system and method are disclosed that use a data-driven classifier for transforming a potentially degraded barcode signal into a digit sequence. The disclosed implementations are robust to signal degradation through incorporation of a noise model into the classifier construction phase. The run-time computational cost is low, allowing for efficient implementations on portable devices. Implementations are disclosed for intelligent preview scaling, barcode-aware autofocus augmentation and multi-scale signal feature extraction.