JP3218669B2 - データ列からk個のより大きいデータを選択する回路と方法 - Google Patents
データ列からk個のより大きいデータを選択する回路と方法Info
- Publication number
- JP3218669B2 JP3218669B2 JP06997492A JP6997492A JP3218669B2 JP 3218669 B2 JP3218669 B2 JP 3218669B2 JP 06997492 A JP06997492 A JP 06997492A JP 6997492 A JP6997492 A JP 6997492A JP 3218669 B2 JP3218669 B2 JP 3218669B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- bit
- circuit
- input
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 33
- 230000015654 memory Effects 0.000 claims description 38
- 239000011159 matrix material Substances 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 8
- 230000003247 decreasing effect Effects 0.000 claims description 7
- 230000007717 exclusion Effects 0.000 claims 1
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Logic Circuits (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Communication Control (AREA)
Description
【0001】
【産業上の利用分野】本発明は、予め定められた基準に
従ってデータをソートする回路に関し、さらに詳しく
は、連続的に入力するデータからk個のより大きなデー
タをソートすることのできる回路に関する。
従ってデータをソートする回路に関し、さらに詳しく
は、連続的に入力するデータからk個のより大きなデー
タをソートすることのできる回路に関する。
【0002】
【従来の技術】このようなソーティング回路は、例え
ば、画像圧縮システムの分野において有益である。事
実、この分野においては、画像を表現するのに可能な最
善の方法で可能な限り少ないデータを伝送することが望
まれている。詳しくは、処理の複雑さと有意義なデータ
(non-null data)の数とともに増加する処理時間とを減
少させると同時に、圧縮効率を向上させるために、予め
定められた基準に従ってデータは除去されるのである。
ば、画像圧縮システムの分野において有益である。事
実、この分野においては、画像を表現するのに可能な最
善の方法で可能な限り少ないデータを伝送することが望
まれている。詳しくは、処理の複雑さと有意義なデータ
(non-null data)の数とともに増加する処理時間とを減
少させると同時に、圧縮効率を向上させるために、予め
定められた基準に従ってデータは除去されるのである。
【0003】画像圧縮システムにおいては、画像は、例
えば、8×8画素のような、マトリックスに関連したブ
ロックに分割され、そのそれぞれの係数(coefficient)
は1画素の輝度(luminance) および彩度(chrominance)
の情報を表現する。これらのマトリックスは、例えば、
離散余弦変換(DCT:discrete cosine transform) によっ
て、等しい大きさの変換されたマトリックスが得られ、
それの利点は多くの実質的に意義のない係数を有するこ
とである。
えば、8×8画素のような、マトリックスに関連したブ
ロックに分割され、そのそれぞれの係数(coefficient)
は1画素の輝度(luminance) および彩度(chrominance)
の情報を表現する。これらのマトリックスは、例えば、
離散余弦変換(DCT:discrete cosine transform) によっ
て、等しい大きさの変換されたマトリックスが得られ、
それの利点は多くの実質的に意義のない係数を有するこ
とである。
【0004】変換されたマトリックスの小さな係数をあ
る数だけ除去することによって、つまり、このマトリッ
クスに逆余弦変換を行うことによって、相当の品質低下
を伴うことなく画像を復元できることが知られている。
る数だけ除去することによって、つまり、このマトリッ
クスに逆余弦変換を行うことによって、相当の品質低下
を伴うことなく画像を復元できることが知られている。
【0005】
【発明が解決しようとする課題】変換されたマトリック
スのより大きい係数を得る従来技術での第1の技法は、
閾値より小さな係数を除去するために、係数を連続的に
読み込み、それらを閾値と比較することである。この技
法の欠点は、係数が小さ過ぎれば、マトリックスのすべ
ての係数が除去されることとなり、このことは、これら
の小さな係数のより大きなものは有意義な情報に対応す
るので、復元される画像の無視できない品質低下をもた
らすこととなる。また、係数がすべて閾値より大きけれ
ば、係数がまったく除去されない欠点があり、圧縮の目
的が達成されない。
スのより大きい係数を得る従来技術での第1の技法は、
閾値より小さな係数を除去するために、係数を連続的に
読み込み、それらを閾値と比較することである。この技
法の欠点は、係数が小さ過ぎれば、マトリックスのすべ
ての係数が除去されることとなり、このことは、これら
の小さな係数のより大きなものは有意義な情報に対応す
るので、復元される画像の無視できない品質低下をもた
らすこととなる。また、係数がすべて閾値より大きけれ
ば、係数がまったく除去されない欠点があり、圧縮の目
的が達成されない。
【0006】第2の技法は、予め定められたk個のより
大きな数のデータだけを保持しておくことである。これ
によって、小さな値が、それですら画像を表現するのだ
が、除去されないことが保証され、一連の処理過程でk
個以上のデータを処理する必要がないことが保証され
る。今日まで、この第2の技法を実行する回路は複雑で
比較的に処理速度が遅いという欠点を有している。
大きな数のデータだけを保持しておくことである。これ
によって、小さな値が、それですら画像を表現するのだ
が、除去されないことが保証され、一連の処理過程でk
個以上のデータを処理する必要がないことが保証され
る。今日まで、この第2の技法を実行する回路は複雑で
比較的に処理速度が遅いという欠点を有している。
【0007】本発明の目的は、この第2の技法を非常に
簡単な方法で実行する回路を提供することである。
簡単な方法で実行する回路を提供することである。
【0008】
【課題を解決するための手段および作用】この目的を達
成するために、本発明は、2進論理信号の形態で連続し
て入力するn個のデータ列からk個のより大きなデータ
をソートする方法であって、 a)重みが減少する順に、第1の禁止ビットと、第2の
選択ビットと、第3のデータビットと、入力するデータ
の順位を表現する数値に対応する第4のビットと、を備
えた1ワードを受信するようにそれぞれが適合されたn
個のメモリーの1つにそれぞれのデータを連続的に書き
込む段階と、 b)データ列の1番目の信号が発生したときにn個のワ
ードの第1のビットをセットする段階と、 c)それぞれのデータを書き込むのと同時に、対応する
ワードの第1のビットと第2のビットをリセットする段
階と、 d)(n−k)番目のデータとn番目のデータに対応す
る信号の到着の間で、メモリーに格納された最も小さい
ワードを検出し、そのワードの第2のビットをセットす
る段階と、 e)n番目のデータに対応する信号が到着するやいな
や、格納されたデータを連続して読み出し、ワードがそ
の第2のビットに”1”を有するデータをワードの第2
のビットがリセットされているデータと異なって処理す
る段階と、を備えたn個のデータ列からk個のより大き
なデータをソートする方法、を提供する。本発明の実施
例によれば、段階e)の間に、段階a)の間にデータが
書き込まれた順序でデータが読み出される。
成するために、本発明は、2進論理信号の形態で連続し
て入力するn個のデータ列からk個のより大きなデータ
をソートする方法であって、 a)重みが減少する順に、第1の禁止ビットと、第2の
選択ビットと、第3のデータビットと、入力するデータ
の順位を表現する数値に対応する第4のビットと、を備
えた1ワードを受信するようにそれぞれが適合されたn
個のメモリーの1つにそれぞれのデータを連続的に書き
込む段階と、 b)データ列の1番目の信号が発生したときにn個のワ
ードの第1のビットをセットする段階と、 c)それぞれのデータを書き込むのと同時に、対応する
ワードの第1のビットと第2のビットをリセットする段
階と、 d)(n−k)番目のデータとn番目のデータに対応す
る信号の到着の間で、メモリーに格納された最も小さい
ワードを検出し、そのワードの第2のビットをセットす
る段階と、 e)n番目のデータに対応する信号が到着するやいな
や、格納されたデータを連続して読み出し、ワードがそ
の第2のビットに”1”を有するデータをワードの第2
のビットがリセットされているデータと異なって処理す
る段階と、を備えたn個のデータ列からk個のより大き
なデータをソートする方法、を提供する。本発明の実施
例によれば、段階e)の間に、段階a)の間にデータが
書き込まれた順序でデータが読み出される。
【0009】本発明は、さらに、2進論理信号として入
力バスに連続して到着するn個のデータ列からk個のよ
り大きなデータをソートする回路であって、 − n列m行のメモリー単位のマトリックスであって、
それぞれの列が1つのデータに対応するワードに割り当
てられ、増加する行番号の順に、そして減少するビット
の重みの順に、 ・イニシャライズ信号によってセットされ入力するデー
タによってリセットされる第1の禁止メモリー単位と、 ・入力データによってリセットされ、出力バス回線に接
続される第2の選択メモリー単位と、 ・データを受信し格納する、データ入力バスおよびデー
タ出力バスの回線に接続される第3のメモリー単位と、 ・入力するデータの順位を表現する数値を含む第4のメ
モリー単位と、を備えた前記n列m行のメモリー単位の
マトリックスと、 − データの入力速度によってそれぞれの列をアドレス
し、そこに入力バスの回線に現れるデータを格納する第
1の回路と、 − 最も小さいワードを検出し次のデータが到着するや
いなやそのワードの第2のメモリー単位をセットする、
(n−k)番目のデータの到着とn番目のデータの到着
の間のみ動作状態である第2の回路と、 − データ速度によってそれぞれの列をアドレスし、n
番目のデータが書き込まれるやいなや、第2および第3
のメモリー単位に含まれるビットをデータ出力バスの回
線に書き込む、第3の回路と、を備えたn個のデータ列
からk個のより大きなデータをソートする回路を提供す
る。
力バスに連続して到着するn個のデータ列からk個のよ
り大きなデータをソートする回路であって、 − n列m行のメモリー単位のマトリックスであって、
それぞれの列が1つのデータに対応するワードに割り当
てられ、増加する行番号の順に、そして減少するビット
の重みの順に、 ・イニシャライズ信号によってセットされ入力するデー
タによってリセットされる第1の禁止メモリー単位と、 ・入力データによってリセットされ、出力バス回線に接
続される第2の選択メモリー単位と、 ・データを受信し格納する、データ入力バスおよびデー
タ出力バスの回線に接続される第3のメモリー単位と、 ・入力するデータの順位を表現する数値を含む第4のメ
モリー単位と、を備えた前記n列m行のメモリー単位の
マトリックスと、 − データの入力速度によってそれぞれの列をアドレス
し、そこに入力バスの回線に現れるデータを格納する第
1の回路と、 − 最も小さいワードを検出し次のデータが到着するや
いなやそのワードの第2のメモリー単位をセットする、
(n−k)番目のデータの到着とn番目のデータの到着
の間のみ動作状態である第2の回路と、 − データ速度によってそれぞれの列をアドレスし、n
番目のデータが書き込まれるやいなや、第2および第3
のメモリー単位に含まれるビットをデータ出力バスの回
線に書き込む、第3の回路と、を備えたn個のデータ列
からk個のより大きなデータをソートする回路を提供す
る。
【0010】本発明の実施例によれば、第2の回路はモ
ジュールによって構成され、モジュールのそれぞれがメ
モリー単位に関連し、そして、 − 関連するメモリー単位のQ出力との接続と、 − 現時点の行iが最後の行であれば、現時点の列jの
第2のメモリー単位のセット入力に接続される排他出力
Xijと、 − 中間出力と、 − 現時点の列jと直前の行i−1のモジュールの排他
出力Xi-1,jに、あるいは、現時点の行が1番目の場合
は”0”に、接続される排他入力と、 − 現時点の行jのすべてのモジュールに共有され前記
モジュールの中間出力を入力で受信する、検出論理手段
の出力Zi に接続される検出入力と、を備え、前記出力
Xijが次の表に基づいて加算される値を持ち、
ジュールによって構成され、モジュールのそれぞれがメ
モリー単位に関連し、そして、 − 関連するメモリー単位のQ出力との接続と、 − 現時点の行iが最後の行であれば、現時点の列jの
第2のメモリー単位のセット入力に接続される排他出力
Xijと、 − 中間出力と、 − 現時点の列jと直前の行i−1のモジュールの排他
出力Xi-1,jに、あるいは、現時点の行が1番目の場合
は”0”に、接続される排他入力と、 − 現時点の行jのすべてのモジュールに共有され前記
モジュールの中間出力を入力で受信する、検出論理手段
の出力Zi に接続される検出入力と、を備え、前記出力
Xijが次の表に基づいて加算される値を持ち、
【表2】 ここで、記号”#”は”0”あるいは”1”のいずれか
であることを示し、出力Xi-1,j そして(または)出力
Qが”1”の場合に中間出力が”1”の値を持つ。
であることを示し、出力Xi-1,j そして(または)出力
Qが”1”の場合に中間出力が”1”の値を持つ。
【0011】本発明の実施例によれば、現時点の行jの
モジュールのすべての中間出力に”1”がセットされる
ときのみ、前記検出論理手段はその出力Zi に値”0”
を提供する。
モジュールのすべての中間出力に”1”がセットされる
ときのみ、前記検出論理手段はその出力Zi に値”0”
を提供する。
【0012】本発明の実施例によれば、それぞれの列を
アドレスする回路はシフトレジスタによって構成され
る。
アドレスする回路はシフトレジスタによって構成され
る。
【0013】本発明の実施例によれば、第2のメモリー
単位は、(n−k)番目のデータの到着とn番目のデー
タの到着の間の動作イネーブル信号によって、セットさ
れることが許可される。
単位は、(n−k)番目のデータの到着とn番目のデー
タの到着の間の動作イネーブル信号によって、セットさ
れることが許可される。
【0014】従来技術においてはメモリー内のデータを
減少する順にソートして並べ換えて最初のk個を取り出
すのに対して、本発明の利点は、k個のより大きなデー
タの選択は、データ列の最後のデータが到着するやいな
や達成されるのである。
減少する順にソートして並べ換えて最初のk個を取り出
すのに対して、本発明の利点は、k個のより大きなデー
タの選択は、データ列の最後のデータが到着するやいな
や達成されるのである。
【0015】
【実施例】説明を簡単にするために、本発明による方法
を実際の例に応用して説明する。次の8個のデータ列を
考え、k=4個のより大きなデータを選択したいと仮定
する。
を実際の例に応用して説明する。次の8個のデータ列を
考え、k=4個のより大きなデータを選択したいと仮定
する。
【表3】 2つの解答、(D4 、D7 、D3 、D2 )あるいは(D
4 、D7 、D3 、D5 )が考えられ、したがって、D2
あるいはD5 のいずれか1つが消去される。この例の場
合は、より小さな添字を持つデータが、つまり、D2 が
保持されることが選択される。この目的のために、優先
係数(n−j)がデータD1 〜D8 の右側に並置され
て、新しいデータD'1〜D'8が形成される。ここで、n
はデータ列内のデータの数を示し(ここではn=8)、
jはデータの入力順位である。その修飾されたデータ列
は、
4 、D7 、D3 、D5 )が考えられ、したがって、D2
あるいはD5 のいずれか1つが消去される。この例の場
合は、より小さな添字を持つデータが、つまり、D2 が
保持されることが選択される。この目的のために、優先
係数(n−j)がデータD1 〜D8 の右側に並置され
て、新しいデータD'1〜D'8が形成される。ここで、n
はデータ列内のデータの数を示し(ここではn=8)、
jはデータの入力順位である。その修飾されたデータ列
は、
【表4】 である。このようにして、データ列の4つのより大きな
値に対する解答は1つだけしか存在しないことが確実と
なる(D'2=56はD'5=53より大きくなってい
る)。減少する優先係数が使用されたとしても、より大
きな添字を持つデータを保持して不明確さを回避するた
めには、増加する値が選択できることが理解されるであ
ろう。この点に関しては、4つのより大きなデータを選
択するために、以下の説明に進むことによって解決され
るであろう。
値に対する解答は1つだけしか存在しないことが確実と
なる(D'2=56はD'5=53より大きくなってい
る)。減少する優先係数が使用されたとしても、より大
きな添字を持つデータを保持して不明確さを回避するた
めには、増加する値が選択できることが理解されるであ
ろう。この点に関しては、4つのより大きなデータを選
択するために、以下の説明に進むことによって解決され
るであろう。
【0016】以下において、添字jで指定される全ての
要素は列のj番目のデータに対応する。
要素は列のj番目のデータに対応する。
【0017】本発明によれば、バイナリーモードのそれ
ぞれのデータDjに対して付加的なビット、つまり、禁
止ビットIj 、選択ビットSj 、データビットDj 、お
よび、複数の優先ビットPj 、からなるワードが、ビッ
トの重みが減少する順に、間係付けられる。複数の優先
ビットPj はバイナリーモードで優先係数(n−j)
(ここでは、8−j)を表現する。
ぞれのデータDjに対して付加的なビット、つまり、禁
止ビットIj 、選択ビットSj 、データビットDj 、お
よび、複数の優先ビットPj 、からなるワードが、ビッ
トの重みが減少する順に、間係付けられる。複数の優先
ビットPj はバイナリーモードで優先係数(n−j)
(ここでは、8−j)を表現する。
【0018】ワードのそれぞれは、例えば、メモリ上の
列(column)に格納される。種々の段階で記憶されるメ
モリの内容が図1A〜1Pの行列に示され、第1の行
(row)はビットIの状態を表現し、第2の行はビット
Sの状態を表現し、第3の行はデータDの10進数の値
を表現し、第4の行は優先係数Pの10進数の値を表現
している。
列(column)に格納される。種々の段階で記憶されるメ
モリの内容が図1A〜1Pの行列に示され、第1の行
(row)はビットIの状態を表現し、第2の行はビット
Sの状態を表現し、第3の行はデータDの10進数の値
を表現し、第4の行は優先係数Pの10進数の値を表現
している。
【0019】図1Aは、8個のデータ列の第1番目のデ
ータD1 が発生した直後のこの行列の状態を示す。記
号”#”は任意の値であることを表現する。第1番目の
データD1 が発生するや否や、8つの列のビットIがセ
ットされる。書き込みには第1列が選択される(このよ
うな列は列の上の文字Wで示される)。データD1 が列
に書き込まれ、同時に、ビットI1 とビットS1 がリセ
ットされる。
ータD1 が発生した直後のこの行列の状態を示す。記
号”#”は任意の値であることを表現する。第1番目の
データD1 が発生するや否や、8つの列のビットIがセ
ットされる。書き込みには第1列が選択される(このよ
うな列は列の上の文字Wで示される)。データD1 が列
に書き込まれ、同時に、ビットI1 とビットS1 がリセ
ットされる。
【0020】図1B〜1Dにおいて、次の3つのデータ
D2 〜D4 がそれぞれ入力し、書き込みを行なうために
次の3つの列が連続的に選択されてデータがそれぞれ列
に書き込まれ、対応するビットIとビットSがリセット
される。
D2 〜D4 がそれぞれ入力し、書き込みを行なうために
次の3つの列が連続的に選択されてデータがそれぞれ列
に書き込まれ、対応するビットIとビットSがリセット
される。
【0021】図1Eにおいて、第5番目のデータD5 が
行列の第5列に同様の方法で書き込まれる。この段階
で、8つの列内の最も小さいワードが検知され、その検
知は四角で囲まれた列によって表現される。もちろん、
それは最初の5つの列の1つである。なぜなら、他の列
のワードの第1番目のビットIはセットされているの
に、それらの第1番目のビットIはリセットされている
からである。この例では、図1Fに示されるように、そ
れは第1の列のワードであり、次のデータD6 が入力す
るや否や、その選択ビットS1 が”1”にセットされ
る。”1”のセットは四角で囲まれた1によって示され
ている。第1の列(最も小さい)のワードのビットS1
がセットされるので、それは書き込まれた5つのデータ
の中で最も大きくなり、引き続いての比較において、も
はや最も小さいデータとしては選択されないことにな
る。
行列の第5列に同様の方法で書き込まれる。この段階
で、8つの列内の最も小さいワードが検知され、その検
知は四角で囲まれた列によって表現される。もちろん、
それは最初の5つの列の1つである。なぜなら、他の列
のワードの第1番目のビットIはセットされているの
に、それらの第1番目のビットIはリセットされている
からである。この例では、図1Fに示されるように、そ
れは第1の列のワードであり、次のデータD6 が入力す
るや否や、その選択ビットS1 が”1”にセットされ
る。”1”のセットは四角で囲まれた1によって示され
ている。第1の列(最も小さい)のワードのビットS1
がセットされるので、それは書き込まれた5つのデータ
の中で最も大きくなり、引き続いての比較において、も
はや最も小さいデータとしては選択されないことにな
る。
【0022】同様にして、データD6 〜D8 が、図1F
〜1Hに示されるように、列6〜8に書き込まれる。列
6、5、8のワードが最も小さいことが連続的に検知さ
れ、それらのビットS6 、S5 、S8 がセットされる。
最後のデータD8 が書き込まれると、新しいデータ列の
第4番目のデータが入力するまでは、最も小さいワード
はもはや列において検知されない。図1Hにおいてデー
タD8 が書き込まれるのと同時に、データの一連の読み
出しが開始される。データD8の書き込みとそれに続く
図1I〜1Oに示される7つの時間間隔を通して、それ
ぞれのデータはビットSに対応して到着順に読み出され
る。読み出しが選択された列はその列の上の文字Rで示
される。このようにして、ビットSは4つのより大きな
データを”0”で、その他のデータを”1”で指示す
る。したがって、画像圧縮への1つの応用の例とし
て、”1”で指示されるデータを削除することが可能で
ある。
〜1Hに示されるように、列6〜8に書き込まれる。列
6、5、8のワードが最も小さいことが連続的に検知さ
れ、それらのビットS6 、S5 、S8 がセットされる。
最後のデータD8 が書き込まれると、新しいデータ列の
第4番目のデータが入力するまでは、最も小さいワード
はもはや列において検知されない。図1Hにおいてデー
タD8 が書き込まれるのと同時に、データの一連の読み
出しが開始される。データD8の書き込みとそれに続く
図1I〜1Oに示される7つの時間間隔を通して、それ
ぞれのデータはビットSに対応して到着順に読み出され
る。読み出しが選択された列はその列の上の文字Rで示
される。このようにして、ビットSは4つのより大きな
データを”0”で、その他のデータを”1”で指示す
る。したがって、画像圧縮への1つの応用の例とし
て、”1”で指示されるデータを削除することが可能で
ある。
【0023】第1番目のデータD1 はビットS1 をセッ
トすることによって指示される最後のデータである可能
性がある事実は欠点を生じることとなる。この場合、図
1Hにおいて、データD1 は、まだ”1”がセットされ
ていないそれのビットS1 とともに読み出される。なぜ
なら、このビットは、図1Iにおいて、次の時間間隔の
間に”1”にセットされるからである。本発明の回路を
用いた応用においては、特にこの回路が余弦変換からの
データを処理するときは第1番目のデータはより大きい
ので、この事実は決して起こらないのである。しかしな
がら、この欠点を解決する方法が図5に提案されてい
る。
トすることによって指示される最後のデータである可能
性がある事実は欠点を生じることとなる。この場合、図
1Hにおいて、データD1 は、まだ”1”がセットされ
ていないそれのビットS1 とともに読み出される。なぜ
なら、このビットは、図1Iにおいて、次の時間間隔の
間に”1”にセットされるからである。本発明の回路を
用いた応用においては、特にこの回路が余弦変換からの
データを処理するときは第1番目のデータはより大きい
ので、この事実は決して起こらないのである。しかしな
がら、この欠点を解決する方法が図5に提案されてい
る。
【0024】第2番目のデータD2 が読み出されるや否
や、列に新しいデータを書き込むことが開始できること
に注意されたい。図1Iの例のように、データ列E1 〜
E8の第1番目のデータE1 が書き込まれると同時に、
以前の列のデータD2 が読み出され、最後の最も小さい
ワードの選択ビットが、ここではS8 であるが、”1”
にセットされる。入力するデータE1 は強制的に8つの
列のビットIを”1”にして、第1の列のビットIとS
を”0”にする。図1J〜1Pにおいては、データE2
〜E8 がデータDについて上述されたようにして書き込
まれる。データE1 はまた、どんな時間間隔に続いて入
力しても良い(たとえ、データD1 の読み出し後であっ
ても)。
や、列に新しいデータを書き込むことが開始できること
に注意されたい。図1Iの例のように、データ列E1 〜
E8の第1番目のデータE1 が書き込まれると同時に、
以前の列のデータD2 が読み出され、最後の最も小さい
ワードの選択ビットが、ここではS8 であるが、”1”
にセットされる。入力するデータE1 は強制的に8つの
列のビットIを”1”にして、第1の列のビットIとS
を”0”にする。図1J〜1Pにおいては、データE2
〜E8 がデータDについて上述されたようにして書き込
まれる。データE1 はまた、どんな時間間隔に続いて入
力しても良い(たとえ、データD1 の読み出し後であっ
ても)。
【0025】この方法は、n個のデータ列からk個のよ
り大きいデータを選択するのにも簡単に一般化される。
8個の代わりにn個のワードつまり列が存在し、これら
のn個のワードからのk個のより大きい数の選択は(n
−k)番目のデータの到着後に動作状態にされる。n番
目のデータの到着後に、選択することが非動作状態にさ
れ、(n−k)個のより小さい列が、ビットSを”1”
にセットすることによって指示される。このようにし
て、それらのビットSに対応する内容が、k個のより大
きなデータがこれらの列に書き込まれていることを示
す”0”で指示されるk個の列が残る。次のn回の時間
間隔を通して、n個のデータはそれらのビットSととも
に読み出され、ビットSに”1”が指示されるデータを
削除することができる。
り大きいデータを選択するのにも簡単に一般化される。
8個の代わりにn個のワードつまり列が存在し、これら
のn個のワードからのk個のより大きい数の選択は(n
−k)番目のデータの到着後に動作状態にされる。n番
目のデータの到着後に、選択することが非動作状態にさ
れ、(n−k)個のより小さい列が、ビットSを”1”
にセットすることによって指示される。このようにし
て、それらのビットSに対応する内容が、k個のより大
きなデータがこれらの列に書き込まれていることを示
す”0”で指示されるk個の列が残る。次のn回の時間
間隔を通して、n個のデータはそれらのビットSととも
に読み出され、ビットSに”1”が指示されるデータを
削除することができる。
【0026】図2は上述した方法を実行する回路の一実
施例を示す。この回路はビットの格納と処理のためのモ
ジュールのマトリックスを備える。つまり、n個の連続
するデータを処理したい上述の場合では、このマトリッ
クスは、図1Aおよび図1Bに示すマトリックスのよう
なn個の列を備える。加えて、このマトリックスはm個
の行を備え、mの数は上述の行列の列内のビット数に対
応する。第1の行は、禁止ビットIを格納するモジュー
ルMI(MI11・・・MI1j・・・MI1n)を備える。
第2の行は、選択ビットSを格納するモジュールMS
(MS21・・・MS2j・・・MS2n)を備える。次のr
個の行(rは処理されるデータのビットの数である)
は、モジュールMD(MD31・・・MD3j・・・MD3n
からMD2+r, 1 ・・・MD2+r,j ・・・MD2+r,n )を
備える。最後の行Pは、図1A〜1Pでの文字P(Pは
0〜n−1の数を符号化するために必要なビットの数を
表す)で指示される優先ワードをバイナリーモードで格
納する優先モジュールMP(MP3+r,1 ・・・MP
3+r,j ・・・MP3+r,n からMPm1・・・MPmj・・・
MPmn)を備える。
施例を示す。この回路はビットの格納と処理のためのモ
ジュールのマトリックスを備える。つまり、n個の連続
するデータを処理したい上述の場合では、このマトリッ
クスは、図1Aおよび図1Bに示すマトリックスのよう
なn個の列を備える。加えて、このマトリックスはm個
の行を備え、mの数は上述の行列の列内のビット数に対
応する。第1の行は、禁止ビットIを格納するモジュー
ルMI(MI11・・・MI1j・・・MI1n)を備える。
第2の行は、選択ビットSを格納するモジュールMS
(MS21・・・MS2j・・・MS2n)を備える。次のr
個の行(rは処理されるデータのビットの数である)
は、モジュールMD(MD31・・・MD3j・・・MD3n
からMD2+r, 1 ・・・MD2+r,j ・・・MD2+r,n )を
備える。最後の行Pは、図1A〜1Pでの文字P(Pは
0〜n−1の数を符号化するために必要なビットの数を
表す)で指示される優先ワードをバイナリーモードで格
納する優先モジュールMP(MP3+r,1 ・・・MP
3+r,j ・・・MP3+r,n からMPm1・・・MPmj・・・
MPmn)を備える。
【0027】以下の記述においてiは行を表す添字であ
る。それぞれのモジュールは、ビット入力(モジュール
MPを除く)、ビット出力(モジュールMIおよびMP
を除く)、排他入力、排他出力Xij、読み出しイネーブ
ル入力(モジュールMPを除く)、書き込みイネーブル
入力(モジュールMPを除く)、を備える。モジュール
MIおよびMSは、さらに、SET入力を備える。モジ
ュールMPは優先係数を決められた方法によってバイナ
リーモードで符号化する。
る。それぞれのモジュールは、ビット入力(モジュール
MPを除く)、ビット出力(モジュールMIおよびMP
を除く)、排他入力、排他出力Xij、読み出しイネーブ
ル入力(モジュールMPを除く)、書き込みイネーブル
入力(モジュールMPを除く)、を備える。モジュール
MIおよびMSは、さらに、SET入力を備える。モジ
ュールMPは優先係数を決められた方法によってバイナ
リーモードで符号化する。
【0028】同一の行iのそれぞれのモジュールに関し
て、ビット入力は入力バスのINi線に接続され、ビッ
ト出力は出力バスのOUTi 線に接続され、排他出力X
ijは新しい行i+1のモジュールの排他入力に接続され
る。行iのすべてのモジュールは、また、図3に示され
る説明で理解される機能を有する共通線Zi に接続され
る。同一の列jのそれぞれのモジュールに関して、書き
込みイネーブル入力は書き込みアドレスバスのWj 線に
接続され、読み出しイネーブル入力は読み出しアドレス
バスのRj 線に接続される。第1の読み込み線R1 は最
後の書き込み線Wn に接続され、そのことによって、第
1番目の列の読み出しと最後の列の書き込みを同時に行
う。W線とR線は、例えば、クロックCKと第1の書き
込み線W1 にも適用されるイニシャライズ信号INIT
とによって制御されるシフトレジスタによって構成され
る従来のアドレッシング回路11によって制御される。
て、ビット入力は入力バスのINi線に接続され、ビッ
ト出力は出力バスのOUTi 線に接続され、排他出力X
ijは新しい行i+1のモジュールの排他入力に接続され
る。行iのすべてのモジュールは、また、図3に示され
る説明で理解される機能を有する共通線Zi に接続され
る。同一の列jのそれぞれのモジュールに関して、書き
込みイネーブル入力は書き込みアドレスバスのWj 線に
接続され、読み出しイネーブル入力は読み出しアドレス
バスのRj 線に接続される。第1の読み込み線R1 は最
後の書き込み線Wn に接続され、そのことによって、第
1番目の列の読み出しと最後の列の書き込みを同時に行
う。W線とR線は、例えば、クロックCKと第1の書き
込み線W1 にも適用されるイニシャライズ信号INIT
とによって制御されるシフトレジスタによって構成され
る従来のアドレッシング回路11によって制御される。
【0029】最初の2つの行のビット入力は論理レベル
0(接地)に接続される。モジュールMIの排他入力は
論理レベル0に接続される。最後の行のそれぞれのモジ
ュールMPmjの排他出力Xmjはフリップフロップ10の
入力Dに接続される。D・フリップフロップ10のそれ
ぞれは対応する列のモジュールMSのSET入力に接続
される反転出力Q* と、クロックCKに接続されるイネ
ーブリング入力と、すべてのフリップフロップ10に共
通のイネーブリング線VALに接続されるSET入力
と、を備える。
0(接地)に接続される。モジュールMIの排他入力は
論理レベル0に接続される。最後の行のそれぞれのモジ
ュールMPmjの排他出力Xmjはフリップフロップ10の
入力Dに接続される。D・フリップフロップ10のそれ
ぞれは対応する列のモジュールMSのSET入力に接続
される反転出力Q* と、クロックCKに接続されるイネ
ーブリング入力と、すべてのフリップフロップ10に共
通のイネーブリング線VALに接続されるSET入力
と、を備える。
【0030】このようにして、図2の列を考えると、列
のそれぞれのモジュールMI、MS、MD、MPは、特
に、図1A〜1Pの行列の列に対応して含まれるワード
のビットを格納するように適合されたメモリー単位(mem
ory point)に対応する。
のそれぞれのモジュールMI、MS、MD、MPは、特
に、図1A〜1Pの行列の列に対応して含まれるワード
のビットを格納するように適合されたメモリー単位(mem
ory point)に対応する。
【0031】データ書き込み段階を通して、図1A〜1
Hに示されるように、連続するデータが連続する列のモ
ジュールMDに書き込まれる。比較動作がk個の最近に
書かれたデータに対して動作状態にされる。
Hに示されるように、連続するデータが連続する列のモ
ジュールMDに書き込まれる。比較動作がk個の最近に
書かれたデータに対して動作状態にされる。
【0032】モジュールMI、MS、MD、MPのそれ
ぞれは、メモリー単位に加えて、他のすべてのモジュー
ルの1つと組み合わせて、上述の動作、つまり、列を選
択するために列に格納されるワードの値を比較する動作
を実行する論理処理ユニットを備える。(この選択動作
はそれぞれの列のモジュールMSの選択ビットSを決定
することからなる。)
ぞれは、メモリー単位に加えて、他のすべてのモジュー
ルの1つと組み合わせて、上述の動作、つまり、列を選
択するために列に格納されるワードの値を比較する動作
を実行する論理処理ユニットを備える。(この選択動作
はそれぞれの列のモジュールMSの選択ビットSを決定
することからなる。)
【0033】モジュールの動作を考える前に、続く図3
に記述される、比較と選択のモードでのこれらのすべて
のモジュールの動作を説明する。これは、図1A〜1P
に関連して使用された例を参照することによってより良
く理解されるであろう。次の表は、図1Gの状態に対応
する図2の回路のモジュールのメモリー単位の内容を示
す。
に記述される、比較と選択のモードでのこれらのすべて
のモジュールの動作を説明する。これは、図1A〜1P
に関連して使用された例を参照することによってより良
く理解されるであろう。次の表は、図1Gの状態に対応
する図2の回路のモジュールのメモリー単位の内容を示
す。
【表5】 説明を簡単にするために、モジュールは最初の行から次
の行に順次に分析するものとする。このために、第1の
行のモジュールを最初に考える。”1”を含むモジュー
ル(表の第8列のモジュール)は、必然的に最も大きな
ワードに対応し、これらのモジュールのそれぞれは、次
の分析から対応する列を排除するために、より低位のモ
ジュールにその排他出力を介してモジュールから他方の
モジュールに下向きに達する排他ビット(表において下
線の付いた数値)を提供する。こうして、それに続く行
が処理され、より低位の行に排他ビットが現れないワー
ドをより小さいワードとして識別することを可能とす
る。この識別に続いて、このワードの選択ビットに”
1”が付される。
の行に順次に分析するものとする。このために、第1の
行のモジュールを最初に考える。”1”を含むモジュー
ル(表の第8列のモジュール)は、必然的に最も大きな
ワードに対応し、これらのモジュールのそれぞれは、次
の分析から対応する列を排除するために、より低位のモ
ジュールにその排他出力を介してモジュールから他方の
モジュールに下向きに達する排他ビット(表において下
線の付いた数値)を提供する。こうして、それに続く行
が処理され、より低位の行に排他ビットが現れないワー
ドをより小さいワードとして識別することを可能とす
る。この識別に続いて、このワードの選択ビットに”
1”が付される。
【0034】もちろん、この回路は、何らかの付加的な
論理の組み合わせを考慮しなければならない。すなわ
ち、すべての列が前もって排除されないように、同一の
行のすべてのモジュールが”1”である場合には(例え
ば、表の、モジュールMD42、MD43、MD45、およ
び、モジュールMD62、MD65、および、モジュールM
D85、そして、モジュールMD95、のような)、排他ビ
ットが現れないことが許可される。
論理の組み合わせを考慮しなければならない。すなわ
ち、すべての列が前もって排除されないように、同一の
行のすべてのモジュールが”1”である場合には(例え
ば、表の、モジュールMD42、MD43、MD45、およ
び、モジュールMD62、MD65、および、モジュールM
D85、そして、モジュールMD95、のような)、排他ビ
ットが現れないことが許可される。
【0035】これらのすべてはモジュールに含まれるそ
れぞれの論理的な処理ユニットを用いて実行される。図
3は論理回路の形態での1つのモジュールを示す。D型
フリップフロップ20によって構成されるメモリー単位
は、1つのINi 線に接続されるビット入力Dと、1つ
の書き込み線Wj に接続されるイネーブル入力と、1つ
の読み出し線Rj に接続されるそれの制御入力によって
動作状態にされる3ー状態ゲート21を介して1つのO
UTi 線に接続される出力Qと、モジュールMIとMS
でのSET入力と、を備える。モジュールMPは、いか
なるフリップフロップも含まず、フリップフロップの出
力に対応する線はグランド(論理0)かあるいは供給電
圧VCC(論理1)に接続されバイナリーモードで優先係
数(n−j)を形成する。
れぞれの論理的な処理ユニットを用いて実行される。図
3は論理回路の形態での1つのモジュールを示す。D型
フリップフロップ20によって構成されるメモリー単位
は、1つのINi 線に接続されるビット入力Dと、1つ
の書き込み線Wj に接続されるイネーブル入力と、1つ
の読み出し線Rj に接続されるそれの制御入力によって
動作状態にされる3ー状態ゲート21を介して1つのO
UTi 線に接続される出力Qと、モジュールMIとMS
でのSET入力と、を備える。モジュールMPは、いか
なるフリップフロップも含まず、フリップフロップの出
力に対応する線はグランド(論理0)かあるいは供給電
圧VCC(論理1)に接続されバイナリーモードで優先係
数(n−j)を形成する。
【0036】ORゲート22はフリップフロップ20の
出力Qとすぐ前の線のモジュールの排他出力Xi-1,j と
を受信する。ORゲート22の出力はP型MOSトラン
ジスタ23のゲートに出力され、トランジスタ23のソ
ースは供給電圧VCCに接続され、ドレインはZi 線に接
続される。抵抗手段24(1線あたり1つ)はZi 線を
グランドに接続する。同一の行のすべてのMOSトラン
ジスタ23と抵抗手段24はNANDゲートを構成す
る。このNANDゲートの出力はZi 線であり、その入
力のそれぞれは同一行のORゲート22の出力に接続さ
れている。NORゲートは、その入力の少なくとも1つ
が”0”のときに、その出力に”1”を提供するゼロ検
知器と考えることができる。ANDゲート25の入力は
フリップフロップ20の出力QとZi 線に接続される。
ORゲート26はANDゲート25の出力とすぐ前のモ
ジュールの排他出力Xi-1,j とを受信する。ORゲート
26の出力は排他出力Xijを構成する。
出力Qとすぐ前の線のモジュールの排他出力Xi-1,j と
を受信する。ORゲート22の出力はP型MOSトラン
ジスタ23のゲートに出力され、トランジスタ23のソ
ースは供給電圧VCCに接続され、ドレインはZi 線に接
続される。抵抗手段24(1線あたり1つ)はZi 線を
グランドに接続する。同一の行のすべてのMOSトラン
ジスタ23と抵抗手段24はNANDゲートを構成す
る。このNANDゲートの出力はZi 線であり、その入
力のそれぞれは同一行のORゲート22の出力に接続さ
れている。NORゲートは、その入力の少なくとも1つ
が”0”のときに、その出力に”1”を提供するゼロ検
知器と考えることができる。ANDゲート25の入力は
フリップフロップ20の出力QとZi 線に接続される。
ORゲート26はANDゲート25の出力とすぐ前のモ
ジュールの排他出力Xi-1,j とを受信する。ORゲート
26の出力は排他出力Xijを構成する。
【0037】モジュールは以下のように動作する。その
排他入力が”1”(Xi-1,j =1)であることは、その
列が分析から排除されることを示す。すなわち、ビッ
ト”1”がすぐ前の行の少なくとも1つのモジュールに
検知されたことである。この”1”はORゲート26の
入力の1つに提供され、排他出力Xijを構成するこのゲ
ートの出力に伝達される。つまり、それぞれのモジュー
ルの機能は、同一列のすぐ前のモジュールによって提供
される排他ビットを直接に伝達することである。
排他入力が”1”(Xi-1,j =1)であることは、その
列が分析から排除されることを示す。すなわち、ビッ
ト”1”がすぐ前の行の少なくとも1つのモジュールに
検知されたことである。この”1”はORゲート26の
入力の1つに提供され、排他出力Xijを構成するこのゲ
ートの出力に伝達される。つまり、それぞれのモジュー
ルの機能は、同一列のすぐ前のモジュールによって提供
される排他ビットを直接に伝達することである。
【0038】排他入力に”0”(Xi-1,j =0)が提供
されれば、このことは、考えているモジュールが属する
列が少なくとも他の列に含まれるワードより大きいワー
ドを備えているものとしてまだ識別されていないことを
意味する。フリップフロップ20のQの内容は、AND
ゲート25の一方の入力に現われ、このゲートの出力に
伝達され、ANDゲート25のもう一方に接続されるZ
i 線が”1”であるときのみ、同様に、ORゲート26
を介して、出力Xijに伝達される。このことは、フリッ
プフロップ20のQの内容が”1”であれば、排他ビッ
トを受信していない同一行のモジュールの他のすべての
フリップフロップが同様に”1”でなければ、考えてい
るモジュールの属する列が分析から除外されることが初
めて検出されることを意味する。
されれば、このことは、考えているモジュールが属する
列が少なくとも他の列に含まれるワードより大きいワー
ドを備えているものとしてまだ識別されていないことを
意味する。フリップフロップ20のQの内容は、AND
ゲート25の一方の入力に現われ、このゲートの出力に
伝達され、ANDゲート25のもう一方に接続されるZ
i 線が”1”であるときのみ、同様に、ORゲート26
を介して、出力Xijに伝達される。このことは、フリッ
プフロップ20のQの内容が”1”であれば、排他ビッ
トを受信していない同一行のモジュールの他のすべての
フリップフロップが同様に”1”でなければ、考えてい
るモジュールの属する列が分析から除外されることが初
めて検出されることを意味する。
【0039】Zi 線は、そのMOSトランジスタ23が
導通である、つまり、そのORゲート22が出力”0”
を有する同一行のいずれのモジュールによっても”1”
にせしめられる。このことは、考えているモジュールが
属する列が必然的に1つの最も小さいワードを含んでい
ることを意味する、排他入力およびフリップフロップ
が”0”の場合にのみ起こるのである。
導通である、つまり、そのORゲート22が出力”0”
を有する同一行のいずれのモジュールによっても”1”
にせしめられる。このことは、考えているモジュールが
属する列が必然的に1つの最も小さいワードを含んでい
ることを意味する、排他入力およびフリップフロップ
が”0”の場合にのみ起こるのである。
【0040】Zi 線は、同一行のモジュールのすべての
MOSトランジスタ23が遮断されている場合にのみ、
抵抗手段24によって”0”にせしめられる。このこと
は、行のモジュールのそれぞれの排他入力が”1”であ
るか、あるいはそのフリップフロップ20の内容が”
1”である場合に起きる。これは、その行の排除されて
いない列のすべてのモジュールがフリップフロップ20
に”1”を含むときに生じる。その場合、その列のモジ
ュールのANDゲート25のすべての出力は”0”であ
り、この”0”は、排除されていない列に含まれる行の
すべてのモジュールの排他出力に伝達される。
MOSトランジスタ23が遮断されている場合にのみ、
抵抗手段24によって”0”にせしめられる。このこと
は、行のモジュールのそれぞれの排他入力が”1”であ
るか、あるいはそのフリップフロップ20の内容が”
1”である場合に起きる。これは、その行の排除されて
いない列のすべてのモジュールがフリップフロップ20
に”1”を含むときに生じる。その場合、その列のモジ
ュールのANDゲート25のすべての出力は”0”であ
り、この”0”は、排除されていない列に含まれる行の
すべてのモジュールの排他出力に伝達される。
【0041】i行のそれぞれのモジュールの排他入力
が”1”であるかあるいはそのフリップフロップ20の
内容が”1”である場合にのみ、i行の線Zi は”0”
であることが分かっているので、次の表によって、i行
j列に位置するモジュールの排他出力Xijによって得ら
れる値を加算することができる。
が”1”であるかあるいはそのフリップフロップ20の
内容が”1”である場合にのみ、i行の線Zi は”0”
であることが分かっているので、次の表によって、i行
j列に位置するモジュールの排他出力Xijによって得ら
れる値を加算することができる。
【表6】 3つの列は、それぞれ、線Zi 、直前の行i−1で同一
の列jのモジュールの排他出力、そして、考えているモ
ジュールの排他出力Xij、とによって得られる値を示
す。記号”#”は、考えているモジュールのフリップフ
ロップ20の内容を示す、0、1、Q、のいずれかを表
す。
の列jのモジュールの排他出力、そして、考えているモ
ジュールの排他出力Xij、とによって得られる値を示
す。記号”#”は、考えているモジュールのフリップフ
ロップ20の内容を示す、0、1、Q、のいずれかを表
す。
【0042】これらの計算機能に加えて、モジュールの
それぞれは次の書き込みと読み出しの動作を実行する。
それぞれは次の書き込みと読み出しの動作を実行する。
【0043】フリップフロップ20のイネーブル入力に
接続される線Wjに現れる”1”は、フリップフロップ
のビット入力Dに接続される線INi にその時に現れる
ビットをフリップフロップに取り込む。3−状態ゲート
21の制御入力に接続される読み出し線Rj に現れる”
1”は、フリップフロップのQの内容を3−状態ゲート
21の出力に接続される線OUTi に送出する。
接続される線Wjに現れる”1”は、フリップフロップ
のビット入力Dに接続される線INi にその時に現れる
ビットをフリップフロップに取り込む。3−状態ゲート
21の制御入力に接続される読み出し線Rj に現れる”
1”は、フリップフロップのQの内容を3−状態ゲート
21の出力に接続される線OUTi に送出する。
【0044】これらの構造のために、上で説明したよう
に、すべてのモジュールは、継続して同時に動作して、
最も小さいワードを含む列を選択し、データ入力した後
にそして次のデータが入力する前の時点で、それらの排
他出力は振動しそして一定の値に安定することが分か
る。
に、すべてのモジュールは、継続して同時に動作して、
最も小さいワードを含む列を選択し、データ入力した後
にそして次のデータが入力する前の時点で、それらの排
他出力は振動しそして一定の値に安定することが分か
る。
【0045】いくつかの付加的な点が、特に、図2の選
択回路の一連の動作が以下で説明される。
択回路の一連の動作が以下で説明される。
【0046】図4は、タイムチャートを示し、CKはク
ロック信号を示し、INITは線W1 とアドレッシング
回路11の入力において適用されるイニシャライズ信号
を示し、VALはイネーブル線に適用されるイネーブリ
ング信号を示し、DinはデータDj のそれぞれが入力バ
スのINi 線に現れる時間を示し、Dout はデータDj
のそれぞれが回路の出力の出力バスのOUTi 線に現れ
る時間を示す。
ロック信号を示し、INITは線W1 とアドレッシング
回路11の入力において適用されるイニシャライズ信号
を示し、VALはイネーブル線に適用されるイネーブリ
ング信号を示し、DinはデータDj のそれぞれが入力バ
スのINi 線に現れる時間を示し、Dout はデータDj
のそれぞれが回路の出力の出力バスのOUTi 線に現れ
る時間を示す。
【0047】最初に、信号INITが”0”に、信号V
ALが”1”にセットされ、信号DinおよびDout はラ
ンダムな信号である。一連のデータの1番目のデータD
1 が入力するやいなや、INIT信号が1番目の列のモ
ジュールMDにデータD1 を書き込むことが許可される
とともにクロック間隔の間”1”にセットされ、1番目
の行のモジュールMIのフリップフロップに”1”がセ
ットされ、アドレッシング回路11がイニシャライズさ
れる。次のデータD2 の発生に対応する次のクロック信
号の立ち上がりで、アドレッシング回路11はクロック
間隔の間、線W2 に”1”を提供し、そのことによって
2番目の列のモジュールMDにデータD2 を書き込むこ
とを許可し、n個のデータまでモジュールMDi1〜MD
inのそれぞれに以降同様にして書き込まれる。1つのデ
ータが入力するやいなや、すべてのマトリックスモジュ
ールが最も小さいワードを含む列の計算を開始し、この
列の最後のモジュールの排他出力に”0”が現れる。
ALが”1”にセットされ、信号DinおよびDout はラ
ンダムな信号である。一連のデータの1番目のデータD
1 が入力するやいなや、INIT信号が1番目の列のモ
ジュールMDにデータD1 を書き込むことが許可される
とともにクロック間隔の間”1”にセットされ、1番目
の行のモジュールMIのフリップフロップに”1”がセ
ットされ、アドレッシング回路11がイニシャライズさ
れる。次のデータD2 の発生に対応する次のクロック信
号の立ち上がりで、アドレッシング回路11はクロック
間隔の間、線W2 に”1”を提供し、そのことによって
2番目の列のモジュールMDにデータD2 を書き込むこ
とを許可し、n個のデータまでモジュールMDi1〜MD
inのそれぞれに以降同様にして書き込まれる。1つのデ
ータが入力するやいなや、すべてのマトリックスモジュ
ールが最も小さいワードを含む列の計算を開始し、この
列の最後のモジュールの排他出力に”0”が現れる。
【0048】一方、(n−k)番目のデータが書き込ま
れるやいなや、n番目のデータが書き込まれるまでは信
号VALには”0”がセットされる。この時間間隔の
間、フリップフロップ10が動作状態にされ、つまり、
それらの出力Q* が信号VALによって”0”にせしめ
られず、それらはそれらの入力に現れるビットを計算に
取り込み、特に、クロックの次の立ち上がりで(次のデ
ータが入力するやいなや)、最も小さいワードを含む列
のフリップフロップ10は、それの出力Q* に”1”を
送出し対応するモジュールMSにセットする。
れるやいなや、n番目のデータが書き込まれるまでは信
号VALには”0”がセットされる。この時間間隔の
間、フリップフロップ10が動作状態にされ、つまり、
それらの出力Q* が信号VALによって”0”にせしめ
られず、それらはそれらの入力に現れるビットを計算に
取り込み、特に、クロックの次の立ち上がりで(次のデ
ータが入力するやいなや)、最も小さいワードを含む列
のフリップフロップ10は、それの出力Q* に”1”を
送出し対応するモジュールMSにセットする。
【0049】最後の列のモジュールMDに最後のデータ
が書き込まれるやいなや、アドレッシング回路11は、
モジュールMD31〜MD2+r1とMS1 に格納された1番
目のデータと選択ビットS1 のそれぞれをデータ出力バ
スに転送することを許可し、最後の列のモジュールMS
とMDが読み出されるまで以降同様に転送される。
が書き込まれるやいなや、アドレッシング回路11は、
モジュールMD31〜MD2+r1とMS1 に格納された1番
目のデータと選択ビットS1 のそれぞれをデータ出力バ
スに転送することを許可し、最後の列のモジュールMS
とMDが読み出されるまで以降同様に転送される。
【0050】図5は、上述した欠点を回避するために本
発明による回路の簡単な変更を示し、1番目のデータD
1 が指示される最後のデータである場合、このデータD
1 の指示ビットS1 は、指示ビットとデータD1 が読み
出されるのに、”1”にせしめられない。図5は、変更
されたモジュールMS21、最後のモジュールMPm1、お
よびモジュールMS21をセットするためのフリップフロ
ップ10、の回路を部分的に示す。
発明による回路の簡単な変更を示し、1番目のデータD
1 が指示される最後のデータである場合、このデータD
1 の指示ビットS1 は、指示ビットとデータD1 が読み
出されるのに、”1”にせしめられない。図5は、変更
されたモジュールMS21、最後のモジュールMPm1、お
よびモジュールMS21をセットするためのフリップフロ
ップ10、の回路を部分的に示す。
【0051】3−状態ゲート21とモジュールMS21の
フリップフロップ20の出力との間に、フリップフロッ
プ20の出力を一方の入力で受信し、もう一方の入力で
インバータ51を介してモジュールMPm1からの排他ビ
ットXm1を受信する、ORゲート50が挿入されてい
る。その動作は図1Hと図4を参照することによって良
く理解されるであろう。
フリップフロップ20の出力との間に、フリップフロッ
プ20の出力を一方の入力で受信し、もう一方の入力で
インバータ51を介してモジュールMPm1からの排他ビ
ットXm1を受信する、ORゲート50が挿入されてい
る。その動作は図1Hと図4を参照することによって良
く理解されるであろう。
【0052】最後のデータD8 が書き込まれるやいな
や、比較が開始され、そのすぐ後に、”0”に等しい排
他ビットXm1がモジュールMPm1の出力に現れてデータ
D1 がすでに指示されていることを示す。排他ビットX
m1がフリップフロップ10の反転出力Q* に転送される
とき、次のクロックの立ち上がりでのみ指示されている
フリップフロップ20に”1”をセットすることが発生
する。同時に、データD1 とモジュールMS21が読み込
まれる。書き込み線R1 がセットされ、ゲート21がO
Rゲート50の出力を線OUT2に送出する。この場
合、フリップフロップ20はまだ”1”ではないので、
ORゲート50の出力、つまり、線OUT2はビットX
m1が”0”のときセットされる。このようにして、線O
UT2 に現れる指示ビットS1 は、データD1 のビット
が他の線OUTにセットされた後の短い時間にセットさ
れるが、一般に、これらのビットは、クロックCKの次
の立ち下がりでそれらを使用する回路によって計算に取
り込まれるので、クロック間隔の半分より少ないこの遅
延はいかなる誤りの原因にもならない。
や、比較が開始され、そのすぐ後に、”0”に等しい排
他ビットXm1がモジュールMPm1の出力に現れてデータ
D1 がすでに指示されていることを示す。排他ビットX
m1がフリップフロップ10の反転出力Q* に転送される
とき、次のクロックの立ち上がりでのみ指示されている
フリップフロップ20に”1”をセットすることが発生
する。同時に、データD1 とモジュールMS21が読み込
まれる。書き込み線R1 がセットされ、ゲート21がO
Rゲート50の出力を線OUT2に送出する。この場
合、フリップフロップ20はまだ”1”ではないので、
ORゲート50の出力、つまり、線OUT2はビットX
m1が”0”のときセットされる。このようにして、線O
UT2 に現れる指示ビットS1 は、データD1 のビット
が他の線OUTにセットされた後の短い時間にセットさ
れるが、一般に、これらのビットは、クロックCKの次
の立ち下がりでそれらを使用する回路によって計算に取
り込まれるので、クロック間隔の半分より少ないこの遅
延はいかなる誤りの原因にもならない。
【0053】それらの対応する選択ビットSにおいて”
1”によって指示されるデータを除去するために、この
分野に精通した者によって簡単に実現することのできる
回路を図2に示す回路に替えることができるであろう。
1”によって指示されるデータを除去するために、この
分野に精通した者によって簡単に実現することのできる
回路を図2に示す回路に替えることができるであろう。
【0054】前の一連のデータのデータを読み出すと同
時に新しい一連のデータの1番目のデータを書き込むこ
とを開始することが可能である。
時に新しい一連のデータの1番目のデータを書き込むこ
とを開始することが可能である。
【0055】また、図2に関連して記述された本発明の
実施例の回路は、それぞれのモジュールがsystole を形
成するsystolic-array型の回路であることが分かるであ
ろう。この形態の回路は、その経路が単純化されている
ので簡単に集積化できる。
実施例の回路は、それぞれのモジュールがsystole を形
成するsystolic-array型の回路であることが分かるであ
ろう。この形態の回路は、その経路が単純化されている
ので簡単に集積化できる。
【0056】さらに、n列の最も小さいものの選択期間
は、 TZ +(m−1)TM に比例することを証明することができ、ここで、TZ は
線Zに1ビットをセットする時間を示し、mは列のモジ
ュールの数を示し、TM はモジュールを計算するのに必
要な時間を示す。この期間は特に短い。
は、 TZ +(m−1)TM に比例することを証明することができ、ここで、TZ は
線Zに1ビットをセットする時間を示し、mは列のモジ
ュールの数を示し、TM はモジュールを計算するのに必
要な時間を示す。この期間は特に短い。
【0057】本発明は画像処理の一部として記述した
が、1組のデータからk個のより大きいあるいはより小
さいデータを選択することが望まれるいかなる場合にも
適用することができる。
が、1組のデータからk個のより大きいあるいはより小
さいデータを選択することが望まれるいかなる場合にも
適用することができる。
【0058】図3に示す論理回路は例として提示された
ものである。もちろん、種々の論理回路によって同一の
機能を得ることが可能である。これらの回路の機能はメ
モリーとともに十分にプログラムされたマイクロプロセ
ッサによって達成することができる。
ものである。もちろん、種々の論理回路によって同一の
機能を得ることが可能である。これらの回路の機能はメ
モリーとともに十分にプログラムされたマイクロプロセ
ッサによって達成することができる。
【0059】優先モジュールMPは一定の内容を有する
ものとして記述されたが、種々の優先順位を得るため
に、他のモジュールの内容のように変更することもでき
る。
ものとして記述されたが、種々の優先順位を得るため
に、他のモジュールの内容のように変更することもでき
る。
【0060】
【発明の効果】本発明によれば、k個のより大きなデー
タの選択は、データ列の最後のデータが到着するやいな
や達成される。つまり、従来技術での複雑な回路による
処理速度の遅い欠点を除去することができる。
タの選択は、データ列の最後のデータが到着するやいな
や達成される。つまり、従来技術での複雑な回路による
処理速度の遅い欠点を除去することができる。
【0061】
【図1A】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1B】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1C】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1D】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1E】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1F】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1G】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1H】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1I】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1J】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1K】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1L】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1M】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1N】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1O】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図1P】実際の場合での本発明による方法の連続する
段階の1つを示す。
段階の1つを示す。
【図2】本発明による選択回路の実施例の簡単化された
モジュールを示す。
モジュールを示す。
【図3】図2の1つのモジュールの電気的な概略図であ
る。
る。
【図4】図2および図3の回路の動作サイクルのタイム
チャートを示す。
チャートを示す。
【図5】欠点を取り除くための図2の回路の1つのモジ
ュールの改良を示す。
ュールの改良を示す。
10,20 フリップフロップ 11 アドレッシング回路 21 3−状態ゲート 22,26,50 ORゲート 23 トランジスタ 25 ANDゲート
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/24 G06T 1/00 H04N 7/30
Claims (7)
- 【請求項1】 2進論理信号の形態で連続して入力する
n個のデータ列からk個のより大きなデータをソートす
る方法であって、 a)重みが減少する順に、 第1の禁止ビット(Ij )と、 第2の選択ビット(Sj )と、 第3のデータビット(Dj )と、 入力するデータの順位を表現する数値に対応する第4の
ビット(P)と、を備えた1ワードを受信するようにそ
れぞれが適合されたn個のメモリーの1つにそれぞれの
データを連続的に書き込む段階と、 b)データ列の1番目の信号が発生したときにn個のワ
ードの第1のビット(Ij )をセットする段階と、 c)それぞれのデータ(Dj )を書き込むのと同時に、
対応するワードの第1のビット(Ij )と第2のビット
(Sj )をリセットする段階と、 d)(n−k)番目のデータとn番目のデータに対応す
る信号の到着の間で、メモリーに格納された最も小さい
ワードを検出し、そのワードの第2のビット(Sj )を
セットする段階と、 e)n番目のデータに対応する信号が到着するやいな
や、格納されたデータを連続して読み出し、ワードがそ
の第2のビット(Sj )に”1”を有するデータをワー
ドの第2のビット(Sj )がリセットされているデータ
と異なって処理する段階と、 を備えたことを特徴とする、n個のデータ列からk個の
より大きなデータをソートする方法。 - 【請求項2】 前記段階e)の間に、前記段階a)の間
でデータが書き込まれた順にデータを読み出す、請求項
1に記載のn個のデータ列からk個のより大きなデータ
をソートする方法。 - 【請求項3】 2進論理信号として入力バスに連続して
到着するn個のデータ列からk個のより大きなデータを
ソートする回路であって、 − n列m行のメモリー単位のマトリックス(20)で
あって、それぞれの列が1つのデータに対応するワード
に割り当てられ、増加する行番号の順に、そして減少す
るビットの重みの順に、 ・イニシャライズ信号(INIT)によってセットされ
入力するデータによってリセットされる第1の禁止メモ
リー単位(MI)と、 ・入力データによってリセットされ、出力バス回線に接
続される第2の選択メモリー単位(MS)と、 ・データを受信し格納する、データ入力バスおよびデー
タ出力バスの回線に接続される第3のメモリー単位(M
D)と、 ・入力するデータの順位を表現する数値を含む第4のメ
モリー単位(MP)と、を備えた前記n列m行のメモリ
ー単位のマトリックス(20)と、 − データの入力速度によってそれぞれの列をアドレス
し、そこに入力バスの回線に現れるデータを格納する第
1の回路と、 − 最も小さいワードを検出し次のデータが到着するや
いなやそのワードの第2のメモリー単位をセットする、
(n−k)番目のデータの到着とn番目のデータの到着
の間のみ動作状態である第2の回路と、 − データ速度によってそれぞれの列をアドレスし、n
番目のデータが書き込まれるやいなや、第2および第3
のメモリー単位に含まれるビットをデータ出力バスの回
線に書き込む、第3の回路と、 を備えたことを特徴とするn個のデータ列からk個のよ
り大きなデータをソートする回路。 - 【請求項4】 前記第2の回路がモジュールを備え、モ
ジュールのそれぞれがメモリー単位に関連し、そして、 − 関連するメモリー単位のQ出力との接続と、 − 現時点の行iが最後の行(m)であれば、現時点の
列jの第2のメモリー単位のセット入力に接続される排
他出力Xijと、 − 中間出力と、 − 現時点の列jと直前の行i−1のモジュールの排他
出力Xi-1,jに、あるいは、現時点の行が1番目の場合
は”0”に、接続される排他入力と、 − 現時点の行jのすべてのモジュールに共有され前記
モジュールの中間出力を入力で受信する、検出論理手段
(23、24)の出力Zi に接続される検出入力と、 を備え、前記出力Xijが次の表に基づいて加算される値
を持ち、 【表1】 ここで、記号”#”は”0”あるいは”1”のいずれか
であることを示し、出力Xi-1,j そして(または)出力
Qが”1”の場合に中間出力が”1”の値を持つ、請求
項3に記載の回路。 - 【請求項5】 現時点の行jのモジュールのすべての中
間出力に”1”がセットされるときのみ、前記検出論理
手段がその出力Zi に値”0”を提供する、請求項4に
記載の回路。 - 【請求項6】 それぞれの列をアドレスする回路がシフ
トレジスタによって構成される、請求項3に記載の回
路。 - 【請求項7】 第2のメモリー単位が、(n−k)番目
のデータの到着とn番目のデータの到着の間の動作イネ
ーブル信号によって、セットされることが許可される、
請求項3に記載の回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9102301 | 1991-02-21 | ||
FR9102301A FR2673301B1 (fr) | 1991-02-21 | 1991-02-21 | Circuit et procede de selection des k plus grandes donnees d'une suite de donnees. |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05150945A JPH05150945A (ja) | 1993-06-18 |
JP3218669B2 true JP3218669B2 (ja) | 2001-10-15 |
Family
ID=9410121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06997492A Expired - Fee Related JP3218669B2 (ja) | 1991-02-21 | 1992-02-21 | データ列からk個のより大きいデータを選択する回路と方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5421010A (ja) |
EP (1) | EP0500481B1 (ja) |
JP (1) | JP3218669B2 (ja) |
DE (1) | DE69225260T2 (ja) |
FR (1) | FR2673301B1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446101B1 (en) | 1998-09-01 | 2002-09-03 | Siemens Aktiengesellschaft | Apparatus for fast determination of a prescribable number of highest value signals |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55116101A (en) * | 1979-03-01 | 1980-09-06 | Nissan Motor Co Ltd | Signal processor |
FR2607641B1 (fr) * | 1986-12-02 | 1989-02-10 | Efcis | Filtre numerique de rang k et procede de filtrage correspondant |
JPH0310486A (ja) * | 1989-06-07 | 1991-01-18 | Matsushita Electric Ind Co Ltd | 動画像符号化装置 |
-
1991
- 1991-02-21 FR FR9102301A patent/FR2673301B1/fr not_active Expired - Fee Related
-
1992
- 1992-02-19 DE DE69225260T patent/DE69225260T2/de not_active Expired - Fee Related
- 1992-02-19 EP EP92420054A patent/EP0500481B1/fr not_active Expired - Lifetime
- 1992-02-21 JP JP06997492A patent/JP3218669B2/ja not_active Expired - Fee Related
-
1994
- 1994-06-28 US US08/267,293 patent/US5421010A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0500481B1 (fr) | 1998-04-29 |
FR2673301B1 (fr) | 1994-02-18 |
EP0500481A1 (fr) | 1992-08-26 |
DE69225260D1 (de) | 1998-06-04 |
US5421010A (en) | 1995-05-30 |
FR2673301A1 (fr) | 1992-08-28 |
DE69225260T2 (de) | 1998-11-19 |
JPH05150945A (ja) | 1993-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19900365A1 (de) | Hochgeschwindigkeits-Halbleiterspeichervorrichtung, die eine Datensequenz für eine Burst-Übertragung ändern kann | |
GB2232280A (en) | Evaluation of an extremum of binary encoded words | |
EP0279160A2 (en) | High speed serial pixel neighborhood processor and method | |
US4768159A (en) | Squared-radix discrete Fourier transform | |
US6493794B1 (en) | Large scale FIFO circuit | |
JP3218669B2 (ja) | データ列からk個のより大きいデータを選択する回路と方法 | |
US4799154A (en) | Array processor apparatus | |
US4829585A (en) | Electronic image processing circuit | |
US4809343A (en) | Maximum/minimum value conversion circuit for image processing | |
US4769778A (en) | Circuit arrangement comprising a matrix-shaped memory arrangement for digital filtration of image signals in row and column directions | |
US4453227A (en) | Method and apparatus for transferring a bit pattern field into a memory | |
JPS603714B2 (ja) | 可変長シフトレジスタ | |
US5394364A (en) | High-speed memory readout circuit using a single set of data buffers | |
US20040122783A1 (en) | String search neuron for artificial neural networks | |
SU1179316A1 (ru) | Устройство дл выделени экстремального из @ @ -разр дных чисел | |
SU1277093A1 (ru) | Устройство дл определени наименьшего из @ чисел | |
SU545982A1 (ru) | Устройство дл классификации двоичных чисел | |
SU1104578A1 (ru) | Устройство дл формировани символов | |
JP2861435B2 (ja) | パイプライン形演算装置 | |
SU928416A1 (ru) | Ассоциативное запоминающее устройство | |
US20080079483A1 (en) | Circuit and device for processing digital data | |
SU1441383A1 (ru) | Устройство дл выделени экстремального числа | |
SU1674145A1 (ru) | Устройство дл обработки нечеткой информации | |
SU911506A1 (ru) | Устройство дл упор дочени данных | |
JPS58169681A (ja) | 画像処理回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010710 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |