特開2020-201581(P2020-201581A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シャープ株式会社の特許一覧

特開2020-201581画像処理装置およびそれを備えた画像形成装置
<>
  • 特開2020201581-画像処理装置およびそれを備えた画像形成装置 図000003
  • 特開2020201581-画像処理装置およびそれを備えた画像形成装置 図000004
  • 特開2020201581-画像処理装置およびそれを備えた画像形成装置 図000005
  • 特開2020201581-画像処理装置およびそれを備えた画像形成装置 図000006
  • 特開2020201581-画像処理装置およびそれを備えた画像形成装置 図000007
  • 特開2020201581-画像処理装置およびそれを備えた画像形成装置 図000008
  • 特開2020201581-画像処理装置およびそれを備えた画像形成装置 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-201581(P2020-201581A)
(43)【公開日】2020年12月17日
(54)【発明の名称】画像処理装置およびそれを備えた画像形成装置
(51)【国際特許分類】
   G06T 1/20 20060101AFI20201120BHJP
【FI】
   G06T1/20 B
【審査請求】未請求
【請求項の数】6
【出願形態】OL
【全頁数】15
(21)【出願番号】特願2019-106277(P2019-106277)
(22)【出願日】2019年6月6日
(71)【出願人】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100065248
【弁理士】
【氏名又は名称】野河 信太郎
(74)【代理人】
【識別番号】100159385
【弁理士】
【氏名又は名称】甲斐 伸二
(74)【代理人】
【識別番号】100163407
【弁理士】
【氏名又は名称】金子 裕輔
(74)【代理人】
【識別番号】100166936
【弁理士】
【氏名又は名称】稲本 潔
(74)【代理人】
【識別番号】100174883
【弁理士】
【氏名又は名称】冨田 雅己
(72)【発明者】
【氏名】辻本 翔
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057AA11
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CE03
5B057CE06
5B057CE17
5B057CE18
5B057CH04
5B057CH11
5B057CH14
5B057DA07
5B057DA08
(57)【要約】      (修正有)
【課題】画像処理の対象外とすべき画素について、処理負担を抑えながら画像処理の前後で前記画素を維持する手法を提供する。
【解決手段】画像処理装置は、主走査方向に並ぶ複数の画素で1ラインが構成され、副走査方向に並ぶ複数のラインで1頁が構成され、1以上の頁からなる画像を処理するときその画像の画像メモリと、データメモリを含み各ラインの方向において複数かつ1ライン未満の所定画素数からなる画素ブロック単位で画像処理を実行するデジタルシグナルプロセッサ(DSP)と、画像処理の対象となるデータを画像メモリからデータメモリへ分割して転送し、かつ画像処理後のデータを画像メモリへ転送するように制御するCPUと、を備える。DSPは、各ラインにおいて画像処理から除外すべき画素位置を画像処理前に特定してデータメモリに確保される退避領域へコピーし、画像処理後に除外画素に係るデータを退避領域から元の位置へ戻す。
【選択図】図1
【特許請求の範囲】
【請求項1】
主走査方向に並ぶ複数の画素で1ラインが構成され、副走査方向に並ぶ複数のラインで1頁が構成され、1以上の頁からなる画像を処理するときその画像に係るデータを格納する画像メモリと、
前記データの処理に用いるデータメモリを含み各ラインの方向において複数かつ1ライン未満の所定画素数からなる画素ブロック単位で画像処理を実行するデジタルシグナルプロセッサと、
画像処理の対象となる前記データを前記画像メモリから前記データメモリへ分割して転送し、かつ画像処理後のデータを前記画像メモリへ転送するように制御するCPUと、を備え、
前記デジタルシグナルプロセッサは、各ラインにおいて画像処理から除外すべき画素であって始端部の画素ブロックおよび終端部の画素ブロックに属する除外画素に係るデータについて、前記データメモリ上に格納される位置を画像処理前に特定して前記データメモリに確保される退避領域へコピーし、画像処理後に前記除外画素に係るデータを退避領域から元の位置へ戻す退避処理を行う画像処理装置。
【請求項2】
前記デジタルシグナルプロセッサは、前記データが所定の条件を満たす場合にのみ実行する条件付き画像処理の場合、前記除外画素の一部について前記条件を常に満たさないとする擬似的判定を前記退避処理に代えて実行する請求項1に記載の画像処理装置。
【請求項3】
前記デジタルシグナルプロセッサは、前記条件付き画像処理の場合、前記始端部の画素ブロックに属する除外画素のデータについて疑似的判定を適用し、前記終端部の画素ブロックに属する除外画素のデータについて退避処理を適用する請求項2に記載の画像処理装置。
【請求項4】
前記画像に係るデータは各画素に対応する領域分離データであり、前記画像処理は領域分離に係る画像処理である請求項1〜3の何れか一つに記載の画像処理装置。
【請求項5】
前記デジタルシグナルプロセッサは、前記データメモリに格納されたデータに対して一連の画像処理を行い、
前記退避処理は、最初の画像処理の実行前に前記退避領域へのコピーを行い、最後の画像処理後に前記退避領域のデータによる置き換えを行うものである請求項1〜4の何れか一つに記載の画像処理装置。
【請求項6】
請求項1〜5の何れか一つに記載の画像処理装置を備えた画像形成装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像処理装置およびそれを備えた画像形成装置に関し、より詳細には画像データを制御するCPUと画像処理用のデジタルシグナルプロセッサを備えた画像処理装置およびそれを備えた画像形成装置に関する。
【背景技術】
【0002】
頁単位で画像データを処理する画像形成装置が知られている。コピー、ファクシミリ、スキャナやそれらの機能を複合した複合機がその具体的な例である。それらの画像形成装置は、原稿の画像を読み取るスキャナユニット、前記スキャナユニットや外部のコンピュータで生成された画像データを処理する画像処理装置を備え、コピー、ファクシミリ、複合機についてはさらに処理された画像データを印刷するプリンタ部を備える。
【0003】
一般に、画像処理装置は、画像データを管理および転送するためにCPU(Central Processing Unit、中央処理装置)およびDMAC(Direct Memory Access Controller)を備える。CPUは、DMACを制御して画像データの転送を実行する。そして、画像メモリに格納される画像データを管理する。それに加えてCPUは、前記スキャナユニット、前記プリンタ部の動作を制御してもよい。CPUは機器の動作や画像データの制御に適した汎用性の高いアーキテクチャおよびインストラクションセットを備えている。
【0004】
しかし、CPUがあまり得意としない処理もある。その一つが、多量のデータに対して同じパターンの四則演算を高速に処理するような処理である。画像処理についていえば、空間フィルタ(以下、単にフィルタ)処理がその類の処理のとして挙げられる。
デジタルシグナルプロセッサ(Digital Signal Processor、以下、単にDSPともいう)は、CPUに比べて積和演算を高速演算できるように設計されており、上述のフィルタ処理に好適なデバイスである。
このような特性を持つCPUとDSPを相補的に組み合わせてそれぞれに適した処理を分担して実行するように構成された画像処理装置が知られている(例えば、特許文献1、2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−121347号公報
【特許文献2】特開2008−65654号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
この明細書において、画像データは1以上の頁に係る画像のデータからなる。各頁は原稿あるいは印刷用紙の縦横のサイズおよび解像度に基づいて主走査方向および副走査方向の画素数が決まる。なお、主走査方向の画素の並びをラインともよぶ。副走査方向の画素数はライン数と一致する。
CPUは頁の単位で画像メモリ上に画像データを格納する領域を確保したり開放したりする管理を行う。
一方、画像処理を行うDSPは、多量のデータを高速処理するためにデータを並列処理する構造を持つものがある。どのデータに対しても同じ処理を繰り返すことを前提とし並列処理することで1データの処理に要するみかけ上の時間を短縮する構成である。
【0007】
DSPが行う典型的な画像処理として空間フィルタ(以下、単にフィルタ)処理が挙げられる。一般にフィルタ処理は、注目画素とその周囲にある周辺画素との間でフィルタの特性に応じた所定の四則演算を実行する処理である。例えば、注目画素を中心とする3×3画素、あるいは5×5画素を対象に1つのフィルタ処理を実行する。以下、主走査方向において、1つのフィルタが対象とする画素の単位を画素ブロックとよぶ。例えば、3×3画素のフィルタの場合は3画素、5×5画素のフィルタの場合は5画素が画素ブロックである。
【0008】
フィルタ処理の特性上、各頁の周囲に存在する数画素はフィルタ処理の対象外とすべき場合が起こり得る。3×3画素のフィルタ、即ち画素ブロックが3画素の場合を一例として説明する。主走査方向始端の画素を注目画素とする場合、始端側の周辺画素が存在しない。よって、始端の画素は処理の対象外とすべきである。以下、そのような画素を除外画素とよぶ。終端画素についても同様である。画素ブロックが5画素の場合は、始端から2つ目の画素および終端から2つ目の画素も除外画素である。
しかし、DSPは単純な処理を各画素につき繰り返して短時間のうちに画像処理を完了するのが好ましいところ、除外画素に係るデータか否かの判定を各データについて行うのは処理負担の観点から避けたい。
【0009】
従来の対応策の一つは次のようなものである。DSPとしては除外画素か否かの判定を行わずに各画素に係るデータの処理を一律に実行する。画像処理後、CPUが各頁の除外画素に係るデータを画像処理前のデータに書き戻す処理を実行する。しかし、それでもなおCPUが画像処理前の頁のデータを画像メモリ上の別領域に退避データとしてコピーする処理、および画像処理済の画像メモリ上のデータに、除外画素に係る退避データのみを書き戻す処理に時間を要する。また、その処理に要するCPUの負担が大きいと、CPUが並行して処理すべき他の処理の速度が低下する。
【0010】
この発明は、以上のような事情を考慮してなされたものであって、各ラインの始端部および終端部にあって画像処理の対象外とすべき画素について、処理負担を抑えながら画像処理の前後で前記画素を維持する手法を提供するものである。
【課題を解決するための手段】
【0011】
この発明は、主走査方向に並ぶ複数の画素で1ラインが構成され、副走査方向に並ぶ複数のラインで1頁が構成され、1以上の頁からなる画像を処理するときその画像に係るデータを格納する画像メモリと、前記データの処理に用いるデータメモリを含み各ラインの方向において複数かつ1ライン未満の所定画素数からなる画素ブロック単位で画像処理を実行するデジタルシグナルプロセッサと、画像処理の対象となる前記データを前記画像メモリから前記データメモリへ分割して転送し、かつ画像処理後のデータを前記画像メモリへ転送するように制御するCPUと、を備え、前記デジタルシグナルプロセッサは、各ラインにおいて画像処理から除外すべき画素であって始端部の画素ブロックおよび終端部の画素ブロックに属する除外画素に係るデータについて、前記データメモリ上に格納される位置を画像処理前に特定して前記データメモリに確保される退避領域へコピーし、画像処理後に前記除外画素に係るデータを退避領域から元の位置へ戻す退避処理を行う画像処理装置を提供する。
さらに、上述の画像処理装置を備えた画像形成装置を提供する。
【発明の効果】
【0012】
この発明による画像処理装置において、デジタルシグナルプロセッサは、各ラインの始端部および終端部のそれぞれの画素ブロックに属する除外画素に係るデータについて、前記データメモリ上に格納される位置を画像処理前に特定してデータメモリ上の退避領域へコピーし、画像処理後に退避領域から元の位置へ戻すので、除外画素に係るデータを、処理速度低下を抑えながら画像処理の前後で維持できる。
さらに、頁単位で画像メモリ上にデータを退避させる従来手法に比べると、1ラインの画素ブロック単位でデータメモリ上に退避領域を確保するので、データの退避に要するメモリ容量が節約できる。
【図面の簡単な説明】
【0013】
図1】この実施形態による画像形成装置の構成を示すブロック図である。
図2】この実施形態における第1の処理の対象画素を示す説明図である。
図3】この実施形態において、1ライン分のデータの処理および格納の様子を示す説明図である。
図4】この実施形態における色判定処理のプログラムの例を示す説明図である。
図5図4に示す色判定処理において、1ラインのデータの処理および格納の様子を示す説明図である。
図6】この実施形態における領域分離データに係る画像処理の流れを、従来手法と対比して示す説明図である。
図7】従来手法による除外画素に係るデータの書き戻し処理を示す説明図である。
【発明を実施するための形態】
【0014】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
【0015】
(実施の形態1)
≪画像処理装置および画像形成装置の構成≫
図1は、この実施形態に係る画像形成装置の構成を示すブロック図である。図1に示されるように、画像形成装置100は、画像処理装置101、スキャナユニット102およびプリンタユニット103を備える。
画像処理装置101は、CPU11、画像メモリ12、画像処理回路13、DSP20およびDMAC24を備える。
画像メモリ12は。メインメモリとも呼ばれる。
【0016】
スキャナユニット102は、原稿読取台もしくは自動原稿読取装置にセットされた原稿を読み込み、画像データを画像メモリへ格納する。この際、画像データは副走査方向(縦方向)に対して分割された帯状のバンド単位で格納される。各バンドの横方向の幅は、スキャン時の主走査方向の長さに対応する。バンドの縦方向の高さは、スキャナユニットでの読み取り処理で任意に指定することができる。各バンドの高さを足し合わせた値は、スキャン時の副走査方向の長さに対応する。バンドの主走査方向における各画素の並びをラインと呼ぶ。
【0017】
1つのバンドが有するラインの数は、そのバンドの副走査方向における画素数、即ちバンドの高さと一致する。例えば、A4原稿(横297mm×縦210mm)1枚を600DPI(Dot per inch)の解像度で読み取ると、横(主走査方向)7016画素×縦(副走査方向)4961画素の画像データが得られる。A4横297mmの長さは、画像形成装置100が主走査方向において読み取り可能な最大の長さである。1バンドが64ラインとすると、副走査方向に78のバンドに分割される。1バンドの主走査方向の幅が7016画素、副走査方向の高さが64画素である。バンド数の78は、A4サイズの画像データの副走査方向における4961画素をバンド単位の64画素で除して剰余分を切り上げた結果として得られる値である。
【0018】
画像処理回路13は、CPU11の制御の下に色空間変換や領域分離処理、画像の拡大および縮小あるいは回転等の処理を実行する。各画像処理はステップとして分かれており、各ステップは先行ステップからバンド毎の画像データを入力として受け取り、それぞれの画像処理を行った後、処理済のバンド毎の画像データを後続ステップへと流していく。画像処理はCPU11単独の処理として実行される場合もあるが、CPU11の処理とDSP20の処理とを組み合わせて実行される場合もある。ここで、DSP20はCPU11から独立した処理モジュールである。DSP20が処理を行っている最中に、CPU11は別の処理を実行することが可能である。
【0019】
DSP20は、MPU(Micro Processing Unit)21、プログラムメモリ22およびデータメモリ23を備える。MPU21は、プログラムメモリ22に格納されたプログラムに従って処理を実行するユニットであってデータメモリ23へのアクセスやデータの処理単位が4バイト単位といったようにいくつかの制約はあるものの、実行する処理をある程度自由にプログラミングすることができる。
DSP20を使用する画像処理ステップは複数存在する。ただし、DSP20があるステップを実行している間、他のステップを実行することはできない。画像メモリ12に比べると小容量ではあるが、DSP20は専用のデータメモリ23を持っている。この実施例においてDSP20は、32KBの容量のデータメモリを備えるものとする。1ラインが8000画素の8bitデータ(1バイト/画素)の場合、おおよそ4ライン分のデータに相当する記憶容量である。
【0020】
MPU21はデータメモリ23に格納されたデータに対して処理を実行する。DMAC24は、画像メモリ12からデータメモリ23へ数ライン分のデータをDMA転送する。DSP20のMPU21が転送されたデータに対する処理を行った後、処理後のデータを画像メモリ12へDMA転送するといった一連の手順を繰り返すことで、各バンドのデータが処理される。
【0021】
≪画像処理の例≫
この実施形態による画像処理の一例として、領域分離に係る空間フィルタ処理および色判定処理について以下に述べる。処理の対象は、画像の画素そのもののデータではなく、各画素に対応する領域分離データである。
図2図7は、この実施形態による画像処理の例を示す説明図である。
領域分離データは、スキャナユニット102で読み取った画像データの各画素が、どういう画像領域を構成するかを示すデータであって、画像の高画質化処理のために使用される。
【0022】
例えば、文字領域を構成する画素に対しては、文字がくっきり見えるようにコントラストが強調されるような画像処理を施す。反対に、画像領域を構成する画素に対しては、諧調再現性を重視した画像処理が施される。
領域分離データに係る画像処理では、画像の色データ(YCbCr形式のうち、Cb/Crプレーンのデータ)および先行ステップにて生成された領域分離データを入力として、下記2つの処理により、領域分離データを補正する。
【0023】
第1の処理は、処理対象の画素(注目画素)およびその周辺画素の色データを用いたフィルタ処理(3×3フィルタDSP処理)である。
第2の処理は、第1の処理(フィルタ処理)の結果および領域分離データが所定の条件を満たす場合に、注目画素の領域分離データを補正する処理(色判定処理、色判定DSP処理ともいう)である。
第1の処理と第2の処理は一連の処理としてDSP20が実行する。即ち、画像メモリ12からデータメモリ23へ転送された数ライン分のデータに対してDSP20が第1のフィルタ処理を実行し、続いて第2の色判定処理を実行する。DMAC24は、一連の画像処理が終了したデータをデータメモリ23から画像メモリ12へ転送する。
【0024】
図2は、この実施形態における第1の処理、即ちフィルタ処理の対象画素を示す説明図である。第1の処理であるフィルタ処理は、注目画素を中心とした3×3画素に対するマスク処理である。このフィルタ処理は、Cb/Crプレーンの各画素に対して実施される。
【0025】
図2においてマス目は縦横に並ぶ各画素を示しており、中央の*で示す画素が注目画素である。DSP20は、注目画素およびその周囲8画素の9画素(図2に網掛けで示す画素)に対応する領域分離データ31の各値の平均値を求める。詳細には、9画素に対応する領域分離データの各値の和を求め、さらに求めた値に固定値7282を乗じた積の値を16ビット右シフトさせる。固定値7282を乗じて16ビット右シフトさせる演算は、9で割ることに相当し、全体として9画素分の領域分離データ31の和を9で除して平均値を求める演算になる。さらに、このようにして求めた平均値から固定値128を引いた値の絶対値をフィルタ処理の出力結果とする。フィルタ処理の結果は、周囲の画素を含めて平均化(ノイズ除去)した注目画素が何色か(如何なる色域に属するか)を示す。
【0026】
上述のフィルタ処理は、注目画素の周囲の画素を必要とする。しかし、1頁の各画素のうち上下左右の端にある境界画素、即ち4辺の縁にある1画素については周囲8画素の一部が存在しない。それらの画素について上述のフィルタ処理を行っても正しい結果が得られない。よって、境界画素は除外画素とすべきである。DSP20は、主走査方向に並ぶ1ライン毎に順次処理を行うところ、1ラインにおける境界画素は始端の画素および終端の画素に対応する。なお、副走査方向については、始端の1ラインと終端の1ラインを除外することでDSP20による境界画素の画像処理を除外できる。
【0027】
図3は、この実施形態において、1ライン分のデータがデータメモリ23(図3にローカルメモリと記す)内にどのように格納され、処理されるかを示す説明図である。なお、図3において1ラインの画素数を32画素としているが、この画素数は図示し易いように選択した一例に過ぎない。例えば、A4横方向を600DPIで読み取る場合における1ラインの画素数は、上述のように7016画素である。除外画素は、ライン左端の始端画素および右端の終端画素の合計2画素である。
【0028】
この実施形態において、DSP20は高速化のために並列処理を行うデータパス−a〜dを備えており、1ラインのデータ(ラインデータ33)を4バイト単位で4分割して並列処理する。図3に示すデータメモリ23のアドレス「0x00」列のデータはデータパス−aで処理され、同様に、アドレス「0x04」列のデータはデータパス−bで、アドレス「0x08」列のデータはデータパス−cで、アドレス「0x0C」列のデータはデータパス−dでそれぞれ処理される。
また、DSP20がデータパス−a〜dにより4分割して処理を行うので、DMAC24は、その4分割に係る境界の画素が正しく処理されるように、DMA転送機能としてオーバーラップ機能をサポートする。
【0029】
オーバーラップ機能について詳細を述べる。DMAC24は、図3に示す1ライン分の画素ブロックA1〜D2を処理する際に、まずゼロデータのダミーの画素ブロックデータをデータメモリ23へ転送し、続いてA2,B2,C2の順に画像メモリ12からデータメモリ23へ画素ブロックデータを転送する。これは、続く1ライン本体の画素ブロックとの境界の画素が正しく処理されるようにするための処理である。
【0030】
転送されたダミー,A2,B2およびC2の画素ブロックデータはその順に、図3に示す例でデータメモリ23のアドレス0x0090〜0x009Fの領域に格納される。続いて、DMAC24は、1ライン本体の画素ブロックデータA1〜D2をその順にデータメモリ23のアドレス0x0100〜0x011Fの領域に転送して格納する。さらに、DMAC24は、画素ブロックデータB1,C1,D1,ダミーの画素ブロックをその順にデータメモリ23のアドレス0x0120〜0x012Fの領域に転送して格納する。これは、図3においてデータメモリ23(ローカルメモリ)の横方向に並ぶアドレス領域へ順次転送することに対応する。
【0031】
DSP20は、データメモリ23に格納されたデータに対してフィルタ処理を実行し、その結果をデータメモリ23の別領域に格納する。この別領域に格納されるフィルタ処理済みデータは、前記オーバーラップされたデータは含まれないが、図3に示すデータメモリ23と同じレイアウトで格納される。即ち、図3におけるデータメモリ23の第2行目と第3行目のアドレス領域に対応するデータの処理結果のみが格納される。
前記フィルタ処理済みデータは、続く色判定処理の入力データとなる。
【0032】
ここで、アドレス0x0100に格納されている画素ブロックデータA1に着目すると、画素ブロックデータA1は、縦方向において第1行目のダミーブロックおよび第4行目のA2ブロックの画素ブロックデータとそれぞれ隣接している。
図3においてラインデータ33の画素ブロックの並びを参照すると、画素ブロックA1の始端画素は境界画素であり、終端画素は画素ブロックA2に隣接している。即ち、データメモリ23上の画素ブロックデータA1は、縦方向において隣接する画素ブロックデータが1ラインの画素ブロックの並びに対応するように配置されている。DMAC24は、データメモリ23上の隣接画素ブロックデータが1ラインの画素ブロックの並びに対応するようにデータメモリ23の第1行目に各画素ブロックデータを予め配置しているのである。これが、オーバーラップ機能である。
データメモリ23のアドレス領域0x110に格納された画素ブロックデータA2、0x0104のB1、0x0114のB2、0x0108のC1、0x0118のC2、0x010CのD1、0x011CのD2についても同様である。
【0033】
なお、オーバーラップ機能を適用する場合、各ラインの始端画素に係るデータおよび後端画素に係るデータに対してオーバーラップされる値はダミーとして作成されたもので転送元の画像メモリに用意された値に依存するところ、DMAC24は任意の値を用意することができる。図3に示される例では「0」(ゼロ)である。オーバーラップ機能により始端および終端の境界画素についても隣接画素として参照するダミーデータが存在するので、DSP20としては境界画素のデータについてもそうでない画素データと同様にフィルタ処理を行うことができる。ただし、フィルタ処理の結果として得られる値は境界画素についての正しい結果を示すものでなく、無効な値である。
【0034】
続いて、第2の処理である色判定処理について述べる。
図4は、この実施形態における色判定処理のプログラムの例を示す説明図である。
図4に示されるプログラムコード中の変数「seg[i][j]」には、注目画素の領域分離データの値が格納されており、変数「mask_ave_Cb」、「mask_ave_Cr」には、それぞれ対応するCb/Crプレーンの画素に対する前述のフィルタ処理の結果が格納されている。
斜体太字で示している変数「Sig_Text_Def」、「Sig_Text_mod」、「Sig_Edge_Def」、「Sig_Edge_mod」は、所定のパラメータとして与えられる値である。
図4のプログラムは、注目画素の領域分離データが「Sig_Text_Def」の場合(判定1)は、注目画素に係るフィルタ処理の結果が図4に記載の条件(条件1)を満たす場合に限り注目画素の領域分離データを所定のパラメータ値「Sig_Text_mod」に置換することを示している。
また、注目画素の領域分離データが「Sig_Edge_Def」の場合(判定2)は、注目画素に係るフィルタ処理の結果が図4に記載の条件(条件2)を満たす場合に限り注目画素の領域分離データを所定のパラメータ値「Sig_Edge_mod」に置換することを示している。
注目画素の領域分離データが上述の判定1、判定2の何れにも該当しない場合は、注目画素の領域分離データを置換しない(維持する)ことを示している。
なお、色判定処理においてはフィルタ処理と異なり周辺画素を用いた演算は行わないが、上述の条件1および条件2がフィルタ処理の結果を含むので、フィルタ処理と同様に始端および終端の除外画素に対する処理が必要になる。
【0035】
図5は、図4に示す色判定処理に際して、1ラインのラインデータ33がデータメモリ内にどのように格納され、処理されるかを示している。なお、図3では1ライン分の画素数が32画素としているが、図5では異なる例を示すために1ライン分の画素数を33画素としている。ただし、図3と同様にこの画素数は図示し易いように選択した一例に過ぎない。例えば、A4横方向を600DPIで読み取る場合における1ラインの画素数は、上述のように7016画素である。また、前述のフィルタ処理と同様、除外画素は、ラインの始端画素および終端画素の合計2画素である。
【0036】
図5に示すように、始端画素については、データメモリ23上は、必ず画素ブロックA1で示される4バイトのデータのうち最上位バイトに格納されると決まっており、始端画素を含む画素ブロックはデータパス−aで処理される。
色判定処理は、図4に示すように注目画素の領域分離データが特定の値を有する場合にのみ処理が実行される。即ち、領域分離データが所定の条件を満たす場合にのみ実行される。DSP20のMPU21は、データメモリ23からMPU21が有するレジスタ(32ビット=4バイト)にデータをロードして、レジスタ単位で処理を実行する。
【0037】
そこで、DSP20はデータパス−aの最初の4バイト(図5のデータメモリ23(ローカルメモリ)に示す画素ブロックA1の最上位バイトを処理するときのみ、領域分離データの値を通常とり得ない値に変更する。図4に示す色判定処理の場合、DSP20は始端の除外画素に係る領域分離データの値を「ゼロ」に変更する。そうすることで、始端の除外画素に係るデータついては、条件1、条件2のいずれにも該当しなくなり(疑似的判定)、結果として色判定処理の前後で除外画素に係るデータが変わることなく維持される。
ラインの最初の画素ブロックA1のみが疑似的判定の対象となるため、疑似的判定を実行するか否かの判断を各画素ブロックについて繰り返し実行する必要がない。
【0038】
一方、終端の除外画素については、始端の除外画素と同じ手法を適用することはできない。DSP20の処理はレジスタ単位の処理を何度もループさせて実行しているところ、疑似的判定を始端の除外画素について実行するという判断(分岐処理)をそのループに組み込むと、処理速度の低下につながる。
前述のように、始端の除外画素は常に最初の画素ブロックに属しており1ラインの最初に処理される。そのため、前記判断に係る分岐処理は、ループ外に配置することができる。よって、処理速度が大きく低下することはない。
【0039】
終端の除外画素に係るデータがデータメモリ23に格納される位置は、1ラインの長さに依存して変わる。しかし、その位置は計算で求めることができる。そこで、終端の除外画素については、それが属する画素ブロックのデータを画像処理の前にDSP20がデータメモリ23の別の領域に退避させておき、画像処理の後に書き戻すようにする。そのようにすることで、色判定処理の前後で終端の除外画素に係るデータを維持することができる。
【0040】
終端の除外画素に係るデータは、図5に示すラインデータ33のうち画素ブロックC3に属する。
図5に示すデータメモリ23(ローカルメモリ)に画素ブロックC3に係るデータが格納されるアドレスは、以下の計算で求められる。
まず、列方向のアドレスのオフセット値tempColは、
tempCol =(DMALen −1)/ColLen =(9−1)/3=2
で求められる。
ここで、DMALenは、1ライン分のデータ長をDMA転送の単位で除し、剰余がある場合は切り上げた値である。即ち、画素ブロックC3が1ラインの幾つめのDMA転送に属するかを示す。図5の例で、DMA転送は4バイト単位であり、1ラインは33画素、各画素に係る領域分離データは1バイトであるから、1ライン分のデータのバイト数33をDMA転送の単位バイト数4で除して剰余を切り上げた値9がDMALenである。
【0041】
また、ColLenは、前記DMALenを並列処理数(データパス数)4で除して切り上げた値である。即ち、図5に示すデータメモリ23(ローカルメモリ)の行の数に相当する。図5に示す例では、DMALenの値9を4で除して剰余を切り上げた値3がColLenである。

なお、色判定処理においてはフィルタ処理と異なり周辺画素を用いた演算を行わないので、オーバーラップ機能を適用する必要はない。
【0042】
上述の計算により、列方向のアドレスのオフセット(tempCol)の値として2が得られる。即ち、図5に示すデータメモリ23(ローカルメモリ)のアドレス0x0100(行方向、列方向ともにアドレスオフセット値ゼロの位置)から列方向に2つ進んだアドレス0x0108の列に終端画素を含む画素ブロックC3が存在することを示している。
【0043】
次に、行方向のアドレスのオフセット値tempRowは、
tempRow =(DMALen −1)−(temCol * ColLen)=(9−1)−(2*3)=2
で求められる。
即ち、0x0108(アドレスオフセット値2の列)行方向に2つ進んだアドレス0x0128に画素ブロックC3に係るデータが格納されている。
画素ブロックC3に係るデータが格納されるオフセット値は、
オフセット=(tempCol * 16)+(tempRow * 4)=(2*16)+(2*4)
=40(0x28)
で求められる。
【0044】
ここで、tempColに対する乗数16は、図5に示すデータメモリ23(ローカルメモリ)の1行のアドレスオフセット値に基づくものであり、tempRowに対する乗数4は、1画素ブロックのアドレスオフセット値に基づくものである。
DSP20は、上述の計算によって求められたアドレスオフセット値を有する画素ブロックのデータを、色判定処理の実行前にデータメモリ23の別の領域に退避させておく。そして、色判定処理の後に書き戻すようにする。
DMAC24は、上述した色判定処理後にデータメモリ23に格納されている1ライン分のデータを画素ブロックA1,A2,A3,B1,B2,B3,C1,C2,C3の順に画像メモリ12へ転送する。
【0045】
以上に述べた実施形態では、始端の除外画素と終端の除外画素とで、提供する処理が異なる。しかし、終端の除外画素と同様に、始端の除外画素もデータメモリ23上に格納される位置が求められる。よって、始端の除外画素についても、終端の除外画素と同様に、画素ブロックに係るデータの退避と書き戻しを行うことも可能である。
図4に示す色判定処理は条件付きの画像処理であるために上述の疑似的判定が適用可能であるが、条件付きの画像処理でない場合は、終端の除外画素に対する手法を始端の除外画素についても適用すればよい。
【0046】
図6は、この実施形態における領域分離データに係る画像処理の流れを、従来手法と対比して示す説明図である。図6で、太い一重の枠はCPUの処理を示しており、二重の枠はDSPの処理を示している。
従来手法では、第1の処理(3×3フィルタDSP処理)および第2の処理(色判定DSP処理)を別のステップとして実行していた。即ち、それぞれのステップでDSP20を呼び出して処理を行ったうえで、除外画素に係るデータの書き戻しを行っていた。そのために、第1の処理後のデータをデータメモリ23から画像メモリ12へ一旦転送し、第2の処理前に画像メモリ12からデータメモリ23へデータを転送していた。
この実施形態によれば、両者を一つのステップとして処理し、一度のDSP呼び出しで処理するように変更した。即ち、第1の処理前に画像メモリ12からデータメモリ23へ転送されたデータに対して第1および第2の処理を実行し、処理後のデータをデータメモリ23から画像メモリ12へ転送するようにしている。
【0047】
図7は、参考として従来手法による除外画素に係るデータの書き戻し処理を示す説明図である。図7において、処理前のバンドデータ35aの縦横に並ぶ各画素のDSP処理前の領域分離データを無地のマス目で示し、DSP処理後のバンドデータ35bを網掛けのマス目で示している。
図7に示すように、従来手法では書き戻し処理のためにCPU11は、DSP処理前のバンドデータ35aを画像メモリ12上の別の領域に退避データ36としてコピーする。DSP処理後のデータを画像メモリ12へ転送後、DSP処理後のバンドデータ35bにおける始端および終端の除外画素に係るデータを退避データ36から書き戻し、書き戻し後のバンドデータ35cを得る。なお、第2の処理(色判定DSP処理)においては、前述の条件1または条件2に当てはまる画素の領域分離データのみ置換するため、実際には網掛けで示すDSP処理後のバンドデータ35bのすべての画素に係るデータが置換される訳ではない。
【0048】
以上に述べたように、
(i)この発明による画像処理装置は、主走査方向に並ぶ複数の画素で1ラインが構成され、副走査方向に並ぶ複数のラインで1頁が構成され、1以上の頁からなる画像を処理するときその画像に係るデータを格納する画像メモリと、前記データの処理に用いるデータメモリを含み各ラインの方向において複数かつ1ライン未満の所定画素数からなる画素ブロック単位で画像処理を実行するデジタルシグナルプロセッサと、画像処理の対象となる前記データを前記画像メモリから前記データメモリへ分割して転送し、かつ画像処理後のデータを前記画像メモリへ転送するように制御するCPUと、を備え、前記デジタルシグナルプロセッサは、各ラインにおいて画像処理から除外すべき画素であって始端部の画素ブロックおよび終端部の画素ブロックに属する除外画素に係るデータについて、前記データメモリ上に格納される位置を画像処理前に特定して前記データメモリに確保される退避領域へコピーし、画像処理後に前記除外画素に係るデータを退避領域から元の位置へ戻す退避処理を行うことを特徴とする。
【0049】
この発明において、画像メモリは、CPUがアクセス可能であるがデジタルシグナルプロセッサは直接アクセスできないメモリである。一方、データメモリはデジタルシグナルプロセッサがアクセス可能であるが、CPUは直接アクセスできないメモリである。デジタルシグナルプロセッサはデータメモリ上のデータに対する処理を実行する。
また、処理の対象となるデータは、画像を構成する各画素に係るデータであるが、画素データに限らず、各画素に対応したデータであってもよい。画素に対応したデータの具体的な態様として、前述の実施形態において領域分離データを挙げている。それに限らず、画素に対応したデータであればこの発明が適用可能なデータに該当し得る。
画像処理は、所定の規則に従って各画素のデータに対する操作を行うことをいう。その具体的な態様の一例として、空間フィルタ処理が挙げられるがこれに限るものでない。
【0050】
さらに、この発明の好ましい態様について説明する。
(ii)前記デジタルシグナルプロセッサは、前記データが所定の条件を満たす場合にのみ実行する条件付き画像処理の場合、前記除外画素の一部について前記条件を常に満たさないとする擬似的判定を前記退避処理に代えて実行してもよい。(実施の形態2)
このようにすれば、退避処理に代わる疑似的判定の処理により前記除外画素に係るデータを画像処理の前後で維持できる。
【0051】
(iii)前記デジタルシグナルプロセッサは、前記条件付き画像処理の場合、前記始端部の画素ブロックに属する除外画素のデータについて疑似的判定を適用し、前記終端部の画素ブロックに属する除外画素のデータについて退避処理を適用してもよい。(実施の形態3)
このようにすれば、始端の画素ブロックと終端の画素ブロックとについて、異なる処理を適用して除外画素に係るデータを維持することができる。
【0052】
(iv)前記画像に係るデータは各画素に対応する領域分離データであり、前記画像処理は領域分離に係る画像処理であってもよい。(実施の形態4)
この手法は、各画素の画素データにも適用可能であるが、各画素に対応する領域分離データにも適用できる。
【0053】
(v)前記デジタルシグナルプロセッサは、前記データメモリに格納されたデータに対して一連の画像処理を行い、前記退避処理は、最初の画像処理の実行前に前記退避領域へのコピーを行い、最後の画像処理後に前記退避領域のデータによる置き換えを行うものであってもよい。(実施の形態5)
このようにすれば、デジタルシグナルプロセッサによる一連の画像処理において、各画像処理の段階で退避処理や置き換えを都度行う必要がないので、処理負担を抑制できる。
【0054】
(vi)この発明の好ましい態様は、前記画像処理装置を備えた画像形成装置を含む。
この発明の好ましい態様には、上述した複数の態様のうちの何れかを組み合わせたものも含まれる。
【0055】
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【0056】
11:CPU、 12:画像メモリ、 13:画像処理回路、 20:DSP、 21:MPU、 22:プログラムメモリ、 23:データメモリ、 24:DMAC
31:領域分離データ 33:ラインデータ 35a,35b,35c:バンドデータ、 36:退避データ
100:画像形成装置、 101:画像処理装置、 102:スキャナユニット、 103:プリンタユニット
図1
図2
図3
図4
図5
図6
図7