EP0548917B1 - Circuit de conversion de fréquence d'échantillonnage pour données d'image - Google Patents
Circuit de conversion de fréquence d'échantillonnage pour données d'image Download PDFInfo
- Publication number
- EP0548917B1 EP0548917B1 EP92121804A EP92121804A EP0548917B1 EP 0548917 B1 EP0548917 B1 EP 0548917B1 EP 92121804 A EP92121804 A EP 92121804A EP 92121804 A EP92121804 A EP 92121804A EP 0548917 B1 EP0548917 B1 EP 0548917B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- filter
- memory
- converter
- coefficient
- pixel values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000006243 chemical reaction Methods 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005303 weighing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
Definitions
- the present invention is directed to a sample rate converter for image data which is compact and low in cost and, more particularly, to a converter that directly converts a pixel stream to a different sample rate either higher or lower by filtering during which weights or filter coefficient are applied to pixels in the pixel stream using coefficient tables that are selected responsive to the desired conversion ratio.
- the reduction and magnification can be performed by interpolating the pixel data.
- One method of interpolating the pixel image data is to perform sample rate conversion in the direction of an image line.
- the sample rate conversion is performed by oversampling a line of pixels H pixels in length by some integer factor N. Oversampling consists of inserting (N-1) additional pixels of value zero between every pixel in the input image line, resulting in a stream of NxH upsampled pixels.
- a convolutional filter is positioned at the beginning of the stream of upsampled pixels and used to sample the resulting stream of pixels to give a single output pixel.
- a convolutional filter generally consists of weighing values which are used in taking a weighted sum of the pixel stream, starting with the pixel which is under the first weighing value and continuing until there are no more weighing values.
- the convolutional filter is shifted forward in the stream of upsampled pixels by M pixels where M is the downsampling rate, and the next output pixel is then produced. The process is repeated until the filter no longer overlaps the upsampled pixel stream.
- the number of output pixels is then equal to N/M times the number of input pixels.
- One way to implement this method in hardware is to pass a stream of input data through a shift register 2 whose length is equal to the filter length, L. After each input pixel is shifted in, (N-1) zero values must be shifted in to accomplish the upsampling. Then, the output from each stage of the shift register 2 must pass through a corresponding one of a group 4 of multipliers to be multiplied by the corresponding filter weight from a corresponding one of a group of storages to storing the weights.
- the document relates to a monolithic ⁇ A/D and D/A converter with filter for broadband speech coding.
- Both ADC and DAC are implemented with oversampling second-order ⁇ converters, reducing the demands on analog anti-aliasing and anti-imaging filters.
- Decimation and interpolation are achieved in 2 and 4 stages , respectively, using linear-phase FIR filters for stability and waveform reproduction.
- a 160th order lowpass FIR filter is implemented in distributed-arithmetic style, with precomputed sums of coefficients stored in a ROM. The appropriate sums are selected by the binary input stream and accumulated to yield a result every 32 sample periods.
- the second decimation filter and the first three interpolation filters are realized with a microprogrammed convolution processor.
- the convover structure takes advantage of the symmetric impulse response of the linear-phase FIR filters using two sample-data RAMs with separate address-generation units as delay lines, and adding their outputs before the multiply-accumulate step, thereby reducing the necessary multiplications by half.
- the filter coefficients are supplied by a cyclically addressed ROM, which also provides the microcode controlling the operations in the digital part. The redefinition of the ROM contents allows the same hardware to be used for other applications, as up to 4 filters with up to 256 coefficients can be programmed in microcode. Attention is further drawn to US-A-4792975 wich relates to digital speech signal processing for pitch change with jump control in accordance with pitch period.
- a sample rate converter that produces a converted pixel stream by filtering.
- the converter stores a pixel stream in a data memory and during conversion pointers are used to select the pixels which are multiplied by filter coefficients and accumulated.
- the multiplication is performed by a lookup table that stores the results of the pixel-coefficient multiplication for all combinations of pixel values and coefficients for each sample rate conversion that the converter will perform.
- the output of the lookup table is controlled by the pixel data, the coefficient selected and the table selected.
- the accumulated output is the filtered image data.
- the sample rate converter 28 of the present invention is designed as a finite impulse response filter which is particularly designed to perform one of three possible sample rate conversions responsive to a rate conversion selection by a user.
- the filter coefficients and how they were derived is described in U.S. application 809,365 entitled Storage and Retrieval of Digital Photographic Images by Axman, Barry, Mathieu, Timmermans and Richards and having Kodak Docket No. 60,092 incorporated by reference herein.
- the converter 30 particularly directly implements the following equations without upsampling and zero stuffing.
- the present invention 28 as illustrated in Fig. 3, has four major sections, a data memory 30 (a random access memory) which stores the incoming pixel data in a wrap around arrangement in which later pixels write over pixels that have been previously processed, a multiplier 32 which multiplies the filter coefficients of the selected equation times the corresponding pixels and an accumulator 33 which accumulates the filtered pixel output.
- the accumulator 33 includes a multiplier 34 and a storage register 35 comprising D-flip flops.
- the pixel data is selected and the multiplication is performed under the control of a control section 36 which includes a control unit 37 which increments counter 38 and register 40 which, along with a multiplexer 42 controlled by the control unit 37, select what pixel data or value to multiply.
- the control unit 37 controls the coefficient being multiplied by a counter 44 whose output maps through a map unit 46.
- the control unit 37 is controlled by registers 48-54 which specify the length of the image line being processed, the filter length and filter being used, the upsampling rate and the down sampling rate.
- Fig. 3 allows the sample rate conversion to be done directly, that is, rather than by intermediate steps of upsampling (zero stuffing) and downsampling (zero processing). In particular, no processing time or hardware is used for the writing, reading or processing of the zeros which would be introduced by the intermediate step of upsampling.
- the jth subset is equal to [k j , k N+j , k 2N+j , ..., k nN+j ], where n is an integer incremented from 0 until (nN+j) is greater than (filter length-1), N is the upsampling rate and j is an integer from zero to (N-1). This eliminates those weights for upsampled pixels which would correspond to inserted zeros.
- N the effective upsampling rate
- M the effective downsampling rate
- the period and the order in which the subsets of weights must be applied as new input pixels become available may be determined by constructing a diagram similar to Fig. 1 for the desired values of N and M. Then the output pixels may be written in terms of the weighted sums, from which the order of the subsets of weights may be directly determined.
- a control unit such as unit 37, the operation of which is described in more detail in Fig. 5, may be designed for any such N and M which will select the proper subsets of weight for appropriate segments of input pixels.
- the control unit 37 determines when there is sufficient information to calculate the next output pixel, selects the proper subset of weights, and directs the calculation of the appropriate weighted sums.
- the order in which these subsets are applied to segments of the input pixel stream are controlled by the control unit 37 and several small counters 38 and 40 and a register 44 as shown in Fig. 3.
- the control unit 37 controls three pointers, P1, P2 and P3, which are all initialized to zero at the start of each line of input pixels.
- P1 and P2 point to the data memory RAM 30 while P3 points to a table of filter coefficients.
- the control unit 37 writes it into the RAM 30 at the location pointed to by P1 and then increments P1 by one.
- the accumulator 33 is reset, then the value (pixel) pointed to by P2 in RAM 30 is read out and multiplied by the weight pointed to by P3 and added in the accumulator 33. P2 and P3 are then each incremented by one, the new memory location (pixel) in RAM 30 pointed to by P2 is then read out and the pixel is multiplied by the weight that P3 now points to, and the result is added to the accumulator 33. This process continues until the pointer P3 would be incremented past the last weight of the selected subset. The resulting "DATA OUT" value in the accumulator 33 is then clocked out by means of the "DATA CLK" line. As subsequent input pixels become available, the above process is repeated, generating a stream of output pixels until no more pixels are available from the input line of pixels.
- a look up table of weights stored in a memory and a hardware multiplier can provide the weights and perform the multiplication.
- This method may require more clock cycles than the approach shown in Figs. 1 and 2, because it is processing data serially rather than in parallel.
- a line length of H the following number of RAM 30 accesses is required:
- the weight multiplication rather than being performed by a combination of a memory and a hardware multiplier is preferably performed via a look-up table stored in a RAM or ROM (Read Only Memory) type of memory 32, as shown in Fig. 3.
- a portion of the memory address is the pointer P3, which serves to select a particular area of the memory which corresponds to a particular weight, and another portion of the address is the pixel value (multiplicand) to be multiplied.
- the portion of the memory 32 which corresponds to a particular weight consists of a look-up table whose entries are the product of the selected weight with the multiplicand value that is applied to the remaining address lines.
- additional address lines are preferably included to select different sets of weights since the present invention is designed to implement different filters for different sample rate conversions. If only a single conversion rate is to be implemented the address lines for the map (table) select are not necessary and the size of the memory 32 is correspondingly smaller. Also, the configuration of Fig. 3 is easy to change for different line lengths, sampling ratios and filter lengths, as the pertinent parameters are stored in easily accessed registers, and the weights can be easily changed by either changing the memory (by writing or by physical replacement) or by selecting different banks within the memory. In the embodiment of Fig. 3, different banks (different conversion rates) are chosen using additional address lines (SRC Table Select) while several sets of different parameters are selectable by means of several register bits. The details and requirements for memory 32 will be discussed in more detail with respect to Fig. 4.
- a small RAM 30 may be used when P1 is designed to "wrap around” when it is incremented past the last location in the RAM 30.
- This RAM 30 must contain at least as many memory locations as there are weights in the filter.
- the RAM size is subtracted from the pointer P1. In practice, the subtraction is never actually performed because the pointer length (the highest count of counter 38) is chosen to match the number of available addresses and the pointer P1 wraps around by default (or it is reset to zero) when an attempt is made to increment it past the last address of the RAM. P2 also behaves in this fashion.
- the size of the weight table (and the size of the weight times pixel table stored in memory 32) may be further reduced by passing P3 through a mapping process or mapping unit 46 as shown in Fig. 3, so that values of P3 which correspond to identical weights map to the same address in the weight table.
- the pointer P3 would be mapped so as to access these in the order: [k 0 , k 2 , k 4 , k 4 , k 2 , k 0 ] or [k 1 , k 3 , k 5 , k 3 , k 1 .
- the reduction in the number of weights is especially advantageous.
- mapping unit 46 which performs the conversion of the count in pointer counter 44 into the appropriate coefficient selection, is depicted in the truth tables set forth below.
- the mapping unit 46 can be implemented as a look-up table in a memory, such as a ROM, in which the address inputs are map select, subset select and pointer 3 count and the output is coefficient address bits. For example, if the results of the multiplication of coefficient k1 times all possible pixel values are stored in a memory at addresses 0100 to 01FF (as shown in Fig. 4 to be discussed in detail later) the output of the ROM would be "1" when coefficient K1 is specified by the control unit 37 as the subset selection value. Correspondingly, if the k5 coefficient (weight) value is specified the coefficient output by the mapping ROM would be "5" allowing addresses 0500 to 05FF to be addressed.
- a memory such as a ROM
- mapping unit 46 could also be hardwired decode logic produced by a person of ordinary skill in the art from the look up tables 1-3 using a logic design tool such as Idea Station from Mentor Graphics.
- the memory map of a look-up table used to perform the multiplication for the three different filters as set forth in equations 1-3 and which takes advantage of this symmetry and the address scheme is shown in Fig. 4.
- the memory address includes two table or map select bits 70 which select the conversion ratio implemented, three coefficient or weight select bits 72 allowing up to eight coefficients or weights and eight bits 74 equalling the pixel value being multiplied.
- the content of memory 32 is divided into three tables 76, 78 and 80 corresponding to the particular conversion rate. Each of the tables is divided into sections 82-92 where each section is a table corresponding to the values of one of the coefficients times all possible pixel values.
- section 86 includes all the output values for the coefficient k2 times all possible pixel values.
- each section occupies 256 eight bit bytes. Note the sections corresponding to coefficients k6 and k7, the 4 to 3 conversion, are not shown since that table 80 is not being shown in detail in Fig. 4.
- the control unit 37 can be a conventional microprocessor with appropriate program and data storage or the unit 37 can be hardwired circuits which includes conventional counters, registers, comparators, adders and control logic, for example, a state machine. Hardwired circuits are preferably used when the invention is implemented as part of an integrated circuit since the space required for the hardwired circuits is less than that for a microprocessor.
- Fig. 5 illustrates the operations performed by the control unit 37 from which a person of ordinary skill in the art can program a microprocessor or design the hardwired circuits.
- the control unit 37 exits from a wait or idle state and resets 92 or sets to zero the count in counters 38 and 44 and the count in register 40, loads the conversion ratio map or table selected value as designated by the contents of register 50 and sets the coefficient subset select value indicating what coefficient is to be processed to zero.
- the subset select value can be contained in a counter or in a register the contents of which can be incremented and the map select value can also be stored in a register.
- the contents of registers A, B, D and E which will be discussed in more detail later, are reset to zero.
- the unit 37 determines 94 whether the acknowledge (ACK) line is clear, sends 96 a request (REQ) when it is clear, waits unit ACK is again active and releases 100 REQ.
- the sequence of steps 94, 96, 98 and 100 are the conventional hand shaking that occurs when a new pixel value is available for processing.
- the converter 28 is ready to begin processing a pixel value of the input pixel stream.
- the first step is to set the address select line of the multiplexer 42 to select 102 counter 38.
- the write line to RAM 30 is then pulsed 104 causing the first pixel value to be written into the first location of RAM 30.
- Next counter 38 is incremented 106 and the count stored in register E is incremented.
- the register E count counts the number of pixels input, so that the operation of the converter 28 can be suspended when all the pixels of the line have been input.
- the contents of register D is also incremented 110 by the upsampling rate N.
- Register D stores a value used to determine when enough pixel values have been input to produce an output pixel.
- Register D is incremented by N each time that a new input pixel is written into RAM 30.
- the contents of register D are determined 112 to exceed the down sample rate M the contents of register D are decremented by M and the process of calculating the next output pixel is performed. Otherwise the number of input pixels stored in register E is tested 114 against the line length to determine whether to stop 116. If the end of the line of pixels has not been reached the handshaking operation occurs again and another input pixel value is stored.
- pointer 2 is selected 117 by the multiplexer 42, the contents of register D are updated 118, the contents of accumulator 33 are reset 120 and the contents of register B are set 122 to zero.
- Register B stores the count of how many weights or coefficients within a particular subset of weights have been used.
- Register A is loaded 124 with the value of pointer 2 stored in register 40.
- the accumulator 33 is then clocked 126 accumulating the result of the multiplication.
- Register 40 and counter 44 are then incremented (+1) 128 pointing to the next pixel value and coefficient to multiply.
- the coefficient count in register B is incremented 130 and the coefficient count is tested 132 to determine whether all weights have been processed and an output pixel value can be produced. If so, the data clock is pulsed 134.
- the value in pointer counter 40 is then updated 136.
- C is a value which is added to the old pointer value stored in register A to determine the next value of pointer 2. This "slides" the next subset of weights to properly align with the input pixel stream to calculate the next output pixel value.
- the C input can be produced from a look-up table stored in a ROM which has inputs of Map Select (i.e. sample rate conversion selection) and Subset Select lines. Next the subset select value is incremented (+1) 138 to point at the next set of coefficients. When this operation is finished, the control unit 37 increments 110 register D and continues as previously discussed.
- the present invention results in much less hardware being required even when using discrete VLSI parts such as multipliers, adders and memory to perform a sample rate conversion.
- the circuit of the present invention is more flexible than the prior art, allowing the same set of hardware to perform different sample rate conversions, where parameters such as line length, filter length, sampling ratios, and filter weights may all be easily changed by writing new values to the various registers and/or memory shown in Fig. 3 without requiring reconfiguration of the hardware.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Image Processing (AREA)
- Television Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
- Studio Circuits (AREA)
Claims (8)
- Convertisseur de fréquence d'échantillons (28), comprenant :a) un moyen de mémorisation (30) pour mémoriser des données en entrée à une première fréquence d'échantillonnage ;b) des moyens de filtre pour filtrer directement les données en entrée afin de produire des données en sortie à une seconde fréquence d'échantillonnage, dans lequel ledit moyen de filtre comprend :
une mémoire de multiplication (32) reliée audit moyen de mémoire (30) mémorisant toutes les combinaisons des valeurs de pixel que multiplient les coefficients de filtre pour chaque fréquence de conversion d'échantillons ; etc) une section de commande (36) reliée audit moyen de mémorisation (30) et audit moyen de filtre, ladite section de commande (36) comprenant :un multiplexeur (42) sélectionnant entre les pointeurs de mémoire pour ladite mémoire ;des premier et second compteurs de pointeurs (38, 40) reliés audit multiplexeur ;un troisième compteur de pointeur (44) relié à ladite mémoire de multiplication ;une unité de commande (37) reliée audit moyen de mémoire, audit moyen de filtre et auxdits compteurs de pointeur ; etun moyen d'établissement de correspondance (46), connecté entre ledit troisième compteur de pointeur (44) et ladite mémoire de multiplication (32) pour convertir un compte séquentiel en une sélection de coefficients non séquentiels. - Convertisseur selon la revendication 1, dans lequel ledit moyen de filtre comprend de plus :une mémoire de coefficients de filtre (32) sortant des coefficients de filtre correspondant aux données en entrée et pour chaque fréquence de conversion d'échantillons ;un multiplicateur (32) connecté à ladite mémoire et multipliant les données en entrée par les coefficients de filtre ; etun accumulateur (33) connecté audit multiplicateur (32) et accumulant les données en entrée multipliées par les coefficients..
- Convertisseur selon la revendication 1, dans lequel ledit moyen d'établissement de correspondance (46) convertit un compte séquentiel, une sélection de sous-ensemble de coefficients et une sélection de correspondance de conversion de fréquence d'échantillonnage en la sélection de coefficients non séquentiels.
- Convertisseur selon l'une quelconque des revendications précédentes, dans lequel les coefficients de filtre sont symétriques et ladite mémoire de multiplication comprend une mémoire divisée en tables correspondant aux conversions de fréquence d'échantillonnage et chaque table étant divisée en sections de coefficients mémorisant les valeurs de pixel que multiplie un coefficient de filtre symétrique correspondant.
- Convertisseur selon la revendication 1 ou 3, dans lequel ledit moyen d'établissement de correspondance (46) comprend soit une table de consultation en mémoire morte, soit une logique de décodage.
- Convertisseur de fréquence d'échantillonnage (28) pour convertir des valeurs de pixel en entrée entrées à une première fréquence en valeurs de pixel en sortie produites à une seconde fréquence, ledit convertisseur comprenant :une mémoire vive (30) mémorisant les données en entrée ;un multiplexeur (42) connecté à ladite mémoire vive (30) ;un premier compteur (38) connecté audit multiplexeur (42) et commandant la mémorisation des valeurs de pixel en entrée dans ladite mémoire vive ;un registre (40) connecté audit multiplexeur et commandant la sortie des valeurs de pixel en entrée afin de produire les valeurs de pixel en sortie;une mémoire morte (32) connectée à ladite mémoire vive et mémorisant les valeurs de pixel que multiplient les valeurs de coefficients de filtre;une unité d'établissement de correspondance (46) connectée à ladite mémoire morte et produisant une valeur de sélection de coefficient ;un compteur (44) connecté à ladite unité d'établissement de correspondance et commandant la production de la valeur de sélection de coefficient ; etun accumulateur (33) connecté à ladite mémoire morte (32) et produisant les valeurs de pixel en sortie.
- Convertisseur selon la revendication 1, dans lequel ledit moyen de filtre effectue un filtrage par convolution.
- Convertisseur selon la revendication 1, dans lequel ledit moyen de mémorisation (30) comprend une mémoire vive.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/810,405 US5274469A (en) | 1991-12-23 | 1991-12-23 | Sample rate converter circuit for image data |
US810405 | 1991-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0548917A1 EP0548917A1 (fr) | 1993-06-30 |
EP0548917B1 true EP0548917B1 (fr) | 1997-08-27 |
Family
ID=25203782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP92121804A Expired - Lifetime EP0548917B1 (fr) | 1991-12-23 | 1992-12-22 | Circuit de conversion de fréquence d'échantillonnage pour données d'image |
Country Status (4)
Country | Link |
---|---|
US (1) | US5274469A (fr) |
EP (1) | EP0548917B1 (fr) |
JP (1) | JPH0612487A (fr) |
DE (1) | DE69221840T2 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008522313A (ja) * | 2004-12-03 | 2008-06-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | プログラマブルプロセッサ |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06245063A (ja) * | 1992-12-25 | 1994-09-02 | Dainippon Screen Mfg Co Ltd | 色分解条件の設定方法 |
JPH07298061A (ja) * | 1994-04-28 | 1995-11-10 | Canon Inc | カラーファクシミリ装置 |
US5835160A (en) * | 1995-09-13 | 1998-11-10 | Oak Technology, Inc. | Sampling rate conversion using digital differential analyzers |
US5808691A (en) * | 1995-12-12 | 1998-09-15 | Cirrus Logic, Inc. | Digital carrier synthesis synchronized to a reference signal that is asynchronous with respect to a digital sampling clock |
US6256654B1 (en) * | 1996-07-01 | 2001-07-03 | Sun Microsystems, Inc. | Signal interpolation and decimation exploiting filter symmetry |
JPH10149348A (ja) | 1996-07-01 | 1998-06-02 | Sun Microsyst Inc | フィルタ対称を使用した信号内挿及びデシメーション |
US5892693A (en) * | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | Signal interpolation and decimation exploiting filter symmetry |
US6151025A (en) * | 1997-05-07 | 2000-11-21 | Hewlett-Packard Company | Method and apparatus for complexity reduction on two-dimensional convolutions for image processing |
JP3071765B2 (ja) * | 1998-09-29 | 2000-07-31 | 日本電気アイシーマイコンシステム株式会社 | 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法 |
KR100311482B1 (ko) | 1999-10-21 | 2001-10-18 | 구자홍 | 보간 영상의 화질 개선을 위한 필터링 제어방법 |
KR100378592B1 (ko) * | 2000-07-31 | 2003-03-31 | 한국전자통신연구원 | 디지털 이동 통신용 108 탭 1대4 인터폴레이션유한임펄스응답 필터장치 |
KR100340048B1 (ko) * | 2000-10-26 | 2002-06-15 | 오길록 | 승산기를 사용하지 않는 유한 임펄스 응답 필터 장치 |
CN100379212C (zh) * | 2002-01-23 | 2008-04-02 | 华为技术有限公司 | 一种查找表电路的实现方法 |
US8494297B2 (en) * | 2007-04-05 | 2013-07-23 | Adobe Systems Incorporated | Automatic detection and mapping of symmetries in an image |
JP5235604B2 (ja) * | 2008-10-20 | 2013-07-10 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
JP6201799B2 (ja) | 2014-02-13 | 2017-09-27 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
JP6349765B2 (ja) | 2014-02-13 | 2018-07-04 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
US10943340B2 (en) | 2016-04-18 | 2021-03-09 | Avago Technologies International Sales Pte. Limited | Blending images |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4106053A (en) * | 1977-08-01 | 1978-08-08 | Rca Corporation | Digital sampling rate conversion of color TV signal |
JPS58219841A (ja) * | 1982-06-15 | 1983-12-21 | Kokusai Denshin Denwa Co Ltd <Kdd> | 標本化周波数の高速変換回路 |
US4792975A (en) * | 1983-06-03 | 1988-12-20 | The Variable Speech Control ("Vsc") | Digital speech signal processing for pitch change with jump control in accordance with pitch period |
CA1336342C (fr) * | 1988-01-21 | 1995-07-18 | Richard B. Kline | Modem multimode a filtrage numerique |
US4891713A (en) * | 1988-06-20 | 1990-01-02 | Eastman Kodak Company | Method of sampling picture signals and apparatus therefor |
DE68925781T2 (de) * | 1988-11-22 | 1996-07-11 | Yamaha Corp | Digitales Filter |
DE3918866A1 (de) * | 1989-06-09 | 1990-12-13 | Blaupunkt Werke Gmbh | Anordnung zur umsetzung eines signals mit einer ersten abtastrate in ein signal mit einer zweiten abtastrate |
JP3094419B2 (ja) * | 1990-02-19 | 2000-10-03 | ソニー株式会社 | サンプリングレート変換装置 |
-
1991
- 1991-12-23 US US07/810,405 patent/US5274469A/en not_active Expired - Fee Related
-
1992
- 1992-12-22 DE DE69221840T patent/DE69221840T2/de not_active Expired - Fee Related
- 1992-12-22 EP EP92121804A patent/EP0548917B1/fr not_active Expired - Lifetime
- 1992-12-24 JP JP4344142A patent/JPH0612487A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008522313A (ja) * | 2004-12-03 | 2008-06-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | プログラマブルプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
US5274469A (en) | 1993-12-28 |
DE69221840D1 (de) | 1997-10-02 |
EP0548917A1 (fr) | 1993-06-30 |
DE69221840T2 (de) | 1998-03-26 |
JPH0612487A (ja) | 1994-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0548917B1 (fr) | Circuit de conversion de fréquence d'échantillonnage pour données d'image | |
US7254281B2 (en) | Method and apparatus for electronic image processing | |
US7333141B2 (en) | Resampling methods for digital images | |
US5696708A (en) | Digital filter with decimated frequency response | |
US5410616A (en) | Loop-up table image scaling for rational factors | |
KR20010102553A (ko) | 연속 가변 지연 필터를 이용하며 다상 필터와 조합된이미지 보간 및 데시메이션 방법 | |
JPH07192125A (ja) | 高速画像サイズ変更に応用するディジタル再標本化集積回路 | |
JPH07202634A (ja) | プログラム可能な分割法または補間法係数を備えたデータコンバータ | |
US5600582A (en) | Programmable horizontal line filter implemented with synchronous vector processor | |
JP2000504520A (ja) | サンプル比変換の改善 | |
US4835723A (en) | Phase coordinated multistage digital filter | |
US5023825A (en) | Coefficient reduction in a low ratio sampling rate converter | |
US4536745A (en) | Sampling frequency conversion device | |
US5450083A (en) | Two-stage decimation filter | |
US4809208A (en) | Programmable multistage digital filter | |
JP2703126B2 (ja) | A/d,d/a変換装置 | |
US5400271A (en) | Apparatus for and method of calculating sum of products | |
US6058406A (en) | Variable length fractional bandwidth low-pass filtering | |
JPH06260890A (ja) | 高分解能ディジタルフィルタおよびディジタルコードサンプル信号のろ波方法 | |
JPH1155076A (ja) | サンプリング周波数変換装置 | |
JP3097599B2 (ja) | ディジタルフィルタ | |
JPH05175785A (ja) | デシメーション用ディジタルフィルタ | |
KR100235537B1 (ko) | 디지털 필터의 가변탭 구조 및 그의 곱셈회로 | |
JP3243831B2 (ja) | Fir型フィルタ | |
JP3172046B2 (ja) | サンプリングレートコンバータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): DE FR GB NL |
|
17P | Request for examination filed |
Effective date: 19931229 |
|
17Q | First examination report despatched |
Effective date: 19960212 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB NL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 19970827 |
|
REF | Corresponds to: |
Ref document number: 69221840 Country of ref document: DE Date of ref document: 19971002 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 19971107 Year of fee payment: 6 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 19971203 Year of fee payment: 6 |
|
ET | Fr: translation filed | ||
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 19971229 Year of fee payment: 6 |
|
NLV1 | Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19981222 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 19981222 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19990831 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19991001 |