AU747582B2 - Universal linear kernal interpolation - Google Patents
Universal linear kernal interpolation Download PDFInfo
- Publication number
- AU747582B2 AU747582B2 AU65425/00A AU6542500A AU747582B2 AU 747582 B2 AU747582 B2 AU 747582B2 AU 65425/00 A AU65425/00 A AU 65425/00A AU 6542500 A AU6542500 A AU 6542500A AU 747582 B2 AU747582 B2 AU 747582B2
- Authority
- AU
- Australia
- Prior art keywords
- discrete sample
- sample value
- value
- orientation
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000000034 method Methods 0.000 claims description 88
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 19
- 238000005070 sampling Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 125000001475 halogen functional group Chemical group 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
Description
S&F Ref: 522734
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
Name and Address of Applicant: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome, Ohta-ku Tokyo 146 Japan .0 0 6.
0 Actual Inventor(s): Address for Service: Invention Title: Andrew James Dorrell Spruson Ferguson St Martins Tower 31 Market Street Sydney NSW 2000 Universal Linear Kernal Interpolation ASSOCIATED PROVISIONAL APPLICATION DETAILS [33] Country [31] Applic. No(s) AU PQ3776 [32] Application Date 29 Oct 1999 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815c [R:\LIBW]07456.doc:vsg -1- UNIVERSAL LINEAR KERNAL INTERPOLATION Field of Invention The present invention relates to a method and apparatus for resolution conversion for multi-dimensional image data and in particular digital image data. The invention also relates to a computer program product including a computer readable medium having recorded thereon a computer program for resolution conversion of multidimensional image data and in particular digital image data.
Background There are a number of known methods available for digital data resolution conversion, these including, for example, transform domain methods such as the fractional Fourier transform (fractional FFT or Chirp-Z transform), the discrete cosine transform (DCT), and the discrete wavelet transform (DWT). In addition, there are a number of spatial domain methods such as re-sampling and digital filtering with finiteimpulse response (FIR) and infinite-impulse response (IR) filters and interpolation with 15 continuous, usually cubic, splines.
A significant problem encountered in resolution conversion and in particular, resolution enhancement, or interpolation, is retaining the greatest possible sharpness in an output image. In order to retain the greatest possible sharpness in an output image, the sharpness of edges in the output image must be maintained. A problem occurs where computer generated graphics such as text, icons and web graphics are to be processed, as these frequently contain abrupt edges. Known methods of maintaining edge sharpness include applying a plurality of interpolation techniques to an image, which are adapted to the image content either manually, semi- or fully-automatically. Edge sharpness can be increased by making use of a plurality of interpolation kernels.
S"i 25 One particular known method of interpolation, which is directed to minimising o• the degree of blurring of a particular orientation, utilises kernels which are matched to the orientation of dominant edges in the image data such that minimal blurring occurs across the edge, while jagged features which occur along the edge are smoothed. The jagged edges result from resampling. A problem with the method is that the quality of the result is dependent on accurate kernel selection, which is in turn dependent on accurate measurement of edge strength and orientation. The method requires a region of 4x4 pixels to be analysed. The method measures edge strength separately in the horizontal and vertical directions and takes a vector sum to determine the general edge direction within the region. In practice, the method is unable to correctly characterise very fine or rapidly changing image features such as are found in text, computer graphics and icons.
522734.doc -2- In the presence of such features, the method is prone to misclassification leading to a visually inferior interpolation. Australian Patent Application No. PQ3778, filed 29 October 1999, the corresponding complete patent specification of which being filed concurrently with the present specification, discloses a method of minimising the misclassification in two ways. Firstly, an attempt is made to identify and independently process areas of the image which exhibit abrupt edges. Secondly, these areas are interpolated using a kernel which minimises the amount of blurring in all orientations.
While the method does avoid the introduction of artefacts due to incorrect kernel selection, the result represents a poor alternative as the non-directed kernel is neither capable of removing the jagged appearance of output edge features, nor maintain the original edge sharpness. A second problem with the method and similar approaches is the added complexity of the processing pipeline which can make the method inappropriate for certain applications.
:"Additionally, all of the above mentioned methods involve the application of a 5 linear interpolating operator to local regions of the input image data, which has the disadvantage that new colours are introduced as a result of blurring. When the interpolating kernel is cubic, in addition to blurring, a halo effect can be introduced around interpolated edges. The halo effect is particularly visible when interpolation is performed on an area of image data containing abrupt edges but a flat (near constant coloured) background and further detracts from the perceived quality of the interpolated image. Computer "desktop" and slide presentations are typical examples. To solve the problem, further logic is usually required in regions exhibiting more than a certain number of colours in order to maintain the sharpness of natural images. However, the approach of including further logic adds further to the complexity of the algorithm.
S 25 A computationally efficient alternative is to use a steerable linear kernel. A •steerable linear kernel has the advantage of being short, and inexpensive to apply, as well as having the property that it cannot generate intensities which lye outside the bounds of the input intensities. However, effective use of a steerable kernel is prevented by the absence of a method for determining local edge orientation, as discussed above.
It is an object of the present invention to ameliorate one or more of the limitations of the methods described above.
Summary of the Invention According to one aspect of the present invention there is provided a method of determining an orientation angle for a set of discrete sample values, said method comprising the steps of: 522734.doc -3accessing at least one portion of said set; calculating an absolute difference between at least one discrete sample value of said portion and each remaining discrete sample value of said portion; comparing said absolute difference for each remaining discrete sample value of said portion to a threshold value; providing an indicator for each remaining discrete sample value depending on said comparison; and matching said indicator to one of a plurality of orientation angles.
According to another aspect of the present invention there is provided an to apparatus for determining an orientation angle for a set of discrete sample values, said apparatus comprising: access means for accessing at least one portion of said set; calculation means for calculating an absolute difference between at least one S"i discrete sample value of said portion and each remaining discrete sample value of said is portion; ~comparison means for comparing said absolute difference for each remaining discrete sample value of said portion to a threshold value; indicator means for providing an indicator for each remaining discrete sample value depending on said comparison; and means for matching said indicator to one of a plurality of orientation angles.
According to still another aspect of the present invention there is provided a computer readable medium, having a program recorded thereon, where the program is •.configured to make a computer execute a procedure to determine an orientation angle for a set of discrete sample values, said program comprising: code for accessing at least one portion of said set; code for calculating an absolute difference between at least one discrete sample value of said portion and each remaining discrete sample value of said portion; code for comparing said absolute difference for each remaining discrete sample value of said portion to a threshold value; code for providing an indicator for each remaining discrete sample value depending on said comparison; and code for matching said indicator to one of a plurality of orientation angles.
522734.DOC Brief Description of the Drawings A number of preferred embodiments of the present invention will now be described with reference to the drawings, in which: Fig. 1 is a flow diagram of a method of an interpolation process; Fig. 2 shows a modified form of a linear interpolating kernel; Fig. 3 shows a flowchart of a method of determining pixel edge orientation for a pixel-based image in accordance with the preferred embodiment of the present invention; Fig. 4 is a flowchart showing a method of performing interpolation on a pixelbased image utilising the method of determining pixel edge orientation of Fig. 3; and Fig. 5 is a schematic block diagram of a general purpose computer upon which the preferred embodiment of the present invention can be practiced; and Fig. 6 shows an example of up-sample and input grids in accordance with the preferred embodiment.
S o *oo* *oo •d~ Th nex paei Pg 522734.DOC -7- Detailed Description including Best Mode Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
The preferred embodiment is a method of determining pixel edge orientation for a pixel-based image. The preferred embodiment can be utilised to interpolate image data by adapting an interpolating kernel to local image data and selecting the most appropriate interpolation kernel from a number of available oriented interpolation kernels. The preferred embodiment can be utilised in an interpolation method using a 2-dimensional form of convolution with a continuous kernel. A further interpolation method is described whereby a non-linear weighted mode filter is used and weights are drawn from a continuous kernel definition. Both interpolation methods preferably make use of a look-up table for storing pre-calculated kernels. A kernel set used which is preferably a 5 steerable linear set containing 8 oriented kernels and 2 non-directional kernels.
Generation of the kernel set will be detailed below.
Fig. 1 is a flowchart showing an interpolation process. The process beings at step 101, where the input image is processed in order to generate a "map" image in which intensity values are used to refer to specific edge orientations and consequently, interpolation kernels. The processing of step 101, as it relates to the preferred embodiment, is detailed later in this document. The map image, hereinafter referred to as the "edge map", is then used by the interpolation engine to interpolate the input image at i the next step 103. The process concludes when the entire input image has been interpolated.
:i 25 The preferred method of determining pixel edge orientation for a pixel-based image in accordance with the present invention is a fast, highly localised method which has sufficient classification resolution to be used with a set of steered linear kernels on detailed regions such as text and graphics. The preferred method results in very low computational overhead in both software and hardware. The preferred method provides a result which is more consistent with what a casual viewer expects to see in an interpolated graphic. Also, the non-linear interpolation method is able to perform a morphologically smooth interpolation without introducing new colours into the output image.
Initially the case of a 1-dimensional continuous kernel convolution will be described. Letf(kAt) (k 2, 0, 1, 2, be the samples of a continuous functionfit), 522734.doc where At is the sampling rate. Interpolation with a continuous kernel gives a continuous function that is an approximation off(t), and is given by the finite convolution sum: g(t) Y f(kAt)h(t kAt) (1) where h(t) is the continuous interpolation kernel. From equation any sample of g(t) can be calculated using the continuous kernel, and a finite number (say 4) of original sampled points, f(kAt).
In accordance with the preferred embodiment, kernels are derived from a modified form of the linear interpolating kernel, depicted in Fig. 2 and defined in equation The kernel is parameterised to include a variable dominant-zone. The parameter d defines the positive width of the zone in which the kernel magnitude is always unity. From the dominant zone the kernel ramps linearly to zero with a slope that guarantees an overall gain of unity. It is worth noting that when d 0, a continuous convolution with the kernel according to equation results in linear interpolation of the input data. When d =0.5 the same convolution results in nearest neighbour 15 interpolation.
1 where s <d, hd(s)= 0 where (2) s -d s otherwise.
1- 2d A two-dimensional steered linear kernel is defined based on a separable combination of the modified linear kernel defined in equation By setting the d parameter differently in each plane, a directional preference is introduced as the resulting 20 2D kernel has different extent and performs different degrees of smoothing in each plane.
Steered linear kernels can then be calculated for any preferred edge orientation by rotating the basic, directionally biased kernel by any required angle according to equation The kernels that result are non-separable.
hdd(x,s (Ohd hd +(2O/r-1)s) (3) where w(O) cos(40) (4) 2 2 The parameter w(O) is referred to as the cross edge weighting factor, and is required to ensure unity gain for the rotated filter.
522734.doc Ten different kernels are preferably used in accordance with the preferred embodiment. Eight of the kernels are preferably steered kernels having d 0 in the direction of the edge and d 0.3 in the direction perpendicular to the edge and steered to orientations in the set: Steer angles 8 4n'8,8'/2 8'/478 2 The remaining two kernels are preferably non-directional: the first, hereinafter referred to as the short kernel, uses d 0.3 in both image planes; the second, hereinafter referred to as the background or long kernel, uses d 0 in both image planes. The short kernel is used in regions where sharp transitions are present but no definitive direction can be identified. The background kernel is used in regions where no edges are found.
The above kernels are exemplary and are not intended to limit the invention.
Different values for the parameter d can be chosen for each kernel direction and, in fact, can be selected in accordance with previously calculated image features, local or global.
The preferred embodiment preferably uses linear kernels in order to minimise 15 computational cost. However, kernels from other families can be utilised. For example, in accordance with another embodiment, a cubic interpolating kernel can be utilised instead of the linear background kernel described above.
Fig. 3 shows a flowchart of a method of determining pixel edge orientation for a pixel-based image in accordance with the preferred embodiment of the present invention.
The process begins at step 310 where (output) boundary pixels are initialised. As there is no complete neighbourhood for boundary pixels the output for these pixels is set to have no preferred direction at step 310. Further, to minimise smoothing at image boundaries, a short kernel is preferably used for all boundary pixels. Subsequently, for each pixel that is not a boundary pixel, an immediate neighbourhood region is extracted for processing at the next step 320. The process continues at step 330, where the immediate •neighbourhood region is used to calculate a difference map by taking the absolute difference between each neighbour pixel and the centre pixel. The difference map E(ij) in accordance with the preferred embodiment is as follows: E(i, j) I x x,1) 1(6) for all i and j in the range and At the next step 340, a threshold is applied to the difference map to provide an 8 bit key. The key contains one bit of information for each of the eight neighbouring pixels of the immediate neighbourhood region, indicating whether the neighbour differs from the centre pixel by the threshold.
The selection of a threshold can be dynamic and preferably adapted to local image 522734.doc properties including those drawn from a larger surrounding area. In accordance with the preferred embodiment, a static threshold of 30 is used (with 8 bit pixel data) and steps 330 and 340 are preferably performed in a single operation.
Once obtained, the 8-bit key is matched to one of a predefined set of edge orientations at the next step 350. The matching can preferably utilise a look-up table.
Alternatively, matching can be implemented using a logic circuit. In accordance with the preferred embodiment, the logic circuit alternative is used, the behaviour of which is defined in Table 1 below. The process continues at the next step 360, where a check is made to see if all non-boundary pixels and their surrounding regions have been processed in the input image.
Orientation Matchin keys 1 1 111 1 1 XX I X
X
0 o I ,I o o o x Io_- o o 1 l Ill 1 XXXIX I I x ll000 XI 1110000 1 1 0 1 10 1X 0 0 0 0 0 S 1i10 i xx 0 0 0 X 0 Y4 iI1 0 0 00 o 1 o o 1 o x 1 x o o 1 o 8 X 1 0 1 1 X 1 0 0 1 1 0 2 I i I i xI x I I *111 1 1 o XO X 0 1 x 1 0 0 1 0 0 0 1 3 poxt o x i ox oix oo oo l 8 1 X 1 0 X 0 1 1 0 0 1 11 0 X 0 X 0 1 0 0 1 1 0 0 00 iiii x oxxo o xooo oil l 1 1 XX O 0 0 0 10 1 8 0 1 0 1 1 0 1 0 0 0 0 0 x 0 x 1 0 X X O XO 1000 7Y 1 1sifac xof00 0te 0 0 o 1 1 Table 1 Table 1 also defines the rules preferably used to determine an edge orientation given the eight bit key described above. For clarity, the keys are represented as a square matrix with the position of each bit of information reflecting the relative position of the input (neighbour) pixel from which it is drawn. The contents of the matrix are 1, indicating that a particular bit is set; 0, indicating that the bit is unset; or X, indicating that the significance of the bit is not tested. In addition, an all-zeros key matches to a nondirectional long kernel, as described above. If a non-zero key matches none of the patterns in the table it is preferably assigned a non-directional short kernel.
522734.doc -11- Accordingly, the method of Fig. 3 provides for the selection of an appropriate kernel for the pixel in question, the kernal being one of the eight steered kernels dependent upon edge orientation angle, a short kernel or a long kernel.
Fig. 4 is a flowchart showing a method of performing interpolation on a pixelbased image, which utilises the method of determining pixel edge orientation in accordance with the preferred embodiment of the present invention. The preferred method utilises a linear convolution process and is used for arbitrary up-sampling factors when it is necessary to introduce new colours into an output.
The process begins at step 401, where for each output pixel location the contributing neighbouring pixels are determined. The neighbours contributing to each output point are simply those that lie on and within the perimeter of a square centred at the output point with sides equal to the largest interpolating kernel width. At the next step 403, the contribution of each of the neighbours to the output pixel is calculated by sampling continuous kernels, centred at each of the input points at the relative location of the output point. The kernel used at each input point is one determined by the kernel selection method previously described with refemce to equation Fig. 3 and Table 1.
Kernel samples are weighted (multiplied) by the sample value at the input points to give their contribution to the output. The process continues at step 405, where the output is formed as the sum of all contributions of the selected output pixel location. The method described does not guarantee that the kernel samples used at any output location will sum to unity. To ensure unit gain for the interpolation process a value equal to the sum of the unweighted kernel samples used to calculate each output is preferably maintained during the calculation of each output point. The sum of input contributions is divided by the value equal to the sum of the unweighted kernel samples (the sum of kernel samples) to S 25 ensure unity gain.
a further embodiment of the interpolation process described in Fig. 4, a single interpolating kernel can be selected for use at each output point based on a nearest neighbour interpolation of the previously determined kernel selection map (or edge map).
The interpolation factor used in the interpolation process described in Fig. 4 is preferably described as a rational number resulting in a fixed number of sampled versions of each of the interpolating kernels ever being used. Specifically, after referring to the numerator of the rational up-sample factor as the "up-sample rate" and denoting it as u, an "up-sample grid" can be generated by inserting u -1 new locations between each of the input points. The grid defined by the combination of input and new locations is the upsample grid. The grid defined by the original (input) image sample points is referred to as 522734.doc 12the input grid. Fig. 6 shows an example of up-sample 601 and input grids 603. Unit distance is defined with respect to the input grid 603. By placing each kernel to be used in the interpolation process at each location on the up-sample grid 601, then sampling the selected kernel, for each position on the input grid 603, a set of samples corresponding to all of the possible sampling of the kernels required for the interpolation process described above is obtained. The sample values can preferably be stored in a look-up-table for fast reference.
In a further embodiment of the present invention, the linear sum previously used to calculate the pixel intensity at each output point is replaced with a non-linear process.
The further embodiment is used for integer up-sample rates where it is possible to interpolate without introducing new colours. The further embodiment differs from the interpolation process described in Fig. 4 in that the output pixel value (calculated at step 405) is calculated by selecting the input pixel intensity that has the greatest weight as defined by the kernel samples. For each set of input pixel and corresponding kernel coefficients, a bin is preferably created for each unique input value. Then, for each input S.pixel location, the corresponding kernel weight is added to the bin corresponding to the pixel value. The output value is the (input) value with the highest score in the associated bin after all locations have been processed in this way. Note that no normalisation step is required using the non-linear method of the further embodiment.
The further embodiment can be modified such that a single kernel is selected based on a nearest neighbour interpolation of the edge map image. Rational interpolation factors and a look-up-table for determining kernel samples can preferably be utilised with the further embodiment.
It is important to note that the result of non-linear interpolation is dependent on 25 the kernel size used. Specifically, for even kernel sizes, only odd up-sample rates lead to •"visually pleasing results. Where even up-sample rates are required, odd length kernels are preferably used.
The aforementioned preferred methods comprise a particular control flow. There are many other variants of the preferred methods which use different control flows without departing the spirit or scope of the invention. Furthermore one or more of the steps of the preferred methods can be performed in parallel rather sequential.
The method of determining pixel edge orientation for a pixel-based image is preferably practiced using a conventional general-purpose computer system 500, such as that shown in Fig. 5 wherein the processes of Figs. 1 to 4 can be implemented as software, such as an application program executing within the computer system 500. In 522734.doc -13particular, the steps of method of Fig. 3 are effected by instructions in the software that are carried out by the computer. The software can be divided into two separate parts; one part for carrying out the method of determining pixel edge orientation for a pixel-based image; and another part to manage the user interface between the latter and the user. The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer from the computer readable medium, and then executed by the computer. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer preferably effects an advantageous apparatus for determining pixel edge orientation for a pixel-based image in accordance with the embodiments of the invention.
The computer system 500 comprises a computer module 501, input devices such as a keyboard 502 and mouse 503, output devices including a printer 515 and a display device 514. A Modulator-Demodulator (Modem) transceiver device 516 is used by the computer module 501 for communicating to and from a communications network 520, for example connectable via a telephone line521 or other functional medium. The modem 516 can be used to obtain access to the Intemrnet, and other network systems, such as a Local Area Network (LAN) or a Wide Area Network (WAN).
The computer module 501 typically includes at least one processor unit 505, a 20 memory unit 506, for example formed from semiconductor random access memory oo o (RAM) and read only memory (ROM), input/output interfaces including a video interface507, and an I/O interface513 for the keyboard502 and mouse503 and optionally ajoystick (not illustrated), and an interface 508 for the modem 516. A storage device 509 is provided and typically includes a hard disk drive 510 and a floppy disk drive 511. A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive 512 is typically provided as a non-volatile source of data. The components 505 to 513 of the computer module 501, typically communicate via an interconnected bus 504 and in a manner which results in a conventional mode of operation of the computer system 500 known to those in the relevant art. Examples of computers on which the embodiments can be practised include IBM-PC's and compatibles, Sun Sparcstations or alike computer systems evolved therefrom.
Typically, the application program of the preferred embodiment is resident on the hard disk drive 510 and read and controlled in its execution by the processor 505.
Intermediate storage of the program and any data fetched from the network 520 may be accomplished using the semiconductor memory 506, possibly in concert with the hard 522734.doc 14disk drive 510. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 512 or 511, or alternatively may be read by the user from the network 520 via the modem device 516.
Still further, the software can also be loaded into the computer system 500 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer module 501 and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including email transmissions and information recorded on websites and the like. The foregoing is merely exemplary of relevant computer readable mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
The method of determining pixel edge orientation for a pixel-based image can alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of Fig. 3. Such dedicated hardware can include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
The foregoing describes only one embodiment/some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiment(s) being illustrative and not *g 20 restrictive.
In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including" and not "consisting only of'. Variations of the word comprising, such as "comprise" and "comprises" have corresponding meanings.
522734.doc
Claims (9)
1. A method of determining an orientation angle for a set of discrete sample values, said method comprising the steps of: accessing at least one portion of said set; calculating an absolute difference between at least one discrete sample value of said portion and each remaining discrete sample value of said portion; comparing said absolute difference for each remaining discrete sample value of said portion to a threshold value; providing an indicator for each remaining discrete sample value depending on said comparison; and matching said indicator to one of a plurality of orientation angles. *o **o
2. The method according to claim 1, wherein said one discrete sample value is a non-boundary discrete sample value. oooo
3. The method according to any one of claims 1 or 2, comprising the further step of initialising boundary discrete sample values of said image data to have no preferred orientation.
4. The method according to any one of the preceding claims, wherein said threshold *value is predetermined. ooo°
5. The method according to claim 4, wherein said threshold value is equal to
6. The method according to any one of claims 1 to 3, wherein said threshold value is determined dynamically.
7. The method according to any one of the preceding claims, wherein said edge orientations are predetermined.
8. The method according to any one of the preceding claims, wherein said matching of said indicators is dependent on a set of predetermined rules.
522734.DOC -16-
9. The method according to any one of the preceding claims, wherein a look-up table is used to perform said matching. The method according to any one of claim 1 to 9, wherein a logic circuit is used to perform said matching. 11. The method according to any one of the preceding claims, wherein said plurality of orientation angles include the set n/8, 37t/8, iT/2, 57/8, 3n/4 and 77/8}. to 12. The method according to claim any one of the preceding claims, wherein the logic table illustrated in Table 1 is used to performn said matching. 13. A method of selecting a kernel for interpolation utilising the method of determining an orientation angle for a set of discrete sample values according to claim 1. S 14. A method of performing resolution conversion utilising the method of determining an orientation angle for a set of discrete sample values according to claim 1. An apparatus for determining an orientation angle for a set of discrete sample values; said apparatus comprising: access means for accessing at least one portion of said set; *3 0dcalculation means for calculating an absolute difference between at least one discrete sample value of said portion and each remaining discrete sample value of said portion; comparison means for comparing said absolute difference for each remaining discrete sample value of said portion to a threshold value; indicator means for providing an indicator for each remaining discrete sample value depending on said comparison; and means for matching said indicator to one of a plurality of orientation angles. 16. The apparatus according to claim 15, wherein said one discrete sample value is a non-boundary discrete sample value. 522734.DOC -17- 17. The apparatus according to any one of claims 15 or 17, further comprising means for initialising boundary discrete sample values of said image data to have no preferred orientation. 18. The apparatus according to any one of claims 15 to 16, wherein said threshold value is predetermined. 19. The apparatus according to claim 18, wherein said threshold value is equal to 20. A computer readable medium, having a program recorded thereon, where the program is configured to make a computer execute a procedure to determine an orientation angle for a set of discrete sample values, said program comprising: code for accessing at least one portion of said set; code for calculating an absolute difference between at least one discrete sample *go*o• value of said portion and each remaining discrete sample value of said portion; code for comparing said absolute difference for each remaining discrete sample value of said portion to a threshold value; code for providing an indicator for each remaining discrete sample value depending on said comparison; and 20 code for matching said indicator to one of a plurality of orientation angles. 21. The computer readable medium according to claim 20, wherein said one discrete sample value is a non-boundary discrete sample value. oo•• 22. The computer readable medium according to claim 20, said program further comprising code for initialising boundary discrete sample values of said image data to have no preferred orientation. 23. The computer readable medium according to claim 20, wherein said threshold value is predetermined. 24. The computer readable medium according to claim 20, wherein said threshold value is equal to 522734.DOC A method of determining an orientation angle, substantially as hereinbefore described with reference to Figs. 1 to 6. 26. An apparatus for determining an orientation angle, substantially as hereinbefore s described with reference to Figs. 1 to 6. DATED this Fifteenth Day of March 2002 Canon Kabushiki Kaisha Patent Attorneys for the Applicant SPRUSON FERGUSON *C C. e e *ee 522734.DOC
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU65425/00A AU747582C (en) | 1999-10-29 | 2000-10-11 | Universal linear kernal interpolation |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AUPQ3776 | 1999-10-29 | ||
| AUPQ3776A AUPQ377699A0 (en) | 1999-10-29 | 1999-10-29 | Universal linear kernal interpolation |
| AU65425/00A AU747582C (en) | 1999-10-29 | 2000-10-11 | Universal linear kernal interpolation |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| AU6542500A AU6542500A (en) | 2001-05-03 |
| AU747582B2 true AU747582B2 (en) | 2002-05-16 |
| AU747582C AU747582C (en) | 2002-11-07 |
Family
ID=25634698
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU65425/00A Ceased AU747582C (en) | 1999-10-29 | 2000-10-11 | Universal linear kernal interpolation |
Country Status (1)
| Country | Link |
|---|---|
| AU (1) | AU747582C (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111693763B (en) * | 2020-05-22 | 2023-06-06 | 科华恒盛股份有限公司 | Detection system for power module in modularized electrical equipment |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU6527199A (en) * | 1998-12-18 | 2000-06-22 | Canon Kabushiki Kaisha | A steerable kernel for image interpolation |
-
2000
- 2000-10-11 AU AU65425/00A patent/AU747582C/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU6527199A (en) * | 1998-12-18 | 2000-06-22 | Canon Kabushiki Kaisha | A steerable kernel for image interpolation |
Also Published As
| Publication number | Publication date |
|---|---|
| AU747582C (en) | 2002-11-07 |
| AU6542500A (en) | 2001-05-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Dey | Hands-On Image Processing with Python: Expert techniques for advanced image analysis and effective interpretation of image data | |
| US9064476B2 (en) | Image super-resolution using gradient profile prior | |
| Su et al. | Image interpolation by pixel‐level data‐dependent triangulation | |
| US8867858B2 (en) | Method and system for generating an output image of increased pixel resolution from an input image | |
| Váša et al. | Dihedral angle mesh error: a fast perception correlated distortion measure for fixed connectivity triangle meshes | |
| US7054507B1 (en) | Method of kernel selection for image interpolation | |
| Muresan et al. | Adaptively quadratic (AQua) image interpolation | |
| Lee et al. | Nonlinear image upsampling method based on radial basis function interpolation | |
| US20130034313A1 (en) | Regression-Based Learning Model for Image Upscaling | |
| US8406518B2 (en) | Smoothed local histogram filters for computer graphics | |
| Machiraju et al. | Reconstruction error characterization and control: A sampling theory approach | |
| Sajjad et al. | Digital image super-resolution using adaptive interpolation based on Gaussian function | |
| US6748120B1 (en) | Steerable kernel for image interpolation | |
| JP2000182039A5 (en) | ||
| Lee et al. | Image zooming method using edge-directed moving least squares interpolation based on exponential polynomials | |
| US7817871B2 (en) | Scaling of raster images without blurring of edges | |
| AU747582B2 (en) | Universal linear kernal interpolation | |
| Zhang et al. | On kernel selection of multivariate local polynomial modelling and its application to image smoothing and reconstruction | |
| Khattak | Image magnification using adaptive interpolation by pixel level data-dependent geometrical shapes | |
| Hwang et al. | A method of identifying digital images with geometric distortion | |
| Borole et al. | Patch-based inpainting for object removal and region filling in images | |
| US8358867B1 (en) | Painterly filtering | |
| US6687417B1 (en) | Modified kernel for image interpolation | |
| US20070183683A1 (en) | Blurring an image using a graphic processing unit | |
| Manson et al. | Bilinear accelerated filter approximation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| DA2 | Applications for amendment section 104 |
Free format text: THE NATURE OF THE PROPOSED AMENDMENT IS AS SHOWN IN THE STATEMENT(S) FILED 20020328 |
|
| DA3 | Amendments made section 104 |
Free format text: THE NATURE OF THE AMENDMENT IS AS WAS NOTIFIED IN THE OFFICIAL JOURNAL DATED 20020523 |
|
| FGA | Letters patent sealed or granted (standard patent) |