(57)【要約】【課題】  動作プラットフォームや動作環境、動作時の状態に応じて最適化した分割サイズを決定し、その分割サイズで画像の回転処理を行うことができる情報処理装置、情報処理方法及びそのプログラムを提供する。【解決手段】  ＣＰＵ１０１は、画像データを回転処理のために複数段階の分割サイズに分割し、分割された各分割画像に対して回転処理を行い、回転処理ずみの分割画像を合成し、分割前の画像に対応する一枚の回転処理された画像を復元する。この際、計時手段１０６は、複数段階の分割サイズ別に画像分割処理、画像回転処理、及び画像合成処理の一連の処理に要する時間を測定する。次に、ＣＰＵ１０１は、計時手段１０６の測定結果を基に、最短の処理時間となる分割サイズを決定する。【選択図】  図１
2006259875.tif 000002
【特許請求の範囲】
【請求項１】
画像データの回転処理を行う情報処理装置であって、
前記画像データを前記回転処理のために複数段階の分割サイズに分割する画像分割手段と、
前記画像分割手段により分割された各分割画像に対して回転処理を行う画像回転手段と、
前記画像回転手段が回転処理ずみの前記分割画像を合成し、分割前の画像に対応する一枚の回転処理された画像を復元する画像合成手段と、
前記複数段階の分割サイズ別に前記画像分割手段、前記画像回転手段、及び前記画像合成手段の一連の処理に要する時間を測定する計時手段と、
前記計時手段の測定結果を基に、最短の処理時間となる分割サイズを決定する分割サイズ決定手段と
を具備することを特徴とする情報処理装置。
【請求項２】
高速なデータの読み書きが可能な第一の記憶手段と、前記第一の記憶手段よりはデータの読み書きが低速であるが記憶容量が前記第一の記憶手段より大きな第二の記憶装置とを更に具備し、
前記画像分割手段、前記画像回転手段、及び前記画像合成手段は、前記第一の記憶手段及び前記第二の記憶手段を用いて画像処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第一の記憶装置がキャッシュメモリであり、前記第二の記憶装置が主記憶装置であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第一の記憶装置の仮想記憶領域を前記第二の記録装置に設ける場合に、
前記第一の記憶装置が主記憶装置であり、前記第二の記憶装置が外部記憶装置であることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
画像データの回転処理を行う情報処理装置を用いた情報処理方法であって、
前記画像データを前記回転処理のために複数段階の分割サイズに分割する画像分割ステップと、
前記画像分割ステップにより分割された各分割画像に対して回転処理を行う画像回転ステップと、
前記画像回転ステップで回転処理ずみの前記分割画像を合成し、分割前の画像に対応する一枚の回転処理された画像を復元する画像合成ステップと、
前記複数段階の分割サイズ別に前記画像分割ステップ、前記画像回転ステップ、及び前記画像合成ステップの一連の処理に要する時間を測定する計時ステップと、
前記計時ステップの測定結果を基に、最短の処理時間となる分割サイズを決定する分割サイズ決定ステップと
を有することを特徴とする情報処理方法。
【請求項６】
画像データの回転処理を行う情報処理装置用のプログラムであって、
前記画像データを前記回転処理のために複数段階の分割サイズに分割する画像分割ステップと、
前記画像分割ステップにより分割された各分割画像に対して回転処理を行う画像回転ステップと、
前記画像回転ステップで回転処理ずみの前記分割画像を合成し、分割前の画像に対応する一枚の回転処理された画像を復元する画像合成ステップと、
前記複数段階の分割サイズ別に前記画像分割ステップ、前記画像回転ステップ、及び前記画像合成ステップの一連の処理に要する時間を測定する計時ステップと、
前記計時ステップの測定結果を基に、最短の処理時間となる分割サイズを決定する分割サイズ決定ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの表示、編集、印刷等を行う情報処理装置、情報処理方法及びそのプログラムに関するものである。
【背景技術】
【０００２】
従来、大判プリンタ等に画像を印刷する際、大量の画素から構成される画像データを少ない内部記憶を用いて回転処理するための方法として、分割型の画像回転方式が提案されている（例えば、特許文献１を参照。）。
【０００３】
【特許文献１】特開２００１−１３６３６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来例では、回転処理の単位となる画像の分割単位の大きさは、機器設計時に固定的に決定される。しかしながら、汎用のパーソナルコンピュータ上で動作するアプリケーションソフトウェアのように、動作環境として柔軟かつ多様な構成が存在し、実行時の構成が必ずしも予想できないシステムにおいては、設計時に設定された分割単位の大きさが常に最良の実行効率をもたらすものとは限らず、以下のような性能低下が考えられる。
【０００５】
例えば、主記憶装置よりも容量が小さいがＣＰＵ（中央処理装置）から高速にアクセス可能な周知のＣＰＵキャッシュメモリ機構を有するシステムを仮定すると、分割サイズの大きさがＣＰＵキャッシュメモリの大きさよりも大きいとき、回転処理の単位全体はＣＰＵキャッシュメモリに収容しきれず、キャッシュメモリに対するミスヒットを多発させることとなり、実行効率が大きく低下する。
【０００６】
一方、分割サイズの大きさがＣＰＵキャッシュの大きさに対して小さすぎる場合は、分割と回転された分割要素単位の再合成等にかかるオーバーヘッドが大きくなり、このときもまた実行効率が低下する。すなわち、分割サイズには最大の効率をもたらすある特定の値が存在し、この近傍の値で画像を分割し、回転後合成するのが最も効率的な動作となる。
【０００７】
さらに、回転処理を効率的に行うための分割単位の大きさは、ＣＰＵ速度、主記憶の容量、バスの転送速度の影響を受ける。また、マルチプロセスシステムにおいては実行時の他のプロセスによる主記憶やＣＰＵキャッシュの利用状況の影響も無視することはできない。このため、異なる構成のハードウェアや、実行時のＯＳ、アプリケーション利用状況に対応する最適な分割サイズが存在するが、上記従来例ではこれに逐一対応することができないという問題がある。
【０００８】
本発明は、上述した事情を考慮してなされたもので、動作プラットフォームや動作環境、動作時の状態に応じて最適化した分割サイズを決定し、その分割サイズで画像の回転処理を行うことができる情報処理装置、情報処理方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明は、上述した課題を解決すべくなされたもので、本発明による情報処理装置においては、画像データの回転処理を行う情報処理装置であって、画像データを回転処理のために複数段階の分割サイズに分割する画像分割手段と、画像分割手段により分割された各分割画像に対して回転処理を行う画像回転手段と、画像回転手段が回転処理ずみの分割画像を合成し、分割前の画像に対応する一枚の回転処理された画像を復元する画像合成手段と、複数段階の分割サイズ別に画像分割手段、画像回転手段、及び画像合成手段の一連の処理に要する時間を測定する計時手段と、計時手段の測定結果を基に、最短の処理時間となる分割サイズを決定する分割サイズ決定手段とを具備することを特徴とする。
【００１０】
また、本発明による情報処理方法においては、画像データの回転処理を行う情報処理装置を用いた情報処理方法であって、画像データを回転処理のために複数段階の分割サイズに分割する画像分割ステップと、画像分割ステップにより分割された各分割画像に対して回転処理を行う画像回転ステップと、画像回転ステップで回転処理ずみの分割画像を合成し、分割前の画像に対応する一枚の回転処理された画像を復元する画像合成ステップと、複数段階の分割サイズ別に画像分割ステップ、画像回転ステップ、及び画像合成ステップの一連の処理に要する時間を測定する計時ステップと、計時ステップの測定結果を基に、最短の処理時間となる分割サイズを決定する分割サイズ決定ステップとを有することを特徴とする。
【００１１】
また、本発明によるプログラムは、画像データの回転処理を行う情報処理装置用のプログラムであって、画像データを回転処理のために複数段階の分割サイズに分割する画像分割ステップと、画像分割ステップにより分割された各分割画像に対して回転処理を行う画像回転ステップと、画像回転ステップで回転処理ずみの分割画像を合成し、分割前の画像に対応する一枚の回転処理された画像を復元する画像合成ステップと、複数段階の分割サイズ別に画像分割ステップ、画像回転ステップ、及び画像合成ステップの一連の処理に要する時間を測定する計時ステップと、計時ステップの測定結果を基に、最短の処理時間となる分割サイズを決定する分割サイズ決定ステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１２】
本発明による情報処理装置、情報処理方法及びそのプログラムは、動作プラットフォームや動作環境、動作時の状態に応じて最適化した分割サイズを決定し、その分割サイズで画像の回転処理を行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施形態について詳細に説明する。
［第一の実施形態］
図１は、本発明の第一の実施形態における画像処理機能を有する画像回転装置（情報処理装置）の構成の一例を示す概略図である。図１において、１０１は、画像回転装置内の処理やデータの流れを制御するＣＰＵである。１０２は、ＣＰＵ１０１に専用バスで接続されていたり、ＣＰＵ１０１上に直接配置することによって高速なアクセスを可能としたキャッシュメモリである。１０３は、通常のシステムバス１０４でＣＰＵ１０１と接続された内部記憶装置（主記憶装置）である。内部記憶装置１０３は、キャッシュメモリ１０２よりもＣＰＵからのアクセス速度が低速である一方、大容量であり、回転処理対象とする画像を複数格納するのに十分な容量を有する。
【００１４】
１０６は、本画像回転装置が画像（処理時間測定用）の回転処理に要する時間を計測する計時手段である。１０８は、ハードディスク装置等に代表される外部記憶装置であり、ディスクコントローラ１０７によってシステムバス１０４に接続されている。また、外部記憶装置１０８上にはファイルシステムが構築され、回転処理の対象となる画像ファイル１０１０と、回転結果の画像データを格納した回転済画像ファイル１０１１が格納されている。
【００１５】
尚、本実施形態では、例えば、画像ファイル１０１０と回転済画像ファイル１０１１は、周知の画像データ形式であるところのＴＩＦＦ形式やＪＦＩＦ形式で画像データを圧縮済もしくは非圧縮のビットマップ形式として外部記憶装置１０８に格納するものとする。また、ファイル１０１２は、ＣＰＵ１０１の処理により決定された最適回転分割サイズを格納する。
【００１６】
まず、内部記憶装置１０３上のメモリマップについて図２を用いて説明する。
図２は、内部記憶装置１０３上のメモリマップ例を示す図である。図２において、２０１は、画像回転分割サイズ決定動作に使われる参照画像データである。参照画像データ２０１を格納する領域を参照画像格納領域とする。２０２は、参照画像格納領域の参照画像データ２０１を９０度回転した結果である回転結果画像データである。回転結果画像データ２０２を格納する領域を回転結果画像格納領域とする。
【００１７】
２０３は、参照画像データ２０１を回転する際に分割された分割画像単位（セル）であを格納するためのセル格納領域である。セル格納領域２０３には、回転前のセルａ’、と回転後のセルａ"がある。２０４は、回転処理に要する時間の計測結果を格納する時間記録テーブルである。２０６は、本実施形態におけるＣＰＵ１０１が処理可能なプログラムコードである。プログラムコード２０６を格納する領域をコード領域とする。
【００１８】
次に、本実施形態の画像回転装置における画像分割サイズ決定動作について図３、図４を用いて説明する。図３は、本実施形態の画像回転装置における画像分割サイズ決定動作例を示すフロー図である。
図３に示すように、まず、ステップ３０１において、ＣＰＵ１０１は、内部記憶装置１０３上に、回転処理時間測定用の参照画像データ２０１を作成する。ここで、参照画像データ２０１の画像サイズは、ＣＰＵキャッシュメモリ１０２の記憶容量と比較して、十分に大きいものとする。
【００１９】
次に、ステップ３０２において、ＣＰＵ１０１は、内部記憶装置１０３上に、回転結果画像データ２０２を格納するための作業領域（回転結果画像格納領域）を作成する。この作業領域としては、処理時間測定用の参照画像データ２０１を９０度回転した結果を格納可能な領域が確保される。例えば、処理時間測定用の参照画像データ２０１が縦２０４８ピクセル、横３０７２ピクセルの画素から構成されている場合には、作業領域は、縦３０７２画素、横２０４８画素の画像が格納可能になっている。
【００２０】
次に、ステップ３０３において、ＣＰＵ１０１は、画像分割サイズの上限値と下限値を決定する。通常は、システム設計時にあらかじめ設定した上限値と下限値を用いるが、実行時にシステム上キャッシュメモリ１０２の容量に関する情報が取得可能な場合は、キャッシュメモリ１０２の容量を上限値として用いることもある。
【００２１】
また、本実施形態では、画像分割は最小３２×３２画素、最大２０４８×２０４８画素のサイズで常に正方形のブロックに分割されるものとし、上記正方形のブロックをセルと呼称する。次に、ステップ３０４〜３０８において、ＣＰＵ１０１は、セルのサイズを増加させながら、画像の分割回転と、回転処理に要する時間の計測を、セルのサイズが上限値に達するまで繰り返す。
【００２２】
具体的には、まず、ステップ３０５において、ＣＰＵ１０１は、セルサイズとして最小１辺３２ピクセルの正方形を設定し、参照画像データ２０１を分割して回転処理（以下、単に分割回転とする）する。ここで、ステップ３０５における分割回転の動作を図４、図５に従って説明する。図４は、図３に示したステップ３０５における分割回転の処理の詳細を示すフロー図である。図５は、図３に示したステップ３０５における分割回転の処理の概要を示す図である。
【００２３】
図４に示すように、まず、ステップ４０１において、ＣＰＵ１０１は上記の最小セルサイズで参照画像データ２０１を分割する。つづく画像の回転処理はこのセル単位で行われる。図５（Ａ）に、参照画像データ２０１のセル分割の例を示す。図５（Ａ）に示すように参照画像データ２０１は、左上から順に正方形のブロックＡ，Ｂ，Ｃ...Ｚに分割されて、セル画像データ５０１となる。
【００２４】
次に、ステップ４０２において、ＣＰＵ１０１は、内部記憶装置１０３上に、回転前のセル画像データ５０１と、回転後のセル画像データ５０２を格納するセル格納領域２０３をセルａ’、セルａ"として隣接して確保する。次に、ステップ４０３において、ＣＰＵ１０１は、図５（Ａ）に示す３２×３２画素単位で分割された最初のブロックＡのセル画像データ５０１を回転作業領域（セル格納領域２０３）であるセルａ’にコピーする。
【００２５】
次に、ステップ４０４において、ＣＰＵ１０１は、セルａ’からセル画素データ５０１を取得し、９０度の回転処理を行ったセル画像データ５０２をセルａ"に書き込む。セルａ’のセル画素データ５０１に回転処理を加えてセル画像データ５０２としてセルａ"に書き込み終えると、ＣＰＵ１０１は、セルａ"のセル画像データ５０２を図５（Ｂ）に示すように、回転結果画像データ２０２を構築するよう回転結果画像領域の対応する位置に書き込む。このように、セル単位で回転後のセル画像データ５０２が回転結果画像領域に書き込まれ、回転結果画像データ２０２が合成される。
【００２６】
以上の動作を、ブロックＡ，Ｂ，Ｃ...の順にセル画像データ５０１に対して実施し、最終セルであるところのブロックＺのセル画像データ５０１まで繰り返したところで、画像の回転動作は完了する（ステップＳ４０６のＹｅｓ）。以上の処理により、図５（Ｂ）に示す回転結果画像データ２０２のように、図５（Ａ）の参照画像データ２０１を９０度回転した画像を得ることができ、図３のステップ３０５に示した分割回転の処理を終える。
【００２７】
次に、ステップ３０６において、分割回転に際して、計時手段１０６は、回転処理の開始時刻と終了時刻を計測し、計測結果をＣＰＵ１０１に通知する。次に、ステップ３０７において、ＣＰＵ１０１は、時間記録テーブル２０４にセルの分割サイズと、回転にかかった時間を記録する。次に、ステップ３０８において、ＣＰＵ１０１は、セル分割サイズを１ランク分増加させる。ＣＰＵ１０１は、以上のステップ３０４〜３０８の処理を、分割サイズの上限（本実施形態では２０４８×２０４８画素）に達するまで繰り返す。
【００２８】
次に、時間記録テーブル２０４の詳細について説明する。図６は、時間記録テーブル２０４の一例を示す図である。図６に示すように、各分割サイズに計測結果の時間を対応付けて格納する。また、本実施形態では、図６に例示するように、セル分割サイズの１ランク分の増加により画素数が２倍になる。即ち、ステップ３０８毎に分割時の１辺のサイズを２倍ずつ増加する。
【００２９】
ところで、上記の画像回転動作においては、内部記憶装置１０３上の比較的小さな作業領域ａ’ａ"を隣接して確保したため、セル単位の回転動作においては、内部記憶装置１０３上の比較的近傍のアドレスへのアクセスが頻出することになる。これにより、キャッシュメモリ１０２を備えたコンピュータシステムにおいては、キャッシュメモリ１０２のヒット率が高くなることが期待される。ヒット率が高くなれば、キャッシュメモリ１０２の機構による高速化効果が現れ、高速な画像回転を行うことができるようになる。
【００３０】
図６に示したように、セル分割サイズ毎に得られた回転処理時間をグラフにすると、図７のようになる。図７は、図６の時間記録テーブル２０４をグラフ化した図である。図７に示すように、回転処理時間は分割されたセルのデータサイズが、キャッシュサイズよりもある程度小さくなった場所で極小値をとる。その理由について図８を用いて説明する。図８は、回転処理時間が図７のような変化となる理由を説明するための図である。図８（ａ）に示すように、分割サイズが大きくなり、キャッシュメモリ１０２にセル画像データ５０１、５０２が十分に収容できなくなると、セル画像データ５０１の回転時におけるキャッシュのヒット率が急速に低下するためである。逆に、図５（ｂ）に示すように、分割サイズを小さくしていくと、キャッシュメモリ１０２に対してセル画像データ５０１、５０２の分割・合成に伴うオーバーヘッドが大きくなってしまうためである。
【００３１】
そこで、本実施形態の画像回転装置は、上記測定動作により求められた、回転処理時間が最も短くなる分割サイズを、以後の画像回転時の分割サイズとして利用する。具体的には、ステップ３０９及び３１０において、ＣＰＵ１０１は、時間記録テーブル２０４を参照し、もっとも高速に回転処理が終了したセル分割サイズを抽出して、ファイル１０１２に記録する。図６の例では、セル分割サイズが１２８×１２８ピクセルのときに、もっとも高速な回転処理が行われたことを示している。ＣＰＵ１０１は、このサイズ（１２８×１２８ピクセル）を、最適回転分割サイズとして、外部記憶装置１０８上のファイル１０１２に格納する。以後、画像回転装置は、回転処理対象となる画像（画像ファイル１０１０の画像）の分割回転を行う際にはファイル１０１２に記録した分割サイズで分割処理を実行する。
【００３２】
次に、本実施形態における画像回転装置が、画像ファイル１０１０の画像データに対して分割回転の処理を行う場合について、図９、図４、及び図５を用いて説明する。
上述した参照画像データに対する分割回転の処理で求められた最適な分割サイズを用いて、画像回転装置が、画像ファイル１０１０の画像データに対して分割回転の処理を行う流れは、図４、５で説明した上記分割回転の処理と同様である。
【００３３】
まず、ＣＰＵ１０１は、外部記憶装置１０８上の画像ファイル１０１０等から画像を読み込み、内部記憶装置１０３上にビットマップデータを展開する。この際、展開された画像ビットマップデータは、図９の回転元画像領域９０１に格納される。図９は、内部記憶装置１０３上に構成するメモリマップ例を示す図である。図９に示すように、内部記憶装置１０３上には、回転元画像領域９０１、回転結果画像領域９０２、セル格納領域９０３、プログラムコード領域９０５が設けられている。
【００３４】
次に、ＣＰＵ１０１は、内部記憶装置１０３上に、回転した結果の画像を格納するための領域９０２を確保する。つづいて、ステップ４０１において、ＣＰＵ１０１は、ファイル１０１２を参照して設定された分割サイズ（セル）で画像を分割する。分割サイズの値は、外部記憶装置１０８上のファイル１０１２から読み込まれて設定される。本実施形態では、図６に示すように、１２８×１２８画素が分割サイズとして決定しているものとする。尚、画像データに対するセル分割の方法は、図５（Ａ）に示した方法と同様である。
【００３５】
ここで、画像データが１２８×１２８画素単位で正方格子状に分割されており、おのおの分割ブロックにブロックＡ，Ｂ，Ｃ，Ｄ．．．という名称が付与されているとする。次に、ステップ４０２において、ＣＰＵ１０１は、内部記憶装置１０３上に、回転前のセル画像データと、回転後のセル画像データを格納するためのセル格納領域９０３にセルａ’、セルａ"を隣接して確保する。
【００３６】
次に、ステップ４０３において、ＣＰＵ１０１は、１２８×１２８ピクセル単位で分割された最初のブロックＡのセル画素データをセル格納領域９０３のセルａ’にコピーする。次に、ステップ４０４において、ＣＰＵ１０１は、セル格納領域９０３のセルａ’からセル画素データを逐次取得し、回転動作を伴いながら、セル格納領域９０３のセルａ"に書き込む。セル格納領域９０３のセルａ’上のすべての画素データに回転操作を加えてセルａ"に書き込む処理を終えると、ステップ４０５において、ＣＰＵ１０１は、セルａ"のセル画像データを回転結果画像領域９０２上の対応する位置に書き込む。このステップ４０５の処理は、図５（Ｂ）に示すようなイメージで処理される。
【００３７】
以上の動作を、ブロックＡ，Ｂ，Ｃ...の順に実施し、最終ブロックまで繰り返したところ（ステップ４０６のＹｅｓ）で、ＣＰＵ１０１は、画像データの回転処理を完了する。最後に必要があれば、回転結果画像領域９０２のビットマップデータを、外部記憶装置１０８上の画像ファイル１０１１として格納する。
【００３８】
本実施形態の画像回転装置は、画像を分割回転する際に最適な分割サイズの決定を任意のタイミングで行うことが可能である。このため、操作者が分割サイズ決定処理を、例えばアプリケーションソフトウェアプロセスの起動時に、分割サイズの決定処理を実行するように構成すれば、アプリ実行時のキャッシュメモリ占有状態を反映した最適な分割サイズを得ることができる。このように、画像回転装置は、動作プラットフォームや動作環境、動作時の状態に応じて最適化した分割サイズを決定し、その分割サイズで画像の回転処理を行うことができる。
【００３９】
［第二の実施形態］
本発明の第二の実施形態における画像回転装置は、動作環境として、仮想記憶機構を有するオペレーティングシステムを含むコンピュータシステムとする。この仮想記憶機構とは、周知の通り、利用頻度の低いメモリ領域を、一次的に低速な外部記憶領域に退避することにより、内部記憶装置に格納可能なデータサイズを越える記憶領域を仮想的に確保する機構である。これは見方を変えると外部記憶装置上のスワップ領域を本記憶領域とし、内部記憶装置をキャッシュとした記憶機構と考えることができる。
【００４０】
図１０は、第二の実施形態における画像回転装置の構成を示すブロック図である。
図１０において、１０９は、オペレーティングシステムの仮想記憶機構をサポートするメモリ管理ユニットである。１０２０は、内部記憶装置１０３上にあった利用頻度の低いメモリ領域のデータを外部記憶装置１０８上に保持するスワップ領域である。その他の構成要素は、図１と同様であり説明を省略する。
【００４１】
本実施形態と、第一の実施形態との違いは、分割前の画像サイズが、内部記憶装置１０３に完全に収容できない程度に大きい（または、内部記憶装置１０３が画像を完全に収容できない程度に小さい）場合でも、効率的に処理可能である点である。すなわち、セルのサイズが十分に内部記憶装置１０３に収容可能な程度に小さな場合に、ページフォールトが起こりにくくなり、回転処理の最大の実行効率を得る分割サイズがあると考える。このとき、第一の実施形態におけると同様の手続きにより、本実施形態における最適回転分割サイズを得ることができる。
【００４２】
以上に説明したように、第１及び第２の実施形態における画像回転装置は、キャッシュメモリ１０２や内部記憶装置１０３のサイズが異なるターゲットハードウェアシステムのそれぞれに対して、常に最適な分割サイズを設定して、より高速な回転処理を行うことができる。また、適時、最適な分割サイズを設定するように構成することができるので、実行時のＯＳ動作状況、アプリケーションによるメモリやＣＰＵキャッシュの占有状況を反映した最適な分割サイズを得ることができる。以上により、画像回転装置は、動作プラットフォームや動作環境、動作時の状態に応じて最適化した分割サイズを決定し、その分割サイズで画像の回転処理を行うことができる。
【００４３】
また、上述した実施形態において図３及び図４の各処理は、各処理の機能を実現する為のプログラムをメモリ（内部記憶装置１０３又は外部記憶装置１０８など）から読み出してＣＰＵ１０１が実行することによりその機能を実現させるものである。
【００４４】
尚、上述した構成に限定さるものではなく、図３及び図４の各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体、ＲＡＭ以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
【００４５】
また、図３及び図４の各処理の機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
【００４６】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００４７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４８】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００４９】
【図１】本発明の第一の実施形態における画像処理機能を有する画像回転装置（情報処理装置）の構成の一例を示す概略図である。
【図２】内部記憶装置１０３上のメモリマップ例を示す図である。
【図３】本実施形態の画像回転装置における画像分割サイズ決定動作例を示すフロー図である。
【図４】図３に示したステップ３０５における分割回転の処理の詳細を示すフロー図である。
【図５】図３に示したステップ３０５における分割回転の処理の概要を示す図である。
【図６】時間記録テーブル２０４の一例を示す図である。
【図７】図６の時間記録テーブル２０４をグラフ化した図である。
【図８】回転処理時間が図７のような変化となる理由を説明するための図である。
【図９】画像ファイル１０１０の画像処理時の内部記憶装置１０３上に構成するメモリマップ例を示す図である。
【図１０】第二の実施形態における画像回転装置の構成を示すブロック図である。
【符号の説明】
【００５０】
１０１      ＣＰＵ
１０２      キャッシュメモリ
１０３      内部記憶装置
１０４      システムバス
１０６      計時手段
１０７      ディスクコントローラ
１０８      外部記憶装置
１０９      メモリ管理ユニット
１０１０    画像ファイル
１０１１    回転済画像ファイル
１０１２    ファイル
１０２０    スワップ領域
【図１】
2006259875.tif 000003
【図２】
2006259875.tif 000004
【図３】
2006259875.tif 000005
【図４】
2006259875.tif 000006
【図５】
2006259875.tif 000007
【図６】
2006259875.tif 000008
【図７】
2006259875.tif 000009
【図８】
2006259875.tif 000010
【図９】
2006259875.tif 000011
【図１０】
2006259875.tif 000012