(57)【要約】 【課題】画像処理装置のメモリ容量を削減する。【解決手段】本発明に係る画像処理装置は、画像入力手段と画像回転手段と画像処理手段と共有化手段とを備える。画像入力手段は、第１面の画像と、第２面の画像とを入力する。画像回転手段は、画像に対して回転処理を行う。画像処理手段は、回転処理が施された画像に対して画像処理を行う。共有化手段は、記憶媒体に、回転処理が施された第１面の画像を記憶するための第１領域と、画像処理が施された第１面の画像を記憶するための第２領域とを生成し、第１領域を、回転処理が施された第２面の画像を記憶するための記憶領域、および、画像処理が施された第２面の画像を記憶するための記憶領域として共有化する。【選択図】図２
2016019189.tif 000002
【特許請求の範囲】
【請求項１】
第１面の画像と、第２面の画像とを入力する画像入力手段と、
画像に対して回転処理を行う画像回転手段と、
前記回転処理が施された画像に対して画像処理を行う画像処理手段と、
記憶媒体に、前記回転処理が施された前記第１面の画像を記憶するための第１領域と、前記画像処理が施された前記第１面の画像を記憶するための第２領域とを生成し、前記第１領域を、前記回転処理が施された前記第２面の画像を記憶するための記憶領域、および、前記画像処理が施された前記第２面の画像を記憶するための記憶領域として共有化する共有化手段と、を備える、
画像処理装置。
【請求項２】
前記第１領域は、１ページの画像全体分の記憶領域である、
請求項１に記載の画像処理装置。
【請求項３】
画像を入力する画像入力手段と、
画像に対して回転処理を行う画像回転手段と、
前記回転処理が施された画像に対して画像処理を行う画像処理手段と、
記憶媒体に、前記回転処理が施された画像を記憶するための記憶領域と、前記画像処理が施された画像を記憶するための記憶領域とを兼ねる共有領域を生成し、前記共有領域のサイズを、前記回転処理と前記画像処理との速度差を吸収可能なサイズに設定する共有化手段と、を備える、
画像処理装置。
【請求項４】
前記共有化手段は、前記回転処理が施された画像を記憶するための回転処理用領域として必要な記憶領域のサイズ、および、前記画像処理が施された画像を記憶するための画像処理用領域として必要な記憶領域のサイズのうちの大きい方のサイズに、前記回転処理と前記画像処理との速度差分に応じたバッファサイズを加算したサイズを、前記共有領域のサイズとして設定する、
請求項３に記載の画像処理装置。
【請求項５】
第１面の画像と、第２面の画像とを入力する画像入力ステップと、
画像に対して回転処理を行う画像回転ステップと、
前記回転処理が施された画像に対して画像処理を行う画像処理ステップと、
記憶媒体に、前記回転処理が施された前記第１面の画像を記憶するための第１領域と、前記画像処理が施された前記第１面の画像を記憶するための第２領域とを生成し、前記第１領域を、前記回転処理が施された前記第２面の画像を記憶するための記憶領域、および、前記画像処理が施された前記第２面の画像を記憶するための記憶領域として共有化する共有化ステップと、を含む、
画像処理方法。
【請求項６】
画像を入力する画像入力ステップと、
画像に対して回転処理を行う画像回転ステップと、
前記回転処理が施された画像に対して画像処理を行う画像処理ステップと、
記憶媒体に、前記回転処理が施された画像を記憶するための記憶領域と、前記画像処理が施された画像を記憶するための記憶領域とを兼ねる共有領域を生成し、前記共有領域のサイズを、前記回転処理と前記画像処理との速度差を吸収可能なサイズに設定する共有化ステップと、を含む、
画像処理方法。
【請求項７】
コンピュータに、
第１面の画像と、第２面の画像とを入力する画像入力ステップと、
画像に対して回転処理を行う画像回転ステップと、
前記回転処理が施された画像に対して画像処理を行う画像処理ステップと、
記憶媒体に、前記回転処理が施された前記第１面の画像を記憶するための第１領域と、前記画像処理が施された前記第１面の画像を記憶するための第２領域とを生成し、前記第１領域を、前記回転処理が施された前記第２面の画像を記憶するための記憶領域、および、前記画像処理が施された前記第２面の画像を記憶するための記憶領域として共有化する共有化ステップと、を実行させるためのプログラム。
【請求項８】
コンピュータに、
画像を入力する画像入力ステップと、
画像に対して回転処理を行う画像回転ステップと、
前記回転処理が施された画像に対して画像処理を行う画像処理ステップと、
記憶媒体に、前記回転処理が施された画像を記憶するための記憶領域と、前記画像処理が施された画像を記憶するための記憶領域とを兼ねる共有領域を生成し、前記共有領域のサイズを、前記回転処理と前記画像処理との速度差を吸収可能なサイズに設定する共有化ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
例えば、画像処理装置において、出力対象となる画像に対して、回転処理、および、解像度変換等の画像処理を行う際には、作業領域として用いられる記憶領域をそれぞれ別々に確保するため、メモリの使用量が多くなる。特に、両面同時読み取りのような二面分の記憶領域が必要な場合は、この問題が顕著になる。
【０００３】
例えば特許文献１には、画像データを予め定められたブロックサイズに分割し、分割したブロックサイズ単位で回転処理を行うことで、記憶領域を節約する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像処理装置に提供されているソフトウェアやハードウェアの仕様によっては、回転処理が施された画像一面分を記憶するための記憶領域が必要とされる場合もある。このような場合においては、特許文献１に開示された技術を適用することができず、記憶領域の節約を図ることはできない。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、第１面の画像と、第２面の画像とを入力する画像入力手段と、画像に対して回転処理を行う画像回転手段と、前記回転処理が施された画像に対して画像処理を行う画像処理手段と、記憶媒体に、前記回転処理が施された前記第１面の画像を記憶するための第１領域と、前記画像処理が施された前記第１面の画像を記憶するための第２領域とを生成し、前記第１領域を、前記回転処理が施された前記第２面の画像を記憶するための記憶領域、および、前記画像処理が施された前記第２面の画像を記憶するための記憶領域として共有化する共有化手段と、を備える画像処理装置である。
【発明の効果】
【０００６】
本発明によれば、回転処理が施された画像一面分を記憶するための記憶領域が必要とされる場合であっても、限られた記憶領域において画像処理を実現し、装置構成におけるメモリ容量を削減できる。
【図面の簡単な説明】
【０００７】
【図１】図１は、コントローラのハードウェア構成の一例を示す図である。
【図２】図２は、コントローラの機能構成の一例を示す図である。
【図３】図３は、入出力情報の一例を示す図である。
【図４】図４は、コントローラの動作例を示すフローチャートである。
【図５】図５は、共有化処理を実行するか否かを判定する動作を例示するフローチャートである。
【図６】図６は、第１実施形態における効果を説明するための概念図である。
【図７】図７は、第２実施形態に係るコントローラによる画像処理の動作を例示するフローチャートである。
【図８】図８は、第２実施形態の共有化制御部による共有領域を生成する処理の一例を示すフローチャートである。
【図９】図９は、回転処理の処理速度よりも画像処理の処理速度の方が遅い場合に生成される共有領域を概念的に示す図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、本発明に係る画像処理装置、画像処理方法およびプログラムの実施形態を詳細に説明する。以下の説明では、画像処理装置の一例として、プリンタ機能、スキャナ機能とを有する複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）を例に挙げて説明するが、これに限られるものではない。
【０００９】
（第１実施形態）
図１は、ＭＦＰ全体を制御するコントローラ１のハードウェア構成の一例を示す図である。図１に示すように、コントローラ１は、ＲＯＭ２と、ＣＰＵ３と、ＲＡＭ４と、画像入力Ｉ／Ｆ７と、画像出力Ｉ／Ｆ８とを備える。
【００１０】
ＲＯＭ２は、各種のプログラム（ソフトウェア）を記憶する不揮発性のメモリである。ＣＰＵ３は、コントローラ１全体の動作を制御する。ＲＡＭ４は、揮発性のメモリであり、後述の回転処理が施された画像を記憶するための第１領域５と、後述の画像処理が施された画像を記憶するための第２領域６とを有する。
【００１１】
画像入力Ｉ／Ｆ７は、スキャナなどから画像を入力するためのインタフェースである。画像出力Ｉ／Ｆ８は、プリンタなどへ画像を出力するためのインタフェースである。
【００１２】
図２は、コントローラ１の機能構成の一例を示す図である。図２に示すように、コントローラ１は、画像入出力制御部２０、画像入力制御部３０、画像回転制御部４０、画像処理制御部５０、画像出力制御部６０、および、共有化制御部７０を有する。これらの機能は、図１に示すＣＰＵ３がＲＯＭ２等に格納されたプログラムをＲＡＭ４上に展開して実行することにより実現される。
【００１３】
画像入出力制御部２０は、システム全体の画像の入出力の管理、および、統括的な制御を行う。画像入力制御部３０は、スキャナ装置などからの画像の入力を制御する。後述するように、この例では、画像入力制御部３０は、スキャナ装置などが読み取った原稿の表裏の画像（第１面の画像、第２面の画像）を入力する。この例では、画像入力制御部３０は、請求項の「画像入力手段」に対応していると考えることができる。
【００１４】
この例では、画像入力制御部３０は、画像処理を行う際の入出力に関する情報である入出力情報を取得する。図３は、入出力情報の一例を示す図である。図３に示すように、入出力情報は、ジョブＩＤ、ジョブ種別、入力設定情報、および、出力設定情報を含む。
【００１５】
ジョブＩＤは、画像処理装置に接続された情報処理装置等から受信したジョブを識別する識別情報である。ジョブ種別は、受信したジョブの種別を示し、例えば印刷ジョブ、スキャンジョブ、コピージョブなどが挙げられる。ジョブＩＤおよびジョブ種別の情報は、例えば受信したジョブに含まれる情報である。
【００１６】
入力設定情報は、例えば、入力時の画像サイズ、入力時の解像度、入力時のカラーモード、出力時の階調などを含み、画像処理が行われる際に入力される画像の設定情報を示す。入力設定情報は、例えば受信したジョブが印刷ジョブの場合、ジョブに含まれる情報（ＰＤＬ形式の文書情報、画像情報等）から取得可能である。また、受信したジョブがスキャンジョブやコピージョブの場合、ジョブに含まれる情報やスキャナ装置が生成した撮像情報から取得可能である他、スキャナ装置の設定情報から取得することもできる。出力設定情報は、例えば出力時の画像サイズ、出力時の解像度、出力時のカラーモード、出力時の階調などを含み、画像処理が行われる際に出力される画像の設定情報を示す。出力設定情報は、例えば受信したジョブに含まれる情報から取得可能である。
【００１７】
図２に戻って説明を続ける。画像回転制御部４０は、画像に対して回転処理を行う。この例では、画像回転制御部４０は請求項の「画像回転手段」に対応していると考えることができる。
【００１８】
画像処理制御部５０は、回転処理が施された画像に対して画像処理を行う。例えば画像処理は、変倍処理、圧縮処理、解像度変換処理の少なくとも１つを含む。より具体的には、画像処理制御部５０は、上述の入出力情報の出力設定情報に含まれる出力時の画像サイズ、解像度、カラーモード、階調になるよう、変倍処理、圧縮処理、解像度変換処理、色変換処理等の画像処理を行う。この例では、画像処理制御部５０は請求項の「画像処理手段」に対応していると考えることができる。画像出力制御部６０は、プリンタやネットワークなどへの画像の出力を実行する。
【００１９】
共有化制御部７０は、ＲＡＭ４（請求項の「記憶媒体」に対応）に、回転処理が施された第１面の画像を記憶するための第１領域５と、画像処理が施された第１面の画像を記憶するための第２領域６とを生成し、第１領域５を、回転処理が施された第２面の画像を記憶するための記憶領域、および、画像処理が施された前記第２面の画像を記憶するための記憶領域として共有化する処理（以下、「共有化処理」と称する場合がある）を行う。より具体的な内容については後述する。この例では、共有化制御部７０は、請求項の「共有化手段」に対応していると考えることができる。また、ここでは、第１領域５は、１ページの画像全体分の記憶領域である。つまり、第１領域５のサイズは、画像一面分のサイズである。これに対して、第２領域６は、圧縮処理等の画像処理が施された画像を記憶するための記憶領域なので、第１領域５に比べてサイズが小さくて済む。
【００２０】
図４は、コントローラ１の動作例を示すフローチャートである。本実施形態が有効なケースとして、スキャナ装置が原稿の表裏を同時に読み取り可能な構成である場合を想定している。スキャナ装置におけるＡＤＦ（原稿自動送り装置）では、表裏を順次搬送することによって、１つの読み取りセンサに表面と裏面を読ませる形態と、２つの読み取りセンサを持ち１回の搬送で表と裏を同時に読み取らせる形態とがある。後者は、一回の搬送で同時に読み取らせることができるので、前者と比較して生産性が高くなるメリットがある一方で、表裏２面分のメモリが同時に必要となるため、メモリの使用量が多くなるデメリットがある。本実施形態では、後者の２面分のメモリが同時に必要となるケースにおいても、共有化処理を行うことでメモリの使用量を削減する。
【００２１】
図４において、システム（画像処理装置）における画像の入出力処理が開始されたものとする。まず、共有化制御部７０は、共有化処理を行うか否かを判定する（ステップＳ１）。以下、ステップＳ１の内容について具体的に説明する。
【００２２】
図５は、共有化処理を実行するか否かを判定する動作を例示するフローチャートである。図５に示すように、まず共有化制御部７０は、画像入力制御部３０により取得された入出力情報に含まれるジョブ種別がスキャンジョブであるか否かを判定する（ステップＳ１０１）。ジョブ種別がスキャンジョブである場合（ステップＳ１０１：Ｙｅｓ）、共有化制御部７０は、処理設定情報を取得する（ステップＳ１０２）。処理設定情報は、スキャンジョブに基づいてスキャン処理を実行する際の設定情報であり、例えば、スキャナ装置において撮像情報が生成される際に圧縮処理が行われるか否かが設定されている「圧縮モード」が含まれる。例えば、「圧縮モード」の値が「Ｙｅｓ」の場合、圧縮処理が行われることを示し、「Ｎｏ」の場合、圧縮処理が行われないことを示す。なお、処理設定情報は、例えば入出力情報に含まれていてもよいし、スキャナ装置が管理する設定情報から取得されてもよい。
【００２３】
処理設定情報を取得した共有化制御部７０は、取得した処理設定情報に含まれている「圧縮モード」が、圧縮処理が行われないことを示す場合（ステップＳ１０３：Ｎｏ）、共有化制御部７０は、共有化処理を実行することを決定する（ステップＳ１０６）。
【００２４】
一方、「圧縮モード」が、圧縮処理が行われることを示す場合（ステップＳ１０３：Ｙｅｓ）、共有化制御部７０は、解像度情報を取得する（ステップＳ１０４）。解像度情報は、画像入力制御部３０により取得される入出力情報に含まれる「出力時の解像度」である。解像度情報を取得した共有化制御部７０は、取得した解像度情報が予め定められた解像度閾値以上（例えば、３００ｄｐｉ）である場合（ステップＳ１０５：Ｙｅｓ）、共有化処理を実行することを決定する（ステップＳ１０６）。
【００２５】
一方、取得した解像度情報が解像度閾値よりも小さい場合（ステップＳ１０５：Ｎｏ）、共有化制御部７０は、共有化処理を実行しないことを決定する（ステップＳ１０７）。すなわち、共有化制御部７０は、画像処理装置が受信したジョブがスキャンジョブの場合、スキャナ装置による撮像情報生成の際に圧縮処理が行われ、かつ出力時の解像度が解像度閾値よりも小さい場合に、共有化処理を実行しない。また、画像処理装置が受信したジョブがスキャンジョブ以外のジョブである場合、出力時の解像度が解像度閾値よりも小さい場合に、共有化処理を実行しない。
【００２６】
なお、解像度閾値は、例えば、スキャナ装置の入力解像度に応じて設定される。例えば、画像処理装置の揮発性記憶媒体（ＲＡＭ４）のサイズ制限は、入力解像度に応じたメモリ容量の２倍のサイズを想定している。例えば、入力解像度が３００ｄｐｉの場合、解像度閾値を３００ｄｐｉとすると、出力時の解像度が解像度閾値よりも小さければ、サイズ制限を超えることはない。
【００２７】
図４に戻って説明を続ける。共有化処理を実行すると判定した場合（ステップＳ２：Ｙｅｓ）、共有化制御部７０は、第１面および第２面の各々に対応する記憶領域を順次にＲＡＭ４上に確保（生成）する。まず、第１面に対応する記憶領域を確保する場合（ステップＳ３：Ｙｅｓ）、共有化制御部７０は、第１領域５と第２領域６とをＲＡＭ４上に生成する（ステップＳ４）。そして、２面分の記憶領域を確保したか否かを判断し（ステップＳ５）、２面分の記憶領域を確保していない場合（ステップＳ５：Ｎｏ）は、ステップＳ２以降の処理を繰り返す。
【００２８】
第１面に対応する記憶領域を確保した後、第２面に対応する記憶領域を確保する場合（ステップＳ３：Ｎｏ）、共有化制御部７０は、第２面に対応する記憶領域として共有領域を設定する（ステップＳ６）。本実施形態では、共有化制御部７０は、ステップＳ４で生成した第１領域５を、回転処理が施された第２面の画像を記憶するための記憶領域（以下、回転処理済みの画像を記憶するための記憶領域を「回転処理用領域」と称する場合がある）、および、画像処理が施された第２面の画像を記憶するための記憶領域（以下、画像処理済みの画像を記憶するための記憶領域を「画像処理用領域」と称する場合がある）として共有化する制御を行う。より具体的には、共有化制御部７０は、第２面の回転処理用領域のアドレスおよび第２面の画像処理用領域のアドレスとして、ステップＳ４で生成した第１領域５のアドレスをセットする（ステップＳ７）。
【００２９】
一方、図４のステップＳ２において、共有化処理を実行しないと判定した場合（ステップＳ２：Ｎｏ）、共有化制御部７０は、第１面の回転処理用領域および画像処理用領域と、第２面の回転処理用領域および画像処理用領域とを、それぞれＲＡＭ４上に生成する（ステップＳ８）。
【００３０】
２面分の記憶領域を確保した場合（ステップＳ５：Ｙｅｓ）、または、ステップＳ８の後、画像回転制御部４０は、スキャナ装置などで読み取られた原稿の表面の画像（この例では「第１面の画像」）および裏画の画像（この例では「第２面の画像」）を取得する（ステップＳ９）。そして、第１面の画像から順に、ステップＳ１０以降の処理が行われる。ステップＳ１０において、画像回転制御部４０は、画像入力制御部３０により取得された入出力情報を参照して、回転処理を行うか否かを判断し（ステップＳ１０）、回転処理を行う場合（ステップＳ１０：Ｙｅｓ）、ステップＳ９で取得した画像に対して回転処理を行い、回転処理済みの画像を第１領域５に記憶する（ステップＳ１１）。
【００３１】
ステップＳ１１の後、画像処理制御部５０は、第１領域５から回転処理済みの画像を取得する（ステップＳ１２）。次に、画像処理制御部５０は、ステップＳ１２で取得した画像に対して画像処理を行う（ステップＳ１３）。一方、上述のステップＳ１０において、回転処理を行わないと判断された場合（ステップＳ１０：Ｎｏ）、画像処理制御部５０は、ステップＳ９で取得した画像に対して画像処理を行う（ステップＳ１３）。そして、画像処理制御部５０は、画像処理済みの画像を、ＲＡＭ４上に確保した画像処理用の記憶領域に記憶する（ステップＳ１４）。より具体的には、上述のステップＳ１３において、回転処理が施された第１面の画像に対して画像処理を行った場合、画像処理制御部５０は、画像処理が施された第１面の画像を、ＲＡＭ４上に確保した第２領域６に記憶する。一方、ステップＳ１３において、回転処理が施された第２面の画像に対して画像処理を行った場合、画像処理制御部５０は、画像処理が施された第２面の画像を、ＲＡＭ４上に確保した第１領域５に記憶する。
【００３２】
ステップＳ１４の後、画像出力制御部６０は、画像処理用の記憶領域に記憶された画像処理済みの画像を出力する制御を行う（ステップＳ１５）。以上のステップＳ１０〜ステップＳ１５の処理が２面分終了した場合（ステップＳ１６：Ｙｅｓ）、処理は終了する。２面分終了していない場合（ステップＳ１６：Ｎｏ）、ステップＳ１０以降の処理を繰り返す。
【００３３】
以上のように、本実施形態では、図６に示すように、原稿１枚目（第１面の画像）の回転処理の作業領域として確保した回転処理用領域（第１領域５）を、原稿２枚目（第２面の画像）の回転処理用領域および画像処理用領域として使用するので、原稿１枚目および２枚目の各々に対して、回転処理用領域および画像処理用領域をそれぞれ確保する場合に比べて、ＲＡＭ４の使用量を削減できる。
【００３４】
（第２実施形態）
次に、第２実施形態について説明する。上述の第１実施形態と重複する部分は適宜に説明を省略する。第２実施形態では、共有化制御部７０は、ＲＡＭ４に、回転処理用領域（回転処理が施された画像を記憶するための記憶領域）と、画像処理用領域（画像処理が施された画像を記憶するための記憶領域）とを兼ねる共有領域を生成し、共有領域のサイズを、回転処理と画像処理との速度差を吸収可能なサイズに設定する。より具体的には、共有化制御部７０は、回転処理が施された画像を記憶するための回転処理用領域として必要な記憶領域のサイズ、および、画像処理が施された画像を記憶するための画像処理用領域として必要な記憶領域のサイズのうちの大きい方のサイズに、回転処理と画像処理との速度差分に応じたバッファサイズを加算したサイズを、共有領域のサイズとして設定する。
【００３５】
以下の説明では、画像入力制御部３０は、スキャナ装置などが読み取った原稿の２面分の画像（第１面の画像、第２面の画像）を入力するのではなく、１枚の画像を入力する場合を前提とするが、これに限られるものではない。例えば２面分の画像を入力する場合であっても、ＲＡＭ４に、第１面の画像に対応する共有領域（第１面の回転処理用領域と画像処理用領域とを兼ねる共有領域）と、第２面の画像に対応する共有領域（第２面の回転処理用領域と画像処理用領域とを兼ねる共有領域）とをそれぞれ確保（生成）することもできる。以下の説明では、上述の共有領域を生成する処理を共有化処理と称する。
【００３６】
図７は、本実施形態に係るコントローラ１による画像処理の動作を例示するフローチャートである。まず、画像入力制御部３０が、上述の入出力情報を取得する（ステップＳ４０１）。次に、共有化制御部５０は、ステップＳ４０１で取得した入出力情報に基づいて、共有化処理を実行するか否かを判定する処理（図５参照）を行い、共有化処理を実行すると判定した場合、共有領域を生成する処理を行う（ステップＳ４０２）。この具体的な内容については後述する。
【００３７】
次に、共有化制御部７０は、回転処理用領域のアドレスおよび画像処理用領域のアドレスとして、ステップＳ４０２で生成した共有領域のアドレスを設定する（ステップＳ４０３）。次に、画像回転制御部４０は、画像入力制御部３０が入力した画像に対して画像回転処理を行い（ステップＳ４０４）、回転処理済みの画像（１ページ分の画像全体）を共有領域に記憶する（ステップＳ４０５）。次に、画像処理制御部５０は、共有領域から回転処理済みの画像を取得し（ステップＳ４０６）、その取得した回転処理済みの画像に対して画像処理を行う（ステップＳ４０７）。そして、画像処理制御部５０は、画像処理済みの画像を共有領域に記憶する（ステップＳ４０８）。これにより、回転処理済み画像が格納されていた領域と同一の領域に画像処理済み画像が上書きされることになる。具体的には、例えば、ＣＰＵ３の読取命令により、ステップＳ４０３で設定されたアドレスのＲＡＭ４上のデータが順に読み取られ、読み取られたデータがＣＰＵ３のキャッシュに格納される。そして、キャッシュに格納されたデータ（回転処理済み画像のデータ）に基づいて画像処理済み画像のデータが生成されると、ＣＰＵ３の書込命令により読み取られたデータと同一のアドレスに、生成された画像処理済み画像のデータが書き込まれて上書きされる。
【００３８】
次に、画像出力制御部６０は、共有領域に格納された画像処理済み画像を、プリンタやネットワーク（見方を変えれば外部の装置）などへ出力する制御を行う（ステップＳ４０９）。
【００３９】
図８は、上述のステップＳ４０２の処理（共有化制御部７０による共有領域を生成する処理）の一例を示すフローチャートである。図８に示すように、まず共有化制御部７０は、回転処理用領域（１ページ分の回転処理済み画像全体を記憶するための記憶領域）として必要な記憶領域のサイズＳ１を算出する（ステップＳ２１）。次に、共有化制御部７０は、画像処理用領域として必要な記憶領域のサイズＳ２を算出する（ステップＳ２２）。次に、共有化制御部７０は、ステップＳ２１で算出したサイズＳ１がステップＳ２２で算出したサイズＳ２よりも大きいか否かを判断する（ステップＳ２３）。
【００４０】
サイズＳ１がサイズＳ２よりも大きい場合（ステップＳ２３：Ｙｅｓ）、共有化制御部７０は、サイズＳ１に、回転処理と画像処理との速度差分のバッファサイズを加算したサイズを共有領域のサイズとして設定し、ＲＡＭ４上に、その設定したサイズの共有領域を生成する（ステップＳ２４）。一方、サイズＳ１がサイズＳ２よりも小さい場合（ステップＳ２３：Ｎｏ）、共有化制御部７０は、サイズＳ２に、回転処理と画像処理との速度差分のバッファサイズを加算したサイズを共有領域のサイズとして設定し、ＲＡＭ４上に、その設定したサイズの共有領域を生成する（ステップＳ２５）。以上が図７のステップＳ４０２の処理の具体的な内容である。
【００４１】
いま、例えば回転処理の処理速度と画像処理の処理速度とが異なる場合、特に、回転処理の処理速度よりも画像処理の処理速度の方が遅い場合を考える。この場合、画像処理制御部５０が共有領域から画像データを取得する前に、そのアドレスに画像回転制御部４０からの画像データが格納されて上書きされてしまい、正しい画像データとして処理できなくなってしまうおそれがある（図９参照）。そこで、本実施形態では、その速度差分のデータ量を算出しておき、その算出したデータ量に相当するバッファサイズを、回転処理用領域として必要な記憶領域のサイズＳ１および画像処理用領域として必要な記憶領域のサイズＳ２のうちの大きい方のサイズに加算して共有領域のサイズを設定することで、画像データの格納と取得が追いついたり追い越したりしないようにしている。
【００４２】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。また、上述の異なる実施形態に示される全構成要素から幾つかを任意に組み合わせることもできる。
【００４３】
また、上述した実施形態のコントローラ１で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等の不揮発性の記録媒体に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００４４】
１      コントローラ
２      ＲＯＭ
３      ＣＰＵ
４      ＲＡＭ
５      第１領域
６      第２領域
７      画像入力Ｉ／Ｆ
８      画像出力Ｉ／Ｆ
２０    画像入出力制御部
３０    画像入力制御部
４０    画像回転制御部
５０    画像処理制御部
６０    画像出力制御部
７０    共有化制御部
【先行技術文献】
【特許文献】
【００４５】
【特許文献１】特開２００７−４３５７７号公報
【図１】
2016019189.tif 000003
【図２】
2016019189.tif 000004
【図３】
2016019189.tif 000005
【図４】
2016019189.tif 000006
【図５】
2016019189.tif 000007
【図６】
2016019189.tif 000008
【図７】
2016019189.tif 000009
【図８】
2016019189.tif 000010
【図９】
2016019189.tif 000011