WO2010026064A1 - Filtering device with a hierarchical structure, and reconfigurable filtering device - Google Patents

Filtering device with a hierarchical structure, and reconfigurable filtering device Download PDF

Info

Publication number
WO2010026064A1
WO2010026064A1 PCT/EP2009/060845 EP2009060845W WO2010026064A1 WO 2010026064 A1 WO2010026064 A1 WO 2010026064A1 EP 2009060845 W EP2009060845 W EP 2009060845W WO 2010026064 A1 WO2010026064 A1 WO 2010026064A1
Authority
WO
WIPO (PCT)
Prior art keywords
filtering
module
dfsh
output
port
Prior art date
Application number
PCT/EP2009/060845
Other languages
French (fr)
Inventor
Suresh Pajaniradja
Mickael Guibert
Renaud Schmit
Original Assignee
Commissariat A L'energie Atomique
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Commissariat A L'energie Atomique filed Critical Commissariat A L'energie Atomique
Priority to JP2011525503A priority Critical patent/JP2012502530A/en
Priority to US13/062,350 priority patent/US8751553B2/en
Priority to EP09782092.2A priority patent/EP2319177B1/en
Publication of WO2010026064A1 publication Critical patent/WO2010026064A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0294Variable filters; Programmable filters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0202Two or more dimensional filters; Filters for complex signals

Definitions

  • the invention relates to a digital filtering device with a reconfigurable hierarchical structure and applies in particular to the fields of signal processing, image processing, filtering and telecommunications.
  • Linear filters are widely used in image processing, signal processing and telecommunications.
  • NR filters are more complex to implement than FIR filters because of their recursive characteristic. Indeed, the output of the filter depends on the input samples but also the previous results resulting from the filtering.
  • the Deriche and Shen filters which are widely used in image processing, are NR filters of order 2 and order 1 respectively.
  • the Deriche filter allows edge detection on a processed image based on gradient calculations. The gradient along the abscissa axis is calculated using a smoothing filter in the ordinate direction, then a drifting filter in the abscissa direction. Each of the two filters breaks down into a causal part and an anti-causal part. Another smoothing filter and another derivation filter are also needed to calculate the gradient along the y-axis. Four recursive filters are needed to perform contour detection with this method.
  • processors In the case of solutions based on embedded processors, it is possible to carry out linear filtering operations with general purpose processors, with signal processing processors known as DSPs, or with specific processors of the SIMD type. By their programmability, the use of processors allows a flexible implementation, but the computing power available is limited. Indeed, in order to perform N-length filtering, a conventional general-purpose processor typically requires 4xN clock cycles per image pixel to perform a convolution.
  • a DSP processor is more suitable for this kind of operation but requires N / 2 cycles per pixel of image. Due to its highly parallel structure, a SIMD processor is particularly suitable for linear convolution but less so for making recursive filters. This is due to the management of different types of data access (causal and anti-causal) as well as the previous dependency on recursive filters. In addition, this type of calculation requires significant precision and great computational dynamics. Embedded SIMD processors are limited in both respects.
  • An object of the invention is in particular to overcome the aforementioned drawbacks.
  • the object of the invention is a hierarchical structure filtering device DFSH making it possible to perform linear finite impulse response FIR and infinite impulse response NR functions and which can be combined with one or more devices of the same type, device comprising at least a first and a second filtering module MF comprising means for performing filtering functions with N configurable coefficients.
  • a first subset of the N coefficients of an MF module is configured to perform non-recursive filtering functions, a second subset of said coefficients being configurable to perform recursive filtering functions, one or more counter-reaction that can be activated by FM module, at least one filter result sample being generated at each clock cycle.
  • the device DFSH comprises at least one main input port for transmitting to the device a stream of samples to be filtered, said port being connected to the two MF filtering modules, a secondary input port connected to the first MF filtering module allowing transmitting a second sample stream to the device, a main output port for transmitting the result of the filtering operations at the device output after combining the output streams of each reconfigurable filtering module, a secondary output port for transmitting a result after filtering composed of a stream of samples taken at the output of the second MF filtering module (2), said port being connectable to the secondary input port (3) of another digital filtering device.
  • the flow of samples presented to the secondary input port is, for example, a flow of samples to be processed independent of the flow presented to the main input port.
  • the stream of samples is, for example, a stream coming from another DFSH device, the two devices being connected in order to perform a filtering function of order greater than N.
  • the filtering device is configurable in at least three filtering configurations, the first configuration corresponding to an N / 2-order 2D NR filter, the second configuration corresponding to two N-order 2D FIR filters and the third configuration corresponding to a 2D FIR filter of order 2xN.
  • the values of the filter coefficients used by each MF filtering module are stored, for example, in programmable registers.
  • Anti-causal sample flows are generated, for example, by LIFO circuits, said LIFO circuits being placed at the output of the first filtering module MF and at the input of the second filtering module MF.
  • the data processed by said DFSH device may be, for example, in the integer format, fixed point format.
  • the filtering device may comprise a synchronization module making it possible to automatically compensate the differences in latency between the outputs of the two filtering modules.
  • each MF filtering module used by the device comprises at least N multipliers, N delay cells, two adders trees, a main input port, a secondary input port, a main output port and a secondary output port.
  • Each filtering module used by the device comprises, for example, a realignment function upstream of the main output port when the samples to be processed are represented in fixed-point format and a compensation function placed upstream of the secondary output port enabling balance the latencies introduced by multipliers and adders trees.
  • the routing of the data streams internally of the device is chosen, for example, using switching flip-flops.
  • the subject of the invention is also a reconfigurable filtering device DFR using at least two hierarchical structure filtering devices DFSH, said device comprising at least four input ports enabling one or more sample streams to be presented at the input of the device. filter, four output ports to present at the output of the device or the flow resulting from the filtering operation or operations carried out by the device, a reconfigurable switching circuit making it possible, on the one hand, to route the input streams either to the main input ports or to the secondary input ports of the input port; either of the DFSH devices, and secondly to route the available results to the main or secondary output ports of the DFSH devices either at the output of the DFR device or to the main input ports at the secondary of a DFSH device. other DFSH devices.
  • the invention has the particular advantage of proposing a solution that makes it possible to implement several types of filters on the same architecture, on the one hand FIR finite impulse response filters and on the other hand infinite impulse response filters RII.
  • the order and size of the filters is configurable and allows to use the same architecture in the context of competing applications.
  • Another advantage of the invention is that the proposed architecture allows efficient and fast execution of the filter functions even when the size of the filters is important. It is therefore possible to process, for example, images of significant resolution.
  • the invention is useful in the context of the implementation of several types of signal processing algorithms while optimizing the implementation cost and reducing the silicon occupation of the systems using the invention.
  • FIG. 1 illustrates an example of a hierarchical structure filtering device according to the invention, said device being designated by the acronym DFSH;
  • FIG. 2 shows an exemplary N-coefficient reconfigurable filtering module used by the hierarchical structure filtering device DFSH, said module being designated by the acronym MF;
  • FIG. 3 illustrates an example of a reconfigurable filtering device using several DFSH devices, said device being designated by the acronym DFR.
  • FIG. 1 shows an exemplary filtering device with a reconfigurable hierarchical structure DFSH according to the invention.
  • the device is composed of two MF reconfigurable filter modules N coefficients 1, 2 representing the computing core of the device.
  • Each of these modules is composed of a hardware circuit for performing linear filtering functions with N coefficients.
  • These MF modules may be configured to produce FIR finite impulse response filters or NR infinite impulse response filters and produce a result sample at each clock cycle.
  • An MF module comprising N coefficients is capable of producing the N multiplications and N-1 additions of a filter, recursive or not, in a single clock cycle.
  • the sample streams arrive at the rate of one sample per clock cycle and the MF module produces a sample result per clock cycle.
  • the circuit makes it possible to perform filtering calculations in parallel and as fast as the clock frequency allows.
  • the same function can be performed on CPU type programmable processors but said CPUs can not produce a sample result every clock cycle.
  • the DFSH device furthermore comprises two input ports, namely a main input port 4 and a secondary input port 3.
  • the main input port 4 makes it possible to receive the stream of the input samples to be filtered, the stream possibly being composed, for example, of the pixels of an image.
  • the secondary input port 3 can be used in two ways. In a first use, the secondary input port 3 is used to receive a second stream of samples to be processed in parallel with the first, for example a stream of pixels corresponding to a second image to be processed. In a second use, the secondary input port is used to receive partial filtering results when multiple DFSH devices are used in series.
  • the DFSH device includes two output ports, namely a main output port 11 and a secondary output port 12.
  • the main output port 1 1 transmits at the output of the device the sample results of the filtering operations.
  • the secondary output port 12 can be used in two ways. In a first configuration, the secondary output port 12 is used to transmit the results of the second module MF 2 at the output of the device. This secondary port 12 may be used as a second filter output when the device is configured to perform multiple filters in parallel. In a second configuration, the secondary output port 12 transmits at the output of the device the samples presented to the main input port 4. This configuration is chosen especially when the device DFSH is combined with one or more DFSH devices of the same type.
  • the device DFSH consists of two MF modules 1, 2 performing the filtering operations. Each MF module has the ability to perform FIR or NR type filtering depending on how it has been configured.
  • LIFO circuits 5, 7, an acronym derived from the last "Last In First Out" are used to create anti-causal data sources.
  • a DFSH device is capable of performing in a single pass and simultaneously a recursive causal treatment, that is to say a treatment whose results depend on the input samples and the past outputs, but also an anti-recursive processing. causal, that is, a treatment whose results depend on input samples and future outputs.
  • LIFO circuits are memory components for reversing the order of samples.
  • a flow e 0 , ei, ... e n is output in the order e n , e n- i, ... ei, e 0 .
  • This inversion is essential for recursive treatments such as Deriche or Shen, for example.
  • the LIFO circuits are based on memory elements of sufficient capacity to store all the input samples e 0 , ei, ..., e n
  • at least one Image line can be memorized.
  • a synchronization module 9 makes it possible to automatically compensate for the latency differences between the outputs of the two MF modules 1, 2 before they are processed by an adder / subtractor 10. The resulting samples are then directed to the main output port 1 1.
  • the DFSH device is configurable in the sense that each MF module is itself configurable. Moreover, the routing of the data streams in the DFSH device is also configurable thanks to switching components 6, 8, 13. The given DFSH device example makes it possible to produce different filtering schemes depending on the configuration of the devices. interconnections of the device and the MF modules 1, 2.
  • the device allows 1D filtering, i.e., line-by-line image processing.
  • 2D filtering can also be done by re-injecting the previous column by column results into the input of the DFSH device. Indeed, when the 2D convolution mask is decomposable into two convolution masks 1D, the 2D filtering operation is equivalent to two 1D filtering operations.
  • the DFSH device can be parameterized to perform at least three filtering configurations in accordance with FIG. two filter passes.
  • a first configuration makes it possible to produce a 2D NR filter of order N / 2.
  • the two MF modules 1, 2 are configured in recursive mode with their activated feedback loops; the two LIFO circuits 5, 7 are activated; the main input port 4 is used and passes through the first module MF 1 to perform a causal recursive processing whose order of the samples is inverted by the first circuit LIFO 5 disposed at the output of the first module MF; the stream of samples presented to the main input port 4 is inverted by the second LIFO circuit 7 and passes through the second module MF 2 for carrying out an anti-causal treatment; the causal and anti-causal treatments are synchronized by the synchronization module 9 and combined by the adder / subtractor 10, and the result samples are directed to the main output port 11; a second calculation run is performed on the result samples from the MF modules with appropriate coefficients in order to realize the 2D NR function of order m.
  • a second configuration makes it possible to produce two 2D FIR filters of order N, which means that two separate sources can be processed simultaneously by the device.
  • two images can be processed in parallel.
  • the DFSH device is configured as follows: the two MF modules 1, 2 are configured in non-recursive mode without feedback loop activated.
  • the first FM module 1 is configured to perform a processing on the samples presented on its secondary input port
  • the second module MF 2 is configured to perform a processing on the samples presented on its main input port
  • - the two LIFO circuits 5, 7 are not activated
  • the two multiplexers 6, 8 are configured to bypass the LIFO circuits
  • a flow of samples is presented at the level of the secondary input port 3 and passes through the first module MF 1, said module carrying out the processing corresponding to the first filter
  • the synchronization module 9 is configured to allow only the flow coming from the first FM module 1 to pass through one of its outputs, the second output being forced to 0.
  • the adder 10 transmits the unchanged stream of output samples from the first MF 1 module to the main output port
  • a third configuration allows to realize a 2D order FIR filter
  • Two N-independent independent 2D FIR filters are made when the DFSH device is configured as follows: the two MF modules 1, 2 are cascaded in non-recursive mode without activating a feedback loop; the first MF module 1 is configured to perform sample processing presented on its main input port; the second module MF 2 is configured to perform a processing on the samples presented at its secondary input port; the secondary output of the first module MF 1 is activated and is connected to the secondary input of the second module MF 2; LIFO circuits 5, 7 are not activated; the multiplexers 6, 8 are configured so that the samples bypass the LIFO circuits; the samples of the source to be filtered are presented at the main input port 4, the samples then pass through the first module MF 1 and then the second module MF 2 to carry out FIR filtering treatment of order 2N; the result sample stream leaves the second module MF 2, passes through the multiplexer 13 and is presented
  • FIG. 2 shows an example of a reconfigurable filtering module MF that can be used by the device DFSH as illustrated by FIG. module makes it possible to perform filtering functions with N coefficients a- ⁇ 40 to a N 41.
  • the module therefore makes it possible to perform filtering functions FIR of order N or of filtering NR of order m. It is possible to configure a feedback loop very precisely by choosing the values of the coefficients a ⁇ to a m . It is also possible to activate several return loops on different coefficients a- ⁇ to a m .
  • An FM module includes two input ports, a main input port 36 and a secondary input port 37. It further includes two output ports, a main output port 38 and a secondary output port 39. .
  • the samples to be filtered are presented at the main input port 36 of the MF module. At each clock cycle, a result sample is available at the main output port 38.
  • the MF module is composed of shift register banks 42 and N multiplying circuits 43 for weighting the samples delayed by the filter coefficients. . The values of said coefficients are stored in programmable registers.
  • the intermediate results obtained after applying the delays and weighting of the input samples are summed using adder trees 32, 33 respectively for the non-recursive part 30 and the recursive part 31 of the filter.
  • the result of the output of the two trees is then added 44 and processed by a realignment function 34 in the case where the module processes data in fixed-point format.
  • the implementation of multipliers 43 and adders 32, 33 is performed, for example, with combinational circuits having "pipeline" stages to increase the rate of the clock.
  • a feedback loop 45 makes it possible to reinject the results of the filtering at the input of the recursive part 31 of the filter.
  • This return channel is used only when the module is configured to perform NR filtering.
  • the feedback loop is reconfigurable, which makes it possible to adjust the depth of the recursive portion 31 of the filter.
  • the values of the filter coefficients are programmable. They can therefore be chosen according to the targeted application. It is also possible to increase the order of the filter to be achieved by using two MF modules connected to each other. If it is possible to perform an N-order FIR filtering function with a module, it is also possible, for example, to perform a 2xN order FIR filtering function using two MF modules.
  • the module therefore comprises a main input-output torque 36, 38 and a secondary input-output torque 37, 39 used when several MF modules are combined, as is the case for the DFSH device of FIG. 1.
  • the latencies multipliers and adder trees are balanced by a compensation function 35 inputting the output 46 of the recursive portion 31 of the filter.
  • the result after compensation is presented at the secondary output port 39 of the first MF module to be reinjected at the secondary input port 37 of the second MF module.
  • the MF module is configured to perform a filter
  • This function makes it possible to configure the coefficients to execute a 1 D filter. If the target application requires the implementation of a 2D filter, the coefficients will be readjusted and the results of the first filtering will be reinjected at the input port. main 36 of the module.
  • Two DFSH devices 51, 52 are used as basic reconfigurable elements. The combination of these elements makes it possible to increase the size of the filter to be made or to carry out several distinct filtering functions simultaneously.
  • This DFR device makes it possible to process in particular data in the integer format, in the fixed-point format or in the floating-point format.
  • the size and format of the data to be processed depends on the choice of implementation.
  • the device can therefore process, for example, high dynamic data from a video sensor.
  • the two hierarchical structure digital filtering devices 51, 52 are connected to each other by means of an 8x8 53 switching module.
  • This module 53 is reconfigurable and makes it possible to route the flows presented to the input ports of the device 54, the intermediate results DFSH devices and outputs 55.
  • Input streams 54 are directed to either the main input ports 56, 58 or to the secondary input ports 57, 59 of either of the 51 or 52 of the devices.
  • FSHD The results available on the main output ports 60, 62 or secondary 61, 63 are routed either at the output of the DFR device 55 or to the main or secondary input ports of the other DFSH device. This second option makes it possible to increase the size of the filtering function to be performed.
  • the switching module 53 is programmable and allows a flexible use of the computing resources 51, 52. It should be noted that the more the switching module 53 is flexible, that is to say that it can be programmed from Many different ways, plus its silicon surface cost is high.
  • An 8x8 switching module also called, in the English terminology “switch 8x8", manages eight inputs and eight outputs. Thus, DFSH input streams, output streams, and intermediate results are routed according to the intended use of the device.
  • the routing module can be implemented, in particular, using a "crossbar" circuit offering a large maximum. It is also possible to synthesize an 8x8 switch to part, for example, several 2x2 switch.
  • the exemplary DFR device according to the invention illustrated by FIG. 3 can be used in particular in an on-board image processing system requiring a high computing power. It was emphasized previous that the switching module 53 allows flexible use of the device.
  • the device is capable of executing up to four linear filters of size N simultaneously. But it can also be configured to make two 2xN length filters or a 4xN length filter. Thus, this device is effective especially in the context of stereoscopic video systems because two independent images can be processed in X and Y simultaneously with two filters allocated to each of the images.
  • a DFR module comprises, for example, 4 inputs and 4 sample flow outputs, the input streams being routable to the two main input ports and the two secondary input ports of the DFSH devices included in the DFR device. .
  • the DFR device can thus be configured into 4 independent recursive filters simultaneously processing 4 independent sample streams.
  • the MF modules included in the DFSH devices comprise means for performing the recursive filter function from a sample stream, that is to say a weighted sum with looped result.
  • a DFSH module 51, 52 has 2 independent inputs and 2 outputs, it is possible to make 2 independent recursive filters.
  • a DFR module makes it possible to configure 4 independent and simultaneous recursive filters, the processing flow rate for each output being one sample per clock cycle.
  • a device of the DFR type is reconfigurable but is not microprogrammed. In other words, it is not dependent on a microcode.
  • An external device such as a CPU can initially configure the 8x8 53, DFSH 51, 52, MF switch modules, turnouts and multiplicative constants of the MF modules through a simple configuration interface. Once the configuration is complete the execution of the filters is autonomous and automatic. The circuit responds only to the input data stream. It is the input streams that trigger the filtering calculation and not an external CPU.

Abstract

The invention relates to a filtering device with a DFSH hierarchical structure for carrying out linear filtering functions with finite impulse response (FIR) and with infinite impulse response (IIR), which can be combined with one or more devices of the same type, wherein said device includes at least first (1) and second (2) filtering modules (MF) including a means for carrying out filtering functions with N configurable coefficients. A first subset of the N coefficients of an MF module is configured so as to carry out non-recursive filtering functions, and a second subset of said coefficients can be configured so as to carry out recursive filtering functions, wherein one or more counter-reaction loops can be activated per MF module, at least one sample of the filtering result being generated at each clock cycle. The invention also relates to a DFR reconfigurable filtering device using at least two filtering devices with a DFSH hierarchical structure (51, 52).

Description

DISPOSITIF DE FILTRAGE A STRUCTURE HIERARCHIQUE ET DISPOSITIF DE FILTRAGE RECONFIGURABLE HIERARCHICAL STRUCTURE FILTERING DEVICE AND RECONFIGURABLE FILTERING DEVICE
L'invention concerne un dispositif de filtrage numérique à structure hiérarchique reconfigurable et s'applique notamment aux domaines du traitement du signal, du traitement d'image, du filtrage et des télécommunications.The invention relates to a digital filtering device with a reconfigurable hierarchical structure and applies in particular to the fields of signal processing, image processing, filtering and telecommunications.
Les filtres linéaires sont très utilisés en traitement d'image, en traitement du signal et dans les télécommunications.Linear filters are widely used in image processing, signal processing and telecommunications.
En traitement d'image ils permettent de réduire le bruit, d'augmenter le contraste, de lisser, d'extraire des caractéristiques grossières ou bien d'extraire les contours d'une image. A titre d'exemple, les opérateurs de Sobel et de Prewitt permettent de détecter les contours d'une image. Une convolution matricielle de l'image est effectuée en utilisant un masque de convolution à deux dimensions, le masque étant de taille 3x3. Cette convolution est conduite dans le domaine spatial discret et s'implémente dans la pratique grâce à un filtre à réponse impulsionnelle finie FIR d'ordre 3. D'autres méthodes plus précises de détection de contour utilisent des filtres à réponse impulsionnelle infinie NR. Les filtres NR sont plus complexes à mettre en œuvre que les filtres FIR à cause de leur caractéristique récursive. En effet, la sortie du filtre dépend des échantillons d'entrée mais également des résultats précédents résultants du filtrage. Par ailleurs, le type d'alimentation de données doit être différent afin de présenter un flux anticausal en entrée du filtre. A titre d'exemple, les filtres de Deriche et de Shen, très utilisés en traitement d'images, sont des filtres NR respectivement d'ordre 2 et d'ordre 1 . Le filtre de Deriche permet d'effectuer une détection de contours sur une image traitée se basant sur des calculs de gradients. Le gradient selon l'axe des abscisses est calculé en utilisant un filtre de lissage suivant la direction des ordonnées, puis un filtre dérivateur suivant la direction des abscisses. Chacun des deux filtres se décompose en une partie causale et une partie anti-causale. Un autre filtre de lissage et un autre filtre dérivateur sont par ailleurs nécessaires pour calculer le gradient selon l'axe des ordonnées. Quatre filtres récursifs sont donc nécessaires pour réaliser la détection de contour avec cette méthode. II est de plus en plus courant qu'un système de traitement du signal ait la capacité de réaliser plusieurs applications concurrentes. Dans le cas d'un système de traitement d'image, les algorithmes font typiquement appel à plusieurs types d'opérations à réaliser sur les images, notamment des opérations de filtrage linéaire. Plusieurs types de filtres peuvent être calculés et combinés pour extraire l'information utile de l'image. Un module matériel ayant une forte puissance de calcul tout en permettant une certaine flexibilité pour exécuter des fonctions différentes est aujourd'hui particulièrement utile dans un système embarqué.In image processing they can reduce noise, increase contrast, smooth, extract coarse features or extract the outlines of an image. For example, the operators of Sobel and Prewitt can detect the outlines of an image. A matrix convolution of the image is performed using a two-dimensional convolution mask, the mask being of size 3 × 3. This convolution is carried out in the discrete spatial domain and is implemented in practice by means of a finite impulse response FIR filter of order 3. Other more precise methods of contour detection use infinite impulse response filters NR. NR filters are more complex to implement than FIR filters because of their recursive characteristic. Indeed, the output of the filter depends on the input samples but also the previous results resulting from the filtering. In addition, the type of data supply must be different in order to present an anticausal flow at the input of the filter. By way of example, the Deriche and Shen filters, which are widely used in image processing, are NR filters of order 2 and order 1 respectively. The Deriche filter allows edge detection on a processed image based on gradient calculations. The gradient along the abscissa axis is calculated using a smoothing filter in the ordinate direction, then a drifting filter in the abscissa direction. Each of the two filters breaks down into a causal part and an anti-causal part. Another smoothing filter and another derivation filter are also needed to calculate the gradient along the y-axis. Four recursive filters are needed to perform contour detection with this method. It is increasingly common for a signal processing system to have the ability to perform several competing applications. In the case of an image processing system, the algorithms typically use several types of operations to be performed on the images, including linear filtering operations. Several types of filters can be computed and combined to extract useful information from the image. A hardware module having a high computing power while allowing flexibility to perform different functions is now particularly useful in an embedded system.
Les solutions existantes permettant de réaliser des opérations de filtrage linéaire sont réalisées typiquement à l'aide de processeurs ou d'architectures dédiées.Existing solutions for performing linear filtering operations are typically performed using processors or dedicated architectures.
Dans le cas des solutions à base de processeurs embarqués, il est possible de réaliser des opérations de filtrage linéaire avec des processeurs généralistes, avec des processeurs de traitement du signal dits DSP, ou bien avec des processeurs spécifiques du type SIMD. De par leur possibilité de programmation, l'utilisation de processeurs permet une implémentation flexible, mais la puissance de calcul disponible reste limitée. En effet, afin de réaliser un filtrage de longueur N, un processeur généraliste classique nécessite typiquement 4xN cycles d'horloge par pixel d'image pour effectuer une convolution.In the case of solutions based on embedded processors, it is possible to carry out linear filtering operations with general purpose processors, with signal processing processors known as DSPs, or with specific processors of the SIMD type. By their programmability, the use of processors allows a flexible implementation, but the computing power available is limited. Indeed, in order to perform N-length filtering, a conventional general-purpose processor typically requires 4xN clock cycles per image pixel to perform a convolution.
Un processeur DSP est plus adapté à ce genre d'opération mais requière N/2 cycles par pixel d'image. De par sa structure fortement parallèle, un processeur SIMD est particulièrement adapté à la convolution linéaire mais l'est moins pour la réalisation de filtres récursifs. Cela est dû à la gestion de différents types d'accès aux données (causal et anti-causal) ainsi qu'à la dépendance aux résultats précédents propre aux filtres récursifs. De plus, ce type de calcul demande une précision importante et une grande dynamique de calcul. Les processeurs SIMD embarqués sont limités concernant ces deux aspects.A DSP processor is more suitable for this kind of operation but requires N / 2 cycles per pixel of image. Due to its highly parallel structure, a SIMD processor is particularly suitable for linear convolution but less so for making recursive filters. This is due to the management of different types of data access (causal and anti-causal) as well as the previous dependency on recursive filters. In addition, this type of calculation requires significant precision and great computational dynamics. Embedded SIMD processors are limited in both respects.
Une implémentation basée sur une architecture dédiée permet d'optimiser les temps de traitement mais n'est pas suffisamment flexible. Il est difficile dans ce cas d'implémenter sur une même architecture à la fois des filtres FIR et des filtres NR tout en optimisant le coût en Silicium. II apparaît que les solutions existantes permettent soit une grande flexibilité de mise en œuvre au prix de faibles performances de calculs, soit à l'inverse de bonnes performances de calculs au prix d'une flexibilité d'utilisation limitée.An implementation based on a dedicated architecture optimizes processing times but is not flexible enough. It is difficult in this case to implement on the same architecture both FIR filters and NR filters while optimizing the cost of silicon. It appears that the existing solutions allow either great flexibility of implementation at the cost of low computational performance, or conversely good computing performance at the cost of limited flexibility of use.
Un but de l'invention est notamment de pallier les inconvénients précités.An object of the invention is in particular to overcome the aforementioned drawbacks.
A cet effet l'invention a pour objet un dispositif de filtrage à structure hiérarchique DFSH permettant de réaliser des fonctions de filtrage linéaire à réponse impulsionnelle finie FIR et à réponse impulsionnelle infinie NR et pouvant être combiné avec un ou plusieurs dispositifs du même type, ledit dispositif comportant au moins un premier et un second module de filtrage MF comportant des moyens pour réaliser des fonctions de filtrage à N coefficients configurables. Un premier sous ensemble des N coefficients d'un module MF est configuré de manière à réaliser des fonctions de filtrage non- récursif, un second sous ensemble desdits coefficients pouvant être configuré de manière à réaliser des fonctions de filtrage récursif, une ou plusieurs boucles de contre-réaction pouvant être activée par module MF, au moins un échantillon de résultat du filtrage étant généré à chaque cycle d'horloge. Le dispositif DFSH comporte au moins un port d'entrée principal permettant de transmettre au dispositif un flux d'échantillons à filtrer, ledit port étant connecté aux deux modules de filtrage MF, un port d'entrée secondaire connecté au premier module de filtrage MF permettant de transmettre un second flux d'échantillons au dispositif, un port de sortie principal permettant de transmettre le résultat des opérations de filtrage en sortie du dispositif après combinaison des flux en sortie de chaque module de filtrage reconfigurable, un port de sortie secondaire permettant de transmettre un résultat après filtrage composé d'un flux d'échantillons pris en sortie du second module de filtrage MF (2), ledit port pouvant être connecté au port d'entrée secondaire (3) d'un autre dispositif de filtrage numérique.For this purpose, the object of the invention is a hierarchical structure filtering device DFSH making it possible to perform linear finite impulse response FIR and infinite impulse response NR functions and which can be combined with one or more devices of the same type, device comprising at least a first and a second filtering module MF comprising means for performing filtering functions with N configurable coefficients. A first subset of the N coefficients of an MF module is configured to perform non-recursive filtering functions, a second subset of said coefficients being configurable to perform recursive filtering functions, one or more counter-reaction that can be activated by FM module, at least one filter result sample being generated at each clock cycle. The device DFSH comprises at least one main input port for transmitting to the device a stream of samples to be filtered, said port being connected to the two MF filtering modules, a secondary input port connected to the first MF filtering module allowing transmitting a second sample stream to the device, a main output port for transmitting the result of the filtering operations at the device output after combining the output streams of each reconfigurable filtering module, a secondary output port for transmitting a result after filtering composed of a stream of samples taken at the output of the second MF filtering module (2), said port being connectable to the secondary input port (3) of another digital filtering device.
Le flux d'échantillons présenté au port d'entrée secondaire est, par exemple, un flux d'échantillons à traiter indépendant du flux présenté au port d'entrée principal. Le flux d'échantillons est, par exemple, un flux en provenance d'un autre dispositif DFSH, les deux dispositifs étant connectés afin de réaliser une fonction de filtrage d'ordre supérieur à N.The flow of samples presented to the secondary input port is, for example, a flow of samples to be processed independent of the flow presented to the main input port. The stream of samples is, for example, a stream coming from another DFSH device, the two devices being connected in order to perform a filtering function of order greater than N.
Le dispositif de filtrage est configurable en au moins trois configurations de filtrage, la première configuration correspondant à un filtre NR 2D d'ordre N/2, la seconde configuration correspondant à deux filtres FIR 2D d'ordre N et la troisième configuration correspondant à un filtre FIR 2D d'ordre 2xN.The filtering device is configurable in at least three filtering configurations, the first configuration corresponding to an N / 2-order 2D NR filter, the second configuration corresponding to two N-order 2D FIR filters and the third configuration corresponding to a 2D FIR filter of order 2xN.
Les valeurs des coefficients de filtrage utilisés par chaque module de filtrage MF sont stockées, par exemple, dans des registres programmables. Des flux d'échantillons anti-causaux sont générés, par exemple, par des circuits LIFO, lesdits circuits LIFO étant placés en sortie du premier module de filtrage MF et en entrée du second module de filtrage MF. Les données traitées par ledit dispositif DFSH peuvent être, par exemples, au format entier, au format virgule fixe. Le dispositif de filtrage peut comporter un module de synchronisation permettant de compenser automatiquement les différences de latence entre les sorties des deux modules de filtrage.The values of the filter coefficients used by each MF filtering module are stored, for example, in programmable registers. Anti-causal sample flows are generated, for example, by LIFO circuits, said LIFO circuits being placed at the output of the first filtering module MF and at the input of the second filtering module MF. The data processed by said DFSH device may be, for example, in the integer format, fixed point format. The filtering device may comprise a synchronization module making it possible to automatically compensate the differences in latency between the outputs of the two filtering modules.
Par exemple, chaque module de filtrage MF utilisé par le dispositif comporte au moins N multiplieurs, N cellules à retard, deux arbres d'additionneurs, un port d'entrée principale, un port d'entrée secondaire, un port de sortie principale et un port de sortie secondaire.For example, each MF filtering module used by the device comprises at least N multipliers, N delay cells, two adders trees, a main input port, a secondary input port, a main output port and a secondary output port.
Chaque module de filtrage utilisé par le dispositif comporte, par exemple, une fonction de réalignement en amont du port de sortie principale lorsque les échantillons à traiter sont représentés au format virgule fixe et une fonction de compensation placé en amont du port de sortie secondaire permettant d'équilibrer les latences introduites par les multiplieurs et les arbres d'additionneurs.Each filtering module used by the device comprises, for example, a realignment function upstream of the main output port when the samples to be processed are represented in fixed-point format and a compensation function placed upstream of the secondary output port enabling balance the latencies introduced by multipliers and adders trees.
Le routage des flux de données en interne du dispositif est choisi, par exemple, à l'aide à de bascules d'aiguillage.The routing of the data streams internally of the device is chosen, for example, using switching flip-flops.
L'invention a aussi pour objet un dispositif de filtrage reconfigurable DFR utilisant au moins deux dispositifs de filtrage à structure hiérarchique DFSH, ledit dispositif comportant au moins quatre ports d'entrée permettant de présenter en entrée du dispositif un ou plusieurs flux d'échantillons à filtrer, quatre ports de sortie permettant de présenter en sortie du dispositif le ou les flux résultant de la ou des opérations de filtrage réalisées par le dispositif, un circuit d'aiguillage reconfigurable permettant d'une part de router les flux d'entrée soit vers les ports d'entrée principaux soit vers les ports d'entrée secondaires de l'un ou l'autre des dispositifs DFSH, et d'autre part de router les résultats disponibles sur les ports de sortie principaux ou secondaires des dispositifs DFSH soit en sortie du dispositif DFR soit vers les ports d'entrée principaux au secondaires d'un autre dispositifs DFSH.The subject of the invention is also a reconfigurable filtering device DFR using at least two hierarchical structure filtering devices DFSH, said device comprising at least four input ports enabling one or more sample streams to be presented at the input of the device. filter, four output ports to present at the output of the device or the flow resulting from the filtering operation or operations carried out by the device, a reconfigurable switching circuit making it possible, on the one hand, to route the input streams either to the main input ports or to the secondary input ports of the input port; either of the DFSH devices, and secondly to route the available results to the main or secondary output ports of the DFSH devices either at the output of the DFR device or to the main input ports at the secondary of a DFSH device. other DFSH devices.
L'invention a notamment comme avantage de proposer une solution permettant de mettre en œuvre plusieurs types de filtres sur une même architecture, soit d'une part des filtres à réponse impulsionnelle finie FIR et d'autre part des filtres à réponse impulsionnelle infinie RII. L'ordre et la taille des filtres est paramétrable et permet d'utiliser la même architecture dans le cadre d'applications concurrentes. Un autre avantage de l'invention est que l'architecture proposée permet une exécution efficace et rapide des fonctions de filtrage même lorsque la taille des filtres est importante. Il est donc possible de traiter, par exemple, des images de résolution importante.The invention has the particular advantage of proposing a solution that makes it possible to implement several types of filters on the same architecture, on the one hand FIR finite impulse response filters and on the other hand infinite impulse response filters RII. The order and size of the filters is configurable and allows to use the same architecture in the context of competing applications. Another advantage of the invention is that the proposed architecture allows efficient and fast execution of the filter functions even when the size of the filters is important. It is therefore possible to process, for example, images of significant resolution.
L'invention est utilisable dans le cadre de la mise en œuvre de plusieurs types d'algorithmes de traitement de signal tout en optimisant le coût d'implémentation et en réduisant l'occupation en silicium des systèmes utilisant l'invention.The invention is useful in the context of the implementation of several types of signal processing algorithms while optimizing the implementation cost and reducing the silicon occupation of the systems using the invention.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit donnée à titre illustratif et non limitatif, faite en regard des dessins annexés parmi lesquels :Other features and advantages of the invention will become apparent with the aid of the following description given by way of non-limiting illustration, with reference to the appended drawings in which:
la figure 1 illustre un exemple de dispositif de filtrage à structure hiérarchique selon l'invention, ledit dispositif étant désigné par l'acronyme DFSH ; - la figure 2 présente un exemple de module de filtrage reconfigurable à N coefficients utilisé par le dispositif de filtrage à structure hiérarchique DFSH, ledit module étant désigné par l'acronyme MF ; la figure 3 illustre un exemple de dispositif de filtrage reconfigurable utilisant plusieurs dispositifs DFSH, ledit dispositif étant désigné par l'acronyme DFR.FIG. 1 illustrates an example of a hierarchical structure filtering device according to the invention, said device being designated by the acronym DFSH; FIG. 2 shows an exemplary N-coefficient reconfigurable filtering module used by the hierarchical structure filtering device DFSH, said module being designated by the acronym MF; FIG. 3 illustrates an example of a reconfigurable filtering device using several DFSH devices, said device being designated by the acronym DFR.
La figure 1 présente un exemple de dispositif de filtrage à structure hiérarchique reconfigurable DFSH selon l'invention. Sur cet exemple, le dispositif est composé de deux modules de filtrage reconfigurables MF à N coefficients 1 , 2 représentants le cœur de calcul du dispositif. Chacun de ces modules est composé d'un circuit matériel permettant de réaliser des fonctions de filtrage linéaire à N coefficients. Ces modules MF peuvent être configurés de manière à réaliser des filtres à réponse impulsionnelle finie FIR ou des filtres à réponse impulsionnelle infinie NR et produisent un échantillon de résultat à chaque cycle d'horloge. Un module MF comportant N coefficients est capable de réaliser les N multiplications et N-1 additions d'un filtre, récursif ou non, en 1 seul cycle d'horloge. Les flux d'échantillons arrivent à la cadence d'un échantillon par cycle d'horloge et le module MF produit un échantillon résultat par cycle d'horloge. Ainsi, le circuit permet d'effectuer des calculs de filtrage de façon parallèle et aussi rapidement que la fréquence d'horloge le permet. La même fonction peut être réalisée sur des processeurs programmables de type CPU mais lesdits processeurs CPU ne peuvent pas produire un échantillon résultat tous les cycles d'horloge.FIG. 1 shows an exemplary filtering device with a reconfigurable hierarchical structure DFSH according to the invention. In this example, the device is composed of two MF reconfigurable filter modules N coefficients 1, 2 representing the computing core of the device. Each of these modules is composed of a hardware circuit for performing linear filtering functions with N coefficients. These MF modules may be configured to produce FIR finite impulse response filters or NR infinite impulse response filters and produce a result sample at each clock cycle. An MF module comprising N coefficients is capable of producing the N multiplications and N-1 additions of a filter, recursive or not, in a single clock cycle. The sample streams arrive at the rate of one sample per clock cycle and the MF module produces a sample result per clock cycle. Thus, the circuit makes it possible to perform filtering calculations in parallel and as fast as the clock frequency allows. The same function can be performed on CPU type programmable processors but said CPUs can not produce a sample result every clock cycle.
Le dispositif DFSH comprend par ailleurs deux ports d'entrée, soit un port d'entrée principal 4 et un port d'entrée secondaire 3.The DFSH device furthermore comprises two input ports, namely a main input port 4 and a secondary input port 3.
Le port d'entrée principal 4 permet de recevoir le flux des échantillons d'entrée à filtrer, le flux pouvant être composé, par exemple, des pixels d'une image.The main input port 4 makes it possible to receive the stream of the input samples to be filtered, the stream possibly being composed, for example, of the pixels of an image.
Le port d'entrée secondaire 3 peut être utilisé de deux manières. Dans une première utilisation, le port d'entrée secondaire 3 est utilisé pour recevoir un second flux d'échantillons à traiter en parallèle du premier, par exemple un flux de pixels correspondant à une seconde image à traiter. Dans une deuxième utilisation, le port d'entrée secondaire est utilisé pour recevoir des résultats partiels de filtrage lorsque plusieurs dispositifs DFSH sont utilisés en série.The secondary input port 3 can be used in two ways. In a first use, the secondary input port 3 is used to receive a second stream of samples to be processed in parallel with the first, for example a stream of pixels corresponding to a second image to be processed. In a second use, the secondary input port is used to receive partial filtering results when multiple DFSH devices are used in series.
En outre, le dispositif DFSH comprend deux ports de sortie, soit un port de sortie principal 1 1 et un port de sortie secondaire 12. Le port de sortie principal 1 1 transmet en sortie du dispositif les échantillons résultats des opérations de filtrage.In addition, the DFSH device includes two output ports, namely a main output port 11 and a secondary output port 12. The main output port 1 1 transmits at the output of the device the sample results of the filtering operations.
Le port de sortie secondaire 12 peut être utilisé de deux manières. Dans une première configuration, le port de sortie secondaire 12 est utilisé pour transmettre les résultats du deuxième module MF 2 en sortie du dispositif. Ce port secondaire 12 peut être utilisé comme une seconde sortie de filtrage lorsque le dispositif est configuré pour réaliser plusieurs filtres en parallèle. Dans une deuxième configuration, le port de sortie secondaire 12 transmet en sortie du dispositif les échantillons présentés au port d'entrée principal 4. Cette configuration est choisie notamment lorsque le dispositif DFSH est combiné avec un ou plusieurs dispositifs DFSH du même type.The secondary output port 12 can be used in two ways. In a first configuration, the secondary output port 12 is used to transmit the results of the second module MF 2 at the output of the device. This secondary port 12 may be used as a second filter output when the device is configured to perform multiple filters in parallel. In a second configuration, the secondary output port 12 transmits at the output of the device the samples presented to the main input port 4. This configuration is chosen especially when the device DFSH is combined with one or more DFSH devices of the same type.
Comme expliqué précédemment, le dispositif DFSH est constitué de deux modules MF 1 , 2 réalisant les opérations de filtrage. Chaque module MF a la capacité de réaliser un filtrage de type FIR ou NR en fonction de la manière dont il a été configuré. Lorsque les modules sont configurés pour réaliser des filtres NR, des circuits LIFO 5, 7, acronyme venant de l'expression anglo-saxonne «Last In First Out », sont utilisés et permettent de créer des sources de données anti causales. Ainsi, un dispositif DFSH est capable de réaliser en 1 seule passe et simultanément un traitement récursif causal, c'est-à-dire un traitement dont les résultats dépendent des échantillons d'entrée et des sorties passées, mais aussi un traitement récursif anti-causal, c'est-à-dire un traitement dont les résultats dépendent des échantillons d'entrée et des sorties futures. Les circuits LIFO sont des composants de mémorisation permettant d'inverser l'ordre des échantillons. A titre d'exemple, en sortie des circuits LIFO 5, 7, un flux e0, e-i, ...en est présenté en sortie dans l'ordre en, en-i, ...e-i, e0. Cette inversion est indispensable pour des traitements récursifs de type Deriche ou Shen, par exemples. Les circuits LIFO sont basés sur des éléments mémoires de capacité suffisance pour mémoriser tous les échantillons d'entrée e0, e-i,..., en A titre d'exemple, dans une application de type traitement d'image, au moins une ligne d'image peut être mémorisée.As previously explained, the device DFSH consists of two MF modules 1, 2 performing the filtering operations. Each MF module has the ability to perform FIR or NR type filtering depending on how it has been configured. When the modules are configured to produce NR filters, LIFO circuits 5, 7, an acronym derived from the last "Last In First Out", are used to create anti-causal data sources. Thus, a DFSH device is capable of performing in a single pass and simultaneously a recursive causal treatment, that is to say a treatment whose results depend on the input samples and the past outputs, but also an anti-recursive processing. causal, that is, a treatment whose results depend on input samples and future outputs. LIFO circuits are memory components for reversing the order of samples. For example, at the output of the circuits LIFO 5, 7, a flow e 0 , ei, ... e n is output in the order e n , e n- i, ... ei, e 0 . This inversion is essential for recursive treatments such as Deriche or Shen, for example. The LIFO circuits are based on memory elements of sufficient capacity to store all the input samples e 0 , ei, ..., e n For example, in an image processing type application, at least one Image line can be memorized.
Un module de synchronisation 9 permet de compenser automatiquement les différences de latence entre les sorties des deux modules MF 1 , 2 avant que celles-ci soient traitées par un additionneur/soustracteur 10. Les échantillons résultant sont ensuite dirigés vers le port de sortie principal 1 1 . Le dispositif DFSH est configurable dans le sens ou chaque module MF est lui-même configurable. Par ailleurs, le routage des flux de données en interne du dispositif DFSH est également configurable grâce à des composants d'aiguillages 6, 8, 13. L'exemple donné de dispositif DFSH permet de réaliser différents schémas de filtrage en fonction de la configuration des interconnections du dispositif et des modules MF 1 , 2.A synchronization module 9 makes it possible to automatically compensate for the latency differences between the outputs of the two MF modules 1, 2 before they are processed by an adder / subtractor 10. The resulting samples are then directed to the main output port 1 1. The DFSH device is configurable in the sense that each MF module is itself configurable. Moreover, the routing of the data streams in the DFSH device is also configurable thanks to switching components 6, 8, 13. The given DFSH device example makes it possible to produce different filtering schemes depending on the configuration of the devices. interconnections of the device and the MF modules 1, 2.
Si le dispositif DFSH est utilisé dans le cadre d'applications de traitement d'image, le dispositif permet d'effectuer un filtrage 1 D, c'est-à-dire un traitement d'image ligne par ligne. Un filtrage 2D peut également être réalisé en réinjectant les résultats précédents colonne par colonne en entrée du dispositif DFSH. En effet, lorsque le masque de convolution 2D est décomposable en deux masques de convolution 1 D, l'opération de filtrage 2D est équivalente à deux opérations de filtrage 1 D. Le dispositif DFSH peut être paramétré pour réaliser au moins trois configurations de filtrage en deux passes de filtrage.If the DFSH device is used in image processing applications, the device allows 1D filtering, i.e., line-by-line image processing. 2D filtering can also be done by re-injecting the previous column by column results into the input of the DFSH device. Indeed, when the 2D convolution mask is decomposable into two convolution masks 1D, the 2D filtering operation is equivalent to two 1D filtering operations. The DFSH device can be parameterized to perform at least three filtering configurations in accordance with FIG. two filter passes.
Une première configuration permet de réaliser un filtre NR 2D d'ordre N/2. Pour cela, celui-ci peut être configuré de la manière suivante : les deux modules MF 1 , 2 sont configurés en mode récursifs avec leurs boucles de contre réaction activées ; les deux circuits LIFO 5, 7 sont activés ; le port d'entrée principal 4 est utilisé et passe par le premier module MF 1 pour réaliser un traitement récursif causal dont l'ordre des échantillons est inversé par le premier circuit LIFO 5 disposé en sortie du premier module MF ; le flux d'échantillons présenté au port d'entrée principal 4 est inversé par le second circuit LIFO 7 et passe par le second module MF 2 pour la réalisation d'un traitement anti-causal ; les traitements causaux et anti-causaux sont synchronisés par le module de synchronisation 9 et combinés par l'additionneur/soustracteur 10, puis les échantillons résultats sont dirigés vers le port de sortie principal 1 1 ; une deuxième passe de calcul est effectuée sur les échantillons résultats issus des modules MF avec des coefficients appropriés afin de réaliser la fonction NR 2D d'ordre m.A first configuration makes it possible to produce a 2D NR filter of order N / 2. For this, it can be configured in the following way: the two MF modules 1, 2 are configured in recursive mode with their activated feedback loops; the two LIFO circuits 5, 7 are activated; the main input port 4 is used and passes through the first module MF 1 to perform a causal recursive processing whose order of the samples is inverted by the first circuit LIFO 5 disposed at the output of the first module MF; the stream of samples presented to the main input port 4 is inverted by the second LIFO circuit 7 and passes through the second module MF 2 for carrying out an anti-causal treatment; the causal and anti-causal treatments are synchronized by the synchronization module 9 and combined by the adder / subtractor 10, and the result samples are directed to the main output port 11; a second calculation run is performed on the result samples from the MF modules with appropriate coefficients in order to realize the 2D NR function of order m.
Une seconde configuration permet de réaliser deux filtres FIR 2D d'ordre N, ce qui veut dire que deux sources distinctes peuvent être traitées simultanément par le dispositif. Dans le cadre d'une application de traitement d'image, deux images pourront donc être traitées en parallèle. Pour cela, le dispositif DFSH est configuré de la manière suivante : les deux modules MF 1 , 2 sont configurés en mode non- récursifs sans boucle de contre réaction activée. Le premier module MF 1 est configuré pour réaliser un traitement sur les échantillons présentés sur son port d'entrée secondaire, et le second module MF 2 est configuré pour réaliser un traitement sur les échantillons présentés sur son port d'entrée principal ; - les deux circuits LIFO 5, 7 ne sont pas activés ; les deux multiplexeurs 6, 8 sont configurés de manière à contourner les circuits LIFO ; un flux d'échantillons est présenté au niveau du port d'entrée secondaire 3 et passe par le premier module MF 1 , ledit module réalisant le traitement correspondant au premier filtreA second configuration makes it possible to produce two 2D FIR filters of order N, which means that two separate sources can be processed simultaneously by the device. As part of an image processing application, two images can be processed in parallel. For this, the DFSH device is configured as follows: the two MF modules 1, 2 are configured in non-recursive mode without feedback loop activated. The first FM module 1 is configured to perform a processing on the samples presented on its secondary input port, and the second module MF 2 is configured to perform a processing on the samples presented on its main input port; - the two LIFO circuits 5, 7 are not activated; the two multiplexers 6, 8 are configured to bypass the LIFO circuits; a flow of samples is presented at the level of the secondary input port 3 and passes through the first module MF 1, said module carrying out the processing corresponding to the first filter
FIR ; le module de synchronisation 9 est configuré pour ne laisser passer que le flux issu du premier module MF 1 par une de ses sorties, la seconde sortie étant à forcée à 0. - l'additionneur 10 transmet le flux inchangé d'échantillons de sortie du premier module MF 1 vers le port de sortie principalFIR; the synchronization module 9 is configured to allow only the flow coming from the first FM module 1 to pass through one of its outputs, the second output being forced to 0. the adder 10 transmits the unchanged stream of output samples from the first MF 1 module to the main output port
1 1 ; un flux d'échantillons d'entrée présenté au niveau du port d'entrée principal 4 et indépendant du flux présenté au niveau du port d'entrée secondaire 3 est transmis au second module1 1; an input sample stream presented at the main input port 4 and independent of the stream presented at the secondary input port 3 is transmitted to the second module
MF 2 pour réaliser le deuxième filtre FIR 2D ; une deuxième passe sur les résultats précédents dans ces modules avec des coefficients appropriés réalise la fonction FIR 2D d'ordre N. Une troisième configuration permet de réaliser un filtre FIR 2D d'ordreMF 2 to realize the second 2D FIR filter; a second pass on the previous results in these modules with appropriate coefficients realizes the 2D FIR function of order N. A third configuration allows to realize a 2D order FIR filter
2xN. Dans ce cas, une seule source peut être traitée en deux passes de filtrage, mais la longueur de filtrage est deux fois plus importante que dans la deuxième configuration. Deux filtres FIR 2D indépendant d'ordre N sont réalisés lorsque que le dispositif DFSH est configuré de la manière suivante : les deux modules MF 1 , 2 sont configurées en cascade en mode non-récursifs sans activer une boucle de contre réaction ; le premier module MF 1 est configuré pour réaliser un traitement sur les échantillons présenté sur son port d'entrée principal ; le second module MF 2 est configuré pour réaliser un traitement sur les échantillons présentés à son port d'entrée secondaire ; - la sortie secondaire de premier module MF 1 est activée et est reliée à l'entrée secondaire du second module MF 2 ; les circuits LIFO 5, 7 ne sont pas activés ; les multiplexeurs 6, 8 sont configurés de manière à ce que les échantillons contournent les circuits LIFO ; - les échantillons de la source à filtrer sont présenté au port d'entrée principal 4, les échantillons passent ensuite par le premier module MF 1 puis par le second module MF 2 pour réaliser le traitement de filtrage FIR d'ordre 2N ; le flux d'échantillons résultats sort du second module MF 2, passe par le multiplexeur 13 puis est présenté au port de sortie secondaire 12 ; une deuxième passe des résultats précédents réinjectés dans le port 4 dans ces modules avec des coefficients appropriés de MF 1 et MF2 réalise la fonction FIR 2D d'ordre 2N.2 × N. In this case, only one source can be processed in two filter passes, but the filtering length is twice as large as in the second configuration. Two N-independent independent 2D FIR filters are made when the DFSH device is configured as follows: the two MF modules 1, 2 are cascaded in non-recursive mode without activating a feedback loop; the first MF module 1 is configured to perform sample processing presented on its main input port; the second module MF 2 is configured to perform a processing on the samples presented at its secondary input port; the secondary output of the first module MF 1 is activated and is connected to the secondary input of the second module MF 2; LIFO circuits 5, 7 are not activated; the multiplexers 6, 8 are configured so that the samples bypass the LIFO circuits; the samples of the source to be filtered are presented at the main input port 4, the samples then pass through the first module MF 1 and then the second module MF 2 to carry out FIR filtering treatment of order 2N; the result sample stream leaves the second module MF 2, passes through the multiplexer 13 and is presented to the secondary output port 12; a second pass of the previous results reinjected in the port 4 in these modules with appropriate coefficients of MF 1 and MF2 realizes the 2D FIR function of order 2N.
En combinant l'utilisation de plusieurs dispositifs DFSH, il est possible de réaliser des filtres de longueur supérieure à 2xN.By combining the use of several DFSH devices, it is possible to make filters longer than 2xN.
La figure 2 présente un exemple de module de filtrage reconfigurable MF pouvant être utilisé par le dispositif DFSH tel qu'illustré par la figure 1. Ce module permet de réaliser des fonctions de filtrage à N coefficients a-\ 40 à aN 41 . Parmi ces N coefficients, k sont non-récursifs 30 et m sont récursifs 31 et N = m + k. Le module permet donc de réaliser des fonctions de filtrage FIR d'ordre N ou bien de filtrage NR d'ordre m. Il est possible de configurer une boucle de retour de façon très précise en choisissant les valeurs des coefficients a^ à am. Il est aussi possible d'activer plusieurs boucles de retour sur différents coefficients a-\ à am.FIG. 2 shows an example of a reconfigurable filtering module MF that can be used by the device DFSH as illustrated by FIG. module makes it possible to perform filtering functions with N coefficients a- \ 40 to a N 41. Among these N coefficients, k are non-recursive and m are recursive 31 and N = m + k. The module therefore makes it possible to perform filtering functions FIR of order N or of filtering NR of order m. It is possible to configure a feedback loop very precisely by choosing the values of the coefficients a ^ to a m . It is also possible to activate several return loops on different coefficients a- \ to a m .
Un module MF comprend deux ports d'entrée, soit un port d'entrée principal 36 et un port d'entrée secondaire 37. Il comprend en outre deux ports de sortie, soit un port de sortie principal 38 et un port de sortie secondaire 39.An FM module includes two input ports, a main input port 36 and a secondary input port 37. It further includes two output ports, a main output port 38 and a secondary output port 39. .
Les échantillons à filtrer sont présentés au port d'entrée principal 36 du module MF. A chaque cycle d'horloge, un échantillon résultat est disponible au niveau du port de sortie principal 38. Le module MF est composé de bancs de registres à décalage 42 et de N circuits multiplieurs 43 permettant de pondérer les échantillons retardés par les coefficients du filtre. Les valeurs desdits coefficients sont stockées dans des registres programmables.The samples to be filtered are presented at the main input port 36 of the MF module. At each clock cycle, a result sample is available at the main output port 38. The MF module is composed of shift register banks 42 and N multiplying circuits 43 for weighting the samples delayed by the filter coefficients. . The values of said coefficients are stored in programmable registers.
Les résultats intermédiaires obtenus après application des retards et pondération des échantillons d'entrée sont additionnés en utilisant des arbres d'additionneurs 32, 33 respectivement pour la partie non récursive 30 et la partie récursive 31 du filtre. Le résultat de la sortie des deux arbres est ensuite additionné 44 et traité par une fonction de réalignement 34 dans le cas ou le module traite des données au format virgule fixe. L'implémentation des multiplieurs 43 et additionneurs 32, 33 est réalisée, par exemple, avec des circuits combinatoires comportant des étages de « pipeline » pour augmenter la cadence de l'horloge.The intermediate results obtained after applying the delays and weighting of the input samples are summed using adder trees 32, 33 respectively for the non-recursive part 30 and the recursive part 31 of the filter. The result of the output of the two trees is then added 44 and processed by a realignment function 34 in the case where the module processes data in fixed-point format. The implementation of multipliers 43 and adders 32, 33 is performed, for example, with combinational circuits having "pipeline" stages to increase the rate of the clock.
Une boucle de retour 45 permet de réinjecter les résultats du filtrage en entrée de la partie récursive 31 du filtre. Cette voie de retour n'est utilisée que lorsque le module est configuré afin de réaliser un filtrage NR. La boucle de contre réaction est reconfigurable, ce qui permet d'ajuster la profondeur de la partie récursive 31 du filtre. Comme expliqué précédemment, les valeurs des coefficients du filtre est programmable. Elles peuvent donc être choisies en fonction de l'application ciblée. II est également possible d'augmenter l'ordre du filtre à réaliser en utilisant deux modules MF connectés l'un à l'autre. S'il est possible de réaliser une fonction de filtrage FIR d'ordre N avec un module, il est également possible, par exemple, de réaliser une fonction de filtrage FIR d'ordre 2xN en utilisant deux modules MF. Le module comporte donc un couple entrée-sortie principal 36, 38 et un couple d'entrée-sortie secondaire 37, 39 utilisé lorsque plusieurs modules MF sont combinés, comme c'est le cas pour le dispositif DFSH de la figure 1. Les latences des multiplieurs et des arbres d'additionneurs sont équilibrées par une fonction de compensation 35 prenant en entrée la sortie 46 de la partie récursive 31 du filtre. Le résultat après compensation est présenté au port de sortie secondaire 39 du premier module MF pour être réinjecté au niveau du port d'entrée secondaire 37 du second module MF.A feedback loop 45 makes it possible to reinject the results of the filtering at the input of the recursive part 31 of the filter. This return channel is used only when the module is configured to perform NR filtering. The feedback loop is reconfigurable, which makes it possible to adjust the depth of the recursive portion 31 of the filter. As previously explained, the values of the filter coefficients are programmable. They can therefore be chosen according to the targeted application. It is also possible to increase the order of the filter to be achieved by using two MF modules connected to each other. If it is possible to perform an N-order FIR filtering function with a module, it is also possible, for example, to perform a 2xN order FIR filtering function using two MF modules. The module therefore comprises a main input-output torque 36, 38 and a secondary input-output torque 37, 39 used when several MF modules are combined, as is the case for the DFSH device of FIG. 1. The latencies multipliers and adder trees are balanced by a compensation function 35 inputting the output 46 of the recursive portion 31 of the filter. The result after compensation is presented at the secondary output port 39 of the first MF module to be reinjected at the secondary input port 37 of the second MF module.
Dans le cas où le module MF est configuré afin de réaliser un filtreIn case the MF module is configured to perform a filter
FIR, la fonction réalisée est la suivante :FIR, the function performed is as follows:
FπR (eι ) = ∑aJ xeι_J (1 )F πR (e ι ) = Σ a J xe ι _ J (1)
où les échantillons d'entrée à filtrer sont notés βj et les coefficients du filtre FIR sont notés aj.where the input samples to be filtered are denoted βj and the coefficients of the FIR filter are denoted a j .
Cette fonction permet en configurant les coefficients d'exécuter un filtre 1 D. Si l'application cible nécessite la mise en œuvre d'un filtre 2D, les coefficients seront réajustés et les résultats du premier filtrage seront réinjectés au niveau du port d'entrée principal 36 du module.This function makes it possible to configure the coefficients to execute a 1 D filter. If the target application requires the implementation of a 2D filter, the coefficients will be readjusted and the results of the first filtering will be reinjected at the input port. main 36 of the module.
Dans le cas où le module est configuré afin de réaliser un filtre NR, la fonction réalisée est la suivante : k mIn the case where the module is configured to produce a filter NR, the function performed is as follows:
FUR (e, ) = ∑ am+] x ex_} + ∑ am_J+1 x Fm (e^ ) (2) les échantillons d'entrée à filtrer étant notés βi, les m premiers coefficients ai du filtre NR correspondant à la partie récursive du filtre et les k suivants à pour la partie non récursive. La figure 3 présente un exemple de dispositif de filtrage reconfigurableF UR (e,) = Σ a m +] xe x _ } + Σ a m _ J + 1 x F m (e ^) (2) the input samples to be filtered are denoted βi, the first m coefficients ai of NR filter corresponding to the recursive part of the filter and the following k to the non-recursive part. Figure 3 shows an example of a reconfigurable filtering device
DFR 50. Deux dispositifs DFSH 51 , 52 sont utilisés comme éléments reconfigurables de base. La combinaison de ces éléments permet d'augmenter la taille du filtre à réaliser ou bien de réaliser plusieurs fonctions de filtrage distinctes simultanément.DFR 50. Two DFSH devices 51, 52 are used as basic reconfigurable elements. The combination of these elements makes it possible to increase the size of the filter to be made or to carry out several distinct filtering functions simultaneously.
Ce dispositif DFR permet de traiter notamment des données au format entier, au format virgule fixe ou au format virgule flottante. La taille et le format des données à traiter est fonction du choix d'implémentation. Le dispositif peut donc traiter, par exemple, des données de grande dynamique en provenance d'un capteur vidéo.This DFR device makes it possible to process in particular data in the integer format, in the fixed-point format or in the floating-point format. The size and format of the data to be processed depends on the choice of implementation. The device can therefore process, for example, high dynamic data from a video sensor.
Les deux dispositifs de filtrage numérique à structure hiérarchique 51 , 52 sont connectés entre eux grâce à un module d'aiguillage 8x8 53. Ce module 53 est reconfigurable et permet de router les flux présentés aux ports d'entrée du dispositif 54, les résultats intermédiaires des dispositifs DFSH et les sorties 55. Les flux d'entrée 54 sont dirigés soit vers les ports d'entrée principaux 56, 58 soit vers les ports d'entrée secondaires 57, 59 de l'un 51 ou l'autre 52 des dispositifs DFSH. Les résultats disponibles sur les ports de sortie principaux 60, 62 ou secondaires 61 , 63 sont routés soit en sortie du dispositif DFR 55 soit vers les ports d'entrée principaux ou secondaires de l'autre dispositif DFSH. Cette deuxième option permet d'augmenter la taille de la fonction de filtrage à réaliser.The two hierarchical structure digital filtering devices 51, 52 are connected to each other by means of an 8x8 53 switching module. This module 53 is reconfigurable and makes it possible to route the flows presented to the input ports of the device 54, the intermediate results DFSH devices and outputs 55. Input streams 54 are directed to either the main input ports 56, 58 or to the secondary input ports 57, 59 of either of the 51 or 52 of the devices. FSHD. The results available on the main output ports 60, 62 or secondary 61, 63 are routed either at the output of the DFR device 55 or to the main or secondary input ports of the other DFSH device. This second option makes it possible to increase the size of the filtering function to be performed.
Le module d'aiguillage 53 est programmable et permet une utilisation flexible des ressources de calcul 51 , 52. Il est à noter que plus le module d'aiguillage 53 est flexible, c'est-à-dire qu'il peut être programmé de nombreuses manières différentes, plus son coût en surface de silicium est élevé. Un module d'aiguillage 8x8, également appelé, selon la terminologie anglo-saxonne « switch 8x8 », permet de gérer huit entrées et huit sorties. Ainsi les flux d'entrée, les flux de sortie et les résultats intermédiaires des DFSH sont routés en fonction de l'utilisation voulue du dispositif. Le module d'aiguillage peut être implémenté, notamment, en utilisant un circuit « crossbar » offrant une grande maximale. Il est également possible de synthétiser un switch 8x8 à partie, par exemple, de plusieurs switch 2x2.The switching module 53 is programmable and allows a flexible use of the computing resources 51, 52. It should be noted that the more the switching module 53 is flexible, that is to say that it can be programmed from Many different ways, plus its silicon surface cost is high. An 8x8 switching module, also called, in the English terminology "switch 8x8", manages eight inputs and eight outputs. Thus, DFSH input streams, output streams, and intermediate results are routed according to the intended use of the device. The routing module can be implemented, in particular, using a "crossbar" circuit offering a large maximum. It is also possible to synthesize an 8x8 switch to part, for example, several 2x2 switch.
L'exemple de dispositif DFR selon l'invention illustré par la figure 3 peut être utilisé notamment dans un système embarqué de traitement d'image nécessitant une forte puissance de calcul. Il a été souligné précédent que le module d'aiguillage 53 permet une utilisation flexible du dispositif. Le dispositif est capable d'exécuter jusqu'à quatre filtres linéaires de taille N simultanément. Mais il peut être également être configuré pour réaliser deux filtres de longueur 2xN ou bien un filtre de longueur 4xN. Ainsi, ce dispositif est efficace notamment dans le cadre de systèmes vidéo stéréoscopiques car deux images indépendantes peuvent être traitées en X et en Y simultanément avec deux filtres alloués à chacune des images.The exemplary DFR device according to the invention illustrated by FIG. 3 can be used in particular in an on-board image processing system requiring a high computing power. It was emphasized previous that the switching module 53 allows flexible use of the device. The device is capable of executing up to four linear filters of size N simultaneously. But it can also be configured to make two 2xN length filters or a 4xN length filter. Thus, this device is effective especially in the context of stereoscopic video systems because two independent images can be processed in X and Y simultaneously with two filters allocated to each of the images.
Un module DFR comporte par exemple 4 entrées et 4 sorties de flux d'échantillons, les flux d'entrée pouvant être routés vers les deux 2 ports d'entrées principaux et les 2 ports d'entrées secondaires des dispositifs DFSH compris dans le dispositif DFR. Le dispositif DFR peut ainsi être configuré en 4 filtres récursifs indépendants traitant simultanément 4 flux indépendants d'échantillons. En effet les modules MF compris dans les dispositifs DFSH comportent des moyens pour réaliser la fonction de filtre récursif à partir d'un flux d'échantillon, c'est-à-dire une somme pondérée avec résultat rebouclé. Comme un module DFSH 51 , 52 possède 2 entrées et 2 sorties indépendantes, il est possible de réaliser 2 filtres récursifs indépendants. Ainsi en combinant 2 modules DFSH, un module DFR permet de configurer 4 filtres récursifs indépendants et à exécution simultanée, le débit de traitement pour chaque sortie étant de un échantillon par cycle d'horloge.A DFR module comprises, for example, 4 inputs and 4 sample flow outputs, the input streams being routable to the two main input ports and the two secondary input ports of the DFSH devices included in the DFR device. . The DFR device can thus be configured into 4 independent recursive filters simultaneously processing 4 independent sample streams. Indeed, the MF modules included in the DFSH devices comprise means for performing the recursive filter function from a sample stream, that is to say a weighted sum with looped result. As a DFSH module 51, 52 has 2 independent inputs and 2 outputs, it is possible to make 2 independent recursive filters. Thus, by combining two DFSH modules, a DFR module makes it possible to configure 4 independent and simultaneous recursive filters, the processing flow rate for each output being one sample per clock cycle.
Un dispositif de type DFR est reconfigurable mais n'est pas microprogrammé. En d'autres termes, il n'est pas dépendant d'un microcode. Un dispositif externe comme un processeur CPU peut initialement configurer les modules switch 8x8 53, DFSH 51 , 52, MF, les aiguillages ainsi que les constantes multiplicatives des modules MF par une interface de configuration simple. Une fois la configuration terminée l'exécution des filtres est autonome et automatique. Le circuit réagit uniquement au flot de données d'entrée. Ce sont les flux d'entrées qui déclenchent le calcul de filtrage et non un CPU externe. A device of the DFR type is reconfigurable but is not microprogrammed. In other words, it is not dependent on a microcode. An external device such as a CPU can initially configure the 8x8 53, DFSH 51, 52, MF switch modules, turnouts and multiplicative constants of the MF modules through a simple configuration interface. Once the configuration is complete the execution of the filters is autonomous and automatic. The circuit responds only to the input data stream. It is the input streams that trigger the filtering calculation and not an external CPU.

Claims

REVENDICATIONS - Dispositif de filtrage à structure hiérarchique DFSH permettant de réaliser des fonctions de filtrage linéaire à réponse impulsionnelle finie FIR et à réponse impulsionnelle infinie NR et pouvant être combiné avec un ou plusieurs dispositifs du même type, ledit dispositif comportant au moins un premier (1 ) et un second (2) module de filtrage MF comportant des moyens pour réaliser des fonctions de filtrage à N coefficients configurables, ledit dispositif étant caractérisé en ce que qu'un premier sous ensemble des N coefficients d'un module MF est configuré de manière à réaliser des fonctions de filtrage non-récursif, un second sous ensemble desdits coefficients pouvant être configuré de manière à réaliser des fonctions de filtrage récursif, une ou plusieurs boucles de contre-réaction pouvant être activée par module MF, au moins un échantillon de résultat du filtrage étant généré à chaque cycle d'horloge, le dispositif DFSH comportant au moins : un port d'entrée principal (4) permettant de transmettre au dispositif un flux d'échantillons à filtrer, ledit port étant connecté aux deux modules de filtrage MF (1 , 2) ; un port d'entrée secondaire (3) connecté au premier module de filtrage MF (1 ) permettant de transmettre un second flux d'échantillons au dispositif ; un port de sortie principal (1 1 ) permettant de transmettre le résultat des opérations de filtrage en sortie du dispositif après combinaison (10) des flux en sortie de chaque module de filtrage reconfigurable ; un port de sortie secondaire (12) permettant de transmettre un résultat après filtrage composé d'un flux d'échantillons pris en sortie du second module de filtrage MF (2), ledit port pouvant être connecté au port d'entrée secondaire (3) d'un autre dispositif de filtrage numérique. - Dispositif de filtrage selon la revendication 1 caractérisé en ce que le flux d'échantillons présenté au port d'entrée secondaire (3) est un flux d'échantillons à traiter indépendant du flux présenté au port d'entrée principal (4). - Dispositif de filtrage selon la revendication 1 caractérisé en ce que le flux d'échantillons est un flux en provenance d'un autre dispositif DFSH, les deux dispositifs étant connectés afin de réaliser une fonction de filtrage d'ordre supérieur à N. - Dispositif de filtrage selon l'une quelconque des revendications précédentes caractérisé en qu'il est configurable en au moins trois configurations de filtrage, la première configuration correspondant à un filtre NR 2D d'ordre N/2, la seconde configuration correspondant à deux filtres FIR 2D d'ordre N et la troisième configuration correspondant à un filtre FIR 2D d'ordre 2xN. - Dispositif de filtrage selon l'une quelconque des revendications précédentes caractérisé en ce que les valeurs des coefficients de filtrage utilisés par chaque module de filtrage MF sont stockées dans des registres programmables. - Dispositif de filtrage selon l'une quelconque des revendications précédentes caractérisé en ce que des flux d'échantillons anticausaux sont générés par des circuits LIFO (5, 7), lesdits circuits LIFO étant placés en sortie du premier module de filtrage MF (1 ) et en entrée du second module de filtrage MF (2). - Dispositif de filtrage selon l'une quelconque des revendications précédentes caractérisé en ce que les données traitées par ledit dispositif DFSH peuvent être au format entier, au format virgule fixe. - Dispositif de filtrage selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comporte un module de synchronisation (9) permettant de compenser automatiquement les différences de latence entre les sorties des deux modules de filtrage (1 , 2). - Dispositif de filtrage selon l'une quelconque des revendications précédentes caractérisé en ce que chaque module de filtrage MF (1 , 2) utilisé par le dispositif comporte au moins N multiplieurs (43), N cellules à retard (42), deux arbres d'additionneurs (32, 33), un port d'entrée principale (36), un port d'entrée secondaire (37), un port de sortie principale (38) et un port de sortie secondaire (39). 0- Dispositif de filtrage selon la revendication 9 caractérisé en ce chaque module de filtrage (1 , 2) utilisé par le dispositif comporte une fonction de réalignement (34) en amont du port de sortie principale (38) lorsque les échantillons à traiter sont représentés au format virgule fixe et une fonction de compensation (35) placé en amont du port de sortie secondaire (39) permettant d'équilibrer les latences introduites par les multiplieurs (43) et les arbres d'additionneurs (32, 33). 1 -Dispositif de filtrage selon l'une quelconque des revendications précédentes caractérisé en ce que le routage des flux de données en interne du dispositif est choisi à l'aide à de bascules d'aiguillage (6, 8, 45, 48). 2- Dispositif de filtrage reconfigurable DFR utilisant au moins deux dispositifs de filtrage à structure hiérarchique DFSH (51 , 52) tels que définis selon l'une quelconque des revendications précédentes, ledit dispositif étant caractérisé en ce qu'il comporte au moins : quatre ports d'entrée (54) permettant de présenter en entrée du dispositif un ou plusieurs flux d'échantillons à filtrer ; quatre ports de sortie (55) permettant de présenter en sortie du dispositif le ou les flux résultant de la ou des opérations de filtrage réalisées par le dispositif ; un circuit d'aiguillage reconfigurable (53) permettant d'une part de router les flux d'entrée (54) soit vers les ports d'entrée principaux (56, 58) soit vers les ports d'entrée secondaires (57, 59) de l'un (51 ) ou l'autre (52) des dispositifs DFSH, et d'autre part de router les résultats disponibles sur les ports de sortie principaux (60, 62) ou secondaires (61 , 63) des dispositifs DFSH soit en sortie du dispositif DFR (55) soit vers les ports d'entrée principaux au secondaires d'un autre dispositifs DFSH. CLAIMS - DFSH hierarchical structure filtering device for performing FIR finite impulse response and infinite impulse response NR linear filtering functions that can be combined with one or more devices of the same type, said device comprising at least a first (1 ) and a second (2) MF filtering module comprising means for performing filtering functions with N configurable coefficients, said device being characterized in that a first subset of the N coefficients of an MF module is configured so performing non-recursive filtering functions, a second subset of said coefficients being configurable to perform recursive filtering functions, one or more feedback loops that can be activated per FM module, at least one result sample filtering being generated at each clock cycle, the DFSH device comprises at least: a main input port (4) for transmitting to the device a flow of samples to be filtered, said port being connected to the two MF filtering modules (1, 2); a secondary input port (3) connected to the first MF filter module (1) for transmitting a second sample stream to the device; a main output port (1 1) for transmitting the result of the filtering operations at the output of the device after combining (10) the output streams of each reconfigurable filtering module; a secondary output port (12) for transmitting a result after filtering composed of a stream of samples taken at the output of the second MF filtering module (2), said port being connectable to the secondary input port (3) another digital filtering device. Filtering device according to claim 1 characterized in that the flow of samples presented to the secondary input port (3) is a stream of samples to be processed independent of the flow presented at the main port of entry (4). - Filtering device according to claim 1 characterized in that the flow of samples is a stream from another device DFSH, the two devices being connected in order to perform a higher order filtering function N. - Device filtering device according to any one of the preceding claims, characterized in that it is configurable in at least three filtering configurations, the first configuration corresponding to a 2D NR filter of N / 2 order, the second configuration corresponding to two 2D FIR filters. of order N and the third configuration corresponding to a 2D FIR filter of order 2xN. - Filtering device according to any one of the preceding claims characterized in that the values of the filter coefficients used by each MF filtering module are stored in programmable registers. Filtering device according to any one of the preceding claims, characterized in that anticausal sample flows are generated by LIFO circuits (5, 7), said LIFO circuits being placed at the output of the first MF filtering module (1). and at the input of the second MF filtering module (2). - Filtering device according to any one of the preceding claims characterized in that the data processed by said DFSH device can be in the integer format, fixed-point format. - Filtering device according to any one of the preceding claims, characterized in that it comprises a synchronization module (9) for automatically compensating latency differences between the outputs of the two filter modules (1, 2). - Filtering device according to any one of the preceding claims characterized in that each MF filtering module (1, 2) used by the device comprises at least N multipliers (43), N delay cells (42), two shafts adders (32, 33), a main input port (36), a secondary input port (37), a main output port (38) and a secondary output port (39). 0- filtering device according to claim 9 characterized in that each filtering module (1, 2) used by the device comprises a realignment function (34) upstream of the main output port (38) when the samples to be treated are represented in a fixed-point format and a compensation function (35) located upstream of the secondary output port (39) for balancing the latencies introduced by the multipliers (43) and the adders trees (32, 33). 1 -Dispositif filter according to any preceding claim characterized in that the routing of data flows internally of the device is selected using switching flip-flops (6, 8, 45, 48). 2- DFR reconfigurable filtering device using at least two DFSH hierarchical structure filtering devices (51, 52) as defined in any one of the preceding claims, said device being characterized in that it comprises at least: four ports input device (54) for presenting at the input of the device one or more streams of samples to be filtered; four output ports (55) for presenting at the output of the device the stream or flows resulting from the filtering operation or operations performed by the device; a reconfigurable switching circuit (53) for firstly routing the input streams (54) to either the main input ports (56, 58) or the secondary input ports (57, 59) of one (51) or the other (52) DFSH devices, and secondly to route the available results to the ports of primary (60, 62) or secondary (61, 63) outputs of the DFSH devices either at the output of the DFR device (55) or at the primary to secondary input ports of other DFSH devices.
PCT/EP2009/060845 2008-09-05 2009-08-21 Filtering device with a hierarchical structure, and reconfigurable filtering device WO2010026064A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011525503A JP2012502530A (en) 2008-09-05 2009-08-21 Filtering device having a hierarchical structure and reconfigurable filtering device
US13/062,350 US8751553B2 (en) 2008-09-05 2009-08-21 Filtering device with a hierarchical structure, and reconfigurable filtering device
EP09782092.2A EP2319177B1 (en) 2008-09-05 2009-08-21 Filtering device with a hierarchical structure, and reconfigurable filtering device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR08/04884 2008-09-05
FR0804884A FR2935850B1 (en) 2008-09-05 2008-09-05 HIERARCHICAL STRUCTURE FILTERING DEVICE AND RECONFIGURABLE FILTERING DEVICE

Publications (1)

Publication Number Publication Date
WO2010026064A1 true WO2010026064A1 (en) 2010-03-11

Family

ID=40577657

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/060845 WO2010026064A1 (en) 2008-09-05 2009-08-21 Filtering device with a hierarchical structure, and reconfigurable filtering device

Country Status (5)

Country Link
US (1) US8751553B2 (en)
EP (1) EP2319177B1 (en)
JP (1) JP2012502530A (en)
FR (1) FR2935850B1 (en)
WO (1) WO2010026064A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2448117A1 (en) * 2010-11-01 2012-05-02 Research in Motion Limited Reconfigurable digital signal filter processor
US8793298B2 (en) 2010-11-01 2014-07-29 Blackberry Limited Reconfigurable digital signal filter processor

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2935850B1 (en) * 2008-09-05 2011-04-01 Commissariat Energie Atomique HIERARCHICAL STRUCTURE FILTERING DEVICE AND RECONFIGURABLE FILTERING DEVICE
CN102812637A (en) * 2010-02-26 2012-12-05 汉阳大学校产学协力团 Frequency reconfigurable digital filter and equalizer using the same
US8983218B2 (en) * 2012-04-11 2015-03-17 Texas Instruments Incorporated Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding
CN111653271B (en) * 2020-05-26 2023-09-05 大众问问(北京)信息科技有限公司 Sample data acquisition and model training method and device and computer equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0623996A1 (en) * 1993-05-06 1994-11-09 Thomson Consumer Electronics, Inc. Reconfigurable programmable digital filter architecture
US5487023A (en) * 1994-02-14 1996-01-23 Tektronix, Inc. Repeatable finite and infinite impulse response integrated circuit structure
EP1176717A1 (en) * 2000-07-29 2002-01-30 Micronas GmbH Programmable filter architecture
US20050283508A1 (en) * 2004-06-18 2005-12-22 Michael Hennedy Micro-programmable digital filter

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963890B2 (en) * 2001-05-31 2005-11-08 Koninklijke Philips Electronics N.V. Reconfigurable digital filter having multiple filtering modes
US6988116B2 (en) * 2002-04-15 2006-01-17 Visteon Global Technologies, Inc. Method of designing polynomials for controlling the slewing of adaptive digital films
US8041759B1 (en) * 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
FR2935850B1 (en) * 2008-09-05 2011-04-01 Commissariat Energie Atomique HIERARCHICAL STRUCTURE FILTERING DEVICE AND RECONFIGURABLE FILTERING DEVICE
US8793298B2 (en) * 2010-11-01 2014-07-29 Blackberry Limited Reconfigurable digital signal filter processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0623996A1 (en) * 1993-05-06 1994-11-09 Thomson Consumer Electronics, Inc. Reconfigurable programmable digital filter architecture
US5487023A (en) * 1994-02-14 1996-01-23 Tektronix, Inc. Repeatable finite and infinite impulse response integrated circuit structure
EP1176717A1 (en) * 2000-07-29 2002-01-30 Micronas GmbH Programmable filter architecture
US20050283508A1 (en) * 2004-06-18 2005-12-22 Michael Hennedy Micro-programmable digital filter

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TORRES L ET AL: "A reconfigurable digital filter chip for image processing", ASIC/SOC CONFERENCE, 1999. PROCEEDINGS. TWELFTH ANNUAL IEEE INTERNATIO NAL WASHINGTON, DC, USA 15-18 SEPT. 1999, PISCATAWAY, NJ, USA,IEEE, US, 15 September 1999 (1999-09-15), pages 93 - 97, XP010360316, ISBN: 978-0-7803-5632-0 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2448117A1 (en) * 2010-11-01 2012-05-02 Research in Motion Limited Reconfigurable digital signal filter processor
US8793298B2 (en) 2010-11-01 2014-07-29 Blackberry Limited Reconfigurable digital signal filter processor

Also Published As

Publication number Publication date
US8751553B2 (en) 2014-06-10
FR2935850B1 (en) 2011-04-01
EP2319177A1 (en) 2011-05-11
US20110208795A1 (en) 2011-08-25
JP2012502530A (en) 2012-01-26
EP2319177B1 (en) 2019-06-26
FR2935850A1 (en) 2010-03-12

Similar Documents

Publication Publication Date Title
EP2319177B1 (en) Filtering device with a hierarchical structure, and reconfigurable filtering device
US9613232B1 (en) Digital signal processing blocks with embedded arithmetic circuits
EP3084588B1 (en) Signal processing module, especially for a neural network and a neuronal circuit
WO2010037570A1 (en) Device for the parallel processing of a data stream
FR2740284A1 (en) WIDE BAND DIGITAL FILTERING METHOD AND FILTER USING THE METHOD
FR2899052A1 (en) Electronic communication signal`s e.g. vehicle remote control signal, interferences eliminating circuit for e.g. vehicle, has filter processing, in adaptive mode, signal`s samples quantity that is less than quantity in non-adaptive mode
EP0437876B1 (en) Programmable serial multiplier
EP2000904A1 (en) Masked Montgomery modular multiplication method and associated device
EP0259231A1 (en) Device for the determination of the digital transform of a signal
Datta et al. FPGA Implementation of Symmetric Systolic FIR Filter using Multi-channel Technique
FR2739991A1 (en) IIR digital filter
EP0327445A1 (en) Generalised digital multiplier, and digital filter using this multiplier
EP0970562B1 (en) Fractional delay digital filter
EP0242258B1 (en) Device for the execution of an algorithm (leroux-gueguen) for the coding of a signal by linear prediction
Kumar et al. FPGA architecture to perform symmetric extension on signals for handling border discontinuities in FIR filtering
EP0190514B1 (en) On-line test device of the discrete fourier transform calculating circuit, and circuit using such a device
EP0175623A1 (en) Device for the real-time processing of a digital signal by convolution
Kuzhaloli et al. FIR filter design for advanced audio/video processing applications
Pal et al. Design space exploration for image processing architectures on FPGA targets
EP0122843B1 (en) Modular integrator
EP2208143A1 (en) Structure and method for saving and retrieving data
FR2625577A1 (en) Correlation device including N inputs and set of such devices
Dharmannavar et al. The Application of Vedic Mathematics for High Speed Multiplier in Fir Filter Design
Vijay et al. A novel approach for and efficient implementation of 2 Level 2D DWT using ASIC and FPGA
FR2935819A1 (en) DIGITAL PROCESSING DEVICE FOR FOURIER TRANSFORMATION AND FINAL IMPULSE RESPONSE FILTERING

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09782092

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2009782092

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2011525503

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13062350

Country of ref document: US