IP Library › Granted Patent US 6,987,401
Granted Patent B1
US 6,987,401 · App. 10/277,627 · Granted Jan 17, 2006

Compare, select, sort, and median-filter apparatus in programmable logic devices and associated methods

Assignee: Altera Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,987,401
App. No.
10/277,627
Granted
Jan 17, 2006
Kind
B1
Abstract

A programmable logic device (PLD) includes a compare-select circuitry. The compare-select circuitry includes logic elements 1 through N. Each logic element comprises a compare circuitry and a selector circuitry. The compare circuitry compares two inputs of the logic element and generates a compare output signal of the logic element. The selector circuitry provides one of the two inputs of the logic element as an output in response to a selection signal. The selection signal for all logic elements (i.e., logic elements 1 through N) constitutes the compare output signal of the Nth logic element. A median-calculation apparatus is also disclosed. The median-filter apparatus includes at least one insertion-sort circuitry. The at least one insertion-sort circuitry performs insertion-sorting of a set of input numbers corresponding to that insertion-sort circuitry to generate a corresponding set of sorted numbers. Each of the sorted set of numbers includes a median value of the corresponding set of input numbers.

Claims (58)

1. A median-calculation apparatus, comprising at least one insertion-sort circuitry, the at least one insertion-sort circuitry configured to insertion-sort a corresponding set of input numbers to provide a corresponding sorted set of numbers, wherein each of the sorted set of numbers includes a median value of the corresponding set of input numbers, and wherein each of the at least one insertion-sort circuitry sorts the corresponding set of input numbers in response to an application of a stimulus signal, and wherein the at least one insertion-sort circuitry resides within a programmable logic device (PLD).

2. The apparatus according to claim 1 , wherein each of the at least one insertion-sort circuitry includes a plurality of compare-select circuitries.

3. The apparatus according to claim 2 , wherein each compare-select circuitry in the plurality of the compare-select circuitries comprises a plurality of logic elements.

4. The apparatus according to claim 3 , wherein the input buffer comprises a static random-access memory (SRAM).

5. The apparatus according to claim 4 , wherein the output buffer comprises a static random-access memory (SRAM).

6. The apparatus according to claim 5 , wherein the stimulus signal comprises a clock signal.

7. The apparatus according to claim 6 , wherein the clock signal has a frequency of 13.5 MHz.

8. A median-filter apparatus, comprising:

a programmable logic device, including:

at least one insertion-sort circuitry, the at least one insertion-sort circuitry configured to operate in response to a first clock signal having a first frequency,

wherein each of the at least one insertion-sort circuitry is configured to insertion-sort a corresponding set of input numbers to provide a sorted set of numbers;

an input controller, the input controller configured to provide to each of the at least one insertion-sort circuitry the corresponding set of input numbers; and

an output controller, the output controller configured to accept from each of the at least one insertion-sort circuitry a median value for the corresponding set of input numbers.

9. The apparatus according to claim 8 , wherein the input controller comprises:

a first controller coupled to the at least one insertion-sort circuitry; and

at least one line buffer coupled to the first controller.

10. The apparatus according to claim 9 , wherein the first controller is configured to operate in response to the first clock signal.

11. The apparatus according to claim 10 , wherein each of the at least one line buffers comprises a multi-port memory.

12. The apparatus according to claim 11 , wherein each multi-port memory comprises:

at least one read port configured to operate in response to the first clock signal; and

a write port configured to operate in response to a second clock signal having a second frequency.

13. The apparatus according to claim 12 , wherein each of the at least one read port of the multi-port memory couples to a corresponding one of the at least one insertion-sort circuitry.

14. The apparatus according to claim 13 , wherein the input controller further comprises a second controller coupled to the write port of the multi-port memory in each of the at least one line buffer.

15. The apparatus according to claim 14 , wherein the second controller is configured to operate in response to the second clock signal.

16. The apparatus according to claim 15 , further comprising an input buffer coupled to the second controller, the input buffer configured to operate in response to the second clock signal.

17. The apparatus according to claim 16 , further comprising an output buffer coupled to the output controller, the output buffer configured to operate in response to the second clock signal.

18. The apparatus according to claim 17 , wherein the input buffer comprises a static random-access memory (SRAM).

19. The apparatus according to claim 18 , wherein the output buffer comprises a static random-access memory (SRAM).

20. The apparatus according to claim 19 , wherein the multi-port memory in each of the at least one line buffer comprises an embedded system block within the programmable logic device.

21. The apparatus according to claim 8 , wherein the input controller is further configured to provide as part of the corresponding set of input numbers for each of the at least one insertion-sort circuitry a set of numbers derived from overlapping blocks of numbers within the array of numbers.

22. The apparatus according to claim 21 , included within a data-processing system.

23. The apparatus according to claim 21 , wherein the array of numbers comprises image data.

24. The apparatus according to claim 23 , wherein the first frequency is 67.5 MHz.

25. The apparatus according to claim 24 , wherein the second frequency is 13.5 MHz.

26. A method of processing numbers, comprising:

accepting at least one set of input numbers;

using at least one insertion-sort circuitry to insertion-sort a corresponding set in the at least one set of input numbers and to generate a corresponding sorted set of numbers;

using an input controller to supply to each of the at least one insertion-sort circuitry the corresponding set of input numbers; and

using an output controller to accept from each of the at least one insertion-sort circuitry the median value of the corresponding insertion-sorted numbers;

wherein each of the sorted set of numbers includes a median value of the corresponding set of input numbers.

27. The method according to claim 26 , wherein the at least one insertion-sort circuitry is implemented within a programmable logic device (PLD).

28. The method according to claim 27 , wherein each of the at least one insertion-sort circuitry is implemented as a plurality of compare-select circuitries.

29. The method according to claim 28 , wherein each compare-select circuitry in the plurality of the compare-select circuitries is implemented as a plurality of logic elements.

30. The method according to claim 29 , wherein the stimulus signal comprises a clock signal.

31. A method of median filtering an array of numbers, comprising:

using at least one insertion-sort circuitry adapted for insertion-sorting a corresponding set of input numbers within the array of numbers to provide a sorted set of numbers;

wherein the at least one insertion-sort circuitry is configured to operate in response to a first clock signal having a first frequency; and

wherein each of the at least one insertion-sort circuitry is implemented in a programmable logic device (PLD);

using an input controller to provide to each of the at least one insertion-sort circuitry the corresponding set of input numbers; and

using an output controller to accept from each of the at least one insertion-sort circuitry a median value for the corresponding set of input numbers, wherein the output controller is operable in response to a second clock signal having a second frequency.

32. The method according to claim 31 , further comprising providing to each of the at least one insertion-sort circuitry the corresponding set of input numbers at a rate that corresponds to the first frequency.

33. The method according to claim 32 , wherein the set of input numbers for each of the at least one insertion-sort circuitry comprises a block of numbers within the array of numbers.

34. The method according to claim 33 , further comprising using the input controller to provide as part of the corresponding set of input numbers for each of the at least one insertion-sort circuitry a set of numbers derived from overlapping blocks of numbers within the array of numbers.

35. The method according to claim 34 , wherein the array of numbers comprises image data.

36. The method according to claim 35 , wherein the first frequency is 67.5 MHz.

37. The method according to claim 36 , wherein the second frequency is 13.5 MHz.

38. The method according to claim 34 , wherein each of the at least one insertion-sort circuitry includes a plurality of compare-select circuitries.

39. The method according to claim 38 , wherein each of the plurality of compare-select circuitries includes a plurality of logic elements within the programmable logic device.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Feb 11, 2021
From: PACIFIC WESTERN BANK
To: CALLFIRE, INC.
Reel/Frame 055280/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2002
From: LANGHAMMER, MARTIN; GRAHAM, JONAH
To: ALTERA CORPORATION
Reel/Frame 013569/0620 →