EP1825439B1 - Programmable processor - Google Patents
Programmable processor Download PDFInfo
- Publication number
- EP1825439B1 EP1825439B1 EP05821606A EP05821606A EP1825439B1 EP 1825439 B1 EP1825439 B1 EP 1825439B1 EP 05821606 A EP05821606 A EP 05821606A EP 05821606 A EP05821606 A EP 05821606A EP 1825439 B1 EP1825439 B1 EP 1825439B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- sample value
- value
- output
- sample
- signal
- 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.)
- Not-in-force
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Definitions
- the invention relates to a programmable processor, and in particular, to a digital signal processor for sample rate conversion on a programmable processor.
- the invention also relates to a method of resampling a digital signal.
- Programmable processors operate according to a sequence of operations taken from a set of operations known as an instruction set
- a program is usually written in a higher level source code, such as C, which is used to define the sequence of operations that are to be executed by the programmable processor.
- C higher level source code
- the high level language provides a more user friendly method of programming, which is then compiled into a set of executable operations taken from the instruction set.
- mapping between the high level source code and the instruction set does not have to be one-on-one. For example, an operation in the source code can be mapped onto several executable operations. Also, several operations in the source code can be mapped onto a single executable operation.
- Programmable processors are widely used in digital signal processing, including image processing and 3D graphics.
- One operation that is carried during image processing is texture mapping, which involves a process known as resampling. Resampling is the process of minification (decimation) and magnification (interpolation), for example where a digital image is resampled to a different resolution.
- Text mapping hardware is based on the principles of inverse texture mapping, thereby a prefilter of a pixel (in screen space) is mapped onto input samples (texels).
- An exemplary inverse mapping approach is disclosed in EP-A1-0 548 917 . While inverse texture mapping has the advantage of being simple to implement in hardware, it suffers from the disadvantages of either having poor quality (such as aliasing or blurry artefacts) or that the filters become very complicated.
- the aim of the present invention is to provide a programmable processor and a new digital signal processing operation for performing digital resampling more efficiently on a programmable processor by performing a dedicated operation rather than executing separate (finer granularity) operations as carried out on a conventional programmable processor. More specifically, the present invention is concerned with a digital image processor for use with forward texture mapping.
- the preferred embodiment is being described in relation to performing a digital image resampling function called texture mapping in a 3D graphics pipeline.
- the invention can also be used for other digital image or digital signal processing operations, including down scaling of video signals, such as down scaling from a camera to a display of a mobile phone.
- the invention is very suitable for use in warping of digital images or other forms of non-uniform resampling.
- the perspective transformation of a texture map is a two dimensional resampling process, ie the transformation maps a sampled input image (the texture map) onto a sampled output image (the screen).
- the ideal resampling process consists of four steps:
- Minification is the more critical case because it can generate high frequencies that can give rise to undesired aliasing artefacts.
- a digital signal processor and a new digital signal resampling operation is provided for processing images and 3D graphics.
- the digital image processor can be used for down-scaling (i.e. minification, decimation or down-sampling) a digital image with a stepless variable scale factor (across the image).
- the scale factor can be every rational value below 1, however the real accuracy is determined by the fractional precision of the texel (input sample) coordinates, as will be described later in the application.
- Figure 1 shows a high level view of the resample operation 1 according to the present invention, together with the input and output connections required for performing the digital image processing operation of the present invention.
- the resample operation 1 is described using four colour channels: r,g,b and a.
- r,g,b and a colour channels
- the preferred embodiment uses 8 bits per colour channel. Again, it will be appreciated that any other number of bits per colour channel could be used without departing from the scope of the invention as defined in the claims.
- the resample operation 1 is connected to receive input signals comprising a "xlr” signal 3, a "rgbaIn” signal 5 and a “rgbaPartIn” signal 7.
- the xlr signal 3 comprises two sets of 16 bits called xr and xl, respectively.
- the xr and xl signals are inputs, being the coordinates of a current and previous input sample, respectively.
- the rgbaIn signal 5 relates to the input sample colour, and comprises 4 colour channels (ie r, g, b, a) each having 8 bits, thus comprising 32 bits in total.
- the rgbaPartIn signal 7 comprises 4 signals, each having 16 bits, thereby comprising 64 bits in total.
- the resample operation 1 produces output signals comprising a bundled "xOut/genPix" signal 9, a "rgbaOut” signal 11 and a “rgbaPartOut” signal 13.
- the rgbaOut signal 11 contains 4 colour channels each having 8 bits, thus providing a 32 bit output signal.
- the rgbaPartOut signal 13 comprises 4 signals each having 16 bits, thereby providing a 64 bit output signal.
- the xOut/genPix signal 9 comprises an xOut signal, for example assigned to bits [15..0], and a genPix signal assigned to bit 16. In the example, bits [31..17] of signal 9 are unused. The function of each of these signals will be described in greater detail in relation to the other figures.
- the xOut signal relates to the integer coordinate where the colour value of the output signal rgbaOut 11 is meant for.
- the xOut signal and output signal rgbaOut are only meaningful when the genPix signal 9 is true, indicating that the last input sample that contributes to this output pixel has been processed. In other words, the genPix signal 9 is outputted to inform the higher level software whether or not the rgbaOut value 11 is valid (ie indicating if the rgbaOut value 11 is to be processed further or to be neglected).
- rgbaPartOut signal 13 and rgbaPartIn signal 7 relate to the same (64 bit) register.
- the colours of the input samples that contribute to a single output sample are weighted and then accumulated in this register, thus making the register an accumulation register.
- the precision must be high to allow larger minification factors where a large number, say one hundred, input samples each make a small contribution towards the output sample. Each of the small contributions would be rounded to zero in the case where precision was say 8 bits instead of 16 bits.
- FIG. 2 shows a block diagram illustrating the operation of the resample operation 1 of Figure 1 in greater detail.
- the resample operation comprises a first logic unit 21 for receiving the input sample coordinates in the form of the xr and xl signals, ie the coordinates for the current and previous sample, respectively.
- the logic unit 21 is configured to determine the colour weights of the input samples, and to output a first colour weight value "w" and a second colour weight value "wN".
- the first colour weight value w is the weight derived from phase r
- the second colour weight value wN is the weight derived from phase 1.
- the logic unit 21 also produces the output sample coordinate, ie the xOut signal 9 that relates to the integer coordinate where the colour value of output signal rgbaOut 11 is meant for. Also, the logic unit 21 is configured to generate the genPix signal 9 that indicates whether or not the output sample is valid.
- a second logic unit 23 receives the second colour weight value wN relating to phase 1 and the input sample colour, ie the rgbaIn signal 5, and is configured to weight the input sample colour with the colour weight value wN.
- the resultant weighted sample colour is added to the rgbaPartIn signal 7, (which corresponds to the accumulated weighted sample colours from one or more previous iterations or passes).
- the second logic unit 23 produces a new accumulated weighted sample colour, ie the rgbaPartOut signal 13, that is stored in a register 27.
- the register 27 comprises 64 bits.
- the 64 bit register 27 is part of a register file of the main processor, as shown by the dotted lines.
- the 64 bit register 27 could also be incorporated into the hardware of the resample operation 1. As mentioned earlier, the 64 bit register 27 is shared between the rgbaPartOut signal 13 and the rgbaPartIn signal 7. In other words, the accumulated weighted sample colour signal, ie the rgbaPartOut signal 13, of one iteration or pass forms the rgbaPartIn signal 7 of a subsequent iteration or pass.
- a third logic unit 25 receives the first colour weight value w and the input sample colour, ie the rgbaIn signal 5, and is configured to weight the input sample colour with the first colour weight value w.
- the resultant weighted sample colour is added to the rgbaPartIn signal 7, ie corresponding to the accumulated weighted sample colours received from the 64 bit register 27, to produce the output colour signal rgbaOut 11.
- the output colour signal is rounded to a lower precision format such as RGBA8888, thereby giving the 32 bits shown in Figure 1 .
- the operation described above continues for all iterations of input sample colours that contribute to a single output sample.
- the first logic unit 21 determines that the processing has been completed for a particular pixel, the genPix signal 9 is asserted to show that the value on rgbaOut 11 is valid.
- the resample operation 1 described above is a dedicated signal processing operation that can be performed more efficiently than carrying out the same tasks using known instruction sets.
- Figure 3 shows in greater detail an exemplary circuit for realising the resample operation 1 shown in Figures 1 and 2 .
- the dotted lines have been added to clarify how each section of the circuit corresponds to the block diagram shown in Figure 2 .
- the circuit of Figure 3 can be implemented with a 1-cycle throughput and a 2 or 3 cycle latency.
- the rgbaIn and rgbaPartIn can be fetched one cycle later than the coordinates xlr such that 1-cycle throughput can be achieved.
- Multiplexers 30 and 31, together with their associated connections, are provided to prevent decreasing coordinates and magnification.
- the multiplexer 30 and associated connections prevent M1 from being bigger than Mr, as will be described later.
- the multiplexer 31 and associated connections prevent Ml from being more than 1 smaller than Mr, again as will be described later.
- An XOR operation 32 is performed on bit 5 of M1 and Mr to generate the genPix signal that indicates if the xOut and rgbaOut signals are ready.
- the signal at point 33 is the fractional part of Mr, while the signal at point 34 is the fractional part of M1.
- the weighted signal wN at point 35 is the weight derived from phase 1, and is used to weight the input sample colours (rgbaIn) and add the weighted signal to the rgbaPartIn signal. The result is then output on rgbaPartOut.
- the weighted signal w at point 36 is the weight derived from phase r, and is used to weight the input sample colour, which is then added to rgbaPartIn and then (after decreasing accuracy) output as the rgbaOut signal.
- the circuit described above acts as a dedicated digital resample operation for processing digital signal tasks such as forward texture mapping.
- lines 13 and 14 of the above code relate to two test conditions performed by the resample operation. These test are preferably inserted to avoid "illegal" situations.
- the program code using the digital image processing of the present invention should not drive the processor with decreasing coordinates (Mr ⁇ Ml) or in magnification mode (Mr-Ml>1).
- Mr ⁇ Ml decreasing coordinates
- Mr-Ml magnification mode
- Similar for magnification within a span of a triangle, normally it is rather easy to ensure minification (Mr-Ml ⁇ 1) by changing the mip-map level.
- the samples of an intermediate vertical span might contain some gaps if it is close to a near vertical edge (of a polygon) that has been produced by multiple first pass horizontal resampling passes. It is noted that the tests provided by these two lines of code correspond to the functions provided by multiplexers 30 and 31 in Figure 3 .
- Figure 4 illustrates a flow diagram for describing the operation of the code shown in Table 1 above.
- step 401 the input sample coordinates xr and xl corresponding to the current and previous samples are received, and increased by 0.5 to produce the signals Mr and Ml.
- the signals Mr and Ml indicate the right and left border of the reconstruction footprint belonging to the current input sample. This function is performed by lines 10 and 11 in the code shown in Table 1
- step 402 the Mr and Ml signals are adapted to prevent decreasing coordinates and magnification. This function is performed by lines 13 and 14 in the code shown in Table 1, and is equivalent to the operation performed by the multiplexers 30 and 31 of Figure 3 .
- step 403 the integer part of Ml is determined, and forms the xOut signal that indicates the output sample coordinate.
- This function is performed by the right part of line 17 in the code shown in Table 1.
- step 404 it is determined if the pixel colour has finished, and a corresponding genPix signal generated accordingly.
- the genPix signal indicates that all of the input sample colours that contribute to a particular output sample have been processed, thereby confirming that the rgbaOut signal is valid.
- This function is performed by line 16 in the code shown in table 1.
- the xOut signal and the genPix signal are merged in step 405 to produce the bundled output signal genPix/xOut 9.
- these signals could be bundled in other ways, or provided separately to the processor.
- step 406 the first colour weight value w and the second colour weight value wN are determined. These functions are performed by lines 20, 21,24 and 27 in the code shown in Table 1.
- step 407 the second colour weight value wN is weighted with the input sample colour received from the rgbaIn signal 5.
- the resultant weighted sample colour is added in step 408 to the accumulated weighted sample colours (ie the rgbaPartIn signal 7) to produce the rgbaPartOut signal 13.
- step 409 the first colour weight value w is weighted with the input sample colour received from the rgbaIn signal 5.
- the resultant weighted sample colour is added in step 410 to the accumulated weighted sample colours (ie the rgbaPartIn signal 7) and rounded to a lower precision format, such as RGBA8888, to produce an output colour signal rgbaOut 11.
- the digital image processor operates on input sample colour signals until the genPix signal indicates that pixel processing has been completed. At that point in time, the colour signal rgbaOut 11 is valid for the output sample coordinates shown by the xOut signal 9. Once completed, the same procedure is repeated for the next pixel of the digital image signal.
- a digital image processing operation is provided for use in applications such as performing texture mapping in a 3D graphics pipeline.
- the digital signal processing operation described above implements a 1D resampler using a transposed direct mode FIR filter structure having a box reconstruction filter and a box pre-filter (also known as anti-aliasing filter).
- the box reconstruction filter is provided to avoid DC-ripple.
- the digital signal processing operation has been devised to perform the texture mapping resampling function in a 3D graphics pipeline, but, as mentioned above, it can also be used for down scaling of video such as down-scaling from the camera to a display in a mobile phone. Also the method can also be applied on resampling of non-image signals.
- the present invention has the advantage over prior art techniques in that the resampling process is accelerated. Also, the operation of the present invention only implements a box prefilter (prefilter width is one), which avoids the need for a look-up table where the (integral of the) prefilter profile is stored. Furthermore, it is noted that two test conditions have been added to be performed within the structure of the resample operation. This way control code around this operation can be avoided. These two test conditions relate to preventing decreasing coordinates and magnification, as described in relation to lines 13 and 14 of the code in Table 1.
- the pseudo code shown in Table 2 below details how the digital signal processing operation can be used to implement 2D down-sampling of digital images (or other digital data).
- An input sample with colours rgbaln is resampled (or splatted) to a group of output samples close to output pixel position (xr, yr).
- the samples of the input image to be minified is traversed and the splatbox2D function is called for every input sample.
- the second pass (eg Vertical) is interleaved with the first pass (eg horizontal).
- the rgbaPartIn/Out of the second (interleaved) pass is stored in an array.
- the invention described above provides more efficient processing of a digital image signal, i.e. less cycles (for example cycles/pixel) are required to process the executable program using the image processing operation compared to an executable program that uses smaller (finer granularity) operations to implement the image processing.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
- Processing Of Color Television Signals (AREA)
- Color Image Communication Systems (AREA)
Abstract
Description
- The invention relates to a programmable processor, and in particular, to a digital signal processor for sample rate conversion on a programmable processor. The invention also relates to a method of resampling a digital signal.
- Programmable processors operate according to a sequence of operations taken from a set of operations known as an instruction set A program is usually written in a higher level source code, such as C, which is used to define the sequence of operations that are to be executed by the programmable processor. In other words, rather than writing the sequence of operations directly using operations from the instruction set, the high level language provides a more user friendly method of programming, which is then compiled into a set of executable operations taken from the instruction set.
- The mapping between the high level source code and the instruction set does not have to be one-on-one. For example, an operation in the source code can be mapped onto several executable operations. Also, several operations in the source code can be mapped onto a single executable operation.
- Programmable processors are widely used in digital signal processing, including image processing and 3D graphics. One operation that is carried during image processing is texture mapping, which involves a process known as resampling. Resampling is the process of minification (decimation) and magnification (interpolation), for example where a digital image is resampled to a different resolution.
- Most texture mapping hardware is based on the principles of inverse texture mapping, thereby a prefilter of a pixel (in screen space) is mapped onto input samples (texels). An exemplary inverse mapping approach is disclosed in
EP-A1-0 548 917 . While inverse texture mapping has the advantage of being simple to implement in hardware, it suffers from the disadvantages of either having poor quality (such as aliasing or blurry artefacts) or that the filters become very complicated. - An alternative to inverse texture mapping is forward texture mapping, whereby texels are mapped to screen space. A known circuit for performing forward texture mapping is described in "Resample hardware for 3D graphics", Meinds & Barenbrug, Proceedings of Graphics Hardware 2002, pages 17-26, 2002. However, known methods of forward texture mapping such as this do not provide efficient image processing or use fully dedicated hardware.
- The aim of the present invention is to provide a programmable processor and a new digital signal processing operation for performing digital resampling more efficiently on a programmable processor by performing a dedicated operation rather than executing separate (finer granularity) operations as carried out on a conventional programmable processor. More specifically, the present invention is concerned with a digital image processor for use with forward texture mapping.
- According to a first aspect of the invention there is provided a programmable processor as set out in the appended claims.
- According to another aspect of the invention, there is provided a method of performing a digital signal processing operation as set out in the appended claims.
- For a better understanding of the invention, and to show more clearly how it may be carried into effect, reference will now be made, by way of example only, to the following drawings in which:
-
Figure 1 shows a high level view of a digital signal resample operation of the present invention; -
Figure 2 shows a block diagram illustrating the resample operation ofFigure 1 in greater detail; -
Figure 3 shows a circuit diagram illustrating how the digital signal resample operation ofFigures 1 and2 may be implemented in hardware; -
Figure 4 shows a flow diagram describing the operation ofFigures 1 to 3 . - It is noted that the preferred embodiment is being described in relation to performing a digital image resampling function called texture mapping in a 3D graphics pipeline. However, it will be appreciated that the invention can also be used for other digital image or digital signal processing operations, including down scaling of video signals, such as down scaling from a camera to a display of a mobile phone. Also, the invention is very suitable for use in warping of digital images or other forms of non-uniform resampling.
- Prior to discussing the digital signal processor and resample operation of the present invention in greater detail, a brief explanation will first be given about the resampling process. The perspective transformation of a texture map is a two dimensional resampling process, ie the transformation maps a sampled input image (the texture map) onto a sampled output image (the screen). The ideal resampling process consists of four steps:
- 1. Using a reconstruction filter to construct a continuous signal from the discrete input;
- 2. Transforming the reconstructed input signal;
- 3. Prefiltering the transformed signal to bandlimit the signal to half the output sample rate;
- 4. Sampling the filtered signal to produce the discrete output.
- Most of the texture mapping in a typical 3D scene results in minification (ie the number of output samples is smaller than the number of input samples). In such cases, the prefilter that attenuates high frequencies caused by minification has more influence on the quality of the resulting image than the reconstructing filter. Therefore, for minification, a high quality prefilter is desired whereas the construction filter is less important.
- In the case of magnification, however, the reconstruction filter dominates the prefilter. Minification is the more critical case because it can generate high frequencies that can give rise to undesired aliasing artefacts.
- According to the invention, a digital signal processor and a new digital signal resampling operation is provided for processing images and 3D graphics. The digital image processor can be used for down-scaling (i.e. minification, decimation or down-sampling) a digital image with a stepless variable scale factor (across the image). In other words, the scale factor can be every rational value below 1, however the real accuracy is determined by the fractional precision of the texel (input sample) coordinates, as will be described later in the application.
-
Figure 1 shows a high level view of theresample operation 1 according to the present invention, together with the input and output connections required for performing the digital image processing operation of the present invention. Theresample operation 1 is described using four colour channels: r,g,b and a. However, it will be appreciated that it is also possible to apply the invention to variants with less or more colour channels. Also the preferred embodiment uses 8 bits per colour channel. Again, it will be appreciated that any other number of bits per colour channel could be used without departing from the scope of the invention as defined in the claims. - The
resample operation 1 is connected to receive input signals comprising a "xlr"signal 3, a "rgbaIn"signal 5 and a "rgbaPartIn"signal 7. In the described embodiment, thexlr signal 3 comprises two sets of 16 bits called xr and xl, respectively. The xr and xl signals are inputs, being the coordinates of a current and previous input sample, respectively. ThergbaIn signal 5 relates to the input sample colour, and comprises 4 colour channels (ie r, g, b, a) each having 8 bits, thus comprising 32 bits in total. ThergbaPartIn signal 7 comprises 4 signals, each having 16 bits, thereby comprising 64 bits in total. - According to the preferred embodiment, the
resample operation 1 produces output signals comprising a bundled "xOut/genPix"signal 9, a "rgbaOut"signal 11 and a "rgbaPartOut"signal 13. ThergbaOut signal 11 contains 4 colour channels each having 8 bits, thus providing a 32 bit output signal. The rgbaPartOutsignal 13 comprises 4 signals each having 16 bits, thereby providing a 64 bit output signal. The xOut/genPix signal 9 comprises an xOut signal, for example assigned to bits [15..0], and a genPix signal assigned tobit 16. In the example, bits [31..17] ofsignal 9 are unused. The function of each of these signals will be described in greater detail in relation to the other figures. - It is noted that, instead of bundling these ports such that they fit 32 bits or 64 bits, they could also be connected separately or bundled differently. The xOut signal relates to the integer coordinate where the colour value of the
output signal rgbaOut 11 is meant for. The xOut signal and output signal rgbaOut are only meaningful when thegenPix signal 9 is true, indicating that the last input sample that contributes to this output pixel has been processed. In other words, thegenPix signal 9 is outputted to inform the higher level software whether or not thergbaOut value 11 is valid (ie indicating if thergbaOut value 11 is to be processed further or to be neglected). - It is noted that the
rgbaPartOut signal 13 andrgbaPartIn signal 7 relate to the same (64 bit) register. The colours of the input samples that contribute to a single output sample are weighted and then accumulated in this register, thus making the register an accumulation register. The precision must be high to allow larger minification factors where a large number, say one hundred, input samples each make a small contribution towards the output sample. Each of the small contributions would be rounded to zero in the case where precision was say 8 bits instead of 16 bits. -
Figure 2 shows a block diagram illustrating the operation of theresample operation 1 ofFigure 1 in greater detail. The resample operation comprises afirst logic unit 21 for receiving the input sample coordinates in the form of the xr and xl signals, ie the coordinates for the current and previous sample, respectively. Thelogic unit 21 is configured to determine the colour weights of the input samples, and to output a first colour weight value "w" and a second colour weight value "wN". The first colour weight value w is the weight derived from phase r, while the second colour weight value wN is the weight derived fromphase 1. Thelogic unit 21 also produces the output sample coordinate, ie thexOut signal 9 that relates to the integer coordinate where the colour value ofoutput signal rgbaOut 11 is meant for. Also, thelogic unit 21 is configured to generate thegenPix signal 9 that indicates whether or not the output sample is valid. - A
second logic unit 23 receives the second colour weight value wN relating tophase 1 and the input sample colour, ie thergbaIn signal 5, and is configured to weight the input sample colour with the colour weight value wN. The resultant weighted sample colour is added to thergbaPartIn signal 7, (which corresponds to the accumulated weighted sample colours from one or more previous iterations or passes). Thesecond logic unit 23 produces a new accumulated weighted sample colour, ie thergbaPartOut signal 13, that is stored in aregister 27. In the preferred embodiment, since each colour is represented by 16 bits, theregister 27 comprises 64 bits. Preferably, the 64 bit register 27 is part of a register file of the main processor, as shown by the dotted lines. However, it will be appreciated that the 64 bit register 27 could also be incorporated into the hardware of theresample operation 1. As mentioned earlier, the 64 bit register 27 is shared between thergbaPartOut signal 13 and thergbaPartIn signal 7. In other words, the accumulated weighted sample colour signal, ie thergbaPartOut signal 13, of one iteration or pass forms thergbaPartIn signal 7 of a subsequent iteration or pass. - A
third logic unit 25 receives the first colour weight value w and the input sample colour, ie thergbaIn signal 5, and is configured to weight the input sample colour with the first colour weight value w. The resultant weighted sample colour is added to thergbaPartIn signal 7, ie corresponding to the accumulated weighted sample colours received from the 64 bit register 27, to produce the outputcolour signal rgbaOut 11. In the present example, the output colour signal is rounded to a lower precision format such as RGBA8888, thereby giving the 32 bits shown inFigure 1 . - The operation described above continues for all iterations of input sample colours that contribute to a single output sample. When the
first logic unit 21 determines that the processing has been completed for a particular pixel, thegenPix signal 9 is asserted to show that the value onrgbaOut 11 is valid. - The
resample operation 1 described above is a dedicated signal processing operation that can be performed more efficiently than carrying out the same tasks using known instruction sets. -
Figure 3 shows in greater detail an exemplary circuit for realising theresample operation 1 shown inFigures 1 and2 . The dotted lines have been added to clarify how each section of the circuit corresponds to the block diagram shown inFigure 2 . It is noted that the circuit ofFigure 3 can be implemented with a 1-cycle throughput and a 2 or 3 cycle latency. It is noted that, in the 2-cycle latency case, the rgbaIn and rgbaPartIn can be fetched one cycle later than the coordinates xlr such that 1-cycle throughput can be achieved. -
Multiplexers multiplexer 30 and associated connections prevent M1 from being bigger than Mr, as will be described later. Themultiplexer 31 and associated connections prevent Ml from being more than 1 smaller than Mr, again as will be described later. AnXOR operation 32 is performed onbit 5 of M1 and Mr to generate the genPix signal that indicates if the xOut and rgbaOut signals are ready. The signal atpoint 33 is the fractional part of Mr, while the signal atpoint 34 is the fractional part of M1. The weighted signal wN atpoint 35 is the weight derived fromphase 1, and is used to weight the input sample colours (rgbaIn) and add the weighted signal to the rgbaPartIn signal. The result is then output on rgbaPartOut. The weighted signal w atpoint 36 is the weight derived from phase r, and is used to weight the input sample colour, which is then added to rgbaPartIn and then (after decreasing accuracy) output as the rgbaOut signal. - The circuit described above acts as a dedicated digital resample operation for processing digital signal tasks such as forward texture mapping.
- In order to explain the resample operation further, the semantic of the resample operation is described in the C-function shown in the code of Table 1 below, using the following definitions:
typedef unsigned char uns8; typedef unsigned short uns16; typedef unsigned int uns32; typedef unsigned long long uns64; typedef int bool;
#defineC 4 // number of color channels, C equals 4 typedef short fixP; // s10.5 fixed point type for coordinates #defineFPP 5 // fixed point precision behind the dot #define P_ONE (fixP) ( 1 << FPP ) #define P_HALF (fixP) ( 1 << (FPP-1) ) #define P_FRAC_MASK (fixP) (P_ONE-1 )
Claims (15)
- A programmable processor for processing one or more input sample, values of a digital signal to produce an output signal, the processor comprising:- a first logic unit adapted to generate first and second weight values (w, wN);- a second logic unit adapted to receive an input sample value (rgbaIn) and the second weight value (wN), and to weight the input sample value (xgbaIn) with the second weight value (wN) to produce a weighted sample value, and further adapted to add the weighted sample value to one or more previously generated weighted sample values to generate an accumulated weighted sample value (rgbaPartOut);- a third logic unit adapted to receive the input sample value (rgbaIn) and the first weight value (w), and to generate an output sample (rgbaOut) based on the input sample value (rgbaIn), the first weight value (w) and the accumulated weighted sample value (rgbaPartOut) output from the second logic unit.wherein the first logic unit comprises:- means for receiving a first coordinate signal (xr) and a second coordinate signal (xl) relating to current and previous samples, respectively; and- means for generating the first and second weight values (w, wN) based on the first and second coordinate signals (xr, xl),- means for producing an output coordinate signal (xOut) for the output sample (rgbaOut).
- A processor as claimed in claim 1, wherein the first logic unit further comprises means for increasing the values of the first coordinate signal (xr) and the second coordinate signal (xl) by a predetermined value prior to generating the first and second weight values (w, wN).
- A processor as claimed in claim 2, whereby the means for producing the output coordinate signal (xOut) is adapted to derive the output coordinate signal from an integer part of the second coordinate signal (xl).
- A processor as claimed in claim 1, wherein the first logic unit further comprises means for generating a status signal (genPix) for indicating when the output sample (rgbaOut) and output coordinate signal (xOut) are valid.
- A processor as claimed in claim 1, wherein the second logic unit comprises:- means for receiving a first input sample value (rgbaIn) that contributes to the output sample;- means for weighting the input sample value (rgbaIn) with the second weight value (wN) to produce a weighted sample value;- means for adding the weighted sample value to an accumulated weighted sample value (rgbaPartIn) from a previous iteration, the result forming the accumulated weighted sample value (rgbaPartOut).
- A processor as claimed in claim 1, wherein the third logic unit comprises:- means for receiving a first input sample value (rgbaIn) that contributes to the output sample;- means for weighting the input sample value (rgbaIn) with the first weight value (w) to produce a weighted sample value;- means for adding the weighted sample value to an accumulated weighted sample value (rgbaPartOut) from a previous iteration, the result forming the output sample (rgbaOut).
- A processor as claimed in claim 1, wherein the accumulated weighted sample value is stored in a register file of a corresponding processor.
- A processor as claimed in any one of the preceding claims, wherein an input sample value relates to an input sample colour of an image signal, and wherein a weight value relates to a colour weight value.
- A method of performing a digital signal processing operation in which one or more input sample values of a digital signal are processed to produce an output signal, the method comprising the steps of:- generating first and second weight values (w, wN);- weighting an input sample value (rgbaIn) with the second weight value (wN) to produce a weighted sample value, and adding the weighted sample value to one or more previously generated weighted sample values to generate an accumulated weighted sample value (rgbaPartOut); and- generating an output sample (rgbaOut) based on the input sample value (rgbaIn), the first weight value (w) and the accumulated weighted sample value (rgbaPartOut),wherein the step of generating the first and second weight values comprises the steps of:- receiving a first coordinate signal (xr) and a second coordinate signal (xl) relating to current and previous samples, respectively; and- generating the first and second weight values (w, wN) based on the first and second coordinate signals (xr, xl),the method further comprising the step of producing an output coordinate signal (xOut) for the output sample (rgbaOut).
- A method as claimed in claim 9, wherein the step of generating the first and second weight values further comprises the step of increasing the values of the first coordinate signal (xr) and the second coordinate signal (xl) by a predetermined value prior to generating the first and second weight values (w, wN).
- A method as claimed in claim 9, wherein the step of producing the output coordinate signal (xOut) involves deriving the output coordinate signal from an integer part of the second coordinate signal (xl).
- A method as claimed in claim 9, further comprising the step of generating a status signal (genPix) for indicating when the output sample (rgbaOut) and output coordinate signal (xOut) are valid.
- A method as claimed in claim 9, wherein the step of generating an accumulated weight sample value comprises the steps of:- receiving a first input sample value (rgbaIn) that contributes to the output sample;- weighting the input sample value (rgbaIn) with the second weight value (wN) to produce a weighted sample value;- adding the weighted sample value to an accumulated weighted sample value (rgbaPartIn) from a previous iteration, the result forming the accumulated weighted sample value (rgbaPartOut).
- A method as claimed in claim 9, wherein the step of generating the output sample comprises the steps of:- receiving a first input sample value (rgbaIn) that contributes to the output sample;- weighting the input sample value (rgbaIn) with the first weight value (w) to produce a weighted sample value;- adding the weighted sample value to an accumulated weighted sample value (rgbaPartOut) from a previous iteration, the result forming the output sample (rgbaOut).
- A processor with an instruction set that comprises an instruction for a dedicated signal processing operation as defined in claim 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05821606A EP1825439B1 (en) | 2004-12-03 | 2005-12-01 | Programmable processor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04106277 | 2004-12-03 | ||
PCT/IB2005/053995 WO2006059301A2 (en) | 2004-12-03 | 2005-12-01 | Programmable processor |
EP05821606A EP1825439B1 (en) | 2004-12-03 | 2005-12-01 | Programmable processor |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1825439A2 EP1825439A2 (en) | 2007-08-29 |
EP1825439B1 true EP1825439B1 (en) | 2012-01-25 |
Family
ID=36565425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05821606A Not-in-force EP1825439B1 (en) | 2004-12-03 | 2005-12-01 | Programmable processor |
Country Status (6)
Country | Link |
---|---|
US (1) | US8963942B2 (en) |
EP (1) | EP1825439B1 (en) |
JP (1) | JP5318417B2 (en) |
KR (1) | KR101219103B1 (en) |
AT (1) | ATE543163T1 (en) |
WO (1) | WO2006059301A2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016036979A1 (en) * | 2014-09-03 | 2016-03-10 | The Board Of Regents For Oklahoma State University | Methods of generation of fracture density maps from seismic data |
CA2885649A1 (en) * | 2015-03-11 | 2016-09-11 | Soon Won Moon | Wireless wear monitoring for conduits |
US10162632B1 (en) * | 2016-05-27 | 2018-12-25 | Cadence Design Systems, Inc. | System and method for a low-power processing architecture |
CN107193053B (en) * | 2017-07-12 | 2019-04-09 | 中国石油化工股份有限公司 | The vertical transporting capability evaluation method of nappe-gliding structure Volcanic Area reversed fault sub-unit in front of the mountains |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3177302T2 (en) * | 1980-04-11 | 1994-01-27 | Ampex | Interpolation filter for image change system. |
IT1134766B (en) * | 1980-12-18 | 1986-08-13 | Pirelli | SOLAR WALL AND ITS MANUFACTURING PROCESS |
JPS59141742A (en) | 1983-02-02 | 1984-08-14 | Nippon Kokan Kk <Nkk> | Method for changing-over fuel oil in diesel-engine generator |
US5202670A (en) * | 1986-08-20 | 1993-04-13 | Canon Kabushiki Kaisha | Image processing apparatus |
DE3929115A1 (en) | 1989-09-01 | 1991-03-07 | Elsbett L | Injection system for IC engine - has back pressure valve to return fuel to feed tube between tank and pump |
US5274469A (en) | 1991-12-23 | 1993-12-28 | Eastman Kodak Company | Sample rate converter circuit for image data |
JP2989364B2 (en) * | 1992-03-12 | 1999-12-13 | シャープ株式会社 | Image processing apparatus and image processing method |
DE4418856A1 (en) | 1994-05-30 | 1995-12-07 | Robur Werke Gmbh I L | Method of inserting plant oil fuel in standard diesel engine |
US5719600A (en) * | 1995-12-12 | 1998-02-17 | Hewlett-Packard Company | Gradient calculation system and method |
JPH1011208A (en) * | 1996-06-24 | 1998-01-16 | Sharp Corp | Coordinate input device |
JPH1049658A (en) * | 1996-08-05 | 1998-02-20 | Sony Corp | Picture processing integrated circuit |
DE19635220A1 (en) | 1996-08-30 | 1998-05-14 | Georg Lohmann | Control unit for diesel engines running on oil or fat |
JPH10134176A (en) * | 1996-10-29 | 1998-05-22 | Sony Corp | Method and device for image signal processing |
US6029204A (en) * | 1997-03-13 | 2000-02-22 | International Business Machines Corporation | Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries |
EP1114400A4 (en) * | 1998-07-16 | 2006-06-14 | Univ New York State Res Found | Apparatus and method for real-time volume processing and universal 3d rendering |
JP2001160140A (en) * | 1999-12-02 | 2001-06-12 | Hitachi Ltd | Digital filter, image processor and image processing method |
DE10042698A1 (en) | 2000-08-29 | 2002-03-14 | Mathias Hoffmann | Alternative mode of operating diesel engine on vegetable or diesel oil, connects return line to suction side of fuel pump, between pump and filter |
DE10060573B4 (en) | 2000-12-06 | 2005-07-07 | Ralph Finger | Vegetable oil engine plant |
DE60218190T2 (en) * | 2001-05-17 | 2008-03-20 | Koninklijke Philips Electronics N.V. | METHOD AND DEVICE FOR CARRYING OUT AFFINES OR NOT AFFINS TRANSFORMATION |
DE10217664A1 (en) | 2002-04-19 | 2003-11-06 | Klaus-Wilhelm Koeln | Fuel delivery and mixing system with consumption monitoring processor/computer has magnetic piston or magnetic membrane pump(s) transporting fuel from tank to engine injection pump |
US6825850B2 (en) * | 2002-10-30 | 2004-11-30 | Microsoft Corporation | System and process for optimal texture map reconstruction from multiple views |
US6927775B2 (en) * | 2003-03-03 | 2005-08-09 | Sun Microsystems, Inc. | Parallel box filtering through reuse of existing circular filter |
US7266255B1 (en) * | 2003-09-26 | 2007-09-04 | Sun Microsystems, Inc. | Distributed multi-sample convolution |
US7710427B1 (en) * | 2004-05-14 | 2010-05-04 | Nvidia Corporation | Arithmetic logic unit and method for processing data in a graphics pipeline |
-
2005
- 2005-12-01 KR KR1020077012208A patent/KR101219103B1/en not_active IP Right Cessation
- 2005-12-01 JP JP2007543984A patent/JP5318417B2/en not_active Expired - Fee Related
- 2005-12-01 EP EP05821606A patent/EP1825439B1/en not_active Not-in-force
- 2005-12-01 AT AT05821606T patent/ATE543163T1/en active
- 2005-12-01 US US11/720,622 patent/US8963942B2/en not_active Expired - Fee Related
- 2005-12-01 WO PCT/IB2005/053995 patent/WO2006059301A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP1825439A2 (en) | 2007-08-29 |
ATE543163T1 (en) | 2012-02-15 |
KR20070091124A (en) | 2007-09-07 |
JP5318417B2 (en) | 2013-10-16 |
US20100017449A1 (en) | 2010-01-21 |
US8963942B2 (en) | 2015-02-24 |
KR101219103B1 (en) | 2013-01-11 |
WO2006059301A2 (en) | 2006-06-08 |
WO2006059301A3 (en) | 2008-08-21 |
JP2008522313A (en) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9613451B2 (en) | Jittered coverage accumulation path rendering | |
US8199146B2 (en) | Processing of computer graphics | |
US6232981B1 (en) | Method for improving texture locality for pixel quads by diagonal level-of-detail calculation | |
US8289323B2 (en) | Drawing processing apparatus, texture processing apparatus, and tessellation method | |
EP0920671B1 (en) | Computationally efficient digital image warping | |
EP1730699B1 (en) | Shorter footprints for anisotropic texture filtering | |
WO2008036936A2 (en) | Sampling methods suited for graphics hardware acceleration | |
CN113196333A (en) | Integration of variable rate shading and supersample shading | |
KR20210088588A (en) | street field color palette | |
US20040207631A1 (en) | Efficient bump mapping using height maps | |
EP1825439B1 (en) | Programmable processor | |
KR100241060B1 (en) | Determining the level of detail for texture mapping in computer graphics | |
Hadwiger et al. | Hardware-accelerated high-quality filtering on PC hardware | |
Hadwiger et al. | Hardware-Accelerated High-Quality Reconstruction of Volumetric Data on PC Graphics Hardware | |
EP1616299B1 (en) | Computer graphics processor and method for generating a computer graphics image | |
CN101142614A (en) | Single channel image deformation system and method using anisotropic filtering | |
JP2008522313A5 (en) | ||
Li et al. | Methods for efficient, high quality volume resampling in the frequency domain | |
WO2004072907A1 (en) | Computer graphics system and method for rendering a computer graphic image | |
Guenter et al. | Quadrature prefiltering for high quality antialiasing | |
US6570575B1 (en) | Associated color texture processor for high fidelity 3-D graphics rendering | |
JP2023054783A (en) | Method and system for visualization and simulation of flow phenomenon | |
US6191788B1 (en) | Method and apparatus for approximating nonlinear functions in a graphics system | |
Hadwiger et al. | Fast and flexible high-quality texture filtering with tiled high-resolution filters. | |
JP2005516314A (en) | 3D texture mapping without generating computer graphics steps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK YU |
|
DAX | Request for extension of the european patent (deleted) | ||
R17D | Deferred search report published (corrected) |
Effective date: 20080821 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06T 11/00 20060101AFI20081006BHEP |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: SILICON HIVE B.V. |
|
RBV | Designated contracting states (corrected) |
Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
17P | Request for examination filed |
Effective date: 20090515 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: SILICON HIVE B.V. |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 543163 Country of ref document: AT Kind code of ref document: T Effective date: 20120215 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602005032445 Country of ref document: DE Effective date: 20120322 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: VDEP Effective date: 20120125 |
|
LTIE | Lt: invalidation of european patent or patent extension |
Effective date: 20120125 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120525 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120425 Ref country code: BE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120525 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120426 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 543163 Country of ref document: AT Kind code of ref document: T Effective date: 20120125 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20121026 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602005032445 Country of ref document: DE Effective date: 20121026 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120506 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20121231 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20130830 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20121231 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20121231 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20121201 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20130102 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20140213 AND 20140219 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120125 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 602005032445 Country of ref document: DE Representative=s name: VEREENIGDE OCTROOIBUREAUX V.O., DE Effective date: 20140417 Ref country code: DE Ref legal event code: R081 Ref document number: 602005032445 Country of ref document: DE Owner name: INTEL CORPORATION, US Free format text: FORMER OWNER: SILICON HIVE B. V., EINDHOVEN, NL Effective date: 20140417 Ref country code: DE Ref legal event code: R081 Ref document number: 602005032445 Country of ref document: DE Owner name: INTEL CORPORATION, US Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V., EINDHOVEN, NL Effective date: 20120130 Ref country code: DE Ref legal event code: R081 Ref document number: 602005032445 Country of ref document: DE Owner name: INTEL CORPORATION, SANTA CLARA, US Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V., EINDHOVEN, NL Effective date: 20120130 Ref country code: DE Ref legal event code: R081 Ref document number: 602005032445 Country of ref document: DE Owner name: INTEL CORPORATION, SANTA CLARA, US Free format text: FORMER OWNER: SILICON HIVE B. V., EINDHOVEN, NL Effective date: 20140417 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20121201 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20051201 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20171129 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20181120 Year of fee payment: 14 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20181201 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20181201 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602005032445 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200701 |