JP2013055509A - 画像処理装置及びプログラム - Google Patents

画像処理装置及びプログラム Download PDF

Info

Publication number
JP2013055509A
JP2013055509A JP2011192451A JP2011192451A JP2013055509A JP 2013055509 A JP2013055509 A JP 2013055509A JP 2011192451 A JP2011192451 A JP 2011192451A JP 2011192451 A JP2011192451 A JP 2011192451A JP 2013055509 A JP2013055509 A JP 2013055509A
Authority
JP
Japan
Prior art keywords
scanning direction
image data
processing
sub
run
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011192451A
Other languages
English (en)
Inventor
Tomoyuki Morisawa
朋幸 守澤
Yoshihiko Nemoto
嘉彦 根本
Kenichi Takahashi
憲一 高橋
Nobuaki Suzuki
信明 鈴木
Hisashi Noda
尚志 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2011192451A priority Critical patent/JP2013055509A/ja
Publication of JP2013055509A publication Critical patent/JP2013055509A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】画像データに対する処理を高速化することができる画像処理装置及びプログラムを提供する。
【解決手段】主走査方向に連長圧縮された主走査方向連長データと、同一の主走査方向画像データが副走査方向に連続する数で表現される副走査方向連長データとを有する画像データを受け付ける受付手段と、主走査方向及び副走査方向にそれぞれ予め定められた画素幅を有する処理領域に基づいて、前記受付手段によって受け付けられた画像データを処理する処理手段と、前記受付手段によって受け付けられた副走査方向連長データ及び前記処理手段の処理領域の副走査幅に基づいて、前記処理手段によって処理される画像データの副走査方向連長データを算出する算出手段と、前記算出手段により算出された算出結果を、前記処理手段によって処理された画像データに付加する付加手段とを有する。
【選択図】図2

Description

本発明は、画像処理装置及びプログラムに関する。
特許文献1には、行単位のランレングス形式で表現された行データで構成される画像データに対して、空間フィルタ処理を施す画像処理装置が記載されている。
特開平10−13686号公報
本発明の目的は、画像データに対する処理を高速化することができる画像処理装置及びプログラムを提供することである。
[画像処理装置]
上記目的を達成するために、本発明に係る画像処理装置は、主走査方向に連長圧縮された主走査方向連長データと、同一の主走査方向画像データが副走査方向に連続する数で表現される副走査方向連長データとを有する画像データを受け付ける受付手段と、主走査方向及び副走査方向にそれぞれ予め定められた画素幅を有する処理領域に基づいて、前記受付手段によって受け付けられた画像データを処理する処理手段と、前記受付手段によって受け付けられた副走査方向連長データ及び前記処理手段の処理領域の副走査幅に基づいて、前記処理手段によって処理される画像データの副走査方向連長データを算出する算出手段と、前記算出手段による算出結果を、前記処理手段によって処理された画像データに付加する付加手段とを有する。
好適には、前記処理手段によってなされる処理は、ウィンドウ処理である。
好適には、前記処理手段は、前記受付手段によって受け付けられた画像データを行ごとに処理し、前記算出手段は、前記処理手段によって処理される画像データが先頭行、最終行及びこれらの行以外のいずれであるか並びに前記受付手段によって受け付けられた副走査方向連長データが前記処理手段の処理領域の副走査幅より大きいか否かに応じて、前記処理手段によって処理される画像データの副走査方向連長データを算出する。
好適には、前記算出手段によって算出された副走査方向連長データに応じて、前記受付手段によって受け付けられた画像データを記憶する記憶手段をさらに有し、前記処理手段は、前記記憶手段に記憶された画像データを処理する。
上記目的を達成するために、本発明に係る画像処理装置は、画像データを、この画像データを主走査方向に連長圧縮した主走査方向画像データと、同一の主走査方向画像データを副走査方向に連長圧縮した副走査方向画像データとを有する画像データに圧縮する圧縮手段と、主走査方向及び副走査方向にそれぞれ予め定められた画素幅を有する処理領域に基づいて、前記圧縮手段によって圧縮された画像データを処理する処理手段と、前記圧縮手段によって圧縮された副走査方向連長データ及び前記処理手段の処理領域の副走査幅に基づいて、前記処理手段によって処理される画像データの副走査方向連長データを算出する算出手段と、前記算出手段による算出結果を、前記処理手段によって処理された画像データに付加する付加手段とを有する。
好適には、前記付加手段が前記算出手段により算出された算出結果を付加した、前記処理手段によって処理された画像データを復号する復号手段をさらに有する。
[プログラム]
また、本発明に係るプログラムは、コンピュータを備える画像処理装置において、
主走査方向に連長圧縮された主走査方向連長データと、同一の主走査方向画像データが副走査方向に連続する数で表現される副走査方向連長データとを有する画像データを受け付けるステップと、主走査方向及び副走査方向にそれぞれ予め定められた画素幅を有する処理領域に基づいて、前記受け付けられた画像データを処理するステップと、前記受け付けられた副走査方向連長データ及び前記処理手段の処理領域の副走査幅に基づいて、前記処理される画像データの副走査方向連長データを算出するステップと、前記算出された結果を、前記処理された画像データに付加するステップとを前記コンピュータに実行させる。
請求項1に係る本発明によれば、本構成を有しない場合に比べ、画像データに対する処理を高速化することができる画像処理装置を提供することができる。
請求項2に係る本発明によれば、請求項1に係る本発明による効果に加え、本構成を有しない場合に比べ、画像データに対するウィンドウ処理を高速化することができる画像処理装置を提供することができる。
請求項3に係る本発明によれば、請求項1に係る本発明による効果に加え、本構成を有しない場合に比べ、簡易な方法によって画像データの副走査方向連長データを算出することができる画像処理装置を提供することができる。
請求項4に係る本発明によれば、請求項1に係る本発明による効果に加え、本構成を有しない場合に比べ、画像データに対する処理の前処理を高速化することができる画像処理装置を提供することができる。
請求項5に係る本発明によれば、本構成を有しない場合に比べ、画像データに対する処理を高速化することができる画像処理装置を提供することができる。
請求項6に係る本発明によれば、請求項5に係る本発明による効果に加え、本構成を有しない場合に比べ、復号された画像データを利用することができる画像処理装置を提供することができる。
請求項7に係る本発明によれば、本構成を有しない場合に比べ、画像データに対する処理を高速化することができるプログラムを提供することができる。
本発明の実施形態に係る画像処理装置を示す図である。 画像処理部で動作する画像処理プログラムの構成を示す図である。 ランレングス変換前の画像データの一例である。 ランレングス変換(主走査方向)済み画像データの一例である。 ランレングス変換済み画像データの一例である。 画像処理プログラムの構成の変形例を説明するための図である。 画像処理プログラムの構成の変形例を説明するための図である。 画像処理プログラムの構成の変形例を説明するための図である。 画像処理プログラムの構成の変形例を説明するための図である。 ウィンドウ処理に用いられるウィンドウの一例である。 算出部が同一ウィンドウ処理行を算出する手順を示すフローである。 ウィンドウ処理部によるウィンドウ処理の手順を示すフローチャートである。 乗算部による乗算の手順を示すフローチャートである。 シフト部によるシフトの手順を示すフローチャートである。 加算部による加算の手順を示すフローチャートである。
以下、本発明の実施形態を説明する。なお、以下の説明は本発明を実施するのにあたっての一例に過ぎず、本発明が以下に説明される事項に限定されるわけではなく、必要に応じて適宜変更可能である。
例えば、以下、画像処理は、ウィンドウ処理であるとして説明しているが、ウィンドウ(バッファ)を利用する他の処理であってもかまわない。例えば、フィルタ処理及び検知処理であってもかまわない。
図1は、本発明の第1の実施形態に係る画像処理装置1を示す図である。
図1に示すように、本発明の実施形態に係る画像処理装置1は、画像処理部100及びマーキングエンジン102を有する。
このような構成により、画像処理装置1は、入力された画像データに所定の処理を施し、記録用紙上にプリントする。
画像処理部100は、例えば、CPU及びメモリなどの記憶装置(ともに不図示)を備える制御基板である。
画像処理部100は、ケーブルなどにより通信可能に接続されたクライアントPC2から画像データを受け取り、予め定められた画像処理を施す。さらに、画像処理部100は、予め定められた画像処理が施された画像データが記録用紙にプリントされるよう、マーキングエンジン102を制御する。
マーキングエンジン102は、例えば、直接転写方式のデジタルカラープリンタであり、露光装置104、画像形成ユニット106、用紙搬送ベルト108及び定着器110を備える。
露光装置104は、帯電した感光体ドラム112の表面に向けてLEDを照射して、感光体ドラム20の表面に静電潜像を形成する。
画像形成ユニット106は、静電潜像を形成してトナー像を担持させる像担持体である感光体ドラム112、感光体ドラム112の表面を一様に帯電する帯電器114、カラー画像を構成する色ごとに設けられた現像ロール116Y(Yellow;イエロー)、116M(Magenta;マゼンタ)、116C(Cyan;シアン)及び116K(blacK;ブラック)、及び、感光体ドラム112の表面に形成されたトナー像を記録用紙に転写させる転写ロール118を備える。画像形成ユニット106は、現像ロール116Y、116M、116C及び116Kから、出力画像に応じたトナーを感光体ドラム112に供給し、感光体ドラム112の表面の静電潜像からトナー像を作像し、記録用紙上に、順次、転写する。
用紙搬送ベルト108は、感光体ドラム112及び転写ロール118によって形成される転写位置に対して、記録用紙を搬送する。
定着器110は、記録用紙上に転写されたトナー像を定着させる。
次に、図1の画像処理部100をさらに説明する。
図2は、画像処理部100で動作する画像処理プログラム120の構成を示す図である。画像処理部100は、CPUに対し、メモリに記憶された画像処理プログラム120を読み出して実行させる。
図2に示すように、画像処理プログラム120は、受付部122、算出部124、生成部126、記憶部128、ウィンドウ処理部130及び付加部138から構成される。ウィンドウ処理部130は、さらに、乗算部132、シフト部134及び加算部136から構成される。
なお、画像処理プログラム120は、メモリに記憶されるものとして説明したが、ROM(Read Only Memory)、RAM(Random Access Memory)及びHDD(Hard Disk Drive)などの記憶装置に記憶されていてもよいし、フロッピーディスク(登録商標)などの外部記録媒体に記憶されていてもよい。また、ネットワークを介して図1の画像処理装置1に接続されるサーバなどの他の装置に記憶されていてもよい。
画像処理プログラム120による画像処理は、画像処理装置1内で実行されるものとして説明したが、複数の装置(例えば、画像処理装置1及びネットワークを介して接続されるサーバ)内で実行されてもよい。また、FPGA(Field Programmable Gate Array)などのハードウェアによって実現されてもよい。
[受付部]
受付部122は、図1のクライアントPC2から、ランレングス変換済み画像データを受け付ける。
ここで、ランレングス変換済み画像データとは、主走査方向及び副走査方向のランレングス変換が施された画像データである。ランレングス変換済み画像データは、例えば、ビットマップ画像データ(例えば、図3Aに示す8ビットの画像データ)に対して主走査方向のランレングス変換を施した画像データ(例えば、図3Bに示す画像データ)に対し、さらに、副走査方向のランレングス変換を施した画像データであり、例えば、図3Cに示す画像データである。
図3Aは、主走査方向及び副走査方向のランレングス変換前の画像データ(以下、「ランレングス変換前の画像データ」)である。
ランレングス変換前の画像データは、例えば、同一の画素値によって構成される同色の画像データと、複数の画素値によって構成されるグラデーションの画像データとからなる。ここでは、同色の画像データは、主走査方向に16つ並んだ画素値86の画素からなる行が副走査方向に9つ連続しているものとする。また、グラデーションの画像データは、画素値255の画素、画素値230の画素、画素値215の画素、画素値200の画素、・・・、画素値0の画素からなる行が副走査方向に7つ連続しているものとする。
図3Bに示す画像データは、図3Aのランレングス変換前の画像データに対し、主走査方向のランレングス変換が施されてできる。
図3Bに示すように、主走査方向のランレングス変換が施された画像データ(以下、「ランレングス変換(主走査方向)済み画像データ」)は、主走査方向ラン長及び画素値からなるランデータを少なくとも1つ含む行によって構成される。
図3Cに示す画像データは、図3Bのランレングス変換(主走査方向)済み画像データに対し、副走査方向のランレングス変換が施されてできる。
図3Cに示すように、ランレングス変換済み画像データは、副走査方向ラン長及び少なくとも1つのランデータ(主走査方向ラン長及び画素値)を含む行によって構成される。
ランレングス変換済み画像データの1行目は、ランレングス変換(主走査方向)済み画像データの1〜9行目に対応し、ランレングス変換済み画像データの2行目は、ランレングス変換(主走査方向)済み画像データの10〜17行目に対応する。
なお、図4Aに示すように、画像処理プログラム120は、受付部122のない構成であってもかまわない。
この場合、クライアントPC2からのランレングス変換済み画像データは、メモリなどにいったん記憶され、算出部124に出力されるとともに、記憶部128に適宜格納される。
また、図4Bに示すように、画像処理プログラム120は、受付部122の代わりに変換部140を設ける構成であってもかまわない。
この場合、クライアントPC2からはランレングス変換前の画像データが送信され、クライアントPC2からのランレングス変換前の画像データはメモリなどにいったん記憶され、変換部140によって主走査方向及び副走査方向のランレングス変換が施される。主走査方向及び副走査方向のランレングス変換が施された画像データは、算出部124に出力されるとともに、記憶部128に適宜格納される。
また、図4Cに示すように、画像処理プログラム120は、受付部122の後段に変換部140を設ける構成であってもかまわない。
この場合、受付部122は、クライアント2からランレングス変換前の画像データを受け付け、変換部140は、受付部122によって受け付けられたランレングス変換前の画像データに対して主走査方向及び副走査方向のランレングス変換を施す。主走査方向及び副走査方向のランレングス変換が施された画像データは、算出部124に出力されるとともに、記憶部128に適宜格納される。
また、図4Dに示すように、画像処理プログラム120は、付加部138の後段に逆変換部142を設ける構成であってもかまわない。
この場合、逆変換部142は、付加部138から出力される画像データ(後述するように、ランレングス変換済み画像データにウィンドウ処理が施された画像データ)に対し、主走査方向及び副走査方向のランレングス逆変換を施す。
[算出部]
算出部124は、図2の受付部122によって受け付けられたランレングス変換済み画像データの元になる画像データ(つまり、ランレングス変換前の画像データ及びランレングス変換(主走査方向)済み画像データ)において、同じウィンドウ処理が可能である行(以下、「同一ウィンドウ処理行」)を算出する。ここで、「同じウィンドウ処理が可能である」とは、ウィンドウ処理の対象が同じであり、ウィンドウ処理の結果が同じになることを意味する。
ウィンドウ処理には、例えば、図5に示すウィンドウが用いられる。図5に示すように、ウィンドウは、3×3の9画素によって構成され、各画素には重み付け係数K(i,j)が予め設定される。網掛けされた画素は注目画素である。ランレングス変換前の画像データにウィンドウ処理が施される場合、ウィンドウを構成する画素の少なくとも一部がランレングス変換前の画像データを構成する画素に重なるよう、ウィンドウが走査される。
後述するように、1〜N行(Nは1以上の整数。以下、Nが常に同じものを指し、同じ値であるとは限らない)からなるランレングス変換(主走査方向)済み画像データにウィンドウ処理を施す場合、実際には存在しない0行目は1行目と同じランデータからなるものとし、実際に存在しない(N+1)行目はN行目と同じランデータからなるものとするので、2行目は1行目と同じウィンドウ処理が可能となり、N行目は(N−1)行目と同じウィンドウ処理が可能となる。1〜N行からなるランレングス変換前の画像データにウィンドウ処理を施す場合もこれと同様である。つまり、実際には存在しない0行目は1行目と同じ画素からなるものとし、実際に存在しない(N+1)行目はN行目と同じ画素からなるものとするので、2行目は1行目と同じウィンドウ処理が可能となり、N行目は(N−1)行目と同じウィンドウ処理が可能となる。
例えば、図5に示すウィンドウが図3Aに示すランレングス変換前の画像データを走査する場合、2行目は1行目と同じウィンドウ処理が可能であり、3〜8行目は2行目と同じウィンドウ処理が可能であるので、1〜8行目は同じウィンドウ処理が可能である。9〜10行目は8行目と同じウィンドウ処理はできない。12〜16行目は11行目と同じウィンドウ処理が可能であり、17行目は16行目と同じウィンドウ処理が可能であるので、11〜17行目は同じウィンドウ処理が可能である。
つまり、図3Aに示すランレングス変換前の画像データのうち同色の画像データは、同一ウィンドウ処理可能な部分(1〜8行目)及び同一ウィンドウ処理ができない部分(9行目)からなる。また、図3Aに示すランレングス変換前の画像データのうちグラデーションの画像データは、同一ウィンドウ処理ができない部分(10行目)及び同一ウィンドウ処理可能である部分(11〜17行目)からなる。
同一ウィンドウ処理ができない部分は、同一ウィンドウ処理可能な部分の境界にあたる。以下、このように同一ウィンドウ処理ができず、同一ウィンドウ処理可能な部分の境界にある行を「境界行」と記載する。ウィンドウ幅が3の場合、境界行の数は2であり、ウィンドウ幅が5の場合、境界行の数は4である。つまり、ウィンドウ幅から1を減じることにより、境界行の数を求めることができる。
図6は、図2の算出部124が同一ウィンドウ処理行を算出する手順を示すフローである。
算出部124がこの手順によって算出した同一ウィンドウ処理行は、図2の生成部126及び付加部138に出力される。
図6に示すように、算出部124は、図2の受付部122によって受け付けられたランレングス変換済み画像データを構成する1〜N行それぞれについて、ステップ102〜124の処理を実行する。なお、境界行の数は、予め0に設定されているものとする。
ステップ100(S100)において、iに1を設定する。
ステップ102(S102)において、i行目の副走査ラン長を取得する。
ステップ104(S104)において、境界行の数が0であるか否かを判定する。境界行の数が0である場合には、ステップ106の処理に進み、境界行の数が0でない場合には、ステップ122の処理に進む。
ステップ106(S106)において、ステップ102において取得した副走査ラン長がウィンドウ幅以上であるか否かを判定する。副走査ラン長がウィンドウ幅以上である場合には、ステップ108の処理に進み、副走査ラン長がウィンドウ幅より小さい場合には、ステップ124の処理に進む。
なお、このように処理行に含まれる副走査方向ラン長がウィンドウ幅以上であるか否かを判定するのは、処理行に含まれる副走査方向ラン長がウィンドウ幅以上である場合には、ウィンドウ処理の結果を利用することにより、ウィンドウ処理全体を高速化することができるからである。
ステップ108(S108)において、iが1の場合、ステップ110の処理に進み、1<i<Nの場合、ステップ112の処理に進み、iがNの場合、ステップ118の処理に進む。
ステップ110(S110)において、ステップ102において取得した副走査ラン長から(ウィンドウ幅−1)/2を減じた値を同一ウィンドウ処理行に設定し、ステップ114の処理に進む。iが1の場合、副走査ラン長から境界行を2で除した値を減じた値が同一ウィンドウ処理行となる。
ステップ112(S112)において、ステップ102において取得した副走査ラン長から(ウィンドウ幅−1)を減じた値を同一ウィンドウ処理行に設定し、ステップ114の処理に進む。1<i<Nの場合、副走査ラン長から境界行を減じた値が同一ウィンドウ処理行となる。
ステップ114(S114)において、ウィンドウ幅から1を減じた値を境界行の数に設定し、ステップ116の処理に進む。
ステップ116(S116)において、iをインクリメントして、ステップ102の処理に戻る。
ステップ118(S118)において、ステップ102において取得した副走査ラン長から(ウィンドウ幅−1)/2を減じた値を同一ウィンドウ処理行に設定し、ステップ120の処理に進む。iがNの場合、iが1の場合と同様、副走査ラン長から境界行を2で除した値を減じた値が同一ウィンドウ処理行となる。
ステップ120(S120)において、境界行の数を0に設定する。
ステップ122(S122)において、境界行の数をデクリメントし、ステップ124の処理に進む。
ステップ124(S124)において、同一ウィンドウ処理行を1に設定し、ステップ104の処理に戻る。
ここで、算出部124が図3Cに示すランレングス変換済み画像データについて同一ウィンドウ処理行を算出する場合を考える。図3Cに示すランレングス変換済み画像データを構成する1行目及び2行目それぞれについて、ステップ102〜124の処理を実行する。
[1行目の処理]
ステップ100(S100)において、iに1を設定する。
ステップ102(S102)において、1行目の副走査ラン長である9を取得する。
ステップ104(S104)において、境界行の数が0なので、ステップ106の処理に進む。
ステップ106(S106)において、副走査ラン長である9はウィンドウ幅である3以上なので、ステップ108の処理に進む。
ステップ108(S108)において、iは1なので、ステップ110の処理に進む。
ステップ110(S110)において、副走査ラン長から(ウィンドウ幅−1)/2を減じた値(9−(3−1)/2=8)を同一ウィンドウ処理行に設定し、ステップ114の処理に進む。
ステップ114(S114)において、ウィンドウ幅である3から1を減じた値(=2)を境界行の数に設定し、ステップ116の処理に進む。
ステップ116(S116)において、iである1に1を加え、ステップ102の処理に戻る。
[2行目の処理]
ステップ102(S102)において、2行目の副走査ラン長である8を取得する。
ステップ104(S104)において、境界行の数が2なので、ステップ122の処理に進む。
ステップ122(S122)において、境界行の数である2から1を減じて、ステップ124の処理に進む。
ステップ124(S124)において、同一ウィンドウ処理行を1に設定し、ステップ104の処理に戻る。
ステップ104(S104)において、境界行の数が1なので、ステップ122の処理に進む。
ステップ122(S122)において、境界行の数である1から1を減じて、ステップ124の処理に進む。
ステップ124(S124)において、同一ウィンドウ処理行を1に設定し、ステップ104の処理に戻る。
ステップ104(S104)において、境界行の数が0なので、ステップ106の処理に進む。
ステップ106(S106)において、副走査ラン長である8はウィンドウ幅である3以上なので、ステップ108の処理に進む。
ステップ108(S108)において、iが2なので、ステップ118の処理に進む。
ステップ110(S110)において、副走査ラン長から(ウィンドウ幅−1)/2を減じた値(8−(3−1)/2=7)を同一ウィンドウ処理行に設定し、ステップ120の処理に進む。
ステップ120(S120)において、境界行の数を0に設定する。
このように、図3Cに示すランレングス変換済み画像データの1行目について、同一ウィンドウ処理行8が設定され、同画像データの2行目について、同一ウィンドウ処理行1,1,7が設定される。
[生成部,記憶部]
図2に戻り、生成部126は、算出部124が図6の手順によって算出した同一ウィンドウ処理行に基づいて、後段のウィンドウ処理部130に用いられる画像データが記憶部128に格納される際の制御信号を生成する。
記憶部128は、例えば、ラインバッファであり、ランレングス変換(主走査方向)済み画像データを行ごとに一時的に格納する。
具体的には、生成部126は、同一ウィンドウ処理行が1である場合には、同一ウィンドウ処理行が算出されたランレングス変換済み画像データに対応するランレングス変換(主走査方向)済み画像データが記憶部128に格納されるよう、制御信号を生成する。
生成部126は、同一ウィンドウ処理行が1より大きい場合には、同一ウィンドウ処理行が算出されたランレングス変換済み画像データの行に対応するランレングス変換(主走査方向)済み画像データの行のうち、先頭行が同一ウィンドウ処理行だけコピーされて記憶部128に格納されるよう、制御信号を生成する。
なお、記憶部128に画像データが格納されていないときには、同一ウィンドウ処理行が算出されたランレングス変換済み画像データの行に対応するランレングス変換(主走査方向)済み画像データの行のうち、先頭行が同一ウィンドウ処理行だけ一斉に記憶部128に格納されるよう、制御信号を生成する。
このように、同一ウィンドウ処理行によっては、行ごとにランレングス変換(主走査方向)済み画像データを格納するのではなく、同一ウィンドウ処理行だけランレングス変換(主走査方向)済み画像データをコピーして格納又は一斉に格納することにより、すべての行ごとにランレングス変換(主走査方向)済み画像データを格納する場合に比べて、ウィンドウ処理の前処理を高速化することができるので、ウィンドウ処理全体を高速化することができる。
さらに、生成部126は、同一ウィンドウ処理行だけ画像データをコピーして格納又は一斉に格納する場合には、このことを示すフラグ等を対応付けて格納する。
[ウィンドウ処理部]
ウィンドウ処理部130は、記憶部128に格納されたランレングス変換(主走査方向)済み画像データに対して行ごとにウィンドウ処理を施す。
なお、同一ウィンドウ処理行が1より大きく、画像データが同一ウィンドウ処理行だけコピーして格納又は一斉に格納されたことを示すフラグ等が対応付けられている場合には、ウィンドウ処理部130は、このように格納された画像データのうち先頭行に対応する画像データにのみ、ウィンドウ処理を施し、残りの行に対応する画像データについては、先頭行に対応する画像データのウィンドウ処理結果を利用する。
このように、同一ウィンドウ処理行が1より大きい場合には、ウィンドウ処理結果を利用することにより、すべての行ごとにウィンドウ処理を施す場合に比べて、ウィンドウ処理を高速化することができる。
ウィンドウ処理部130は、上述したように、乗算部132、シフト部134及び加算部136から構成される。
乗算部132は、記憶部128に格納された画像データを行ごとに読み出し、画素値に重み付け係数を乗算する。
シフト部134は、記憶部128に格納された画像データを行ごとに読み出し、右又は左にn画素シフトする。
加算部136は、記憶部128に格納された画像データの複数行を読み出し、加算する。
図7は、ウィンドウ処理部130によるウィンドウ処理の手順を示すフローチャートである。
以下、図2の記憶部128には、(n−1)行目のランレングス変換(主走査方向)済み画像データ(以下「Dn−1」)、n行目のランレングス変換(主走査方向)済み画像データ(以下D)、及び、(n+1)行目のランレングス変換(主走査方向)済み画像データ(以下「Dn+1」)が格納されており、これらの画像データを記憶部128から読み出し、図4に示したウィンドウを用いてウィンドウ処理を実行するものとする。
なお、nのとりうる値は1〜N(Nはランレングス変換(主走査方向)済み画像データを構成する行の数)であり、nのとりうる値ごとに、ステップ200〜218の処理を実行する。
ただし、n=1の場合、実際には存在しない0行目のランレングス変換(主走査)済み画像データDにウィンドウ処理を実行することになり、n=Nの場合、実際には存在しない(N+1)行目のランレングス変換(主走査)済み画像データDN+1にウィンドウ処理を実行することになる。このため、Dを記憶部128から読み出す際には、Dを記憶部128から読み出し、DN+1を記憶部128から読み出す際には、Dを記憶部128から読み出す。つまり、DはDであるものとしてウィンドウ処理を実行し、DN+1はDであるものとしてウィンドウ処理を実行する。
ステップ200〜204(S200〜204)において、Dn+1への乗算及びシフトがなされる。
ステップ200(S200)に示すように、図2の乗算部132は、Dn+1に重み付け係数K(−1,1)=K(1,1)=0.05を乗算する。乗算部132による乗算の詳細は後述する。
ステップ202(S202)において、図2のシフト部134は、ステップ200において乗算されたDn+1を左右に1画素シフトする。シフト部134によるシフトの詳細は後述する。
なお、以下、乗算及びシフトされた画像データは、乗じた値及びシフトした画素数(右にシフトした画素数は正の数。左にシフトした画素数は負の数)を付加して記載する。例えば、Dn+1に0.05を乗じて右に1画素シフトした場合には、Dn+1(0.05,1)と記載する。
ステップ204(S204)において、乗算部132は、Dn+1に重み付け係数K(0,1)=0.1を乗算する。
ステップ206〜210(S206〜210)において、Dへの乗算及びシフトがなされる。
ステップ206(S206)において、乗算部132は、Dに重み付け係数K(−1,0)=K(1,0)=0.1を乗算する。
ステップ208(S208)において、シフト部134は、ステップ206において乗算されたDnを左右に1画素シフトする。
ステップ210(S210)において、乗算部132は、Dに重み付け係数K(0,0)=0.4を乗算する。
ステップ212〜216(S212〜216)において、Dn+1への乗算及びシフトがなされる。
ステップ212(S212)において、乗算部132は、Dn−1に重み付け係数K(−1,−1)=K(1,−1)=0.05を乗算する。
ステップ214(S214)において、シフト部134は、ステップ212において乗算されたDn−1を左右に1画素シフトする。
ステップ216(S216)において、乗算部132は、Dn−1に重み付け係数K(0,−1)=0.1を乗算する。
ステップ218(S218)において、加算部136は、ステップ200〜216において求められた画像データを加算する。加算部136は、Dn+1(0.05,−1)、Dn+1(0.1,0)、Dn+1(0.05,1)、D(0.1,−1)、D(0.4,0)、D(0.1,1)、Dn−1(0.05,−1)、Dn−1(0.1,0)、Dn−1(0.05,1)を加算した結果を付加部138に出力する。加算部136による加算の詳細は後述する。
図8は、図2の乗算部132による乗算の手順を示すフローチャートである。
ステップ300(S300)において、乗算部132は、処理対象の行に含まれるランデータのうち、先頭のランデータの画素値を取り出す。
ステップ302(S302)において、乗算部132は、ステップ300(又はステップ306)において取り出した画素値に重み付け係数を乗算する。
ステップ304(S304)において、乗算部132は、処理対象の行に含まれるランデータすべてについて、画素値に重み付け係数を乗算したか否かを判定する。処理対象の行に含まれるランデータすべてについて、画素値に重み付け係数を乗算した場合には、処理を終了し、そうでない場合には、ステップ306の処理に進む。
ステップ306(S306)において、乗算部132は、処理対象の行に含まれるランデータのうち、ステップ302において画素値が乗算されたランデータより後方にあるランデータから画素値を取り出し、ステップ302の処理に戻る。
図9は、図2のシフト部134によるシフトの手順を示すフローチャートである。
ここでは、処理対象の行を右方向にシフトする場合を説明するが、左方向にシフトする場合には、先頭のランデータに対する処理と最後尾のランデータに対する処理とを逆にすればよい。
ステップ400(S400)において、シフト部134は、処理対象の行に含まれるランデータのうち、先頭のランデータの主走査方向ラン長を取り出す。
ステップ402(S402)において、シフト部134は、ステップ400において取り出した主走査方向ラン長にシフト量N(Nは非ゼロの整数)を加算する。
ステップ404(S404)において、シフト部134は、処理対象の行に含まれるランデータのうち、最後尾のランデータの主走査方向ラン長を取り出す。
ステップ406(S406)において、シフト部134は、ステップ404において取り出した主走査方向ラン長と、ステップ402におけるシフト量Nとの大小関係を判定する。主走査方向ラン長がシフト量Nよりも小さい場合には、ステップ408の処理に進み、主走査方向ラン長がシフト量Nと等しい場合には、ステップ412の処理に進み、主走査方向ラン長がシフト量Nよりも大きい場合には、ステップ414の処理に進む。
ステップ408(S408)において、シフト部134は、シフト量Nからステップ404において取り出した主走査方向ラン長を減じた値をシフト量Nに設定する。
ステップ410(S410)において、シフト部134は、ステップ404において主走査方向ラン長が取り出されたランデータそのものを削除し、ステップ404の処理に戻る。
ステップ412(S412)において、シフト部134は、ステップ404において主走査方向ラン長が取り出されたランデータそのものを削除し、処理を終了する。
ステップ414(S414)において、シフト部134は、ステップ404において取り出された主走査方向ラン長からシフト量Nを減じ、処理を終了する。
図10は、図2の加算部136による加算の手順を示すフローチャートである。
加算部136は、図2の乗算部132及びシフト部134によって乗算及びシフトされた画像データ(Dn+1(0.05,−1)、Dn+1(0.1,0)、Dn+1(0.05,1)、D(0.1,−1)、D(0.4,0)、D(0.1,1)、Dn−1(0.05,−1)、Dn−1(0.1,0)、Dn−1(0.05,1))から2つずつ選んで加算することを繰り返す。
以下、Dn+1(0.05,−1)及びDn+1(0.1,0)のうち2つが選ばれる場合について説明するが、これ以外の2つが選ばれた場合についても同様の手順で加算する。
ステップ500(S500)において、加算部136は、Dn+1(0.05,−1)に含まれるランデータのうち、先頭のランデータの主走査方向ラン長をL1とし、先頭のランデータの画素値をV1とする。また、Dn+1(0.1,0)に含まれるランデータのうち、先頭のランデータの主走査方向ラン長をL2とし、先頭のランデータの画素値をV2とする。
ステップ502(S502)において、加算部136は、L1及びL2のいずれか小さい値をL0とし、V1及びV2のいずれか小さい値をV0とする。
ステップ504(S504)において、加算部136は、L0が主走査方向ラン長であって、V0が画素値であるランデータを出力する。
ステップ506(S506)において、加算部136は、L1からL0を減じた値をL1に設定し、L2からL0を減じた値をL2に設定する。
ステップ508(S508)において、加算部136は、L1が0より大きいか否かを判定する。L1が0である場合には、ステップ510の処理に進み、L1が0より大きい場合には、ステップ514の処理に進む。
ステップ510(S510)において、加算部136は、Dn+1(0.05,−1)に次のランデータがあるか否かを判定する。次のランデータがある場合には、ステップ512の処理に進み、次のランデータがない場合には、処理を終了する。
ステップ512(S512)において、加算部136は、Dn+1(0.05,−1)に含まれる次のランデータについて、このランデータの主走査方向ラン長をL1とし、先頭のランデータの画素値をV1とし、ステップ514の処理に進む。
ステップ514(S514)において、加算部136は、L2が0より大きいか否かを判定する。L2が0である場合には、ステップ516の処理に進み、L2が0より大きい場合には、ステップ502の処理に戻る。
ステップ516(S516)において、加算部136は、Dn+1(0.1,0)に次のランデータがあるか否かを判定する。次のランデータがある場合には、ステップ518の処理に進み、次のランデータがない場合には、処理を終了する。
ステップ518(S518)において、加算部136は、Dn+1(0.1,0)に含まれる次のランデータについて、このランデータの主走査方向ラン長をL2とし、先頭のランデータの画素値をV2とし、ステップ502の処理に戻る。
[付加部]
図2に戻り、付加部138は、算出部124が図6の手順によって求めた同一ウィンドウ処理行を、ウィンドウ処理部130が図7〜10の手順によって求めた画像データに付加する。同一ウィンドウ処理行が、ランレングス変換済み画像データの行ごとに求められるのに対し、ウィンドウ処理部130は、ランレングス変換(主走査方向)済み画像データにウィンドウ処理を施しており、画像データの種別が異なる。そこで、ウィンドウ処理部130によって求められた画像データ(ランレングス変換(主走査方向)済み画像データ)に対し、副走査方向のランレングス変換を施し、ランレングス変換済み画像データとした後、同一ウィンドウ処理行を付加する。
1 画像処理装置
100 画像処理部
120 画像処理プログラム
122 受付部
124 算出部
126 生成部
128 記憶部
130 ウィンドウ処理部
132 乗算部
134 シフト部
136 加算部
138 付加部
140 変換部

Claims (7)

  1. 主走査方向に連長圧縮された主走査方向連長データと、同一の主走査方向画像データが副走査方向に連続する数で表現される副走査方向連長データとを有する画像データを受け付ける受付手段と、
    主走査方向及び副走査方向にそれぞれ予め定められた画素幅を有する処理領域に基づいて、前記受付手段によって受け付けられた画像データを処理する処理手段と、
    前記受付手段によって受け付けられた副走査方向連長データ及び前記処理手段の処理領域の副走査幅に基づいて、前記処理手段によって処理される画像データの副走査方向連長データを算出する算出手段と、
    前記算出手段による算出結果を、前記処理手段によって処理された画像データに付加する付加手段と
    を有する画像処理装置。
  2. 前記処理手段によってなされる処理は、ウィンドウ処理である
    請求項1に記載の画像処理装置。
  3. 前記処理手段は、前記受付手段によって受け付けられた画像データを行ごとに処理し、
    前記算出手段は、前記処理手段によって処理される画像データが先頭行、最終行及びこれらの行以外のいずれであるか並びに前記受付手段によって受け付けられた副走査方向連長データが前記処理手段の処理領域の副走査幅より大きいか否かに応じて、前記処理手段によって処理される画像データの副走査方向連長データを算出する
    請求項1に記載の画像処理装置。
  4. 前記算出手段によって算出された副走査方向連長データに応じて、前記受付手段によって受け付けられた画像データを記憶する記憶手段
    をさらに有し、
    前記処理手段は、前記記憶手段に記憶された画像データを処理する
    請求項1に記載の画像処理装置。
  5. 画像データを、この画像データを主走査方向に連長圧縮した主走査方向画像データと、同一の主走査方向画像データを副走査方向に連長圧縮した副走査方向画像データとを有する画像データに圧縮する圧縮手段と、
    主走査方向及び副走査方向にそれぞれ予め定められた画素幅を有する処理領域に基づいて、前記圧縮手段によって圧縮された画像データを処理する処理手段と、
    前記圧縮手段によって圧縮された副走査方向連長データ及び前記処理手段の処理領域の副走査幅に基づいて、前記処理手段によって処理される画像データの副走査方向連長データを算出する算出手段と、
    前記算出手段による算出結果を、前記処理手段によって処理された画像データに付加する付加手段と
    を有する画像処理装置。
  6. 前記付加手段が前記算出手段による算出結果を付加した、前記処理手段によって処理された画像データを復号する復号手段
    をさらに有する請求項5に記載の画像処理装置。
  7. コンピュータを備える画像処理装置において、
    主走査方向に連長圧縮された主走査方向連長データと、同一の主走査方向画像データが副走査方向に連続する数で表現される副走査方向連長データとを有する画像データを受け付けるステップと、
    主走査方向及び副走査方向にそれぞれ予め定められた画素幅を有する処理領域に基づいて、前記受け付けられた画像データを処理するステップと、
    前記受け付けられた副走査方向連長データ及び前記処理手段の処理領域の副走査幅に基づいて、前記処理される画像データの副走査方向連長データを算出するステップと、
    前記算出された結果を、前記処理された画像データに付加するステップと
    を前記コンピュータに実行させるプログラム。
JP2011192451A 2011-09-05 2011-09-05 画像処理装置及びプログラム Withdrawn JP2013055509A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011192451A JP2013055509A (ja) 2011-09-05 2011-09-05 画像処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011192451A JP2013055509A (ja) 2011-09-05 2011-09-05 画像処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2013055509A true JP2013055509A (ja) 2013-03-21

Family

ID=48132127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011192451A Withdrawn JP2013055509A (ja) 2011-09-05 2011-09-05 画像処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2013055509A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017060072A (ja) * 2015-09-18 2017-03-23 富士ゼロックス株式会社 画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017060072A (ja) * 2015-09-18 2017-03-23 富士ゼロックス株式会社 画像処理装置

Similar Documents

Publication Publication Date Title
JP5147251B2 (ja) 画像処理装置、及び画像処理装置の制御方法
JP4600352B2 (ja) 画像処理装置、画像形成装置および画像処理方法
US9521296B2 (en) Inverse halftoning using inverse projection of predicted errors for multi-bit images
JP5761994B2 (ja) 画像処理装置及び画像処理方法
US8351644B2 (en) Image data processing systems for hiding secret information and data hiding methods using the same
JPH0410765A (ja) 画像処理装置
JP5254739B2 (ja) 画像形成装置およびその制御方法
JP5665840B2 (ja) 画像形成装置、画像形成方法及びプログラム
JP2008147748A (ja) 画像処理装置および画像処理方法
US7480078B2 (en) Method and system for performing multi-pixel parallel error diffusion enabling high-speed diffusion processing without increasing the system clock rate
US9262704B1 (en) Rendering images to lower bits per pixel formats using reduced numbers of registers
JP2013055509A (ja) 画像処理装置及びプログラム
JP5264412B2 (ja) 画像処理装置および画像処理方法
JP2007043394A (ja) 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラム
JP4544280B2 (ja) 画像処理装置、画像形成装置、および画像処理プログラム
US7502512B2 (en) Image processing apparatus and image processing method
JP2007312013A (ja) 画像処理装置、画像形成装置および画像処理方法
JP2003283829A (ja) 画像処理装置および方法
JP3976863B2 (ja) 画像処理装置及び方法
JP2007180607A (ja) 画像処理装置および画像処理方法
JP2008092323A (ja) 画像処理装置、並びにこれを備えた画像読取装置及び画像形成装置
JP5370061B2 (ja) 画像処理装置及び画像処理方法
JP4574070B2 (ja) 画像処理装置及びその制御方法
JP5344297B2 (ja) 画像処理装置及びプログラム
JP2007272666A (ja) 画像評価方法及び画像評価装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141202