(57)【特許請求の範囲】
【請求項１】
並び順をもつｍ個の入力データを、並びの先頭からｎ（ｎ＜ｍ）個づつのグループに分割し、
ｍ個の入力データの並びの先頭のグループから順に、グループ毎に通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを当該グループ内の入力データの並びの順を保持して、当該グループ内の並びの先頭側に詰めて出力する前段処理と、
前記通過データの並びの順を保持して、各グループの並びの順で、出力データの並びの先頭側に詰めて出力する後段処理を有し、
前記出力データのうちの前記各グループの通過データを各グループの間引き処理毎に保持することを特徴とする間引き処理方法。
【請求項２】
並び順をもつｍ個の入力データを、並びの先頭からｎ（ｎ＜ｍ）個づつのグループに分割し、
ｍ個の入力データの並びの先頭のグループから順に、グループ毎に通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを当該グループ内の入力データの並びの順を反転して、当該グループ内の並びの末尾側に詰めて出力する前段処理と、
前記通過データの並びの順を反転して、各グループの並びの順で、出力データの並びの先頭側に詰めて出力する後段処理を有し、
前記出力データのうちの前記各グループの通過データを各グループの間引き処理毎に保持することを特徴とする間引き処理方法。
【請求項３】
並び順をもつｍ個の入力データを、並びの先頭からｎ（ｎ＜ｍ）個づつのグループに分割し、
ｍ個の入力データの並びの先頭のグループから順に、グループ毎に通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを当該グループ内の入力データの並びの順を保持して、当該グループ内の並びの先頭側に詰めて出力する前段処理と、
前記通過データの並びの順を反転して、各グループの並びの順で、出力データの並びの末尾側に詰めて出力する後段処理を有し、
前記出力データのうちの前記各グループの通過データを各グループの間引き処理毎に保持することを特徴とする間引き処理方法。
【請求項４】
並び順をもつｍ個の入力データを、並びの先頭からｎ（ｎ＜ｍ）個づつのグループに分割し、
ｍ個の入力データの並びの先頭のグループから順に、グループ毎に通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを当該グループ内の入力データの並びの順を反転して、当該グループ内の並びの末尾側に詰めて出力する前段処理と、
前記通過データの並びの順を保持して、各グループの並びの順で、出力データの並びの末尾側に詰めて出力する後段処理を有し、
前記出力データのうちの前記各グループの通過データを各グループの間引き処理毎に保持することを特徴とする間引き処理方法。
【請求項５】
並び順をもつｎ個の入力データに対して通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを入力データの並びの順を保持して並びの先頭側に詰めて出力する動作を、ｍ（ｍ＞ｎ）個の入力データの並びの先頭からｎ個づつ分割した各グループ毎に先頭のグループから順に行う小型間引き処理回路と、
該小型間引き処理回路から各グループの通過データが出力する毎に、該通過データの並びの順を保持して、出力データの並びの先頭側に詰めて出力する追加処理回路と、
前記追加処理回路の出力データを個々に保持する複数のデータ保持部を有するデータ保持回路とを備え、
前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されるようにしたことを特徴とする間引き処理回路。
【請求項６】
並び順をもつｎ個の入力データに対して通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを入力データの並びの順を反転して並びの末尾側に詰めて出力する動作を、ｍ（ｍ＞ｎ）個の入力データの並びの先頭からｎ個づつ分割した各グループ毎に先頭のグループから順に行う小型間引き処理回路と、
該小型間引き処理回路から各グループの通過データが出力する毎に、該通過データの並びの順を反転して、出力データの並びの先頭側にて詰めて出力する追加処理回路と、
前記追加処理回路の出力データを個々に保持する複数のデータ保持部を有するデータ保持回路とを備え、
前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されるようにしたことを特徴とする間引き処理回路。
【請求項７】
並び順をもつｎ個の入力データに対して通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを入力データの並びの順を保持して並びの先頭側に詰めて出力する動作を、ｍ（ｍ＞ｎ）個の入力データの並びの先頭からｎ個づつに分割した各グループ毎に先頭のグループから順に行う小型間引き処理回路と、
該小型間引き処理回路から各グループの通過データが出力する毎に、該通過データの並びの順を反転して、出力データの並びの末尾側に詰めて出力する追加処理回路と、
前記追加処理回路の出力データを個々に保持する複数のデータ保持部を有するデータ保持回路とを備え、
前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されるようにしたことを特徴とする間引き処理回路。
【請求項８】
並び順をもつｎ個の入力データに対して通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを入力データの並びの順を反転して並びの末尾側に詰めて出力する動作を、ｍ（ｍ＞ｎ）個の入力データの並びの先頭からｎ個づつに分割した各グループ毎に先頭のグループから順に行う小型間引き処理回路と、
該小型間引き処理回路から各グループの通過データが出力する毎に、該通過データの並びの順を保持して、出力データの並びの末尾側に詰めて出力する追加処理回路と、
前記追加処理回路の出力データを個々に保持する複数のデータ保持部を有するデータ保持回路とを備え、
前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されるようにしたことを特徴とする間引き処理回路。
【請求項９】
請求項１乃至４のいずれか１つに記載の間引き処理方法において、
前記後段処理における、各グループの並びの順で前記通過データを詰める処理を、該詰める処理が末尾の出力データまで達すると、再度、先頭の出力データから各グループの並びの順で前記通過データを詰めることを繰り返す処理に置き換え、
該繰り返し毎に個々にアドレスを更新して記憶手段に格納することを特徴とする間引き処理方法。
【請求項１０】
請求項５乃至８のいずれか１つに記載の間引き処理回路において、
前記追加処理回路における、前記通過データを詰めて出力する処理を、各グループの並びの順で前記通過データを詰める処理が末尾の出力データまで達すると、再度、先頭の出力データから各グループの並びの順で前記通過データを詰めることを繰り返す処理に置き換え、
前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されると共にアドレスの更新が行われるようにしたことを特徴とする間引き処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル信号処理装置において、並び順を持つ複数のデータを入力して、その一部のデータを間引き、残った通過データを並びの順の前又は後に後ろに詰める処理、およびそれらのデータを格納する処理を行う方法および回路に関する。
【背景技術】
【０００２】
＜従来例１＞
図２２に、従来例１の間引き処理回路１５０（例えば、特許文献１参照）を示す。この間引き処理回路１５０は、２入力のセレクタ１５１を複数個備える。入力データの数がｎ個（ｎ≧２）の場合、そのセレクタ１５１の個数ｐは、
ｐ＝ｎ×（ｎ＋１）／２
となる。
【０００３】
図２２はｎ＝４の場合を示し、ｐ＝１０である。４個の入力データＤＩＮ[３：０]が入力すると、通過／間引きの区別を示す通過指示信号ＥＮ［３：０］の内容に対応して、その入力データＤＩＮ[３：０]の一部又は全部の間引き処理が行なわれ、出力データＤＯＵＴ[３：０]として出力する。
【０００４】
例えば、通過指示信号が、
ＥＮ[０]＝０
ＥＮ[１]＝１
ＥＮ[２]＝０
ＥＮ[３]＝１
のとき（以下では、ＥＮ［３：０］＝｛０，１，０，１｝と表記する。）は、ＥＮ＝０が入力するセレクタ１５１は０を、ＥＮ＝１が入力するセレクタ１５１は１を選択する。中括弧の中の数字は、左側がＬＳＢ、右側がＭＳＢである。
【０００５】
よって、出力データは、
ＤＯＵＴ［０］＝ＤＩＮ［１］
ＤＯＵＴ［１］＝ＤＩＮ［３］
ＤＯＵＴ［２］＝０（無効）
ＤＯＵＴ［３］＝０（無効）
となり、入力データＤＩＮ［０］，ＤＩＮ［２］が間引かれ、残りの入力データＤＩＮ［１］，ＤＩＮ［３］が、その並びの順を保持して先頭の出力データＤＯＵＴ［０］の側に詰められて出力する。
【０００６】
この間引き処理回路１５０では、入力データの数ｎが増加すれば、規則に沿って回路を拡張すればよい。また、例えば各入力データＤＩＮ[３：０]のビット幅がそれぞれｂビットの場合は、同一構成が図２２の紙面に垂直方向にｂ段の縦積みで構成され、通過指示信ＥＮ[３：０]が同一ビットに共通に入力する。この場合、データが通過するゲート段数は入力データの数ｎに依存し、ゲート数はビット幅ｂに依存する。
【０００７】
＜従来例２＞
図２３に従来例２の間引き処理回路１０Ａを示す。この間引き処理回路２０Ａは、スイッチ部２０とスイッチ制御部３０を備える。スイッチ部２０は、入力データＤＩＮ[ｎ−１：０]が入力するｎ本の入力データ線２１と、出力データＤＯＵＴ[ｎ−１：０]が出力するｎ本の出力データ線２２と、スイッチ制御部３０から入力するｎ×ｎ本の制御線２３を有し、内部には、図２４に示すように、各入力データ線２１と各出力データ線２２との交差点に２次元配置したｎ×ｎ個のクロスポイントスイッチ２４を備える。このクロスポイントスイッチ２４としては、図２５に示すように、スリーステートバッファ回路が使用される。スイッチ制御部３０は、ｎ個の通過指示信号ＥＮ[ｎ−１：０]を入力して、スイッチ部２０の各クロスポイントスイッチ２４の導通／遮断を個々に制御するｎ×ｎ個のスイッチ制御信号ＳＷ[ｎ−１：０][ｎ−１：０]を生成する。このスイッチ制御部３０としては、ビットカウント回路あるいはポピュレーションカウント回路等が使用される。
【０００８】
図２３ではｎ個の入力データＤＩＮ[ｎ−１：０]がそれぞれ１ビットの場合を示したが、それぞれのビット幅ｂの場合は、スイッチ部２０がｂ個（例えば、紙面に垂直方向にｂ段）設けられる。そして、ｂ個のスイッチ部２０に対して、スイッチ制御部３０からは共通のｎ×ｎ個のスイッチ制御信号ＳＷ[ｎ−１：０][ｎ−１：０]が入力する。複雑化をさけるため、以下では、ｎ個の入力データＤＩＮ[ｎ−１：０]がそれぞれ１ビットの場合について説明する。
【０００９】
従来例２では、通過指示信号ＥＮ[ｉ]＝０のとき入力データＤＩＮ[ｉ]が間引かれ、通過指示信号ＥＮ[ｉ]＝１のとき入力データＤＩＮ[ｉ]が通過する（ｉ＝０，１，・・・，ｎ−１）。そして、この通過する入力データＤＩＮは、入力データＤＩＮの並び順を保持したまま、出力データＤＯＵＴの先頭側（左側）に詰められて出力する。
【００１０】
クロスポイントスイッチ２４のうちのｉ行ｊ列のスイッチ２４ｉｊ（図２４）は、スイッチ制御信号ＳＷ[ｉ][ｊ]＝１のときに導通、ＳＷ[ｉ][ｊ]＝０のときに遮断となる。なお、同一の入力データ線２１に接続されるｎ個のクロスポイントスイッチ２４は、全部が遮断又は１つのみ導通となる。
【００１１】
このスイッチ部２０に入力されるスイッチ制御信号ＳＷ[ｎ−１：０][ｎ−１：０]の各行は、ｎビットのビットフラグである。ここで「ビットフラグ」とは、ｎビットの２値のビット列であり、ビット列中の１の位置（１は１つのビットフラグ中に多くとも１個しか存在しない）を値として示すものである。
【００１２】
従来例２では、スイッチ制御信号ＳＷ[ｎ−１：０][ｎ−１：０]の第ｉ行（ＳＷ[ｉ][ｎ−１：０]）のビットフラグは、通過指示信号ＥＮの第ｉビット（ＥＮ[ｉ]）が１のときに、先頭の第０ビットから第ｉビット（ＥＮ[０]〜ＥＮ[ｉ]）までの１の加算結果を表わす。そして、第ｉ行（ＳＷ[ｉ][ｎ−１：０]）のビットフラグの先頭の第０ビットが１のときは、その１は、通過指示信号ＥＮの第ｉビットが先頭から１個目の１であることを表わし、２番目の第１ビットが１のときは、当該第ｉビットが先頭から２個目の１であることを表わし、値の昇順に、末尾の第（ｎ−１）ビットが１のときは、当該第ｉビットが先頭からｎ個目の１であることを表わし、第ｉ行のビットフラグの第ｊビットをスイッチ制御信号のｉ行ｊ列とする。
【００１３】
すなわち、スイッチ制御信号ＳＷ[ｉ][ｊ]＝１のときは、通過指示信号ＥＮ[ｉ]＝１のときであって、その１は、通過指示信号ＥＮの先頭の第０ビット（ＥＮ[０]）から数えて（ｊ＋１）番目の１であることを意味する。通過指示信号ＥＮ[ｉ]＝０の場合は、スイッチ制御信号ＳＷの第ｉ行（ＳＷ[ｉ][ｎ−１：０]）のビットフラグは全て０になる。
【００１４】
これにより、第ｉビットの通過指示信号ＥＮ[ｉ]＝０のときは、入力データＤＩＮ[ｉ]を間引く。また、前記通過指示信号ＥＮ[ｉ]＝１のときは、当該通過指示信号ＥＮ[ｉ]が先頭の通過指示信号ＥＮ[０]から１個目の１である場合は入力データＤＩＮ[ｉ]を出力データＤＯＵＴ[０]として出力し、通過データとする。２個目の１である場合は出力データＤＯＵＴ[１]として出力し、・・・・、ｊ個目の１である場合は出力データＤＯＵＴ[ｊ]として出力し、それぞれ通過データとする。
【００１５】
図２６にｎ＝４の場合の間引き処理回路を示す。通過指示信号は前記と同様に、ＥＮ［３：０］＝｛０，１，０，１｝である。
【００１６】
このときは、通過指示信号ＥＮ[０]＝０であるので、スイッチ制御信号ＳＷ[３：０][３：０]の行番号０（ＳＷ[０][３：０]）のビットフラグは｛０，０，０，０｝となる。また、ＥＮ[１]＝１であり、これは通過指示信号ＥＮの先頭から１個目の１であるので、スイッチ制御信号ＳＷ[３：０][３：０]の行番号１（ＳＷ[１][３：０]）のビットフラグは｛１，０，０，０｝となる。また、ＥＮ[２]＝０であるので、スイッチ制御信号ＳＷ[３：０][３：０]の行番号２（ＳＷ[２][３：０]）のビットフラグは｛０，０，０，０｝となる。また、ＥＮ[３]＝１であり、これは通過指示信号ＥＮの先頭から２個目の１であるので、スイッチ制御信号ＳＷ[３：０][３：０]の行番号３（ＳＷ[３][３：０]）のビットフラグは｛０，１，０，０｝となる。
【００１７】
よって、スイッチ制御信号ＳＷ[１][０]＝１となり、スイッチ部２０のクロスポイントスイッチ２４10が導通する。また、スイッチ制御信号ＳＷ[３][１]＝１となり、スイッチ部２０のクロスポイントスイッチ２４31が導通する。なお、他のクロスポイントスイッチは全て遮断する。このようにして、図２６の●印のクロスポイントスイッチ２４10、２４31のみが導通するので、出力データは、
ＤＯＵＴ［０］＝ＤＩＮ［１］
ＤＯＵＴ［１］＝ＤＩＮ［３］
ＤＯＵＴ［２］＝無効
ＤＯＵＴ［３］＝無効
となる。実際の回路では、スイッチ制御信号ＳＷ[ｎ−１：０][ｉ]がすべて０の場合はＤＯＵＴ[ｉ]の出力が不定となってしまうので、ＳＷ[ｎ−１：０][ｉ]のいずれかのビットを１にして何らかの値をＤＯＵＴ[ｉ]として出力する必要がある。例えば、スイッチ制御部３０の出口において、ＳＷ[ｎ−１：０][ｉ]＝｛０，０，０，・・・，０｝の場合にＳＷ[０][ｉ]を０から１に置き換えれば、
ＤＯＵＴ[ｉ]＝ＤＩＮ[０]
が無効値として出力される。
【００１８】
このように、ここでは、値が０の通過指示信号ＥＮ[０]、ＥＮ[２]に対応する入力データＤＩＮ[０]、ＤＩＮ[２]が間引かれ、値が１の通過指示信号ＥＮ[１]、ＥＮ[３]に対応する入力データＤＩＮ[１]、ＤＩＮ[３]が通過データとなり、並び順をそのままにし出力データの先頭側に詰めて、出力データＤＯＵＴ[０]、ＤＯＵＴ[１]として出力する。つまり、通過指示信号ＥＮにより通過指示された入力データのみを、データ入力端子の並びの順を保持したままで、データ出力端子の先頭側に詰めて出力する。
【００１９】
＜従来例３＞
従来例３は、図２３の構成において、スイッチ制御信号ＳＷ[ｎ−１：０][ｎ−１：０]の第ｉ行（ＳＷ[ｉ][ｎ−１：０]）の生成手法を変更したものである。ここでは、ビットフラグは、通過指示信号ＥＮの第ｉビット（ＥＮ[ｉ]）が１のときに、先頭の第０ビットから第ｉビット（ＥＮ[０]〜ＥＮ[ｉ]）までの加算結果を表わす点は従来例２と同じであるが、第ｉ行（ＳＷ[ｉ][ｎ−１：０]）のビットフラグの末尾の第ｎ−１ビットが１のときは、その１は、通過指示信号ＥＮの第ｉビットが先頭から１個目の１であることを表わし、末尾から２番目の第ｎ−２ビットが１のときは、通過指示信号ＥＮの第ｉビットが先頭から２個目の１であることを表わし、値の降順に、先頭の第０ビットが１のときは、通過指示信号ＥＮの第ｉビットが先頭からｎ個目の１であることを表わし、第ｉ行のビットフラグの第ｊビットをスイッチ制御信号のｉ行ｊ列とする。
【００２０】
すなわち、スイッチ制御信号ＳＷ[ｉ][ｊ]＝１のときは、通過指示信号ＥＮ[ｉ]＝１のときであって、その１は、通過指示信号ＥＮの末尾の第ｎ−１ビット（ＥＮ[ｎ−１]）から数えて（ｎ−ｊ）番目の１であることを意味する。通過指示信号ＥＮ[ｉ]＝０の場合は、スイッチ制御信号ＳＷの第ｉ行（ＳＷ[ｉ][ｎ−１：０]）のビットフラグは全て０になる。
【００２１】
これにより、第ｉビットの通過指示信号ＥＮ[ｉ]＝０のときは、入力データＤＩＮ[ｉ]を間引く。また、前記通過指示信号ＥＮ[ｉ]＝１のときは、当該通過指示信号ＥＮ[ｉ]が先頭の通過指示信号ＥＮ[０]から１個目の１である場合は入力データＤＩＮ[ｉ]を出力データＤＯＵＴ[ｎ−１]として出力し、通過データとする。２個目の１である場合は出力データＤＯＵＴ[ｎ−２]として出力し、・・・・、ｎ−ｊ個目の１である場合は出力データＤＯＵＴ[ｎ−ｊ]として出力し、それぞれ通過データとする。
【００２２】
図２７に従来例３のｎ＝４の場合の間引き処理回路１０Ａを示す。通過指示信号は、従来例２と同じで、ＥＮ［３：０］＝｛０，１，０，１｝である。
【００２３】
このときは、通過指示信号ＥＮ[０]＝０であるので、スイッチ制御信号ＳＷ[３：０][３：０]の行番号０（ＳＷ[０][３：０]）のビットフラグは｛０，０，０，０｝となる。また、ＥＮ[１]＝１であり、これは通過指示信号ＥＮの先頭から１個目の１であるので、スイッチ制御信号ＳＷ[３：０][３：０]の行番号１（ＳＷ[１][３：０]）のビットフラグは｛０，０，０，１｝となる。また、ＥＮ[２]＝０であるので、スイッチ制御信号ＳＷ[３：０][３：０]の行番号２（ＳＷ[２][３：０]）のビットフラグは｛０，０，０，０｝となる。また、ＥＮ[３]＝１であり、これは通過指示信号ＥＮの先頭から２個目の１であるので、スイッチ制御信号ＳＷ[３：０][３：０]の行番号３（ＳＷ[３][３：０]）のビットフラグは｛０，０，１，０｝となる。
【００２４】
よって、スイッチ制御信号ＳＷ[１][３]＝１となり、スイッチ部２０のクロスポイントスイッチ２４13が導通する。また、スイッチ制御信号ＳＷ[３][２]＝１となり、スイッチ部２０のクロスポイントスイッチ２４32が導通する。なお、他のクロスポイントスイッチは全て遮断する。このようにして、●印のクロスポイントスイッチ２４13、２４32のみが導通するので、出力データは、
ＤＯＵＴ［０］＝無効
ＤＯＵＴ［１］＝無効
ＤＯＵＴ［２］＝ＤＩＮ[３]
ＤＯＵＴ［３］＝ＤＩＮ[１]
となる。
【００２５】
このように、従来例３では、値が０の通過指示信号ＥＮ[０]、ＥＮ[２]に対応する入力データＤＩＮ[０]、ＤＩＮ[２]が間引かれ、値が１の通過指示信号ＥＮ[１]、ＥＮ[３]に対応する入力データＤＩＮ[１]、ＤＩＮ[３]が通過し、並び順を反転し出力データの末尾側に詰めて出力データＤＯＵＴ[３]、ＤＯＵＴ[２]として出力する。つまり、通過指示信号ＥＮにより通過指示されたデータのみを、データ入力端子の並びの順を反転して、データ出力端子の末尾側に詰めて出力する。
【特許文献１】特開２００２−１７１４０１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、従来例１の間引き処理回路１５０では、各入力データのビット幅ｂが増加すると、ビット幅ｂと同数の間引き処理回路が必要になるので、セレクタ１５１が（ｂ×ｎ×（ｎ＋１）／２）個必要となり、総ゲート数が大きくなるという問題があった。また、並列入力データの並びの位置によって、データが通過するセレクタの個数が異なるので、各データの相互間に、入力から出力までに要する通過時間（遅延時間）に差が生じるという問題があった。さらに、入力データ数ｎの非常に数が大きい場合、総ゲート数が急激に増大するという問題があった。
【００２７】
一方、従来例２，３の間引き処理回路１０Ａでは、各入力データＤＩＮのビット幅をｂとすると、スイッチ部２０のｎ×ｎ個のクロスポイントスイッチ２４はｂ段構成されることになるので、クロスポイントスイッチ２４が合計で（ｎ×ｎ×ｂ）個必要となるが、各段のクロスポイントスイッチ２４の導通／遮断の制御は、１個のスイッチ制御部３０から出力するスイッチ制御信号ＳＷによって、通過指示信号ＥＮに対応して、共通に行われる、つまり、スイッチ部２０からスイッチ制御部３０を分離できるので、スイッチ制御部３０はビット幅ｂの増加の影響を受けず、回路規模への影響を抑制できる。また、入力データはそれが通過するとき、１個のクロスポイントスイッチのみで出力先を切り換えられるので、データの通過時間（遅延時間）に差を生じることなく、間引きされなかった全ての入力データが同じタイミングで出力される。
【００２８】
しかし、この従来例２，３でも、入力データ数ｎの非常に数が大きい場合、総ゲート数が急激に増大するという問題があった。
【００２９】
本発明の目的は、入力データのビット幅ｂが拡張しても総ゲート数への影響が少なく、また、データの遅延時間に差が生ぜず、さらに、入力データの数ｎが非常に大きい場合であってもゲート数増大を抑制できるようにして間引き処理方法および間引き回路を提供することである。
【課題を解決するための手段】
【００３０】
上記目的を達成するために、請求項１にかかる発明は、並び順をもつｍ個の入力データを、並びの先頭からｎ（ｎ＜ｍ）個づつのグループに分割し、ｍ個の入力データの並びの先頭のグループから順に、グループ毎に通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを当該グループ内の入力データの並びの順を保持して、当該グループ内の並びの先頭側に詰めて出力する前段処理と、前記通過データの並びの順を保持して、各グループの並びの順で、出力データの並びの先頭側に詰めて出力する後段処理を有し、前記出力データのうちの前記各グループの通過データを各グループの間引き処理毎に保持することを特徴とする間引き処理方法とした。この具体例については、図１〜図４において、実施例１で説明した。
請求項２にかかる発明は、並び順をもつｍ個の入力データを、並びの先頭からｎ（ｎ＜ｍ）個づつのグループに分割し、ｍ個の入力データの並びの先頭のグループから順に、グループ毎に通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを当該グループ内の入力データの並びの順を反転して、当該グループ内の並びの末尾側に詰めて出力する前段処理と、前記通過データの並びの順を反転して、各グループの並びの順で、出力データの並びの先頭側に詰めて出力する後段処理を有し、前記出力データのうちの前記各グループの通過データを各グループの間引き処理毎に保持することを特徴とする間引き処理方法とした。この具体例については、図５、図６における実施例２と図１１〜図１３における実施例５で説明した。
請求項３にかかる発明は、並び順をもつｍ個の入力データを、並びの先頭からｎ（ｎ＜ｍ）個づつのグループに分割し、ｍ個の入力データの並びの先頭のグループから順に、グループ毎に通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを当該グループ内の入力データの並びの順を保持して、当該グループ内の並びの先頭側に詰めて出力する前段処理と、前記通過データの並びの順を反転して、各グループの並びの順で、出力データの並びの末尾側に詰めて出力する後段処理を有し、前記出力データのうちの前記各グループの通過データを各グループの間引き処理毎に保持することを特徴とする間引き処理方法とした。この具体例については、図７、図８における実施例３と図１１〜図１３における実施例５で説明した。
請求項４にかかる発明は、並び順をもつｍ個の入力データを、並びの先頭からｎ（ｎ＜ｍ）個づつのグループに分割し、ｍ個の入力データの並びの先頭のグループから順に、グループ毎に通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを当該グループ内の入力データの並びの順を反転して、当該グループ内の並びの末尾側に詰めて出力する前段処理と、前記通過データの並びの順を保持して、各グループの並びの順で、出力データの並びの末尾側に詰めて出力する後段処理を有し、前記出力データのうちの前記各グループの通過データを各グループの間引き処理毎に保持することを特徴とする間引き処理方法とした。この具体例については、図９、図１０における実施例４と図１１〜図１３における実施例５で説明した。
請求項５にかかる発明は、並び順をもつｎ個の入力データに対して通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを入力データの並びの順を保持して並びの先頭側に詰めて出力する動作を、ｍ（ｍ＞ｎ）個の入力データの並びの先頭からｎ個づつ分割した各グループ毎に先頭のグループから順に行う小型間引き処理回路と、該小型間引き処理回路から各グループの通過データが出力する毎に、該通過データの並びの順を保持して、出力データの並びの先頭側に詰めて出力する追加処理回路と、前記追加処理回路の出力データを個々に保持する複数のデータ保持部を有するデータ保持回路とを備え、前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されるようにしたことを特徴とする間引き処理回路とした。この具体例については、図１〜図４における実施例１と図１１〜図１３における実施例５で説明した。
請求項６にかかる発明は、並び順をもつｎ個の入力データに対して通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを入力データの並びの順を反転して並びの末尾側に詰めて出力する動作を、ｍ（ｍ＞ｎ）個の入力データの並びの先頭からｎ個づつ分割した各グループ毎に先頭のグループから順に行う小型間引き処理回路と、該小型間引き処理回路から各グループの通過データが出力する毎に、該通過データの並びの順を反転して、出力データの並びの先頭側にて詰めて出力する追加処理回路と、前記追加処理回路の出力データを個々に保持する複数のデータ保持部を有するデータ保持回路とを備え、前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されるようにしたことを特徴とする間引き処理回路とした。この具体例については、図５、図６における実施例２と図１１〜図１３における実施例５で説明した。
請求項７にかかる発明は、並び順をもつｎ個の入力データに対して通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを入力データの並びの順を保持して並びの先頭側に詰めて出力する動作を、ｍ（ｍ＞ｎ）個の入力データの並びの先頭からｎ個づつに分割した各グループ毎に先頭のグループから順に行う小型間引き処理回路と、該小型間引き処理回路から各グループの通過データが出力する毎に、該通過データの並びの順を反転して、出力データの並びの末尾側に詰めて出力する追加処理回路と、前記追加処理回路の出力データを個々に保持する複数のデータ保持部を有するデータ保持回路とを備え、前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されるようにしたことを特徴とする間引き処理回路とした。この具体例については、図７、図８における実施例３と図１１〜図１３における実施例５で説明した。
請求項８にかかる発明は、並び順をもつｎ個の入力データに対して通過指示信号に対応して間引き処理を行って通過データを選定し、該通過データを入力データの並びの順を反転して並びの末尾側に詰めて出力する動作を、ｍ（ｍ＞ｎ）個の入力データの並びの先頭からｎ個づつに分割した各グループ毎に先頭のグループから順に行う小型間引き処理回路と、該小型間引き処理回路から各グループの通過データが出力する毎に、該通過データの並びの順を保持して、出力データの並びの末尾側に詰めて出力する追加処理回路と、
前記追加処理回路の出力データを個々に保持する複数のデータ保持部を有するデータ保持回路とを備え、前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されるようにしたことを特徴とする間引き処理回路とした。この具体例については、図９、図１０における実施例４と図１１〜図１３における実施例５で説明した。
請求項９にかかる発明は、請求項１乃至４のいずれか１つに記載の間引き処理方法において、前記後段処理における、各グループの並びの順で前記通過データを詰める処理を、該詰める処理が末尾の出力データまで達すると、再度、先頭の出力データから各グループの並びの順で前記通過データを詰めることを繰り返す処理に置き換え、該繰り返し毎に個々にアドレスを更新して記憶手段に格納することを特徴とする間引き処理方法とした。この具体例については、図１４〜図２１において、実施例６〜８で説明した。
請求項１０にかかる発明は、請求項５乃至８のいずれか１つに記載の間引き処理回路において、前記追加処理回路における、前記通過データを詰めて出力する処理を、各グループの並びの順で前記通過データを詰める処理が末尾の出力データまで達すると、再度、先頭の出力データから各グループの並びの順で前記通過データを詰めることを繰り返す処理に置き換え、前記データ保持部の各々は、前記追加出力処理回路の対応する出力データが通過データであるときに、書き込みが許可されると共にアドレスの更新が行われるようにしたことを特徴とする間引き処理回路とした。この具体例については、図１４〜図２１において、実施例６〜８で説明した。
【発明の効果】
【００３１】
本発明によれば、ビット幅ｂが拡張する場合はスイッチ部のみがビット幅ｂに対応して増大するが、スイッチ制御部はそのスイッチ部から独立しているので、ゲート総数の増大を抑制することができる。また、データの通過時間は同じグループの各データについて同一となり、データ相互間の遅延時間に差が生じることを防止できる。さらに、ｍ個の入力データをｎ個づつのグループに分割して、グループ毎に順次時分割で間引き処理するので、入力データ数が非常に大きくなった場合でも、スイッチ部におけるゲート数の増大を抑制することができる。
【発明を実施するための最良の形態】
【００３２】
＜実施例１＞
図１は実施例１の間引き処理回路の構成を示すブロック図である。小型間引き処理回路１０は、図２３で説明した間引き処理回路１０Ａとものと同じであり、スイッチ部２０およびスイッチ制御部３０からなる。本実施例１では、さらに追加処理回路４０を備える。この追加処理回路４０は、追加用スイッチ部５０、追加用スイッチ制御部６０および追加データ計数部７０からなる。
【００３３】
図２は追加用スイッチ部５０の構成を示すブロック図である。この追加用スイッチ部５０は、スイッチ部２０のｎ個の出力データ線２２からの出力データＤＯＵＴ[ｎ−１：０]が入力するｎ本の入力データ線５１と、追加出力データＡＤＤＯＵＴ[ｍ−１：０]が出力するｍ本の出力データ線５２と、ｎ×ｍ本の追加用スイッチ制御信号ＡＤＤＳＷ［ｎ−１：０］［ｍ−１：０］が入力するｎ×ｍ本の追加用スイッチ制御線５３と、入力データ線５１と出力データ線５２の各交差点に２次元配置したｎ×ｍ個のクロスポイントスイッチ５４を備える。ｎ×ｍ本の追加用スイッチ制御線５３はｎ×ｍ個の各クロスポイントスイッチ５４に接続される。クロスポイントスイッチ５４は図２５で説明したのと同様のスリーステートバッファ回路からなり、そのうちのｊ行ｋ列のスイッチ５４ｊｋは、追加用スイッチ制御信号ＡＤＤＳＷ[ｊ][ｋ]＝１のときに導通、ＡＤＤＳＷ[ｊ][ｋ]＝０のときに遮断となる。なお、同一の入力データ線５１に接続されるクロスポイントスイッチ５４は、全部が遮断又は１つのみ導通となる。
【００３４】
追加データ計数部７０は、小型間引き処理回路１０から出力する現在の通過データ本数Ｎｏｕｔ（最大値＝ｎ）を入力して、間引きデータが更新される毎に、前のグループまでの追加データ総数Ｎｔｏｔａｌに加算（累算）して、新たな総数Ｎｔｏｔａｌとして出力する。
【００３５】
追加用スイッチ制御部６０は、追加データ計数部７０から出力する追加データ総数Ｎｔｏｔａｌとスイッチ制御信号ＳＷ［ｎ−１：０］［ｎ−１：０］を入力して、ｎ×ｍ本の追加用スイッチ制御信号ＡＤＤＳＷ[ｎ−１：０][ｍ−１：０]を追加用スイッチ部５０に対して出力する。この追加用スイッチ制御信号ＡＤＤＳＷ[ｎ−１：０][ｍ−１：０]の第ｊ行（＝ＡＤＤＳＷ[ｊ］[ｍ−１：０]）は、第ｋ入力データが追加データ総数ｍの何番目であるかをビットフラグの形で表したものである。よって、追加用スイッチ制御信号ＡＤＤＳＷ[ｊ][ｋ]＝１は、第ｊ行の入力データが、追加データ総数ｍの（ｋ＋１）番目であることを意味する。また、前のグループまでの追加処理において、通過指示信号ＥＮによって合計Ｎｔｏｔａｌ個のデータが追加用スイッチ部５０に入力された場合は、追加用スイッチ制御信号ＡＤＤＳＷ[ｎ−１：０][ｍ−１：０]の第ｊ行Ｎｔｏｔａｌ＋ｊ列は１、その他の追加用スイッチ制御信号は０である。
【００３６】
図３にｍ＝１６、ｎ＝４の場合の間引き処理回路の具体例を示す。ここでは、１６個の入力データをその並びの先頭から４個ずつのグループに４分割して、各グループ毎に小型間引き処理回路１０に時分割で入力する場合（合計４回）の処理を説明する。あるグループに対して、通過指示信号がＥＮ［３：０］＝｛０，１，０，１｝であったとする。
【００３７】
このときは、図２６で説明した間引き処理回路１０Ａにおける処理と同様な処理によって、スイッチ制御信号ＳＷ[１][０]＝１となり、スイッチ部２０のクロスポイントスイッチ２４10が導通する。また、スイッチ制御信号ＳＷ[３][１]＝１となり、スイッチ部２０のクロスポイントスイッチ２４31が導通する。他のクロスポイントスイッチは全て遮断する。このようにして、図３の●印のクロスポイントスイッチ２４10、２４31のみが導通するので、出力データは、
ＤＯＵＴ［０］＝ＤＩＮ［１］
ＤＯＵＴ［１］＝ＤＩＮ［３］
ＤＯＵＴ［２］＝無効
ＤＯＵＴ［３］＝無効
となる。このように、ここでは、入力データのうちのあるグループの４個のデータについて、通過指示信号ＥＮにより通過指示された入力データのみが、４個のデータの並びの順を保持したままで出力データの先頭側に詰められて出力する。
【００３８】
そして、上記した間引き処理が、図４のタイムチャートにおけるグループ３の処理であったとすると、データｄ９，ｄ１１が小型間引き処理回路１０からＤＯＵＴ［１］、ＤＯＵＴ［２］として出力する。このとき、それ以前のグループ１，２の処理によって既に５個のデータｄ０，ｄ３，ｄ５，ｄ６，ｄ７が追加用スイッチ部５０の出力データＡＤＤＯＵＴ[０]〜ＡＤＤＯＵＴ[４]として出力されているので、追加データ計数部７０の出力信号Ｎｔｏｔａｌ＝５となっており、追加用スイッチ制御部６０から出力する追加用スイッチ制御信号ＡＤＤＳＷ[３：０][１５：０]は、ＡＤＤＳＷ[０][５]＝１、ＡＤＤＳＷ[１][６]＝１となり、他の追加用スイッチ制御信号は全て０となる。この結果、追加用スイッチ部５０のクロスポイントスイッチ５４05、５４16が導通し、他のクロスポイントスイッチ５４は全て遮断し、データｄ９，ｄ１１がＡＤＤＯＵＴ[５]、ＡＤＤＯＵＴ[６]として出力する。
【００３９】
このように、ｍ個のデータをデータの並び順の先頭からｎ個ずつのグループに分割して、元のデータの並び順の先頭のグループから順に、元のデータの並び順を保持したままｎ個ずつ時分割して小型間引き処理回路１０に入力すると、ｎ個のデータのうち通過指示があるデータのみが、データの並び順を保持したまま追加処理回路５０から出力する。このとき、前のグループの処理の際に有効（通過データが出力した）となった出力データＡＤＤＯＵＴ［ｋ］の次の出力データＡＤＤＯＵＴ［ｋ＋１］から順番に、出力データＡＤＤＯＵＴ［ｋ］の側に詰めて、前のグループまでの出力データに追加して出力する。
【００４０】
本実施例によれば、各入力データＤＩＮのビット幅をｂとすると、スイッチ部２０と追加用スイッチ部５０のクロスポイントスイッチ２４，５４は紙面方向にｂ段で構成されることになるが、それらスイッチ部２０と追加用スイッチ部５０の各段のクロスポイントスイッチ２４，５４の導通／遮断の制御は、スイッチ制御信号ＳＷ、追加用スイッチ制御信号ＡＤＤＳＷによって、通過指示信号ＥＮに対応して、それぞれ共通に行われる。つまり、スイッチ部２０からスイッチ制御部３０を分離でき、追加用スイッチ部５０から追加用スイッチ制御部６０を分離でき、スイッチ制御部３０と追加用スイッチ制御部６０はビット幅ｂの増加の影響を受けないので、回路規模への影響を抑制できる。
【００４１】
また、入力データは、それが通過するとき、スイッチ部２０と追加用スイッチ部５０で各１個のクロスポイントスイッチのみで出力先を切り換えられるので、同じグループのデータ相互間の通過時間（遅延時間）に差を生じることなく、間引きされなかった全ての入力データが同じタイミングで追加出力データとして出力される。
【００４２】
また、入力データ数ｍが非常に大きい場合でもゲート数が急激には増大しないという効果がある。すなわち、従来例１（図２２）の間引き処理回路１５０においては、非常に大きいｍ個の入力データを１度に間引き出力することになるので、クロスポイントスイッチの数が（ｍ×（ｍ＋１）／２）個であり、従来例２，３（図２３〜図２７）の間引き処理回路１０Ａでは（ｍ×ｍ）個である。これに対し、本実施例では、ｍ個の入力データをｎ個ずつのグループに分割して、小型間引き処理回路１０において、各グループ毎に間引き処理を行い、追加処理回路４０で各グループの通過データの並びを揃えるので、入力データ数ｍが非常に大きくても、スイッチ部２０や追加用スイッチ部５０のクロスポイントスイッチの数を大幅に削減でき、ゲート総数を大幅に削減できる。
【００４３】
＜実施例２＞
図５は実施例２の間引き処理回路を示すブロック図である。これは、前記した図２７の間引き処理の手法を、グループ毎に行う場合についてのものである。図５では、図２７で説明したように、通過指示信号がＥＮ［３：０］＝｛０，１，０，１｝となるので、小型間引き処理回路１０のスイッチ部２０では、スイッチ制御信号ＳＷ[１][３]＝１となって、スイッチ部２０のクロスポイントスイッチ２４13が導通し、また、スイッチ制御信号ＳＷ[３][２]＝１となって、スイッチ部２０のクロスポイントスイッチ２４32が導通する。また、他のクロスポイントスイッチは全て遮断する。よって、図５の●印のクロスポイントスイッチ２４13、２４32のみが導通するので、出力データは、
ＤＯＵＴ［０］＝無効
ＤＯＵＴ［１］＝無効
ＤＯＵＴ［２］＝ＤＩＮ［３］
ＤＯＵＴ［３］＝ＤＩＮ［１］
となり、通過指示信号ＥＮにより通過指示された入力データＤＩＮ[１]、ＤＩＮ[３]のみが、４個のデータの並びの順を反転し且つ出力データの末尾側に詰められて出力する。
【００４４】
これは、図６のタイムチャートにおけるグループ３の処理であり、データｄ９，ｄ１１が小型間引き処理回路１０から出力するが、それ以前のグループ１，２の処理によって既に５個のデータｄ０，ｄ３，ｄ５，ｄ６，ｄ７が追加用スイッチ部５０の出力データＡＤＤＯＵＴ[０]〜ＡＤＤＯＵＴ[４]として出力されているので、追加データ計数部７０の出力信号Ｎｔｏｔａｌ＝５となっており、追加用スイッチ制御部６０から出力する追加用スイッチ制御信号ＡＤＤＳＷ[３：０][１５：０]は、ＡＤＤＳＷ[３][５]＝１、ＡＤＤＳＷ[２][６]＝１となり、他の追加用スイッチ制御信号は全て０となる。この結果、追加用スイッチ部５０のクロスポイントスイッチ５４35、５４26が導通し、他のクロスポイントスイッチ５４は全て遮断し、データｄ９，ｄ１１が出力データＡＤＤＯＵＴ[５]、ＡＤＤＯＵＴ[６]として出力する。
【００４５】
このように、本実施例２では、小型間引き処理回路１０での間引き処理は実施例１とは異なるが、追加処理回路４０における並び替えによって、前のグループの処理の際に有効となった出力データＡＤＤＯＵＴ［ｋ］の次の出力データＡＤＤＯＵＴ［ｋ＋１］から順番に、出力データＡＤＤＯＵＴ［ｋ］の側に詰めて、前のグループまでの出力データに追加して出力する。追加処理回路４０から出力する最終的な追加出力データＡＤＤＯＵＴ［ｍ−１：０］は、実施例１と同じになる。本実施例２によれば、実施例１と同様な作用効果がある。
【００４６】
＜実施例３＞
図７は実施例３の間引き処理回路の構成を示すブロック図である。ここでは、スイッチ制御部３０から出力するスイッチ制御信号ＳＷ[３：０][３：０]は、図３で示した実施例１と同じであるが、追加用スイッチ制御部５０から出力する追加用スイッチ制御信号ＡＤＤＳＷ［３：０］［１５：０］の第ｊ行（ＳＷ[ｊ][１５：０]）のビットフラグは、第ｊ入力データが追加データ総数ｍの末尾から何番目であるかを表す。よって、追加用スイッチ制御信号ＡＤＤＳＷ[ｊ][ｋ]＝１は、第ｊ行の入力データが、追加データ総数ｍの（ｍ−ｋ−１）番目であることを意味する。
【００４７】
そして、図７における間引き処理が、図８のタイムチャートにおけるグループ３の処理であったとすると、データｄ９，ｄ１１が小型間引き処理回路１０からＤＯＵＴ［０］、ＤＯＵＴ［１］として出力する。このとき、それ以前のグループ１，２の処理によって既に５個のデータｄ０，ｄ３，ｄ５，ｄ６，ｄ７が追加用スイッチ部５０の出力データＡＤＤＯＵＴ[１５]〜ＡＤＤＯＵＴ[１１]として出力されているので、追加データ計数部７０の出力信号Ｎｔｏｔａｌ＝５となっており、追加用スイッチ制御部６０から出力する追加用スイッチ制御信号ＡＤＤＳＷ[３：０][１５：０]は、ＡＤＤＳＷ[０][１０]＝１、ＡＤＤＳＷ[１][９]＝１となり、他の追加用スイッチ制御信号は全て０となる。この結果、追加用スイッチ部５０のクロスポイントスイッチ５４010、５４19が導通し、他のクロスポイントスイッチ５４は全て遮断し、データｄ９，ｄ１１がＡＤＤＯＵＴ[１０]、ＡＤＤＯＵＴ[９]として出力する。
【００４８】
このように、ｍ個のデータをデータの並び順の先頭からｎ個ずつのグループに分割して、元のデータの並び順の先頭のグループから順に、元のデータの並び順を保持したままｎ個ずつ時分割して小型間引き処理回路１０に入力すると、ｎ個のデータのうち通過指示があるデータのみが、入力データの並び順を反転して追加出力データの末尾側に揃えられて追加処理回路５０から出力する。このとき、前のグループの処理の際に有効となった出力データＡＤＤＯＵＴ［ｋ］の前の出力データＡＤＤＯＵＴ［ｍ−ｋ−１］から逆順に、出力データＡＤＤＯＵＴ［ｍ−ｋ］の側に詰めて、前のグループまでの出力データに追加して出力する。
【００４９】
本実施例３では、追加出力データの並び順を入力データの並び順と反対にして末尾側に詰めることができる。従来例１では間引き出力データの並び順を変更しようとすると、回路全体を変更しなければならなかったが、本実施例３ではスイッチ制御部３０と追加用スイッチ制御部５３の変更で、これが可能となる。しかも、これらスイッチ制御部３０と追加用スイッチ制御部５３は入力データのビット幅ｂの影響を受けない部分であるので、変更箇所を最小限に留めることができる。その他の作用効果は実施例１と同じである。
【００５０】
＜実施例４＞
図９は実施例４の間引き処理回路の構成を示すブロック図である。ここでは、スイッチ制御部３０から出力するスイッチ制御信号ＳＷ[３：０][３：０]は、図５で示した実施例２と同じであるが、追加用スイッチ制御部５０から出力する追加用スイッチ制御信号ＡＤＤＳＷ［３：０］［１５：０］の第ｊ行（ＳＷ[ｊ][１５：０]）のビットフラグは、第ｊ入力データが追加データ総数ｍの末尾から何番目であるかをビットフラグの形で表したものである。よって、追加用スイッチ制御信号ＡＤＤＳＷ[ｊ][ｋ]＝１は、第ｊ行の入力データが、追加データ総数ｍの末尾から（ｋ＋１）番目であることを意味する。
【００５１】
そして、この間引き処理が、図１０のタイムチャートにおけるグループ３の処理であったとすると、データｄ９，ｄ１１が小型間引き処理回路１０からＤＯＵＴ［３］、ＤＯＵＴ［２］として出力する。このとき、それ以前のグループ１，２の処理によって既に５個のデータｄ０，ｄ３，ｄ５，ｄ６，ｄ７が追加用スイッチ部５０の出力データＡＤＤＯＵＴ[１５]〜ＡＤＤＯＵＴ[１１]として出力されているので、追加データ計数部７０の出力信号Ｎｔｏｔａｌ＝５となっており、追加用スイッチ制御部６０から出力する追加用スイッチ制御信号ＡＤＤＳＷ[３：０][１５：０]は、ＡＤＤＳＷ[３][１０]＝１、ＡＤＤＳＷ[２][９]＝１となり、他の追加用スイッチ制御信号は全て０となる。この結果、追加用スイッチ部５０のクロスポイントスイッチ５４310、５４29が導通し、他のクロスポイントスイッチ５４は全て遮断し、データｄ９，ｄ１１がＡＤＤＯＵＴ[１０]、ＡＤＤＯＵＴ[９]として出力する。
【００５２】
このように、ｍ個のデータをデータの並び順の先頭からｎ個ずつのグループに分割して、元のデータの並び順の先頭のグループから順に、元のデータの並び順を保持してｎ個ずつ時分割して小型間引き処理回路１０に入力すると、ｎ個のデータのうち通過指示があるデータのみが、データの並び順を反転して追加処理回路５０から出力する。このとき、前のグループの処理の際に有効となった出力データＡＤＤＯＵＴ［ｋ］の次の出力データＡＤＤＯＵＴ［ｍ−ｋ−１］から逆順に、出力データＡＤＤＯＵＴ［ｍ−ｋ］の側に詰めて、前のグループまでの出力データに追加して出力する。
【００５３】
このように、本実施例４では、小型間引き処理回路１０での間引き処理は実施例３とは異なるが、追加処理回路４０における並び替えによって、前のグループの処理の際に有効となった出力データＡＤＤＯＵＴ［ｋ］の前の出力データＡＤＤＯＵＴ［ｋ−１］から逆順に、出力データＡＤＤＯＵＴ［ｋ］の側に詰めて、前のグループまでの出力データに追加して出力する。追加処理回路４０から出力する最終的な追加出力データＡＤＤＯＵＴ［ｍ−１：０］は、実施例３と同じになる。本実施例４によれば、実施例３と同様な作用効果がある。
【００５４】
＜実施例５＞
図１１は実施例５の間引き処理回路の構成を示すブロック図である。ここでは、図１の実施例１の追加処理回路４０の後段に、データ保持回路８０を接続している。なお、小型間引き処理回路１０は追加処理回路４０の前段に接続されるが、表示を省略している。
【００５５】
データ保持回路８０は、追加出力データＡＤＤＯＵＴ［ｍ−１：０］が書き込まれるｍ個のデータ保持回路９０と、追加用スイッチ制御信号ＡＤＤＳＷ［ｎ−１：０］［ｍ−１：０］を入力して各データ保持回路９０に対して書き込みイネーブル信号ＷＥ［ｍ−１：０］を与えるデータ書き込み制御部１００を備える。
【００５６】
図１３にデータ書き込み制御部１００の内部構成を示す。このデータ書き込み制御部１００は、ｍ個のアンド回路１０１と、ｍ個のオア回路１０２とからなり、例えば、イネーブル信号ＷＥ［ｋ］は、追加データ出力タイミングが有効（＝１）となり、且つ追加用スイッチ制御信号ＡＤＤＳＷ［ｎ−１：０］［ｋ］＝１となったときに、有効（＝１）となる。
【００５７】
そして、現在、追加出力データＡＤＤＯＵＴ［Ｎｔｏｔａｌ］〜ＡＤＤＯＵＴ［Ｎｔｏｔａｌ＋ｎ−１］が出力対象となっているときは、書き込みイネーブル信号は、ＷＥ［Ｎｔｏｔａｌ］〜ＷＥ［Ｎｔｏｔａｌ＋ｎ−１］が有効（＝１）となり、書き込み許可となる。それ以前の追加出力データＡＤＤＯＵＴ［０］〜ＡＤＤＯＵＴ［Ｎｔｏｔａｌ−１］を書き込むデータ保持部に対しては上書き防止のためにＷＥ［０］〜ＷＥ［Ｎｔｏｔａｌ−１］が無効（＝０）となり、書き込み不可となる。また、それ以後の追加出力データＡＤＤＯＵＴ［Ｎｔｏｔａｌ＋ｎ］〜ＡＤＤＯＵＴ［Ｎｔｏｔａｌ＋ｍ−１］を書き込むデータ保持部に対しては、以後に書き込むので、有効／無効のいずれでも良い。
【００５８】
図１２は図３、図４で説明した実施例１の間引き処理によって出力する追加出力データを保持する場合のタイムチャートである。グループ３の処理では、第４データ保持部にデータｄ９が、第５データ保持部にデータｄ１１が保持される。それ以前では、第０データ保持部〜第４データ保持部に、データｄ０，ｄ３，ｄ５，ｄ６，ｄ７がそれぞれ保持されている。
【００５９】
本実施例５によれば、追加出力データ毎にデータ保持部が設けられるので、各グループの追加出力データは同じ追加出力データの更新周期で書き込まれる。例えば、１個のデータ保持部がアドレスで区別された複数の記憶領域を持ち、各記憶領域を各追加出力データに割り当てる場合は、同時に複数のアドレスを指定してデータを書き込むことはできないので、１個のデータの書き込みが終了してから次ぎのデータを書き込むことになり、クロックの立上りタイミングでデータを書き込むとすると、図１２の例ではデータ数が９個なので、データの書き込みに少なくとも９クロックが必要となる。
【００６０】
＜実施例６＞
図１４は実施例６の間引き処理回路の構成を示すブロック図である。ここでは、実施例５のデータ保持部９０を、複数ビットの情報をアドレス指定で保持できるＲＡＭ等からなるデータ保持部９０Ａに置き換え、そのデータ保持部９０Ａの書き込みアドレスを、アドレス制御部１１０から出力するアドレス信号ＡＤＲ［ｍ−１：０］［ａ−１：０］により指定できるようにしたデータ保持回路８０Ａを備えたものである。各アドレスはａビットで表される。アドレス信号ＡＤＲ［ｍ−１：０］［ａ−１：０］は、通過データ本数Ｎｏｕｔと追加スイッチ制御信号ＡＤＤＳＷ［ｎ−１：０］［ｍ−１：０］とにより作成される。
【００６１】
追加用スイッチ制御信号ＡＤＤＳＷ［ｎ−１：０］［ｍ−１：０］の第ｊ行ＡＤＤＳＷ［ｊ］［ｍ−１：０］は、第ｊ入力データが追加データ総数の何番目であるかを、追加用スイッチ部４０の出力数ｍで割った余りを、ビットフラグの形で表したものである。すなわち、第ｊ入力データが、追加データ総数の（Ｎｔｏｔａｌ＋ｊ＋１）番目であるとき、追加用スイッチ制御信号ＡＤＤＳＷのｊ行｛ｍｏｄ（Ｎｔｏｔａｌ＋ｊ）／ｍ）｝列が１になる（ｊ＝０，１，・・・，ｎ−１，１，・・・，ｍ−１）。ｊ行の他の列は０である。
【００６２】
追加出力データＡＤＤＯＵＴは、前のグループまでの追加処理において、間引き処理によって、合計Ｎｔｏｔａｌ個のデータが入力されていた場合、最後のデータは第ｍｏｄ｛（Ｎｔｏｔａｌ−１）／ｍ｝の追加出力データとなるので、今回のグループの追加処理で第０乃至第（Ｎｏｕｔ−１）の間引きデータが追加処理回路４０に入力されると、第｛ｍｏｄ（Ｎｔｏｔａｌ／ｍ）｝以降の追加出力データから、入力と同じ並びで出力する。第（ｍ−１）までの追加出力データＡＤＤＯＵＴ［ｍ−１］を出力したら、次のデータは第０の追加出力データＡＤＤＯＵＴ［０］から入力と同じ並びで出力する。
【００６３】
図１５はアドレス制御部１１０の内部構成を示すブロック図である。このアドレス制御部１１０は、通過データ本数Ｎｏｕｔを入力して、Ａ＝ｆｌｏｏｒ（Ｎｔｏｔａｌ／ｍ）でアドレスＡを算出するアドレス算出部１１１、そのアドレスＡを＋１（インクリメント）する＋１回路１１２、追加スイッチ制御信号ＡＤＤＳＷ［ｎ−１：０］［ｍ−１：０］が入力するオア回路１１３、およびセレクタ１１４からなる。
【００６４】
データ保持部９０Ａのうちの第ｋデータ保持部用のアドレス信号は、ＡＤＲ［ｋ］［ａ−１：０］で表され、ＡＤＤＳＷ［ｋ＋１］［ｋ］〜ＡＤＤＳＷ［ｎ−１］［ｋ］に１が含まれるか否かで判断できる。１が含まれる場合は、アドレス信号は、
ＡＤＲ［ｋ］［ａ−１：０］＝Ａ＋１
となって昇順で更新され、１が含まれない場合は、
ＡＤＲ［ｋ］［ａ−１：０］＝Ａ
となり、更新されない。すなわち、ｋ＜ｍｏｄ（Ｎｔｏｔａｌ／ｍ）の場合は、Ａ＋１、ｋ≧ｍｏｄ（Ｎｔｏｔａｌ／ｍ）の場合はＡである。Ａ＝ｆｌｏｏｒ（Ｎｔｏｔａｌ／ｍ）となる。
【００６５】
なお、追加データ総数Ｎｔｏｔａｌは２進数で表され、追加処理回路４０の追加出力データ数ｍが２＾ｌ（ｌは整数）の場合、追加スイッチ制御信号の第ｊ行のフラグが立っている箇所（すなわち、第｛ｍｏｄ（Ｎｔｏｔａｌ／ｍ）｝列）は、Ｎｔｏｔａｌのビット０〜ビット（ｌ−１）で表される。アドレスＡは、Ｎｔｏｔａｌのビットｌ以上の部分で表される。また、前のグループまでの追加処理において、既にデータが入力されているデータ保持部については、データを書き込むアドレスをインクリメントするので、以前のデータを上書きすることなく、新しいデータが保持される。
【００６６】
データ保持部９０Ａのうちの第ｋデータ保持部は、追加出力データＡＤＤＯＵＴ［ｋ］と、書き込みイネーブル信号ＷＥ［ｋ］と、アドレス信号ＡＤＲ［ｋ］［ａ−１：０］を入力して、ＷＥ［ｋ］＝１のときに、ＡＤＲ［ｋ］［ａ−１：０］のアドレスに、ＡＤＤＯＵＴ［ｋ］を書き込む。ＷＥ［ｋ］＝０のときは、書き込み不可となる。
【００６７】
図１６に本実施例６におけるｍ＝１６、ｎ＝４の場合の間引き処理回路の具体例を示し、図１７にその動作のタイムチャートを示す。ここでは、１６個の入力データをその先頭の並びから４個ずつのグループに４分割し、各グループ毎に小型間引き処理回路１０に時分割で入力する場合（合計４回）の処理を説明する。
【００６８】
本実施例６は、小型間引き処理回路１０の動作は実施例１の図３、図４と同じであるが、追加処理回路４０の動作が異なる。すでに、グループ１の処理により、追加出力データがＡＤＤＯＵＴ［０］＝ｄ０、ＡＤＤＯＵＴ［１］＝ｄ３となり、データ保持部９０Ａの第０データ保持部９１と第１データ保持部９２のアドレス０に書き込まれている。また、グループ２の処理により、追加出力データがＡＤＤＯＵＴ［０］＝ｄ７、ＡＤＤＯＵＴ［２］＝ｄ５、ＡＤＤＯＵＴ［３］＝ｄ６となり、第０データ保持部９１のアドレス１、第２データ保持部９３のアドレス０、第３データ保持部９４のアドレス０に既に書き込まれている。
【００６９】
グループ３の処理では、追加出力データがＡＤＤＯＵＴ［１］＝ｄ９、ＡＤＤＯＵＴ［２］＝ｄ１１となる。このとき、第０データ保持部９１はアドレス２に更新されて、書き込みイネーブル信号がＷＥ［０］＝０となり、書き込みは行われない。第１データ保持部９２はアドレス１となり、ＷＥ［１］＝１となるので、データｄ９がそこに書き込まれる。第２データ保持部９３もアドレス１となり、ＷＥ［１］＝１となるので、データｄ１１がそこに書き込まれる。第３データ保持部９４はアドレス１となり、書き込みイネーブル信号がＷＥ［０］＝０となり、書き込みは行われない。
【００７０】
以上のように、実施例６の間引き処理回路では、通過した追加出力データがＡＤＤＯＵＴ［０］〜ＡＤＤＯＵＴ［３］まで出力された場合は、次の並び以降の通過データは、再度、ＡＤＤＯＵＴ［０］から並び順を保持したまま出力されることを繰返す。そして、付与された記憶手段を複数持つ各データ保持部９０Ａは、アドレスを、小さいアドレスから大きいアドレスに昇順に更新して、通過データを記録する。
【００７１】
本実施例６では、次の効果がある。図１１の実施例５の間引き処理回路では、入力データ数ｍが非常に大きい場合、ビット幅ｂが大きくなると、追加用スイッチ部のクロスポイントスイッチの数が（ｍ×ｎ×ｂ）だけ必要となり、ゲート総数が非常に大きくなる。また、データ保持回路８０のデータ保持部の数が（ｍ×ｂ）だけ必要となる。これに対して、実施例６では、追加処理回路４０の追加出力データＡＤＤＯＵＴの数を入力データ数ｍよりも小さくできる（例えば、図１６の具体例では１／４）ので、ゲート数を大幅に削減できる。そして、データ保持回路８０Ａにはレジスタ等ではなくＲＡＭを使用することで、その専有面積を大幅に削減できる。
【００７２】
＜実施例７＞
図１８は実施例７のｍ＝１６，ｎ＝４の場合の間引き処理回路の構成を示すブロック図、図１９はその動作のタイムチャートである。小型間引き処理回路１０の動作は実施例２の図５、図６と同じであるが、追加処理回路４０の動作が異なる。通過した追加出力データがＡＤＤＯＵＴ［３］〜ＡＤＤＯＵＴ［０］の順（逆順）で並んで出力された場合は、次の並び以降の通過データは、再度、ＡＤＤＯＵＴ［３］から並び順を反転して出力されることを繰返す。そして、記憶手段を複数持つ各データ保持部９０Ａは、アドレスを、小さいアドレスから大きいアドレスに順に通過データを記録する。
【００７３】
図１９に示すように、すでに、グループ１の処理により、追加出力データがＡＤＤＯＵＴ［３］＝ｄ０、ＡＤＤＯＵＴ［２］＝ｄ３となり、データ保持部９０Ａの第３データ保持部９４と第２データ保持部９３のアドレス０に書き込まれている。また、グループ２の処理により、追加出力データがＡＤＤＯＵＴ［３］＝ｄ７、ＡＤＤＯＵＴ［１］＝ｄ５、ＡＤＤＯＵＴ［０］＝ｄ６となり、第３データ保持部９４のアドレス１、第１データ保持部９２のアドレス０、第０データ保持部９１のアドレス０に既に書き込まれている。
【００７４】
グループ３の処理では、追加出力データがＡＤＤＯＵＴ［２］＝ｄ９、ＡＤＤＯＵＴ［１］＝ｄ１１となる。このとき、第３データ保持部９４はアドレス２に更新されて、書き込みイネーブル信号がＷＥ［０］＝０となり、書き込みは行われない。第２データ保持部９３はアドレス１となり、ＷＥ［１］＝１となるので、データｄ９がそこに書き込まれる。第１データ保持部９２もアドレス１となり、ＷＥ［１］＝１となるので、データｄ１１がそこに書き込まれる。第０データ保持部９１はアドレス１となり、書き込みイネーブル信号がＷＥ［０］＝０となり、書き込みは行われない。
【００７５】
以上のように、実施例７の間引き処理回路では、グループ内の入力データの並び順を反転した追加出力データがＡＤＤＯＵＴ［３］〜ＡＤＤＯＵＴ［０］まで出力された場合は、次の並び以降の通過データは、再度、ＡＤＤＯＵＴ［３］からグループ内のデータの並び順を反転して出力されることを繰返す。そして、付与された記憶手段を複数持つ各データ保持部９０Ａは、アドレスを、小さいアドレスから大きいアドレスに昇順に更新して、通過データを記録する。
【００７６】
本実施例７によれば、追加出力データを、その並び順をグループ内の入力順を反転して末尾側に詰めてデータ保持回路８０Ａに保持できる。変更する回路部分はスイッチ制御部３０、追加スイッチ制御部６０、アドレス制御部１１０等であり、アドレス制御部１１０は入力データのビット幅ｂに依存しないので、変更箇所を最小限にできる。
【００７７】
＜実施例８＞
図２０は実施例８のｍ＝１６，ｎ＝４の場合の間引き処理回路の構成を示すブロック図、図２１はその動作のタイムチャートである。小型間引き処理回路１０と追加処理回路４０の動作は実施例６の図１６、図１７と同じであるが、データ保持部８０Ａの動作が異なる。通過した追加出力データがＡＤＤＯＵＴ［０］〜ＡＤＤＯＵＴ［３］の順で並んで出力された場合は、次の並び以降の通過データは、再度、ＡＤＤＯＵＴ［０］から並び順で出力されることを繰返す。そして、記憶手段を複数持つ各データ保持部９０Ａは、アドレスを、大きいアドレスから小さいアドレスに降順で更新して、通過データを記録する。すなわち、アドレスが０〜３１の場合、アドレスは「３１−Ａ」で表され、これを更新するときは「３１−（Ａ＋１）」となる。
【００７８】
図２１に示すように、すでに、グループ１の処理により、追加出力データがＡＤＤＯＵＴ［０］＝ｄ０、ＡＤＤＯＵＴ［１］＝ｄ３となり、データ保持部９０Ａの第０データ保持部９１と第１データ保持部９２のアドレス３１に書き込まれている。また、グループ２の処理により、追加出力データがＡＤＤＯＵＴ［０］＝ｄ７、ＡＤＤＯＵＴ［２］＝ｄ５、ＡＤＤＯＵＴ［３］＝ｄ６となり、第０データ保持部９１のアドレス３０、第２データ保持部９３のアドレス３１、第３データ保持部９４のアドレス３１に既に書き込まれている。
【００７９】
グループ３の処理では、追加出力データがＡＤＤＯＵＴ［１］＝ｄ９、ＡＤＤＯＵＴ［２］＝ｄ１１となる。このとき、第０データ保持部９１はアドレス２９に更新されて、書き込みイネーブル信号がＷＥ［０］＝０となり、書き込みは行われない。第１データ保持部９２はアドレス３０となり、ＷＥ［１］＝１となるので、データｄ９がそこに書き込まれる。第２データ保持部９３もアドレス３０となり、ＷＥ［１］＝１となるので、データｄ１１がそこに書き込まれる。第３データ保持部９４はアドレス３０となり、書き込みイネーブル信号がＷＥ［０］＝０となり、書き込みは行われない。
【００８０】
以上のように、実施例８の間引き処理回路では、通過した追加出力データがＡＤＤＯＵＴ［０］〜ＡＤＤＯＵＴ［３］まで出力された場合は、次の並び以降の通過データは、再度、ＡＤＤＯＵＴ［０］から並び順を保持したまま出力されることを繰返す。そして、付与された記憶手段を複数持つ各データ保持部９０Ａは、アドレスを、大きいアドレスから小さいアドレスに降順に更新して、通過データを記録する。
【００８１】
本実施例によれば、実施例６に対して、アドレス制御部１１０を変更するだけで、書き込みアドレスを昇順から降順に変更できる。このアドレス制御部１１０は入力データのビット幅ｂに依存しない部分なので、変更箇所を最小限にできる。実施例７に対しても同様にアドレス制御部１１０を変更して、書き込みアドレスを昇順から降順に変更することができる。
【００８２】
＜実施例９＞
以上の各実施例で説明したように、小型間引き回路１０による間引きパターンには２パターン（並びを保持して先頭側に揃える、並びを反転して末尾側に揃える）があり、追加処理回路４０による追加出力データの詰めパターンにも同様な２パターンがあり、複数データを格納するデータ保持部９０Ａのアドレス指定にも昇順更新、降順更新の２パターンがあるので、これらを予め登録しておいて、所望の組み合わせを採用して、間引き処理を行うことも可能である。
【図面の簡単な説明】
【００８３】
【図１】実施例１の間引き処理回路の構成を示すブロック図である。
【図２】実施例１の間引き処理回路の追加用スイッチ部の構成を示すブロック図である。
【図３】実施例１の具体的な間引き処理回路の構成を示すブロック図である。
【図４】図３の間引き処理回路の動作のタイムチャートである。
【図５】実施例２の具体的な間引き処理回路の構成を示すブロック図である。
【図６】図５の間引き処理回路の動作のタイムチャートである。
【図７】実施例３の具体的な間引き処理回路の構成を示すブロック図である。
【図８】図７の間引き処理回路の動作のタイムチャートである。
【図９】実施例４の具体的な間引き処理回路の構成を示すブロック図である。
【図１０】図９の間引き処理回路の動作のタイムチャートである。
【図１１】実施例５の間引き処理回路の構成を示すブロック図である。
【図１２】図１１の間引き処理回路の動作のタイムチャートである。
【図１３】図１１の間引き処理回路のデータ書き込み制御部の構成を示すブロック図である。
【図１４】実施例６の間引き処理回路の構成を示すブロック図である。
【図１５】図１４の間引き処理回路のアドレス制御部の構成を示すブロック図である。
【図１６】実施例６の具体的な間引き処理回路の構成を示すブロック図である。
【図１７】図１６の動作のタイムチャートである。
【図１８】実施例７の具体的な間引き処理回路の構成を示すブロック図である。
【図１９】図１８の動作のタイムチャートである。
【図２０】実施例８の具体的な間引き処理回路の構成を示すブロック図である。
【図２１】図２０の動作のタイムチャートである。
【図２２】従来例１の間引き処理回路の構成を示すブロック図である。
【図２３】従来例２の間引き処理回路の構成を示すブロック図である。
【図２４】図２３の間引き処理回路のスイッチ部の構成を示すブロック図である。
【図２５】図２３の間引き処理回路のスイッチ部の具体的な構成を示すブロック図である。
【図２６】従来例２の具体的な間引き処理回路の構成を示すブロック図である。
【図２７】従来例３の具体的な間引き処理回路の構成を示すブロック図である。
【符号の説明】
【００８４】
１０Ａ：従来例の間引き処理回路
１０：小型間引き処理回路
２０：スイッチ部、２１：入力データ線、２２：出力データ線、２３：スイッチ制御線
３０：スイッチ制御部
４０：追加処理回路
５０：追加スイッチ部、５１：入力データ線、５２：出力データ線、５３：追加スイッチ制御線
６０：追加用スイッチ制御部
７０：追加データ計数部
８０，８０Ａ：データ保持回路
９０，９０Ａ：データ保持部
１００：データ書き込み制御部
１１０：アドレス制御部
１５０：従来例の間引き処理回路
【図１】
0004859062.tif 000002
【図２】
0004859062.tif 000003
【図３】
0004859062.tif 000004
【図４】
0004859062.tif 000005
【図５】
0004859062.tif 000006
【図６】
0004859062.tif 000007
【図７】
0004859062.tif 000008
【図８】
0004859062.tif 000009
【図９】
0004859062.tif 000010
【図１０】
0004859062.tif 000011
【図１１】
0004859062.tif 000012
【図１２】
0004859062.tif 000013
【図１３】
0004859062.tif 000014
【図１４】
0004859062.tif 000015
【図１５】
0004859062.tif 000016
【図１６】
0004859062.tif 000017
【図１７】
0004859062.tif 000018
【図１８】
0004859062.tif 000019
【図１９】
0004859062.tif 000020
【図２０】
0004859062.tif 000021
【図２１】
0004859062.tif 000022
【図２２】
0004859062.tif 000023
【図２３】
0004859062.tif 000024
【図２４】
0004859062.tif 000025
【図２５】
0004859062.tif 000026
【図２６】
0004859062.tif 000027
【図２７】
0004859062.tif 000028