JPH1124892A - データ並べ換え装置 - Google Patents

データ並べ換え装置

Info

Publication number
JPH1124892A
JPH1124892A JP18397297A JP18397297A JPH1124892A JP H1124892 A JPH1124892 A JP H1124892A JP 18397297 A JP18397297 A JP 18397297A JP 18397297 A JP18397297 A JP 18397297A JP H1124892 A JPH1124892 A JP H1124892A
Authority
JP
Japan
Prior art keywords
data
held
latch circuit
input
circuit
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.)
Pending
Application number
JP18397297A
Other languages
English (en)
Inventor
Masaru Miyamoto
賢 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Dainippon Screen Manufacturing Co Ltd
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 Dainippon Screen Manufacturing Co Ltd filed Critical Dainippon Screen Manufacturing Co Ltd
Priority to JP18397297A priority Critical patent/JPH1124892A/ja
Publication of JPH1124892A publication Critical patent/JPH1124892A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】データ並べ換えを高速に行うことができる装置
を提供する。 【解決手段】直列接続されたデータ保持ブロックB1〜
B4は、ラッチ回路L1〜L4、比較回路C1〜C4お
よび切換え回路SEL1〜SEL4を有する。比較回路
C1〜C4は、入力データIがラッチ回路L1〜L4の
保持データD1〜D4以上ならフラグをセットし、さも
なければフラグをリセットする。初段のデータ保持ブロ
ックB1の切換え回路SEL1は、比較回路C1のフラ
グがセットされていれば入力データIを選択する。2段
目以降のデータ保持ブロックB2〜B4の切換え回路S
EL2〜SEL4は、自ブロックの比較回路のフラグが
セットされている場合に、前段の比較回路のフラグがリ
セットされていれば入力データIを、さもなければ前段
の保持データを選択する。フラグがリセットされていれ
ば、自ブロックのラッチ回路の保持データが選択され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のデータを値
順に並べ換えるためのデータ並べ換え装置に関する。
【0002】
【従来の技術】複数のデータを降順または昇順に並べ換
える、いわゆるソート処理は、データ処理の様々な局面
で必要となる。たとえば、画像処理の分野では、ノイズ
成分を除去するために、注目画素を含む一定領域内の画
素のデータの中央値を求めるメディアンフィルタが用い
られる場合があるが、その場合にも、上記一定領域内の
画素の画像データを降順または昇順に並べ換える必要が
ある。この並べ換えは、従来から、CPUによるソフト
ウエア処理によって実現されてきた。
【0003】図6は、N(Nは3以上の奇数)個のデー
タの中央値(N+1)/2を求めるメディアン演算のア
ルゴリズムを示すフローチャートである。N個のデータ
は、メモリ上に配列されているとする。まず、パラメー
タX(X=1,2,3,・・・・・・,N)およびY(Y=
1,2,3,・・・・・・,N)がいずれも「1」に初期化さ
れる(ステップS1,S2)。そして、まず、1番目の
データD1と2番目のデータD2とが比較される(ステ
ップS3)。もしも、2番目のデータD2が1番目のデ
ータD1よりも大きければ、1番目のデータD1と2番
目のデータD2とを入れ替えてメモリに保存する(ステ
ップS4)。つまり、入れ替え処理後の1番目のデータ
D1は、入れ替え処理前の2番目のデータD2であり、
入れ替え処理後の2番目のデータD2は、入れ替え処理
前の1番目のデータD1である。もしも、1番目のデー
タD1が2番目のデータD2以上であるならば、データ
の入れ替えは行わない(ステップS3のNO)。
【0004】次いで、パラメータXをインクリメントす
ることにより(ステップS5)、入れ替え後のデータ列
の2番目と3番目のデータD2,D3に対して同様の操
作を行う。以後、パラメータXがNに達するまで同様の
操作が繰り返し行われる(ステップS6)。これによ
り、最も小さなデータが、メモリ上のデータ列の最後尾
のデータDNとなる。
【0005】次に、パラメータYをインクリメントし
(ステップS7)、パラメータXを再び「1」に初期化
して(ステップS2)、同様の操作を繰り返す(ステッ
プS3〜S6)。これにより、2番目に小さなデータが
メモリ上のデータ列の最後尾から2番目のデータD(N
−1)となる。以下、パラメータYがNに達するまで同
様の操作が行われることにより(ステップS8)、メモ
リ上のデータ列は、複数のデータを降順に配列したデー
タ列となる。その後、このデータ列から、(N+1)/
2番目のデータを取り出せば、中央値を求めることがで
きる(ステップS9)。
【0006】
【発明が解決しようとする課題】もしも、メモリ上に最
初に配列されたデータ列中の最大のデータが、最後尾の
N番目のデータであったとする。N−1回のデータ入れ
替えによって、その最大データの順序は1つ繰り上がる
から、全データの並べ換えのためには、(N−1)×
(N−1)回のデータ比較およびデータ入れ替えが必要
である。
【0007】一対のデータを比較するには、メモリから
の2回のデータ読み出しおよび1回のデータ比較が必要
であり、データを入れ替える必要があれば、さらに、メ
モリに対する2回のデータ書き込みを行わなければなら
ない。よって、最大で、2×(N−1)2 回のメモリ読
み出し、(N−1)2 回のデータ比較、および2×(N
−1)2 回のメモリ書き込みが必要となる。
【0008】つまり、メディアン演算対象のデータ個数
が多くなれば、データの個数の2乗に比例して演算時間
が増加する。そのため、高速な画像処理が妨げられる場
合があった。そこで、本発明の目的は、上述の技術的課
題を解決し、高速にデータ並べ換えを行うことができる
データ並べ換え装置を提供することである。
【0009】
【課題を解決するための手段および発明の効果】上記の
目的を達成するための請求項1記載の発明は、順次入力
される複数の入力データを値順に並べ換えるための装置
であって、直列に接続された複数のデータ保持ブロック
を備え、初段のデータ保持ブロックは、データを保持す
るためのラッチ回路と、入力データと上記ラッチ回路に
保持されている保持データとを大小比較する比較回路
と、この比較回路の比較結果に基づいて、入力データを
上記ラッチ回路に入力する状態と、上記ラッチ回路の保
持データの置き換えを行わない状態とを切り換える切換
え回路とを有するものであり、2段目以降のデータ保持
ブロックは、データを保持するためのラッチ回路と、入
力データと上記ラッチ回路に保持されている保持データ
とを大小比較する比較回路と、この比較回路の比較結果
および前段のデータ保持ブロックの比較回路の比較結果
に基づいて、入力データを上記ラッチ回路に入力する状
態と、上記前段のデータ保持ブロックのラッチ回路の保
持データを上記ラッチ回路に入力する状態と、上記ラッ
チ回路の保持データの置き換えを行わない状態とを切り
換える切換え回路とを有するものであることを特徴とす
るデータ並べ換え装置である。
【0010】たとえば、初段のデータ保持ブロックに処
理対象のデータのうちの最大値のデータが保持されるよ
うにしてデータを降順に並べ換える場合には、初段のデ
ータ保持ブロックの切換え回路は、入力データがラッチ
回路の保持データ以上の場合には入力データをラッチ回
路に入力し、入力データがラッチ回路の保持データ未満
の場合にはラッチ回路の保持データの置き換えを行わな
いように制御されることが好ましい。また、この場合に
は、2段目以降のデータ保持ブロックの切換え回路は、
入力データが、ラッチ回路の保持データ以上であり、か
つ、前段のデータ保持ブロックのラッチ回路の保持デー
タ未満である場合に、入力データを当該データ保持ブロ
ックのラッチ回路に入力し、入力データが、当該データ
保持ブロックのラッチ回路の保持データ以上であり、か
つ、前段のデータ保持ブロックの保持データ以上である
場合には、前段のデータ保持ブロックのラッチ回路の保
持データを当該データ保持ブロックのラッチ回路に入力
し、その他の場合には当該データ保持ブロックのラッチ
回路の保持データの置き換えを行わないように制御され
ることが好ましい。また、データの入力に先だって、全
データ保持ブロックのラッチ回路の保持データをデータ
の下限値(たとえば「0」)にクリアしておくことが好
ましい。
【0011】たとえば、j(jは自然数)番目のデータ
保持ブロックの比較回路において、入力データがラッチ
回路の保持データ以上であるものとされ、かつ、その前
段であるj−1段目のデータ保持ブロックの比較回路に
おいて、入力データがラッチ回路の保持データ未満であ
るものとされた場合を想定する。この場合には、初段な
いしj−1段目のデータ保持ブロックのラッチ回路の保
持データは不変に保たれ、j段目のデータ保持ブロック
のラッチ回路には入力データが新たに保持される。そし
て、j+1段目以降のデータ保持ブロックのラッチ回路
には、それぞれ前段のデータ保持ブロックのラッチ回路
の保持データが保持される。すなわち、j+1段目以降
のデータ保持ブロックには、各前段のデータ保持ブロッ
クのデータがシフトされる。
【0012】こうして、処理対象の全ての入力データを
当該データ並べ換え装置に入力し終えた時点において
は、複数のデータ保持ブロックには、降順にデータが保
持されていることになる。よって、処理対象の入力デー
タを与える時間で、データ並べ換え処理を完了すること
ができるので、従来技術に比較して、格段に高速なデー
タ並べ換えが可能となる。
【0013】一方、初段のデータ保持ブロックに処理対
象のデータのうちの最小値のデータが保持されるように
してデータを昇順に並べ換える場合には、初段のデータ
保持ブロックの切換え回路は、入力データがラッチ回路
の保持データ以下の場合に入力データをラッチ回路に入
力し、入力データがラッチ回路の保持データを越える場
合には、ラッチ回路の保持データの置き換えを行わない
ように制御されることが好ましい。また、この場合に
は、2段目以降のデータ保持ブロックの切換え回路は、
入力データが、ラッチ回路の保持データ以下であり、か
つ、前段のデータ保持ブロックのラッチ回路の保持デー
タを越える場合に、入力データを当該データ保持ブロッ
クのラッチ回路に入力し、入力データが、当該データ保
持ブロックのラッチ回路の保持データ以下であり、か
つ、前段のデータ保持ブロックの保持データ以下である
場合には、前段のデータ保持ブロックのラッチ回路の保
持データを当該データ保持ブロックのラッチ回路に入力
し、その他の場合には当該データ保持ブロックのラッチ
回路の保持データの置き換えを行わないように制御され
ることが好ましい。また、データの入力に先だって、全
データ保持ブロックのラッチ回路の保持データをデータ
の上限値(たとえば8ビットのデータの場合には「FF
H」)に初期化しておくことが好ましい。
【0014】これにより、データを降順に並べる場合と
同様な動作が可能であり、処理対象の全データの当該デ
ータ並べ換え装置への入力が完了した時点では、複数の
データ保持ブロックには、データが昇順に並べ換えられ
て保持されている。なお、入力データとラッチ回路の保
持データとの比較結果に基づく切換え回路の切換えの後
に各ラッチ回路への書き込みを許容する書込制御信号を
発生する手段(後述の実施形態においては、図1のタイ
ミング発生回路5)がさらに備えられていることが好ま
しい。これにより、切換え回路が適切に切換え制御され
た後に、ラッチ回路へのデータの書き込みが行われるか
ら、データの並べ換えを確実に行える。
【0015】さらには、ラッチ回路へのデータの書き込
みが完了した以降に入力データが変更されるようにデー
タを入力する手段(後述の実施形態においては、図1の
タイミング発生回路5およびメモリ6)が備えられてい
ることが好ましい。これにより、切換え回路の切換えと
ラッチ回路への書き込みとを適切に行える。請求項2記
載の発明は、上記データ並べ換え装置は、N(Nは3以
上の奇数)個のデータの中央値を演算するためのもので
あり、上記データ保持ブロックは、少なくとも(N+
1)/2個設けられており、(N+1)/2段目のデー
タ保持ブロックのラッチ回路の保持データを上記N個の
データの中央値として取り出す中央値取り出し手段をさ
らに含むことを特徴とする請求項1記載のデータ並べ換
え装置である。
【0016】複数のデータ保持ブロックには、降順また
は昇順にデータが保持されるから、(N+1)/2段目
のデータ保持ブロックのラッチ回路の保持データを取り
出せば、N個のデータの中央値を求めることができる。
上述のとおり、データの並べ換えは高速に行えるので、
中央値演算もまた高速に行える。請求項3記載の発明
は、上記複数のデータ保持ブロックのうちの任意のデー
タ保持ブロックのラッチ回路の保持データを順序値とし
て取り出す順序値取り出し手段をさらに含むことを特徴
とする請求項1記載のデータ並べ換え装置である。
【0017】複数のデータ保持ブロックには、降順また
は昇順にデータが保持されるから、任意のデータ保持ブ
ロックのラッチ回路の出力を取り出すことにより、順序
値を取り出すことができる。たとえば、複数のデータ保
持ブロックに降順にデータが保持されるとすれば、初段
のデータ保持ブロックの保持データを取り出すことによ
り最大値を得ることができ、2段目、3段目、・・・・・・の
データ保持ブロックの保持データを取り出すことによ
り、2番目、3番目、・・・・・・に大きなデータを得ること
ができる。複数のデータ保持ブロックに昇順にデータが
保持される場合も同様に、初段のデータ保持ブロックの
保持データを取り出すことにより最小値を得ることがで
き、2段目、3段目、・・・・・・のデータ保持ブロックの保
持データを取り出すことによって、2番目、3番目、・・
・・・・に小さなデータを得ることができる。
【0018】順序値取り出し手段は、たとえば、複数の
データ保持ブロックに降順/昇順に並べ換えられたデー
タが保持される場合に、データの上限値/下限値を入力
データとして与えることによって、複数のデータ保持ブ
ロックの保持データをそれぞれ最終段のデータ保持ブロ
ックに向けてシフトさせる手段と、最終段のデータ保持
ブロック(必ずしも最終段である必要はなく、途中のデ
ータ保持ブロックであってもよい。)の出力を取り出す
手段とを含むものであってもよい。
【0019】また、順序値取り出し手段は、たとえば、
2段目以降のデータ保持ブロックの切換え回路を、前段
のデータ保持ブロックの保持データを当該切換え回路が
属するデータ保持ブロックのラッチ回路に入力する状態
に強制的に制御する強制切換え制御手段と、この強制切
換え制御手段によって切換え回路が制御されている状態
において、複数のデータ保持ブロックの保持データをそ
れぞれ最終段のデータ保持ブロックに向けてシフトさせ
る手段と、最終段のデータ保持ブロック(必ずしも最終
段である必要はなく途中段のデータ保持ブロックであっ
てもよい。)の出力を取り出す手段とを含むものであっ
てもよい。この場合、データのシフトは、各データ保持
ブロックのラッチ回路に共通の書込信号を与えることに
よって行われてもよい。
【0020】さらに、順序値取り出し手段は、複数のデ
ータ保持ブロックのラッチ回路の保持データがそれぞれ
入力されるセレクタと、このセレクタに切換え信号を与
えることによって、いずれか1つのデータ保持ブロック
の保持データをセレクタから出力させる手段とを含むも
のであってもよい。
【0021】
【発明の実施の形態】以下では、本発明の実施形態を、
添付図面を参照して詳細に説明する。図1は、この発明
の一実施形態のデータ並べ換え装置を適用したメディア
ン演算装置の構成を示すブロック図である。このメディ
アン演算装置は、7個のデータの中央値である4番目に
大きなデータを求めるための装置であり、直列に接続さ
れた4個のデータ保持ブロックB1,B2,B3,B4
を有している。一般には、N個(Nは3以上の奇数)の
データの中央値(N+1)/2を求めるには、少なくと
も(N+1)/2個の直列接続されたデータ保持ブロッ
クが用意されればよい。
【0022】4個のデータ保持ブロックB1〜B4に
は、ライン1からクリア信号が与えられ、ライン2から
書込信号が与えられ、ライン3からたとえば8ビットの
入力データIが与えられるようになっている。クリア信
号および書込信号は、タイミング発生回路5によって発
生される。また、入力データIは、たとえば、メモリ6
から、タイミング発生回路5が発生する読出信号に基づ
いて順次読み出されて入力されるようになっている。処
理対象の全データをこの装置に入力し終えた後にデータ
保持ブロックB4から出力ポートOUTに導出されるデ
ータが中央値となる。
【0023】初段のデータ保持ブロックB1は、データ
を保持するためのラッチ回路L1、ラッチ回路L1の保
持データD1と入力データIとの大小関係を比較するた
めの比較回路C1、およびラッチ回路L1に与えられる
データを、入力データIとラッチ回路L1自身の保持デ
ータD1との間で切り換える切換え回路SEL1とを備
えている。
【0024】比較回路C1は、A入力端子からの入力デ
ータIが、B入力端子から入力されるラッチ回路L1の
保持データD1以上であれば、フラグ(A≧B)をセッ
トする。また、入力データIがラッチ回路L1の保持デ
ータD1未満であれば、フラグ(A≧B)をリセットす
る。この比較回路C1が出力するフラグ(A≧B)によ
って、切換え回路SEL1の切換え制御が行われる。す
なわち、切換え回路SEL1は、フラグ(A≧B)がセ
ットされていれば入力データIを選択してラッチ回路L
1に与え、フラグ(A≧B)がリセットされていれば、
ラッチ回路L1自身の出力を選択してラッチ回路L1に
与える。
【0025】ラッチ回路L1の保持データは、クリア信
号によって「0」にクリアされるようになっており、ま
た、ラッチ回路L1には、書込信号に応答して切換え回
路SEL1から与えられるデータが書き込まれて保持さ
れるようになっている。2段目以降のデータ保持ブロッ
クB2,B3,B4も、初段のデータ保持ブロックと同
じく、ラッチ回路L2,L3,L4、比較回路C2,C
3,C4、および切換え回路SEL2,SEL3,SE
L4を有している。これらの回路のうち、ラッチ回路L
2,L3,L4、および比較回路C2,C3,C4の働
きは、初段のデータ保持ブロックB1のラッチ回路L1
および比較回路C1の働きと同様である。これに対し
て、切換え回路SEL2、SEL3,SEL4は、自身
が属するデータ保持ブロックB2,B3,B4の出力デ
ータD2,D3,D4と入力データIとのほかに、各前
段のデータ保持ブロックB1,B2,B3のラッチ回路
L1,L2,L3の出力データD1,D2,D3を選択
できるようになっている。
【0026】また、切換え回路SEL2、SEL3,S
EL4は、自身が属するデータ保持ブロックB2,B
3,B4の比較回路C2,C3,C4のフラグ(A≧
B)のみならず、各前段のデータ保持ブロックB1,B
2,B3の比較回路C1,C2,C3のフラグ(A≧
B)によっても、切換え制御される。すなわち、たとえ
ば、データ保持ブロックB2のセレクタSEL2は、比
較回路C2のフラグ(A≧B)がセットされ、かつ、前
段のデータ保持ブロックB1の比較回路C1のフラグ
(A≧B)がセットされた場合には、前段のデータ保持
ブロックB1のラッチ回路L1の出力データD1を選択
してラッチ回路L2に与える。また、比較回路C2のフ
ラグ(A≧B)がセットされ、かつ、前段のデータ保持
ブロックB1の比較回路C1のフラグ(A≧B)がリセ
ットされていれば、入力データIを選択して、ラッチ回
路L2に与える。さらに、比較回路C2のフラグ(A≧
B)がリセットされ、かつ、前段のデータ保持ブロック
B1の比較回路C1のフラグ(A≧B)がリセットされ
ていれば、ラッチ回路L2自身の出力データD2をラッ
チ回路L2に与える。
【0027】すなわち、初段のデータ保持ブロックB1
の切換え回路SEL1の動作は下記表1のようにまとめ
ることができ、また、2段目以降のデータ保持ブロック
B2、B3,B4の切換え回路SEL2,SEL3,S
EL4の動作は下記表2のようにまとめることができ
る。ただし、表1においては、入力データIとラッチ回
路L1の保持データD1との大小関係(比較回路C1の
比較結果)と、切換え回路SEL1が選択するデータと
の関係が示されている。また、表2においては、入力デ
ータ1と、各段のデータ保持ブロックBk(k=2,
3,4)のラッチ回路Lkの保持データDk、およびそ
の前段のデータ保持ブロックBk−1のラッチ回路Lk
−1の保持データDk−1との各大小関係(比較回路C
k−1およびCkにおける比較結果)と、切換え回路S
ELkが選択するデータとの関係が示されている。
【0028】
【表1】
【0029】
【表2】
【0030】図2は、上記メディアン演算装置の動作の
概要を説明するための簡略化したブロック図である。デ
ータ保持ブロックB1〜B4にそれぞれデータD1,D
2,D3,D4(D1>D2>D3>D4とする。)が
保持されているとする。この状態で、D1>I>D2>
D3>D4を満たす入力データIが与えられると、この
入力データIは、データ保持ブロックB2のラッチ回路
L2に保持される。そして、データ保持ブロックB1の
保持データD1はそのまま保持され、データ保持ブロッ
クB2,B3,B4の従前の保持データD2,D3,D
4は、同時に、シフトされる。これにより、データ保持
ブロックB3,B4には、データ保持ブロックB2,B
3の従前の保持データD2,D3それぞれが保持される
ことになる。
【0031】同様にして、全ての入力データIが順次与
えられた後には、データ保持ブロックB1〜B4には、
最大のデータから4番目に大きなデータまでが降順に保
持されていることになる。したがって、4番目に大きな
データが保持されているデータ保持ブロックB4の保持
データD4を出力ポートOUTから取り出せば、7個の
入力データの中央値を求めることができる。
【0032】なお、D1>D2=I=D3>D4を満た
す入力データIは、上記表2から理解されるように、デ
ータ保持ブロックB2に保持され、データ保持ブロック
B3にはデータ保持ブロックB2の保持データD2がシ
フトされる。データ保持ブロックB1〜B4の保持デー
タD1〜D4は、はじめにクリア信号によって「0」に
初期化されるので、その後に、上記表1および表2に従
って切換え回路SEL1〜SEL4がそれぞれ動作する
ことによって、D1≧D2≧D3≧D4なる条件が常時
保証されるようになっている。
【0033】図3は、上記メディアン演算装置の詳細な
動作例を説明するためのタイミングチャートである。こ
の図3には、次の順序で入力される7個のデータの中央
値を求める際の動作が示されている。 4,7,3,4,8,1,2 なお、図3(a) は書込信号を示し、図3(b) は入力デー
タIを示し、図3(c)はラッチ回路L1の保持データD
1を示し、図3(d) はラッチ回路L2の保持データD2
を示し、図3(e) はラッチ回路L3の保持データD3を
示し、図3(f)はラッチ回路L4の保持データD4を示
し、図3(g) は出力ポートOUTから出力される出力デ
ータを示す。図1の回路構成から明らかなとおり、出力
データは、ラッチ回路L4の保持データD4に等しい。
【0034】まず、クリア信号によって、全てのラッチ
回路L1〜L4の保持データが「0」に初期化される。
その後、入力データ「4」がライン3に導出されている
タイミングで書込信号が立ち上がると、ラッチ回路L1
にその入力データ「4」が保持され、ラッチ回路L2〜
L4には、各前段のラッチ回路L1〜L3の保持データ
D1〜D3が同時にシフトされる。このときの動作は、
次の表3にまとめられている。すなわち、上記の動作
は、比較回路C1〜C4のフラグ(A≧B)がすべてセ
ットされることによって実現される。
【0035】
【表3】
【0036】次に、ラッチ回路L1〜L4へのデータの
書き込みが完了すると、それ以後のタイミングでタイミ
ング発生回路5が発生する読出信号に応答して、データ
「7」がメモリ6から読み出され、入力データとしてセ
ットされる。そして、その後のタイミングで書込信号が
立ち上がると、この入力データ「7」は、ラッチ回路L
1の保持データ「4」よりも大きいので、ラッチ回路L
1に保持される。そして、ラッチ回路L2,L3,L4
には、ラッチ回路L1〜L3の従前の保持データ
「4」,「0」,「0」がそれぞれシフトされる。この
ときの動作は、次の表4にまとめられている。この場合
にも、比較回路C1〜C4のフラグ(A≧B)がすべて
セットされる。
【0037】
【表4】
【0038】次いで、3番目のデータ「3」が入力デー
タにセットされ、その後のタイミングで書込信号が立ち
上がる。この入力データ「3」は、ラッチ回路L1およ
びL2の保持データ「7」,「4」のいずれよりも小さ
く、ラッチ回路L3,L4の保持データ「0」,「0」
よりも大きい。したがって、比較回路C1,C2のフラ
グ(A≧B)はリセットされ、比較回路C3,C4のフ
ラグ(A≧B)はセットされる。その結果、入力データ
「3」は、ラッチ回路L3に保持され、ラッチ回路L3
の従前の保持データ「0」がラッチ回路L4にシフトさ
れる。ラッチ回路L1およびL2の保持データ「7」,
「4」は不変に保持される。このときの動作は、次の表
5にまとめられている。
【0039】
【表5】
【0040】4番目のデータ「4」が入力データIにセ
ットされ、その後に書込信号が立ち上がると、この入力
データ「4」は、ラッチ回路L2に書き込まれる。すな
わち、入力データ「4」は、ラッチ回路L1の保持デー
タ「7」よりも小さく、ラッチ回路L2の保持データ
「4」に等しく、ラッチ回路L3,L4の保持データ
「3」,「0」よりも大きい。したがって、比較回路C
1のフラグ(A≧B)はリセットされ、比較回路C2〜
C3のフラグ(A≧B)はセットされる。したがって、
入力データ「4」はラッチ回路L2に書き込まれ、ラッ
チ回路L1の保持データは不変に保たれ、ラッチ回路L
3,L4には、それぞれ、ラッチ回路L2,L3の従前
の保持データがシフトされる。このときの動作は、次の
表6にまとめられている。
【0041】
【表6】
【0042】次に、5番目のデータ「8」が入力データ
Iにセットされ、その後に書込信号が立ち上がる。この
入力データ「8」は、ラッチ回路L1〜L4のいずれの
保持データよりも大きいから、比較回路C1〜C4のフ
ラグ(A≧B)はいずれもセットされる。そのため、こ
の入力データ「8」は、ラッチ回路L1に書き込まれ、
ラッチ回路L1〜L3の従前の保持データ「7」,
「4」,「4」は、ラッチ回路L2〜L4にそれそれシ
フトされる。このときの動作は、次の表7にまとめられ
ている。
【0043】
【表7】
【0044】6番目のデータ「1」が入力され、その後
に書込信号が立ち上がると、この入力データ「1」は、
いずれのラッチ回路L1〜L4にも保持されない。すな
わち、入力データ「1」は、ラッチ回路L1〜L4の保
持データ「8」,「7」,「4」,「4」のいずれより
も小さいので、比較回路C1〜C4のフラグ(A≧B)
はいずれもリセット状態となる。そのため、切換え回路
SEL1〜SEL4はいずれも、自己が属するデータ保
持ブロックB1〜B4のラッチ回路L1〜L4の出力デ
ータをそのデータ保持ブロックB1〜B4のラッチ回路
L1〜L4に入力する。このときの動作は、次の表8に
まとめられている。
【0045】
【表8】
【0046】次いで、最後のデータ「2」が入力データ
Iとして入力され、その後に書込信号が立ち上がる。こ
の入力データ「2」は、ラッチ回路L1〜L4のいずれ
の保持データよりも小さいから、比較回路C1〜C4の
フラグ(A≧B)はいずれもリセット状態となる。その
ため、入力データ「2」はいずれのラッチ回路L1〜L
4にも書き込まれない。このときの動作は、次の表9に
まとめられている。
【0047】
【表9】
【0048】次に、ラッチ回路L4の保持データ「4」
を出力ポートOUTから読み取ることにより、中央値と
してのデータ「4」が得られる。このように、この実施
形態によれば、7個のデータを当該メディアン演算装置
に書き込み終えた時点で、この7個のデータの中央値の
演算が完了する。したがって、一般に、(N+1)/2
個のデータ保持ブロックを直列接続してN個のデータの
中央値を演算する場合であれば、N個の入力データのラ
ッチ回路への書き込みに要する時間で、このN個のデー
タのメディアン演算を完了することができる。したがっ
て、従来技術に比較して、メディアン演算の速度が格段
に高速化される。
【0049】次に、この発明の第2の実施形態として、
図1に示された構成を利用してデータ並べ換え装置を構
成する場合について説明する。図1に示された装置は、
4個のデータ保持ブロックB1〜B4を有している。そ
して、このデータ保持ブロックB1〜B4には入力デー
タが降順に保持されるようになっている点は、上述のメ
ディアン演算装置の説明から明らかであろう。そこで、
4個のデータを順次入力すれば、データ保持ブロックB
1〜B4には、その4個のデータを降順に並べ換えて保
持させることができる。
【0050】このように並べ換えられた4個のデータを
取り出すには、入力データIとして、上限値データを入
力したうえで、書込信号を与えればよい。たとえば、8
ビットのデータを入力する場合であればデータ「FF
H」(Hはそれが付加された記号が16進数であること
を表す。)を入力データIとして、3回入力すればよ
い。これにより、比較回路C1〜C4のフラグ(A≧
B)は全てセットされるから、データ保持ブロックB1
〜B4の保持データD1〜D4は、出力ポートOUTか
ら、小さいデータから順に出力されることになる。
【0051】同様にして、4個のデータの任意の順序値
を取り出すことができる。たとえば、最大値を取り出す
には、4個のデータをすべて入力した後に、上述の場合
と同様、上限値データを3回入力すれば、最終段のデー
タ保持ブロックB4に接続された出力ポートOUTから
最大値を取り出すことができる。また、2番目に大きな
データを取り出す場合には、上限値データを2回入力す
ればよい。最小値を取り出す場合には、上限値データの
入力を要しない。
【0052】また、すべてのデータの並べ換えの必要は
なく、たとえば、7個のデータのうち大きいものから4
個だけを並べ換えようとする場合には、上述のメディア
ン演算装置に関連して説明した場合と同様な動作とな
る。上限値データを適当な回数(全データを取り出すに
は3回)繰り返し入力することによって並べ換えされた
データが取り出せる点は上述のとおりである。
【0053】さらに、図1に示された装置を用いて5個
以上のデータの並べ換えを行うことも可能である。たと
えば、12個のデータの並べ換えを行う場合を想定す
る。この場合、この12個のデータを順次図1の装置に
入力していけば、最大のデータから4番目に大きなデー
タまでがデータ保持ブロックB1〜B4に残ることにな
る。そこで、上限値データを3回入力することによっ
て、この4個のデータを出力ポートOUTから出力さ
せ、メモリ(メモリ6でもよいし、別のメモリでもよ
い。)に記憶させる。これにより、最大のデータから4
番目のデータまでが降順に並べ換えられたことになる。
【0054】次に、クリア信号を各ラッチ回路L1〜L
4に与えた後、並べ換えが完了した4個のデータを除く
残り8個のデータを再び図1の装置に入力する。この8
個のデータの入力が完了した時点では、データ保持ブロ
ックB1〜B4には、5番目に大きなデータから8番目
に大きなデータまでが降順に並べ換えられて保持されて
いる。そこで、上限値データを3回入力することによっ
て、これらのデータを出力ポートOUTから取り出すこ
とができ、このデータ列を、すでに並び換えが完了して
いる上記メモリ上の4個のデータの列に付加することに
よって、最大のデータから8番目のデータまでが降順に
並べ換えられることになる。
【0055】さらに、上記の操作によって並べ換えが完
了した8個のデータを除く4個のデータに関して同様の
操作を行えば、結果として、12個のデータ全ての並べ
換えを行うことができる。図4は、この発明の第3の実
施形態に係るデータ並べ換え装置の構成を示すブロック
図である。この図4において、上記の図1に示された各
部と同等の部分には図1の場合と同一の符号を付して示
す。この実施形態では、切換え回路SEL1〜SEL4
を、比較回路C1〜C4のフラグ(A≧B)に拘わらず
強制的に制御するための転送制御ライン10が設けられ
ている。この転送制御ライン10には、たとえばタイミ
ング発生回路5から転送制御信号が与えられる。この転
送制御信号に応答して、初段のデータ保持ブロックB1
の切換え回路SEL1は、比較回路C1のフラグに関係
なく、いずれのデータをも選択しない状態とされる。ま
た、2段目以降のデータ保持ブロックB2〜B4の切換
え回路SEL2〜SEL4は、比較回路C1〜C4のフ
ラグに関係なく、各前段のデータ保持ブロックB1〜B
3のラッチ回路L1〜L3の保持データをラッチ回路L
2〜L4に与える状態とされる。
【0056】この状態で書込信号が入力されることによ
り、上記第2の実施形態に関連して説明した場合と同様
にして、ラッチ回路L1〜L4の保持データが転送され
ていき、出力ポートOUTから順次取り出される。図5
は、この発明の第4の実施形態に係るデータ並べ換え装
置の構成を示すブロック図である。この図5において、
上述の図1に示された各部と同等の機能を有する部分に
は図1の場合と同じ参照符号を付して示す。この実施形
態の特徴は、ラッチ回路L1〜L4の出力データがセレ
クタ20に入力されていることである。セレクタ20
は、たとえばCPUなどを有する図外の制御回路が発生
する切換え信号に基づき、ラッチ回路L1〜L4の出力
データD1〜D4のうちのいずれか1つを選択して出力
する。
【0057】したがって、処理対象の全てのデータをこ
のデータ並べ換え装置に入力した後に、セレクタ20に
よって、ラッチ回路L1の出力データD1を選択させれ
ば、処理対象のデータのうちの最大値が求まる。また、
ラッチ回路L2,L3およびL4のデータD2,D3,
D4をそれぞれ選択すれば、2番目、3番目および4番
目に大きなデータを得ることができる。
【0058】もしも、データ保持ブロックの個数がデー
タの個数に等しければ、任意の順序値を得ることができ
る。また、データ保持ブロックの個数が、処理対象のデ
ータの個数Nに対して少なくとも(N+1)/2個用意
されていれば、セレクタ20によって、(N+1)/2
段目のデータ保持ブロックのラッチ回路の保持データを
選択させることにより、中央値を求めることができる。
【0059】この発明の4つの実施形態について説明し
たが、この発明は他の形態でも実施することができる。
たとえば、上記の実施形態においては、データ保持ブロ
ックB1〜B4のラッチ回路L1〜L4に降順にデータ
が保持される場合について説明したが、データ保持ブロ
ックB1〜B4に昇順にデータを保持させることもでき
る。すなわち、図1において、比較回路C1〜C4を、
A入力端子およびB入力端子から入力されるデータA,
Bに対してA≦Bが成立する場合にフラグ(A≦B)を
セットするように構成しておき、このフラグに基づき上
記表1および表2と同様の論理に従って切換え回路SE
L1〜SEL4の切換え制御を行うようにすればよい。
これにより、処理対象の全データをこの装置に入力し終
えた後には、データ保持ブロックB1〜B4のラッチ回
路L1〜L4には、最小データ、2番目に小さなデー
タ、3番目に小さなデータ、4番目に小さなデータがそ
れぞれ保持されることになる。この場合にも、処理対象
データの個数が7個であれは、ラッチ回路L4の出力デ
ータD4が中央値となる。
【0060】また、上記の実施形態においては、4個の
データ保持ブロックで回路を構成した例を説明したが、
少なくとも2個のデータ保持ブロックを備えることによ
り、この発明による基本的なデータ並べ換え処理が可能
である。その他、特許請求の範囲に記載された事項の範
囲で種々の設計変更を施すことが可能である。
【図面の簡単な説明】
【図1】この発明の一実施形態のデータ並べ換え装置を
適用したメディアン演算装置の構成を示すブロック図で
ある。
【図2】上記メディアン演算装置の動作の概要を説明す
るための簡略化したブロック図である。
【図3】上記メディアン演算装置の詳細な動作例を説明
するためのタイミングチャートである。
【図4】この発明の第3の実施形態に係るデータ並べ換
え装置の構成を示すブロック図である。
【図5】この発明の第4の実施形態に係るデータ並べ換
え装置の構成を示すブロック図である。
【図6】N(Nは3以上の奇数)個のデータの中央値
(N+1)/2を求めるメディアン演算の従来のアルゴ
リズムを示すフローチャートである。
【符号の説明】
B1,B2,B3,B4 データ保持ブロック L1,L2,L3,L4 ラッチ回路 C1,C2,C3,C4 比較回路 SEL1,SEL2,SEL3,SEL4 切換え回
路 20 セレクタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】順次入力される複数の入力データを値順に
    並べ換えるための装置であって、 直列に接続された複数のデータ保持ブロックを備え、 初段のデータ保持ブロックは、データを保持するための
    ラッチ回路と、入力データと上記ラッチ回路に保持され
    ている保持データとを大小比較する比較回路と、この比
    較回路の比較結果に基づいて、入力データを上記ラッチ
    回路に入力する状態と、上記ラッチ回路の保持データの
    置き換えを行わない状態とを切り換える切換え回路とを
    有するものであり、 2段目以降のデータ保持ブロックは、データを保持する
    ためのラッチ回路と、入力データと上記ラッチ回路に保
    持されている保持データとを大小比較する比較回路と、
    この比較回路の比較結果および前段のデータ保持ブロッ
    クの比較回路の比較結果に基づいて、入力データを上記
    ラッチ回路に入力する状態と、上記前段のデータ保持ブ
    ロックのラッチ回路の保持データを上記ラッチ回路に入
    力する状態と、上記ラッチ回路の保持データの置き換え
    を行わない状態とを切り換える切換え回路とを有するも
    のであることを特徴とするデータ並べ換え装置。
  2. 【請求項2】上記データ並べ換え装置は、N(Nは3以
    上の奇数)個のデータの中央値を演算するためのもので
    あり、 上記データ保持ブロックは、少なくとも(N+1)/2
    個設けられており、 (N+1)/2段目のデータ保持ブロックのラッチ回路
    の保持データを上記N個のデータの中央値として取り出
    す中央値取り出し手段をさらに含むことを特徴とする請
    求項1記載のデータ並べ換え装置。
  3. 【請求項3】上記複数のデータ保持ブロックのうちの任
    意のデータ保持ブロックのラッチ回路の保持データを順
    序値として取り出す順序値取り出し手段をさらに含むこ
    とを特徴とする請求項1記載のデータ並べ換え装置。
JP18397297A 1997-07-09 1997-07-09 データ並べ換え装置 Pending JPH1124892A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18397297A JPH1124892A (ja) 1997-07-09 1997-07-09 データ並べ換え装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18397297A JPH1124892A (ja) 1997-07-09 1997-07-09 データ並べ換え装置

Publications (1)

Publication Number Publication Date
JPH1124892A true JPH1124892A (ja) 1999-01-29

Family

ID=16145060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18397297A Pending JPH1124892A (ja) 1997-07-09 1997-07-09 データ並べ換え装置

Country Status (1)

Country Link
JP (1) JPH1124892A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7384662B2 (en) 2002-03-15 2008-06-10 Seiko Epson Corporation Through structure of connecting line at gastight chamber, and ejection system incorporating same; method of manufacturing LCD device, organic EL device, electron emitting device, PDP device, electrophoresis display device, color filter, and organic EL; and method of forming spacer, metal wiring, lens, resist, and light diffuser

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7384662B2 (en) 2002-03-15 2008-06-10 Seiko Epson Corporation Through structure of connecting line at gastight chamber, and ejection system incorporating same; method of manufacturing LCD device, organic EL device, electron emitting device, PDP device, electrophoresis display device, color filter, and organic EL; and method of forming spacer, metal wiring, lens, resist, and light diffuser

Similar Documents

Publication Publication Date Title
US20020194422A1 (en) Method and apparatus for dynamically masking an N-bit memory array having individually programmable cells
JP3744285B2 (ja) シフトレジスタ及びその制御方法
JPH08339291A (ja) 最大値選択回路
US4802108A (en) Circuit for providing a select rank-order number from a plurality of numbers
JP2022510442A (ja) ソート方法、装置、電子デバイス及びコンピュータプログラム
US7050647B2 (en) Median filter
Arming et al. Data compression in hardware—the burrows-wheeler approach
JPH1124892A (ja) データ並べ換え装置
US7370046B2 (en) Sort processing method and sort processing apparatus
EP0189943B1 (en) Parallel image processor
JP2004334545A (ja) フィルタ回路
US20010017943A1 (en) Image filter circuit and image filtering method
RU2007107795A (ru) Эффективные по использованию памяти способы декодирования кодов с низкой плотностью контроля по честности (ldpc) и устройства для осуществления этих способов
JPH05134007A (ja) 半導体集積論理回路
JP3218669B2 (ja) データ列からk個のより大きいデータを選択する回路と方法
JP4158264B2 (ja) ソート・マージ処理装置およびソート・マージ回路
JP3447180B2 (ja) データ演算回路
KR100198938B1 (ko) 최소값/최대값 선택장치
KR0177399B1 (ko) 최대값 추출기
JP4252406B2 (ja) データ変換装置
JPH06333043A (ja) ヒストグラムデータ作成方式及び回路
JPH0239195A (ja) 多値画像の表示方式
JP2697679B2 (ja) ディザ画像表示装置
JP3251311B2 (ja) 数値を表わすデータのソーティング方法
JPH076021A (ja) データ並べ換え装置