Systems and methods for uploading image files
AssigneeWalgreen Co.
InventorsBenjamin Weiss, Abraham Jeyaraj
Life of this patent
Estimating the term…
Abstract
Systems and methods for uploading image files to a print server are provided. Parallel processing techniques may be utilized to improve the upload speed. As one example, the systems and methods may resize image files having a resolution exceeding a maximum useful resolution prior to transmission. The maximum useful resolution is determined based on a printer resolution and a print size. As another example, the image files may be transmitted to the print server as a multithreaded stream of image files.
Claims17
A method for uploading a plurality of image files via an application executing on an electronic device, wherein the electronic device includes a plurality of processors including a central processing unit (CPU) and a graphics processing unit (GPU), and a memory coupled to the plurality of processors, the method comprising:
- causing the plurality of processors to present an image file selection interface in the application executing on the electronic device;
- receiving, via the image file selection interface, a selection of image files, each image file having an image resolution;
- the application causing the plurality of processors to identify a print size for each image file in the selection of image files;
- the application causing the plurality of processors to retrieve a maximum resolution associated with a printer;
- for each image file in the selection of image files, the application causing the plurality of processors to calculate a maximum useful resolution for the image file based on the maximum resolution of the printer and the print size for the image file;
- the application causing the plurality of processors to determine a set of image files within the selection of image files, wherein for each image file in the set of image files, the image resolution is greater than the maximum useful resolution;
- the application causing the GPU to resize image files from the set of image files in parallel, wherein the image files are resized from the respective image resolution to the respective maximum useful resolution;
- and
- the application causing the one or more processors to transmit from the electronic device, over a communications network and to a print server, the selection of image files as a multithreaded stream of image files, wherein (i) a first image file of the selection of image files is transmitted via a first thread (ii) a second image file of the selection of image files is transmitted via a second thread, and (iii) the selection of image files includes the resized image file for image files within the set of image files.
An electronic device for uploading a plurality of image files, the electronic device comprising:
- one or more transceivers;
- a plurality of processors;
- and
- one or more non-transitory memories coupled to the plurality of processors,
- wherein the one or more non-transitory memories include computer executable instructions stored therein that, when executed by the plurality of processors, cause the electronic device to:
- present an image file selection interface;
- receiving, via the image file selection interface, a selection of image files, each image file having an image resolution;
- identify a print size for each image file in the selection of image files;
- retrieve a maximum resolution associated with a printer;
- for each image file in the selection of image files, calculate a maximum useful resolution for the image file based on the maximum resolution of the printer and the print size for the image file;
- determine a set of image files within the selection of image files, wherein for each image file in the set of image files, the image resolution is greater than the maximum useful resolution;
- resize the image files within the set of image files from the respective image resolution to the respective maximum useful resolution;
- and
- transmit to a print server, via the one or more transceivers, a multithreaded stream of image files from the selection of image files, wherein (i) a first image file of the selection of image files is transmitted via a first thread (ii) a second image file of the selection of image files is transmitted via a second thread, and (iii) the selection of image files includes the resized image file for image files within the set of image files.
Dependencies are inferred from the claim text.