Systems and methods for applying a residual error image
Abstract
Systems and methods described herein enable a residual error image to be added and rendered in an existing HTML canvas using native primitives. A current image and a residual error image containing pixel value differences between the current image and an updated image are received. A positive residual error image and a negative error image are generated from the residual error image. The positive residual error image is added to the current image to generate a partially updated image, and the partially updated image is xored to generate an inverse image. The negative residual error image is added to the inverse image to generate an updated inverse image, and xoring the inverse image to revert the inverse image to generate the updated image.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
receiving a request for a video from a client;
creating a respective residual error image for each of one or more images of the video, wherein each residual error image shows changes in pixel values in a current image to create an updated image; and
for each residual error image:
generating a positive residual error image from the residual error image that contains the positive error pixel values of the residual error image,
generating a negative residual error image from the residual error image that contains the negative error pixel values of the residual error image,
providing the residual error image to the client as the pair of the positive error image and the negative error image for application to the current image to display the updated image.
2. The method of claim 1 , wherein the positive residual error image has a zero in place of each corresponding pixel value in the residual error image that is negative and a corresponding positive value of each corresponding pixel value in the residual error image that is positive.
3. The method of claim 1 , wherein the negative residual error image has a zero in place of each corresponding pixel value in the residual error image that is positive and a corresponding absolute value of each corresponding pixel value in the residual error image that is negative.
4. The method of claim 1 , wherein creating the residual error image for an image of the video includes using macro-block matching.
5. The method of claim 4 , wherein the macro-block matching results in positive and negative pixel values.
6. A method comprising:
transmitting a request for a video from a server;
receiving a positive residual error image generated using positive error values of a residual error image and a negative residual error image generated from negative error values of the residual error image; and
separately applying the positive residual error image and the negative residual error image to a current image of the video to generate an updated image of the video.
7. The method of claim 6 , wherein the positive residual image has a zero in place of each corresponding pixel value in the residual error image that is negative and a corresponding positive value of each corresponding pixel value in the residual error image that is positive.
8. The method of claim 6 , wherein the negative residual image has a zero in place of each corresponding pixel value in the residual error image that is positive and a corresponding absolute value of each corresponding pixel value in the residual error image that is negative.
9. The method of claim 6 , wherein applying the positive residual error image and the negative residual error image to a current image of the video comprises:
summing the pixel values of the positive residual error image to corresponding pixel values of the current image;
xoring the partially updated image to generate an inverse image;
summing the pixel values of the negative residual error image to corresponding pixel values of the inverse image to generate an updated inverse image; and
xoring the inverse image to revert the inverse image to generate the updated image of the video.
10. A method comprising:
transmitting, by a client, a request for a video from a server;
receiving an absolute value image generated from a residual error image of an image of the video;
receiving a portable network graphics (PNG) image with a 1-bit alpha mask;
using the PNG image to deconstruct positive and negative error values from the absolute value image to generate a positive error image and a negative error image; and
applying the positive residual error image and the negative residual error to a current image of the video to generate an updated image of the video.
11. The method of claim 10 , wherein the absolute value image includes an absolute value of the pixel value differences between the current image and the updated image.
12. The method of claim 10 , wherein the 1-bit alpha mask allows the positive error pixel values and negative error pixel values from the absolute value residual image to be deconstructed.
13. The method of claim 10 , wherein the positive residual image has a zero in place of each corresponding pixel value in the residual error image that is negative and a corresponding positive value of each corresponding pixel value in the residual error image that is positive.
14. The method of claim 10 , wherein the negative residual image has a zero in place of each corresponding pixel value in the residual error image that is positive and a corresponding absolute value of each corresponding pixel value in the residual error image that is negative.
15. The method of claim 10 , wherein applying the positive residual error image and the negative residual error image to a current image of the video comprises:
summing the pixel values of the positive residual error image to corresponding pixel values of the current image;
xoring the partially updated image to generate an inverse image;
summing the pixel values of the negative residual error image to corresponding pixel values of the inverse image to generate an updated inverse image; and
xoring the inverse image to revert the inverse image to generate the updated image of the video.Join the waitlist — get patent alerts
Track US10108594B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.