(57)【要約】      （修正有）【課題】画像処理の対象外とすべき画素について、処理負担を抑えながら画像処理の前後で前記画素を維持する手法を提供する。【解決手段】画像処理装置は、主走査方向に並ぶ複数の画素で１ラインが構成され、副走査方向に並ぶ複数のラインで１頁が構成され、１以上の頁からなる画像を処理するときその画像の画像メモリと、データメモリを含み各ラインの方向において複数かつ１ライン未満の所定画素数からなる画素ブロック単位で画像処理を実行するデジタルシグナルプロセッサ（ＤＳＰ）と、画像処理の対象となるデータを画像メモリからデータメモリへ分割して転送し、かつ画像処理後のデータを画像メモリへ転送するように制御するＣＰＵと、を備える。ＤＳＰは、各ラインにおいて画像処理から除外すべき画素位置を画像処理前に特定してデータメモリに確保される退避領域へコピーし、画像処理後に除外画素に係るデータを退避領域から元の位置へ戻す。【選択図】図１
2020201581.tif 000002
【特許請求の範囲】
【請求項１】
主走査方向に並ぶ複数の画素で１ラインが構成され、副走査方向に並ぶ複数のラインで１頁が構成され、１以上の頁からなる画像を処理するときその画像に係るデータを格納する画像メモリと、
前記データの処理に用いるデータメモリを含み各ラインの方向において複数かつ１ライン未満の所定画素数からなる画素ブロック単位で画像処理を実行するデジタルシグナルプロセッサと、
画像処理の対象となる前記データを前記画像メモリから前記データメモリへ分割して転送し、かつ画像処理後のデータを前記画像メモリへ転送するように制御するＣＰＵと、を備え、
前記デジタルシグナルプロセッサは、各ラインにおいて画像処理から除外すべき画素であって始端部の画素ブロックおよび終端部の画素ブロックに属する除外画素に係るデータについて、前記データメモリ上に格納される位置を画像処理前に特定して前記データメモリに確保される退避領域へコピーし、画像処理後に前記除外画素に係るデータを退避領域から元の位置へ戻す退避処理を行う画像処理装置。
【請求項２】
前記デジタルシグナルプロセッサは、前記データが所定の条件を満たす場合にのみ実行する条件付き画像処理の場合、前記除外画素の一部について前記条件を常に満たさないとする擬似的判定を前記退避処理に代えて実行する請求項１に記載の画像処理装置。
【請求項３】
前記デジタルシグナルプロセッサは、前記条件付き画像処理の場合、前記始端部の画素ブロックに属する除外画素のデータについて疑似的判定を適用し、前記終端部の画素ブロックに属する除外画素のデータについて退避処理を適用する請求項２に記載の画像処理装置。
【請求項４】
前記画像に係るデータは各画素に対応する領域分離データであり、前記画像処理は領域分離に係る画像処理である請求項１〜３の何れか一つに記載の画像処理装置。
【請求項５】
前記デジタルシグナルプロセッサは、前記データメモリに格納されたデータに対して一連の画像処理を行い、
前記退避処理は、最初の画像処理の実行前に前記退避領域へのコピーを行い、最後の画像処理後に前記退避領域のデータによる置き換えを行うものである請求項１〜４の何れか一つに記載の画像処理装置。
【請求項６】
請求項１〜５の何れか一つに記載の画像処理装置を備えた画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置およびそれを備えた画像形成装置に関し、より詳細には画像データを制御するＣＰＵと画像処理用のデジタルシグナルプロセッサを備えた画像処理装置およびそれを備えた画像形成装置に関する。
【背景技術】
【０００２】
頁単位で画像データを処理する画像形成装置が知られている。コピー、ファクシミリ、スキャナやそれらの機能を複合した複合機がその具体的な例である。それらの画像形成装置は、原稿の画像を読み取るスキャナユニット、前記スキャナユニットや外部のコンピュータで生成された画像データを処理する画像処理装置を備え、コピー、ファクシミリ、複合機についてはさらに処理された画像データを印刷するプリンタ部を備える。
【０００３】
一般に、画像処理装置は、画像データを管理および転送するためにＣＰＵ（Central Processing Unit、中央処理装置）およびＤＭＡＣ（Direct Memory Access Controller）を備える。ＣＰＵは、ＤＭＡＣを制御して画像データの転送を実行する。そして、画像メモリに格納される画像データを管理する。それに加えてＣＰＵは、前記スキャナユニット、前記プリンタ部の動作を制御してもよい。ＣＰＵは機器の動作や画像データの制御に適した汎用性の高いアーキテクチャおよびインストラクションセットを備えている。
【０００４】
しかし、ＣＰＵがあまり得意としない処理もある。その一つが、多量のデータに対して同じパターンの四則演算を高速に処理するような処理である。画像処理についていえば、空間フィルタ（以下、単にフィルタ）処理がその類の処理のとして挙げられる。
デジタルシグナルプロセッサ（Digital Signal Processor、以下、単にＤＳＰともいう）は、ＣＰＵに比べて積和演算を高速演算できるように設計されており、上述のフィルタ処理に好適なデバイスである。
このような特性を持つＣＰＵとＤＳＰを相補的に組み合わせてそれぞれに適した処理を分担して実行するように構成された画像処理装置が知られている（例えば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１２１３４７号公報
【特許文献２】特開２００８−６５６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この明細書において、画像データは１以上の頁に係る画像のデータからなる。各頁は原稿あるいは印刷用紙の縦横のサイズおよび解像度に基づいて主走査方向および副走査方向の画素数が決まる。なお、主走査方向の画素の並びをラインともよぶ。副走査方向の画素数はライン数と一致する。
ＣＰＵは頁の単位で画像メモリ上に画像データを格納する領域を確保したり開放したりする管理を行う。
一方、画像処理を行うＤＳＰは、多量のデータを高速処理するためにデータを並列処理する構造を持つものがある。どのデータに対しても同じ処理を繰り返すことを前提とし並列処理することで１データの処理に要するみかけ上の時間を短縮する構成である。
【０００７】
ＤＳＰが行う典型的な画像処理として空間フィルタ（以下、単にフィルタ）処理が挙げられる。一般にフィルタ処理は、注目画素とその周囲にある周辺画素との間でフィルタの特性に応じた所定の四則演算を実行する処理である。例えば、注目画素を中心とする３×３画素、あるいは５×５画素を対象に１つのフィルタ処理を実行する。以下、主走査方向において、１つのフィルタが対象とする画素の単位を画素ブロックとよぶ。例えば、３×３画素のフィルタの場合は３画素、５×５画素のフィルタの場合は５画素が画素ブロックである。
【０００８】
フィルタ処理の特性上、各頁の周囲に存在する数画素はフィルタ処理の対象外とすべき場合が起こり得る。３×３画素のフィルタ、即ち画素ブロックが３画素の場合を一例として説明する。主走査方向始端の画素を注目画素とする場合、始端側の周辺画素が存在しない。よって、始端の画素は処理の対象外とすべきである。以下、そのような画素を除外画素とよぶ。終端画素についても同様である。画素ブロックが５画素の場合は、始端から２つ目の画素および終端から２つ目の画素も除外画素である。
しかし、ＤＳＰは単純な処理を各画素につき繰り返して短時間のうちに画像処理を完了するのが好ましいところ、除外画素に係るデータか否かの判定を各データについて行うのは処理負担の観点から避けたい。
【０００９】
従来の対応策の一つは次のようなものである。ＤＳＰとしては除外画素か否かの判定を行わずに各画素に係るデータの処理を一律に実行する。画像処理後、ＣＰＵが各頁の除外画素に係るデータを画像処理前のデータに書き戻す処理を実行する。しかし、それでもなおＣＰＵが画像処理前の頁のデータを画像メモリ上の別領域に退避データとしてコピーする処理、および画像処理済の画像メモリ上のデータに、除外画素に係る退避データのみを書き戻す処理に時間を要する。また、その処理に要するＣＰＵの負担が大きいと、ＣＰＵが並行して処理すべき他の処理の速度が低下する。
【００１０】
この発明は、以上のような事情を考慮してなされたものであって、各ラインの始端部および終端部にあって画像処理の対象外とすべき画素について、処理負担を抑えながら画像処理の前後で前記画素を維持する手法を提供するものである。
【課題を解決するための手段】
【００１１】
この発明は、主走査方向に並ぶ複数の画素で１ラインが構成され、副走査方向に並ぶ複数のラインで１頁が構成され、１以上の頁からなる画像を処理するときその画像に係るデータを格納する画像メモリと、前記データの処理に用いるデータメモリを含み各ラインの方向において複数かつ１ライン未満の所定画素数からなる画素ブロック単位で画像処理を実行するデジタルシグナルプロセッサと、画像処理の対象となる前記データを前記画像メモリから前記データメモリへ分割して転送し、かつ画像処理後のデータを前記画像メモリへ転送するように制御するＣＰＵと、を備え、前記デジタルシグナルプロセッサは、各ラインにおいて画像処理から除外すべき画素であって始端部の画素ブロックおよび終端部の画素ブロックに属する除外画素に係るデータについて、前記データメモリ上に格納される位置を画像処理前に特定して前記データメモリに確保される退避領域へコピーし、画像処理後に前記除外画素に係るデータを退避領域から元の位置へ戻す退避処理を行う画像処理装置を提供する。
さらに、上述の画像処理装置を備えた画像形成装置を提供する。
【発明の効果】
【００１２】
この発明による画像処理装置において、デジタルシグナルプロセッサは、各ラインの始端部および終端部のそれぞれの画素ブロックに属する除外画素に係るデータについて、前記データメモリ上に格納される位置を画像処理前に特定してデータメモリ上の退避領域へコピーし、画像処理後に退避領域から元の位置へ戻すので、除外画素に係るデータを、処理速度低下を抑えながら画像処理の前後で維持できる。
さらに、頁単位で画像メモリ上にデータを退避させる従来手法に比べると、１ラインの画素ブロック単位でデータメモリ上に退避領域を確保するので、データの退避に要するメモリ容量が節約できる。
【図面の簡単な説明】
【００１３】
【図１】この実施形態による画像形成装置の構成を示すブロック図である。
【図２】この実施形態における第１の処理の対象画素を示す説明図である。
【図３】この実施形態において、１ライン分のデータの処理および格納の様子を示す説明図である。
【図４】この実施形態における色判定処理のプログラムの例を示す説明図である。
【図５】図４に示す色判定処理において、１ラインのデータの処理および格納の様子を示す説明図である。
【図６】この実施形態における領域分離データに係る画像処理の流れを、従来手法と対比して示す説明図である。
【図７】従来手法による除外画素に係るデータの書き戻し処理を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
【００１５】
（実施の形態１）
≪画像処理装置および画像形成装置の構成≫
図１は、この実施形態に係る画像形成装置の構成を示すブロック図である。図１に示されるように、画像形成装置１００は、画像処理装置１０１、スキャナユニット１０２およびプリンタユニット１０３を備える。
画像処理装置１０１は、ＣＰＵ１１、画像メモリ１２、画像処理回路１３、ＤＳＰ２０およびＤＭＡＣ２４を備える。
画像メモリ１２は。メインメモリとも呼ばれる。
【００１６】
スキャナユニット１０２は、原稿読取台もしくは自動原稿読取装置にセットされた原稿を読み込み、画像データを画像メモリへ格納する。この際、画像データは副走査方向（縦方向）に対して分割された帯状のバンド単位で格納される。各バンドの横方向の幅は、スキャン時の主走査方向の長さに対応する。バンドの縦方向の高さは、スキャナユニットでの読み取り処理で任意に指定することができる。各バンドの高さを足し合わせた値は、スキャン時の副走査方向の長さに対応する。バンドの主走査方向における各画素の並びをラインと呼ぶ。
【００１７】
１つのバンドが有するラインの数は、そのバンドの副走査方向における画素数、即ちバンドの高さと一致する。例えば、Ａ４原稿（横２９７ｍｍ×縦２１０ｍｍ）１枚を６００ＤＰＩ（Dot per inch）の解像度で読み取ると、横（主走査方向）７０１６画素×縦（副走査方向）４９６１画素の画像データが得られる。Ａ４横２９７ｍｍの長さは、画像形成装置１００が主走査方向において読み取り可能な最大の長さである。１バンドが６４ラインとすると、副走査方向に７８のバンドに分割される。１バンドの主走査方向の幅が７０１６画素、副走査方向の高さが６４画素である。バンド数の７８は、Ａ４サイズの画像データの副走査方向における４９６１画素をバンド単位の６４画素で除して剰余分を切り上げた結果として得られる値である。
【００１８】
画像処理回路１３は、ＣＰＵ１１の制御の下に色空間変換や領域分離処理、画像の拡大および縮小あるいは回転等の処理を実行する。各画像処理はステップとして分かれており、各ステップは先行ステップからバンド毎の画像データを入力として受け取り、それぞれの画像処理を行った後、処理済のバンド毎の画像データを後続ステップへと流していく。画像処理はＣＰＵ１１単独の処理として実行される場合もあるが、ＣＰＵ１１の処理とＤＳＰ２０の処理とを組み合わせて実行される場合もある。ここで、ＤＳＰ２０はＣＰＵ１１から独立した処理モジュールである。ＤＳＰ２０が処理を行っている最中に、ＣＰＵ１１は別の処理を実行することが可能である。
【００１９】
ＤＳＰ２０は、ＭＰＵ（Micro Processing Unit）２１、プログラムメモリ２２およびデータメモリ２３を備える。ＭＰＵ２１は、プログラムメモリ２２に格納されたプログラムに従って処理を実行するユニットであってデータメモリ２３へのアクセスやデータの処理単位が４バイト単位といったようにいくつかの制約はあるものの、実行する処理をある程度自由にプログラミングすることができる。
ＤＳＰ２０を使用する画像処理ステップは複数存在する。ただし、ＤＳＰ２０があるステップを実行している間、他のステップを実行することはできない。画像メモリ１２に比べると小容量ではあるが、ＤＳＰ２０は専用のデータメモリ２３を持っている。この実施例においてＤＳＰ２０は、３２ＫＢの容量のデータメモリを備えるものとする。１ラインが８０００画素の８ｂｉｔデータ（１バイト／画素）の場合、おおよそ４ライン分のデータに相当する記憶容量である。
【００２０】
ＭＰＵ２１はデータメモリ２３に格納されたデータに対して処理を実行する。ＤＭＡＣ２４は、画像メモリ１２からデータメモリ２３へ数ライン分のデータをＤＭＡ転送する。ＤＳＰ２０のＭＰＵ２１が転送されたデータに対する処理を行った後、処理後のデータを画像メモリ１２へＤＭＡ転送するといった一連の手順を繰り返すことで、各バンドのデータが処理される。
【００２１】
≪画像処理の例≫
この実施形態による画像処理の一例として、領域分離に係る空間フィルタ処理および色判定処理について以下に述べる。処理の対象は、画像の画素そのもののデータではなく、各画素に対応する領域分離データである。
図２〜図７は、この実施形態による画像処理の例を示す説明図である。
領域分離データは、スキャナユニット１０２で読み取った画像データの各画素が、どういう画像領域を構成するかを示すデータであって、画像の高画質化処理のために使用される。
【００２２】
例えば、文字領域を構成する画素に対しては、文字がくっきり見えるようにコントラストが強調されるような画像処理を施す。反対に、画像領域を構成する画素に対しては、諧調再現性を重視した画像処理が施される。
領域分離データに係る画像処理では、画像の色データ（ＹＣｂＣｒ形式のうち、Ｃｂ／Ｃｒプレーンのデータ）および先行ステップにて生成された領域分離データを入力として、下記２つの処理により、領域分離データを補正する。
【００２３】
第１の処理は、処理対象の画素（注目画素）およびその周辺画素の色データを用いたフィルタ処理（３×３フィルタＤＳＰ処理）である。
第２の処理は、第１の処理（フィルタ処理）の結果および領域分離データが所定の条件を満たす場合に、注目画素の領域分離データを補正する処理（色判定処理、色判定ＤＳＰ処理ともいう）である。
第１の処理と第２の処理は一連の処理としてＤＳＰ２０が実行する。即ち、画像メモリ１２からデータメモリ２３へ転送された数ライン分のデータに対してＤＳＰ２０が第１のフィルタ処理を実行し、続いて第２の色判定処理を実行する。ＤＭＡＣ２４は、一連の画像処理が終了したデータをデータメモリ２３から画像メモリ１２へ転送する。
【００２４】
図２は、この実施形態における第１の処理、即ちフィルタ処理の対象画素を示す説明図である。第１の処理であるフィルタ処理は、注目画素を中心とした３×３画素に対するマスク処理である。このフィルタ処理は、Ｃｂ／Ｃｒプレーンの各画素に対して実施される。
【００２５】
図２においてマス目は縦横に並ぶ各画素を示しており、中央の＊で示す画素が注目画素である。ＤＳＰ２０は、注目画素およびその周囲８画素の９画素（図２に網掛けで示す画素）に対応する領域分離データ３１の各値の平均値を求める。詳細には、９画素に対応する領域分離データの各値の和を求め、さらに求めた値に固定値７２８２を乗じた積の値を１６ビット右シフトさせる。固定値７２８２を乗じて１６ビット右シフトさせる演算は、９で割ることに相当し、全体として９画素分の領域分離データ３１の和を９で除して平均値を求める演算になる。さらに、このようにして求めた平均値から固定値１２８を引いた値の絶対値をフィルタ処理の出力結果とする。フィルタ処理の結果は、周囲の画素を含めて平均化（ノイズ除去）した注目画素が何色か（如何なる色域に属するか）を示す。
【００２６】
上述のフィルタ処理は、注目画素の周囲の画素を必要とする。しかし、１頁の各画素のうち上下左右の端にある境界画素、即ち４辺の縁にある１画素については周囲８画素の一部が存在しない。それらの画素について上述のフィルタ処理を行っても正しい結果が得られない。よって、境界画素は除外画素とすべきである。ＤＳＰ２０は、主走査方向に並ぶ１ライン毎に順次処理を行うところ、１ラインにおける境界画素は始端の画素および終端の画素に対応する。なお、副走査方向については、始端の１ラインと終端の１ラインを除外することでＤＳＰ２０による境界画素の画像処理を除外できる。
【００２７】
図３は、この実施形態において、１ライン分のデータがデータメモリ２３（図３にローカルメモリと記す）内にどのように格納され、処理されるかを示す説明図である。なお、図３において１ラインの画素数を３２画素としているが、この画素数は図示し易いように選択した一例に過ぎない。例えば、Ａ４横方向を６００ＤＰＩで読み取る場合における１ラインの画素数は、上述のように７０１６画素である。除外画素は、ライン左端の始端画素および右端の終端画素の合計２画素である。
【００２８】
この実施形態において、ＤＳＰ２０は高速化のために並列処理を行うデータパス−ａ〜ｄを備えており、１ラインのデータ（ラインデータ３３）を４バイト単位で４分割して並列処理する。図３に示すデータメモリ２３のアドレス「0x00」列のデータはデータパス−ａで処理され、同様に、アドレス「0x04」列のデータはデータパス−ｂで、アドレス「0x08」列のデータはデータパス−ｃで、アドレス「0x0C」列のデータはデータパス−ｄでそれぞれ処理される。
また、ＤＳＰ２０がデータパス−ａ〜ｄにより４分割して処理を行うので、ＤＭＡＣ２４は、その４分割に係る境界の画素が正しく処理されるように、ＤＭＡ転送機能としてオーバーラップ機能をサポートする。
【００２９】
オーバーラップ機能について詳細を述べる。ＤＭＡＣ２４は、図３に示す１ライン分の画素ブロックＡ１〜Ｄ２を処理する際に、まずゼロデータのダミーの画素ブロックデータをデータメモリ２３へ転送し、続いてＡ２，Ｂ２，Ｃ２の順に画像メモリ１２からデータメモリ２３へ画素ブロックデータを転送する。これは、続く１ライン本体の画素ブロックとの境界の画素が正しく処理されるようにするための処理である。
【００３０】
転送されたダミー，Ａ２，Ｂ２およびＣ２の画素ブロックデータはその順に、図３に示す例でデータメモリ２３のアドレス0x0090〜0x009Fの領域に格納される。続いて、ＤＭＡＣ２４は、１ライン本体の画素ブロックデータＡ１〜Ｄ２をその順にデータメモリ２３のアドレス0x0100〜0x011Fの領域に転送して格納する。さらに、ＤＭＡＣ２４は、画素ブロックデータＢ１，Ｃ１，Ｄ１，ダミーの画素ブロックをその順にデータメモリ２３のアドレス0x0120〜0x012Fの領域に転送して格納する。これは、図３においてデータメモリ２３（ローカルメモリ）の横方向に並ぶアドレス領域へ順次転送することに対応する。
【００３１】
ＤＳＰ２０は、データメモリ２３に格納されたデータに対してフィルタ処理を実行し、その結果をデータメモリ２３の別領域に格納する。この別領域に格納されるフィルタ処理済みデータは、前記オーバーラップされたデータは含まれないが、図３に示すデータメモリ２３と同じレイアウトで格納される。即ち、図３におけるデータメモリ２３の第２行目と第３行目のアドレス領域に対応するデータの処理結果のみが格納される。
前記フィルタ処理済みデータは、続く色判定処理の入力データとなる。
【００３２】
ここで、アドレス0x0100に格納されている画素ブロックデータＡ１に着目すると、画素ブロックデータＡ１は、縦方向において第１行目のダミーブロックおよび第４行目のＡ２ブロックの画素ブロックデータとそれぞれ隣接している。
図３においてラインデータ３３の画素ブロックの並びを参照すると、画素ブロックＡ１の始端画素は境界画素であり、終端画素は画素ブロックＡ２に隣接している。即ち、データメモリ２３上の画素ブロックデータＡ１は、縦方向において隣接する画素ブロックデータが１ラインの画素ブロックの並びに対応するように配置されている。ＤＭＡＣ２４は、データメモリ２３上の隣接画素ブロックデータが１ラインの画素ブロックの並びに対応するようにデータメモリ２３の第１行目に各画素ブロックデータを予め配置しているのである。これが、オーバーラップ機能である。
データメモリ２３のアドレス領域0x110に格納された画素ブロックデータＡ２、0x0104のＢ１、0x0114のＢ２、0x0108のＣ１、0x0118のＣ２、0x010CのＤ１、0x011CのＤ２についても同様である。
【００３３】
なお、オーバーラップ機能を適用する場合、各ラインの始端画素に係るデータおよび後端画素に係るデータに対してオーバーラップされる値はダミーとして作成されたもので転送元の画像メモリに用意された値に依存するところ、ＤＭＡＣ２４は任意の値を用意することができる。図３に示される例では「０」（ゼロ）である。オーバーラップ機能により始端および終端の境界画素についても隣接画素として参照するダミーデータが存在するので、ＤＳＰ２０としては境界画素のデータについてもそうでない画素データと同様にフィルタ処理を行うことができる。ただし、フィルタ処理の結果として得られる値は境界画素についての正しい結果を示すものでなく、無効な値である。
【００３４】
続いて、第２の処理である色判定処理について述べる。
図４は、この実施形態における色判定処理のプログラムの例を示す説明図である。
図４に示されるプログラムコード中の変数「seg[i][j]」には、注目画素の領域分離データの値が格納されており、変数「mask_ave_Cb」、「mask_ave_Cr」には、それぞれ対応するＣｂ／Ｃｒプレーンの画素に対する前述のフィルタ処理の結果が格納されている。
斜体太字で示している変数「Sig_Text_Def」、「Sig_Text_mod」、「Sig_Edge_Def」、「Sig_Edge_mod」は、所定のパラメータとして与えられる値である。
図４のプログラムは、注目画素の領域分離データが「Sig_Text_Def」の場合（判定１）は、注目画素に係るフィルタ処理の結果が図４に記載の条件（条件１）を満たす場合に限り注目画素の領域分離データを所定のパラメータ値「Sig_Text_mod」に置換することを示している。
また、注目画素の領域分離データが「Sig_Edge_Def」の場合（判定２）は、注目画素に係るフィルタ処理の結果が図４に記載の条件（条件２）を満たす場合に限り注目画素の領域分離データを所定のパラメータ値「Sig_Edge_mod」に置換することを示している。
注目画素の領域分離データが上述の判定１、判定２の何れにも該当しない場合は、注目画素の領域分離データを置換しない（維持する）ことを示している。
なお、色判定処理においてはフィルタ処理と異なり周辺画素を用いた演算は行わないが、上述の条件１および条件２がフィルタ処理の結果を含むので、フィルタ処理と同様に始端および終端の除外画素に対する処理が必要になる。
【００３５】
図５は、図４に示す色判定処理に際して、１ラインのラインデータ３３がデータメモリ内にどのように格納され、処理されるかを示している。なお、図３では１ライン分の画素数が３２画素としているが、図５では異なる例を示すために１ライン分の画素数を３３画素としている。ただし、図３と同様にこの画素数は図示し易いように選択した一例に過ぎない。例えば、Ａ４横方向を６００ＤＰＩで読み取る場合における１ラインの画素数は、上述のように７０１６画素である。また、前述のフィルタ処理と同様、除外画素は、ラインの始端画素および終端画素の合計２画素である。
【００３６】
図５に示すように、始端画素については、データメモリ２３上は、必ず画素ブロックＡ１で示される４バイトのデータのうち最上位バイトに格納されると決まっており、始端画素を含む画素ブロックはデータパス−ａで処理される。
色判定処理は、図４に示すように注目画素の領域分離データが特定の値を有する場合にのみ処理が実行される。即ち、領域分離データが所定の条件を満たす場合にのみ実行される。ＤＳＰ２０のＭＰＵ２１は、データメモリ２３からＭＰＵ２１が有するレジスタ（３２ビット＝４バイト）にデータをロードして、レジスタ単位で処理を実行する。
【００３７】
そこで、ＤＳＰ２０はデータパス−ａの最初の４バイト（図５のデータメモリ２３（ローカルメモリ）に示す画素ブロックＡ１の最上位バイトを処理するときのみ、領域分離データの値を通常とり得ない値に変更する。図４に示す色判定処理の場合、ＤＳＰ２０は始端の除外画素に係る領域分離データの値を「ゼロ」に変更する。そうすることで、始端の除外画素に係るデータついては、条件１、条件２のいずれにも該当しなくなり（疑似的判定）、結果として色判定処理の前後で除外画素に係るデータが変わることなく維持される。
ラインの最初の画素ブロックＡ１のみが疑似的判定の対象となるため、疑似的判定を実行するか否かの判断を各画素ブロックについて繰り返し実行する必要がない。
【００３８】
一方、終端の除外画素については、始端の除外画素と同じ手法を適用することはできない。ＤＳＰ２０の処理はレジスタ単位の処理を何度もループさせて実行しているところ、疑似的判定を始端の除外画素について実行するという判断（分岐処理）をそのループに組み込むと、処理速度の低下につながる。
前述のように、始端の除外画素は常に最初の画素ブロックに属しており１ラインの最初に処理される。そのため、前記判断に係る分岐処理は、ループ外に配置することができる。よって、処理速度が大きく低下することはない。
【００３９】
終端の除外画素に係るデータがデータメモリ２３に格納される位置は、１ラインの長さに依存して変わる。しかし、その位置は計算で求めることができる。そこで、終端の除外画素については、それが属する画素ブロックのデータを画像処理の前にＤＳＰ２０がデータメモリ２３の別の領域に退避させておき、画像処理の後に書き戻すようにする。そのようにすることで、色判定処理の前後で終端の除外画素に係るデータを維持することができる。
【００４０】
終端の除外画素に係るデータは、図５に示すラインデータ３３のうち画素ブロックＣ３に属する。
図５に示すデータメモリ２３（ローカルメモリ）に画素ブロックＣ３に係るデータが格納されるアドレスは、以下の計算で求められる。
まず、列方向のアドレスのオフセット値tempColは、
tempCol ＝（DMALen −１）／ColLen ＝（９−１）／３＝２
で求められる。
ここで、DMALenは、１ライン分のデータ長をＤＭＡ転送の単位で除し、剰余がある場合は切り上げた値である。即ち、画素ブロックＣ３が１ラインの幾つめのＤＭＡ転送に属するかを示す。図５の例で、ＤＭＡ転送は４バイト単位であり、１ラインは３３画素、各画素に係る領域分離データは１バイトであるから、１ライン分のデータのバイト数３３をＤＭＡ転送の単位バイト数４で除して剰余を切り上げた値９がDMALenである。
【００４１】
また、ColLenは、前記DMALenを並列処理数（データパス数）４で除して切り上げた値である。即ち、図５に示すデータメモリ２３（ローカルメモリ）の行の数に相当する。図５に示す例では、DMALenの値９を４で除して剰余を切り上げた値３がColLenである。
なお、色判定処理においてはフィルタ処理と異なり周辺画素を用いた演算を行わないので、オーバーラップ機能を適用する必要はない。
【００４２】
上述の計算により、列方向のアドレスのオフセット（tempCol）の値として２が得られる。即ち、図５に示すデータメモリ２３（ローカルメモリ）のアドレス0x0100（行方向、列方向ともにアドレスオフセット値ゼロの位置）から列方向に２つ進んだアドレス0x0108の列に終端画素を含む画素ブロックＣ３が存在することを示している。
【００４３】
次に、行方向のアドレスのオフセット値tempRowは、
tempRow ＝（DMALen −１）−（temCol * ColLen）＝（９−１）−（２＊３）＝２
で求められる。
即ち、0x0108（アドレスオフセット値２の列）行方向に２つ進んだアドレス0x0128に画素ブロックＣ３に係るデータが格納されている。
画素ブロックＣ３に係るデータが格納されるオフセット値は、
オフセット＝（tempCol ＊ １６）＋（tempRow ＊ ４）＝（２＊１６）＋（２＊４）
＝４０（０ｘ２８）
で求められる。
【００４４】
ここで、tempColに対する乗数１６は、図５に示すデータメモリ２３（ローカルメモリ）の１行のアドレスオフセット値に基づくものであり、tempRowに対する乗数４は、１画素ブロックのアドレスオフセット値に基づくものである。
ＤＳＰ２０は、上述の計算によって求められたアドレスオフセット値を有する画素ブロックのデータを、色判定処理の実行前にデータメモリ２３の別の領域に退避させておく。そして、色判定処理の後に書き戻すようにする。
ＤＭＡＣ２４は、上述した色判定処理後にデータメモリ２３に格納されている１ライン分のデータを画素ブロックＡ１，Ａ２，Ａ３，Ｂ１，Ｂ２，Ｂ３，Ｃ１，Ｃ２，Ｃ３の順に画像メモリ１２へ転送する。
【００４５】
以上に述べた実施形態では、始端の除外画素と終端の除外画素とで、提供する処理が異なる。しかし、終端の除外画素と同様に、始端の除外画素もデータメモリ２３上に格納される位置が求められる。よって、始端の除外画素についても、終端の除外画素と同様に、画素ブロックに係るデータの退避と書き戻しを行うことも可能である。
図４に示す色判定処理は条件付きの画像処理であるために上述の疑似的判定が適用可能であるが、条件付きの画像処理でない場合は、終端の除外画素に対する手法を始端の除外画素についても適用すればよい。
【００４６】
図６は、この実施形態における領域分離データに係る画像処理の流れを、従来手法と対比して示す説明図である。図６で、太い一重の枠はＣＰＵの処理を示しており、二重の枠はＤＳＰの処理を示している。
従来手法では、第１の処理（３×３フィルタＤＳＰ処理）および第２の処理（色判定ＤＳＰ処理）を別のステップとして実行していた。即ち、それぞれのステップでＤＳＰ２０を呼び出して処理を行ったうえで、除外画素に係るデータの書き戻しを行っていた。そのために、第１の処理後のデータをデータメモリ２３から画像メモリ１２へ一旦転送し、第２の処理前に画像メモリ１２からデータメモリ２３へデータを転送していた。
この実施形態によれば、両者を一つのステップとして処理し、一度のＤＳＰ呼び出しで処理するように変更した。即ち、第１の処理前に画像メモリ１２からデータメモリ２３へ転送されたデータに対して第１および第２の処理を実行し、処理後のデータをデータメモリ２３から画像メモリ１２へ転送するようにしている。
【００４７】
図７は、参考として従来手法による除外画素に係るデータの書き戻し処理を示す説明図である。図７において、処理前のバンドデータ３５ａの縦横に並ぶ各画素のＤＳＰ処理前の領域分離データを無地のマス目で示し、ＤＳＰ処理後のバンドデータ３５ｂを網掛けのマス目で示している。
図７に示すように、従来手法では書き戻し処理のためにＣＰＵ１１は、ＤＳＰ処理前のバンドデータ３５ａを画像メモリ１２上の別の領域に退避データ３６としてコピーする。ＤＳＰ処理後のデータを画像メモリ１２へ転送後、ＤＳＰ処理後のバンドデータ３５ｂにおける始端および終端の除外画素に係るデータを退避データ３６から書き戻し、書き戻し後のバンドデータ３５ｃを得る。なお、第２の処理（色判定ＤＳＰ処理）においては、前述の条件１または条件２に当てはまる画素の領域分離データのみ置換するため、実際には網掛けで示すＤＳＰ処理後のバンドデータ３５ｂのすべての画素に係るデータが置換される訳ではない。
【００４８】
以上に述べたように、
（i）この発明による画像処理装置は、主走査方向に並ぶ複数の画素で１ラインが構成され、副走査方向に並ぶ複数のラインで１頁が構成され、１以上の頁からなる画像を処理するときその画像に係るデータを格納する画像メモリと、前記データの処理に用いるデータメモリを含み各ラインの方向において複数かつ１ライン未満の所定画素数からなる画素ブロック単位で画像処理を実行するデジタルシグナルプロセッサと、画像処理の対象となる前記データを前記画像メモリから前記データメモリへ分割して転送し、かつ画像処理後のデータを前記画像メモリへ転送するように制御するＣＰＵと、を備え、前記デジタルシグナルプロセッサは、各ラインにおいて画像処理から除外すべき画素であって始端部の画素ブロックおよび終端部の画素ブロックに属する除外画素に係るデータについて、前記データメモリ上に格納される位置を画像処理前に特定して前記データメモリに確保される退避領域へコピーし、画像処理後に前記除外画素に係るデータを退避領域から元の位置へ戻す退避処理を行うことを特徴とする。
【００４９】
この発明において、画像メモリは、ＣＰＵがアクセス可能であるがデジタルシグナルプロセッサは直接アクセスできないメモリである。一方、データメモリはデジタルシグナルプロセッサがアクセス可能であるが、ＣＰＵは直接アクセスできないメモリである。デジタルシグナルプロセッサはデータメモリ上のデータに対する処理を実行する。
また、処理の対象となるデータは、画像を構成する各画素に係るデータであるが、画素データに限らず、各画素に対応したデータであってもよい。画素に対応したデータの具体的な態様として、前述の実施形態において領域分離データを挙げている。それに限らず、画素に対応したデータであればこの発明が適用可能なデータに該当し得る。
画像処理は、所定の規則に従って各画素のデータに対する操作を行うことをいう。その具体的な態様の一例として、空間フィルタ処理が挙げられるがこれに限るものでない。
【００５０】
さらに、この発明の好ましい態様について説明する。
（ii）前記デジタルシグナルプロセッサは、前記データが所定の条件を満たす場合にのみ実行する条件付き画像処理の場合、前記除外画素の一部について前記条件を常に満たさないとする擬似的判定を前記退避処理に代えて実行してもよい。（実施の形態２）
このようにすれば、退避処理に代わる疑似的判定の処理により前記除外画素に係るデータを画像処理の前後で維持できる。
【００５１】
（iii）前記デジタルシグナルプロセッサは、前記条件付き画像処理の場合、前記始端部の画素ブロックに属する除外画素のデータについて疑似的判定を適用し、前記終端部の画素ブロックに属する除外画素のデータについて退避処理を適用してもよい。（実施の形態３）
このようにすれば、始端の画素ブロックと終端の画素ブロックとについて、異なる処理を適用して除外画素に係るデータを維持することができる。
【００５２】
（iv）前記画像に係るデータは各画素に対応する領域分離データであり、前記画像処理は領域分離に係る画像処理であってもよい。（実施の形態４）
この手法は、各画素の画素データにも適用可能であるが、各画素に対応する領域分離データにも適用できる。
【００５３】
（v）前記デジタルシグナルプロセッサは、前記データメモリに格納されたデータに対して一連の画像処理を行い、前記退避処理は、最初の画像処理の実行前に前記退避領域へのコピーを行い、最後の画像処理後に前記退避領域のデータによる置き換えを行うものであってもよい。（実施の形態５）
このようにすれば、デジタルシグナルプロセッサによる一連の画像処理において、各画像処理の段階で退避処理や置き換えを都度行う必要がないので、処理負担を抑制できる。
【００５４】
（vi）この発明の好ましい態様は、前記画像処理装置を備えた画像形成装置を含む。
この発明の好ましい態様には、上述した複数の態様のうちの何れかを組み合わせたものも含まれる。
【００５５】
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【００５６】
１１：ＣＰＵ、    １２：画像メモリ、    １３：画像処理回路、    ２０：ＤＳＰ、    ２１：ＭＰＵ、    ２２：プログラムメモリ、    ２３：データメモリ、    ２４：ＤＭＡＣ
３１：領域分離データ    ３３：ラインデータ    ３５ａ，３５ｂ，３５ｃ：バンドデータ、    ３６：退避データ
１００：画像形成装置、    １０１：画像処理装置、    １０２：スキャナユニット、    １０３：プリンタユニット
【図１】
2020201581.tif 000003
【図２】
2020201581.tif 000004
【図３】
2020201581.tif 000005
【図４】
2020201581.tif 000006
【図５】
2020201581.tif 000007
【図６】
2020201581.tif 000008
【図７】
2020201581.tif 000009