IP Library Patent Application 19049553
Patent Application
App. No. 19/049,553

SYSTEM AND METHOD FOR CROPPING IMAGES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
19/049,553
Abstract

A system and method for processing an input image provide for cropping of the input image when the input image is larger, in a process direction, than an output image to be generated from the input image. The method includes determining a first location within the input image corresponding to a first line of the output image to be generated and instructing a Direct Memory Access (DMA) controller to begin reading the input image at the first location, without reading at least some of the preceding image data. The DMA controller reads image data of the input image from data memory starting at the first location. Image data read by the DMA controller from the data memory starting at the first location is received by a crop component and the output image is generated from the image data received.

Claims (37)

1 . A method for processing an image comprising:

for an input image that is larger, in a process direction, than an output image to be generated from the input image, with a crop component, determining a first location within the input image corresponding to a first line of the output image to be generated;

providing the first location to a direct memory access (DMA) controller which is configured for reading image data of an input image from data memory starting at a provided location;

with the crop component, receiving image data read by the DMA controller from the data memory starting at the first location; and

generating the output image from the image data received.

2 . The method of claim 1 , wherein the input image is a raster image and the first location is identified as a byte within a sequence of bytes of the raster image.

3 . The method of claim 1 , wherein image data preceding the first location is not read by the DMA controller from the data memory.

4 . The method of claim 1 , further comprising:

with the crop component, determining a second location within the input image corresponding to a last line of the output image to be generated;

when the image data received by the crop component has reached the second location, signaling to the DMA controller to stop reading the image data from the data memory.

5 . The method of claim 4 , wherein at least some of the image data after the second location is not read from the data memory by the DMA controller.

6 . The method of claim 1 , further comprising, with a host processor, relinquishing control of a data bus to the DMA controller, the DMA controller thereafter transferring the image data read by the DMA controller via the data bus independently of the host processor.

7 . The method of claim 1 , wherein the crop component is configured for further cropping the image data read by the DMA controller to generate the output image.

8 . The method of claim 1 , wherein the input image is stored in a set of blocks in the data memory, each block being associated with a respective descriptor, and wherein the DMA controller is configured for identifying a sequence of the set of blocks to read, based on the descriptors.

9 . The method of claim 8 , wherein the DMA controller identifies a first of the blocks from the descriptors and, if the identified first location is not within the first block, proceeds to a second of the blocks without reading the first block.

10 . The method of claim 8 , wherein each of the descriptors comprises a starting byte and an ending byte of the image data stored in the respective block.

11 . The method of claim 1 , wherein the DMA controller and the crop component are located on a custom hardware device and the host processor is located on a host computing device, host computing device being linked to the custom hardware device by the data bus.

12 . A printing system configured for performing the method of claim 1 and printing the output image.

13 . A computer program product comprising a non-transitory recording medium storing instructions, which when executed on a computer, causes the computer to perform the method of claim 1 .

14 . An image processing system comprising:

data memory which stores an input image to be processed, the input image including image data;

a direct memory access (DMA) controller configured for reading the image data from the data memory;

a crop component which executes instructions for:

determining a first location in the input image, the first location corresponding to a first line of an output image to be generated from the input image, the output image being smaller, in a process direction, than the input image;

providing the first location to the DMA controller;

receiving image data read by the DMA controller from the data memory starting at the first location; and

generating the output image from the received image data.

15 . The system of claim 14 , wherein the input image is stored in a set of blocks in the data memory, each block being associated with a respective descriptor, and wherein the DMA controller is configured for identifying a sequence of the set of blocks to read, based on the descriptors.

16 . The system of claim 14 , wherein the DMA controller is configured for identifying a first of the blocks from the descriptors and, if the identified location is not within the first block, proceeding to a second of the blocks without reading the first block.

17 . The system of claim 14 , wherein the crop component executes instructions for determining a second location within the input image corresponding to a last line of the output image to be generated and wherein when the image data received from the DMA controller has reached the second location, signaling to the DMA controller to stop reading the image data from the data memory.

18 . The system of claim 14 , further comprising a graphical user interface which provides for a user to select a crop option from a plurality of crop options, the plurality of crop options including an automated crop option, wherein when the user selects the automated crop option, the host processor requests the crop component to crop the input image.

19 . The system of claim 14 , further comprising a marking device which prints the output image.

20 . An image processing system comprising:

memory which receives an input image to be processed, the memory including a set of blocks, image data of the input image being partitioned into a plurality of the blocks, each of the blocks being associated, in memory, with an address which enables the image data within the block to be identified;

a crop component, which is configured for generating an output image from the input image;

a DMA controller configured for reading the image data in each of the blocks and transferring the read image data to the crop component, the DMA controller configured for implementing instructions from the crop component which cause the DMA to skip from a first of the blocks to a second of the blocks, without reading the image data in the first block; and

a marking device which receives the output image and renders the output image on a marking medium.