JP2006197050A - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP2006197050A
JP2006197050A JP2005004718A JP2005004718A JP2006197050A JP 2006197050 A JP2006197050 A JP 2006197050A JP 2005004718 A JP2005004718 A JP 2005004718A JP 2005004718 A JP2005004718 A JP 2005004718A JP 2006197050 A JP2006197050 A JP 2006197050A
Authority
JP
Japan
Prior art keywords
image
buffer
input
rotation
image data
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.)
Pending
Application number
JP2005004718A
Other languages
English (en)
Inventor
Yumi Sekiguchi
ゆみ 関口
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 JP2005004718A priority Critical patent/JP2006197050A/ja
Publication of JP2006197050A publication Critical patent/JP2006197050A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Storing Facsimile Image Data (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】回転処理に1枚分の画像データが必要であると、出力バッファのライン数に関わらず、画像データを1枚分またはほぼ1枚分読み込むための入力バッファが必要となり、結果的に、膨大な容量のメモリが必要になる。
【解決手段】画像入力部12からの入力画像データに対して回転処理を施して回転画像を生成して画像出力部15から出力する画像処理装置において、制御部11による制御の下に、回転画像の回転角度に応じて回転処理に必要な最小限のサイズのバッファを入力バッファメモリ部13に確保する。そして、画像回転処理部14では、入力バッファメモリ部13に確保したバッファに入力画像データを読み込む際に、回転角度に対応させてアクセス方法を変えることで、必要最小限のサイズのバッファで入力画像データに対して回転処理を行う。
【選択図】図1

Description

本発明は、画像処理装置および画像処理方法に関し、特に入力画像データに対して回転処理を施して回転画像を生成する画像処理装置および画像処理方法に関する。
画像を記録用紙に印刷出力する画像形成装置や、画像をディスプレイに表示出力する画像表示装置等の画像処理システムでは、スキャナで読み取った原稿画像の画像データに対して回転処理を施して原稿画像を回転させて印刷出力させたり、例えばパーソナルコンピュータ等で作成した画像データに対して回転処理を施して作成画像を回転させて表示出力させたりすることがある。
画像データに対して回転処理を施して回転画像を生成する画像処理を行うためには、1枚(1ページ)分の画像データを読み込むバッファが必要であるため、膨大な容量のメモリを必要とする。そこで、従来は、例えば、数ライン分の入力バッファおよび出力バッファを確保し、これら入力バッファおよび出力バッファを順次繰り返して使用することで、画像データを1枚分読み込まずに、回転処理を行うことを可能にしていた(例えば、特許文献1参照)。
特開平11−205576号公報
しかしながら、上記従来技術では、回転処理の回転角度によっては、例えば90度、または90度に近い角度の回転処理を行う場合には、1枚分の画像データがないと回転処理を行うことができないため、出力バッファのライン数に関わらず、画像データを1枚分またはほぼ1枚分読み込むための入力バッファが必要となり、結果的に、膨大な容量のメモリが必要になるという課題があった。
本発明は、上記課題に鑑みてなされたものであって、その目的とするところは、少容量のメモリで画像の回転処理を行うことが可能な画像処理装置および画像処理方法を提供することにある。
上記目的を達成するために、本発明では、入力画像データに対して回転処理を施して回転画像を生成するに当たって、前記回転画像の回転角度に応じて前記回転処理に必要なサイズのバッファを確保し、前記入力画像データを前記回転角度に応じたライン数分だけ前記制御手段によって確保された前記バッファに読み込み、かつ当該バッファから前記回転角度に応じて画像データを出力する構成を採っている。
上記の構成において、回転画像の回転角度に応じて回転処理に必要な最小限のサイズのバッファをメモリに確保(即ち、メモリ部にバッファ領域を確保)し、当該バッファに入力画像データを読み込む際に、回転角度に対応させてアクセス方法を変えることで、必要最小限のサイズのバッファで入力画像データに対して回転処理を行うことができる。したがって、メモリ部として、入力画像データのデータサイズや回転角度によって決まる最大のバッファサイズに対応した容量のメモリを用意すれば良いことになる。
本発明によれば、回転角度に応じたサイズのバッファを用意することで、必要最小限のサイズのバッファで入力画像データに対して回転処理を施すことができるため、少容量のメモリで画像の回転処理を行うことができる。
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下に説明する実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。
図1は、本発明の一実施形態に係る画像処理装置の概略構成を示すブロック図である。図1に示すように、本実施形態に係る画像処理装置10は、制御部11、画像入力部12、入力バッファメモリ部13、画像回転処理部14および画像出力部15を有する構成となっている。
制御部11は、画像入力部12から入力される入力画像データ情報およびユーザによって指定入力される回転角度情報から、出力画像データ(回転処理されて出力される画像データ)の情報を求め、画像入力部12に対して画像読み出し開始位置および画像読み出し方向を指示する。また、回転処理に必要な入力バッファサイズを回転角度情報に基づいて計算し、算出したサイズのバッファを入力バッファメモリ部13に確保する。
画像入力部12は、制御部11から指示された画像読み出し開始位置から、画像読み出し方向に入力画像データを1ライン分取得し、入力バッファメモリ部13に送出する。入力バッファメモリ部13は、画像入力部12から送出された1ライン分のデータを順次メモリに格納する。
画像回転処理部14は、入力バッファメモリ部13に格納されたデータを用いて、回転された画像データを1ライン分生成し、画像出力部15へ送出する。画像出力部15は、画像回転処理部14から送出された1ライン分のデータを出力する。
なお、図1に示した各部11〜15は、コンピュータ上の処理プログラムモジュールとして存在しても良いし、一部又は全部が専用のハードウェアで構成されていても良い。
本実施形態に係る画像処理装置10が例えば複写機の場合は、画像入力部12がスキャナに、画像出力部15が画像形成部にそれぞれ相当し、例えばパーソナルコンピュータの場合は、画像入力部12が画像表示アプリケーションの“ファイルを開く”等から呼ばれて、パーソナルコンピュータのハードディスクにある画像ファイルを読みに行く手段等に、画像出力部15がディスプレイにそれぞれ相当することになる。
図2は、以下に説明する回転処理で用いる座標系および模式的に示した入力画像データを示す図である。
図2に示す画像データにおいて、点aを回転の基準点とし、点aの座標をa=(ax,ay)=(0,0)とする。また、点b,c,dをそれぞれ画像データの点a以外の角を示す点とし、それぞれの座標をb=(bx,by),c=(cx,cy),d=(dx,dy)とする。
次に、制御部11による制御の下に実行される処理の流れについて、図3のフローチャートを用いて説明する。
制御部11は、先ず、操作部(図示せず)からユーザによって画像回転の指示があったか否かを判断する(ステップS1)。この画像回転の指示が与えられるときは、ユーザによって回転角度情報も指定入力されることになる。画像回転の指示があったときは、制御部11は、ユーザによって指定された回転角度に応じて入力バッファを確保する処理を実行し(ステップS2)、次いで画像回転処理部14に対して回転処理のための制御を渡す(ステップS3)。
続いて、ステップS2における入力バッファを確保するための処理の詳細について、図4を参照しつつ図5および図6のフローチャートを用いて説明する。
図4(A)〜(D)は、回転角度に基いて入力バッファメモリとして確保する必要のあるバッファを模式的に示した図である。
図4において、点b′,c′,d′は、図2における点b,c,dをある角度θだけ回転させた点であるとし、それぞれの座標をb′=(b′x,b′y),c′=(c′x,c′y),d′=(d′x,d′y)とする。
図4(A)は、
b′y≦d′y,ay<c′y ……(1)
である場合を示している。この場合、点b′を通るx軸に平行な直線を引き、辺ad′との交点をe′とする。また、交点e′を通る辺ab′に平行な直線と辺b′c′との交点をf′とすると、必要な入力バッファのサイズとしては、四角形ab′f′e′を逆変換したものが読み込み可能なサイズとなる。
図4(B)は、
d′y<b′y,ay<c′y ……(2)
である場合を示している。この場合、点d′を通るx軸に平行な直線を引き、辺ab′との交点をe′とする。また、交点e′を通る辺ad′に平行な直線と辺c′d′との交点をf′とすると、必要な入力バッファのサイズとしては、四角形d′ae′f′を逆変換したものが読み込み可能なサイズとなる。
図4(C)は、
d′y≦b′y,c′y≦ay ……(3)
である場合を示している。この場合、点c′を通るx軸に平行な直線を引き、辺ad′との交点をe′とする。また、交点e′を通る辺ab′に平行な直線と辺b′c′との交点をf′とすると、必要な入力バッファのサイズとしては、四角形c′d′e′f′を逆変換したものが読み込み可能なサイズとなる。
図4(D)は、
b′y<d′y,c′y≦ay ……(4)
である場合を示している。この場合、点b′を通るx軸に平行な直線を引き、辺c′d′との交点をe′とする。また、交点e′を通る辺ad′に平行な直線と辺ab′との交点をf′とすると、必要な入力バッファのサイズとしては、四角形b′c′e′f′を逆変換したものが読み込み可能なサイズとなる。
図5および図6は、回転角度に応じた図4(A)〜(D)に示すサイズの入力バッファを確保するための処理の流れを示すフローチャートである。
図5において、先ず、入力画像データの情報として画像の幅、高さ、点a,b,c,dの座標情報およびユーザにより指定された回転角度情報を取り込む(ステップS11)。次に、取り込んだ点b,c,dの座標情報および回転角度情報から、点b′,c′,d′の座標情報を求め(ステップS12)、次いでay<c′yであるか否かを判断する(ステップS13)。
ay<c′yであるならば(Yes)、図4(A)または図4(B)のバッファサイズとなる。次に、b′y≦d′yであるか否かを判断し(ステップS14)、b′y≦d′yであるならば(Yes)、図4(A)のバッファサイズとなることから、点b′を通るx軸に平行な直線を引いて辺ad′との交点をe′とし、交点e′を逆変換した座標e=(ex,ey)を求める(ステップS15)。
次いで、バッファの幅BWIDTH=入力画像の幅、バッファの高さBHEIGHT=(ey−ay+1)とし、BWIDTH×BHEIGHTのサイズの入力バッファを確保する(ステップS16)。そして、図2に模式的に示した入力画像データにおける読み出し開始位置として点aを、読み出し方向として主走査方向をx→+、副走査方向をy→+と設定し(ステップS17)、一連の処理を終了する。
一方、ステップS14の判断処理において、b′y≦d′yでなければ(No)、図4(B)のバッファサイズとなることから、点d′を通るx軸に平行な直線を引いて辺ab′との交点をe′とし、交点e′を逆変換した座標e=(ex,ey)を求める(ステップS18)。
次いで、バッファの幅BWIDTH=入力画像の高さ、バッファの高さBHEIGHT=(ex−ax+1)とし、BWIDTH×BHEIGHTのサイズの入力バッファを確保する(ステップS19)。そして、図2に模式的に示した入力画像データにおける読み出し開始位置として点dを、読み出し方向として主走査方向をy→−、副走査方向をx→+と設定し(ステップS20)、一連の処理を終了する。
ステップS13の判断処理において、ay<c′yの条件が成立しなければ(No)、図4(C)または図4(D)のバッファサイズとなり、図6のフローに進む。図6において、d′y≦b′yであるか否かを判断し(ステップS21)、d′y≦b′yであれば(Yes)、図4(C)のバッファサイズとなることから、点c′を通るx軸に平行な直線を引いて辺ad′との交点をe′とし、交点e′を逆変換した座標e=(ex,ey)を求める(ステップS22)。
次いで、バッファの幅BWIDTH=入力画像の幅、バッファの高さBHEIGHT=(dy−ey+1)とし、BWIDTH×BHEIGHTのサイズの入力バッファを確保する(ステップS23)。そして、図2に模式的に示した入力画像データにおける読み出し開始位置として点cを、読み出し方向として主走査方向をx→−、副走査方向をy→−と設定し(ステップS24)、一連の処理を終了する。
一方、ステップS21の判断処理において、d′y≦b′yの条件が成立しなければ(No)、図4(D)のバッファサイズとなることから、点b′を通るx軸に平行な直線を引いて辺c′d′との交点をe′とし、交点e′を逆変換した座標e=(ex,ey)を求める(ステップS25)。
次いで、バッファの幅BWIDTH=入力画像の高さ、バッファの高さBHEIGHT=(cx−ex+1)とし、BWIDTH×BHEIGHTのサイズの入力バッファを確保する(ステップS26)。そして、図2に模式的に示した入力画像データにおける読み出し開始位置として点bを、読み出し方向として主走査方向をy→+、副走査方向をx→−と設定し(ステップS27)、一連の処理を終了する。
上述した一連の処理により、入力バッファのサイズが最小になるように、画像の回転角度を基に、図4(A)〜(D)のいずれかのパターンでバッファサイズの計算が行われ、画像の回転角度に対応した必要なサイズの入力バッファが確保されることになる。
続いて、画像回転処理部14での回転処理の流れについて、図7のフローチャートを用いて説明する。
ここでは、図5および図6に示したフローチャートにしたがって、制御部11の制御の下に、回転処理に必要なサイズの入力バッファが、入力バッファメモリ部13にあらかじめ確保されていることを前提とする。また、読み出し開始位置は1ラインのデータを読み終えたら、次のラインの先頭を指すように移動するものとする。
先ず、読み出しライン番号inline、出力ライン番号outlineを0に初期化する(ステップS31)。ここに、読み出しライン番号inlineは、入力バッファに読み込む入力画像データのラインを示し、出力ライン番号outlineは、入力バッファから出力する画像データのラインを示す。
次に、図5、図6の処理で設定した読み出し開始位置から、同じく図5、図6の処理で設定した読み出しの主走査方向に入力画像データを入力バッファに1ライン読み込み(ステップS32)、次いで読み出しライン番号inlineを1加算(インクリメント)し(ステップS33)。
次に、図5、図6の処理で確保した入力バッファの終端まで画像データを読み込んだか否か、即ちinline=BHEIGHTであるか否かを判断し(ステップS34)、inline≠BHEIGHTであれば(No)、ステップS32に戻ってステップS32〜S34の処理を繰り返す、即ち入力バッファの高さBHEIGHTになるまで画像データを読み込む。
ステップS34において、inline=BHEIGHTと判定した場合(Yes)には、ライン番号がoutlineである出力ラインを生成し(ステップS35)、次いで入力バッファ内のデータから生成できる分の出力ラインを全て生成したか否か、即ちoutline=e′yであるか否かを判断する(ステップS36)。
ステップS36において、outline≠e′yと判定した場合(No)は、出力ライン番号outlineを1加算し(ステップS37)、ステップS35〜s37の処理を繰り返す。outline=e′yと判定した場合(Yes)は、入力バッファ内に次のラインを読む必要があるので、入力バッファを1ライン分シフトして先頭ラインデータを削除し、読み出し開始位置から読み出しの主走査方向に1ラインを読み、入力バッファの最終ラインに格納する(ステップS38)。
次に、ライン番号がoutlineである出力ラインを生成し(ステップS39)、出力ラインを全て生成したか否か、即ちoutline=END_OF_OUTIMAGEであるか否かを判定する(ステップS40)。outline=END_OF_OUTIMAGEであれば(Yes)、一連の処理を終了する。
ステップS40において、outline≠END_OF_OUTIMAGEと判定した場合(No)は、出力ライン番号outlineを1加算し(ステップS41)、入力画像データを全て読み終えているか否か、即ちinline=END_OF_INIMAGEであるか否かを判定する(ステップS42)。
ステップS42において、inline≠END_OF_INIMAGEと判定した場合(No)は、inlineを1加算し(ステップS43)、ステップS38に戻って、ステップS38〜S43の処理を続ける。inline=END_OF_INIMAGEと判定した場合(Yes)は、入力バッファに読み込むデータは存在しないので、ステップS39に戻って、ステップS39〜S42の処理を続ける。
上述したように、画像入力部12からの入力画像データに対して回転処理を施して回転画像を生成し、画像出力部15から出力する画像処理装置において、制御部11による制御の下に、回転画像の回転角度に応じて回転処理に必要な最小限のサイズのバッファ(バッファ領域)を入力バッファメモリ部13に確保する一方、画像回転処理部14では当該バッファに入力画像データを読み込む際に、回転角度に対応させて入力画像データの読み出し開始位置および読み出し走査方向を設定する、即ち回転角度に対応させて入力画像データに対するアクセス方法を変えることで、必要最小限のサイズのバッファで入力画像データに対して回転処理を行うことができる。
これにより、必要以上のサイズのバッファをあらかじめ用意しなくて済み、入力バッファメモリ部13として、入力画像データのデータサイズや回転角度によって決まる最大のバッファサイズに対応した容量のメモリを用意すれば良いことになるため、少容量のメモリで画像の回転処理を行うことができる。
特に、確保したバッファに入力画像データを読み込む際に、当該入力画像データの読み出し開始位置および読み出し走査方向を設定し、その設定した読み出し開始位置から、同じく設定した読み出し走査方向に入力画像データを読み込むようにしていることで、画像の回転角度が例えば90度の場合には、1ライン単位で画像データを読み込むことで回転処理を実現できることになるため、データサイズや画像の形状などにもよるが、バッファサイズが最小で済むことになる。
なお、画像の回転角度が45度のときにバッファサイズが最大になる。ただし、データサイズや画像の形状などにもよるが、画像の回転角度が45度の場合でも、1枚分の画像データのデータ量に対応したサイズのバッファを確保しなくても、画像の回転処理を実現できる。
本発明による画像処理装置および画像処理方法は、画像を記録用紙に印刷出力する画像形成装置や、画像をディスプレイに表示出力する画像表示装置等の画像処理システムにおいて、スキャナで読み取った原稿画像の画像データに対して回転処理を施して原稿画像を回転させて印刷出力させたり、例えばパーソナルコンピュータ等で作成した画像データに対して回転処理を施して作成画像を回転させて表示出力させたりする画像の回転処理に利用可能である。
本発明に係る画像処理装置の概略構成を示すブロック図である。 回転処理で用いる座標系および模式的に示した入力画像データを示す図である。 制御部により実行される処理の流れを示すフローチャートである。 回転角度に基いて入力バッファメモリとして確保する必要のあるバッファを模式的に示した図である。 回転角度に応じたサイズの入力バッファを確保するための処理の流れを示すフローチャート(その1)である。 回転角度に応じたサイズの入力バッファを確保するための処理の流れを示すフローチャート(その2)である。 画像回転処理部での回転処理の流れを示すフローチャートである。
符号の説明
10…画像処理装置、11…制御部、12…画像入力部、13…入力バッファメモリ部、14…画像回転処理部、15…画像出力部

Claims (3)

  1. 入力画像データに対して回転処理を施して回転画像を生成する画像処理装置であって、
    前記回転画像の回転角度に応じて前記回転処理に必要なサイズのバッファを確保する制御手段と、
    前記入力画像データを前記回転角度に応じたライン数分だけ前記制御手段によって確保された前記バッファに読み込み、かつ当該バッファから前記回転角度に応じて画像データを出力する回転処理手段と
    を備えることを特徴とする画像処理装置。
  2. 前記制御手段は、前記バッファに読み込む前記入力画像データの読み出し開始位置および読み出し走査方向を設定し、
    前記回転処理手段は、前記制御手段によって設定された前記読み出し開始位置から前記読み出し走査方向に前記入力画像データを前記バッファに読み込む
    ことを特徴とする請求項1記載の画像処理装置。
  3. 入力画像データに対して回転処理を施して回転画像を生成する画像処理方法であって、
    前記回転画像の回転角度に応じて前記回転処理に必要なサイズのバッファを確保し、
    前記入力画像データを前記回転角度に応じたライン数分だけ前記制御手段によって確保された前記バッファに読み込み、かつ当該バッファから前記回転角度に応じた画像データを出力する
    ことを特徴とする画像処理方法。
JP2005004718A 2005-01-12 2005-01-12 画像処理装置および画像処理方法 Pending JP2006197050A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005004718A JP2006197050A (ja) 2005-01-12 2005-01-12 画像処理装置および画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005004718A JP2006197050A (ja) 2005-01-12 2005-01-12 画像処理装置および画像処理方法

Publications (1)

Publication Number Publication Date
JP2006197050A true JP2006197050A (ja) 2006-07-27

Family

ID=36802788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005004718A Pending JP2006197050A (ja) 2005-01-12 2005-01-12 画像処理装置および画像処理方法

Country Status (1)

Country Link
JP (1) JP2006197050A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110072032A (zh) * 2018-01-22 2019-07-30 京瓷办公信息系统株式会社 图像处理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110072032A (zh) * 2018-01-22 2019-07-30 京瓷办公信息系统株式会社 图像处理装置
US10567616B2 (en) 2018-01-22 2020-02-18 Kyocera Document Solutions, Inc. Image processing apparatus
CN110072032B (zh) * 2018-01-22 2021-03-05 京瓷办公信息系统株式会社 图像处理装置

Similar Documents

Publication Publication Date Title
JP4348381B2 (ja) 画像暗号化/復号化装置、方法およびプログラム
JP5209953B2 (ja) 画像データ供給装置および画像データ供給方法
EP2264995A2 (en) Image processing apparatus, image processing method, and computer program
JP4595789B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP4446447B2 (ja) 画像形成装置
JP2007158613A (ja) 画像処理装置及びその制御方法、並びに制御プログラム
JP2006197050A (ja) 画像処理装置および画像処理方法
JP5482335B2 (ja) マーカ配置装置、マーカ検出装置、及びプログラム
JP5293694B2 (ja) スキャナ装置
JP2009294870A (ja) 画像処理装置及び方法
JP2018058295A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5325744B2 (ja) 画像処理装置および画像処理プログラム
JP5208043B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2009124576A (ja) 画像処理装置及びその制御方法
JP6746928B2 (ja) 画像処理装置およびコンピュータプログラム
JP2020145632A (ja) 画像処理装置、画像処理システムおよびプログラム
US11314995B2 (en) Image processing apparatus, image processing method, and storage medium
JP7249504B2 (ja) 画像処理装置
JP2010016781A (ja) 画像処理装置及びその制御方法
JP5293693B2 (ja) スキャナ装置
JP6294373B2 (ja) 画像形成装置、画像形成方法およびコンピュータプログラム
JP2008227628A (ja) 画像処理装置、画像処理方法、及び画像形成装置
JP5184959B2 (ja) 画像復号装置及びその制御方法
JP2010161667A (ja) 画像処理装置と制御方法及びプログラム
TW202040349A (zh) 畫像處理裝置及畫像顯示系統