(57)【特許請求の範囲】
【請求項１】
画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号および係数クロック信号を生成する信号生成手段と、
前記信号生成手段によって生成された前記第１および第２の制御信号に基づくアルゴリズム並びに前記第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行うアルゴリズム実行手段とを有し、
前記アルゴリズム実行手段は、
前記入力画素クロック信号に同期して前記画像入力信号の画素信号を保持する第１の画素保持手段と、
前記入力画素クロック信号に同期して前記第１の画素保持手段から出力される画素信号を保持する第２の画素保持手段と、
前記入力画素クロック信号に同期して前記第２の画素保持手段から出力される画素信号を保持する第３の画素保持手段と、
前記第１の係数信号と前記第３の画素保持手段に保持された画素信号とを乗算する第１の乗算手段と、
前記第１の乗算手段から出力される画素信号と所定の第１の信号とを加算する第１の加算手段と、
前記入力画素クロック信号に同期して前記第１の加算手段から出力される画素信号を保持する第４の画素保持手段と、
前記信号生成手段からの第１の制御信号に従って前記第４の画素保持手段に保持された画素信号又は「０」の値を選択して前記第１の信号を出力する第１の選択手段と、
前記第２の係数信号と画像入力信号の画素信号とを乗算する第２の乗算手段と、
前記第３の係数信号と前記第１の画素保持手段に保持された画素信号とを乗算する第３の乗算手段と、
前記第２の乗算手段から出力される画素信号と前記第３の乗算手段から出力される画素信号とを加算する第２の加算手段と、
所定の第２の信号と前記第２の画素保持手段に保持された画素信号とを乗算する第４の乗算手段と、
前記第４の乗算手段から出力される画素信号と前記第１の加算手段から出力される画素信号とを加算する第３の加算手段と、
前記第３の加算手段から出力される画素信号と前記第２の加算手段から出力される画素信号とを加算する第４の加算手段と、
前記信号生成手段からの第２の制御信号に従って前記第３の加算手段から出力される画素信号又は前記第４の加算手段から出力される画素信号を選択して出力する第２の選択手段と、
所定の第３の信号から前記第１の係数信号を減算する第５の加算手段と、
前記係数クロック信号に同期して前記第５の加算手段から出力される信号を保持する保持手段と、
前記第１の制御信号に従って前記保持手段から出力される信号又は「１」の値を選択して前記第３の信号を出力する第３の選択手段と、
前記第２の制御信号に従って前記第５の加算手段から出力される信号又は第４の係数信号を選択して前記第２の信号を出力する第４の選択手段と、
前記第２の選択手段から出力される画素信号を保持して前記出力画素クロック信号に同期して画像出力として出力する第５の画素保持手段と
を有することを特徴とする画像処理装置。
【請求項２】
画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号および係数クロック信号を生成する信号生成手段と、
前記信号生成手段によって生成された前記第１および第２の制御信号に基づくアルゴリズム並びに前記第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行うアルゴリズム実行手段とを有し、
前記アルゴリズム実行手段は、
前記入力画素クロック信号に同期して前記画像入力信号の画素信号を保持する第１の画素保持手段と、
前記入力画素クロック信号に同期して前記第１の画素保持手段から出力される画素信号を保持する第２の画素保持手段と、
前記入力画素クロック信号に同期して前記第２の画素保持手段から出力される画素信号を保持する第３の画素保持手段と、
前記第１の係数信号と前記第３の画素保持手段に保持された画素信号とを乗算する第１の乗算手段と、
前記第１の乗算手段から出力される画素信号と所定の第１の信号とを加算する第１の加算手段と、
前記入力画素クロック信号に同期して前記第１の加算手段から出力される画素信号を保持する第４の画素保持手段と、
前記信号生成手段からの第１の制御信号に従って前記第４の画素保持手段に保持された画素信号又は「０」の値を選択して前記第１の信号を出力する第１の選択手段と、
前記第２の係数信号と前記画像入力信号の画素信号とを乗算する第２の乗算手段と、
前記第３の係数信号と前記第１の画素保持手段に保持された画素信号とを乗算する第３の乗算手段と、
前記第２の乗算手段から出力される画素信号と前記第３の乗算手段から出力される画素信号とを加算する第２の加算手段と、
所定の第２の信号と前記第２の画素保持手段に保持された画素信号とを乗算する第４の乗算手段と、
前記第４の乗算手段から出力される画素信号と前記第２の加算手段から出力される画素信号とを加算する第３の加算手段と、
前記第３の加算手段から出力される画素信号と前記第１の加算手段から出力される画素信号とを加算する第４の加算手段と、
所定の第３の信号から前記第１の係数信号を減算する第５の加算手段と、
前記係数クロック信号に同期して前記第５の加算手段から出力される信号を保持する保持手段と、
前記第１の制御信号に従って前記保持手段から出力される信号又は「１」の値を選択して前記第３の信号を出力する第２の選択手段と、
前記信号生成手段からの第２の制御信号に従って前記第５の加算手段から出力される信号又は第４の係数信号を選択して前記第２の信号を出力する第３の選択手段と、
前記第４の加算手段から出力される画素信号を保持して前記出力画素クロック信号に同期して画像出力信号として出力する第５の画素保持手段と
を有することを特徴とする画像処理装置。
【請求項３】
信号生成手段は、キュービック法、最近傍法、線形補間法若しくは累積加算のない投影法、又は累積加算のある投影法の画像処理のアルゴリズムからいずれか１つのアルゴリズムを設定するための第１および第２の制御信号を生成することを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
信号生成手段は、それぞれ「１」又は「０」の値となる２ビットの制御信号によって画像処理のアルゴリズムの方法を設定することを特徴とする請求項３記載の画像処理装置。
【請求項５】
画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号および係数クロック信号を生成する第１のステップと、
前記第１のステップによって生成された前記第１および第２の制御信号に基づくアルゴリズム並びに前記第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行う第２のステップとを有し、
前記第２のステップは、
前記第１および第２の制御信号によってキュービック法のアルゴリズムが設定された場合において、
縮小処理時には、画素出力の有無を判定するステップと、画素出力が有る場合には前記第１乃至第４の係数信号に対して連続した４個の入力画素信号を積和演算した結果を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行し、
拡大処理時には、前記第１乃至第４の係数信号に対して連続した４個の入力画素信号を積和演算した結果を出力画素信号とするステップと、画素入力の有無を判定するステップと、画素入力が有る場合には次の入力画素信号を指定するステップとからなるループ処理を最後の画素出力まで繰り返し実行し、
前記第１および第２の制御信号によって線形補間法若しくは累積加算のない投影法のアルゴリズムが設定された場合において、
縮小処理時には、前記第１の係数信号と「１」の値から前記第１の係数信号を減算した値に対して連続した２個の入力画素信号を積和演算するステップと、画素出力の有無を判定するステップと、画素出力が有る場合には前記積和演算した結果を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行し、
拡大処理時には、前記第１の係数信号と「１」の値から前記第１の係数信号を減じた値とに対して連続した２個の入力画素信号を積和演算した結果を出力画素信号とするステップと、画素入力の有無を判定するステップと、画素入力が有る場合には次の入力画素信号を指定するステップとからなるループ処理を最後の画素出力まで繰り返し実行し、
前記第１および第２の制御信号によって累積加算のある投影法のアルゴリズムが設定された場合の縮小処理時において、
前記第１の係数信号と前記入力画素信号とを乗算して第１の信号を算出するステップと、累積加算の有無を判定するステップと、累積加算が有る場合には係数累積結果から前記第１の係数信号を減算して第１の信号とし且つ前記第１の信号と画素累積結果を加算して第２の信号とするステップと、前記累積加算が無い場合には「１」の値から前記第１の係数信号を減算して第１の信号とし且つ前記第１の信号を第２の信号とするステップと、前記累積加算の有無にかかわらず前記第１の信号に次の入力画素信号を乗算して第２の信号を算出し、前記第２の信号に前記第２の信号を加算して第３の信号を算出し、前記第１の信号を係数累積結果とし、前記第２の信号を画素累積結果とするステップ、画素出力の有無を判定するステップと、画素出力が有る場合には前記第３の信号を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行することを特徴とする画像処理方法。
【請求項６】
第１のステップは、キュービック法、最近傍法、線形補間法若しくは累積加算のない投影法、又は累積加算のある投影法の画像処理のアルゴリズムからいずれか１つのアルゴリズムを設定するための第１および第２の制御信号を生成することを特徴とする請求項５記載の画像処理方法。
【請求項７】
第１のステップは、それぞれ「１」又は「０」の値となる２ビットの制御信号によって画像処理のアルゴリズムの方法を設定することを特徴とする請求項６記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、デジタル画像を拡大あるいは縮小する画像処理装置および画像処理方法に関する。
【０００２】
【従来の技術】
デジタル画像を拡大、縮小する画像処理装置および画像処理方法においては、キュービック法、最近傍法、線形補間法、投影法等が主に用いられている。
【０００３】
図１９は、特開平１１−２５０６７号公報において提案されたデジタル画像の拡大、縮小の画像処理を行う装置のブロック図である。図において、９０１は畳込演算装置、９１１は補間フィルタ係数演算装置、９１２−１〜９１２−４は４個のメモリ、９１３−１〜９１３−４は４個の乗算回路、９１４は総和回路である。
【０００４】
次に、動作について説明する。
補間フィルタ係数演算装置９１１は位相Ｐが入力されるとデジタル画像の拡大、縮小に必要な４個の補間フィルタ係数を出力する。メモリ９１２−１〜９１２−４はクロック信号に応じて入力される画素データを順にシフトして保持する。乗算回路９１３−１〜９１３−４は、メモリ９１２−１〜９１２−４に保持された画像データと補間フィルタ係数演算装置９１１から出力される補間フィルタ係数とをそれぞれ乗算して、各乗算結果を総和回路９１４に入力する。総和回路９１４は４個の乗算結果の総和をとって補間点の画素データを出力することでデジタル画像の拡大、縮小を実現している。
【０００５】
また、図２０は、特開平４−３５２５６８号公報において提案されたデジタル画像の拡大、縮小の画像処理を行う拡大縮小装置のブロック図である。図において、８０３，８０４はメモリ、８０７，８０８はＲＯＭ、８０９は制御部、８１０，８１１は乗算器、８１２はセレクタ、８１３は加算器、８１４，８１５，８１６はラッチである。
【０００６】
次に、動作について説明する。
ライトクロック８０２に従って入力された画像入力信号８０１とメモリ８０３に記憶されている前画像信号に対して、入力倍率信号８０６に基づいて制御部８０９から出力されるカウント信号８０９ａによって、ＲＯＭ８０７から読み出される拡大縮小係数８０７ａおよび８０７ｂを乗算器８１０，８１１で乗算する。拡大の場合には、乗算結果は加算器８１３により加算されてラッチ８１４を経て副走査方向に拡大された画像出力信号８０５となる。また、縮小の場合には、メモリ８０４に中間データを蓄え、このデータと乗算器８１０の出力を縮小の入力倍率信号８０６に応じてセレクタ８１２で選択して加算器８１３で加算し、ラッチ８１４を経て間引き処理の行われた副走査方向に縮小された画像出力信号８０５となる。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記特開平１１−２５０６７号公報において提案された画像処理方法では、画素を保持するメモリが４個であり同時に参照できる画素数は最大４画素である。そのため図１９から明らかなように、０．２５倍未満の倍率の投影法を実現することが不可能であった。
【０００８】
一方、特開平４−３５２５６８号公報に提案された画像処理方法では、１個のメモリが累積加算結果を保持しているため０．２５倍未満の倍率の投影法でも実現可能であるが、同時に参照できる画素が最大２画素であるために、キュービック法を実現することが不可能であった。
【０００９】
このように、上記従来の画像処理装置および画像処理方法は以上のように構成されているので、画像処理のアルゴリズムが特定のものに固定されてしまうため、拡大あるいは縮小の対象である入力画像の種類に柔軟に対応した画像処理が困難であるという課題があった。
【００１０】
この発明は上記のような課題を解決するためになされたもので、キュービック法、最近傍法、線形補間法、投影法でデジタル画像の拡大、縮小を柔軟に行う画像処理装置および画像処理方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
この発明に係る画像処理装置は、画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号、および係数クロック信号を生成する信号生成手段と、信号生成手段によって生成された第１および第２の制御信号に基づくアルゴリズム並びに第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行うアルゴリズム実行手段とを有し、アルゴリズム実行手段は、入力画素クロック信号に同期して画像入力信号の画素信号を保持する第１の画素保持手段と、入力画素クロック信号に同期して第１の画素保持手段から出力される画素信号を保持する第２の画素保持手段と、入力画素クロック信号に同期して第２の画素保持手段から出力される画素信号を保持する第３の画素保持手段と、第１の係数信号と第３の画素保持手段に保持された画素信号とを乗算する第１の乗算手段と、第１の乗算手段から出力される画素信号と所定の第１の信号とを加算する第１の加算手段と、入力画素クロック信号に同期して第１の加算手段から出力される画素信号を保持する第４の画素保持手段と、信号生成手段からの第１の制御信号に従って第４の画素保持手段に保持された画素信号又は「０」の値を選択して第１の信号を出力する第１の選択手段と、第２の係数信号と画像入力信号の画素信号とを乗算する第２の乗算手段と、第３の係数信号と第１の画素保持手段に保持された画素信号とを乗算する第３の乗算手段と、第２の乗算手段から出力される画素信号と第３の乗算手段から出力される画素信号とを加算する第２の加算手段と、所定の第２の信号と第２の画素保持手段に保持された画素信号とを乗算する第４の乗算手段と、第４の乗算手段から出力される画素信号と第１の加算手段から出力される画素信号とを加算する第３の加算手段と、第３の加算手段から出力される画素信号と第２の加算手段から出力される画素信号とを加算する第４の加算手段と、信号生成手段からの第２の制御信号に従って第３の加算手段から出力される画素信号又は第４の加算手段から出力される画素信号を選択して出力する第２の選択手段と、所定の第３の信号から第１の係数信号を減算する第５の加算手段と、係数クロック信号に同期して第５の加算手段から出力される信号を保持する保持手段と、第１の制御信号に従って保持手段から出力される信号又は「１」の値を選択して第３の信号を出力する第３の選択手段と、第２の制御信号に従って第５の加算手段から出力される信号又は第４の係数信号を選択して第２の信号を出力する第４の選択手段と、第２の選択手段から出力される画素信号を保持して出力画素クロック信号に同期して画像出力として出力する第５の画素保持手段と有するものである。
この発明に係る画像処理装置は、画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号および係数クロック信号を生成する信号生成手段と、信号生成手段によって生成された第１および第２の制御信号に基づくアルゴリズム並びに第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行うアルゴリズム実行手段とを有し、アルゴリズム実行手段は、入力画素クロック信号に同期して画像入力信号の画素信号を保持する第１の画素保持手段と、入力画素クロック信号に同期して第１の画素保持手段から出力される画素信号を保持する第２の画素保持手段と、入力画素クロック信号に同期して第２の画素保持手段から出力される画素信号を保持する第３の画素保持手段と、第１の係数信号と第３の画素保持手段に保持された画素信号とを乗算する第１の乗算手段と、第１の乗算手段から出力される画素信号と所定の第１の信号とを加算する第１の加算手段と、入力画素クロック信号に同期して第１の加算手段から出力される画素信号を保持する第４の画素保持手段と、信号生成手段からの第１の制御信号に従って第４の画素保持手段に保持された画素信号又は「０」の値を選択して第１の信号を出力する第１の選択手段と、第２の係数信号と画像入力信号の画素信号とを乗算する第２の乗算手段と、第３の係数信号と第１の画素保持手段に保持された画素信号とを乗算する第３の乗算手段と、第２の乗算手段から出力される画素信号と第３の乗算手段から出力される画素信号とを加算する第２の加算手段と、所定の第２の信号と第２の画素保持手段に保持された画素信号とを乗算する第４の乗算手段と、第４の乗算手段から出力される画素信号と第２の加算手段から出力される画素信号とを加算する第３の加算手段と、第３の加算手段から出力される画素信号と第１の加算手段から出力される画素信号とを加算する第４の加算手段と、所定の第３の信号から第１の係数信号を減算する第５の加算手段と、係数クロック信号に同期して第５の加算手段から出力される信号を保持する保持手段と、第１の制御信号に従って保持手段から出力される信号又は「１」の値を選択して第３の信号を出力する第２の選択手段と、信号生成手段からの第２の制御信号に従って第５の加算手段から出力される信号又は第４の係数信号を選択して第２の信号を出力する第３の選択手段と、第４の加算手段から出力される画素信号を保持して出力画素クロック信号に同期して画像出力信号として出力する第５の画素保持手段とを有するものである。
【００１２】
この発明に係る画像処理装置において、信号生成手段は、キュービック法、最近傍法、線形補間法若しくは累積加算のない投影法、又は累積加算のある投影法の画像処理のアルゴリズムからいずれか１つのアルゴリズムを設定するための第１および第２の制御信号を生成するものである。
【００１３】
この発明に係る画像処理装置において、信号生成手段は、それぞれ「１」又は「０」の値となる２ビットの制御信号によって画像処理のアルゴリズムの方法を設定するものである。
【００１７】
この発明に係る画像処理方法は、画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号、および係数クロック信号を生成する第１のステップと、第１のステップによって生成された第１および第２の制御信号に基づくアルゴリズム並びに第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行う第２のステップとを有し、第２のステップは、第１および第２の制御信号によってキュービック法のアルゴリズムが設定された場合において、縮小処理時には、画素出力の有無を判定するステップと、画素出力が有る場合には第１乃至第４の係数信号に対して連続した４個の入力画素信号を積和演算した結果を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行し、拡大処理時には、第１乃至第４の係数信号に対して連続した４個の入力画素信号を積和演算した結果を出力画素信号とするステップと、画素入力の有無を判定するステップと、画素入力が有る場合には次の入力画素信号を指定するステップとからなるループ処理を最後の画素出力まで繰り返し実行し、第１および第２の制御信号によって線形補間法若しくは累積加算のない投影法のアルゴリズムが設定された場合において、縮小処理時には、第１の係数信号と「１」の値から第１の係数信号を減算した値に対して連続した２個の入力画素信号を積和演算するステップと、画素出力の有無を判定するステップと、画素出力が有る場合には積和演算した結果を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行し、拡大処理時には、第１の係数信号と「１」の値から第１の係数信号を減じた値とに対して連続した２個の入力画素信号を積和演算した結果を出力画素信号とするステップと、画素入力の有無を判定するステップと、画素入力が有る場合には次の入力画素信号を指定するステップとからなるループ処理を最後の画素出力まで繰り返し実行し、第１および第２の制御信号によって累積加算のある投影法のアルゴリズムが設定された場合の縮小処理時において、第１の係数信号と入力画素信号とを乗算して第１の信号を算出するステップと、累積加算の有無を判定するステップと、累積加算が有る場合には係数累積結果から第１の係数信号を減算して第１の信号とし且つ第１の信号と画素累積結果を加算して第２の信号とするステップと、累積加算が無い場合には「１」の値から第１の係数信号を減算して第１の信号とし且つ第１の信号を第２の信号とするステップと、累積加算の有無にかかわらず第１の信号に次の入力画素信号を乗算して第２の信号を算出し、第２の信号に第２の信号を加算して第３の信号を算出し、第１の信号を係数累積結果とし、第２の信号を画素累積結果とするステップ、画素出力の有無を判定するステップと、画素出力が有る場合には第３の信号を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行するものである。
【００１８】
この発明に係る画像処理方法において、第１のステップは、キュービック法、最近傍法、線形補間法若しくは累積加算のない投影法、又は累積加算のある投影法の画像処理のアルゴリズムからいずれか１つのアルゴリズムを設定するための第１および第２の制御信号を生成するものである。
【００１９】
この発明に係る画像処理方法において、第１のステップは、それぞれ「１」又は「０」の値となる２ビットの制御信号によって画像処理のアルゴリズムの方法を設定するものである。
【００２２】
【発明の実施の形態】
実施の形態１．
図１はこの発明の実施の形態１における画像処理装置の構成を示すブロック図である。この図において、１は画像拡大縮小装置（アルゴリズム実行手段）、９１はタイミング生成装置（信号生成手段）、９３は係数保持装置である。
【００２３】
次に動作について説明する。係数保持装置９３は、あらかじめ設定された倍率信号９５および拡大縮小アルゴリズムセレクト信号９６に応じて、タイミング生成信号９４をタイミング生成装置９１に入力する。タイミング生成装置９１は、このタイミング生成信号９４および所定の基準クロック信号９２に応じて複数のタイミング信号を生成して画像拡大縮小装置１に入力する。複数のタイミング信号には、入力画素クロック信号７３、係数信号（Ａ）（第２の係数信号）７４、係数信号（Ｂ）（第３の係数信号）７５、係数信号（Ｃ）（第４の係数信号）７６、係数信号（Ｄ）（第１の係数信号）７７、係数クロック信号７８、累積加算セレクト信号７９、キュービック法セレクト信号８０、出力画素クロック信号８１がある。画像拡大縮小装置１は、これら複数のタイミング信号に応じて、画像入力信号７２に対して拡大処理あるいは縮小処理を行って画像出力信号６６を出力する。
【００２４】
図２は、画像拡大縮小装置１の内部構成を示すブロック図である。この図において、１１はフリップフロップからなるデータ保持用のＦ／Ｆ（Ａ）（第１の画素保持手段）、１２はＦ／Ｆ（Ｂ）（第２の画素保持手段）、１３はＦ／Ｆ（Ｃ）（第３の画素保持手段）、１４はＦ／Ｆ（Ｄ）（第４の画素保持手段）、１５はＦ／Ｆ（Ｅ）（第５の画素保持手段）、１６はＦ／Ｆ（Ｆ）（保持手段）、２１は２つの信号から１つの信号を選択するセレクタ（Ａ）（第１の選択手段）、２２はセレクタ（Ｂ）（第２の選択手段）、２３はセレクタ（Ｃ）（第４の選択手段）、２４はセレクタ（Ｄ）（第３の選択手段）、３１は２つの信号を乗算する乗算器（Ａ）（第１の乗算手段）、３２は乗算器（Ｂ）（第４の乗算手段）、３３は乗算器（Ｃ）（第３の乗算手段）、３４は乗算器（Ｄ）（第２の乗算手段）、４１は２つの信号を加算する加算器（Ａ）（第１の加算手段）、４２は加算器（Ｂ）（第３の加算手段）、４３は加算器（Ｃ）（第２の加算手段）、４４は加算器（Ｄ）（第４の加算手段）、４５は加算器（Ｅ）（第５の加算手段）である。
【００２５】
次に、動作について説明する。Ｆ／Ｆ（Ａ）１１は、ディジタル信号である画像入力信号７２の画素信号を入力画素クロック７３に同期して保持する。Ｆ／Ｆ（Ｂ）１２は、Ｆ／Ｆ（Ａ）１１から出力される画素信号５１を入力画素クロック信号７３に同期して保持する。Ｆ／Ｆ（Ｃ）１３は、Ｆ／Ｆ（Ｂ）１２から出力される画素信号５２を入力画素クロック７３に同期して保持する。
【００２６】
乗算器（Ａ）３１は、Ｆ／Ｆ（Ｃ）１３から出力される画素信号５３と係数信号（Ｄ）７７を乗算して信号５４として出力する。加算器（Ａ）４１は、乗算器（Ａ）３１から出力される信号５４とセレクタ（Ａ）２１から出力される信号５７を加算して信号５５として出力する。Ｆ／Ｆ（Ｄ）１４は、加算器（Ａ）４１から出力される信号５５を入力画素クロック７３に同期して保持する。
【００２７】
セレクタ（Ａ）２１は、Ｆ／Ｆ（Ｄ）１４から出力される信号５６と値「０」の信号５８のいずれかを累積加算セレクト信号７９で選択して信号５７として出力し、上記したように、加算器（Ａ）４１に入力する。この場合において、累積加算セレクト信号７９がＬＯＷすなわち値「０」の時には値「０」の信号５８を信号５７として出力し、累積加算セレクト信号７９がＨＩＧＨすなわち値「１」の時にはＦ／Ｆ（Ｄ）１４からの累積加算された信号５６を信号５７として出力する。
なお、この場合においては累積加算セレクト信号７９がＨＩＧＨの時に累積加算された信号５７が選択されるとしているが、累積加算セレクト信号７９がＬＯＷの時に累積加算された信号が選択されるような構成でもよい。
【００２８】
乗算器（Ｄ）３４は、画像入力信号７２の画素信号と係数信号（Ａ）７４とを乗算して信号５９として出力する。乗算器（Ｃ）３３は、Ｆ／Ｆ（Ａ）から出力される画素信号５１と係数信号（Ｂ）７５とを乗算して信号６０として出力する。加算器（Ｃ）４３は、乗算器（Ｄ）３４から出力される信号５９と乗算器（Ｃ）３３から出力される信号６０とを加算して信号６１として出力する。
【００２９】
乗算器（Ｂ）３２は、Ｆ／Ｆ（Ｂ）から出力される画素信号５２とセレクタ（Ｃ）２３から出力される信号６７とを乗算して信号６２として出力する。加算器（Ｂ）４２は乗算器（Ｂ）３２から出力される信号６２と加算器（Ａ）４１から出力される信号５５とを加算して信号６３として出力する。加算器（Ｄ）４４は、加算器（Ｂ）４２から出力される信号６３と加算器（Ｃ）４３から出力される信号６１とを加算して信号６４として出力する。
【００３０】
セレクタ（Ｂ）２２は、加算器（Ｂ）４２から出力される信号６３と加算器（Ｄ）４４から出力される信号６４のいずれかをキュービック法セレクト信号８０の値に応じて選択して信号６５として出力する。キュービック法セレクト信号８０がＬＯＷの時には、キュービック法によるアルゴリズム処理は行わず、加算器（Ｂ）４２から出力される信号６３を選択して出力する。一方、キュービック法セレクト信号８０がＨＩＧＨの時には、キュービック法によるアルゴリズム処理を行うために、加算器（Ｄ）４４から出力される信号６４を選択して出力する。なお、この場合において、キュービック法セレクト信号８０がＨＩＧＨの時にキュービック法が選択されるとしているが、キュービック法セレクト信号８０がＬＯＷの時にキュービック法が選択される構成でもよい。
【００３１】
加算器（Ｅ）４５は、セレクタ（Ｄ）２４から出力される信号７１から係数信号（Ｄ）７７を減算して信号６８として出力する。Ｆ／Ｆ（Ｆ）１６は、加算器（Ｅ）４５から出力される信号６８を係数クロック信号７８に同期して保持する。セレクタ（Ｄ）２４は、Ｆ／Ｆ（Ｆ）１６から出力される信号６９と値「１」のいずれかを累積加算セレクト信号７９の値に応じて選択して信号７１として出力する。累積加算セレクト信号７９がＬＯＷの時には値「１」の信号７０を選択して信号７１として出力する。一方、累積加算セレクト信号７９がＨＩＧＨの時にはＦ／Ｆ（Ｆ）１６から出力される信号６９を選択して信号７１として出力する。
なお、この場合にも、累積加算セレクト信号７９がＨＩＧＨの時に累積加算が選択されるとしているが、累積加算セレクト信号７９がＬＯＷの時に累積加算が選択される構成でもよい。
【００３２】
セレクタ（Ｃ）２３は、係数信号（Ｃ）７６と加算器（Ｅ）４５から出力される信号６８のいずれかをキュービック法セレクト信号８０の値に応じて選択して信号６７として出力する。キュービック法セレクト信号８０の値がＬＯＷの時には、キュービック法のアルゴリズム処理は行わず、加算器（Ｅ）４５から出力される信号６８を選択して信号６７として出力する。一方、キュービック法セレクト信号８０の値がＨＩＧＨの時には、キュービック法のアルゴリズム処理を行うために、係数信号（Ｃ）７６を選択して信号６７として出力する。
なお、この場合においても、キュービック法セレクト信号８０の値がＨＩＧＨの時にキュービック法が選択されるとしているが、キュービック法セレクト信号８０の値がＬＯＷの時にキュービック法が選択される構成でもよい。
Ｆ／Ｆ（Ｅ）１５は、セレクタ（Ｂ）２２から出力される信号６５を保持し、出力画素クロック信号８１に同期して画像出力信号６６として出力する。
【００３３】
このように、キュービック法セレクト信号８０および累積加算セレクト信号７９の値に応じて、キュービック法のアルゴリズム処理やその他のアルゴリズム処理を共通の画像拡大縮小装置１に実行させることができる。
【００３４】
次に、画像拡大縮小装置１にキュービック法のアルゴリズム処理を実行させる場合の構成について説明する。
この場合には、キュービック法セレクト信号８０をＨＩＧＨに設定し、累積加算セレクト信号７９をＬＯＷに設定する。したがって、累積加算セレクト信号７９によって、セレクタ（Ａ）２１は、Ｆ／Ｆ（Ｄ）１４に保持された信号５６は選択せず、常に値「０」の信号を選択して値「０」の信号５７を加算器（Ａ）４１に入力する。この結果、乗算器（Ａ）３１から出力される信号５４が加算器（Ｂ）４２に直接入力されることになる。すなわち、等価回路としては、セレクタ（Ａ）２１、Ｆ／Ｆ（Ｄ）１４、および加算器（Ａ）４１は省略できる。
【００３５】
また、キュービック法セレクト信号８０によって、セレクタ（Ｂ）２２は常に加算器（Ｄ）４４から出力される信号６４を選択してＦ／Ｆ（Ｅ）１５に入力する。したがって、加算器（Ｄ）４４から出力される信号６４がＦ／Ｆ（Ｅ）１５に直接入力される構成になる。
【００３６】
また、キュービック法セレクト信号８０によって、セレクタ（Ｃ）２３は加算器（Ｅ）４５から出力される信号６８は選択せず、常に係数信号（Ｃ）７６を選択して信号６７として乗算器（Ｂ）３２に入力する。この結果、係数信号（Ｃ）７６が乗算器（Ｂ）３２に直接入力される。すなわち、等価回路としては、加算器（Ｅ）４５、Ｆ／Ｆ（Ｆ）１６、セレクタ（Ｃ）２３およびセレクタ（Ｄ）２４は省略できる。
【００３７】
したがって、キュービック法セレクト信号８０をＨＩＧＨに設定し、累積加算セレクト信号７９をＬＯＷに設定した場合の等価回路のブロック図は図３に示す構成になる。
【００３８】
次に、動作について説明する。
図４は、図３におけるＦ／Ｆ（Ａ）１１、Ｆ／Ｆ（Ｂ）１２、Ｆ／Ｆ（Ｃ）１３の構成において、画素信号が伝播される動作を示している。入力画素クロック信号７３がクロック１、クロック２、クロック３、クロック４と変化するに従って、画像入力信号７２の画素信号は、画素信号Ａ、画素信号Ｂ、画素信号Ｃ、画素信号ＤとしてＦ／Ｆ（Ａ）１１に入力される。この結果、入力画素クロック信号７３と同期してＦ／Ｆ（Ａ）１１、Ｆ／Ｆ（Ｂ）１２、Ｆ／Ｆ（Ｃ）１３には、順番に画素信号がシフト動作で伝播されていく。クロック４の状態ではＦ／Ｆ（Ｃ）１３に画素信号Ａが、Ｆ／Ｆ（Ｂ）１２に画素信号Ｂが、Ｆ／Ｆ（Ａ）１１に画素信号Ｃが、画像入力信号７２に画素信号Ｄが保持される。
【００３９】
したがってクロック４の状態では、乗算器（Ａ）３１では画素信号Ａと係数信号（Ｄ）７７とが乗算され、乗算器（Ｂ）３２では画素信号Ｂと係数信号（Ｃ）７６とが乗算され、乗算器（Ｃ）３３では画素信号Ｃと係数信号（Ｂ）７５とが乗算され、乗算器（Ｄ）３４では画素信号Ｄと係数信号（Ａ）７４とが乗算される。さらに、加算器（Ｂ）４２では乗算器（Ａ）３１から出力される信号５４と乗算器（Ｂ）３２から出力される信号６２の加算が行われ、加算器（Ｃ）４３では乗算器（Ｃ）３３から出力される信号６０と乗算器（Ｄ）３４から出力される信号５９の加算が行われる。そして最終的には、加算器（Ｄ）４４において加算器（Ｂ）４２から出力される信号６３と加算器（Ｃ）４３から出力される信号６１の加算が行われ、各画素信号と係数信号の積和演算の結果がＦ／Ｆ（Ｅ）１５に送られる。Ｆ／Ｆ（Ｅ）１５では、出力画素クロック信号８１に同期して加算器（Ｄ）４４から出力される信号６４を取り込み、画像出力信号６６として出力される。
【００４０】
図５は、図３の画像拡大縮小装置１によって実行されるキュービック法（倍率１．０倍未満）による縮小処理のアルゴリズムの動作フローである。この動作フローでは、Ｎ個の入力画素である入力画素（０）〜入力画素（Ｎ−１）に対して、Ｍ個の出力画素である出力画素（０）〜出力画素（Ｍ−１）を出力する場合を示している。この場合は縮小処理であるので、ＭはＮより小さい値である。
【００４１】
ステップＳＴ１では処理の初期化を行って、それ以降のステップで使用する変数に初期値を与えておく。入力画素（Ｎ）には入力画素（Ｎ−１）を代入する。入力画素（Ｎ）はＮ番目の入力画素である。同様に入力画素（Ｎ＋１）に入力画素（Ｎ−１）を、入力画素（Ｎ＋２）に入力画素（Ｎ−１）を代入する。そして出力画素数を表す変数ｍに「０」を代入する。ステップＳＴ１が終了するとステップＳＴ２に移行する。
【００４２】
ステップＳＴ２では入力画素の個数分のループを開始する。入力画素の個数は変数ｎで表されるので、ステップＳＴ２において変数ｎに「０」を代入して個数分のループを開始する。ステップＳＴ２が終了するとステップＳＴ３に移行する。ステップＳＴ３では画素出力の有無を判定する。画素出力がある場合にはステップＳＴ４に移行し、画素出力がない場合にはステップＳＴ８に移行する。
【００４３】
ステップＳＴ４では、ｍ番目の係数信号（Ｄ）である係数Ｄ（ｍ）とｎ番目の入力画素である入力画素（ｎ）を乗算した結果を乗算Ａ（ｍ）に代入する。乗算Ａ（ｍ）はｍ番目の乗算Ａの結果である。この乗算は、図３の乗算器（Ａ）３１での乗算に相当する。同様に、係数Ｃ（ｍ）と入力画素（ｎ＋１）を乗算した結果を乗算Ｂ（ｍ）に、係数Ｂ（ｍ）と入力画素（ｎ＋２）を乗算した結果を乗算Ｃ（ｍ）に、係数Ａ（ｍ）と入力画素（ｎ＋３）を乗算した結果を乗算Ｄ（ｍ）に代入する。これらの乗算はそれぞれ、図３の乗算器（Ｂ）３２、乗算器（Ｃ）３３、乗算器（Ｄ）３４での乗算に相当する。ステップＳＴ４が終了するとステップＳＴ５に移行する。
【００４４】
ステップＳＴ５では、乗算Ｃ（ｍ）と乗算Ｄ（ｍ）を加算した結果を加算Ｃ（ｍ）に代入する。加算Ｃ（ｍ）はｍ番目の加算Ｃの結果である。この加算は、図３の加算器（Ｃ）４３での加算に相当する。また、乗算Ａ（ｍ）と乗算Ｂ（ｍ）を加算した結果を加算Ｂ（ｍ）に代入する。加算Ｂ（ｍ）はｍ番目の加算Ｂの結果である。この加算は図３の加算器（Ｂ）４２での加算に相当する。ステップＳＴ５が終了するとステップＳＴ６に移行する。
【００４５】
ステップＳＴ６では、加算Ｂ（ｍ）と加算Ｃ（ｍ）を加算した結果を加算Ｄ（ｍ）に代入する。加算Ｄ（ｍ）はｍ番目の加算Ｃの結果である。この加算は、図３の加算器（Ｄ）４４での加算に相当する。ステップＳＴ６が終了するとステップＳＴ７に移行する。ステップＳＴ７では、加算Ｄ（ｍ）を出力画素（ｍ）に代入して出力画素を決定する。出力画素（ｍ）はｍ番目の出力画素である。この代入は図３のＦ／Ｆ（Ｅ）１５への代入に相当する。そして出力画素数ｍをインクリメントする。ステップＳＴ７が終了するとステップＳＴ８に移行する。
【００４６】
ステップＳＴ８では変数ｎの値をインクリメントする。ステップＳＴ８が終了するとステップＳＴ９に移行する。ステップＳＴ９ではループの終了を判定する。入力画素数ｎがＮになっていたら処理を終了し、Ｎ未満の場合はステップＳＴ３に移行して上記ループを繰り返す。
【００４７】
図６は、図３の画像拡大縮小装置１によって実行されるキュービック法（倍率１．０倍以上）による拡大処理のアルゴリズムの動作フローである。この動作フローでは、Ｎ個の入力画素である入力画素（０）〜入力画素（Ｎ−１）に対して、Ｍ個の出力画素である出力画素（０）〜出力画素（Ｍ−１）を出力する場合を示している。この場合は拡大処理であるので、ＭはＮより大きい。
【００４８】
ステップＳＴ１１では処理の初期化を行って、それ以降のステップで使用する変数に初期値を与えておく。入力画素（Ｎ）には入力画素（Ｎ−１）を代入する。入力画素（Ｎ）はＮ番目の入力画素である。同様に、入力画素（Ｎ＋１）に入力画素（Ｎ−１）を、入力画素（Ｎ＋２）に入力画素（Ｎ−１）を代入する。そして入力画素数を表す変数ｎに「０」を代入する。ステップＳＴ１１が終了するとステップＳＴ１２に移行する。
【００４９】
ステップＳＴ１２では出力画素の個数分のループを開始する。出力画素の個数は変数ｍで表されるので、変数ｍに初期値「０」を代入する。ステップＳＴ１２が終了するとステップＳＴ１３に移行する。ステップＳＴ１３では、ｍ番目の係数信号（Ｄ）である係数Ｄ（ｍ）とｎ番目の入力画素である入力画素（ｎ）を乗算した結果を乗算Ａ（ｍ）に代入する。乗算Ａ（ｍ）はｍ番目の乗算Ａの結果である。この乗算は、図３の乗算器（Ａ）３１での乗算に相当する。同様に、係数Ｃ（ｍ）と入力画素（ｎ＋１）を乗算した結果を乗算Ｂ（ｍ）に、係数Ｂ（ｍ）と入力画素（ｎ＋２）を乗算した結果を乗算Ｃ（ｍ）に、係数Ａ（ｍ）と入力画素（ｎ＋３）を乗算した結果を乗算Ｄ（ｍ）に代入する。これらの乗算は、図３の乗算器（Ｂ）３２、乗算器（Ｃ）３３、乗算器（Ｄ）３４での乗算に相当する。ステップＳＴ１３が終了するとステップＳＴ１４に移行する。
【００５０】
ステップＳＴ１４では、乗算Ｃ（ｍ）と乗算Ｄ（ｍ）とを加算した結果を加算Ｃ（ｍ）に代入する。加算Ｃ（ｍ）はｍ番目の加算Ｃの結果である。この加算は、図３の加算器（Ｃ）４３での加算に相当する。また、乗算Ａ（ｍ）と乗算Ｂ（ｍ）を加算した結果を加算Ｂ（ｍ）に代入する。加算Ｂ（ｍ）はｍ番目の加算Ｂの結果である。この加算は、図３の加算器（Ｂ）４２での加算に相当する。ステップＳＴ１４が終了するとステップＳＴ１５に移行する。
【００５１】
ステップＳＴ１５では、加算Ｂ（ｍ）と加算Ｃ（ｍ）を加算した結果を加算Ｄ（ｍ）に代入する。加算Ｄ（ｍ）はｍ番目の加算Ｃの結果である。この加算は、図３の加算器（Ｄ）４４での加算に相当する。ステップＳＴ１５が終了するとステップＳＴ１６に移行する。ステップＳＴ１６では、加算Ｄ（ｍ）を出力画素（ｍ）に代入して出力画素を決定する。出力画素（ｍ）はｍ番目の出力画素である。この代入は、図３のＦ／Ｆ（Ｅ）１５への代入に相当する。ステップＳＴ１６が終了するとステップＳＴ１７に移行する。
【００５２】
ステップＳＴ１７では、画素入力の有無を判定する。画素入力がある場合にはステップＳＴ１８に移行し、画素入力がない場合にはステップＳＴ１９に移行する。ステップＳＴ１８では入力画素数ｎをインクリメントする。ステップＳＴ１８の後、又はステップＳＴ１７において画素入力がない場合には、ステップＳＴ１９に移行してｍの値をインクリメントする。ステップＳＴ１９が終了するとステップＳＴ２０に移行する。ステップＳＴ２０では、出力画素数ｍの値に応じてループの終了を判定する。出力画素数ｍの値がＭになっていたら処理を終了し、ｍの値がＭ未満の場合はステップＳＴ１３に移行して、上記ループ処理を繰り返す。
【００５３】
次に、画像拡大縮小装置１に線形補間法および累積加算のない投影法のアルゴリズム処理を実行させる場合の構成について説明する。
この場合には、キュービック法セレクト信号８０をＬＯＷに設定し、累積加算セレクト信号７９をＬＯＷに設定する。したがって、累積加算セレクト信号７９によって、セレクタ（Ａ）２１はＦ／Ｆ（Ｄ）１４に保持された信号５６は選択せず、常に値「０」の信号を選択して値「０」の信号５７を加算器（Ａ）４１に出力する。この結果、乗算器（Ａ）３１からの出力が加算器（Ｂ）４２に直接入力される。すなわち、等価回路としては、セレクタ（Ａ）２１、Ｆ／Ｆ（Ｄ）１４、および加算器（Ａ）４１は省略できる。
【００５４】
また、キュービック法セレクト信号８０によって、セレクタ（Ｂ）２２は加算器（Ｄ）４４から出力される信号６４は選択せず、常に加算器（Ｂ）４２から出力される信号６３を選択してＦ／Ｆ（Ｅ）１５に入力する。したがって、加算器（Ｂ）４２から出力される信号６３がＦ／Ｆ（Ｅ）１５に直接入力される構成になる。また、加算器（Ｄ）４４から出力される信号６４は使用されないので、Ｆ／Ｆ（Ａ）１１からの出力、係数信号（Ａ）７４および係数信号（Ｂ）７５も使用されない。すなわち、等価回路としては、セレクタ（Ｂ）２２、加算器（Ｄ）４４、加算器（Ｃ）４３、乗算器（Ｃ）３３、および乗算器（Ｄ）３４は省略できる。
【００５５】
また、キュービック法セレクト信号８０によって、セレクタ（Ｃ）２３は係数信号（Ｃ）７６を選択せず、常に加算器（Ｅ）４５から出力される信号６８を選択して信号６７として乗算器（Ｂ）３２に入力する。この結果、係数信号（Ｃ）７６は使用されず、等価回路としては、セレクタ（Ｃ）２３は省略できる。
【００５６】
また、累積加算セレクト信号７９によって、セレクタ（Ｄ）２４はＦ／Ｆ（Ｆ）１６から出力される信号６９を選択せず、常に値「１」の信号７０を選択して信号７１として加算器（Ｅ）４５に入力する。この結果、値「１」が加算器（Ｅ）４５に直接入力される構成になる。すなわち、等価回路としては、セレクタ（Ｄ）２４、Ｆ／Ｆ（Ｆ）１６は省略できる。
【００５７】
したがって、キュービック法セレクト信号８０をＬＯＷに設定し、累積加算セレクト信号７９をＬＯＷに設定した場合の等価回路のブロック図は図７に示す構成になる。
【００５８】
次に、動作について説明する。
図８は、図７の画像拡大縮小装置１によって実行される線形補間法および累積加算のない投影法（倍率０．５倍以上１．０未満）による縮小処理のアルゴリズムの動作フローである。この動作フローでは、Ｎ個の入力画素である入力画素（０）〜入力画素（Ｎ−１）に対して、Ｍ個の出力画素である出力画素（０）〜出力画素（Ｍ−１）を出力する場合を示している。この場合は縮小処理であるので、ＭはＮより小さい。
【００５９】
ステップＳＴ２１では処理の初期化を行って、それ以降のステップで使用する変数に初期値を与えておく。入力画素（Ｎ）には入力画素（Ｎ−１）を代入する。入力画素（Ｎ）はＮ番目の入力画素である。そして出力画素数を表す変数ｍに「０」を代入する。ステップＳＴ２１が終了するとステップＳＴ２２に移行する。
【００６０】
ステップＳＴ２２では入力画素の個数分のループを開始する。入力画素の個数は変数ｎで表されるので、ｎの値に初期値「０」を代入する。ステップＳＴ２２が終了するとステップＳＴ２３に移行する。ステップＳＴ２３では、ｎ番目の係数信号（Ｄ）である係数（ｎ）とｎ番目の入力画素である入力画素（ｎ）を乗算した結果を乗算Ａ（ｎ）に代入する。乗算Ａ（ｎ）はｎ番目の乗算Ａの結果である。この乗算は、図７の乗算器（Ａ）３１での乗算に相当する。ステップＳＴ２３が終了するとステップＳＴ２４に移行する。
【００６１】
ステップＳＴ２４では、係数（ｎ）を「１」から減算した値を加算Ｅ（ｎ）に代入する。加算Ｅ（ｎ）はｎ番目の加算Ｅの結果である。この加算は、図７の加算器（Ｅ）４５での加算に相当する。ステップＳＴ２４が終了するとステップＳＴ２５に移行する。
【００６２】
ステップＳＴ２５では、加算Ｅ（ｎ）と入力画素（ｎ＋１）の乗算結果を乗算Ｂ（ｎ）に代入する。乗算Ｂ（ｎ）はｎ番目の乗算Ｂの結果である。この乗算は、図７の乗算器（Ｂ）３２での乗算に相当する。次に、乗算Ａ（ｎ）と乗算Ｂ（ｎ）の加算結果を加算Ｂ（ｎ）に代入する。加算Ｂ（ｎ）はｎ番目の加算Ｂの結果である。この加算は、図７の加算器（Ｂ）４２での加算に相当する。ステップＳＴ２５が終了するとステップＳＴ２６に移行する。
【００６３】
ステップＳＴ２６では画素出力の有無を判定する。画素出力がある場合にはステップＳＴ２７に移行し、画素出力がない場合にはステップＳＴ２８に移行する。ステップＳＴ２７では、加算Ｂ（ｎ）を出力画素（ｍ）に代入して出力画素を決定する。出力画素（ｍ）はｍ番目の出力画素である。この代入は、図７のＦ／Ｆ（Ｅ）１５への代入に相当する。そして、出力画素数ｍの値をインクリメントする。ステップＳＴ２７が終了するとステップＳＴ２８に移行する。
【００６４】
ステップＳＴ２８では、変数ｎの値をインクリメントする。ステップＳＴ２８が終了するとステップＳＴ２９に移行する。ステップＳＴ２９では、入力画素数ｎがＮになったか否かに応じてループの終了を判定する。入力画素数ｎがＮになっていたら処理を終了し、Ｎ未満の場合はステップＳＴ２３に移行して、上記ループ処理を繰り返す。
【００６５】
図９は、図７の画像拡大縮小装置１によって実行される線形補間法および累積加算のない投影法（倍率１．０倍以上）の動作フローである。この動作フローではＮ個の入力画素である入力画素（０）〜入力画素（Ｎ−１）に対して、Ｍ個の出力画素である出力画素（０）〜出力画素（Ｍ−１）を出力する場合を示している。この場合には拡大処理であるのでＭはＮより大きい。
【００６６】
ステップＳＴ３１では処理の初期化を行って、それ以降のステップで使用する変数に初期値を与えておく。入力画素（Ｎ）には入力画素（Ｎ−１）を代入する。入力画素（Ｎ）はＮ番目の入力画素である。そして入力画素数を表す変数ｎに「０」を代入する。ステップＳＴ３１が終了するとステップＳＴ３２に移行する。
【００６７】
ステップＳＴ３２では出力画素の個数分のループを開始する。出力画素の個数は変数ｍで表されるので、変数ｍに初期値「０」を代入する。ステップＳＴ３２が終了するとステップＳＴ３３に移行する。ステップＳＴ３３では、ｍ番目の係数信号（Ｄ）である係数（ｍ）とｎ番目の入力画素である入力画素（ｎ）を乗算した結果を乗算Ａ（ｍ）に代入する。乗算Ａ（ｍ）はｍ番目の乗算Ａの結果である。この乗算は、図７の乗算器（Ａ）３１での乗算に相当する。ステップＳＴ３３が終了するとステップＳＴ３４に移行する。
【００６８】
ステップＳＴ３４では、係数（ｍ）を「１」から減算した値を加算Ｅ（ｍ）に代入する。加算Ｅ（ｍ）はｍ番目の加算Ｅの結果である。この加算は、図７の加算器（Ｅ）４５での加算に相当する。ステップＳＴ３４が終了するとステップＳＴ３５に移行する。
【００６９】
ステップＳＴ３５では、加算Ｅ（ｍ）と入力画素（ｎ＋１）の乗算結果を乗算Ｂ（ｍ）に代入する。乗算Ｂ（ｍ）はｍ番目の乗算Ｂの結果である。この乗算は、図７の乗算器（Ｂ）３２での乗算に相当する。次に、乗算Ａ（ｍ）と乗算Ｂ（ｍ）の加算結果を加算Ｂ（ｍ）に代入する。加算Ｂ（ｍ）はｍ番目の加算Ｂの結果である。この加算は、図７の加算器（Ｂ）４２での加算に相当する。ステップＳＴ３５が終了するとステップＳＴ３６に移行する。ステップＳＴ３６では、加算Ｂ（ｍ）を出力画素（ｍ）に代入して出力画素を決定する。出力画素（ｍ）はｍ番目の出力画素である。この代入は、図７のＦ／Ｆ（Ｅ）１５への代入に相当する。ステップＳＴ３６が終了するとステップＳＴ３７に移行する。
【００７０】
ステップＳＴ３７では画素入力の有無を判定する。画素入力がある場合にはステップＳＴ３８に移行し、画素入力がない場合にはステップＳＴ３９に移行する。ステップＳＴ３８では入力画素数ｎの値をインクリメントする。ステップＳＴ３８が終了するとステップＳＴ３９に移行する。ステップＳＴ３９では出力画素数ｍの値をインクリメントする。ステップＳＴ３９が終了するとステップＳＴ４０に移行する。ステップＳＴ４０では、出力画素数ｍがＭになった否かに応じてループの終了を判定する。出力画素数ｍがＭになっていたら処理を終了し、Ｍ未満の場合はステップＳＴ３３に移行して上記ループ処理を繰り返す。
【００７１】
次に、画像拡大縮小装置１に累積加算のある投影法（倍率０．５倍未満）のアルゴリズム処理を実行させる場合の構成について説明する。
この場合には、キュービック法セレクト信号８０をＬＯＷに設定し、累積加算セレクト信号７９は画素毎にＬＯＷ又はＨＩＧＨに設定される。
【００７２】
したがって、図２の構成において、キュービック法セレクト信号８０によって、セレクタ（Ｂ）２２は加算器（Ｄ）４４から出力される信号６４は選択せず、常に加算器（Ｂ）４２から出力される信号６３を選択してＦ／Ｆ（Ｅ）１５に入力する。したがって、加算器（Ｂ）４２から出力される信号６３がＦ／Ｆ（Ｅ）１５に直接入力される構成になる。また、加算器（Ｄ）４４から出力される信号６４は使用されないので、Ｆ／Ｆ（Ａ）１１からの出力、係数信号（Ａ）７４および係数信号（Ｂ）７５も使用されない。すなわち、等価回路としては、セレクタ（Ｂ）２２、加算器（Ｄ）４４、加算器（Ｃ）４３、乗算器（Ｃ）３３、および乗算器（Ｄ）３４は省略できる。
【００７３】
また、キュービック法セレクト信号８０によって、セレクタ（Ｃ）２３は係数信号（Ｃ）を選択せず、常に加算器（Ｅ）４５から出力される信号６８を選択して信号６７として乗算器（Ｂ）３２に入力する。この結果、係数信号（Ｃ）は使用されず、等価回路としては、セレクタ（Ｃ）２３は省略できる。
【００７４】
したがって、図２の構成の等価回路のブロック図は図１０に示す構成になる。図１０の構成では、補間値を求めるためにＦ／Ｆ（Ｂ）１２から出力される画素信号５２およびＦ／Ｆ（Ｃ）１３から出力される画素信号５３が参照される。すなわち、キュービック法とは異なり画素入力信号７２の画素信号およびＦ／Ｆ（Ａ）１１から出力される画素信号５１が直接参照されることはない。
【００７５】
次に、動作について説明する。
図１１は、投影法１／３倍の時の動作例を示す説明図である。図１１（１）のように、３画素以上の入力画素に対して積和演算が必要な場合には、２画素の積和演算結果を一旦保持して、保持した値に残りの１画素の乗算結果を累積加算する。図１０のＦ／Ｆ（Ｄ）１４はその累積加算結果を保持する構成要素であり、累積加算を行う時には累積加算セレクト信号７９をＨＩＧＨにして、Ｆ／Ｆ（Ｄ）１４に保持されている画素信号５６をセレクタ（Ａ）２１によって選択して、信号５７として加算器（Ａ）４１に入力し、乗算器（Ａ）３１から出力される信号５４と加算して、その加算結果である信号５５をＦ／Ｆ（Ｄ）１４に再保持（更新して保持）する。この動作の繰り返しで累積加算が実現する。
【００７６】
また、係数信号（Ｄ）７７は乗算器（Ａ）３１へ入力される係数であり、加算器（Ｅ）４５から出力される信号６８は乗算器（Ｂ）３２へ入力される係数である。図１１（２）に示すように、係数信号（Ｄ）７７は係数クロック信号７８に従って、「１／３」、「１／３」、「１」、「１／３」、「１／３」、「１」と変化していく。
【００７７】
一方、加算器（Ｅ）４５から出力される信号６８は、セレクタ（Ｄ）２４から出力される信号７１から係数信号（Ｄ）７７を減算した値である。セレクタ（Ｄ）２４から出力される信号７１は累積加算が必要であり、累積加算セレクト信号７９の値がＨＩＧＨ又はＬＯＷに変化するに応じて変化する。累積加算セレクト信号７９がＬＯＷの時は、セレクタ（Ｄ）２４から出力される信号７１は常に「１」であるので、加算器（Ｅ）４５から出力される信号６８は常に「１」から係数信号（Ｄ）７７を減算した値になる。一方、累積加算セレクト信号７９がＨＩＧＨの時は、セレクタ（Ｄ）２４から出力される信号７１はＦ／Ｆ（Ｆ）１６から出力される信号６９になる。
【００７８】
累積加算セレクト信号７９が最初にＬＯＷからＨＩＧＨに変化する時点では、Ｆ／Ｆ（Ｆ）１６には「１」から係数信号（Ｄ）７７の値を減算した値が保持されている。累積加算セレクト信号７９がＨＩＧＨの間はＦ／Ｆ（Ｆ）１６内の値から係数信号（Ｄ）７７の値の減算が繰り返し行われる。累積加算セレクト信号７９がＬＯＷからＨＩＧＨに変化する直前に乗算器（Ａ）３１に送られた係数信号（Ｄ）７７から、累積加算セレクト信号７９がＨＩＧＨからＬＯＷに変化する直前までに、乗算器（Ａ）３１に送られた係数信号（Ｄ）７７と、累積加算セレクト信号７９がＨＩＧＨからＬＯＷに変化する直前の加算器（Ｅ）４５から出力される信号６９を加算するとその合計は「１」になる。図１１（２）では、係数クロック信号が「１」の時の係数信号（Ｄ）７７と、係数クロック信号が「２」の時の係数信号（Ｄ）７７および加算器（Ｅ）４５から出力される信号６８が累積加算に使用される係数であり、これらの和は合計「１」になる。
【００７９】
図１２は、図１０の画像拡大縮小装置１によって実行される累積加算のある投影法（倍率０．５倍未満）の動作フローである。この動作フローでは、Ｎ個の入力画素である入力画素（０）〜入力画素（Ｎ−１）に対して、Ｍ個の出力画素である出力画素（０）〜出力画素（Ｍ−１）を出力する場合を示している。この場合は倍率０．５倍未満の縮小処理であるので、ＭはＮの半分未満である。
【００８０】
ステップＳＴ４１では処理の初期化を行って、それ以降のステップで使用する変数に初期値を与えておく。入力画素（Ｎ）には入力画素（Ｎ−１）を代入する。入力画素（Ｎ）はＮ番目の入力画素である。次に、係数累積結果（−１）に「１」を代入する。係数累積結果（−１）は−１番目の係数累積結果である。さらに、画素累積結果（−１）に「０」を代入する。画素累積結果（−１）は−１番目の画素累積結果である。最後に出力画素数を表す変数ｍに「０」を代入する。ステップＳＴ４１が終了するとステップＳＴ４２に移行する。
【００８１】
ステップＳＴ４２では入力画素の個数分のループを開始する。入力画素の個数は変数ｎで表されるので、変数ｎに初期値「０」を代入する。ステップＳＴ４２が終了するとステップＳＴ４３に移行する。ステップＳＴ４３では、ｎ番目の係数信号（Ｄ）である係数（ｎ）とｎ番目の入力画素である入力画素（ｎ）を乗算した結果を乗算Ａ（ｎ）に代入する。乗算Ａ（ｎ）はｎ番目の乗算Ａの結果である。この乗算は、図１０の乗算器（Ａ）３１での乗算に相当する。ステップＳＴ４３が終了するとステップＳＴ４４に移行する。
【００８２】
ステップＳＴ４４では累積加算の有無を判定する。累積加算がない場合にはステップＳＴ４５に移行し、累積加算がある場合にはステップＳＴ４６に移行する。ステップＳＴ４５では、係数（ｎ）を「１」から減算した値を加算Ｅ（ｎ）に代入する。加算Ｅ（ｎ）はｎ番目の加算Ｅの結果である。この加算は、図１０の加算器（Ｅ）４５での加算に相当する。また、乗算Ａ（ｎ）を加算Ａ（ｎ）に代入する。加算Ａ（ｎ）はｎ番目の加算Ａの結果である。この代入は、図１０の加算器（Ａ）４１での「０」との加算に相当する。ステップＳＴ４６では係数累積結果（ｎ−１）から係数（ｎ）を減算した値を加算Ｅ（ｎ）に代入する。この加算は、図１０の加算器（Ｅ）４５での加算に相当する。また、乗算Ａ（ｎ）と画素累積結果（ｎ−１）の加算結果を加算Ａ（ｎ）に代入する。この加算は、図１０の加算器（Ａ）４１での加算に相当する。ステップＳＴ４５又はステップＳＴ４６が終了するとステップＳＴ４７に移行する。
【００８３】
ステップＳＴ４７では、加算Ｅ（ｎ）と入力画素（ｎ＋１）の乗算結果を乗算Ｂ（ｎ）に代入する。乗算Ｂ（ｎ）はｎ番目の乗算Ｂの結果である。この乗算は、図１０の乗算器（Ｂ）３２での乗算に相当する。次に、加算Ａ（ｎ）と乗算Ｂ（ｎ）の加算結果を加算Ｂ（ｎ）に代入する。加算Ｂ（ｎ）はｎ番目の加算Ｂの結果である。この加算は、図１０の加算器（Ｂ）４２での加算に相当する。さらに、加算Ｅ（ｎ）を係数累積結果（ｎ）に代入する。この代入は、図１０のＦ／Ｆ（Ｆ）１５への代入に相当する。最後に加算Ａ（ｎ）を画素累積結果（ｎ）に代入する。この代入は、図１０のＦ／Ｆ（Ｄ）１４への代入に相当する。ステップＳＴ４７が終了するとステップＳＴ４８に移行する。
【００８４】
ステップＳＴ４８では画素出力の有無を判定する。画素出力がある場合にはステップＳＴ４９に移行し、画素出力がない場合にはステップＳＴ５０に移行する。ステップＳＴ４９では、加算Ｂ（ｎ）を出力画素（ｍ）に代入して出力画素を決定する。出力画素（ｍ）はｍ番目の出力画素である。この代入は、図１０のＦ／Ｆ（Ｅ）１４への代入に相当する。そして出力画素数ｍをインクリメントする。ステップＳＴ４９が終了するとステップＳＴ５０に移行する。
【００８５】
ステップＳＴ５０では入力画素数ｎの値をインクリメントする。ステップＳＴ５０が終了するとステップＳＴ５１に移行する。ステップＳＴ５１では入力画素数ｎがＮになったか否かに応じてループの終了を判定する。入力画素数ｎがＮになっていたら処理を終了し、Ｎ未満の場合はステップＳＴ４３に移行して上記ループ処理を繰り返す。
【００８６】
図２の画像拡大縮小装置１において、最近傍法のアルゴリズム処理を実行させる場合には、前の画素又は後の画素をそのまま使用して補間処理を行うので、係数信号（Ａ）〜（Ｄ）の値をそれぞれ「１」又は「０」に設定するだけでよい。したがって、最近傍法の構成およびその動作については省略する。
【００８７】
以上のように、この実施の形態１によれば、キュービック法、最近傍法、線形補間法、投影法および５画素以上の積和演算が必要な投影法の各拡大・縮小方法を実行するのに共通のハードウェアで対応できるという効果が得られる。
また、キュービック法セレクト信号及び累積加算セレクト信号によって、共通のハードウェアによって複数種類のアルゴリズムの選択を容易に制御できるという効果が得られる。
また、「１」又は「０」のわずか２ビットの制御信号によって複数種類のアルゴリズムの選択を設定できるという効果がある。
また、セレクタを用いることによって、複数種類のアルゴリズムの選択を共通のハードウェアによって確実に設定できるという効果が得られる。
また、複数種類のアルゴリズムの選択を実行するための共通のハードウェアを容易にＬＳＩ化できるという効果が得られる。
また、画像処理方法において、複数種類の拡大処理あるいは縮小処理のアルゴリズムを実行するプログラムを容易に構築できるという効果が得られる。
【００８８】
実施の形態２．
この発明の実施の形態２における画像処理装置は、実施の形態１の回路における一部の構成要素を省略し、若干の接続を変更した構成になっている。図１３は、この発明の実施の形態２の構成を示す画像拡大縮小装置のブロック図である。図において、２は画像拡大縮小装置（アルゴリズム実行手段）であり、その内部構成において、実施の形態１と同じ構成要素は同一の符号で表されている。この図から明らかなように、この画像拡大縮小装置２は、図２に示した画像拡大縮小装置１におけるセレクタ（Ｂ）２２の構成要素を省略したものであり、他の構成要素については若干の接続変更を除き画像拡大縮小装置１と同じである。すなわち、図１３の構成においては、加算器（Ｄ）４４から出力される信号６４が直接にＦ／Ｆ（Ｅ）１５に入力されている。
【００８９】
また、図２の画像拡大縮小装置１では、加算器（Ｂ）４２には、加算器（Ａ）４１から出力される信号５５と乗算器（Ｂ）３２から出力される信号６２とが入力されている。また、加算器（Ｄ）４４には、加算器（Ｃ）４３から出力される信号６１と加算器（Ｂ）４２から出力される信号６３とが入力されている。これに対して図１３の画像拡大縮小装置２では、加算器（Ｂ）４２には、加算器（Ｃ）４３から出力される信号６１と乗算器（Ｂ）３２から出力される信号６２とが入力されている。また、加算器（Ｄ）４４には、加算器（Ａ）４１から出力される信号５５と加算器（Ｂ）４２から出力される信号６３とが入力されている。なお、図１３の画像拡大縮小装置２に対応する請求項２の構成では、セレクタ（Ｄ）２４が第２の選択手段を構成し、セレクタ（Ｃ）２３が第３の選択手段を構成する。
【００９０】
次に、画像拡大縮小装置２にキュービック法のアルゴリズム処理を実行させる場合の構成について説明する。
この場合には、キュービック法セレクト信号８０をＨＩＧＨに設定し、累積加算セレクト信号７９をＬＯＷに設定する。したがって、累積加算セレクト信号７９によって、セレクタ（Ａ）２１はＦ／Ｆ（Ｄ）１４に保持された信号５６は選択せず、常に値「０」の信号を選択して値「０」の信号５７を加算器（Ａ）４１に出力する。この結果、乗算器（Ａ）３１からの出力が加算器（Ｂ）４２に直接入力される。すなわち、等価回路としては、セレクタ（Ａ）２１、Ｆ／Ｆ（Ｄ）１４、および加算器（Ａ）４１は省略できる。
【００９１】
また、キュービック法セレクト信号８０によって、セレクタ（Ｃ）２３は加算器（Ｅ）４５から出力される信号６８は選択せず、常に係数信号（Ｃ）を選択して信号６７として乗算器（Ｂ）３２に入力する。この結果、係数信号（Ｃ）が乗算器（Ｂ）３２に直接入力される。すなわち、等価回路としては、加算器（Ｅ）４５、Ｆ／Ｆ（Ｆ）１６、セレクタ（Ｃ）２３およびセレクタ（Ｄ）２４は省略できる。
【００９２】
したがって、キュービック法セレクト信号８０をＨＩＧＨに設定し、累積加算セレクト信号７９をＬＯＷに設定した場合の等価回路のブロック図は図１４に示す構成になる。
【００９３】
次に、動作について説明する。
図１５は、図１４における画像拡大縮小装置２によって実行されるキュービック法（倍率１．０倍未満）の動作フローである。この動作フローは実施の形態１における図５のキュービック法（倍率１．０倍未満）の動作フローとほとんど同じである。動作フローが異なる箇所は図１５のステップＳＴ５５およびステップＳＴ５６である。
【００９４】
実施の形態１における図５のステップＳＴ５では、加算Ｂ（ｍ）には乗算Ａ（ｍ）と乗算Ｂ（ｍ）の加算結果が代入されていたが、図１５のステップＳＴ５５では、加算Ｂ（ｍ）には加算Ｃ（ｍ）と乗算Ｂ（ｍ）の加算結果が代入される。また、図５のステップＳＴ６では加算Ｄ（ｍ）には加算Ｂ（ｍ）と加算Ｃ（ｍ）の加算結果が代入されていたが、図１５のステップＳＴ５６では、加算Ｄ（ｍ）には加算Ｂ（ｍ）と乗算Ａ（ｍ）の加算結果が代入される。
【００９５】
図１６は、図１４における画像拡大縮小装置２によって実行されるキュービック法（倍率１．０倍以上）の動作フローである。この動作フローは実施の形態１における図６のキュービック法（倍率１．０倍以上）の動作フローとほとんど同じである。動作フローが異なる箇所は図１６のステップＳＴ６４およびステップＳＴ６５である。
【００９６】
実施の形態１における図６のステップＳＴ１４では加算Ｂ（ｍ）には乗算Ａ（ｍ）と乗算Ｂ（ｍ）の加算結果が代入されていたが、図１６のステップＳＴ６４では、加算Ｂ（ｍ）には加算Ｃ（ｍ）と乗算Ｂ（ｍ）の加算結果が代入される。また、図６のステップＳＴ１５では加算Ｄ（ｍ）には加算Ｂ（ｍ）と加算Ｃ（ｍ）の加算結果が代入されていたが、図１６のステップＳＴ６５では、加算Ｄ（ｍ）には加算Ｂ（ｍ）と乗算Ａ（ｍ）の加算結果が代入される。
【００９７】
次に、画像拡大縮小装置２に線形補間法および累積加算のない投影法（倍率０．５倍以上１．０倍未満）のアルゴリズム処理を実行させる場合の構成について説明する。
この場合には、キュービック法セレクト信号８０をＬＯＷに設定し、累積加算セレクト信号７９をＬＯＷに設定する。したがって、累積加算セレクト信号７９によって、セレクタ（Ａ）２１はＦ／Ｆ（Ｄ）１４に保持された信号５６は選択せず、常に値「０」の信号を選択して値「０」の信号５７を加算器（Ａ）４１に出力する。この結果、乗算器（Ａ）３１からの出力が加算器（Ｄ）４４に直接入力される。すなわち、等価回路としては、セレクタ（Ａ）２１、Ｆ／Ｆ（Ｄ）１４、および加算器（Ａ）４１は省略できる。
【００９８】
また、キュービック法セレクト信号８０によって、セレクタ（Ｃ）２３は係数信号（Ｃ）を選択せず、常に加算器（Ｅ）４５から出力される信号６８を選択して信号６７として乗算器（Ｂ）３２に入力する。この結果、係数信号（Ｃ）は使用されず、等価回路としては、セレクタ（Ｃ）２３は省略できる。
【００９９】
また、累積加算セレクト信号７９によって、セレクタ（Ｄ）２４はＦ／Ｆ（Ｆ）１６から出力される信号６９を選択せず、常に値「１」の信号７０を選択して信号７１として加算器（Ｅ）４５に入力する。この結果、値「１」が加算器（Ｅ）４５に直接入力される構成になる。すなわち、等価回路としては、セレクタ（Ｄ）２４、Ｆ／Ｆ（Ｆ）１６は省略できる。
【０１００】
したがって、キュービック法セレクト信号８０をＬＯＷに設定し、累積加算セレクト信号７９をＬＯＷに設定した場合の等価回路のブロック図は図１７に示す構成になる。
【０１０１】
図１７の画像拡大縮小装置２によって実行される線形補間法および累積加算のない投影法（倍率０．５倍以上１．０未満）の動作フローは、実施の形態１における図８の動作フローと同じである。
【０１０２】
また、図１７の画像拡大縮小装置２によって実行される線形補間法および累積加算のない投影法（倍率１．０倍以上）の動作フローも、実施の形態１における図９の動作フローと同じである。
【０１０３】
次に、画像拡大縮小装置２に線形補間法および累積加算のない投影法（倍率０．５倍未満）のアルゴリズム処理を実行させる場合の構成について説明する。
この場合には、キュービック法セレクト信号８０をＬＯＷに設定し、累積加算セレクト信号７９はＬＯＷとＨＩＧＨで画素毎に設定される。したがって、キュービック法セレクト信号８０によって、セレクタ（Ｃ）２３は係数信号（Ｃ）を選択せず、常に加算器（Ｅ）４５から出力される信号６８を選択して信号６７として乗算器（Ｂ）３２に入力する。この結果、係数信号（Ｃ）は使用されず、等価回路としては、セレクタ（Ｃ）２３は省略できる。
【０１０４】
したがって、キュービック法セレクト信号８０をＬＯＷに設定し、累積加算セレクト信号７９が画素毎にＬＯＷ又はＨＩＧＨに設定した場合の等価回路のブロック図は図１８に示す構成になる。
【０１０５】
次に、動作について説明する。
図１８の構成では、補間値を求めるためにＦ／Ｆ（Ｂ）１２から出力される画素信号５２およびＦ／Ｆ（Ｃ）１３から出力される画素信号５３が参照される。キュービック法とは異なり画素入力信号７２およびＦ／Ｆ（Ａ）１１から出力される画素信号５１が直接参照されることはない。
【０１０６】
加算器（Ａ）４１では、累積加算セレクト信号７９がＨＩＧＨの場合にＦ／Ｆ（Ｄ）１４から出力される信号５６と乗算器（Ａ）３１から出力される信号５４の累積加算が行われる。この累積加算は、累積加算セレクト信号７９がＨＩＧＨの間は加算器（Ａ）４１、Ｆ／Ｆ（Ｄ）１４、セレクタ（Ａ）２１の間を循環して行われる。一方、累積加算セレクト信号７９がＬＯＷの場合は、加算器（Ａ）４１に「０」が与えられるために、乗算器（Ａ）３１から出力される信号５４がそのまま加算器（Ａ）４１から出力される信号５５になる。
【０１０７】
加算器（Ｄ）４４では、加算器（Ａ）４１から出力される信号５５と乗算器（Ｂ）３２から出力される信号６２の加算が行われ、各画素と係数信号の積和演算の結果が加算器（Ｄ）４４から出力される信号６４としてＦ／Ｆ（Ｅ）１５に送られる。Ｆ／Ｆ（Ｅ）１５では、出力画素クロック信号８１に同期して加算器（Ｄ）４４から出力される信号６４を取り込み、Ｆ／Ｆ（Ｅ）１５から画像出力信号６６が出力される。
【０１０８】
図１８のＦ／Ｆ（Ｄ）１４は累積加算結果を保持する部分であり、累積加算を行う時には累積加算セレクト信号７９をＨＩＧＨにして、Ｆ／Ｆ（Ｄ）１４に保持されている値と乗算器（Ａ）３１から出力される信号５４を加算して、その加算結果をＦ／Ｆ（Ｄ）１４に再保持する。この動作の繰り返しで累積加算が実現する。
【０１０９】
一方、加算器（Ｅ）４５から出力される信号６８は、セレクタ（Ｃ）２３から出力される信号７１から係数信号（Ｄ）７７を減算した値である。セレクタ（Ｃ）２３から出力される累積加算が必要な信号７１は累積加算セレクト信号７９の値によって変化する。累積加算セレクト信号７９がＬＯＷの時は、セレクタ（Ｃ）２３から出力される信号７１は常に「１」なので、加算器（Ｅ）４５から出力される信号６８は常に「１」から係数信号（Ｄ）７７を減算した値になる。また、累積加算セレクト信号７９がＨＩＧＨの時は、セレクタ（Ｃ）２３から出力される信号７１はＦ／Ｆ（Ｆ）１６から出力される信号６９になる。
【０１１０】
累積加算セレクト信号７９が最初にＬＯＷからＨＩＧＨに変化する時点では、Ｆ／Ｆ（Ｆ）１６には「１」から係数信号（Ｄ）７７の値を減算した値が保持されている。累積加算セレクト信号７９がＨＩＧＨの間は、Ｆ／Ｆ（Ｆ）１６内の値から係数信号（Ｄ）７７の値の減算が繰り返し行われる。
【０１１１】
累積加算セレクト信号７９がＬＯＷからＨＩＧＨに変化する直前に乗算器（Ａ）３１に送られた係数信号（Ｄ）７７から、累積加算セレクト信号７９がＨＩＧＨからＬＯＷに変化する直前までに、乗算器（Ａ）３１に送られた係数信号（Ｄ）７７と、累積加算セレクト信号７９がＨＩＧＨからＬＯＷに変化する直前の加算器（Ｅ）４５から出力される信号６９を加算するとその合計は「１」になる。
【０１１２】
以上のように、上記実施の形態２によれば、キュービック法、最近傍法、線形補間法、投影法および５画素以上の積和演算が必要な投影法の各拡大・縮小処理に対して共通のハードウェアで対応することができる。そのために共通のハードウェアでユーザが適切な拡大・縮小方式を選択して実現できるという効果が得られる。さらに、実施の形態２においては、実施の形態１よりもセレクタが１個少ない構成になっていて回路規模を削減できるという効果が得られる。
【０１１３】
【発明の効果】
以上のように、この発明によれば、画像処理装置を、画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号、および係数クロック信号を生成する信号生成手段と、信号生成手段によって生成された第１および第２の制御信号に基づくアルゴリズム並びに第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行うアルゴリズム実行手段とを有するように構成し、アルゴリズム実行手段を、入力画素クロック信号に同期して画像入力信号の画素信号を保持する第１の画素保持手段と、入力画素クロック信号に同期して第１の画素保持手段から出力される画素信号を保持する第２の画素保持手段と、入力画素クロック信号に同期して第２の画素保持手段から出力される画素信号を保持する第３の画素保持手段と、第１の係数信号と第３の画素保持手段に保持された画素信号とを乗算する第１の乗算手段と、第１の乗算手段から出力される画素信号と所定の第１の信号とを加算する第１の加算手段と、入力画素クロック信号に同期して第１の加算手段から出力される画素信号を保持する第４の画素保持手段と、信号生成手段からの第１の制御信号に従って第４の画素保持手段に保持された画素信号又は「０」の値を選択して第１の信号を出力する第１の選択手段と、第２の係数信号と画像入力信号の画素信号とを乗算する第２の乗算手段と、第３の係数信号と第１の画素保持手段に保持された画素信号とを乗算する第３の乗算手段と、第２の乗算手段から出力される画素信号と第３の乗算手段から出力される画素信号とを加算する第２の加算手段と、所定の第２の信号と第２の画素保持手段に保持された画素信号とを乗算する第４の乗算手段と、第４の乗算手段から出力される画素信号と第１の加算手段から出力される画素信号とを加算する第３の加算手段と、第３の加算手段から出力される画素信号と第２の加算手段から出力される画素信号とを加算する第４の加算手段と、信号生成手段からの第２の制御信号に従って第３の加算手段から出力される画素信号又は第４の加算手段から出力される画素信号を選択して出力する第２の選択手段と、所定の第３の信号から第１の係数信号を減算する第５の加算手段と、係数クロック信号に同期して第５の加算手段から出力される信号を保持する保持手段と、第１の制御信号に従って保持手段から出力される信号又は「１」の値を選択して第３の信号を出力する第３の選択手段と、第２の制御信号に従って第５の加算手段から出力される信号又は第４の係数信号を選択して第２の信号を出力する第４の選択手段と、第２の選択手段から出力される画素信号を保持して出力画素クロック信号に同期して画像出力として出力する第５の画素保持手段とを有するように構成したので、共通のハードウェアによって複数種類の拡大処理あるいは縮小処理のアルゴリズムを実行できると共に、複数種類のアルゴリズムの選択を実行するための共通のハードウェアを容易にＬＳＩ化できるという効果がある。
この発明によれば、画像処理装置を、画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号、および係数クロック信号を生成する信号生成手段と、信号生成手段によって生成された第１および第２の制御信号に基づくアルゴリズム並びに第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行うアルゴリズム実行手段とを有するように構成し、アルゴリズム実行手段を、入力画素クロック信号に同期して画像入力信号の画素信号を保持する第１の画素保持手段と、入力画素クロック信号に同期して第１の画素保持手段から出力される画素信号を保持する第２の画素保持手段と、入力画素クロック信号に同期して第２の画素保持手段から出力される画素信号を保持する第３の画素保持手段と、第１の係数信号と第３の画素保持手段に保持された画素信号とを乗算する第１の乗算手段と、第１の乗算手段から出力される画素信号と所定の第１の信号とを加算する第１の加算手段と、入力画素クロック信号に同期して第１の加算手段から出力される画素信号を保持する第４の画素保持手段と、信号生成手段からの第１の制御信号に従って第４の画素保持手段に保持された画素信号又は「０」の値を選択して第１の信号を出力する第１の選択手段と、第２の係数信号と画像入力信号の画素信号とを乗算する第２の乗算手段と、第３の係数信号と第１の画素保持手段に保持された画素信号とを乗算する第３の乗算手段と、第２の乗算手段から出力される画素信号と第３の乗算手段から出力される画素信号とを加算する第２の加算手段と、所定の第２の信号と第２の画素保持手段に保持された画素信号とを乗算する第４の乗算手段と、第４の乗算手段から出力される画素信号と第２の加算手段から出力される画素信号とを加算する第３の加算手段と、第３の加算手段から出力される画素信号と第１の加算手段から出力される画素信号とを加算する第４の加算手段と、所定の第３の信号から第１の係数信号を減算する第５の加算手段と、係数クロック信号に同期して第５の加算手段から出力される信号を保持する保持手段と、第１の制御信号に従って保持手段から出力される信号又は「１」の値を選択して第３の信号を出力する第２の選択手段と、信号生成手段からの第２の制御信号に従って第５の加算手段から出力される信号又は第４の係数信号を選択して第２の信号を出力する第３の選択手段と、第４の加算手段から出力される画素信号を保持して出力画素クロック信号に同期して画像出力信号として出力する第５の画素保持手段とを有するように構成したので、共通のハードウェアによって複数種類の拡大処理あるいは縮小処理のアルゴリズムを実行できると共に、複数種類のアルゴリズムの選択を実行するための共通のハードウェアを容易にＬＳＩ化できるという効果がある。
【０１１４】
この発明によれば、画像処理装置における信号生成手段を、キュービック法、最近傍法、線形補間法若しくは累積加算のない投影法、又は累積加算のある投影法の画像処理のアルゴリズムからいずれか１つのアルゴリズムを設定するための第１および第２の制御信号を生成するように構成したので、共通のハードウェアによって複数種類のアルゴリズムの選択を容易に制御できるという効果がある。
【０１１５】
この発明によれば、画像処理装置における信号生成手段を、それぞれ「１」又は「０」の値となる２ビットの制御信号によって画像処理のアルゴリズムの方法を設定するように構成したので、複数種類のアルゴリズムの選択をわずか２ビットの制御信号によって設定できるという効果がある。
【０１１９】
この発明によれば、画像処理方法を、画像入力信号に対して拡大あるいは縮小する画像処理のアルゴリズムの方法を設定するための第１および第２の制御信号、拡大あるいは縮小する画像の倍率を設定するための第１乃至第４の係数信号、入力画素クロック信号、出力画素クロック信号、および係数クロック信号を生成する第１のステップと、第１のステップによって生成された第１および第２の制御信号に基づくアルゴリズム並びに第１乃至第４の係数信号に基づく倍率に応じて画素単位毎に「１」又は「０」の２値の画素信号で与えられる画像入力信号に対して拡大処理あるいは縮小処理を行う第２のステップとを有するように構成し、第２のステップを、第１および第２の制御信号によってキュービック法のアルゴリズムが設定された場合において、縮小処理時には、画素出力の有無を判定するステップと、画素出力が有る場合には第１乃至第４の係数信号に対して連続した４個の入力画素信号を積和演算した結果を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行し、拡大処理時には、第１乃至第４の係数信号に対して連続した４個の入力画素信号を積和演算した結果を出力画素信号とするステップと、画素入力の有無を判定するステップと、画素入力が有る場合には次の入力画素信号を指定するステップとからなるループ処理を最後の画素出力まで繰り返し実行し、第１および第２の制御信号によって線形補間法若しくは累積加算のない投影法のアルゴリズムが設定された場合において、縮小処理時には、第１の係数信号と「１」の値から第１の係数信号を減算した値に対して連続した２個の入力画素信号を積和演算するステップと、画素出力の有無を判定するステップと、画素出力が有る場合には積和演算した結果を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行し、拡大処理時には、第１の係数信号と「１」の値から第１の係数信号を減じた値とに対して連続した２個の入力画素信号を積和演算した結果を出力画素信号とするステップと、画素入力の有無を判定するステップと、画素入力が有る場合には次の入力画素信号を指定するステップとからなるループ処理を最後の画素出力まで繰り返し実行し、第１および第２の制御信号によって累積加算のある投影法のアルゴリズムが設定された場合の縮小処理時において、第１の係数信号と入力画素信号とを乗算して第１の信号を算出するステップと、累積加算の有無を判定するステップと、累積加算が有る場合には係数累積結果から第１の係数信号を減算して第１の信号とし且つ第１の信号と画素累積結果を加算して第２の信号とするステップと、累積加算が無い場合には「１」の値から第１の係数信号を減算して第１の信号とし且つ第１の信号を第２の信号とするステップと、累積加算の有無にかかわらず第１の信号に次の入力画素信号を乗算して第２の信号を算出し、第２の信号に第２の信号を加算して第３の信号を算出し、第１の信号を係数累積結果とし、第２の信号を画素累積結果とするステップ、画素出力の有無を判定するステップと、画素出力が有る場合には第３の信号を出力画素信号とするステップとからなるループ処理を最後の画素入力まで繰り返し実行するように構成したので、共通のハードウェアによって複数種類の拡大処理あるいは縮小処理のアルゴリズムを実行できると共に、複数種類の拡大処理あるいは縮小処理のアルゴリズムを実行するプログラムを容易に構築できるという効果がある。
【０１２０】
この発明によれば、画像処理方法における第１のステップを、キュービック法、最近傍法、線形補間法若しくは累積加算のない投影法、又は累積加算のある投影法の画像処理のアルゴリズムからいずれか１つのアルゴリズムを設定するための第１および第２の制御信号を生成するように構成したので、共通のハードウェアによって複数種類のアルゴリズムの選択を容易に制御できるという効果がある。
【０１２１】
この発明によれば、画像処理方法における第１のステップを、それぞれ「１」又は「０」の値となる２ビットの制御信号によって画像処理のアルゴリズムの方法を設定するように構成したので、複数種類のアルゴリズムの選択をわずか２ビットの制御信号によって設定できるという効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１における画像処理装置の構成を示すブロック図である。
【図２】  図１における画像拡大縮小装置の内部構成を示すブロック図である。
【図３】  実施の形態１におけるキュービック法動作時の画像拡大縮小装置の内部構成を示すブロック図である。
【図４】  図３において画素信号が伝播される動作を示す図である。
【図５】  実施の形態１におけるキュービック法での縮小処理の動作フローチャートである。
【図６】  実施の形態１におけるキュービック法での拡大処理の動作フローチャートである。
【図７】  実施の形態１における線形補間法動作時の画像拡大縮小装置の内部構成を示すブロック図である。
【図８】  実施の形態１における線形補間法での縮小処理の動作フローチャートである。
【図９】  実施の形態１における線形補間法での拡大処理の動作フローチャートである。
【図１０】  実施の形態１における投影法動作時の画像拡大縮小装置の内部構成を示すブロック図である。
【図１１】  実施の形態１における投影法の処理手順の説明図である。
【図１２】  実施の形態１における投影法での縮小処理の動作フローチャートである。
【図１３】  この発明の実施の形態２における画像拡大縮小装置の内部構成を示すブロック図である。
【図１４】  実施の形態２におけるキュービック法動作時の画像拡大縮小装置の内部構成を示すブロック図である。
【図１５】  実施の形態２におけるキュービック法での縮小処理の動作フローチャートである。
【図１６】  実施の形態２におけるキュービック法での拡大処理の動作フローチャートである。
【図１７】  実施の形態２における線形補間法動作時の画像拡大縮小装置の内部構成を示すブロック図である。
【図１８】  実施の形態２における投影法動作時の画像拡大縮小装置の内部構成を示すブロック図である。
【図１９】  従来のデジタル画像の拡大、縮小の画像処理を行う装置のブロック図である。
【図２０】  従来のデジタル画像の拡大、縮小の画像処理を行う他の装置のブロック図である。
【符号の説明】
１，２  画像拡大縮小装置（アルゴリズム実行手段）、１１  Ｆ／Ｆ（Ａ）（第１の画素保持手段）、１２  Ｆ／Ｆ（Ｂ）（第２の画素保持手段）、１３  Ｆ／Ｆ（Ｃ）（第３の画素保持手段）、１４  Ｆ／Ｆ（Ｄ）（第４の画素保持手段）、１５  Ｆ／Ｆ（Ｅ）（第５の画素保持手段）、１６  Ｆ／Ｆ（Ｆ）（第６の画素保持手段）、２１  セレクタ（Ａ）（第１の選択手段）、２２  セレクタ（Ｂ）（第２の選択手段）、２３  セレクタ（Ｃ）（第４の選択手段）、２４  セレクタ（Ｄ）（第３の選択手段）、３１  乗算器（Ａ）（第１の乗算手段）、３２  乗算器（Ｂ）（第４の乗算手段）、３３  乗算器（Ｃ）（第３の乗算手段）、３４  乗算器（Ｄ）（第２の乗算手段）、４１  加算器（Ａ）（第１の加算手段）、４２  加算器（Ｂ）（第３の加算手段）、４３  加算器（Ｃ）（第２の加算手段）、４４  加算器（Ｄ）（第４の加算手段）、４５  加算器（Ｅ）（第５の加算手段）、５１  Ｆ／Ｆ（Ａ）の出力信号、５２  Ｆ／Ｆ（Ｂ）の出力信号、５３  Ｆ／Ｆ（Ｃ）の出力信号、５４  乗算器（Ａ）の出力信号、５５  加算器（Ａ）の出力信号、５６  Ｆ／Ｆ（Ｄ）の出力信号、５７  セレクタ（Ａ）の出力信号、５８  「０」値の信号、５９  乗算器（Ｄ）の出力信号、６０  乗算器（Ｃ）の出力信号、６１  加算器（Ｃ）の出力信号、６２  乗算器（Ｂ）の出力信号、６３  加算器（Ｂ）の出力信号、６４  加算器（Ｄ）の出力信号、６５セレクタ（Ｂ）の出力信号、６６  Ｆ／Ｆ（Ｅ）の出力信号（画像出力信号）、６７  セレクタ（Ｃ）の出力信号、６８  加算器（Ｅ）の出力信号、６９  Ｆ／Ｆ（Ｆ）の出力信号、７０  「１」値の信号、７１  セレクタ（Ｄ）の出力信号、７２  画像入力信号、７３  入力画素クロック信号、７４  係数信号（Ａ）（第２の係数信号）、７５  係数信号（Ｂ）（第３の係数信号）、７６  係数信号（Ｃ）（第４の係数信号）、７７  係数信号（Ｄ）（第１の係数信号）、７８係数クロック信号、７９  累積加算セレクト信号、８０  キュービック法セレクト信号、８１  出力画素クロック信号、９１  タイミング生成装置（信号生成手段）、９２  基準クロック信号、９３  係数保持装置、９４  タイミング生成信号、９５  倍率信号、９６  拡大縮小アルゴリズムセレクト信号。
【図１】
0003889307.tif 000002
【図２】
0003889307.tif 000003
【図３】
0003889307.tif 000004
【図４】
0003889307.tif 000005
【図５】
0003889307.tif 000006
【図６】
0003889307.tif 000007
【図７】
0003889307.tif 000008
【図８】
0003889307.tif 000009
【図９】
0003889307.tif 000010
【図１０】
0003889307.tif 000011
【図１１】
0003889307.tif 000012
【図１２】
0003889307.tif 000013
【図１３】
0003889307.tif 000014
【図１４】
0003889307.tif 000015
【図１５】
0003889307.tif 000016
【図１６】
0003889307.tif 000017
【図１７】
0003889307.tif 000018
【図１８】
0003889307.tif 000019
【図１９】
0003889307.tif 000020
【図２０】
0003889307.tif 000021