1461099504-7e076e53-92ed-4dee-ba76-10f04d7c443c

1. A method for detecting cross-iteration dependencies between variables in a loop of a computer program, the method comprising the steps of:
associating unique values with each of the values of indirect loop index variables of the loop;
calculating for each iteration of the loop an indirectly indexed access pattern based upon the associated unique values; and
determining whether cross-iteration dependencies exist between any two iterations of the loop based upon the indirectly indexed access pattern of the two iterations.
2. The method as claimed in claim 1, wherein the unique values associated with each of the values of the indirect loop index variables of the loop are different binary bit patterns of a bit vector.
3. The method as claimed in claim 2, wherein the indirectly indexed access pattern for an iteration is calculated by forming the logical AND of the unique bit patterns associated with each of the values of the indirect loop index variables of the loop for that iteration.
4. The method as claimed in claim 3, wherein the existence of cross-iteration dependencies is determined by determining whether the indirectly indexed access pattern for the two iterations have any common bit positions that share a value of one.
5. The method as claimed in claim 1, wherein the unique values associated with each of the values of the indirect loop index variables of the loop are different prime numbers.
6. The method as claimed in claim 5, wherein the indirectly indexed access pattern for an iteration is calculated by forming the product of the unique prime numbers associated with each of the values of the indirect loop index variables of the loop for that iteration.
7. The method as claimed in claim 6, wherein the existence of cross-iteration dependencies is determined by determining whether a greatest common divisor between the two indirectly indexed access patterns for the two corresponding iterations is greater than one.
8. The method as claimed in claim 1, further comprising the step of grouping iterations in a wave for execution in a common time period such that no cross-iteration dependencies exist between any of the grouped iterations of the wave.
9. The method as claimed in claim 8, further comprising the step of executing each of said waves in a prescribed sequence, and executing each of said iterations in each of said waves in parallel with each other.
10. A method for assisting in scheduling parallel computation of instructions in a loop of a computer program, the method comprising the steps of:
determining, for a loop, active array variables, and direct and indirect loop index variables;
determining, for each iteration of the loop, values of the indirect loop index variables;
associating a unique value with each of values of the indirect loop index variables;
calculating an indirectly indexed access pattern for each iteration of the loop; and
determining whether cross-iteration dependencies exist between any two iterations of the loop based upon the indirectly indexed access patterns of the two iterations.
11. A method for detecting cross-iteration dependencies between variables in a loop of a computer program, the method comprising the steps of:
determining, for a loop, Boolean conditions embedded in the loop;
determining possible decision paths an iteration is allowed to take in the loop body in the presence of Boolean conditions;
determining a first set V={v1, v2, . . . vn} of active array variables of the loop, and a second set I={i1, i2, . . . ir} of indirect loop index variables that appear with the active array variables of said first set in the loop;
determining, for each decision path \u03bb in the set of possible decision paths in the loop, the set V\u03bb of active array variables associated with the path, and the set I\u03bb of indirect loop index variables that appear with the active array variables V\u03bb.;
determining the range N1, N2 of the direct loop index i of the loop, and the maximal range M1, M2 of the set of indirect loop index variables i1, i2, . . . ir of the loop;
associating, for each value l of the indirect loop index variables in the range M1, M2, a unique value p(l) with each value l of the indirect loop index variables in the range M1, M2;
determining, for each pair (i, \u03bb) of a value of the direct loop index i and a decision path \u03bb in the set of all possible decision paths in the loop, the value of S\u03bb(i) where S\u03bb(i) is the product of the unique values p(l) associated with each value l of the indirect loop index variables in the range M1, M2; and
determining, for any pair S\u03b1(i) and S\u03b2(j), whether the values of S\u03b1(i) and S\u03b2(j) indicate that cross-iteration dependencies exist between iterations i and j.
12. The method as claimed in claim 11, wherein the unique values p(l) are different prime numbers and the values of S\u03b1(i) and S\u03b2(j) indicate that no cross-iteration dependencies exist between iterations i and j if the greatest common divisor of S\u03b1(i) and S\u03b2(j) is 1 when i\u2260j.
13. The method as claimed in claim 11, wherein the unique values p(l) are different bit patterns in a bit vector, and the values of S\u03b1(i) and S\u03b2(j) indicate that no cross-iteration dependencies exist between iterations i and j if S\u03b1(i) and S\u03b2(j) do not share any common bits that are set to 1 when i\u2260j.
14. The method as claimed in claim 11, further comprising the step of:
grouping loop iterations in waves such that any two iterations i and j of a particular wave have no cross-dependencies.
15. The method as claimed in claim 14, further comprising the step of:
executing the waves in which loop iterations are grouped in a predetermined sequence such that the wave having the lowest value of the direct loop index i is executed first and completely, followed by the wave with the next lowest value of i, and so on for successive values of i; and
16. The method as claimed in claim 14, further comprising the step of:
executing the iteration in each wave in parallel using multiple computing processors.
17. A computer program product for detecting cross-iteration dependencies between variables in a loop of a computer program, the computer program product comprising computer software stored on a computer-readable medium for performing the steps of:
associating unique values with each of the values of indirect loop index variables of the loop;
calculating for each iteration of the loop an indirectly indexed access pattern based upon the associated unique values; and
determining whether cross-iteration dependencies exist between any two iterations of the loop based upon the indirectly indexed access pattern of the two iterations.
18. A computer system for detecting cross-iteration dependencies between variables in a loop of a computer program, the computer system executing computer software stored on a computer-readable medium for performing the steps of:
associating unique values with each of the values of indirect loop index variables of the loop;
calculating for each iteration of the loop an indirectly indexed access pattern based upon the associated unique values; and
determining whether cross-iteration dependencies exist between any two iterations of the loop based upon the indirectly indexed access pattern of the two iterations.

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 UV-emitting phosphor having a composition represented by a formula (Ca2-x,Srx)P2O7:Pr where 0\u2266x\u22662.
2. The phosphor of claim 1 wherein the phosphor emits ultraviolet radiation under excitation by vacuum ultraviolet radiation.
3. The phosphor of claim 1 wherein the phosphor emits ultraviolet radiation under excitation by a Xe-excimer discharge.
4. The phosphor of claim 1 wherein the phosphor exhibits a peak emission in a wavelength range from about 230 nm to about 240 nm.
5. A UV-emitting phosphor having a composition represented by a formula Ca(2-w-x-y-z)SrxAyPrzP2O7 where: A is a 1+ metal cation; w ranges from 0 to about 0.1; x ranges from 0 to 2-w-y-z; y ranges from 0 to about 0.25; and z ranges from greater than 0 to about 0.12.
6. The phosphor of claim 5 wherein A is Na+.
7. The phosphor of claim 5 wherein y ranges from z\u22120.01 to z+0.01.
8. The phosphor of claim 5 wherein z ranges from about 0.02 to about 0.08.
9. The phosphor of claim 5 wherein y=z.
10. A UV-emitting phosphor having a composition represented by a formula Ca(2-w-x-y-z)SrxNayPrzP2O7 where: w ranges from 0 to about 0.1; x ranges from 0 to 2-w-y-z; y ranges from 0 to about 0.25; and z ranges from greater than 0 to about 0.12.
11. The phosphor of claim 10 wherein y ranges from z\u22120.01 to z+0.01.
12. The phosphor of claim 10 wherein z ranges from about 0.02 to about 0.08.
13. The phosphor of claim 10 wherein y=z.
14. The phosphor of claim 10 wherein w=0.06.
15. The phosphor of claim 14 wherein y=z.
16. A UV-emitting phosphor comprising praseodymium-activated calcium strontium pyrophosphate.
17. A UV-emitting phosphor comprising praseodymium-activated calcium pyrophosphate.
18. The phosphor of claim 17 wherein the phosphor has a composition represented by a formula Ca(2-w-y-z)AyPrzP2O7 where: A is a 1+ metal cation; w ranges from 0 to about 0.1; y ranges from 0 to about 0.25; and z ranges from greater than 0 to about 0.12.
19. The phosphor of claim 18 wherein the phosphor is a \u03b2-phase calcium pyrophosphate and z ranges from about 0.04 to about 0.12.
20. The phosphor of claim 18 wherein the phosphor is an \u03b1-phase calcium pyrophosphate and z ranges from about 0.02 to about 0.08.
21. The phosphor of claim 18 wherein A is Na+.
22. A UV-emitting phosphor comprising praseodymium-activated strontium pyrophosphate.
23. The phosphor of claim 22 wherein the phosphor has a composition represented by a formula Sr(2-w-y-z)AyPrzP2O7 where: A is a 1+ metal cation; w ranges from 0 to about 0.1; y ranges from 0 to about 0.25; and z ranges from about 0.03 to about 0.08.
24. The phosphor of claim 22 wherein the phosphor is an \u03b1-phase strontium pyrophosphate.
25. The phosphor of claim 23 wherein y=z.
26. A UV-emitting lamp comprising a discharge vessel containing a source of vacuum ultraviolet radiation and a UV-emitting phosphor on an interior wall of the discharge vessel, the UV-emitting phosphor having a composition represented by a formula (Ca2-x,Srx)P2O7:Pr where 0\u2266x\u22662.
27. The UV-emitting lamp of claim 26 wherein the source of vacuum ultraviolet radiation is a xenon excimer discharge.
28. The UV-emitting lamp of claim 27 wherein the discharge vessel has dielectrically impeded electrodes.
29. The phosphor of claim 1 wherein the phosphor is formulated to have a slight molar excess of pyrophosphate anion relative to the total cation amount.
30. The phosphor of claim 1 wherein the phosphor is formulated to have a ratio of 1.00 moles of pyrophosphate anion to 1.94 moles of cation.
31. The phosphor of claim 1 wherein the phosphor has a mixture of \u03b1- and \u03b2-phases.

1461099494-ed8377bf-091b-4e4d-85bc-c96f1304a3e3

1. A computer program product comprising a non-transitory computer readable medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
receive a user input specifying an input arbitrarily hand-drawn shape tag, wherein the input arbitrarily hand-drawn shape tag is a non-text graphical symbol that is an annotation added to an existing electronic document by the user input;
update a set of shape tag equivalence classes within the data processing system based on the received user input to assign the input arbitrarily hand-drawn shape tag to a shape tag equivalence class having similar previously entered arbitrarily hand-drawn shape tags;
generate rankings of shape tags, in the shape tag equivalence classes, relative to one another;
generate the shape tag cloud display based on the generated rankings, wherein a representation of shape tags in each shape tag equivalence class in the set of shape tag equivalence classes, within the shape tag cloud display, has display characteristics based on the generated rankings;
associate, with each shape tag in the shape tag cloud display, a link to one or more electronic documents associated with the shape tag;
output the shape tag cloud display;
receive a selection of a shape tag in the shape tag cloud display;
provide, in response to receiving the selection of the shape tag in the shape tag cloud display, a listing of the one or more electronic documents associated with the selected shape tag, wherein entries in the listing comprise a title of a corresponding electronic document and an associated degree of matching between the corresponding electronic document and a shape tag equivalence class corresponding to the selected shape tag;
receive a selection of an entry in the listing of the one or more electronic documents to thereby select an electronic document from the listing; and
provide in response to receiving the selection of the electronic document, an output of the selected electronic document.
2. The computer program product of claim 1, wherein the user input is at least one of a newly drawn arbitrarily hand-drawn shape tag, a selection of a previously stored arbitrarily hand-drawn shape tag from a library or palette of shape tags, a combination of one or more previously defined shape tags, or a sub-portion of a previously defined shape tag.
3. The computer program product of claim 1, wherein the computer readable program causes the computing device to update the set of shape tag equivalence classes further at least by:
performing an analysis of the input arbitrarily hand-drawn shape tag to generate first characteristic information corresponding to the input arbitrarily hand-drawn shape tag;
comparing the first characteristic information of the input arbitrarily hand-drawn shape tag with second characteristic information of one or more previously entered shape tags in one or more shape tag equivalence classes;
determining a degree of matching between the first characteristic information and the second characteristic information for each of the shape tag equivalence classes; and
assigning the input arbitrarily hand-drawn shape tag to a shape tag equivalence class based on the degree of matching.
4. The computer program product of claim 3, wherein the analysis of the input arbitrarily hand-drawn shape tag is at least one of a pixel count based analysis, pixel color analysis, an analysis of primary contours or gradients, determining one or more mathematical formulas for generating the input arbitrarily hand-drawn shape tag, generating a table of data points of the input arbitrarily hand-drawn shape tag, or a centerpoint and radius analysis.
5. The computer program product of claim 3, wherein the computer readable program causes the computing device to determine the degree of matching at least by, for each shape tag equivalence class in the shape tag equivalence classes, determining at least one of a total number of matching previously entered shape tags, a frequency of occurrence of matching previously entered shape tags, or usage statistics for electronic documents associated with matching previously entered shape tags.
6. The computer program product of claim 1, wherein the computer readable program causes the computing device to generate rankings of shape tags at least by, for each shape tag:
generating a first relative ranking of the shape tag relative to other shape tags in a same shape tag equivalence class;
generating a second relative ranking of the shape tag equivalence class relative to other shape tag equivalence classes; and
generating a ranking for the shape tag by combining the first relative ranking and the second relative ranking.
7. The computer program product of claim 1, wherein the computer readable program causes the computing device to generate the shape tag cloud display based on the generated rankings, at least by generating representations of shape tags where each representation of shape tags has display characteristics corresponding to its associated ranking, and wherein higher ranking shape tags have display characteristics that are more prominent in the shape tag cloud display than lower ranking shape tags.
8. The computer program product of claim 7, wherein the display characteristics of a higher ranking shape tag is at least one of occupying a relatively larger portion of the shape tag cloud display than other lower ranking shape tags, highlighted in a more saturated color than other lower ranking shape tags, having a higher luminance than other lower ranking shape tags, or being oriented in a different direction than other lower ranking shape tags.
9. An apparatus, comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:
receive a user input specifying an input arbitrarily hand-drawn shape tag, wherein the input arbitrarily hand-drawn shape tag is a non-text graphical symbol that is an annotation added to an existing electronic document by the user input;
update a set of shape tag equivalence classes within the data processing system based on the received user input to assign the input arbitrarily hand-drawn shape tag to a shape tag equivalence class having similar previously entered arbitrarily hand-drawn shape tags;
generate rankings of shape tags, in the shape tag equivalence classes, relative to one another;
generate the shape tag cloud display based on the generated rankings, wherein a representation of shape tags in each shape tag equivalence class in the set of shape tag equivalence classes, within the shape tag cloud display, has display characteristics based on the generated rankings;
associate, with each shape tag in the shape tag cloud display, a link to one or more electronic documents associated with the shape tag;
output the shape tag cloud display;
receive a selection of a shape tag in the shape tag cloud display;
provide, in response to receiving the selection of the shape tag in the shape tag cloud display, a listing of the one or more electronic documents associated with the selected shape tag, wherein entries in the listing comprise a title of a corresponding electronic document and an associated degree of matching between the corresponding electronic document and a shape tag equivalence class corresponding to the selected shape tag;
receive a selection of an entry in the listing of the one or more electronic documents to thereby select an electronic document from the listing; and
provide in response to receiving the selection of the electronic document, an output of the selected electronic document.
10. The apparatus of claim 9, wherein the user input is at least one of a newly drawn arbitrarily hand-drawn shape tag, a selection of a previously stored arbitrarily hand-drawn shape tag from a library or palette of shape tags, a combination of one or more previously defined shape tags, or a sub-portion of a previously defined shape tag.
11. The apparatus of claim 9, wherein the instructions cause the processor to update the set of shape tag equivalence classes further at least by:
performing an analysis of the input arbitrarily hand-drawn shape tag to generate first characteristic information corresponding to the input arbitrarily hand-drawn shape tag;
comparing the first characteristic information of the input arbitrarily hand-drawn shape tag with second characteristic information of one or more previously entered shape tags in one or more shape tag equivalence classes;
determining a degree of matching between the first characteristic information and the second characteristic information for each of the shape tag equivalence classes; and
assigning the input arbitrarily hand-drawn shape tag to a shape tag equivalence class based on the degree of matching.
12. The apparatus of claim 11, wherein the analysis of the input arbitrarily hand-drawn shape tag is at least one of a pixel count based analysis, pixel color analysis, an analysis of primary contours or gradients, determining one or more mathematical formula for generating the input arbitrarily hand-drawn shape tag, generating a table of data points of the input arbitrarily hand-drawn shape tag, or a centerpoint and radius analysis.
13. The apparatus of claim 11, wherein the instructions cause the processor to determine the degree of matching at least by, for each shape tag equivalence class in the shape tag equivalence classes, determining at least one of a total number of matching previously entered shape tags, a frequency of occurrence of matching previously entered shape tags, or usage statistics for electronic documents associated with matching previously entered shape tags.
14. The apparatus of claim 9, wherein the instructions cause the processor to generate rankings of shape tags at least by, for each shape tag:
generating a first relative ranking of the shape tag relative to other shape tags in a same shape tag equivalence class;
generating a second relative ranking of the shape tag equivalence class relative to other shape tag equivalence classes; and
generating a ranking for the shape tag by combining the first relative ranking and the second relative ranking.
15. The apparatus of claim 9, wherein the instructions cause the processor to generate the shape tag cloud display based on the generated rankings, at least by generating representations of shape tags where each representation of shape tags has display characteristics corresponding to its associated ranking, and wherein higher ranking shape tags have display characteristics that are more prominent in the shape tag cloud display than lower ranking shape tags.
16. The apparatus of claim 15, wherein the display characteristics of a higher ranking shape tag is at least one of occupying a relatively larger portion of the shape tag cloud display than other lower ranking shape tags, highlighted in a more saturated color than other lower ranking shape tags, having a higher luminance than other lower ranking shape tags, or being oriented in a different direction than other lower ranking shape tags.

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. An encoding apparatus comprising:
an encoding unit that encodes an image to be encoded;
a generating unit that generates a local decoded image from the encoded image;
a difference calculation unit that calculates difference values between pixels included in the local decoded image and pixels included in the image to be encoded; and
a modifying unit that determines pixels from the local decoded image based on the difference values, and modifies the determined pixels.
2. The encoding apparatus according to claim 1, wherein the modifying unit determines pixels from the local decoded image based on an average value of the difference values instead of the difference values.
3. The encoding apparatus according to claim 1, wherein the image to be encoded includes a Coding Tree Unit (CTU) compliant with High Efficiency Video Coding (HEVC) standard.
4. A method comprising:
encoding an image to be encoded;
generating a local decoded image from the encoded image;
calculating difference values between pixels included in the local decoded image and pixels included in the image to be encoded;
determining pixels from the local decoded image based on the difference values; and
modifying the determined pixels.
5. A non-transitory storage medium which stores a program for causing a computer to execute a method, the method comprising:
encoding an image to be encoded;
generating a local decoded image from the encoded image;
calculating difference values between pixels included in the local decoded image and pixels included in the image to be encoded;
determining pixels from the local decoded image based on the difference values; and
modifying the determined pixels.