JP2010103821A - 画像処理装置、画像形成装置、画像処理方法およびプログラム - Google Patents

画像処理装置、画像形成装置、画像処理方法およびプログラム Download PDF

Info

Publication number
JP2010103821A
JP2010103821A JP2008274261A JP2008274261A JP2010103821A JP 2010103821 A JP2010103821 A JP 2010103821A JP 2008274261 A JP2008274261 A JP 2008274261A JP 2008274261 A JP2008274261 A JP 2008274261A JP 2010103821 A JP2010103821 A JP 2010103821A
Authority
JP
Japan
Prior art keywords
image
coefficient
image data
pixel
pixels
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.)
Granted
Application number
JP2008274261A
Other languages
English (en)
Other versions
JP4807401B2 (ja
Inventor
Osamu Ogawara
修 小河原
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 JP2008274261A priority Critical patent/JP4807401B2/ja
Priority to US12/414,247 priority patent/US8390875B2/en
Publication of JP2010103821A publication Critical patent/JP2010103821A/ja
Application granted granted Critical
Publication of JP4807401B2 publication Critical patent/JP4807401B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/40068Modification of image resolution, i.e. determining the values of picture elements at new relative positions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】画素値の算出に除算処理または小数点演算処理を用いる画像縮小方法を用いた場合と比較して、画質を劣化させることなく画像縮小処理を高速に実行する。
【解決手段】係数テーブル作成部32は、一定画素数の画像データを一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗(または2の累乗)の係数を含めた変換係数を予め算出する。算出部34は、画像縮小処理を行う前の画像データの各画素値に、係数テーブル作成部32により作成され変換係数を乗算して画像縮小処理後の画像データの各画素の値を算出する。誤差補正部35は、画像縮小処理後の画像データの各画素の値に対して、0.5の画素値に相当するビットに対して1を加算することにより誤差補正を行う。ビットシフト部36は、誤差補正が行なわれた後の各画素の値を、変換係数に含められ2の整数乗の係数を打ち消すビット数だけシフトする。
【選択図】図3

Description

本発明は、画像処理装置、画像形成装置、画像処理方法およびプログラムに関する。
特許文献1には、変換画素の4近傍である被変換画素4画素から変換画素の濃度を決定するようにした画像の拡大縮小方法が開示されている。
特許文献2には、原画像上の複数画素を一括して読み込んでその画素パターンを整数比に拡縮した結果を出力するテーブルを用意し、このテーブルを使用して複数画素一括の2値または多値の整数比拡縮結果を高速に得ることができるように構成された画像処理装置が開示されている。
特許文献3には、第1の縮小処理に最近接内挿法、第2の縮小処理に投影法を使用する画像縮小方法が開示されている。
特許文献4には、第1の縮小処理に投影法、第2の縮小処理にバイリニア補間法を使用する画像縮小方法が開示されている。
特開昭58−97958号公報 特開平6−348834号公報 特開2005−301881号公報 特開2006−50090号公報
本発明の目的は、画素値の算出に除算処理または小数点演算処理を用いる画像縮小方法を用いた場合と比較して、画質を劣化させることなく画像縮小処理を高速に実行可能な画像処理装置、画像形成装置、画像処理方法およびプログラムを提供することである。
[画像処理装置]
請求項1に係る本発明は、一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出する係数算出手段と、
画像縮小処理を行う前の画像データの各画素値に、前記係数算出手段により予め算出された変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出する算出手段と、
前記算出手段により算出された各画素の値を、前記変換係数に含められた2の整数乗の係数を打ち消すビット数だけシフトするシフト手段とを有する画像処理装置である。
請求項2に係る本発明は、一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出する係数算出手段と、
画像縮小処理を行う前の画像データの各画素値に、前記係数算出手段により予め算出された変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出する算出手段と、
前記算出手段により算出された各画素の値のうち、前記変換係数に含められた2の整数乗の係数に対応した部分をバイト単位で取り出す取出手段とを有する画像処理装置である。
請求項3に係る本発明は、前記算出手段が、入力画像データが白黒の2値画像であり、縮小率が2倍以上である場合、面積階調処理により2の整数乗の縮小率で入力画像データを多値画像に変換した後に、画像縮小処理後の画像データの各画素値の算出を行う請求項1または2記載の画像処理装置である。
請求項4に係る本発明は、前記算出手段により算出された画像縮小処理後の画像データの各画素の値に対して、0.5の画素値に相当するビットに対して1を加算することにより誤差補正を行う誤差補正手段をさらに有する請求項1から3のいずれか1項記載の画像処理装置である。
請求項5に係る本発明は、前記係数算出手段が、一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を前記一定数の画素の特定画素分に対して算出する。
[画像形成装置]
請求項6に係る本発明は、一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出する係数算出手段と、画像縮小処理を行う前の画像データの各画素値に前記係数算出手段により予め算出された変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出する算出手段と、前記算出手段により算出された各画素の値を、前記変換係数に含められた2の整数乗の係数を打ち消すビット数だけシフトするシフト手段とを有する画像処理装置と、
前記画像処理装置により処理された画像データに基づいて画像を出力する画像出力手段とを備えた画像形成装置である。
[画像処理方法]
請求項7に係る本発明は、一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出するステップと、
画像縮小処理を行う前の画像データの各画素値に、予め算出された前記変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出するステップと、
算出された各画素の値を、前記変換係数に含められた2の整数乗の係数を打ち消すビット数だけシフトするステップとを有する画像処理方法である。
[プログラム]
請求項8に係る本発明は、一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出するステップと、
画像縮小処理を行う前の画像データの各画素値に、予め算出された前記変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出するステップと、
算出された各画素の値を、前記変換係数に含められた2の整数乗の係数を打ち消すビット数だけシフトするステップとをコンピュータに実行させるためのプログラムである。
請求項1に係る本発明によれば、画素値の算出に除算処理または小数点演算処理を用いる画像縮小方法を用いた場合と比較して、画質を劣化させることなく画像縮小処理を高速に実行することができる画像処理装置を提供することができる。
請求項2に係る本発明によれば、画素値の算出に除算処理または小数点演算処理を用いる画像縮小方法を用いた場合と比較して、画質を劣化させることなく画像縮小処理を高速に実行することができる画像処理装置を提供することができる。
請求項3に係る本発明によれば、入力画像が2値画像の場合、画像縮小処理をより高速に実行することができる画像処理装置を提供することができる。
請求項4に係る本発明によれば、画像縮小処理を行う際に発生する誤差を抑制することが可能な画像処理装置を提供することができる。
請求項5に係る本発明によれば、変換係数をより高速に算出することができる画像処理装置を提供することができる。
請求項6に係る本発明によれば、画素値の算出に除算処理または小数点演算処理を用いる画像縮小方法を用いた場合と比較して、画質を劣化させることなく画像縮小処理を高速に実行することができる画像形成装置を提供することができる。
請求項7に係る本発明によれば、画素値の算出に除算処理または小数点演算処理を用いる画像縮小方法を用いた場合と比較して、画質を劣化させることなく画像縮小処理を高速に実行することができる画像処理方法を提供することができる。
請求項8に係る本発明によれば、画素値の算出に除算処理または小数点演算処理を用いる画像縮小方法を用いた場合と比較して、画質を劣化させることなく画像縮小処理を高速に実行することができるプログラムを提供することができる。
次に、本発明の実施の形態について図面を参照して詳細に説明する。図1は本発明の一実施形態の画像形成システムの構成を示すブロック図である。
本発明の一実施形態の画像形成システムは、図1に示されるように、ネットワーク30により相互に接続された画像形成装置10、および端末装置20により構成される。端末装置20は、印刷データを生成して、ネットワーク30経由にて生成した印刷データを画像形成装置10に対して送信する。画像形成装置10は、端末装置20から送信された印刷データを受け付けて、印刷データに応じた画像を用紙上に出力する。なお、画像形成装置10は、印刷(プリント)機能、スキャン機能、複写(コピー)機能、ファクシミリ機能等の複数の機能を有するいわゆる複合機と呼ばれる装置である。
次に、本実施形態の画像形成システムにおける画像形成装置10のハードウェア構成を図2に示す。
画像形成装置10は、図2に示されるように、CPU11、メモリ12、ハードディスクドライブ(HDD)等の記憶装置13、ネットワーク30を介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース(IF)14、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース(UI)装置15、スキャナ16、プリントエンジン17を有する。これらの構成要素は、制御バス18を介して互いに接続されている。
CPU11は、メモリ12または記憶装置13に格納された制御プログラムに基づいて所定の処理を実行して、画像形成装置10の動作を制御する。なお、本実施形態では、CPU11は、メモリ12または記憶装置13内に格納された制御プログラムを読み出して実行するものとして説明したが、当該プログラムをCD−ROM等の記憶媒体に格納してCPU11に提供することも可能である。
図3は、上記の制御プログラムが実行されることにより実現される画像形成装置10の機能構成を示すブロック図である。
本実施形態の画像形成装置10は、図3に示されるように、各種画像に対する画像処理を行うための画像処理装置41と、画像出力部42とを備えている。また、画像処理装置41は、入力画像データ格納部31と、係数テーブル作成部32と、係数テーブル格納部33と、算出部34と、誤差補正部35と、ビットシフト部36と、出力画像データ格納部37とから構成されている。
入力画像データ格納部31は、画像縮小処理を行う前の画像データを入力画像データとして格納する。
係数テーブル作成部32は、一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗(または2の累乗)の係数を含めた変換係数を予め算出する係数算出手段として機能する。そして、係数テーブル作成部32は、この算出した変換係数を係数テーブルとして係数テーブル格納部33に格納させる。係数テーブル格納部33は、係数テーブル作成部32により作成された係数テーブルを格納する。
算出部34は、画像縮小処理を行う前の画像データの各画素値に、係数テーブル作成部32により作成され係数テーブル格納部33に格納された変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出する。また、算出部34は、入力画像データが白黒の2値画像であり、縮小率が2倍以上であるとともに縮小率が2の整数乗(2、4、8、16・・・)でない場合、面積階調処理により2の整数乗の縮小率で入力画像データを多値画像に変換した後に、画像縮小処理後の画像データの各画素値を算出する。入力画像データが白黒の2値画像であり、縮小率が2の整数乗の場合には、面積階調処理のみで目的の縮小率が実現される。
誤差補正部35は、算出部34により算出された画像縮小処理後の画像データの各画素の値に対して、0.5の画素値に相当するビットに対して1を加算することにより誤差補正を行う。
ビットシフト部36は、算出部34により算出され誤差補正部35により誤差補正が行なわれた後の各画素の値を、変換係数に含められ2の整数乗の係数を打ち消すビット数だけシフトする。出力画像データ格納部37は、ビットシフト部36により処理された後の画像データを出力画像データとして格納する。
画像出力部42は、画像処理装置41により処理された画像データに基づいて画像を出力する。
次に、本実施形態の画像形成システムにおける画像形成装置10の動作を図面を参照して詳細に説明する。
本実施形態の画像処理装置10による画像縮小処理は、印刷しようとする画像を縮小するだけでなく、スキャンして読み取った画像データをパーソナルコンピュータ(以下、パソコンと略す。)等に転送する際に添付するサムネイル画像を生成したり、ファクシミリ送信を行う際に、ファクシミリの規格に合わせた解像度の画像を生成するような場合にも用いられる。また、OCR(Optical Character Reader:光学式文字読取り装置)等を用いて画像の読み取りを行うような場合に、OCR用のメモリを削減するために、読み取った画像データを低解像度の画像データに縮小処理するような場合にも用いられる。
先ず、本実施形態における画像処理装置41の画像縮小処理の全体動作を図4のフローチャートに示す。
画像縮小処理を実行する間に、先ず係数テーブル作成部32は、どのような縮小率で画像縮小処理を行うかという縮小情報に基づいて、入力画素毎に変換係数が設定された係数テーブルを作成する(ステップS101)。この係数テーブル作成部32により作成された係数テーブルは、係数テーブル格納部33に格納される。
なお、算出部34は、入力画像が白黒画像であり(ステップS102)、縮小率が2以上の場合(ステップS103)には、面積階調処理を行って、2値の白黒画像を多値の白黒画像に変換する処理を行う(ステップS104)。しかし、この面積階処理については、後段において説明するため、ここでは説明を行なわない。
次に、この係数テーブルを作成するための具体的な方法について説明する。本実施形態では、入力画像データを10画素毎に6画素に変換する画像縮小処理を行う場合について説明する。この画像縮小処理では、10画素の画素列を6画素の画素列に変換する処理を繰り返すことにより、入力画像データの縮小処理が行われる。
具体的には、図5に示すように、入力画像データから10画素の画素列A[0]〜A[9]を順次取り出し、6画素の出力画素列B[0]〜B[5]に変換するものとして説明する。
変換係数を算出して係数テーブルを作成するために、先ず、入力画素と出力画素との対応関係から、各入力画素の属性を判定する。この属性とは、各入力画素が出力画素に対してどのように反映されるのか、また各種画素のどの部位に位置するのか等を示している。
例えば、ある入力画素が出力画素の先頭に位置する場合、その入力画素の属性を“HEADING”と設定する。また、ある入力画素が出力画素の先頭でも最後尾でもなく中間において全て取り込まれるような場合には、その入力画素の属性を“MAX”と設定する。また、ある入力画素が出力画素の最後尾に位置する場合、その入力画素の属性を“EDGING”と設定する。また、ある入力画素が、入力画素列、出力画素列の最後尾に位置する場合には、その入力画素の属性を“ENDING”と設定する。そして、上記の属性以外の入力画素、つまり、1つの入力画素が2つの出力画素により分断される場合、その入力画素の属性を“the OTHERS”と設定する。
図5に示した例では、入力画素A[0]、A[5]が“HEADING”と設定され、A「1」、A[3]、A[6]、A[8]が“the OTHERS”と設定され、A[2]、A[7]が“MAX”と設定されている。また、A[4]が“EDGING”、A[9]が“ENDING”と設定されている。
そして、このような属性の判定が行われた後、図6に示すような条件により、各入力画素の属性に基づいて変換係数が設定される。
まず、属性が“HEADING”、“MAX”、“EDGING”、“ENDING”と判定された各入力画素については、分断されずに出力画素に取り込まれるため、変換係数としてFULLが設定される。
ここで変換係数として設定されるFULLとは、出力画素に対して全ての画素値が取り込まれる入力画素に対して設定される係数であり、下記の式により算出される。
FULL=α×(出力画素数/入力画素数)
ここで、αとは、小数点演算を不要とするために変換係数に含める2の整数乗の係数である。このαの値はできるだけ大きいほうが画像縮小処理の精度が向上するが、画素値が最大値の場合にCPUの処理可能な値を越えてしまうと画素の計算に狂いが生じて画像が崩れてしまうことになる。そのため、αの値には、画素値を表現するための余裕を持った値とすることが要求される。例えば、画素値を256階調で表現する場合には、256階調を表現するための8ビット分の余裕を確保しつつ、CPUの処理単位の中で最も大きな値をαの値として設定すればよい。例えば、演算処理を32ビット単位で行う32ビットCPUを用いて演算処理を行う場合には、このαの値を224(32−8=24)と設定すればよい。また、64ビットCPUを用いて演算処理を行う場合には、α=256(64−8=56)と設定すればよい。ここでは、32ビットCPUを用いて画像処理を行う場合を用いて説明するため、以下では、α=224と設定した場合について説明する。
そして、図5に示した場合では、入力画素数は10であり、出力画素数は6であるため、FULL=α×(6/10)となる。
次に、属性が“the OTHERS”と判定された入力画素に対して変換係数を設定する。属性が“the OTHERS”と判定された入力画素については、図6に示すように、α−FULL×N−(繰越し分)を変換係数として設定する。ここで、Nは、1つの出力画素に含まれ変換係数がFULLに設定される入力画素の数である。また、繰越し分とは、FULL−(属性が“the OTHERS”であった前回の入力画素の変換係数)である。
このようにして算出された変換係数に基づいて係数テーブルの例を図7に示す。
この図7では、入力画素A[0]に対しては、変換係数K[0]としてα×6/10が設定され、入力画素A[1]に対しては、変換係数K[1]としてα×4/10が設定され、入力画素A[2]に対しては、変換係数K[2]としてα×6/10が設定され、入力画素A[3]に対しては、変換係数K[3]としてα×2/10が設定され、入力画素A[4]に対しては、変換係数K[4]としてα×6/10が設定されていることがわかる。入力画素A[5]〜A[9]に対する変換係数K[5]〜K[9]は、変換係数K[0]〜K[4]と、それぞれ同じ値となっている。
ここで、属性が“the OTHERS”と判定された入力画素A[1]における変換係数K[1]は、下記のような式により算出される。
A[1]=α−α×(6/10)×1−0=α×4/10
このA[1]の場合には、出力画素B[0]に取り込まれる入力画素のうち変換係数がFULLである入力画素はA[0]の1つだけであるためN=1である。そして、この入力画素列において属性が“the OTHERS”である前回の入力画素は存在しないため(繰越し分)=0である。
また、属性が“the OTHERS”と判定された入力画素A[3]における変換係数K[3]は、下記のような式により算出される。
A[3]=α−α×(6/10)×1−α×(2/10)=α×4/10
このA[3]の場合には、出力画素B[1]に取り込まれる入力画素のうち変換係数がFULLである入力画素はA[2]の1つだけであるためN=1である。そして、この入力画素列において属性が“the OTHERS”である前回の入力画素はA[1]であり、その変換係数K[1]分は出力画素B[0]に取り込まれるため、(繰越し分)=α−K[1]=α−α×(4/10)=α×(2/10)となる。
このようにして各入力画素A[0]〜A[9]に対する変換係数K[0]〜K[9]を順次算出することにより図7に示すような係数テーブルを得ることができる。
1つの出力画素を構成する複数の入力画素の変換係数を加算すると、α×(10/10)=αとなるように設定されている。そして、図7を参照すると分かるように、全ての変換係数K[0]〜K[9]には、2の整数乗の係数であるαが含まれている。
次に、図4のフローチャートに戻ると、算出部34は、係数テーブル格納部33に格納された係数テーブルに基づいて中間データ生成処理を行う(ステップS105)。この中間データ生成処理の具体的な方法を図8のフローチャートに示す。
ここで、中間データとは入力画素を出力画素に変換する際に一旦生成する中間的なデータであり、ここでは図9に示すように、出力画素B[0]〜B[5]と1対1に対応する6個の中間データM[0]〜M[5]を用いるものとする。
中間データ生成処理では、算出部34は、先ず初期化処理として、入力画素の位置を示す“in”、出力画素の位置を示す“out”、中間データM[0]〜M[9]の値等をクリアする処理を実行する(ステップS201)。初期化処理は各ラインごとに1度行われる。
そして、処理しようとする入力画素A[in]の属性が、“HEADING”、“MAX”、“EDGING”、“the OTHERS”、“ENDING”のいずれであるかが判定される(ステップS202〜S206)。
ここでは、in=0であるため、入力画素A[0]の属性は“HEADING”であると判定される(ステップS202)。そのため、算出部34は、中間データM[0]にA[0]×K[0]を加算する処理(演算処理1)を実行する(ステップS207)。そして、入力画素の位置を示す“in”の値は1加算されて1となる(ステップS208)。(このステップS208の処理は、図4のフローチャートにおけるステップS110にも相当する。)
次に、in=1であるため、入力画素A[1]の属性は“the OTHERS”であると判定される(ステップS205)。そのため、算出部34は、中間データM[0]に、A[1]×K[1]を加算し、M[1]にA[1]×(FULL−K[1])を加算する処理(演算処理2)を実行する(ステップS211)。そして、出力画素の位置を示す“out”の値は1加算されて1となり(ステップS210)、入力画素の位置を示す“in”の値は1加算されて2となる(ステップS208)。
次に、in=2であるため、入力画素A[2]の属性は“MAX”であると判定される(ステップS203)。そのため、算出部34は、中間データM[1]にA[2]×K[2]を加算する処理(演算処理1)を実行する(ステップS207)。そして、入力画素の位置を示す“in”の値は1加算されて3となる(ステップS208)。
次に、in=3であるため、入力画素A[1]の属性は“the OTHERS”であると判定される(ステップS205)。そのため、算出部34は、中間データM[1]に、A[3]×K[3]を加算し、M[2]にA[3]×(FULL−K[3])を加算する処理(演算処理2)を実行する(ステップS211)。そして、出力画素の位置を示す“out”の値は1加算されて2となり(ステップS210)、入力画素の位置を示す“in”の値は1加算されて4となる(ステップS208)。
次に、in=4であるため、入力画素A[4]の属性は“EDGING”であると判定される(ステップS204)。そのため、算出部34は、中間データM[2]にA[4]×K[4]を加算する処理(演算処理1)を実行する(ステップS209)。そして、入力画素の位置を示す“in”の値は1加算されて5となる(ステップS208)。
同様の処理がin=5〜8まで繰り返され、in=9となると、入力画素A[9]の属性は“ENDING”であると判定される(ステップS206)。そのため、算出部34は、中間データM[5]にA[9]×K[9]を加算する処理(演算処理1)を実行する(ステップS212)。そして、中間データ生成処理は終了する。
このようにして算出される中間データM[0]〜M[5]の式を図10(A)に示す。この図10(A)に示す中間データM[0]〜M[5]の式に、図7に示した各変換係数K[0]〜K[9]の値を代入すると図10(B)に示す式が得られる。この図10(B)に示す式を参照すると、1つの出力画素を構成する式中の変換係数を加算すると、α×(10/10)=αとなるように設定されていることがわかる。
図4のフローチャートに戻ると、算出部34は、上記で説明した中間データ生成処理と並行して、出力画素の有無を判定し(ステップS106)、出力画素が存在する場合には、その画素を誤差補正部35に順次出力している。ここで、出力画素の有無の判定は、入力画素の属性に基づいて判定される。入力画素の属性が、“EDGING”、“the OTHERS”、“ENDING”のいずれかの場合には、1つの出力画素の演算は終了したものとしてその出力画素の値は誤差補正部35に出力される。
次に、算出部34により出力された出力画素は、誤差補正部35により誤差補正処理が行なわれ(ステップS107)、ビットシフト部36により一定ビット数のビットシフト処理が行われた後に出力画像データ格納部37に出力される(ステップS108)。そして、10画素全ての変換処理が終了したか否かが判定され(ステップS109)、10画素の入力画素列に対する変換処理が終了されていない場合には、次のデータに対する処理が行われる(ステップS110)。ステップS109において10画素の入力画素列に対する変換処理が終了されたと判定された場合、この入力画素列に対する処理は終了する。
そして、縮小しようとする画像の全ラインに対する処理が終了していなければ(ステップS111においてno)、次のラインの10画素の入力画素列に対しても同様な変換処理が実行されることとなる(ステップS112)。つまり、次のラインの10画素の入力画素列に対しても、図8のフローチャートのステップS201における初期化処理が行われ、ステップS101において生成された係数テーブルと同じ係数テーブルと、次のラインの10画素の入力画素列を用いて同様な変換処理が行われる。そして、全てのラインの変換処理が終了すると(ステップS111においてyes)、処理は終了する。
次に、誤差補正部35により行われる誤差補正処理および、ビットシフト部36により行われるビットシフト処理を図11を参照して説明する。
誤差補正部35は、算出部34により算出された出力画素の値に対して、0.5(1/2)の画素値に相当するビットに対して1を加算することにより誤差補正を行う。具体的には、出力画素の実際の画素値は、算出部34により出力される各値の上位8ビットに含まれているため、0.5の画素値に相当するビットとは少数部分を示す24ビットのうちの最上位ビットに対して1を加算する。つまり、24ビット目に対応する値であるため、1×2323を誤差補正値として出力画素に加算する。
図12(A)に示すように出力画素の画素値を示す8ビットの下位ビットの値が1の場合、1×223の値を加算することにより繰り上がりが行われ出力画素の画素値も1加算される。これに対して、図12(B)に示すように出力画素の画素値を示す8ビットの下位ビットの値が0の場合には、1×223の値を加算しても繰り上がらないため出力画素の画素値はそのままとなる。つまり、算出部34により出力された値に対して、誤差補正値1×223の値を加算することにより、実際の画素値の少数点以下第1位の値を四捨五入しているのと同様な処理が実行されることとなる。
このような誤差補正処理が行われた後、ビットシフト部36は、図11に示すように、誤差補正部35により誤差補正が行なわれた後の各画素の値を、変換係数に含められ2の整数乗の係数であるα(=224)を打ち消すビット数、つまり24ビットだけシフトする。
つまり、変換係数には2×224という係数αが含まれているため、算出部34から出力された各画素の値は、実際の画素値×224という値になっている。この値がビットシフト部36により24ビットシフトされることにより、実際の画素値そのものが得られることとなる。
なお、ここでは算出部34により算出された値から実際の画素値を取り出すために、算出部32からの値を24ビットシフトするようにしているが、算出部34からの32ビットの値の上位8ビットを直接取り出すような方法を用いるようにしても良い。このような方法を用いる場合には、ビットシフト部36の替わりに、算出部34により算出された各画素の値のうち、変換係数に含められた2の整数乗の係数に対応した部分をバイト単位で取り出す取出手段を用いる。ただし、このような取出手段を用いることが可能なのは、2の整数乗の係数であるαが、2の8乗、16乗、24乗、・・・というような2の8倍数の乗数の場合に限定される。
次に、図4のフローチャートにおいて説明を省略した面積階調処理(ステップS104)について説明する。この面積階調処理は、白黒の2値画像に対して縮小率が2倍以上の場合にのみ実行される。この面積階調処理の具体的な動作を図13のフローチャートに示す。
縮小率が32以上であるか否かの判定が行われ(ステップS301)、縮小率が32以上の場合には32ビットの窓(ウィンドウ)により面積階調処理が行われる(ステップS302)。次に、縮小率が16以上であるか否かの判定が行われ(ステップS303)、縮小率が16以上の場合、つまり縮小率が16以上32未満の場合には16ビットの窓により面積階調処理が行われる(ステップS304)。同様にして、縮小率が8以上16未満の場合には8ビットの窓により面積階調処理が行われ(ステップS305、S306)、縮小率が4以上8未満の場合には4ビットの窓により面積階調処理が行われる(ステップS307、S308)、縮小率が2以上4未満の場合には2ビットの窓により面積階調処理が行われる(ステップS309、S310)。
次に、8ビットの窓により面積階調が行われる様子を図14を参照して説明する。8ビットの窓が入力画像データの8ピクセル毎に順次設定され、この8ビットの窓内における黒画素数がカウントされ、カウントされた黒画素数に基づいて256階調とした場合のピクセルの画素値が算出される。
例えば、図14に示すように、8ビットの窓内の8ピクセルの2値画像が“00101100”の場合、8ビットの窓内の黒画素数は3であるため、この8ピクセルに対応するピクセルの画素値は、3×255/8≒95となる。
ここで面積階調処理が行われる場合の、ある一定のビット幅の窓内の黒画素数の算出方法としては、分割統治法を用いることにより高速な処理を実現することができる。
この分割統治法の具体例を図15に示す。この図15では、8ビットの窓で面積階調を行う場合を用いて説明している。
この分割統治法では、先ず、隣接するビットどうしを加算する処理が行われる。具体的には、32ビット分のデータと010101010101・・・・・101(55555555(16進数))というデータの論理積の結果と、32ビット分のデータを1ビットシフトとしたデータと010101010101・・・・・101(55555555(16進数))というデータの論理積の結果との論理和を演算することにより行われる。
次に、隣接する2ビットどうしを加算する処理が行われる。具体的には、32ビット分のデータと00110011001100・・・・・0011(33333333(16進数))というデータの論理積の結果と、32ビット分のデータを2ビットシフトとしたデータと00110011001100・・・・・0011(33333333(16進数))というデータの論理積の結果との論理和を演算することにより行われる。
最後に、隣接する4ビットどうしを加算する処理が行われる。具体的には、32ビット分のデータと000011110000・・・・・1111(0F0F0F0F(16進数))というデータの論理積の結果と、32ビット分のデータを4ビットシフトとしたデータと000011110000・・・・・1111(0F0F0F0F(16進数))というデータの論理積の結果との論理和を演算することにより行われる。
このような演算が行われることにより、図15(A)に示すようにある8ビットの窓内のデータが“01101111”とうデータであった場合、最終的には図15(D)に示すように“0000110”というデータに変換され、この8ビットの窓内の“1(黒画素)”のビットの数が6であることが示されている。
[変形例]
上記実施形態では、10画素の入力画像データを6画素のデータに縮小処理する場合を用いているが、本発明はこのような画素数に限定されるものではなく、変換前後の画素数がどのような数であっても適用することが可能である。また、上記実施形態では、説明を簡単に行なうために、画像縮小処理を1ライン毎に行う場合を用いて説明したが、本発明はこれに限定されるものではなく、2方向の画像縮小処理を同時に行う場合でも、係数テーブルを2方向に対してそれぞれ生成することにより、同様に本発明を適用することができるものである。
また、上記実施形態では、係数テーブル作成部32は、10画素の入力画素列を6画素に変換するための変換係数を算出するものとして説明しているが、この変換係数を一定数の画素のうちの特定画素分に対して算出するようにしてもよい。ここで、特定画素分とは、1ラインもしくは特定のパターンを構成する画素数を意味する。
本発明の一実施形態の画像形成装置のシステム構成を示す図である。 本発明の一実施形態における画像形成装置10のハードウェア構成を示すブロック図である。 本発明の一実施形態における画像形成装置10の機能構成を示すブロック図である。 本発明の一実施形態における画像処理装置41の画像縮小処理の全体動作を図4のフローチャートに示す。 入力画像データを10画素毎に6画素に変換する画像縮小処理を行う場合の具体例を示す図である。 入力画素の属性に基づいて変換係数を設定するための条件を示す図である。 算出された変換係数に基づいて係数テーブルの例を示す図である。 中間データ生成処理の具体的な方法を示すフローチャートである。 入力画素A[0]〜A[9]、中間データM[0]〜M[5]、出力画素B[0]〜B[5]の関係を説明するための図である。 中間データM[0]〜M[5]を算出するための式を示す図である。 誤差補正部35により行われる誤差補正処理および、ビットシフト部36により行われるビットシフト処理を説明するための図である。 誤差補正処理により出力画素の画素値の下位ビットが繰り上がる場合(図12(A))、繰り上がらない場合(図12(B))の例を示す図である。 面積階調処理の具体的な動作を説明するためのフローチャートである。 8ビットの窓により面積階調が行われる様子を示す図である。 分割統治法により黒画素数を算出する際の動作を説明するための図である。
符号の説明
10 画像形成装置
11 CPU
12 メモリ
13 記憶装置
14 通信インタフェース(IF)
15 ユーザインタフェース(UI)装置
16 スキャナ
17 プリントエンジン
18 制御バス
20 端末装置
30 ネットワーク
31 入力画像データ格納部
32 係数テーブル作成部
33 係数テーブル格納部
34 算出部
35 誤差補正部
36 ビットシフト部
37 出力画像データ格納部
41 画像処理装置
42 画像出力部
S101〜S112 ステップ
S201〜S212 ステップ
S301〜S310 ステップ

Claims (8)

  1. 一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出する係数算出手段と、
    画像縮小処理を行う前の画像データの各画素値に、前記係数算出手段により予め算出された変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出する算出手段と、
    前記算出手段により算出された各画素の値を、前記変換係数に含められた2の整数乗の係数を打ち消すビット数だけシフトするシフト手段と、
    を有する画像処理装置。
  2. 一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出する係数算出手段と、
    画像縮小処理を行う前の画像データの各画素値に、前記係数算出手段により予め算出された変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出する算出手段と、
    前記算出手段により算出された各画素の値のうち、前記変換係数に含められた2の整数乗の係数に対応した部分をバイト単位で取り出す取出手段と、
    を有する画像処理装置。
  3. 前記算出手段は、入力画像データが白黒の2値画像であり、縮小率が2倍以上であるとともに縮小率が2の整数乗でない場合、面積階調処理により2の整数乗の縮小率で入力画像データを多値画像に変換した後に、画像縮小処理後の画像データの各画素値の算出を行う請求項1または2記載の画像処理装置。
  4. 前記算出手段により算出された画像縮小処理後の画像データの各画素の値に対して、0.5の画素値に相当するビットに対して1を加算することにより誤差補正を行う誤差補正手段をさらに有する請求項1から3のいずれか1項記載の画像処理装置。
  5. 前記係数算出手段は、一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を前記一定数の画素の特定画素分に対して算出する請求項1から4のいずれか1項記載の画像処理装置。
  6. 一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出する係数算出手段と、画像縮小処理を行う前の画像データの各画素値に前記係数算出手段により予め算出された変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出する算出手段と、前記算出手段により算出された各画素の値を、前記変換係数に含められた2の整数乗の係数を打ち消すビット数だけシフトするシフト手段とを有する画像処理装置と、
    前記画像処理装置により処理された画像データに基づいて画像を出力する画像出力手段と、
    を備えた画像形成装置。
  7. 一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出するステップと、
    画像縮小処理を行う前の画像データの各画素値に、予め算出された前記変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出するステップと、
    算出された各画素の値を、前記変換係数に含められた2の整数乗の係数を打ち消すビット数だけシフトするステップとを有する画像処理方法。
  8. 一定画素数の画像データを当該一定画素数よりも少ない画素数の画像データに変換するための係数に2の整数乗の係数を含めた変換係数を算出するステップと、
    画像縮小処理を行う前の画像データの各画素値に、予め算出された前記変換係数を乗算することにより画像縮小処理後の画像データの各画素の値を算出するステップと、
    算出された各画素の値を、前記変換係数に含められた2の整数乗の係数を打ち消すビット数だけシフトするステップとをコンピュータに実行させるためのプログラム。
JP2008274261A 2008-10-24 2008-10-24 画像処理装置、画像形成装置およびプログラム Expired - Fee Related JP4807401B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008274261A JP4807401B2 (ja) 2008-10-24 2008-10-24 画像処理装置、画像形成装置およびプログラム
US12/414,247 US8390875B2 (en) 2008-10-24 2009-03-30 Image processing apparatus, image forming apparatus, image processing method, and computer readable medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008274261A JP4807401B2 (ja) 2008-10-24 2008-10-24 画像処理装置、画像形成装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2010103821A true JP2010103821A (ja) 2010-05-06
JP4807401B2 JP4807401B2 (ja) 2011-11-02

Family

ID=42117169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008274261A Expired - Fee Related JP4807401B2 (ja) 2008-10-24 2008-10-24 画像処理装置、画像形成装置およびプログラム

Country Status (2)

Country Link
US (1) US8390875B2 (ja)
JP (1) JP4807401B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049567A (ja) * 2013-08-30 2015-03-16 富士通セミコンダクター株式会社 画像処理装置及び画像処理方法
KR20210034165A (ko) * 2019-09-19 2021-03-30 삼성디스플레이 주식회사 구동 제어부, 이를 포함하는 표시 장치 및 이를 이용한 표시 패널의 구동 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10650496B2 (en) 2018-02-13 2020-05-12 Ricoh Company, Ltd. Image scaling with efficient pixel resolution conversion

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253180A (ja) * 1990-03-02 1991-11-12 Nippon Telegr & Teleph Corp <Ntt> 画像生成方法
JPH08214151A (ja) * 1995-02-07 1996-08-20 Fuji Film Micro Device Kk 画像サイズ変換装置
JP2000165661A (ja) * 1998-11-27 2000-06-16 Murata Mach Ltd 画像処理装置及び記録媒体
JP2003283841A (ja) * 2002-03-25 2003-10-03 Canon Inc フィルタ処理装置およびフィルタ処理方法
JP2008054271A (ja) * 2006-07-28 2008-03-06 Fuji Xerox Co Ltd 画像処理装置、及び、プログラム
JP2009038632A (ja) * 2007-08-02 2009-02-19 Sharp Corp 任意倍率拡大縮小方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5897958A (ja) 1981-12-04 1983-06-10 Konishiroku Photo Ind Co Ltd 画素密度変換による画像の拡大・縮小方法
JPH06348834A (ja) 1993-06-14 1994-12-22 Fuji Xerox Co Ltd 画像処理装置
US5995665A (en) * 1995-05-31 1999-11-30 Canon Kabushiki Kaisha Image processing apparatus and method
KR100594073B1 (ko) * 2002-09-17 2006-07-03 삼성전자주식회사 내장형 시스템의 디지털 영상 스케일링방법
US7302116B2 (en) * 2004-02-12 2007-11-27 Xerox Corporation Method and apparatus for reduced size image
JP4534564B2 (ja) 2004-04-15 2010-09-01 富士ゼロックス株式会社 画像処理装置およびプログラム
JP2006050090A (ja) 2004-08-02 2006-02-16 Canon Inc 画像縮小方法、画像縮小装置、および、画像縮小プログラムを記録した記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253180A (ja) * 1990-03-02 1991-11-12 Nippon Telegr & Teleph Corp <Ntt> 画像生成方法
JPH08214151A (ja) * 1995-02-07 1996-08-20 Fuji Film Micro Device Kk 画像サイズ変換装置
JP2000165661A (ja) * 1998-11-27 2000-06-16 Murata Mach Ltd 画像処理装置及び記録媒体
JP2003283841A (ja) * 2002-03-25 2003-10-03 Canon Inc フィルタ処理装置およびフィルタ処理方法
JP2008054271A (ja) * 2006-07-28 2008-03-06 Fuji Xerox Co Ltd 画像処理装置、及び、プログラム
JP2009038632A (ja) * 2007-08-02 2009-02-19 Sharp Corp 任意倍率拡大縮小方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049567A (ja) * 2013-08-30 2015-03-16 富士通セミコンダクター株式会社 画像処理装置及び画像処理方法
KR20210034165A (ko) * 2019-09-19 2021-03-30 삼성디스플레이 주식회사 구동 제어부, 이를 포함하는 표시 장치 및 이를 이용한 표시 패널의 구동 방법
KR102652019B1 (ko) 2019-09-19 2024-03-28 삼성디스플레이 주식회사 구동 제어부, 이를 포함하는 표시 장치 및 이를 이용한 표시 패널의 구동 방법

Also Published As

Publication number Publication date
US8390875B2 (en) 2013-03-05
US20100103434A1 (en) 2010-04-29
JP4807401B2 (ja) 2011-11-02

Similar Documents

Publication Publication Date Title
JP2010103681A (ja) 画像処理装置および画像処理方法
JP5267255B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP4532331B2 (ja) 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム
JP6613115B2 (ja) 画像処理装置及び画像処理方法とプログラム
JP5863001B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP4807401B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP6452657B2 (ja) 画像処理装置、その制御方法、及びプログラム
US9894244B2 (en) Image processing system and image processing method that perform correction of shifting bitmap data in a sub-scanning direction to cancel bending of and electro-photographic laser scanning line
US8526725B2 (en) Image processing apparatus including a division-conversion unit and a composing unit, image processing method, computer readable medium
JP5867790B2 (ja) 画像処理装置
JP2016086223A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび画像形成装置
JP5392543B2 (ja) 画像合成装置、画像形成装置およびプログラム
JP6413450B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP2018107649A (ja) 画像処理装置、および、コンピュータプログラム
JP4152337B2 (ja) 画像処理装置
JP5205364B2 (ja) 画像形成装置および画像形成方法
JP2008011076A (ja) 画像処理装置
JP6809010B2 (ja) 読取画像補正装置、読取画像補正方法、およびコンピュータプログラム
JP3633058B2 (ja) 画像処理装置
JP4270510B2 (ja) データ変換方法,装置,画像読み取り装置および画像形成装置
JP2023112514A (ja) 画像処理装置、その制御方法およびプログラム
JP5664917B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP2008219561A (ja) 文字情報処理装置、文字情報処理プログラム、及び画像形成装置
JP2020167483A (ja) 画像処理装置、プログラム、画像形成装置、および制御方法
JP2019185209A (ja) 画像処理装置、及び画像処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110630

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110719

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees