1461181154-6a7839b2-d96c-4eeb-8a93-603c9343d760

1. An image processing device comprising:
a processor; and
a memory storing computer-readable instructions therein, the computer-readable instructions, when executed by the processor, causing the image processing device to perform:
acquiring image data representing an image;
defining a plurality of determination regions in at least part of the image based on the image data;
executing, for the at least part of the image, a first color conversion using a first type of parameter to generate a first converted image, the first type of parameter defining relationships between usage amounts of colorant before and after the first color conversion;
determining a first estimated amount of colorant for each of the plurality of determination regions in the first converted image, the first estimated amount indicating an usage amount of colorant to be used for each of the plurality of determination regions when the first converted image is printed;
judging whether or not a first condition is met, the first condition including that the first estimated amounts of colorant for all of the plurality of determination regions is smaller than or equal to respective threshold values;
outputting the first converted image if the first condition is met; and
executing, for the at least part of the image, a second color conversion using a second type of parameter to generate a second converted image if a second condition is met, the second condition including that the first condition is not met, the second type of parameter defining relationships between usage amounts of colorant before and after the second color conversion, the usage amount of colorant for the at least part of the image that has been converted through the second color conversion using the second type of parameter being smaller than the usage amount of colorant for the at least part of the image that has been converted through the first color conversion using the first type of parameter.
2. The image processing device according to claim 1, wherein the plurality of determination regions includes a first determination region and a second determination region different from the first determination region;
wherein the first determination region corresponds to a first threshold value and the second determination region corresponds to a second threshold value different from the first threshold value.
3. The image processing device according to claim 2, wherein the first determination region is to be printed on an end portion of a recording medium;
wherein the second determination region is to be printed on an internal portion of the recording medium away from the end portion;
wherein the first threshold value is smaller than the second threshold value.
4. The image processing device according to claim 1, wherein the computer-readable instructions, when executed by the processor, causes the image processing device to further perform:
detecting a first object region and a second object region from the image, the first object region and the second object region being at different positions from each other, the first object region representing a first object, the second object representing a second object different from the first object;
determining a second estimated amount of colorant for a boundary determination region, the boundary determination region being a determination region in which at least part of the first object region and at least part of the second object region are contained, the second estimated amount indicating an usage amount of colorant to be used for the boundary determination region when the first converted image is printed;
wherein the second condition further includes that the first object region and the second object region are detected and that the second estimated amount of colorant for the boundary determination region is greater than a threshold value corresponding to the boundary determination region;
wherein the second color conversion using the second type of parameter is executed for at least one of the first object region and the second object region if the second condition is met.
5. The image processing device according to claim 4, wherein the computer-readable instructions, when executed by the processor, causes the image processing device to further perform:
acquiring a first difference and a second difference when the second condition is met, the first difference being obtained by subtracting the first estimated amount of colorant for one determination region containing a part of the first object region from a threshold value corresponding to the one determination region, the second difference being obtained by subtracting the first estimated amount of colorant for another determination region containing a part of the second object region from the threshold value corresponding to the another determination region,
wherein the second color conversion using the second type of parameter is executed for the first object region if the first difference is smaller than the second difference and the second condition is met,
wherein the second color conversion using the second type of parameter is executed for the second object region if the second difference is smaller than the first difference and the second condition is met.
6. The image processing device according to claim 5, wherein the plurality of determination regions are defined so that each determination region partially overlaps with a determination region next to the each determination region, the boundary determination region overlapping the one determination region and the another determination region, the one determination region having an area ratio of the first object region higher than an area ratio of the first object region in the boundary determination region, the another determination region having an area ratio of the second object region higher than an area ratio of the second object region in the boundary determination region.
7. The image processing device according to claim 1, wherein the first estimated amount of colorant for each of the plurality of determination regions in the first converted image is determined based on the first converted image that is obtained by executing the first conversion for the at least part of the image by using the first parameter.
8. The image processing device according to claim 1, wherein the computer-readable instructions, when executed by the processor, causes the image processing device to further perform:
determining, based on the second converted image, a second estimated amount of colorant for at least one determination region whose first estimated amount of colorant is greater than a threshold value corresponding to the at least one determination region, the second estimated amount indicating an usage amount of colorant to be used for the at least one determination region when the second converted image is printed;
judging whether or not a third condition is met, the third condition including that the second estimated amount of colorant for the at least one determination region is smaller than or equal to the threshold value corresponding to the at least one determination region; and
outputting the second converted image if the third condition is met.
9. The image processing device according to claim 1, wherein the second condition includes that the first estimated amount of colorant for one determination region of the plurality of determination regions is greater than a threshold value corresponding to the one determination region, the one determination region having a difference largest among differences of the plurality of determination regions, the difference of each determination region being obtained by subtracting a threshold value corresponding to the each determination region from the estimated amount of colorant for the each determination region.
10. The image processing device according to claim 1, wherein the plurality of determination regions are defined so that each determination region partially overlaps with a determination region next to the each determination region.
11. A non-transitory computer readable storage medium storing computer-readable instructions, when executed by a processor, causing an image processing device to perform:
acquiring image data representing an image;
defining a plurality of determination regions in at least part of the image based on the image data;
executing, for the at least part of the image, a first color conversion using a first type of parameter to generate a first converted image, the first type of parameter defining relationships between usage amounts of colorant before and after the first color conversion;
determining a first estimated amount of colorant for each of the plurality of determination regions in the first converted image, the first estimated amount indicating an usage amount of colorant to be used for each of the plurality of determination regions when the first converted image is printed;
judging whether or not a first condition is met, the first condition including that the first estimated amounts of colorant for all of the plurality of determination regions is smaller than or equal to respective threshold values;
outputting the first converted image if the first condition is met; and
executing, for the at least part of the image, a second color conversion using a second type of parameter to generate a second converted image if a second condition is met, the second condition including that the first condition is not met, the second type of parameter defining relationships between usage amounts of colorant before and after the second color conversion, the usage amount of colorant for the at least part of the image that has been converted through the second color conversion using the second type of parameter being smaller than the usage amount of colorant for the at least part of the image that has been converted through the first color conversion using the first type of parameter.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for use in a mobile computing platform to assign precedence values from a group of precedence values, the group of precedence values being orderable into a contiguous ordered list, wherein the contiguous ordered list can be broken up into a plurality of blocks, each of the blocks including an equal number of precedence values, the method comprising:
with a processor executing programmed instructions comprising:
(a) obtaining a first group of filters associated with a first application, wherein the filters of the first group have a first precedence order specified by the first application;
(b) assigning precedence values to filters of the first group of filters, wherein the precedence values assigned to the filters of the first group of filters comprise contiguous precedence values from a first one of the blocks, and wherein the precedence values are assigned such that the first precedence order specified by the first application is maintained;
(c) obtaining a second group of filters associated with a second application, wherein the filters of the second group have a second precedence order specified by the second application;
(d) assigning precedence values to filters of the second group of filters, wherein the precedence values assigned to the filters of the second group of filters comprise contiguous precedence values from a second one of the blocks, and wherein the precedence values are assigned such that the second precedence order specified by the second application is maintained, wherein the second one of the blocks is magically adjacent to the first one of the blocks in the ordered list, and wherein the precedence values of the second block are all of lower priority that the precedence values of the first block; and
(e) selectively performing a repacking operation to reassign precedence values of the first one of the blocks to the second group of filters previously assigned precedence values from the second one of the blocks.
2. The method of claim 1, wherein the first group of filters comprises fewer filters than there are precedence values in the first one of the blocks of precedence values.
3. The method of claim 2, further comprising:
providing the precedence values assigned in at least one of (b), (d), or (e) to a network router for use by the network router in filtering packets to the mobile computing platform.
4. The method of claim 3, wherein the network router is adapted to store an association between the filters in the first group of filters and a corresponding communication channel, and wherein the network router is adapted to use the first group of filters to filter packets by:
(a) determining whether a packet matches a first filter in the first group of filters, the first filter being the filter in the first group having a highest priority, and if the packet is determined to match the first filter then communicating the packet to the mobile computing platform across a communication channel that is associated with the first filter;
(b) if the packet has not yet been determined to match any filter in the first group of filters and if there is another filter in the first group of filters, then determining whether the packet matches a next filter in the first group of filters, where the next filter is the filter in the first group of filters having a next highest priority, and if the packet is determined to match the next filter then communicating the packet to the mobile computing platform across a communication channel that is associated with the next filter; and
(c) repeating (b) until either the packet is determined to match a filter in the first group of filters, or until there is not another filter in the first group to which the packet could be matched.
5. The method of claim 4, further comprising:
determining whether the packet matches any filter in the network router that has an assigned precedence value and if it is determined that the packet does not match any filter in the network router that has an assigned precedence value then communicating the packet to the mobile computing platform across a default communication channel.
6. The method of claim 1, wherein the first precedence order is specified by the first application by an order in which the filters of the first group of filters is communicated to an operating system.
7. The method of claim 1, wherein (a), (b), (c) and (d) are performed by an operating system of a mobile computing platform, and wherein the first application and the second application are applications that execute in conjunction with the operating system on the mobile computing platform.
8. The method of claim 7, wherein the plurality of blocks further includes a third block and a fourth block, wherein no filter has a precedence value that is assigned a precedence value from the third block, and wherein the operating system has assigned a set of precedence values from the fourth block to a set of filters, wherein the third and fourth blocks are adjacent one another and wherein the precedence values of the third block are all of higher priority than the precedence values of the fourth block, and wherein (e) further comprises:
reassigning precedence values to the set of filters such that each filter of the set is assigned a precedence value from the third block and is no longer assigned a precedence value from the fourth block.
9. The method of claim 8, further comprising:
(f) communicating the precedence values assigned in (e) from the mobile communication device to a network router; and
(g) using the set of filters on the network router to filter packets.
10. The method of claim 8, wherein one of the blocks of the plurality of blocks is a lowest priority block, and wherein (e) is selectively performed if a filter is assigned a precedence value from the lowest priority block.
11. The method of claim 7, wherein prior to a repacking operation there is a set of occupied blocks and a set of unoccupied blocks, an occupied block being a block for which a filter has been assigned a precedence value from the block, an unoccupied block being a block for which no filter has been assigned a precedence value from the block, wherein one of the occupied blocks is a block of higher priority than any of the unoccupied blocks, the wherein (e) further comprises:
reassigning precedence values to filters assigned to the occupied blocks such that the filter is no longer assigned a precedence value from the occupied block but rather is assigned a precedence value from a corresponding higher priority block, wherein the repacking operation results in a packed set of occupied blocks, there being no unoccupied block after the repacking operation that has a higher priority than the lowest priority occupied block of the packed set of occupied blocks.
12. The method of claim 1, further comprising:
using the precedence values assigned in at least one of (b), (d), or (e) to filter packets transmitted to a network from the mobile computing platform.
13. The method of claim 1, wherein each of a plurality of applications is associated with a different one of the blocks in the ordered list, and wherein filters associated with each of the plurality of applications are assigned precedence values regardless of an order in which applications in the plurality of applications are launched andor shut down.
14. A mobile communication device, comprising:
a mobile computer platform having a processor programmed with processor-executable instructions comprising at least:
a first application to supply a first group of filters and specify a first precedence order for the filters of the first group;
a second application to supply a second group of filters and specify a second precedence order for the filters of the second group;
an operating system executing in conjunction with at least the first and second applications to:
obtain the first group of filters and assign a precedence value to filters of the first group, wherein the precedence values assigned to the filters of the first group are contiguous precedence values from a first block of precedence values, and wherein the precedence values are assigned such that the first precedence order specified by the first application is maintained, and
obtain the second group of filters and assign a precedence value to filters of the second group, wherein the precedence values assigned to the filters of the second group are contiguous precedence values from a second block of precedence values, wherein a plurality of contiguous precedence values are capable of being grouped into a plurality of blocks such that the first and second blocks are two logically adjacent blocks in the plurality of blocks; and
selectively perform a repacking operation to reassign precedence values of the first block to the second group of filters previously assigned precedence values from the second block.
15. The mobile communication device of claim 14, wherein the operating system communicates the filters of the first group and the filters of the second group to a network router.
16. The mobile communication device of claim 14, wherein the operation system communicates the precedence values assigned to the filters of the first group and the precedence values assigned to the filters of the second group to a network router.
17. The mobile communication device of claim 14, wherein there are more precedence values in the first block of precedence values than there are filters in the first group of filters, wherein there are more precedence values in the second block of precedence values than there are filters in the second group of filters.
18. A mobile communication device, comprising:
means for storing one or more digital signals representing a first group of filters, the first application specifying a first precedence order for the filters of the first group, and one or more digital signals representing a second group of filters, the second application specifying a second precedence order for the filters of the second group;
means for assigning a precedence value to filters of the first group, wherein the precedence values assigned to the filters of the first group are contiguous precedence values from a first block of precedence values, and wherein the precedence values are assigned such that the first precedence order is maintained, the means also being for assigning a precedence value to filters of the second group, wherein the precedence values assigned to the filters of the second group are contiguous precedence values from a second block of precedence values, wherein a plurality of contiguous precedence values are capable of being grouped into a plurality of blocks such that the first and second blocks are two adjacent blocks in the plurality of blocks, and the means also being for selectively performing a repacking operation to reassign precedence values of the first block to the second group of filters previously assigned precedence values from the second block; and
wherein the means for storing is also for storing one or more digital signals representing the assigned andor reassigned precedence values.
19. The mobile communication device of claim 18, further comprising:
means for communicating one or more digital signals representing the filters of the first group and the filters of the second group to a network router, wherein there are more precedence values in the first block of precedence values than there are filters in the first group of filters.
20. An article comprising:
a processor-readable medium having stored thereon a set of processor-executable instructions, which if executed by a processor in a mobile computer platform, enable the mobile computing platform to:
(a) obtain a plurality of filters associated with an application executing on the processor and assign precedence values to the filters on a block basis such that the filters received are assigned precedence values from a corresponding one and only one of the blocks of precedence values, wherein there may be fewer filters than there are precedence values in the corresponding block of precedence values;
(b) communicate the filters obtained in (a) along with indications of filter precedences to a network device;
(c) obtain first packets that matched at least one of the filters communicated in (b) and forward information in the first packets to the application;
(d) repeat (a) such that second filters are obtained which are associated with a second application executing on the processor and are assigned precedence values from a second one of the blocks of precedence values; and
(e) communicate the filters received in (d) along with indications of filter precedences to the network device;
(f) obtain second packets that matched at least one of the filters communicated in (e) and forward information in the second packets to the second application: and
(g) selectively perform a repacking operation to reassign precedence values to filters such that filters that were assigned precedence values from a lower level block are reassigned to have precedence values from a higher level block, wherein the precedence values of the higher level block are all of higher priority than the precedence values of the lower level block.
21. The article of claim 20, wherein (a) through (g) are performed as part of an operating system executing on the processor.
22. The article of claim 21, wherein (g) comprises reassigning precedence values to filters such that filters that were assigned precedence values from a fourth block are reassigned to have precedence values from a third block, wherein the precedence values of the third block are all of higher priority than the precedence values of the fourth block.
23. The article of claim 22, wherein the set of processor-executable instructions, if executed by the processor, enable the mobile computing platform to:
(h) communicate to the network device indications of filter precedences, wherein the filter precedences are for the filters that were reassigned precedence values in (g).