Image forming apparatus, method for controlling the same, and storage medium

Provided is a mechanism for setting whether to enable a shift function for shifting the sheet on which the image is printed in accordance with detection of the original.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an image forming apparatus, a method for controlling the same, and a storage medium.

Description of the Related Art

Some image forming apparatuses have a plurality of discharge destinations (discharge trays), and can set which of the discharge destinations to be use and set the priority orders of the discharge destinations on a job-by-job basis. Assume, for example, an image forming apparatus with three discharge destinations (discharge trays 1, 2, 3), in which the priority orders of the discharge destinations in a copy job are as follows: the discharge tray 2 is given the first priority, the discharge tray 1 is given the second priority, and the discharge tray 3 is given the third priority. In this case, printouts of a copy job are discharged to the discharge tray 2, unless there is any particular reason. In the case where the function and the sheet type set for a copy job are not fit for the discharge tray 2 but are fit for the discharge tray 1, discharge is performed using the discharge tray 1, which comes second in the priority order.

Meanwhile, some discharge trays have a shift function, which is one of discharge functions. Shift is a function for outputting printouts such that they are shifted by approximately 1 cm on a copy-by-copy basis, thereby making it easy to sort the printouts. As a user is less likely to recognize the shift function as something that should be manually set, the shift function is generally set with preset values (default). Some discharge trays have the shift function while others do not have such a shift function; therefore, there are cases in which the designated priority orders of discharge destinations contradict the shift setting. In the case where a discharge destination that cannot perform shift and the shift function are designated concurrently, control may be performed so as to place priority on discharge using the designated discharge destination, that is to say, perform discharge without performing shift (priority on the discharge destination).

Japanese Patent Laid-Open No. 2009-91092 proposes a technique to enable acceptance or appropriate handling by a sheet post-processing apparatus even if there is a discrepancy in the settings of “processing” and “discharge destination” transmitted from an image forming apparatus.

However, the foregoing conventional techniques have the following problems. For example, in the case where the shift function is designated with preset values, even if a discharge tray that cannot perform shift has a high priority order, placing priority on the shift function results in discharge using a discharge tray that can perform shift unless the user specifically cancels the shift. That is to say, even in the case where the discharge destination and the discharge destination priority orders set by the user are designated, there is a possibility that printouts are not output to a desired discharge destination. On the other hand, as stated earlier, if control is performed to place priority on the discharge destination, even in the case where the user wishes to use the shift function, there is a possibility that printouts are discharged without being shifted unless a discharge destination having a high priority order does not have the shift function.

SUMMARY OF THE INVENTION

The present invention enables realization of a mechanism for setting whether to enable a shift function for shifting the sheet on which the image is printed in accordance with detection of the original.

One aspect of the present invention provides an image forming apparatus, comprising: a detecting unit configured to detect an original; a reading unit configured to read an image of the original detected by the detecting unit; a printing unit configured to print the image read by the reading unit on a sheet; and a setting unit configured to set whether to enable a shift function for shifting the sheet on which the image is printed by the printing unit in accordance with detection of the original by the detecting unit.

Another aspect of the present invention provides a control method for controlling an image forming apparatus, comprising: detecting an original; reading an image of the detected original; printing the read image on a sheet; and setting whether to enable a shift function for shifting the sheet on which the image is printed in accordance with detection of the original.

Still another aspect of the present invention provides a non-transitory computer readable storage medium for storing a computer program for executing a control method for controlling an image forming apparatus, the computer program comprising: a code to detect an original; a code to read an image of the detected original; a code to print the read image on a sheet; and a code to set whether to enable a shift function for shifting the sheet on which the image is printed in accordance with detection of the original.

DESCRIPTION OF THE EMBODIMENTS

First Embodiment

Configuration of Image Forming Apparatus

The following describes a first embodiment of the present invention with reference toFIGS. 1A to 15. First, with reference toFIGS. 1A and 1B, a description is given of a hardware configuration of an image forming apparatus according to the present embodiment. A multi-function peripheral (MFP)100will be described as an example of the image forming apparatus according to the present embodiment.FIGS. 1A and 1Brespectively show the configuration and appearance of the MFP100.

The MFP100includes a controller101, a scanner102, a document feeder103, a printer104, a finisher105, and a network interface106. The controller101controls the MFP100and has a hardware configuration shown inFIG. 2. The scanner engine102is controlled by the controller101and reads images from the originals. The document feeder103is controlled by the controller101and sends the originals to be read to the scanner engine102, one by one.

The printer104is controlled by the controller101, is connected to the finisher105, and outputs recording mediums (for example, sheets of paper) on which printing has been conducted to the finisher105. The finisher105can collectively staple and shift a plurality of recording mediums output from the printer104. The finisher105is also controlled by the controller101.

The network (Ethernet) interface106provides the controller101with bidirectional communication via itself, and is connected to a personal computer107via a network. An operation unit108displays information from the controller101, accepts user input, and notifies the controller101of the user input.

As shown inFIG. 1B, the finisher105is provided with three discharge trays110,111,112as discharge destinations of recording mediums. The discharge tray110does not have a shift function, whereas the discharge trays111,112have the shift function.

With reference toFIG. 2, a description is now given of a configuration of the controller101of the MFP100according to the present embodiment. The controller101includes a CPU201, a ROM203, a RAM204, a hard disk controller205, an HDD206, an input/output interface210, and a device interface211. The CPU201is a central processing unit that controls the entirety of the present apparatus. The CPU201is connected to various components by a bus202, such as a data bus. The ROM203stores fixed programs and data, such as a boot program and BIOS. The RAM204is a main storage apparatus, and functions as a working memory that provides a working area for the execution of processing by the CPU201. The RAM204stores an auto sort flag (auto setting flag)301, discharge destination information302, an inter-job shift flag303, a sort flag304, and a previous shift position305. The RAM204also stores the number of copies219, the number of pages220, a discharge destination221, a shift position222, a discharge destination flag223, and an end flag224. The details of these pieces of information will be described later.

The hard disk controller205controls the hard disk apparatus (HDD)206, which is an example of a storage device, so as to store various types of data into the HDD206and retrieve stored data. This HDD206stores a control program212for controlling the entirety of this system, control data213, image data218, and the like.

A liquid crystal display (LCD)207is an example of a display unit, and displays virtual keys (hereinafter referred to as buttons) and information to be presented to a user. A touchscreen208is arranged on the upper surface of the LCD207, and detects the positions (coordinates) of the operations made by the user with respect to the above-mentioned buttons. Hardware keys209are a plurality of keys (switches) constituted by hardware items. The LCD207, the touchscreen208, and the hardware keys209constitute the operation unit108shown inFIGS. 1A and 1B. A device setting key215, a start key216, and numeric keys217are included as the hardware keys209.

The input/output interface210is intended to connect to the LCD207, the touchscreen208, and the hardware keys209. The device interface211is intended to connect to the printer104and the scanner102. The CPU201controls the printer104and the scanner102via the device interface211. In addition, the device statuses of the printer104and the scanner102are transferred to the CPU201via the device interface211. The device interface211may be something simple, such as an interrupt controller, or may be configured to be highly independent with a complicated internal control mechanism. In either case, the CPU201processes the device statuses transferred from the printer104and the scanner102as events. The CPU201also performs control and device status detection with regard to the finisher105and the document feeder103via the device interface211, similarly to the printer104and the scanner102. The document feeder103is provided with an original detection sensor214.

The following describes the processing flows of the apparatus according to the present embodiment using flowcharts. The substances of the flowcharts described below are recorded as control programs in one of the ROM203, RAM204, and HDD206, and sequentially read and executed by the CPU201. First, with reference toFIG. 3, a description is given of processing for the case in which a change in the device status has been received as an event.

In step S101, the CPU201detects a change in the device status as an event. Subsequently, in step S102, the CPU201determines the type of the event detected in step S101. The event types assumed here include pressing of the device setting key, pressing of a finish button, detection of the originals, pressing of the numeric keys, pressing of the start key, and reception of a print request.

If the event detected in step S101is pressing of the device setting key215, the processing proceeds to step S103. The device setting key215is included among the hardware keys provided in the operation unit108. The user's pressing of the device setting key215is detected by the CPU201, via the input/output interface210, as a device setting key pressing event. The details of step S103will be described later with reference toFIG. 4.

If the event detected in step S101is pressing of the finish button, the processing proceeds to step S104. A screen400ofFIG. 11is a basic screen for copy displayed on the LCD207. The user's pressing of an area corresponding to a finish button401displayed on the basic screen400is detected by the CPU201, via the touchscreen208and the input/output interface210, as a finish button pressing event. The details of step S104will be described later with reference toFIG. 5.

If the event detected in step S101is detection of the originals, the processing proceeds to step S105. The document feeder103is provided with the original detection sensor214; when the user places the originals on the document feeder103, the original detection sensor214detects the originals. The detection of the originals by the original detection sensor214is detected by the CPU201, via the device interface211, as an original detection event. The details of step S105will be described later with reference toFIG. 6.

If the event detected in step S101is pressing of the numeric keys217, the processing proceeds to step S106. The numeric keys217are included among the hardware keys provided in the operation unit108. The user's pressing of the numeric keys217is detected by the CPU201, via the input/output interface210, as a numeric key pressing event. In step S106, the CPU201sets the number of copies in accordance with the numeric keys detected in step S101. The set number of copies219is held in the RAM204. A detailed description of the process of step S106will be omitted.

If the event detected in step S101is pressing of the start key216, the processing proceeds to step S107. The start key216is included among the hardware keys provided in the operation unit108. The user's pressing of the start key216is detected by the CPU201, via the input/output interface210, as a start key pressing event. The details of step S107will be described later with reference toFIG. 7.

If the event detected in step S101is reception of a print request, the processing proceeds to step S108. If the network interface106receives a print request from the PC and the like, the CPU201detects the reception as a print request event. The details of step S108will be described later with reference toFIG. 8.

With reference toFIG. 4, a description is now given of the details of device setting processing of the above-mentioned step S103. First, in step S201, the CPU201displays a device setting screen on the LCD207. Reference sign501ofFIG. 12represents an example of the device setting screen. An auto sort setting start button502, a discharge destination setting start button503, an inter-job shift setting start button504, and a close button505are arranged on the device setting screen501.

In step S202, the CPU201detects a change in the device status as an event. Subsequently, in step S203, the CPU201determines the type of the event detected in step S202. If the event detected in step S202is pressing of the auto sort setting start button502, the processing proceeds to step S204. If the event detected in step S202is pressing of the discharge destination setting start button503, the processing proceeds to step S215. If the event detected in step S202is pressing of the inter-job shift setting start button504, the processing proceeds to step S216. If the event detected in step S202is pressing of the close button505, the processing proceeds to step S217.

In step S204, the CPU201displays an auto sort setting screen on the LCD207. It should be noted that, in the processes of step S204onward, the CPU201functions as an auto setting unit.FIG. 13shows an example of the auto sort setting screen. An auto sort setting button602, an auto sort cancel button603, an OK button606, and a cancel button607are arranged on the auto sort setting screen601. In addition, depending on the circumstances, an auto shift setting button604and an auto shift cancel button605are displayed. The initial display status of the auto sort setting screen601is determined by the content of the auto sort flag301. The auto sort flag301, which is held in the RAM204, is auto setting information indicating whether auto sort and auto shift are valid or invalid.

As shown inFIG. 10, the auto sort flag301has a value “ON (valid)” or “OFF (invalid)” for each one of auto sort and auto shift. If it is “ON”, a sort type or shift in the sort flag304is set to “ON” when the original detection sensor214has detected the originals, as will be described later with reference toFIG. 6.

For example, in the case where auto sort is “ON” and auto shift is “OFF”, the auto sort setting screen601ofFIG. 13is displayed. In the case where auto sort is “OFF”, an auto sort setting screen610ofFIG. 13is displayed. That is to say, in the case where auto sort is “ON”, the auto sort setting button602is displayed in a pressed status (with shading inFIG. 13), and the auto sort cancel button603is displayed in a non-pressed status (no shading).

On the other hand, in the case where auto sort is “OFF”, the auto sort setting button602is displayed in the non-pressed status, and the auto sort cancel button603is displayed in the pressed status. In addition, in the case where auto sort is “ON”, the auto shift setting button604and the auto shift cancel button605are displayed, and in the case where auto sort is “OFF”, the auto shift setting button604and the auto shift cancel button605are not displayed. Furthermore, in the case where auto shift is “ON”, the auto shift setting button604is displayed in the pressed status, and the auto shift cancel button605is displayed in the non-pressed status. In the case where auto shift is “OFF”, the auto shift setting button604is displayed in the non-pressed status, and the auto shift cancel button605is displayed in the pressed status.

In step S205, the CPU201detects a change in the device status as an event. In step S206, the CPU201determines the type of the event detected in step S205. If the event detected in step S205is pressing of the auto sort setting button602, the processing proceeds to step S207. If the event detected in step S205is pressing of the auto sort cancel button603, the processing proceeds to step S209. If the event detected in step S205is pressing of the auto shift setting button604or pressing of the auto shift cancel button605, the processing proceeds to step S211. If the event detected in step S205is pressing of the OK button606, the processing proceeds to step S213. If the event detected in step S205is pressing of the cancel button607, the processing proceeds to step S214.

In step S207, the CPU201changes the display of the auto sort setting button602into an inverted status, thereby placing the same into the pressed status, and places the display of the auto sort cancel button603into the non-pressed status. Subsequently, in step S208, the CPU201displays the auto shift setting button604and the auto shift cancel button605, and returns to the process of step S205.

In step S209, the CPU201changes the display of the auto sort setting button602into an inverted status, thereby placing the same into the non-pressed status, and places the display of the auto sort cancel button603into the pressed status. Subsequently, in step S210, the CPU201places the auto shift setting button604and the auto shift cancel button605into an undisplayed status, and returns to the process of step S205.

In step S213, the CPU201reflects the display statuses of the auto sort setting button602, the auto sort cancel button603, the auto shift setting button604, and the auto shift cancel button605into the auto sort flag301. That is to say, if the auto sort setting button602is in the pressed status, the item of auto sort in the auto sort flag301is updated to “ON”. If the auto sort cancel button603is in the pressed status, the item of auto sort in the auto sort flag301is updated to “OFF”. If the auto shift setting button604is displayed in the pressed status, the item of auto shift in the auto sort flag301is updated to “ON”. If the auto shift setting button604is not displayed or the auto shift cancel button605is in the pressed status, the item of auto shift in the auto sort flag301is updated to “OFF”. When the process of step S213ends, the processing proceeds to step S214. In step S214, the CPU201places the auto sort setting screen601into the undisplayed status (resulting in the status in which the device setting screen501is displayed), and returns to the process of step S202.

In step S215, the CPU201sets discharge destinations. First, a discharge destination setting screen510shown inFIG. 12is displayed, and the jobs' respective discharge destinations are set in accordance with user settings. Information of the discharge destinations is held in the RAM204as the discharge destination information302. The discharge destination setting screen510shows an example of the discharge destination information302. The discharge destination information302stores, for each one of job types, information of trays used as a first priority, a second priority, and a third priority. A field that does not contain tray information indicates that there is no tray of the corresponding priority order. For example, in the case of the discharge destination information302shown inFIG. 10, a tray A and a tray B are respectively used as a first-priority discharge destination and a second-priority discharge destination in a copy job. The CPU201selects a tray with the highest priority order indicated by the discharge destination information302as a discharge destination. In a copy job, the tray C is not used as there is no information thereof. The CPU201can function as a priority order setting unit and set the discharge destination information302in accordance with user input.

Buttons511to522are arranged on the discharge destination setting screen510in correspondence with the job types and tray positions. For example, the button511corresponds to a copy job and the tray A. The buttons511to522have a toggle mechanism whereby each time they are pressed by the user, they alternate between the pressed status (in which the numbers are displayed) and the non-pressed status (in which the numbers are not displayed). In addition, for each one of the job types, the numbers displayed on the buttons change in the order in which the buttons are placed into the pressed status. For example, if the user presses the button515when the button511is in the pressed status and the buttons515and519are in the non-pressed status, the button515is placed into the pressed status and the number 2 is displayed thereon. A button in the pressed status indicates that a tray corresponding to that button is used in a job corresponding to that button. Furthermore, the number displayed on a button indicates the priority order of the corresponding tray. For example, in the case where the discharge destination setting screen510is in the status shown inFIG. 12, the button515indicates that the tray B is used as a second priority in a copy job.

If the user presses the OK button523, the discharge destination information302is set in accordance with the display statuses of the buttons511to522, and the discharge destination setting screen510is placed into the undisplayed status. The details of the processing flows corresponding to the user's pressing of the buttons will be omitted as they are similar to the case of the auto sort setting screen. When the discharge destination setting of step S215ends, the processing proceeds to step S202.

In step S216, the CPU201sets inter-job shift. First, an inter-job shift setting screen701shown inFIG. 14is displayed, and whether or not to perform inter-job shift is set in accordance with user settings. Information indicating whether or not to perform inter-job shift is held in the RAM204as the inter-job shift flag303.FIG. 10shows an example of the inter-job shift flag303. The inter-job shift flag303has one of the following two statuses: “ON” and “OFF”. In the case where the inter-job shift flag303is “ON”, shift is performed at the time of discharge per unit of job. In the case where the inter-job shift flag303is “OFF”, shift is not performed per unit of job.

An ON button702and an OFF button703are arranged on the inter-job shift setting screen701. If the user presses the ON button702, the ON button702is placed into the pressed status (shaded status), and the OFF button703is placed into the non-pressed status (unshaded status). If the user presses the OFF button703, the ON button702is placed into the non-pressed status, and the OFF button703is placed into the pressed status. If the user presses an OK button705, the inter-job shift flag303is set in accordance with the press statuses of the ON button702and the OFF button703. If the ON button702is in the pressed status, the inter-job shift flag303is set to “ON”, and if the OFF button703is in the pressed status, the inter-job shift flag303is set to “OFF”. The details of the processing flows corresponding to the user's pressing of the buttons will be omitted as they are similar to the case of the auto sort setting screen. When the inter-job shift setting of step S216ends, the processing proceeds to step S202.

In step S217, the CPU201places the device setting screen501into the undisplayed status (resulting in the status before the device setting screen501is displayed), and ends a subroutine for configuring the device setting (returns to the process of step S101).

With reference toFIG. 5, a description is now given of the details of finish setting processing of the above-mentioned step S104for the case in which the finish button has been pressed. First, in step S301, the CPU201determines whether or not the sort flag is set. The sort flag304is information held in the RAM204, and includes the following two items: a sort type and shift. The sort type has one of the following four types of values: “no sort”, “sort”, “group”, and “staple”. Shift has one of the following values: “ON” and “OFF”. This shift indicates whether or not to shift discharged printouts, for example, every predetermined number of copies in a single job. In contrast, the inter-job shift flag303indicates whether or not to shift discharged printouts per unit of job when a plurality of jobs are performed. In step S301, the processing diverges based on the sort type; the processing proceeds to step S302if the sort type is “no sort”, and to step S303otherwise (YES in the figure).

In step S302, the CPU201sets the sort type and shift in the sort flag304to “sort” and “ON”, respectively, and proceeds to step S303. In step S303, the CPU201displays a finish screen on the LCD207. Reference sign410ofFIG. 11represents an example of the finish screen. A sort setting button411, a group setting button412, a staple setting button413, a shift setting button414, a reset button415, and an OK button416are arranged on the finish screen410. The initial display statuses of the sort setting button411, the group setting button412, and the staple setting button413are determined by the sort type held in the sort flag304in the RAM204. If the sort type is “sort”, the sort setting button411is displayed in the pressed status (with shading inFIG. 11), and the group setting button412and the staple setting button413are displayed in the non-pressed status (no shading inFIG. 11). If the sort type is “group”, the group setting button412is displayed in the pressed status, and the sort setting button411and the staple setting button413are displayed in the non-pressed status. If the sort type is “staple”, the staple setting button413is displayed in the pressed status, and the sort setting button411and the group setting button412are displayed in the non-pressed status. The initial display status of the shift setting button414is determined by the content of shift held in the sort flag304in the RAM204. If shift is “ON”, the shift setting button414is displayed in the pressed status, and if the shift is “OFF”, the shift setting button414is displayed in the non-pressed status.

Next, in step S304, the CPU201detects a change in the device status as an event. Subsequently, in step S305, the CPU201determines the type of the event detected in step S304. In the case where the event detected in step S304is pressing of one of the sort setting button411, the group setting button412, and the staple setting button413, the processing proceeds to step S306. If the event detected in step S304is pressing of the shift setting button414, the processing proceeds to step S307. If the event detected in step S304is pressing of the OK button416, the processing proceeds to step S308. If the event detected in step S304is pressing of the reset button415, the processing proceeds to step S310.

In step S306, the CPU201changes the display statuses of the sort setting button411, the group setting button412, and the staple setting button413in accordance with the pressed button that has been detected. In the case where pressing of the sort setting button411has been detected, the sort setting button411is displayed in the pressed status, and the group setting button412and the staple setting button413are displayed in the non-pressed status. In the case where pressing of the group setting button412has been detected, the group setting button412is displayed in the pressed status, and the sort setting button411and the staple setting button413are displayed in the non-pressed status. In the case where pressing of the staple setting button413has been detected, the staple setting button413is displayed in the pressed status, and the sort setting button411and the group setting button412are displayed in the non-pressed status. When the process for changing the display of the sort type buttons in step S306ends, the processing returns to step S304.

In step S307, the CPU201inverts the display status of the shift setting button414. If the shift setting button414is in the pressed status, the display status of the shift setting button414is switched to the non-pressed status, and if the shift setting button414is in the non-pressed status, the display status of the shift setting button414is switched to the pressed status. When the process for inverting the display of the shift button in step S307ends, the processing returns to step S304.

In step S308, the CPU201changes the content of the sort flag304in accordance with the display status of the finish screen410. If the sort setting button411is in the pressed status, the sort type in the sort flag304is set to “sort”. If the group setting button412is in the pressed status, the sort type in the sort flag304is set to “group”. If the staple setting button413is in the pressed status, the sort type in the sort flag304is set to “staple”. If the shift setting button is in the pressed status, shift in the sort flag304is set to “ON”, and if the shift setting button is in the non-pressed status, shift in the sort flag304is set to “OFF”. Subsequently, in step S309, the CPU201places the finish screen410into the undisplayed status (resulting in the status in which the copy basic screen401is displayed), and ends a subroutine for executing the processing for the case in which the finish button has been pressed (returns to the process of step S101).

In step S310, the CPU201sets the sort type in the sort flag304to “no sort”, and sets shift in the sort flag304to “OFF”. When the process for clearing the sort flag in step S310ends, the processing proceeds to step S309.

With reference toFIG. 6, a description is now given of the procedure of processing of the above-mentioned step S105for the case in which the originals have been detected. It should be noted that, in the processing described below, the CPU201functions as a discharge function setting unit. When the user places the originals on the document feeder103, the CPU201refers to the sort type in the sort flag304in step S401, and the processing diverges based on the sort type. In the case where the sort type in the sort flag304is “no sort”, the processing proceeds to step S402(NO in the figure); otherwise, the present subroutine ends (YES in the figure).

In step S402, the CPU201refers to the item of auto sort in the auto sort flag301, and if the item of auto sort in the auto sort flag301is “ON”, proceeds to the process of step S403(YES in the figure); otherwise, the present subroutine ends (NO in the figure). In step S403, the CPU201sets the sort type in the sort flag304to “sort”.

Next, in step S404, the CPU201refers to the item of auto shift in the auto sort flag301, and if the item of auto shift in the auto sort flag301is “ON”, proceeds to the process of step S405(YES in the figure); otherwise, the present subroutine ends (NO in the figure). In step S405, the CPU201sets the item of shift in the sort flag304to “ON”, and ends the subroutine for executing the processing for the case in which the originals have been detected (returns to the process of step S101).

With reference toFIG. 7, a description is now given of the procedure of processing of the above-mentioned step S107for the case in which the start key216has been pressed. First, in step S501, the CPU201causes the scanner102to read an image from an original, and outputs image data. Specifically, it sends the original to the scanner102by controlling the document feeder103, and causes the scanner102to read the original. The read image is held in the HDD206as image data218. In addition, each time one page of an original is read, the number of pages220held in the RAM204is incremented. All of the originals are read by repeating the above until the original detection sensor214of the document feeder103no longer detects any original.

Next, in step S502, the CPU201refers to the item of shift (first discharge function) in the sort flag304, and in the case where shift in sort flag304is “ON”, proceeds to the process of step S503(YES in the figure); otherwise, the processing proceeds to step S505.

In step S503, the CPU201refers to the discharge destination information302and function information306shown inFIG. 10, and selects a tray (discharge tray) from among trays that can perform shift. Here, the function information306indicates, with respect to each one of the plurality of discharge destinations, whether or not the discharge function is executable, and is stored in advance in the RAM204. In the example ofFIG. 10, the function information306indicates that the tray A has the shift function whereas the tray B does not have the shift function. Specifically, if the first-priority tray in the discharge destination information302corresponding to a copy job can perform shift, the CPU201selects the first-priority tray as a discharge destination. If the first-priority tray cannot perform shift, a second-priority tray is selected as the discharge destination. If neither of the first-priority tray and the second-priority tray can perform shift, a third-priority tray is selected as the discharge destination. The selected tray is held in the RAM204as a discharge destination221. It should be noted that, in the present step, information of the setting that is not related to shift may also be included as information of tray selection. For example, in the case where both of the first-priority tray and the second-priority tray can perform shift, if the configured setting can be realized only by the second-priority tray, the second-priority tray is selected as the discharge destination. In addition, it is assumed that no value is set in the discharge destination221in the case where shift cannot be performed by any of the discharge destinations that are set in the discharge destination information302in correspondence with a copy job.

Next, in step S504, the CPU201determines whether or not a value is set in the discharge destination221; it proceeds to the process of step S506in the case where a value is set in the discharge destination221(YES in the figure), and proceeds to the process of step S505in the case where no value is set in the discharge destination221(NO in the figure). In step S505, the CPU201refers to the discharge destination information302and selects a tray. Specifically, the first-priority tray in the discharge destination information302corresponding to a copy job is selected as the discharge destination. The selected tray is held in the RAM204as the discharge destination221. It should be noted that, in the present step, information of the setting that is not related to shift may also be included as information of tray selection. For example, in the case where the configured setting can be realized only by the second-priority tray, the second-priority tray is selected as the discharge destination. It should be noted that, in the present step, one of the trays set as the first, second, and third priorities is always held in the RAM204as the discharge destination221. When the tray selection of step S505ends, the processing proceeds to step S506.

In step S506, the CPU201refers to the inter-job shift flag303, and if the inter-job shift flag303is “ON”, proceeds to the process of step S507(YES in the figure); otherwise, the processing proceeds to step S508(NO in the figure). It should be noted that the inter-job shift function corresponds to a second discharge function. In step S507, the CPU201refers to the previous shift position305and sets a shift position. The previous shift position305is held in the RAM204as222. The previous shift position305is information that indicates, for each one of the discharge trays, whether or not shift was performed at the time of the immediately preceding discharge, and is held in the RAM204.FIG. 10shows an example of the previous shift position305. The example ofFIG. 10indicates that the tray A performed shift at the time of the immediately preceding discharge, and that the tray B did not perform shift at the time of the immediately preceding discharge. In step S507, the item in the previous shift position305corresponding to the discharge destination221is referred to, and if shift was performed at the time of the immediately preceding discharge, the shift position222is set to “no shift”. On the other hand, if shift was not performed at the time of the immediately preceding discharge, the shift position222is set to “shift”. It should be noted that, in the case where a tray that cannot perform shift is set as the discharge destination221, nothing is performed in the present step. When the shift position setting of step S507ends, the processing proceeds to step S509. On the other hand, in step S508, the CPU201sets the shift position222to “no shift”. When the shift position initialization of step S508ends, the processing proceeds to step S509. In step S509, the CPU201refers to the sort type in the sort flag304, and in the case where the sort type is “sort” or “staple”, proceeds to the process of step S510; otherwise, the processing proceeds to step S519. It should be noted that the sort function corresponds to a third discharge function.

Step S510to step S518form a loop, and the processes of step S511onward are repeated for the number of times corresponding to the value set as the number of copies219. It is assumed that a loop counter of N is used here. N takes any value in a range of one to the value set as the number of copies219. Step S511to step S514also form a loop, and the processes of step S512onward are repeated for the number of times corresponding to the value set as the number of pages220. It is assumed that a loop counter of P is used here. P takes any value in a range of one to the value set as the number of pages220.

In step S512, the CPU201transmits data of the Pthpage in the image data218to the printer104, and causes the printer104to print an image of the Pthpage on a sheet. Subsequently, in step S513, the CPU201sends the sheet printed in step S512to the finisher105, and discharges the sheet to a discharge tray set as the discharge destination221. At this time, the shift position222is referred to, and in the case where the shift position222is set to “shift”, discharge is performed while shifting the discharge position. It should be noted that, in the case where the discharge tray set as the discharge destination221cannot perform shift, control for shifting the discharge position is not performed. In step S514, the CPU201makes a determination about the condition of termination of the loop, that is to say, if the loop counter P has reached the value set as the number of pages220, the processing proceeds to step S515; otherwise, the loop counter is incremented by one, and the processing proceeds to step S511.

In step S515, the CPU201holds the content of the shift position222in the RAM204as the previous shift position305. The item in the previous shift position305corresponding to the discharge tray set as the discharge destination221is updated. It should be noted that, in the case where the discharge tray set as the discharge destination221cannot perform shift, nothing is performed in the present step. Subsequently, in step S516, the CPU201refers to the item of shift in the sort flag304, and if shift is “ON”, proceeds to the process of step S517(YES in the figure); otherwise, the processing proceeds to step S518(NO in the figure). In step S517, the CPU201updates the content of the shift position222. In the case where the content of the shift position222is set to “shift”, the content of the shift position222is switched to “no shift”. In the case where the content of the shift position222is set to “no shift”, the content of the shift position222is switched to “shift”. When the process of step S517ends, the processing proceeds to step S518.

In step S518, the CPU201makes a determination about the condition of termination of the loop, that is to say, if the loop counter N has reached the value set as the number of copies219, the present subroutine ends; otherwise, the loop counter is incremented by one, and the processing proceeds to step S510. When the present subroutine ends, the processing returns to step S101.

A description of the processes from step S519to step S526will be omitted as they are similar to the processes from step S510to step S518, except that the number of copies and the number of pages are reversed in order in the loop.

<Processing for Receiving Print Request>

With reference toFIG. 8, a description is now given of the processing of the above-mentioned step S108for the case in which a print request has been received from the PC and the like. First, in step S601, the CPU201receives data to be printed from, for example, the personal computer107via the network interface106. The data to be printed may be described in a page description language (PDL), and may be a bitmap data of some sort of format.

Next, in step S602, the CPU201generates image data to be printed from the data received in step S601. The CPU201also holds the generated image data in the HDD206as image data218. In step S603, the CPU201refers to the discharge destination information302and selects a discharge tray. The CPU201selects a discharge tray in accordance with the priority orders that are set in the discharge destination information302in correspondence with a print job. At this time, the print request received in the above-mentioned step S101and the data received in the above-mentioned S601may be used as information for selecting a discharge tray. The CPU201holds the selected discharge tray in the RAM204as a discharge destination221.

Next, in step S604, the CPU201refers to the inter-job shift flag303, and if the inter-job shift flag303is “ON”, proceeds to the process of step S605(YES in the figure); otherwise, the processing proceeds to step S606(NO in the figure). In step S605, the CPU201refers to the previous shift position305and sets a shift position. The CPU201holds this shift position in the RAM204as a shift position222. In step S605, the item in the previous shift position305corresponding to the discharge destination221is referred to, and if shift was performed at the time of the immediately preceding discharge, the shift position222is set to “no shift”. On the other hand, if shift was not performed at the time of the immediately preceding discharge, the shift position222is set to “shift”. It should be noted that, in the case where a tray that cannot perform shift is set as the discharge destination221, nothing is performed in the present step. When the process of step S605ends, the processing proceeds to step S607. On the other hand, in step S606, the CPU201sets the shift position222to “no shift”, and proceeds to the process of step S607.

In step S607, the CPU201transmits data in the image data218to the printer104, and causes the image to be printed on a sheet. Subsequently, in step S608, the CPU201sends the sheet printed in step S607to the finisher105, and discharges the sheet to the discharge tray set as the discharge destination221. At this time, the shift position222in the RAM204is referred to, and in the case where the shift position222is set to “shift”, discharge is performed while shifting the discharge position. It should be noted that, in the case where the discharge tray set as the discharge destination221cannot perform shift, control for shifting the discharge position is not performed.

Next, in step S609, the CPU201holds the content of the shift position222in the RAM204as the previous shift position305. The item in the previous shift position305corresponding to the discharge tray set as the discharge destination221is updated. It should be noted that, in the case where the discharge tray set as the discharge destination221cannot perform shift, nothing is performed in the present step. When the process of step S609ends, the present subroutine ends, and the processing returns to step S101.

As described above, according to the present embodiment, in the case where shift has been designated by pressing the shift setting button414on the finish screen410, a discharge destination is selected from among the trays that can perform shift in the above-mentioned step S503, and therefore shift can be performed reliably. In addition, in the present embodiment, depending on the press status of the auto shift setting button604, shift may be set or may not be set when the original detection sensor214has detected the originals. In the case where the auto shift setting button is set to “ON”, shift is set concurrently with auto sort, and therefore the user can experience the convenience of the shift function without being conscious about the shift function. On the other hand, by setting the auto shift setting button to “OFF”, a discharge destination can be selected in strict compliance with the priority orders of the discharge destinations. Furthermore, in the case where neither auto shift nor the shift setting on the finish screen410is configured and only inter-job shift is set, a discharge destination is selected from among all of the trays in the above-mentioned step S505. In this way, a discharge destination can be selected in line with the setting of discharge destination priorities for each one of the job types.

It should be noted that there are cases in which a print request for multiple copies is received in network printing of step S108. In a print request for multiple copies, the number of copies may be equal to the number of jobs, or multiple copies may be grouped into a single job. In the case of a print request in which multiple copies are grouped into a single job, the print request may indicate copy-by-copy shift. In this case, shift control may be similar to or different from shift control in a copy job. That is to say, after a discharge destination has been selected in accordance with the discharge destination information302, shift may be performed if the discharge destination can perform shift (priority on the discharge destination). Alternatively, a discharge destination that can perform shift may be selected in accordance with the discharge destination information302(priority on the function). Furthermore, a flag similar to the auto sort flag301may be provided for network printing so as to perform shift control similar to shift control in a copy job.

Second Embodiment

The following describes a second embodiment of the present invention. In the present embodiment, as shown on an auto sort setting screen1501ofFIG. 15, an auto shift auto button801is provided on the auto sort setting screen601ofFIG. 13according to the above-described first embodiment. In this case, auto shift in the auto sort flag301takes the following three values: “ON”, “OFF”, and “auto”. Here, “ON” indicates that the auto setting is configured, “OFF” indicates that the auto setting is not configured, and “auto” indicates that the auto setting is configured optionally. Similarly to the auto shift setting button604and the auto shift cancel button605, pressing of the auto shift auto button801is detected and processed respectively in step S206and step S211within step S103, which is the subroutine for configuring the device setting. In the case where pressing of the auto shift auto button801has been detected, in step S211, the auto shift setting button604and the auto shift cancel button605are placed into the non-pressed status, and the auto shift auto button801is placed into the pressed status. Furthermore, in step S213, in the case where the auto shift auto button801is in the pressed status, the item of auto shift in the auto sort flag301is set to “auto”.

The substance of the processing of step S107, which is the subroutine for executing the processing for the case in which the originals have been detected, is shown inFIG. 9. The processing ofFIG. 9is basically similar to the processing ofFIG. 6. Therefore, the differences betweenFIG. 6andFIG. 9will be described below. In the processing flow shown inFIG. 9, the process of step S701is executed in place of the process of step S404. In step S701, the CPU201refers to the item of auto shift in the auto sort flag301, and if the item of auto shift in the auto sort flag301is “ON”, proceeds to the process of step S405(ON in the figure). If the item of auto shift in the auto sort flag301is “OFF”, the present subroutine ends (OFF in the figure). If the item of auto shift in the auto sort flag301is “auto”, the processing proceeds to step S702(AUTO in the figure).

In step S702, the CPU201refers to the discharge destination information302, and determines whether or not the first-priority tray corresponding to a copy job can perform shift. If the first-priority tray corresponding to a copy job can perform shift, the processing proceeds to step S405(YES in the figure); otherwise, the present subroutine ends (NO in the figure). Other processes are similar to the processing flow ofFIG. 6.

As described above, according to the present embodiment, by placing the auto shift auto button801into the pressed status, it is possible to control whether or not to perform auto shift on a discharge destination having priority. In the case where the discharge destination having priority is a tray that can perform shift, auto shift is performed. Furthermore, in the case where a tray that cannot perform shift is desired to be used as the discharge destination having priority, it is sufficient only to change the discharge destination setting, and there is no need to change the auto shift setting.

Third Embodiment

The following describes a third embodiment of the present invention pertaining to the case in which the user designates a discharge destination. In the above-described first and second embodiments, the user merely designates the priority orders of discharge destinations, and does not directly designate a discharge destination. In contrast, the present embodiment described below involves control for the case in which the user has specified a discharge destination. In the present embodiment, in the case where the user has directly selected a discharge destination, a sheet is discharged to the discharge destination set by the user regardless of the setting of the discharge function and the priority orders. Similarly to the above-described embodiments, processing complying with the flowchart shown inFIG. 3is executed in the present embodiment as well. The present embodiment differs from the above-described embodiments in that the substance of the processing of the subroutine that is called up when the finish button is pressed (step S104) complies with a flowchart ofFIG. 16instead of the flowchart ofFIG. 5.

With reference toFIG. 16, a description is now given of the substance of the processing of the present subroutine. First, in step S801, the CPU201displays a discharge destination selection screen on the LCD207. Reference sign901ofFIG. 20represents an example of the discharge destination selection screen. A finisher setting button902, a stacker setting button903, a reset button904, a return button905, and a next button906are arranged on the discharge destination selection screen901.

Next, in step S802, the CPU201determines whether or not the discharge destination flag223is set. The discharge destination flag223is information held in the RAM204, and has one of the following three types of values: “unset”, “stack unit of stacker”, and “discharge tray of stacker”. If the discharge destination flag is set to “unset”, the processing proceeds to step S803(NO in the figure), and if the discharge destination flag is set to “stack unit of stacker” or “discharge tray of stacker”, the processing proceeds to step S804(YES in the figure).

In step S803, the CPU201places the finisher setting button902into the pressed status, places the stacker setting button903into the non-pressed status, and proceeds to the process of step S805. On the other hand, in step S804, the CPU201places the stacker setting button903into the pressed status, places the finisher setting button902into the non-pressed status, and proceeds to the process of step S805. In the example of the discharge destination selection screen901ofFIG. 20, the stacker setting button903is in the pressed status (with shading), and the finisher setting button902is in the non-pressed status.

In step S805, the CPU201detects a change in the device status as an event. Subsequently, in step S806, the CPU201determines the type of the event detected in step S805. In the case where the event detected in step S805is pressing of the finisher setting button902or the stacker setting button903, the processing proceeds to step S807(in the figure, pressing of button for changing discharge destination). If the event detected in step S805is pressing of the next button906, the processing proceeds to step S808. If the event detected in step S805is pressing of the reset button904, the processing proceeds to step S812. If the event detected in step S805is pressing of the return button905, the processing proceeds to step S814.

In step S807, the CPU201changes the display statuses of the finisher setting button902and the stacker setting button903in accordance with the pressed button that has been detected. In the case where pressing of the finisher setting button902has been detected, the finisher setting button902is displayed in the pressed status, and the stacker setting button903is displayed in the non-pressed status. In the case where pressing of the stacker setting button903has been detected, the stacker setting button903is displayed in the pressed status, and the finisher setting button902is displayed in the non-pressed status. When the process of step S807ends, the processing returns to step S805.

In step S808, the CPU201determines whether or not the display status of the stacker setting button903is the pressed status. In the case where the stacker setting button903is displayed in the pressed status, the processing proceeds to step S809(YES in the figure); otherwise, the processing proceeds to step S810. Step S809is a subroutine for executing the processing for the finish setting of the stacker. The substance of the processing of this subroutine will now be described with reference toFIG. 17.

First, in step S901, the CPU201displays a finish screen on the LCD207. Reference sign907ofFIG. 20represents an example of the finish screen. A sort setting button908, a group setting button909, a shift setting button910, a stack unit setting button911, a discharge tray setting button912, a reset button913, a return button914, and an OK button915are arranged on the finish screen907.

Next, in step S902, the CPU201makes a determination about the content of the discharge destination flag223. If the discharge destination flag is set to “unset”, the processing proceeds to step S903(NO in the figure), and if the discharge destination flag is set to the value other than “unset” (“stack unit of stacker” or “discharge tray of stacker”), the processing proceeds to step S904(YES in the figure).

In step S903, the CPU201sets the display status of the finish screen907to the initial display status. That is to say, the sort setting button908is displayed in the pressed status, and the group setting button909is displayed in the non-pressed status. The shift setting button910is displayed in the pressed status. The stack unit setting button911is displayed in the pressed status, and the discharge tray setting button912is displayed in the non-pressed status. When the process of step S903ends, the processing proceeds to step S905.

In step S904, the CPU201sets the display status of the finish screen907in accordance with the contents of the discharge destination flag223and the sort flag304. If the discharge destination flag223is set to “stack unit of stacker”, the stack unit setting button911is displayed in the pressed status, and the discharge tray setting button912is displayed in the non-pressed status. If the discharge destination flag223is set to “discharge tray of stacker”, the discharge tray setting button912is displayed in the pressed status, and the stack unit setting button911is displayed in the non-pressed status. In addition, if the discharge destination flag223is set to “discharge tray of stacker”, the shift setting button910is displayed in the state where pressing thereof is disabled (with a dotted line in the figure). If the sort type in the sort flag304is “sort”, the sort setting button908is displayed in the pressed status, and the group setting button909is displayed in the non-pressed status. If the sort type in the sort flag304is “group”, the group setting button909is displayed in the pressed status, and the sort setting button908is displayed in the non-pressed status. If shift in the sort flag304is “ON”, the shift setting button910is displayed in the pressed status. When the process of step S904ends, the processing proceeds to step S905.

In step S905, the CPU201detects a change in the device status as an event. It should be noted that, in the case where pressing of the shift setting button910is disabled, even if the user presses an area corresponding to the shift setting button910on the LCD207, this pressing is not detected as an event. In step S906, the CPU201determines the type of the event detected in step S905. In the case where the event detected in step S905is pressing of the sort setting button908or the group setting button909, the processing proceeds to step S907(in the figure, pressing of buttons for changing sort type). If the event detected in step S905is pressing of the shift setting button910, the processing proceeds to step S908. If the event detected in step S905is pressing of the stack unit setting button911or the discharge tray setting button912, the processing proceeds to step S909(in the figure, pressing of buttons corresponding to discharge destination for stacker). If the event detected in step S905is pressing of the OK button915, the processing proceeds to step S911. If the event detected in step S905is pressing of the return button914, the processing proceeds to step S915. If the event detected in step S905is pressing of the reset button913, the processing proceeds to step S916.

In step S907, the CPU201changes the display statuses of the sort setting button908and the group setting button909in accordance with the pressed button that has been detected. In the case where pressing of the sort setting button908has been detected, the sort setting button908is displayed in the pressed status, and the group setting button909is displayed in the non-pressed status. In the case where pressing of the group setting button909has been detected, the group setting button909is displayed in the pressed status, and the sort setting button908is displayed in the non-pressed status. When the process of step S907ends, the processing returns to step S905.

In step S909, the CPU201changes the display statuses of the stack unit setting button911and the discharge tray setting button912in accordance with the pressed button that has been detected. In the case where pressing of the stack unit setting button911has been detected, the stack unit setting button911is displayed in the pressed status, and the discharge tray setting button912is displayed in the non-pressed status. In the case where pressing of the discharge tray setting button912has been detected, the discharge tray setting button912is displayed in the pressed status, and the stack unit setting button911is displayed in the non-pressed status. Subsequently, in step S910, the CPU201changes the display status of the shift setting button910in accordance with the pressed button detected in step S905. In the case where pressing of the discharge tray setting button912has been detected, the display status of the shift setting button910is switched to the non-pressed status, and pressing thereof is disabled. In the case where pressing of the stack unit setting button911has been detected, if pressing of the shift setting button910is disabled, this disabled state is cancelled (the shift setting button910is placed into the non-pressed status). If the pressed button detected in step S905is the stack unit setting button911and pressing of the shift setting button910is not disabled, nothing is performed. When the process of step S910ends, the processing returns to step S905.

In step S911, the CPU201changes the content of the discharge destination flag223in accordance with the display status of the finish screen907. If the stack unit setting button911is in the pressed status, the content of the discharge destination flag223is set to “stack unit of stacker”. If the discharge tray setting button912is in the pressed status, the content of the discharge destination flag223is set to “discharge tray of stacker”. Subsequently, in step S912, the content of the sort flag304is changed in accordance with the display status of the finish screen907. If the sort setting button908is in the pressed status, the sort type in the sort flag304is set to “sort”. If the group setting button909is in the pressed status, the sort type in the sort flag304is set to “group”. If the shift setting button is in the pressed status, shift in the sort flag304is set to “ON”, and if the shift setting button is in the non-pressed status or in the state where pressing thereof is disabled, shift in the sort flag304is set to “OFF”. Next, in step S913, the CPU201sets the end flag224to “end”, and proceeds to the process of step S914. The end flag224indicates the end status of the present subroutine, and has one of the following values: “end”, “return”, and “reset”.

In step S915, the CPU201sets the end flag224to “return”, and proceeds to the process of step S914. In step S916, the CPU201sets the end flag224to “reset”, and proceeds to the process of step S914.

In step S914, the CPU201places the finish screen907into the undisplayed status (resulting in the status in which the discharge destination selection screen901is displayed). After step S914, the subroutine for executing the processing for the finish setting of the stacker ends, and the processing proceeds to step S811. This concludes the description of the substance of the processing of the subroutine in step S809.

The description ofFIG. 16is now resumed. In step S810, the CPU201executes a subroutine for the processing for the finish setting of the finisher. In the present subroutine, a finish screen1001for the finisher shown inFIG. 21is displayed, and the discharge destination flag223, the sort flag304, and the end flag224are set. The details of the processing will be omitted as they can be understood by analogy toFIGS. 17 and 5. It should be noted that, in the case where pressing of the OK button1008has been detected, the discharge destination flag223is set to “unset”. When the process of step S810ends, the processing proceeds to step S811.

In step S811, the CPU201makes a determination about the content of the end flag224. If the end flag224is set to “return”, the processing proceeds to step S805. If the end flag224is set to “end”, the processing proceeds to step S814. If the end flag224is set to “reset”, the processing proceeds to step S812.

In step S812, the CPU201sets the discharge destination flag223to “unset”. Subsequently, in step S813, the CPU201sets the sort type in the sort flag304to “no sort”, and sets shift in the sort flag304to “OFF”. When the process of step S813ends, the processing proceeds to step S814. In step S814, the CPU201places the discharge destination selection screen901into the undisplayed status (resulting in the status in which the copy basic screen401is displayed), and ends the processing (returns to the process of step S101).

In the present embodiment, the substance of the processing of the subroutine in step S105for the case in which the originals have been detected complies with a flowchart ofFIG. 18. Below, only the process in the flowchart ofFIG. 18that is different fromFIG. 6will be described; similar processes, that is to say, the processes from step S401to step S405will be given the same reference signs, and a description thereof will be omitted. In step S1001, the CPU201makes a determination about the content of the discharge destination flag223. If the discharge destination flag223is set to “unset”, the processing proceeds to step S401(NO in the figure); otherwise, the subroutine ends (YES in the figure).

Furthermore, in the present embodiment, the substance of the processing of the subroutine in step S107for the case in which the start key216has been pressed complies with a flowchart ofFIG. 19. Below, only the portions of the flowchart ofFIG. 19that are different fromFIG. 7will be described; similar processes, that is to say, the processes from step S501to step S527will be given the same reference signs, and a description thereof will be omitted. After step S501, the CPU201proceeds to step S1101and makes a determination about the content of the discharge destination flag223. If the discharge destination flag223is set to “unset”, the processing proceeds to step S502(NO in the figure); otherwise, the processing proceeds to step S1102(YES in the figure). In step S1102, the CPU201sets the discharge destination221in the RAM204to match the content of the discharge destination flag223. When the process of step S1102ends, the processing proceeds to step S506. The processes of step S502and step S506onward are similar toFIG. 7.

As described above, in the present embodiment, in the case where the user has designated a discharge destination with the stack unit setting button911or the discharge tray setting button912, discharge is performed using the discharge destination designated by the user regardless of the content of the auto sort flag301.

Other Embodiments

While the above-described embodiments have aimed at the shift function, the present invention is also applicable to any discharge function other than shift. For example, the present invention is also applicable to, among other discharge functions, a sheet alignment function for aligning the edges of sheets at the time of discharge. In this case, for example, the first discharge function is a function for aligning sheets of predetermined types on a type-by-type basis during the execution of a single job, whereas the second discharge function is a function for aligning sheets per unit of job during the execution of a plurality of jobs. Furthermore, while the present invention is not applied to stapling in the above-described first embodiment, the present invention is also applicable to stapling.

This application claims the benefit of Japanese Patent Application No. 2014-070083 filed on Mar. 28, 2014, which is hereby incorporated by reference herein in its entirety.