JP4100210B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP4100210B2 JP4100210B2 JP2003081275A JP2003081275A JP4100210B2 JP 4100210 B2 JP4100210 B2 JP 4100210B2 JP 2003081275 A JP2003081275 A JP 2003081275A JP 2003081275 A JP2003081275 A JP 2003081275A JP 4100210 B2 JP4100210 B2 JP 4100210B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- image data
- scanning direction
- pixel value
- address
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
- H04N1/393—Enlarging or reducing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/16—Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、画像データに対して拡大縮小処理を行う画像処理装置に関する。
【0002】
【従来の技術】
プリンタなどの画像処理装置は一般に、ページ記述言語(PDL)と呼ばれる言語記述された画像データを、パーソナルコンピュータなどから受け入れて、これを処理する。具体的にプリンタの画像生成部は、当該記述を解釈しながらラスタデータを描画し、プリンタエンジンに当該ラスタデータを転送し、プリンタエンジンにて印刷出力が行われる。
【0003】
こうしたページ記述言語で記述された画像データは、一般にはベクトルデータ等であって、画像生成部でラスタデータの生成が行われるため、その場でプリンタエンジンの解像度でのラスタデータを生成でき、プリンタエンジンの解像度に適合した印刷結果が得られるのが普通である。
【0004】
しかしページ記述言語で記述された画像データのなかには、ラスタデータそのものが埋め込まれる場合がある。このような場合は、当該埋め込まれたラスタデータをそのままプリンタエンジンに出力して印刷結果を得る。
【0005】
ところが、このラスタデータは、必ずしもプリンタエンジンの解像度と同じ解像度で生成されているとはいえないため、画像生成部は、当該埋め込まれていたラスタデータを、プリンタエンジンの解像度になるよう、拡大縮小処理する。
【0006】
従来一般的な拡大縮小処理の方法としては、非特許文献1に開示されている最近隣内挿法(nearest neighbor interpolation)がある。また、この方法を実装した例として、特許文献1、2等が開示されている。
【0007】
【非特許文献1】
高木幹雄、下田陽久 監修、「画像処理ハンドブック」、初版、1991年1月、東京大学出版会
【特許文献1】
特開平4−367080号公報
【特許文献2】
特開2001−150739号公報
【0008】
【発明が解決しようとする課題】
しかしながら、上記従来の画像処理装置によると、入力される画像データを少なくとも1ライン(主走査方向幅分)保持可能なラインバッファを備える必要がある。また、単純に読み出し方法を変更するだけでは主走査方向、副走査方向の双方に対する拡大縮小処理を一度に行うことができない。
【0009】
本発明は、上記実情に鑑みて為されたもので、主走査方向の画素数が、バッファの容量を超えている入力画像データを処理でき、また、主走査、副走査の双方に対する拡大縮小処理を一度に行うことができる画像処理装置を提供することをその目的の一つとする。
【0010】
【課題を解決するための手段】
請求項1記載の発明は、処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理装置であって、前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データのうち、主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第1メモリに格納された各画素値情報の転送先となる前記第2メモリ内の転送先アドレス情報を生成する転送先アドレス生成手段と、前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送先アドレスの演算の初期値として保持する初期値保持手段と、前記生成された転送先アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う手段と、を含むこととしたものである。
【0011】
また、請求項2記載の発明は、処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理装置であって、前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データを主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第2メモリ内の各アドレスに保持すべき画素値情報を格納している、前記第1メモリ内の転送元アドレスを生成する転送元アドレス生成手段と、前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送元アドレスの演算の初期値として保持する初期値保持手段と、前記生成された転送元アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う手段と、を含むこととしたものである。
【0012】
また、請求項3記載の発明は、請求項1又は2に記載の画像処理装置において、前記第1メモリの容量に基づいて規定されるサイズの画素ブロックに、前記画像データを分割する手段をさらに含み、前記第1メモリは、前記分割された画素ブロックに含まれる画素値情報を格納することとしたものである。
【0013】
また請求項4記載の発明は、請求項1に記載の画像処理装置において、前記転送先アドレス生成手段は、転送の後に、その時点での主走査方向に関する前記オフセット値のうち、少なくとも小数点以下部分を保持する第1保持手段及び、副走査方向に関する前記オフセット値のうち、少なくとも小数点以下部分を保持する第2保持手段、を含むこととしたものである。
【0014】
また請求項5記載の発明は、請求項2に記載の画像処理装置において、前記転送元アドレス生成手段は、前記転送の後に、その時点での主走査方向に関する前記オフセット値のうち、少なくとも小数点以下部分を保持する第1保持手段及び、副走査方向に関する前記オフセット値のうち、少なくとも小数点以下部分を保持する第2保持手段、を含むこととしたものである。
【0015】
また請求項6記載の発明は、請求項1または4に記載の画像処理装置において、前記アドレスシフト量は、指定された拡大縮小率の逆数であり、前記転送先アドレス生成手段は、現在のオフセット値に、アドレスシフト量を加算してオフセット値を更新し、その更新後のオフセット値が「1」以上となった場合には、転送先アドレスを一つ進めることとしたものである。
【0016】
また請求項7記載の発明は、請求項2または5に記載の画像処理装置において、前記アドレスシフト量は、指定された拡大縮小率の逆数であり、前記転送元アドレス生成手段は、現在のオフセット値に、アドレスシフト量を加算してオフセット値を更新し、その更新後のオフセット値が「1」以上となった場合には、転送元アドレスを一つ進めることとしたものである。
【0017】
また請求項8記載の発明は、請求項5に記載の画像処理装置において、前記アドレスシフト量は、指定された拡大縮小率の逆数であり、前記転送元アドレス生成手段は、現在のオフセット値に、アドレスシフト量を加算してオフセット値を更新し、その更新後のオフセット値が「1」以上となった場合には、転送元アドレスを一つ進め、前記第1メモリに格納されている画素値情報の、処理対象画像データ上での位置を参照し、当該位置が所定の条件を満足する場合は、前記オフセット値を、前記初期値保持手段に保持されている初期値に設定することとしたものである。
【0018】
また請求項9記載の発明は、前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データのうち、主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、を備えたコンピュータを用い、処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理方法であって、指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第1メモリに格納された各画素値情報の転送先となる前記第2メモリ内の転送先アドレス情報を生成する転送先アドレス生成工程と、前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送先アドレスの演算の初期値として保持する初期値保持工程と、前記生成された転送先アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う工程と、を含むこととしたものである。
【0019】
また請求項10記載の発明は、前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データを主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、を備えたコンピュータを用い、処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理方法であって、指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第2メモリ内の各アドレスに保持すべき画素値情報を格納している、前記第1メモリ内の転送元アドレスを生成する転送元アドレス生成工程と、前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送元アドレスの演算の初期値として保持する初期値保持工程と、前記生成された転送元アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う工程と、を含むこととしたものである。
【0020】
また請求項11記載の発明は、処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理プログラムであって、前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データを主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、を備えたコンピュータを、指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第1メモリに格納された各画素値情報の転送先となる前記第2メモリ内の転送先アドレス情報を生成する転送先アドレス生成手段と、前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送先アドレスの演算の初期値として保持する初期値保持手段と、前記生成された転送先アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う手段と、として機能させることとしたものである。
【0021】
また請求項12記載の発明は、処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理プログラムであって、前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データを主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、を備えたコンピュータを、指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第2メモリ内の各アドレスに保持すべき画素値情報を格納している、前記第1メモリ内の転送元アドレスを生成する転送元アドレス生成手段と、前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送元アドレスの演算の初期値として保持する初期値保持手段と、前記生成された転送元アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う手段と、として機能させることとしたものである。
【0022】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置は、図1に示すように、コンピュータシステムによって制御されるプリンタ装置であり、画像データ入力部11と、ラスタデータ生成部12と、プリンタエンジン部13とを含んで構成されている。また、ラスタデータ生成部12は、ページ記述言語処理部21と、画像処理部22と、ラスタデータ処理部23と、バンドメモリ部24とを含む。
【0023】
さらにラスタデータ処理部23は、入力バッファ部25と、メモリ転送部26と、拡大縮小制御部27と、第1メモリとしてのバッファメモリ28とを含んでなり、ここで拡大縮小制御部27は、図示しないコンピュータ読み取り可能な記憶媒体(CD−ROMやDVD−ROM、ハードディスク装置など)に格納されているプログラムに従って動作するもので、このプログラムは、機能的には図2に示すように、メモリ制御部31と、主走査方向拡縮部32と、主走査方向拡縮制御部33と、副走査方向拡縮制御部34と、転送制御部35とを含んで構成されている。
【0024】
画像データ入力部11は、外部のパーソナルコンピュータ等から、所定のページ記述言語で記述された画像データの入力を受けてラスタデータ生成部12に出力する。ラスタデータ生成部12は、入力された画像データに基づき、プリンタエンジン部13で行われる印刷解像度(以下、単に印刷解像度という)のラスタデータを生成して出力する。このラスタデータ生成部12の具体的内容は、後に詳しく述べる。プリンタエンジン部13は、ラスタデータ生成部12が出力するラスタデータに基づいて用紙に画像データを印刷して出力する。
【0025】
ラスタデータ生成部12のページ記述言語処理部21は、入力された画像データに含まれるページ記述言語での記述を、所定の中間言語での記述に変換して画像処理部22に出力する。ここで中間言語での記述には、ラスタデータ部分と、ラスタデータでない部分(描画命令などの部分)との少なくともいずれか一方が含まれる。
画像処理部22は、ページ記述言語処理部21から入力される中間言語での記述を、図示しないメモリに保持し、当該中間言語での記述を参照しながら、ラスタデータでない部分については印刷解像度のラスタデータを生成して、バンドメモリ部24に出力する。またラスタデータ部分については、当該ラスタデータをラスタデータ処理部23に逐次的に出力する。また、この画像処理部22は、ラスタデータ処理部23から入力されるラスタデータ(画素値の情報)を、バンドメモリ部24に出力する。
【0026】
ラスタデータ処理部23は、逐次的に入力されるラスタデータの解像度と、印刷解像度とを比較して拡大縮小率を演算し、当該拡大縮小率に基づく拡大縮小処理を行い、その拡大縮小処理後の画像データ(拡縮画像データ)を構成する各画素値情報を、各画素値情報を格納すべきバンドメモリ部24上のアドレスを指定するアドレス情報とともに、バンドメモリ部24に出力する。
【0027】
バンドメモリ部24は、本発明の第2メモリに相当し、拡大縮小処理後の画像データのうち、主走査方向については主走査方向幅分、副走査方向については少なくともその一部を保持可能な容量を有している。すなわち、主走査方向(行方向)については、プリンタエンジン部13の印刷解像度と印刷可能幅とで規定される画素数分の記憶領域を有するが、副走査方向については必ずしも、印刷可能な長さに相当する行数分の記憶領域を有していなくてもよい。なお、印刷可能な長さに相当する行数分の記憶領域を有するページメモリを、このバンドメモリ部24の代わりに用いてもよい。
【0028】
本実施の形態において特徴的なことの一つは、このラスタデータ処理部23の処理である。以下、このラスタデータ処理部23の処理の例について説明する。なお、以下の説明では拡大処理を例として説明するが、縮小処理も同様に行うことができる。
【0029】
本実施の形態のラスタデータ処理部23のバッファメモリ28は、ラスタデータの主走査方向幅以下の容量を有するメモリである。
【0030】
ラスタデータ処理部23の入力バッファ部25は、逐次的に入力されるラスタデータの画素値情報を一時的に保持し、当該画素値情報をバッファメモリ28に書き込む。メモリ転送部26は、拡大縮小制御部27から、バッファメモリ28上の転送元アドレスと、バンドメモリ部24上の転送先アドレスとを指定する情報の入力を受けて、当該指定された、バッファメモリ28上の転送元アドレスから画素値情報を読み出して、画像処理部22を介してバンドメモリ部24上の転送先アドレスに転送する。
【0031】
拡大縮小制御部27は、逐次的に入力されるラスタデータの解像度と、印刷解像度とを比較して拡大縮小率を演算し、バッファメモリ28に保持されている各画素値情報について、それら各々の転送先となる、バンドメモリ部24上のアドレス値(転送先アドレス)を、この拡大縮小率に応じてそれぞれ決定し、各画素値情報について、その格納場所である転送元アドレスと、それぞれについて決定された転送先アドレスとを、メモリ転送部26に出力する。
【0032】
具体的にこの拡大縮小制御部27は、基本的に次のように動作する。なお、以下の説明では図3(a)に示すように、主走査方向の画素数がW個であるようなラスタデータを、主走査方向にN倍、副走査方向にM倍した拡縮画像データを生成する場合について説明する。
ここで、バッファメモリ28の容量がx(ここでx≦W)であるとすると、入力バッファ部25からバッファメモリ28にx個の画素値情報が書き込まれる。具体的に図3(a)の例でいえば、主走査方向の画素P0,0〜P0,Wのうち、P0,0〜P0,x−1までのx個の画素値情報がバッファメモリ28に保持された状態となっている。
【0033】
拡大縮小制御部27は、転送元アドレスとして、P0,0の画素値情報の格納場所を表す情報を出力し、またこれとともに、拡縮画像データの左上の画素を格納すべき位置を表す、バンドメモリ部24上の転送先アドレスから、順次、主走査方向に転送先アドレスをインクリメントしつつ、N個(図3ではN=2としている)の転送先アドレスを出力する。すると、バンドメモリ部24には、図3(b)に示すように、P0,0がN個(この例では2個)主走査方向に連続して転送された状態となる(P)。
【0034】
拡大縮小制御部27は、バッファメモリ28に格納されている各画素値情報P0,0〜P0,x−1の各転送元アドレスについて、それぞれN個ずつ転送先アドレスを出力する処理を行って、主走査方向にN倍に拡大したラスタデータの一部をバンドメモリ部24に形成する(Q)。以下、このような主走査方向への処理を「主走査方向処理」と呼ぶ。
【0035】
次に、拡大縮小制御部27は、拡縮画像データの左上の画素を格納すべき位置を表す、バンドメモリ部24上の転送先アドレスから転送先アドレスを副走査方向に一つだけ進める。例えばバンドメモリ部24の主走査方向の幅がLである場合、当初の転送先アドレスにLを加算する(S1)。そして拡大縮小制御部27は、P0,0を格納した転送元アドレスから、主走査方向処理を繰り返して行う。この副走査方向への処理を、以下、副走査方向処理と呼ぶ。
【0036】
この副走査方向処理をM回繰り返して行った後、拡大縮小制御部27は、入力バッファ25に対して処理の完了を報知し、次の画素値情報群P0,x〜P0,2x−1をバッファメモリ28に格納させる。
【0037】
そして、拡大縮小制御部27は拡縮画像データの左上の画素を格納すべき位置を表す、バンドメモリ部24上の転送先アドレスから主走査方向にxだけ進めたアドレスから(S2)、再び主走査方向処理と副走査方向処理とを行う。
【0038】
拡大縮小制御部27は、このようにしてバッファメモリ28に保持可能なx個の画素値情報群をブロックとして上記処理(以下、ブロック処理と呼ぶ)を行い、ラスタデータの1行分の処理を終えると、次の行に移って(S3)、さらにブロック処理を繰り返す。
【0039】
そしてバッファメモリ28には、図3(b)に示すように、N×M倍に拡大されたラスタデータが保持されているようになる。
【0040】
すなわち、この拡大縮小制御部27は、拡大処理においては、各画素値情報の転送元アドレスから複数の転送先アドレスに対して転送させることで拡大処理を行っている。副走査方向への拡大も、バッファメモリ28の副走査方向に転送先アドレスを移動しながら同じ画素値情報を出力することで実現している。
【0041】
図4に、拡大縮小制御部27が出力する信号の例を転送タイミングチャートとして示す。図4において、RDYはバンドメモリ部24への転送が有効であることを示す制御信号であり、ENAはバンドメモリ部24がデータ転送を受入可能であることを示す制御信号である。ADDRESSは、RDYがアサートに変わったときの転送先アドレスである。またDATAは、画素値情報であり、ENDは、バースト転送(ここではx個の画素値情報1行分がバースト転送される)が終了したことを示す制御信号である。
【0042】
この拡大方式の場合、ラスタデータはスキャンライン順に入力されるものの、バッファメモリ28からバンドメモリ部24への転送はスキャンライン順に転送されるとは限らない(x個ずつのブロックに分けて副走査方向への走査が行われる)。ここでは最初の画素値情報P0,0が転送開始になるとき(Dx,Dy)の転送先アドレスへ、当該画素値情報を転送している。その後は、主走査方向に順次転送されるため、図4に示すように拡大縮小制御部27は、必ずしも転送先アドレスを指定する必要はなく、バンドメモリ部24側で、転送先アドレスを主走査方向に順次インクリメントしながら格納していけばよい。
【0043】
図4に示すようにブロックの終端の画素値情報P0,x−1が転送されるときにEND信号が生じ、主走査方向の1行分の拡大が終了したことを示している。再び拡大データP0,0が転送開始になるときに拡大縮小制御部27は、(Dx,Dy+1)の転送先アドレスから転送を開始し、副走査方向への拡大を行う。なお、縮小の場合は、画素値情報を間引いて転送することとなる。
【0044】
ここで拡大縮小制御部27のより詳しい処理の内容例について述べる。すでに図2に示したように、拡大縮小制御部27が実行するプログラムは、機能的に、メモリ制御部31と、主走査方向拡縮部32と、主走査方向拡縮制御部33と、副走査方向拡縮制御部34と、転送制御部35とを含み、メモリ制御部31は、入力される画素値情報の転送制御やバッファメモリ28の制御を行う。主走査方向拡縮部32は、ブロックを単位として転送されてくる画素値情報を主走査方向に拡大縮小する処理(主走査方向処理)を行う。
【0045】
主走査方向拡縮制御部33は、主走査方向の拡縮計算を行い、転送先アドレスの信号等を生成する。副走査方向拡縮制御部34は、副走査方向の拡縮計算を行い、副走査方向の拡縮を行うために、ブロックごとの処理を主走査方向拡縮制御部33に繰り返し行わせる制御信号を出力する。転送制御部35は、RDYの信号を監視し転送可能となると、転送先アドレス信号を出力して画素値情報の転送を制御する。また、ブロック1行分の転送が完了すると、END信号を生成して出力する。
【0046】
ここまでの説明では、拡大縮小率が整数倍(の拡大)である例について説明してきたが、拡大縮小率は小数点以下を含んでも構わない。この場合、転送先アドレスについては、上述の処理と同様に決定するのであるが、各転送先アドレスに対してどの画素値情報を転送するかについては、拡大縮小率に応じて定めなければならない。すなわち、2倍、3倍といった整数倍のときには、当該拡大率に示された回数だけ画素値情報を繰り返して出力すればよいが、1.2倍、などといった小数点以下を含む拡大率では、5つの画素値情報を6画素分のメモリ領域に転送するのであり、要するにいずれかの画素値情報だけを2回繰り返し、他の画素値情報は1回ずつ転送することになって、どの転送元アドレスの画素値情報を各転送先アドレスに対して転送するかを定める必要がある。
【0047】
また、本実施の形態においては、主走査方向に対してブロックごとに処理を行っているため、ブロックごとに単純な拡大縮小処理を行うと、小数点以下の部分(小数部)を有する拡大縮小率に対する処理の場合等に、ブロック境界部分が拡縮画像データ上で目立って見えてしまう現象が憂慮される。
【0048】
そこで本実施の形態の拡大縮小制御部27は、基本的に、バンドメモリ部24上の各転送先アドレスに転送して保持させるべき画素値情報が格納されている、バッファメモリ28内の転送元アドレスを、拡大縮小率に応じて定められるアドレスシフト量に基づいて生成し、バッファメモリ28内の当該生成した転送元アドレスから画素値情報を読み出して、バンドメモリ部24上の転送先アドレスに転送する。また、前回処理したブロックの終端でのアドレスシフト量を保持しておき、次のブロックの処理に供し、次のブロックでは、当該保持したアドレスシフト量を利用してさらに転送元アドレスを決定する処理を続ける。
【0049】
この処理は具体的に、主走査方向拡縮制御部33と、副走査方向拡縮制御部34とによって行われる。次に、これらの基本的構成を、図5を用いて説明する。図5は、主走査方向拡縮制御部33又は副走査方向拡縮制御部34の構成例を表す機能ブロック図である。
【0050】
図5に示す構成例のように、主走査方向拡縮制御部33又は副走査方向拡縮制御部34は、初期値保持部41と、ブロックオフセット値保持部42と、第1選択部43と、レジスタ部44と、第1比較部45と、第2比較部46と、減算部47と、加算部48と、第2選択部49と、第3選択部50とを含む。
【0051】
初期値保持部41は、所定の方法で定められる初期値を保持し、出力する。この初期値を定める方法については後に詳しく述べる。ブロックオフセット値保持部42は、前回のブロック処理において、最後の画素値情報を出力したときのオフセット値をブロックオフセット値として保持している。ここでオフセット値は、アドレスシフト量の累積加算によって求められる値であり、典型的には累積加算値の小数部分である。
【0052】
第1選択部43は、マルチプレクサ(MUX)であり、初期値保持部41から初期値の入力を、ブロックオフセット値保持部42からブロックオフセット値の入力を、さらに後に説明する第2選択部49から現在のオフセット値(以下、継続オフセット値と呼ぶ)の入力を受けて、そのいずれかを所定の条件に基づいて選択する。具体的にこの第1選択部43は、主走査方向拡縮制御部33においては、図6に示すような処理によって上記入力される値のいずれか一つを選択的に出力する。すなわち、転送元アドレスが指している画素値情報が各ブロックごとのブロック処理において最初に処理するものであるか否かを調べ(S11)、最初に処理するものでなければ(Noならば)、継続オフセット値を選択的に出力して(S12)、処理を終了する。
【0053】
また、この処理S11において、転送元アドレスが指している画素値情報がブロック処理において最初に処理するものであれば(Yesならば)、さらに、当該画素値情報が、ラスタデータ上の行の先頭画素のものであるか否か、すなわち主走査方向の先頭の画素のものであるか否かを調べる(S13)。ここで、先頭画素のものであれば(Yesならば)、初期値を選択的に出力して(S14)、処理を終了し、また処理S13において、先頭画素のものでなければ(Noならば)、ブロックオフセット値を選択的に出力して(S15)、処理を終了する。
【0054】
またこの第1選択部43は、副走査方向拡縮制御部34においては、フラグ情報を保持するレジスタ(不図示)を用い、入力バッファ部25からバッファメモリ28に画素値情報が書き込まれるタイミング(処理開始直後、又は前回ENDの信号を出力した直後など)で、フラグ情報を例えば「0」などにリセットしておく。そしてこの第1選択部43は、図7に示すように、フラグ情報が「0」などにリセットされているか否か、つまり、現在バッファメモリ28に格納されている画素値情報が今回初めて読み出されるものであるか否か、を調べる(S21)。ここで、フラグ情報が「0」などにリセットされていなければ(Noならば)、継続オフセット値を選択的に出力して(S22)、処理を終了する。
【0055】
また、この処理S21においてフラグ情報が「0」などにリセットされていれば(Yesならば)、フラグ情報を、例えば「1」にセットして(S23)、さらに転送の対象となる画素値情報が、処理対象となっている画像データの先頭行のものであるか否かを調べる(S24)。そして、処理対象となっている画像データの先頭行のものであれば(Yesであれば)、初期値を選択的に出力して(S25)、処理を終了し、処理S24において、転送対象となる画素値情報が処理対象となっている画像データの先頭行のものでなければ(Noならば)、ブロックオフセット値を選択的に出力して(S26)、処理を終了する。つまり、副走査方向には、バッファメモリ28に書き込まれた画素値情報の副走査方向への拡大・縮小が完了した時点でのアドレスシフト量(副走査方向へのシフト量)がブロックオフセット値として保持され、利用されることになる。
【0056】
レジスタ部44は、第1選択部43が出力した値を一時的に保持し、その整数部を第1比較部45と第2比較部46とに出力し、小数部を加算部48に出力し、さらに保持している値そのもの(整数部と小数部とを含む)を減算部47に出力する。第1比較部45は、レジスタ部44が保持する値の整数部が「1」以上か否かを判断し、「1」を超えていれば、転送元アドレスを1つ進める信号(シフト信号)を出力する。具体的に第1比較部45は、主走査方向拡縮制御部33においては、シフト信号により、転送元アドレスを主走査方向に一つ進める。また、副走査方向拡縮制御部34においては、この第1比較部45は、シフト信号により、転送元アドレスを副走査方向に一つ進める。
【0057】
第2比較部46は、レジスタ部44が保持している値の整数部が「2」以上であるか否かを判断し、「2」以上であれば、転送先アドレスと画素値情報との出力を抑制するディスエイブル信号を出力する。このディスエイブル信号が出力されているときには、主走査方向拡縮制御部33は、転送先アドレスと画素値情報との出力を行わない。
【0058】
減算部47は、レジスタ部44が保持している値そのものから「1」を減算して出力する。加算部48は、アドレスシフト量としての拡大縮小率の逆数を、レジスタ部44が保持している値の小数部に加算して出力する。この加算部48の出力が、アドレスシフト量の累積加算演算の結果である。すなわちアドレスシフト量とは、拡縮画像データを「1」としたときの元のラスタデータの拡大縮小率に相当するもので、拡縮画像データの1画素あたり、元のラスタデータでどれだけの画素移動量になるかを小数点を含めて示したものである。
【0059】
第2選択部49は、マルチプレクサ(MUX)であり、第2比較部46がディスエイブル信号を出力しているときには、減算部47が出力する値を選択的に出力し、第2比較部46がディスエイブル信号を出力していないときには、加算部48が出力する値を選択的に出力する。この第2選択部49が出力する値が、継続オフセット値となる。
【0060】
第3選択部50は、マルチプレクサ(MUX)であり、ブロックの終端の画素値情報を出力する際に、ブロックオフセット保持部42の値を更新するためのもので、具体的には、主走査方向拡縮制御部33においてはブロックの終端画素であるか否かを(例えばEND信号などにより)判断し、終端画素であれば継続オフセット値を選択的に出力してブロックオフセット保持部42に保持されているブロックオフセット値を更新する。また、ブロックの終端画素でなければ、ブロックオフセット保持部42が出力したブロックオフセット値をそのままブロックオフセット保持部42に出力する。
【0061】
また、この第3選択部50は、副走査方向拡縮制御部34においては、ブロックの終端画素、つまりラスタデータの各行の右端の画素であるか否かを(例えば読み出しアドレスなどにより)判断し、終端画素であれば継続オフセット値を選択的に出力してブロックオフセット保持部42に保持されているブロックオフセット値を更新する。また、ブロックの終端画素でなければ、ブロックオフセット保持部42が出力したブロックオフセット値をそのままブロックオフセット保持部42に出力する。
【0062】
ここで初期値保持部41が保持する初期値を定める方法の例について述べる。本実施の形態の拡大縮小制御部27は、バンドメモリ部24の容量いっぱいに拡縮画像データの一部が格納された時点で、主走査方向拡縮制御部33と、副走査方向拡縮制御部34とに対して、その時点での継続オフセット値を初期値保持部41に保持させる。すなわち拡縮画像データは、バンドメモリ部24の副走査方向の行数分ずつ区切られて印刷されるのであるが、このように初期値を設定することにより、当該区切られた部分の境界(バンドをまたぐところ)における拡縮画像データの乱れを防止する。なお、バンドメモリ部24に代えて、ページメモリを用いる場合は、基本的に初期値の設定は不要であり、「0」としておくことができる。このような場合は、初期値保持部41自体、必ずしも必要ではない。
【0063】
次に、図5に示した処理を行う主走査方向拡縮制御部33の動作例について説明する。なお、ここでは主走査方向拡縮制御部33について説明するが、副走査方向拡縮制御部34についても同様である。
【0064】
まず、拡大率4/3倍(拡大縮小率の逆数=0.75)、初期値=0.6であるときの動作について図8を参照しながら説明する。バッファメモリ28に、画素値情報P0,0〜P0,x−1が格納され、このP0,0〜P0,x−1の画素値情報群からなるブロックについてのブロック処理が開始されると、このうち最初の画素値情報P0,0について、第1選択部43が、今回処理する画素値情報が、ブロック処理において最初に処理するものであり、かつ、当該画素値情報は、ラスタデータ上の行の先頭画素のものであるので、初期値である0.6を選択的に出力する。そしてレジスタ部44がこれを保持する。
【0065】
レジスタ部44が保持している値0.6の整数部は、0であるので、シフト信号もディスエイブル信号も出力されない。従って転送元アドレスはインクリメントされず、次に出力する画素値情報もP0,0である。また、加算部48は、小数部0.6に、拡大縮小率の逆数0.75を加算した値1.35を出力する。また減算部47は、0.6から1を引いて−0.4を得て出力する。
【0066】
第2選択部49は、ディスエイブル信号が出力されていないので、加算部48が出力する値「1.35」を選択的に継続オフセット値として出力する。
【0067】
第1選択部43は、次の画素値情報はP0,0であるが、ブロック処理において最初に処理するものでないので、この継続オフセット値を選択的に出力する。そしてレジスタ部44がこれを保持する。この整数部は「1」であるので、シフト信号は出力されるが、ディスエイブル信号は出力されない。シフト信号が出力されるので、転送元アドレスがインクリメントされて、次に出力する画素値情報はP0,1となる。
【0068】
加算部48は第1選択部43が出力する値の小数部「0.35」に拡大縮小率の逆数0.75を加算した値1.10を出力する。この場合もディスエイブル信号が出力されていないので、第2選択部49は、この加算部48が出力する値1.10を継続オフセット値として出力し、ブロック処理の最初の画素値情報でないので、第1選択部43はこの継続オフセット値をそのまま出力してレジスタ部44に格納する。
【0069】
以下、同様の処理の繰り返しにより、図8(f)に示すように「P0,0、P0,0、P0,1、P0,2、P0,2、P0,3、P0,4、…」といったように画素値情報が出力される。また、ブロックの終端の画素(例えばP0,5とする)の処理においてシフト信号が出力されると、第3選択部50が、その時点の継続オフセット値=1.35により、ブロックオフセット保持部42の値(ブロックオフセット値)を更新する。
【0070】
そして、副走査方向への処理が終了し、次のブロックである画素値情報P0,x〜P0,(2x−1)がバッファメモリ28に格納されるようになると、第1選択部43は、新たにブロック処理を開始する。当該開始したブロック処理において最初に処理される画素値情報P0,xについて、当該画素値情報は、ブロック処理において最初に処理されるものであるが、ラスタデータの行の先頭の画素値情報でないので、第1選択部43は、ブロックオフセット値保持部42が保持しているブロックオフセット値=1.35を出力するようになる。
【0071】
また、図9を用いてラスタデータの縮小を行う場合について、2/3縮小、すなわち拡大縮小率の逆数=1.5、初期値が1.0であるとして説明する。バッファメモリ28に、画素値情報P0,0〜P0,x−1が格納され、このP0,0〜P0,x−1の画素値情報群からなるブロックについてのブロック処理が開始されると、このうち最初の画素値情報P0,0について、第1選択部43が、今回処理する画素値情報が、ブロック処理において最初に処理するものであり、かつ、当該画素値情報は、ラスタデータ上の行の先頭画素のものであるので、初期値である1.0を選択的に出力する。そしてレジスタ部44がこれを保持する。
【0072】
レジスタ部44が保持している値1.0の整数部は、1であるので、シフト信号が出力され、ディスエイブル信号は出力されない。従って転送元アドレスがインクリメントされ、次に出力する画素値情報はP0,1となる。また、加算部48は、小数部0.0に、拡大縮小率の逆数1.5を加算した値1.5を出力する。また減算部47は、1.0から1を引いて得た値0、を出力する。
【0073】
第2選択部49は、ディスエイブル信号が出力されていないので、加算部48が出力する値「1.50」を選択的に継続オフセット値として出力する。
【0074】
第1選択部43は、次の画素値情報はP0,1であり、ブロック処理において最初に処理するものでないので、この継続オフセット値を選択的に出力する。そしてレジスタ部44がこれを保持する。この整数部は「1」であるので、シフト信号は出力されるが、ディスエイブル信号は出力されない。シフト信号が出力されるので、転送元アドレスがインクリメントされて、次に出力する画素値情報はP0,2となる。
【0075】
加算部48は第1選択部43が出力する値の小数部「0.5」に拡大縮小率の逆数1.5を加算した値2.0を出力する。この時点でもディスエイブル信号は出力されていないので、第2選択部49は、この加算部48が出力する値2.0を継続オフセット値として出力する。ブロック処理の最初の画素値情報でないので、第1選択部43はこの継続オフセット値をそのまま出力してレジスタ部44に格納する。
【0076】
このレジスタ部44に格納された値の整数部は「2」であるので、シフト信号とディスエイブル信号とが両方とも出力される。その結果、処理中の画素値情報P0,2は出力されないこととなる。また、ディスエイブル信号が出力されているので、第2選択部49は、減算部47が出力する、値「1」(すなわち2.0から1を引いた値)を選択的に出力する。
【0077】
以下、同様の処理の繰り返しにより、図9(f)に示すように「P0,0、P0,1、P0,3、P0,4、P0,6、P0,7、…」といったように画素値情報が出力される。なお、図9(f)において、「−」となっているのは、出力される画素値情報がないことを示す。
【0078】
こうして順次出力される画素値情報は、図3に示したように、バンドメモリ部24上の、別途生成される転送先アドレス情報によって示される位置に順次格納されていき、バンドメモリ部24に拡縮画像データが生成される。
【0079】
このように本実施の形態に係る画像処理装置は、画像データ入力部11で受け入れた画像データについて、ラスタデータ生成部12のページ記述言語処理部21がベクトルデータなど、ラスタデータでない部分については、当該記述に基づいてラスタデータを生成してバンドメモリ部24に書き込む。また、ラスタデータの部分については、ラスタデータ処理部23に出力される。
【0080】
ラスタデータ処理部23は、ページ記述言語処理部21からラスタスキャン順に逐次的に入力されるラスタデータについて、当該ラスタデータの解像度(例えばページ記述言語の記述により与えられる)と、プリンタエンジン部13の印刷解像度との比によって指定される拡大縮小率で拡大縮小処理を行ってバンドメモリ部24に書き込む。この際、ラスタデータ処理部23は、ラスタデータ1行分のデータを所定サイズのブロックに分割して、当該ブロックのサイズのバッファメモリ28に格納し、ブロックに含まれる画素値情報のそれぞれについてバッファメモリ28上の転送元アドレスと、バンドメモリ部24上の転送先アドレスとを演算して、バッファメモリ28の転送元アドレスから、バンドメモリ部24の転送先アドレスへと画素値情報を転送する。
【0081】
これによりバンドメモリ部24に画像データのうちラスタデータ部分についてはそれを拡縮してプリンタエンジン部13の印刷解像度に適合させたデータ(拡縮画像データ)が保持され、またベクトルデータなどラスタデータ以外の部分については、当該データの記述に基づいて生成された印刷解像度のラスタデータが保持されるようになる。
【0082】
そしてバンドメモリ部24に格納されたデータがプリンタエンジン部13に出力されて印刷が行われる。なお、バンドメモリ部24は、副走査方向には印刷用紙全体の画像を表すに十分なサイズがないので、複数のバンドメモリを準備し、プリンタエンジン部13から出力を行いながら、他方のバンドメモリ部に描画を行い、用紙1枚分の印刷することが可能である。また描画されたバンドメモリデータを圧縮し、用紙1枚分の圧縮データが用意できたなら、伸長しながらプリンタエンジン部13に出力しても良い。
【0083】
本発明の実施の形態によれば、主走査方向の画素数が、バッファメモリ28の容量を超えているような入力画像データをも処理でき、また、主走査、副走査の双方に対する拡大縮小処理を一度に行うことができる。
【0084】
またここまでの説明では、各部がソフトウエアによって制御されるものとして説明してきたが、例えば図5の処理などは、ディジタル回路素子によってハードウエア的に構成されてもよい。
【図面の簡単な説明】
【図1】 本発明の実施の形態に係る画像処理装置の構成ブロック図である。
【図2】 ラスタデータ処理部の処理内容の例を表す機能ブロック図である。
【図3】 画素値情報のバンドメモリ部への転送状況の例を表す説明図である。
【図4】 拡大縮小制御部が出力する信号の例を表す転送タイミングチャート図である。
【図5】 主走査方向拡縮制御部と、副走査方向拡縮制御部とによって行われる処理の基本的構成例を表す機能ブロック図である。
【図6】 主走査方向拡縮制御部における第1選択部の動作例を表すフローチャート図である。
【図7】 副走査方向拡縮制御部における第1選択部の動作例を表すフローチャート図である。
【図8】 拡大処理における転送元アドレスの遷移の例を表す説明図である。
【図9】 縮小処理における転送元アドレスの遷移の例を表す説明図である。
【符号の説明】
11 画像データ入力部、12 ラスタデータ生成部、13 プリンタエンジン部、21 ページ記述言語処理部、22 画像処理部、23 ラスタデータ処理部、24 バンドメモリ部、25 入力バッファ部、26 メモリ転送部、27 拡大縮小制御部、28 バッファメモリ、31 メモリ制御部、32 主走査方向拡縮部、33 主走査方向拡縮制御部、34 副走査方向拡縮制御部、35 転送制御部、41 初期値保持部、42 ブロックオフセット値保持部、43 第1選択部、 44 レジスタ部、45 第1比較部、46 第2比較部、47 減算部、48 加算部、49 第2選択部、50 第3選択部。
Claims (12)
- 処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理装置であって、
前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、
前記拡縮画像データのうち、主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、
指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第1メモリに格納された各画素値情報の転送先となる前記第2メモリ内の転送先アドレス情報を生成する転送先アドレス生成手段と、
前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送先アドレスの演算の初期値として保持する初期値保持手段と、
前記生成された転送先アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う手段と、
を含むことを特徴とする画像処理装置。 - 処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理装置であって、
前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、
前記拡縮画像データを主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、
指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第2メモリ内の各アドレスに保持すべき画素値情報を格納している、前記第1メモリ内の転送元アドレスを生成する転送元アドレス生成手段と、
前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送元アドレスの演算の初期値として保持する初期値保持手段と、
前記生成された転送元アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う手段と、
を含むことを特徴とする画像処理装置。 - 請求項1又は2に記載の画像処理装置において、
前記第1メモリの容量に基づいて規定されるサイズの画素ブロックに、前記画像データを分割する手段をさらに含み、
前記第1メモリは、前記分割された画素ブロックに含まれる画素値情報を格納することを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置において、
前記転送先アドレス生成手段は、転送の後に、その時点での主走査方向に関する前記オフセット値のうち、少なくとも小数点以下部分を保持する第1保持手段及び、副走査方向に関する前記オフセット値のうち、少なくとも小数点以下部分を保持する第2保持手段、
を含むことを特徴とする画像処理装置。 - 請求項2に記載の画像処理装置において、
前記転送元アドレス生成手段は、前記転送の後に、その時点での主走査方向に関する前記オフセット値のうち、少なくとも小数点以下部分を保持する第1保持手段及び、副走査方向に関する前記オフセット値のうち、少なくとも小数点以下部分を保持する第2保持手段、
を含むことを特徴とする画像処理装置。 - 請求項1または4に記載の画像処理装置において、
前記アドレスシフト量は、指定された拡大縮小率の逆数であり、
前記転送先アドレス生成手段は、現在のオフセット値に、アドレスシフト量を加算してオフセット値を更新し、
その更新後のオフセット値が「1」以上となった場合には、転送先アドレスを一つ進める
ことを特徴とする画像処理装置。 - 請求項2または5に記載の画像処理装置において、
前記アドレスシフト量は、指定された拡大縮小率の逆数であり、
前記転送元アドレス生成手段は、現在のオフセット値に、アドレスシフト量を加算してオフセット値を更新し、
その更新後のオフセット値が「1」以上となった場合には、転送元アドレスを一つ進める
ことを特徴とする画像処理装置。 - 請求項5に記載の画像処理装置において、
前記アドレスシフト量は、指定された拡大縮小率の逆数であり、
前記転送元アドレス生成手段は、現在のオフセット値に、アドレスシフト量を加算してオフセット値を更新し、
その更新後のオフセット値が「1」以上となった場合には、転送元アドレスを一つ進め、
前記第1メモリに格納されている画素値情報の、処理対象画像データ上での位置を参照し、当該位置が所定の条件を満足する場合は、前記オフセット値を、前記初期値保持手段に保持されている初期値に設定する
ことを特徴とする画像処理装置。 - 前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データのうち、主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、を備えたコンピュータを用い、
処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理方法であって、
指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第1メモリに格納された各画素値情報の転送先となる前記第2メモリ内の転送先アドレス情報を生成する転送先アドレス生成工程と、
前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送先アドレスの演算の初期値として保持する初期値保持工程と、
前記生成された転送先アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う工程と、
を含むことを特徴とする画像処理方法。 - 前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データを主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、を備えたコンピュータを用い、
処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理方法であって、
指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第2メモリ内の各アドレスに保持すべき画素値情報を格納している、前記第1メモリ内の転送元アドレスを生成する転送元アドレス生成工程と、
前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送元アドレスの演算の初期値として保持する初期値保持工程と、
前記生成された転送元アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う工程と、
を含むことを特徴とする画像処理方法。 - 処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理プログラムであって、
前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データを主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、を備えたコンピュータを、
指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第1メモリに格納された各画素値情報の転送先となる前記第2メモリ内の転送先アドレス情報を生成する転送先アドレス生成手段と、
前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送先アドレスの演算の初期値として保持する初期値保持手段と、
前記生成された転送先アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う手段と、
として機能させることを特徴とする画像処理プログラム。 - 処理対象となった画像データに含まれる各画素の画素値情報の入力をラスタスキャン順に逐次的に受けて、指定された拡大縮小率で当該画像データを拡大縮小した拡縮画像データを生成する画像処理プログラムであって、
前記画像データの主走査方向幅以下の容量を有し、前記逐次的に入力される画素値情報を格納する第1メモリと、前記拡縮画像データを主走査方向については主走査方向幅分、副走査方向についてはその一部を保持可能な第2メモリと、を備えたコンピュータを、
指定された拡大縮小率に応じて定められるアドレスシフト量を算出し、保持されている初期値に、当該アドレスシフト量を累積加算して得られるオフセット値を利用して、前記第2メモリ内の各アドレスに保持すべき画素値情報を格納している、前記第1メモリ内の転送元アドレスを生成する転送元アドレス生成手段と、
前記第2メモリが拡縮画像データの副走査方向幅分の画素値情報を保持できない場合、当該第2メモリの容量分だけ転送した時点での前記オフセット値のうち、少なくとも小数点以下部分を次回の転送元アドレスの演算の初期値として保持する初期値保持手段と、
前記生成された転送元アドレス情報に基づいて、前記第1メモリから、前記第2メモリへの画素値情報の転送を行う手段と、
として機能させることを特徴とする画像処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003081275A JP4100210B2 (ja) | 2003-03-24 | 2003-03-24 | 画像処理装置 |
US10/806,172 US7555170B2 (en) | 2003-03-24 | 2004-03-23 | Image processing apparatus for scaling images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003081275A JP4100210B2 (ja) | 2003-03-24 | 2003-03-24 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004289667A JP2004289667A (ja) | 2004-10-14 |
JP4100210B2 true JP4100210B2 (ja) | 2008-06-11 |
Family
ID=32984962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003081275A Expired - Fee Related JP4100210B2 (ja) | 2003-03-24 | 2003-03-24 | 画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7555170B2 (ja) |
JP (1) | JP4100210B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4462819B2 (ja) * | 2002-09-26 | 2010-05-12 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
US7812986B2 (en) | 2005-08-23 | 2010-10-12 | Ricoh Co. Ltd. | System and methods for use of voice mail and email in a mixed media environment |
US9171202B2 (en) | 2005-08-23 | 2015-10-27 | Ricoh Co., Ltd. | Data organization and access for mixed media document system |
US8989431B1 (en) | 2007-07-11 | 2015-03-24 | Ricoh Co., Ltd. | Ad hoc paper-based networking with mixed media reality |
US7702673B2 (en) * | 2004-10-01 | 2010-04-20 | Ricoh Co., Ltd. | System and methods for creation and use of a mixed media environment |
US9405751B2 (en) | 2005-08-23 | 2016-08-02 | Ricoh Co., Ltd. | Database for mixed media document system |
US9530050B1 (en) | 2007-07-11 | 2016-12-27 | Ricoh Co., Ltd. | Document annotation sharing |
US9384619B2 (en) | 2006-07-31 | 2016-07-05 | Ricoh Co., Ltd. | Searching media content for objects specified using identifiers |
US9495385B2 (en) | 2004-10-01 | 2016-11-15 | Ricoh Co., Ltd. | Mixed media reality recognition using multiple specialized indexes |
US9373029B2 (en) | 2007-07-11 | 2016-06-21 | Ricoh Co., Ltd. | Invisible junction feature recognition for document security or annotation |
US8201076B2 (en) * | 2006-07-31 | 2012-06-12 | Ricoh Co., Ltd. | Capturing symbolic information from documents upon printing |
US9063952B2 (en) | 2006-07-31 | 2015-06-23 | Ricoh Co., Ltd. | Mixed media reality recognition with image tracking |
US9176984B2 (en) | 2006-07-31 | 2015-11-03 | Ricoh Co., Ltd | Mixed media reality retrieval of differentially-weighted links |
US8489987B2 (en) | 2006-07-31 | 2013-07-16 | Ricoh Co., Ltd. | Monitoring and analyzing creation and usage of visual content using image and hotspot interaction |
AU2008249145A1 (en) * | 2008-11-21 | 2010-06-10 | Canon Kabushiki Kaisha | Resolution independent image degradation |
JP5643576B2 (ja) * | 2010-08-30 | 2014-12-17 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
US9058331B2 (en) | 2011-07-27 | 2015-06-16 | Ricoh Co., Ltd. | Generating a conversation in a social network based on visual search results |
JP7082757B2 (ja) * | 2018-06-26 | 2022-06-09 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5097518A (en) * | 1990-02-27 | 1992-03-17 | Eastman Kodak Company | Technique for performing digital image scaling by logically combining or replicating pixels in blocks of differing groupsizes |
JP2938226B2 (ja) | 1991-06-13 | 1999-08-23 | 株式会社リコー | 画像変倍処理装置 |
US5204916A (en) * | 1991-08-06 | 1993-04-20 | Eastman Kodak Company | Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening |
WO1993017875A1 (en) * | 1992-03-02 | 1993-09-16 | Seiko Epson Corporation | Additional control device, and apparatus and method for processing information thereby |
US5473741A (en) * | 1993-08-30 | 1995-12-05 | Graphic Systems Technology, Inc. | Method for determining the time to perform raster image processing |
JP2803576B2 (ja) | 1994-09-30 | 1998-09-24 | 日本電気株式会社 | 画像処理装置 |
US5825367A (en) * | 1995-07-26 | 1998-10-20 | Winbond Electronics Corp. | Apparatus for real time two-dimensional scaling of a digital image |
US6498868B1 (en) * | 1998-06-11 | 2002-12-24 | Xerox Corporation | Image scaling using pattern matching to select among scaling algorithms |
JP2001150739A (ja) | 1999-11-29 | 2001-06-05 | Oki Data Corp | 印刷データ生成装置 |
-
2003
- 2003-03-24 JP JP2003081275A patent/JP4100210B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-23 US US10/806,172 patent/US7555170B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004289667A (ja) | 2004-10-14 |
US20040190791A1 (en) | 2004-09-30 |
US7555170B2 (en) | 2009-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4100210B2 (ja) | 画像処理装置 | |
US8169656B2 (en) | Image processing devices and methods for resizing an original image therefor | |
JPH06245056A (ja) | 画像データの拡大・平滑化処理装置 | |
JP2001169098A (ja) | 出力用画像データ修整プログラムを記録した媒体、出力用画像データ修整方法、出力用画像データ修整装置、画像データ縮小プログラムを記録した媒体、画像データ縮小方法、画像データ縮小装置、画像データ修整プログラムを記録した媒体、画像データ修整方法および画像データ修整装置 | |
JP2000255111A (ja) | 画像処理装置及びその方法 | |
JP2001285626A (ja) | 画像処理方法及び画像処理装置 | |
JP2006135825A (ja) | 画像補間処理装置 | |
JP3557650B2 (ja) | テレビジョン信号の補間方法及び補間回路 | |
JPH11168610A (ja) | 画像処理装置 | |
JPH08123939A (ja) | 画像処理装置 | |
JP4379571B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4771095B2 (ja) | 画像圧縮装置 | |
JP2024087384A (ja) | 画像処理モジュール | |
JPH11187261A (ja) | 画像処理装置 | |
JP4316476B2 (ja) | 画像処理装置、画像形成装置 | |
JP3877054B2 (ja) | 画像縮小変倍装置 | |
JP3700429B2 (ja) | 画像処理装置、画像処理方法および画像出力装置 | |
JP2009060486A (ja) | 画像処理装置およびこれを備えるプリンタ、画像処理方法 | |
JP3413968B2 (ja) | テレビジョン信号の補間回路 | |
JP3232623B2 (ja) | 画像処理装置 | |
JP2955301B2 (ja) | 画像処理方法 | |
JP2008173946A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JP2705580B2 (ja) | プリンタ画像データの解像度倍増回路 | |
JPH07203215A (ja) | 画像圧縮方法及び装置 | |
JPH0962835A (ja) | 画像変換方法及び画像変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071112 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071214 |
|
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: 20080226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080310 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120328 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |