(57)【要約】【課題】回転処理に必要なバッファの容量を小さくする。【解決手段】元画像を読取デバイスで読み取り、元画像を回転角Ｒだけ回転させた画像データを作成するにあたり、元画像データを横ｃ個×縦ｄ個のブロックに分割して複数の分割画像データを作成し、分割画像データごとに回転処理を行う。また、分割画像データにおける回転前の位置番号ｉ（ｉ＝１，２，３，・・・，ｄ×ｃ）と回転角Ｒとから回転後の位置番号ｉを導出して、各分割画像データと回転後の位置番号ｉとが対応づけられてなる集合ファイルを作成する。こうすることで、１つの分割画像データを保持するバッファがあれば元画像データを分割した分割画像データごとに回転処理を行うことができ、元画像データ全体を回転させる場合と比較して必要なバッファの容量が小さくなる。【選択図】図６
2010114576.tif 000002
【特許請求の範囲】
【請求項１】
対象画像データを複数の分割画像データに分割し該複数の分割画像データをそれぞれ個別に符号化したデータである複数の回転前符号化データと、該回転前符号化データの該対象画像データにおける位置を表す回転前位置情報と、が対応づけられてなる回転前符号化データ組の集合を記憶する回転前符号化データ組記憶手段と、
前記回転前位置情報と該回転前位置情報によって表される位置を所定角度だけ回転させたときの位置を表す回転後位置情報との関係を記憶する位置関係記憶手段と、
前記回転前符号化データ組記憶手段に記憶された回転前符号化データ組を順次読み出し、該回転前符号化データ組に含まれる回転前符号化データを分割画像データに復号化し、該復号化した分割画像データを前記所定角度だけ回転した回転後の分割画像データと、該回転前符号化データ組に含まれる回転前位置情報と関係づけられた回転後位置情報と、が対応づけられてなる回転後データ組を複数作成する回転後データ組作成手段と、
前記複数の回転後データ組について、個々の回転後データ組に含まれる回転後位置情報で特定される位置に、該回転後データ組に含まれる回転後の分割画像データを配置することで、前記対象画像データを前記所定角度だけ回転させた画像である回転後対象画像を作成する画像作成手段と、
を備えた画像処理装置。
【請求項２】
前記回転後データ組作成手段は、前記回転前符号化データ組記憶手段に記憶された回転前符号化データ組を順次読み出すにあたり、該回転前符号化データ組に含まれる回転前位置情報と関係づけられた回転後位置情報で特定される所定の順序で該回転前符号化データ組を読み出す手段であり、
前記画像作成手段は、前記複数の回転後データ組から前記回転後対象画像を作成するにあたり、前記順序で前記回転後の分割画像データを配置する手段である、
請求項１に記載の画像処理装置。
【請求項３】
対象画像データを取得する取得手段と、
前記対象画像データを分割して複数の分割画像データを作成し、該分割画像データと、該分割画像データの該対象画像データにおける位置を表す回転前位置情報と、が対応づけられてなる回転前データ組を作成する回転前データ組作成手段と、
前記回転前位置情報と該回転前位置情報によって表される位置を所定角度だけ回転させたときの位置を表す回転後位置情報との関係を記憶する位置関係記憶手段と、
前記回転前データ組に含まれる分割画像データを前記所定角度だけ回転して符号化した符号化データを順次作成し、該符号化データと、該回転前データ組に含まれる前記回転前位置情報に関係づけられた回転後位置情報と、が対応づけられてなる回転後符号化データ組の集合を作成する回転後符号化データ組集合作成手段と、
を備えた画像処理装置。
【請求項４】
前記回転前データ組作成手段は、前記取得手段が前記対象画像データを取得中であっても、該取得した対象画像データの一部である部分対象画像データから前記分割画像データを順次作成し、該分割画像データと前記回転前位置情報とが対応づけられてなる前記回転前データ組を順次作成可能な手段である、
請求項３に記載の画像処理装置。
【請求項５】
対象画像データを取得する取得手段と、
前記対象画像データを分割した複数の分割画像データを作成する分割手段と、
前記分割画像データを符号化した符号化データを作成する符号化手段と、
前記符号化データと、該符号化データの前記対象画像データにおける位置を表す位置情報と、が対応づけられてなる符号化データ組の集合を作成する符号化データ組集合作成手段と、
を備えた画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処置装置に関する。
【背景技術】
【０００２】
画像をディジタル化した画像データを取り扱う際に、画像データを所定の角度だけ回転させたいという要望がある。例えば、ＪＰＥＧ方式で符号化された画像データを回転させる場合においては、画像データ全体を復号化した後に回転処理を行う方法が考えられる（特許文献１の段落０００９参照）。
【特許文献１】特許第３６６１５２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、この方法では、回転処理を行うために復号化した画像データ全体を一時的に記憶する大容量のバッファが必要になるという問題がある。
【０００４】
本発明は、上述した課題に鑑みなされたものであり、回転処理に必要なバッファの容量を小さくすることを主目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の主目的を達成するために以下の手段を採った。
【０００６】
本発明の第１の画像処理装置は、
対象画像データを複数の分割画像データに分割し該複数の分割画像データをそれぞれ個別に符号化したデータである複数の回転前符号化データと、該回転前符号化データの該対象画像データにおける位置を表す回転前位置情報と、が対応づけられてなる回転前符号化データ組の集合を記憶する回転前符号化データ組記憶手段と、
前記回転前位置情報と該回転前位置情報によって表される位置を所定角度だけ回転させたときの位置を表す回転後位置情報との関係を記憶する位置関係記憶手段と、
前記回転前符号化データ組記憶手段に記憶された回転前符号化データ組を順次読み出し、該回転前符号化データ組に含まれる回転前符号化データを分割画像データに復号化し、該復号化した分割画像データを前記所定角度だけ回転した回転後の分割画像データと、該回転前符号化データ組に含まれる回転前位置情報と関係づけられた回転後位置情報と、が対応づけられてなる回転後データ組を複数作成する回転後データ組作成手段と、
前記複数の回転後データ組について、個々の回転後データ組に含まれる回転後位置情報で特定される位置に、該回転後データ組に含まれる回転後の分割画像データを配置することで、前記対象画像データを前記所定角度だけ回転させた画像である回転後対象画像を作成する画像作成手段と、
を備えたものである。
【０００７】
本発明の第１の画像処理装置では、回転前符号化データ組記憶手段に、対象画像データを複数の分割画像データに分割し複数の分割画像データをそれぞれ個別に符号化したデータである複数の回転前符号化データと、回転前符号化データの対象画像データにおける位置を表す回転前位置情報と、が対応づけられてなる回転前符号化データ組の集合が記憶されている。この回転前符号化データ組記憶手段から回転前符号化データ組を順次読み出し、読み出した回転前符号化データ組に含まれる回転前符号化データを分割画像データに復号化し、復号化した分割画像データを所定角度だけ回転した回転後の分割画像データと、読み出した回転前符号化データ組に含まれる回転前位置情報によって表される位置を所定角度だけ回転させたときの位置を表す回転後位置情報と、が対応づけられてなる回転後データ組を複数作成する。そして、作成した複数の回転後データ組について、個々の回転後データ組に含まれる回転後位置情報で特定される位置に、該回転後データ組に含まれる回転後の分割画像データを配置することで、前記対象画像データを前記所定角度だけ回転させた画像である回転後対象画像を作成する。こうすることで、１つの分割画像データを保持するバッファがあれば対象画像データを分割した分割画像データごとに回転処理を行うことができ、対象画像データ全体を回転させる場合と比較して必要なバッファの容量が小さくなる。
【０００８】
本発明の第１の画像処理装置において、前記回転後データ組作成手段は、前記回転前符号化データ組記憶手段に記憶された回転前符号化データ組を順次読み出すにあたり、該回転前符号化データ組に含まれる回転前位置情報と関係づけられた回転後位置情報で特定される所定の順序で該回転前符号化データ組を読み出す手段とし、前記画像作成手段は、前記複数の回転後データ組から前記回転後対象画像を作成するにあたり、前記順序で前記回転後の分割画像データを配置する手段としてもよい。こうすれば、回転後分割画像データ組の作成と回転後の分割画像データの配置とをパイプライン処理で行うことができ、全体としてより短時間で処理を行うことができる。
【０００９】
本発明の第２の画像処理装置は、
対象画像データを取得する取得手段と、
前記対象画像データを分割して複数の分割画像データを作成し、該分割画像データと、該分割画像データの該対象画像データにおける位置を表す回転前位置情報と、が対応づけられてなる回転前データ組を作成する回転前データ組作成手段と、
前記回転前位置情報と該回転前位置情報によって表される位置を所定角度だけ回転させたときの位置を表す回転後位置情報との関係を記憶する位置関係記憶手段と、
前記回転前データ組に含まれる分割画像データを前記所定角度だけ回転して符号化した符号化データを順次作成し、該符号化データと、該回転前データ組に含まれる前記回転前位置情報に関係づけられた回転後位置情報と、が対応づけられてなる回転後符号化データ組の集合を作成する回転後符号化データ組集合作成手段と、
を備えたものである。
【００１０】
本発明の第２の画像処理装置では、取得した対象画像データを分割して複数の分割画像データを作成し、分割画像データと、分割画像データの対象画像データにおける位置を表す回転前位置情報と、が対応づけられてなる回転前データ組を作成する。そして、この回転前データ組に含まれる分割画像データを所定角度だけ回転して符号化した符号化データを順次作成し、符号化データと、回転前データ組に含まれる回転前位置情報によって表される位置を所定角度だけ回転させたときの位置を表す回転後位置情報に関係づけられた回転後位置情報と、が対応づけられてなる回転後符号化データ組の集合を作成する。こうすることで、１つの分割画像データを保持するバッファがあれば対象画像データを分割した分割画像データごとに回転処理を行うことができ、対象画像データ全体を回転する場合と比較して必要なバッファの容量が小さくなる。
【００１１】
本発明の第２の画像処理装置において、前記回転前データ組作成手段は、前記取得手段が前記対象画像データを取得中であっても、該取得した対象画像データの一部である部分対象画像データから前記分割画像データを順次作成し、該分割画像データと前記回転前位置情報とが対応づけられてなる前記回転前データ組を順次作成可能な手段としてもよい。こうすれば、対象画像データを取得する処理と回転前データ組及び回転後符号化データ組を作成する処理とをパイプライン処理で行うことができ、全体としてより短時間で処理を行うことができる。
【００１２】
本発明の第３の画像処理装置は、
対象画像データを取得する取得手段と、
前記対象画像データを分割した複数の分割画像データを作成する分割手段と、
前記分割画像データを符号化した符号化データを作成する符号化手段と、
前記符号化データと、該符号化データの前記対象画像データにおける位置を表す位置情報と、が対応づけられてなる符号化データ組の集合を作成する符号化データ組集合作成手段と、
を備えたものである。
【００１３】
本発明の第３の画像処理装置では、取得した対象画像データを分割して複数の分割画像データを作成し、作成した分割画像データを符号化して符号化データを作成する。そして、符号化データと、符号化データの対象画像データにおける位置を表す位置情報と、が対応づけられてなる符号化データ組の集合を作成する。これにより、対象画像データを回転させた画像データを得たい場合には、各符号化データ組の符号化データを復号化した分割画像データを個別に回転させ、それを位置情報を用いて回転後の位置に配置すればよいことになる。したがって、回転時の処理には分割画像データを保持するバッファがあればよく、対象画像データ全体を複合化してから回転させる場合と比較して必要なバッファの容量が小さくなる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明の実施の形態を図面に基づいて説明する。図１は、本発明の実施形態である複合機１０の構成の概略を示す外観図であり、図２は、複合機１０の電気的接続を表すブロック図である。
【００１５】
図１に示すように、本実施形態の複合機１０は、印刷を実行する印刷デバイス２０と、画像を読み取る読取デバイス２２と、メモリカード３２に対するデータの読み書きを行うメモリカードコントローラ３４（図２参照）と、各種情報を表示したりユーザの指示を入力したりする操作パネル４０と、装置全体の制御を司るメインコントローラ５０とを備えている。この複合機１０は、図２に示すように、印刷デバイス２０や読取デバイス２２、メモリカードコントローラ３４、操作パネル４０、メインコントローラ５０がバス９４を介して各種制御信号やデータのやり取りをすることができるよう構成されている。
【００１６】
印刷デバイス２０は、メインコントローラ５０から印刷指令を受けると、その印刷指令の対象である印刷ジョブに基づいて、印刷ヘッドから記録紙Ｓへインクを吐出することにより印刷を実行する周知のインクジェット方式のカラープリンタ機構として構成されている。
【００１７】
読取デバイス２２は、メインコントローラ５０からの読取指令を受けると、ガラス台３６に載置された書類を画像データとして読み取る周知のフルカラースキャナ機構として構成されている。この読取デバイス２２は、書類に向かって発光したあとの反射光をレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の各色に分解して読取データとする周知のカラーイメージセンサを備えている。
【００１８】
メモリカードコントローラ３４は、操作パネル４０の横に備えられているメモリカードスロット３０に挿入されたメモリカード３２との間でデータの入出力を行うことが可能なように構成されている。メモリカード３２は、例えば、ＪＰＥＧで符号化された画像データを記憶することが可能である。
【００１９】
操作パネル４０は、液晶ディスプレイである表示部４２と、コピーボタンや印刷ボタン、スキャンボタン、電源ボタン、テンキーなどを含む操作部４４とを備えている。この操作パネル４０は、各種情報を表示部４２に表示したりユーザの指示を操作部４４の操作を介して入力したりする。
【００２０】
メインコントローラ５０は、ＣＰＵ６０を中心とするマイクロプロセッサとして構成されており、電気的に書き換え可能で電源を切ってもデータが保持されるフラッシュＲＯＭ７０と、一時的に印刷データ等を記憶するＲＡＭ８０とを備えている。ＣＰＵ６０は、印刷デバイス２０や読取デバイス２２からの各種動作信号や各種検出信号、各種データを入力したり、操作パネル４０の操作部４４の操作に応じて発生する操作信号を入力したりする。また、印刷を実行するよう印刷デバイス２０に指令を出力したり、読取デバイス２２へ各種制御信号を出力したり、メモリカードコントローラ３４へメモリカード３２に記憶させるデータを出力したり、操作パネル４０の表示部４２に制御信号を出力したりする。フラッシュＲＯＭ７０は、各種処理プログラムや各種データ、各種テーブルなどが記憶されている。ＲＡＭ８０は、各種設定値を一時的に記憶する設定値用バッファ８２と、印刷デバイス２０に印刷させるデータや読取デバイス２２が読み取ったデータを一時的に記憶するデバイス用バッファ８４と、後述する分割画像データを回転させる処理を行うときに分割画像データを一時的に記憶する回転用バッファ８６と、を備えている。
【００２１】
ここで、本実施形態の複合機１０は、元となる元画像データを分割した複数の分割画像データを後述する形式で１つにまとめた集合ファイルを扱うことができる。具体的には、読取デバイス２２が読み取った元画像データを複数の分割画像データに分割して集合ファイルの形式にしてメモリカード３２に記憶したり、メモリカード３２に記憶された集合ファイルから複数の分割画像データを読み出して印刷デバイス２０に元画像データを印刷させたりすることができる。元画像データと分割画像データとの関係を図３に示す。図３に示すように、分割画像データは、元画像データを横方向に横ブロック数Ｗ個，縦方向に縦ブロック数Ｈ個に分割したときの１ブロック分の画像データであり、縦方向の画素数が単位横画素数Ｘ，横方向の画素数が単位縦画素数Ｙの画像データである。したがって、元画像に対して、分割画像データはＨ×Ｗ個存在することになる。このＨ×Ｗ個の分割画像データをそれぞれＪＰＥＧ方式で符号化して１つにまとめたものが集合ファイルである。集合ファイルのデータ構造を図４に示す。図４に示すように、集合ファイルは、分割画像部とインデックス部とで構成されている。分割画像部は、符号化されたＨ×Ｗ個の分割画像データを格納できるようになっている。また、分割画像部は、データの位置をアドレスＡで表せるようになっており、アドレスＡの値１〜ｎ（ｎ＝Ｈ×Ｗ）によってＨ×Ｗ個の分割画像データの各先頭データの位置を特定できるようになっている。また、各分割画像データを分割画像部に格納するときには分割画像データの末尾に、末尾であることを表すＥＮＤ情報を付加することになっている。これにより、アドレスＡで特定される先頭データから次のＥＮＤ情報までのデータを分割画像部から読み出すことで、任意のアドレスの１つの分割画像データを読み出すことができる。インデックス部は、サイズ格納部と対応位置格納部で構成されており、サイズ格納部には前述の単位横画素数Ｘ，単位縦画素数Ｙ，横ブロック数Ｗ，縦ブロック数Ｈが格納される。対応位置格納部には、元画像における分割画像データの位置を表す位置番号ｉと分割画像部のアドレスＡとが対応づけて格納される。図３に示すように、位置番号ｉは元画像データを分割画像データに分割した際に左上の分割画像データから右下の分割画像データまで図中の点線矢印で示される順に付される１〜ｎまでの番号である。したがって、位置番号ｉとアドレスＡとが図４に示す対応関係である場合には、例えば元画像における位置番号ｉ＝１の位置の分割画像データは、対応位置格納部において位置番号ｉ＝１に対応するアドレスＡであるアドレスＡ＝１で特定される位置に格納されていることになる。
【００２２】
次に、こうして構成された本実施形態の複合機１０の動作、特に、読み取りデバイス２２が読み取った画像データをメモリカード３２に記憶させる際の読み取り画像処理や、メモリカード３２に記憶されている画像データを印刷デバイス２０によって印刷する際の印刷画像処理について説明する。
【００２３】
まず、読み取り画像処理について説明する。図５は、読み取り画像処理ルーチンの一例を示すフローチャートである。このルーチンは、ユーザが操作パネル４０の操作部４４を操作して、ガラス台３６に載置された書類を画像データとして読み取るよう指示した時に実行される。この読み取り画像処理ルーチンが実行されると、ＣＰＵ６０は、まず、単位横画素数Ｘ，単位縦画素数Ｙ，横ブロック数Ｗ，縦ブロック数Ｈ，回転角Ｒを取得してＲＡＭ８０の設定値用バッファ８２に記憶する（ステップＳ１００）。ここで、回転角Ｒとは、読み取りデバイス２２が読み取った画像データを時計回りに何度回転させた画像データとして保存するかを表す値であり、値０，９０，１８０，２７０のいずれかの値を取る。ユーザは読み取りの指示をする際に単位横画素数Ｘ，単位縦画素数Ｙ，横ブロック数Ｗ，縦ブロック数Ｈ，回転角Ｒの値を操作パネル４０から入力するようになっており、ＣＰＵ６０は、入力された値をバス９４を介して取得してＲＡＭ８０に記憶する。なお、以降は、ガラス台３６に載置された画像は図６に示す画像であり、単位横画素数Ｘとして値ａ，単位縦画素数Ｙとして値ｂ，横ブロック数Ｗとして値ｃ，縦ブロック数Ｈとして値ｄ，回転角Ｒとして値９０が入力されたものとして説明を行う。
【００２４】
次に、ＣＰＵ６０は、元画像データにおける分割画像データの縦方向の位置を表す縦ポインタｓと、分割画像データを集合ファイルの分割画像部に格納するときのアドレスを表すアドレスポインタｔとを値１に初期化し（ステップＳ１１０）、メモリカードコントローラ３４に集合ファイルを記憶する準備を指示する（ステップＳ１２０）。これによりメモリカードコントローラ３４は、メモリカード３２に集合ファイルを記憶する領域を作成する。続いて、ＣＰＵ６０は、読取デバイス２２にガラス台３６に載置された書類を画像データとして読み取るよう指示する（ステップＳ１３０）。これにより読取デバイス２２は、図６に示す読み取り方向に書類を順次読み取り、読み取りデータをＲＡＭ８０のデバイス用バッファ８４に記憶する処理を行う。そして、ＣＰＵ６０は、読み取りデバイス２２が縦ｓブロック×横Ｗブロック分の読み取りが完了したか否かを判定し（ステップＳ１４０）、否定的な判定がなされたときにはステップＳ１４０の処理を繰り返す。いま、縦ポインタｓは値１，横ブロック数Ｗは値ｃであるので、縦１ブロック×横ｃブロック分の読み取りが完了したか否かを判定することになる。この判定は、例えばデバイス用バッファ８４に記憶されているデータ量を調べることで判定してもよいし、ＣＰＵ６０が読取デバイスから読み取りが完了したことを示す情報を入力するものとしてもよい。
【００２５】
ステップＳ１４０で肯定的な判定がなされると、ＣＰＵ６０は、元画像データにおける分割画像データの横方向の位置を表す横ポインタｒを値１に初期化し（ステップＳ１５０）、デバイス用バッファ８４から元画像データにおける横ｒ番目，縦ｓ番目のブロックにあたる画像データを読み出して分割画像データとして回転用バッファ８６に記憶する（ステップＳ１６０）。いま、ポインタｒ，ｓは共に値１であるので、横１番目，縦１番目のブロック、すなわち、図６における位置番号ｉ＝１のブロックの画像データを読み出して分割画像データとして回転用バッファ８６に記憶することになる。そして、ステップＳ１６０で回転用バッファ８６に記憶した分割画像データを回転角Ｒだけ回転させる処理を行う（ステップＳ１７０）。いま、回転角Ｒの値は９０であるので、図６における位置番号ｉ＝１のブロックの分割画像データを時計回りに９０°回転させたデータが回転用バッファ８６に記憶されることになる。次に、ステップＳ１７０の処理を行った分割画像データの回転後における位置番号ｉを導出する（ステップＳ１８０）。ここで、図６の画像を時計回りに９０°回転させた画像を図７に示す。図７に示すように、画像の回転前と回転後とでは、各分割画像データにおける位置番号ｉの値が異なる。なお、説明の便宜上、回転前の位置番号ｉを位置番号ｉｂ、回転後の位置番号ｉを位置番号ｉａと記述する。例えば、回転前の位置番号ｉｂ＝１（すなわち図６における位置番号ｉ＝１）の分割画像データは、回転後の位置番号ｉａ＝ｄ（すなわち図７における位置番号ｉ＝ｄ）の分割画像データとして集合ファイルに記憶する必要があるのである。この回転後の位置番号ｉａは、回転角Ｒの値に応じて下記の式（１）〜（４）のいずれかによって導出することができる。いま、回転角Ｒは値９０、ポインタｒ，ｓは共に値１、縦ブロック数Ｈは値ｄであり、式（２）より位置番号ｉａとして値ｄが得られる。なお、式（１）〜（４）は、フラッシュＲＯＭ７０に記憶されている。
【００２６】
Ｒ＝    ０のとき：ｉａ＝（ｓ−１）×Ｗ＋ｒ                （１）
Ｒ＝  ９０のとき：ｉａ＝ｒ×Ｈ−ｓ＋１                    （２）
Ｒ＝１８０のとき：ｉａ＝（Ｈ−ｓ＋１）×Ｗ−ｒ＋１        （３）
Ｒ＝２７０のとき：ｉａ＝（Ｗ−ｒ）×Ｈ＋ｓ                （４）
【００２７】
続いて、ＣＰＵ６０は、回転用バッファ８６に記憶されている回転後の分割画像データをＪＰＥＧ方式により符号化し（ステップＳ１９０）、符号化した分割画像データとアドレスポインタｔと位置番号ｉａとをメモリカードコントローラ３４に出力する（ステップＳ２００）。これにより、メモリカードコントローラ３４は、ステップＳ１２０で作成したメモリカード３２の集合ファイルの記憶領域のうち、インデックス部の対応位置格納部に位置番号ｉａとアドレスポインタｔとを対応づけて記憶するとともに、分割画像部のアドレスＡ＝ｔで特定される位置から分割画像データを書き込み、末尾にＥＮＤ情報を書き込む。いま、位置番号ｉａとして値ｄ、アドレスポインタｔとして値１がＣＰＵ６０から出力されているので、位置番号ｉ＝ｄとアドレスＡ＝１とを対応付けて対応位置格納部に記憶するとともに、分割画像データをアドレスＡ＝１の位置から書き込むことになる。
【００２８】
ステップＳ２００の処理を行うと、ＣＰＵ６０は、横ポインタｒとアドレスポインタｔとを１インクリメントし（ステップＳ２１０）、横ポインタｒが横ブロック数Ｗより大きいか否かを判定し（ステップＳ２２０）、否定的な判定がなされたときにはステップＳ１６０〜Ｓ２２０の処理を繰り返す。いま、横ポインタｒはステップＳ２１０により値２となっており、横ブロック数Ｗの値ｃが値２より大きいとすると、ステップＳ２２０で否定的な判定がなされてステップＳ１６０からの処理を行う。すなわち、デバイス用バッファ８４から元画像データにおける横２番目，縦１番目のブロック（図６における位置番号ｉ＝２のブロック）の画像データを読み出して分割画像データとして回転用バッファ８６に記憶することになる。そして、上述したステップＳ１７０〜Ｓ２２０の処理を行う。このようにして、ステップＳ１６０〜Ｓ２２０の処理が横ブロック数Ｗの値であるｃ回繰り返され、ｃ回目のステップＳ２２０で肯定的な判定がなされることになる。これにより、ステップＳ１４０でデバイス用バッファ８４に記憶された縦１ブロック×横Ｗ（＝ｃ）ブロック分の元画像データを、回転前の位置番号ｉｂ（すなわち図６における位置番号ｉ）＝１，２，３，・・・，ｃのｃ個の分割画像データとして読み出し、回転後の位置番号ｉａ（すなわち図７における位置番号ｉ）＝ｄ，２×ｄ，３×ｄ，・・・，ｃ×ｄのｃ個の分割画像データとして集合ファイルに記憶する処理が行われることになる。
【００２９】
ステップＳ２２０で肯定的な判定がなされると、縦ポインタｓを１インクリメントし（ステップＳ２３０）、縦ポインタｓが縦ブロック数Ｈより大きいか否かを判定し（ステップＳ２４０）、否定的な判定がなされたときにはステップＳ１４０〜ステップＳ２４０の処理を繰り返す。いま、ステップＳ１６０〜Ｓ２２０の処理がｃ回繰り返されて、横ポインタｒは値ｃ＋１であり，ステップＳ２３０により縦ポインタｓは値２となっているので、縦ブロック数Ｈの値ｄが値２より大きいとすると、ステップＳ２４０で否定的な判定がなされてステップＳ１４０から処理を行う。すなわち、ステップＳ１４０で読取デバイス２２が縦２ブロック×横Ｗブロック分の読み取りが完了したか否かを判定し、肯定的な判定がなされればステップＳ１５０で横ポインタｒを値１に初期化して、ステップＳ１６０〜Ｓ２２０の処理をｃ回繰り返し行うのである。これにより、回転前の位置番号ｉｂ（すなわち図６における位置番号ｉ）＝ｃ＋１，ｃ＋２，ｃ＋３，・・・，２×ｃのｃ個の分割画像データが、回転後の位置番号ｉａ（すなわち図７における位置番号ｉ）＝ｄ−１，２×ｄ−１，３×ｄ−１，・・・，ｃ×ｄ−１のｃ個の分割画像データとして集合ファイルに記憶する処理が行われることになる。そして、このステップＳ１４０〜Ｓ２４０までの処理は縦ブロック数Ｈの値であるｄ回繰り返され、位置番号ｉ＝１，２，・・・，ｄ×ｃまでの全ての分割画像データが集合ファイルに記憶された後にステップＳ２４０で肯定的な判定がなされることになる。
【００３０】
ステップＳ２４０で肯定的な判定がなされると、回転角Ｒの値に応じて回転後における単位画素数Ｘ，Ｙ，ブロック数Ｗ，Ｈを導出する（ステップＳ２５０）。図７に示すように、画像の向きが変わると、回転後の画像データにおける単位画素数Ｘ，Ｙ、ブロック数Ｗ，Ｈの値も変化するため、変化後の値を導出する必要がある。ステップＳ２５０では、回転角Ｒが値０又は値１８０のときには、回転後の単位画素数Ｘ，Ｙ、ブロック数Ｗ，Ｈの値はステップＳ１００で取得した値と同じ値とし、回転角Ｒが値９０又は値２７０のときには、ステップＳ１００で取得した単位画素数Ｘ，Ｙの値を入れ替えて回転後の単位画素数Ｘ，Ｙの値とし、ステップＳ１００で取得したブロック数Ｗ，Ｈの値を入れ替えて回転後のブロック数Ｗ，Ｈの値とする。いま、回転角Ｒは値９０であるので、回転後の単位横画素数Ｘは値ｂ、単位縦画素数Ｙは値ａ、横ブロック数Ｗは値ｄ，縦ブロック数Ｈは値ｃとなる。
【００３１】
ステップＳ２５０の処理を行うと、導出した回転後の単位画素数Ｘ，Ｙ、ブロック数Ｗ，Ｈをメモリカードコントローラ３４に出力して（ステップＳ２６０）、本ルーチンを終了する。これにより、メモリカードコントローラ３４は、メモリカード３２の集合ファイルの記憶領域のうち、インデックス部のサイズ格納部に回転後の単位画素数Ｘ，Ｙ、ブロック数Ｗ，Ｈの値を記憶する。
【００３２】
以上のように読み取り画像処理ルーチンが終了すると、メモリカード３２には、図８に示すような集合ファイルが作成されることになる。この集合ファイルでは、回転後の位置番号ｉと回転後の分割画像データの格納位置を表すアドレスＡとが対応づけられて対応位置格納部に記憶されているため、位置番号ｉの値にしたがって順番に左上から分割画像データを配置すれば、図７に示した回転後の画像データが得られるようになっている。
【００３３】
なお、上記は回転角Ｒが値９０の場合を例として説明したが、回転角Ｒが値０，１８０，２７０の場合も同様に読み取り画像処理ルーチンを実行することで回転後の位置番号ｉと回転後の分割画像データの格納位置を表すアドレスＡとが対応づけられた集合ファイルを作成することができる。回転角Ｒが値０の場合の回転後の画像データ及び集合ファイルを図９，１０に、回転角Ｒが値１８０の場合の回転後の画像データ及び集合ファイルを図１１，１２に、回転角Ｒが値２７０の場合の回転後の画像データ及び集合ファイルを図１３，１４にそれぞれ示す。
【００３４】
次に、メモリカード３２に記憶されている画像データを印刷デバイス２０によって印刷する際の印刷画像処理について説明する。図１５は、印刷画像処理ルーチンの一例を示すフローチャートである。このルーチンは、ユーザが操作パネル４０の操作部４４を操作して、メモリカード３２に記憶されている集合ファイル中の画像データを印刷するよう指示したときに実行される。この印刷画像処理ルーチンが実行されると、ＣＰＵ６０は、まず、印刷するよう指示された集合ファイルのサイズ格納部に記憶された単位横画素数Ｘ，単位縦画素数Ｙ，横ブロック数Ｗ，縦ブロック数Ｈの値をメモリカードコントローラ３４を介して取得するとともに、ユーザが印刷指示をする際に操作パネル４０から入力した回転角Ｒの値を取得し、取得した各値をＲＡＭ８０の設定値用バッファ８２に記憶する（ステップＳ３００）。なお、以降は、ユーザが印刷するよう指示した集合ファイルは図１０に示した集合ファイル（すなわち図９に示した画像データ）であり、回転角Ｒは値９０であるものとして説明を行う。
【００３５】
次に、ＣＰＵ６０は、設定値用バッファ８２に記憶した単位横画素数Ｘ，単位縦画素数Ｙ，横ブロック数Ｗ，縦ブロック数Ｈ，回転角Ｒの値を印刷デバイス２０に出力する（ステップＳ３１０）。すなわち、単位横画素数Ｘとして値ａ，単位縦画素数Ｙとして値ｂ，横ブロック数Ｗとして値ｃ，縦ブロック数Ｈとして値ｄ，回転角Ｒとして値９０を印刷デバイス２０に出力することになる。
【００３６】
続いて、縦ポインタｓを値１に初期化し（ステップＳ３２０）、横ポインタｒを値１に初期化する（ステップＳ３３０）。そして、回転後の画像データのポインタｒ，ｓの値に対応するブロックの回転前の位置番号ｉｂを導出する（ステップＳ３４０）。ここで、図９に示した画像データを時計回りに９０°回転させると、図７に示した画像になる。印刷デバイス２０は、画像データの上部から下部へ向かって順番に記録紙Ｓへの印刷を行うため、回転前の位置番号ｉｂ（すなわち図９における位置番号ｉ）の順ではなく、回転後の位置番号ｉａ（すなわち図７における位置番号ｉ）の順で分割画像データを印刷デバイス２０に出力する必要がある。したがって、回転後の位置番号ｉａに対応する回転前の位置番号ｉｂを導出するのである。この回転前の位置番号ｉｂは、回転角Ｒの値に応じて下記の式（５）〜（８）のいずれかによって導出することができる。いま、回転角Ｒは値９０、ポインタｒ，ｓは共に値１、横ブロック数Ｗは値ｃ、縦ブロック数Ｈは値ｄであるため、式（６）より回転前の位置番号ｉｂとして値（ｄ−１）×ｃ＋１が得られる。よって、ポインタｒ，ｓが共に値１（すなわち回転後の位置番号ｉａ＝１）のブロックに対応する回転前の位置番号ｉｂの値が（ｄ−１）×ｃ＋１であることがわかる。なお、式（５）〜（８）は、フラッシュＲＯＭ７０に記憶されている。
【００３７】
Ｒ＝    ０のとき：ｉｂ＝（ｓ−１）×Ｗ＋ｒ                （５）
Ｒ＝  ９０のとき：ｉｂ＝（Ｈ−ｒ）×Ｗ＋ｓ                （６）
Ｒ＝１８０のとき：ｉｂ＝（Ｈ−ｓ＋１）×Ｗ−ｒ＋１        （７）
Ｒ＝２７０のとき：ｉｂ＝ｒ×Ｗ−ｓ＋１                    （８）
【００３８】
そして、ＣＰＵ６０は、ステップＳ３４０で導出した回転前の位置番号ｉｂに対応するアドレスの分割画像データを集合ファイルから読み出し（ステップＳ３５０）、読み出した分割画像データをＪＰＥＧ方式により復号化して回転用バッファ８６に記憶する（ステップＳ３６０）。いま、ステップＳ３４０で導出した回転前の位置番号ｉｂは値（ｄ−１）×ｃ＋１であり、図１０に示す集合ファイルの対応位置格納部で位置番号ｉ＝（ｄ−１）×ｃ＋１に対応するアドレスＡは値（ｄ−１）×ｃ＋１であるので、分割画像部におけるアドレスＡ＝（ｄ−１）×ｃ＋１からＥＮＤ情報までの分割画像データを読み出して復号化して回転用バッファ８６に記憶することになる。
【００３９】
続いて、ＣＰＵ６０は、ステップＳ３６０で回転用バッファ８６に記憶した分割画像データを回転角Ｒだけ回転させる処理を行う（ステップＳ３７０）。いま、回転角Ｒの値は９０であるので、回転用バッファ８６に記憶した回転前の位置番号ｉｂの分割画像データ、すなわち図９における位置番号ｉ＝（ｄ−１）×ｃ＋１のブロックの分割画像データを時計回りに９０°回転させたデータが回転用バッファ８６に記憶されることになる。そして、回転後の分割画像データをデバイス用バッファ８４に記憶するとともにその旨を印刷デバイス２０に通知し（ステップＳ３８０）、横ポインタｒを１インクリメントする（ステップＳ３９０）。
【００４０】
続いて、ＣＰＵ６０は、横ポインタｒが回転後の横ブロック数Ｗより大きいか否かを判定する（ステップＳ４００）。ここで、回転後の横ブロック数Ｗは、上述した読み取り画像処理ルーチンのステップＳ２５０と同様に回転角Ｒの値に応じて求めることができる。いま、回転角Ｒは値９０であるので、回転後の横ブロック数Ｗは、回転前の縦ブロック数Ｈと同じ値すなわち値ｄとなるため、横ポインタｒの値２が値ｄより大きいか否かを判定することになる。
【００４１】
回転後の横ブロック数Ｗの値ｄが値２より大きいとすると、ステップＳ４００で否定的な判定がなされ、ステップＳ３４０〜Ｓ４００の処理を繰り返す。これにより、ステップＳ３４０〜Ｓ４００の処理が回転後の横ブロック数Ｗの値であるｄ回繰り返され、ｄ回目のステップＳ４００で肯定的な判定がなされることになる。このｄ回の繰り返し処理によって、回転後の位置番号ｉａ（すなわち図７における位置番号ｉ）＝１，２，・・・，ｄのｄ個の分割画像データに対応する、回転前の位置番号ｉｂ（すなわち図９における位置番号ｉ）＝（ｄ−１）×ｃ＋１，（ｄ−２）×ｃ＋１，・・・，１のｄ個の分割画像データが集合ファイルから読み出されて順番にデバイス用バッファ８４に記憶する処理が行われることになる。
【００４２】
ステップＳ４００で肯定的な判定がなされると、縦ポインタｓを１インクリメントし（ステップＳ４１０）、縦ポインタｓが回転後の縦ブロック数Ｈより大きいか否かを判定する（ステップＳ４２０）。回転後の縦ブロック数Ｈも、上述した読み取り画像処理ルーチンのステップＳ２５０と同様に回転角Ｒの値に応じて求めることができる。いま、回転角Ｒは値９０であるので、回転後の縦ブロック数Ｈは、回転前の横ブロック数Ｗと同じ値すなわち値ｃとなるため、縦ポインタｓの値２が値ｃより大きいか否かを判定することになる。
【００４３】
回転後の縦ブロック数Ｈの値ｃが値２より大きいとすると、ステップＳ４２０で否定的な判定がなされ、ステップＳ３３０〜Ｓ４００の処理を繰り返す。これにより、ステップＳ３３０〜Ｓ４００の処理が回転後の縦ブロック数Ｈの値であるｃ回繰り返され、ｃ回目のステップＳ４００で肯定的な判定がなされたときに本ルーチンを終了する。このｃ回の繰り返し処理によって、回転後の位置番号ｉａ（すなわち図７における位置番号ｉ）＝１，２，・・・，ｄ×ｃまでの全てのブロックに対応する分割画像データが、回転後の位置番号ｉａの順番通りに集合ファイルから読み出されてデバイス用バッファ８４に記憶されることになる。
【００４４】
一方、印刷デバイス２０は、ステップＳ３１０で出力された単位横画素数Ｘ，単位縦画素数Ｙ，横ブロック数Ｗ，縦ブロック数Ｈ，回転角Ｒの値に基づいて印刷すべき画像データ全体の大きさや、画像データにおける分割画像データの配置を把握することができるため、ステップＳ３８０の通知がある度にデバイス用バッファ８４に記憶された分割画像データに基づいて、画像データの上部から下部へ向かって順番に記録紙Ｓへの印刷を行うことができる。その結果、記録紙Ｓには、図９に示す画像データを時計回りに９０°回転した画像である図７の画像が印刷される。
【００４５】
なお、上記は回転角Ｒが値９０の場合を例として説明したが、回転角Ｒが値０，１８０，２７０の場合も同様に印刷画像処理ルーチンを実行することで集合ファイルから回転後の位置番号ｉａの順番通りに分割画像データを読み出して印刷を行うことができる。回転角Ｒが値０，１８０，２７０のときは、それぞれ図９，１１，１３に示す画像が記録紙Ｓに印刷されることになる。
【００４６】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のメモリカード３２が回転前符号化データ組記憶手段に相当し、フラッシュＲＯＭ７０が位置関係記憶手段に相当し、ＣＰＵ６０が回転後データ組作成手段，回転前データ組作成手段，回転後符号化データ組集合作成手段，分割手段，符号化手段，符号化データ組集合作成手段に相当し、印刷デバイス２０が画像作成手段に相当し、読み取りデバイス２２が取得手段に相当する。
【００４７】
以上詳述した実施形態によれば、読み取り画像処理や印刷画像処理において、回転用バッファ８６に１つの分割画像データを保持する容量があれば、画像データを分割した分割画像データごとに回転処理を行うことができ、画像データ全体を回転させる場合と比較して必要な回転用バッファ８６の容量が小さくなる。
【００４８】
また、印刷画像処理において、回転後の位置情報ｉａの順番通りに分割画像データが集合ファイルから読み出されるため、読み出した分割画像データを回転する処理と回転後の分割画像データを印刷する処理とをパイプライン処理で行うことができ、全体としてより短時間で処理を行うことができる。
【００４９】
また、読み取り画像処理において、読み取りデバイス２２が画像データを全て読み取るのを待つことなく順次デバイス用バッファ８４から分割画像データを作成することができるため、読み取りデバイス２２が画像データを読み取る処理と読み取り画像処理ルーチンのステップＳ１４０〜Ｓ２４０を繰り返して集合ファイルを作成する処理とをパイプライン処理で行うことができ、全体としてより短時間で処理を行うことができる。
【００５０】
また、画像データを分割して集合ファイルの形式でメモリカード３２に記憶するため、分割画像部の分割画像データを対応位置格納部やサイズ格納部に記憶された情報を用いて配置するだけで元の画像データを得ることができる。そして、元の画像データを回転させた画像データを得たい場合にも、分割画像データを個別に回転させ、それを対応位置格納部やサイズ格納部に記憶された情報を用いて回転後の位置に配置すればよいため、回転時の処理には１つの分割画像データを保持するバッファがあればよく、対象画像データ全体を回転させる場合と比較して必要なバッファの容量が小さくなる。
【００５１】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００５２】
例えば、上述した実施形態では、位置番号ｉは分割画像データの左上から右下に順に付される番号としているが、画像データにおける分割画像データの位置を表すことができる位置情報であればどのようなものを用いてもよい。例えば、画像データの外周の分割画像データから中心の分割画像データに向かって時計回りに位置番号ｉが順に付されるものとしてもよい。また、例えば画像データにおける横方向をｘ軸，縦方向をｙ軸として、ｘとｙの座標で分割画像データの位置を表すものとしてもよい。こうすれば、横ブロック数Ｗや縦ブロック数Ｈがなくとも分割画像データの位置を表すことができる。
【００５３】
上述した実施形態では、インデックス部と分割画像部とを備えた集合ファイルの形式で分割画像データとその位置を表す情報とを記憶するものとしているが、他の形式で記憶するものとしてもよい。例えば、上述したｘとｙの座標で分割画像データの位置を表す場合において、集合ファイルは分割画像データとｘｙ座標とを対応づけたデータ組の集合としてもよい。こうすれば、サイズ格納部や対応位置格納部がなくとも、各分割画像データを対応するｘｙ座標の位置に配置することで、元の画像データを得ることができる。この場合、回転処理を行うときには回転前のｘｙ座標から回転後のｘｙ座標を導出すればよい。
【００５４】
上述した実施形態では、分割画像部においてアドレスＡの値１，２，３，・・・ｎによって分割画像データの先頭データの位置を特定できるものとしているが、アドレスＡの値は他の値を取るものとしてもよく、アドレスＡは分割画像部における位置をバイト単位またはビット単位で指定するものとしてもよい。例えば、バイト単位で指定するものとすると、アドレスＡ＝０で特定される分割画像データが１０ｋバイトであった場合、次のアドレスＡは値１０となり、アドレスＡ＝１０で特定される分割画像データが１５ｋバイトであった場合、次のアドレスＡは値２５となるなど、分割画像データのデータ量に応じてアドレスＡの値が定まるものとしてもよい。また、アドレスではなく、分割画像データに割り当てられた識別番号によって分割画像データを特定するものとしてもよい。この場合、分割画像データと識別番号とを対応づけて分割画像部に記憶しておき、対応位置格納部には位置番号ｉと識別番号とを対応づけて記憶しておけばよい。
【００５５】
上述した実施形態では、元画像データが横Ｘ画素，縦Ｙ画素の分割画像データの整数倍の大きさであるものとして説明したが、例えば、元画像データが横２０００画素×縦３０００画素のデータであり、分割画像データが横６４画素×縦６４画素である場合のように、整数倍でない場合があってもよく、その場合の元画像データのない部分を表す値として上余白Ｓａ，右余白Ｓｂ，下余白Ｓｃ，左余白Ｓｄを用いるものとしてもよい。この場合、図１６に示すように、横ブロック数Ｗが値３２、縦ブロック数Ｈが値４７、上余白Ｓａが値０，右余白Ｓｂが値４８，下余白Ｓｃが値８，左余白Ｓｄが値０となる。このようにすれば、元画像データから分割画像データを読み出す（読み取り画像処理ルーチンにおけるステップＳ１６０）際に、位置番号ｉの値と余白Ｓａ，Ｓｂ，Ｓｃ、Ｓｄの値とから余白を含む分割画像データであるか否かを判定して、余白を含む分割画像データである場合には横６４画素×縦６４画素のブロックではなく余白部分を除いた大きさのブロック（例えば、位置番号ｉ＝Ｗのブロックの場合は横１６画素×縦６４画素のブロック）として分割画像データを読み出すことができる。また、元画像データから分割画像データを読み出す際に、余白部分にＮＵＬＬ値や白色の画像データがあるものとして横６４×縦６４画素のブロックとして分割画像データを読み出すこともできる。さらに、読み取り画像処理ルーチンにおけるステップＳ２５０において回転角Ｒの値に応じた回転後における余白Ｓａ，Ｓｂ，Ｓｃ，Ｓｄを導出して集合ファイルのサイズ格納部に記憶するようにしておいてもよい。具体的には、回転角Ｒが値０のときには余白Ｓａ，Ｓｂ，Ｓｃ，Ｓｄをそのまま回転後の値として記憶し、回転角Ｒが値９０のときには回転後の上余白Ｓａを回転前の左余白Ｓｄの値、回転後の右余白Ｓｂを回転前の上余白Ｓａの値、回転後の下余白Ｓｃを回転前の右余白Ｓｂの値、回転後の左余白Ｓｄを回転前の下余白Ｓｃの値とし、回転角Ｒが値１８０のときには回転後の上余白Ｓａを回転前の下余白Ｓｃの値、回転後の右余白Ｓｂを回転前の左余白Ｓｄの値、回転後の下余白Ｓｃを回転前の上余白Ｓａの値、回転後の左余白Ｓｄを回転前の右余白Ｓｂの値とし、回転角Ｒが値２７０のときには回転後の上余白Ｓａを回転前の右余白Ｓｂの値、回転後の右余白Ｓｂを回転前の下余白Ｓｃの値、回転後の下余白Ｓｃを回転前の左余白Ｓｄの値、回転後の左余白Ｓｄを回転前の上余白Ｓａの値とすればよい。こうして回転後の余白Ｓａ，Ｓｂ，Ｓｃ，Ｓｄをサイズ格納部に記憶しておくことで、印刷画像処理ルーチンのステップＳ３６０において復号化した分割画像データを回転用バッファに記憶する際に、位置番号ｉの値と余白Ｓａ，Ｓｂ，Ｓｃ、Ｓｄの値とから余白を含む分割画像データであるか否かを判定して、余白を含む分割画像データである場合には横６４画素×縦６４画素のブロックではなく余白部分を除いた大きさのブロック（位置番号ｉ＝Ｗのブロックの場合は横１６画素×縦６４画素のブロック）として分割画像データを回転用バッファに記憶することができる。
【００５６】
上述した実施形態では、読み取り画像処理ルーチンのステップＳ１００において、ユーザが入力した単位横画素数Ｘ，単位縦画素数Ｙ，横ブロック数Ｗ，縦ブロック数Ｈ，回転角Ｒの値をＣＰＵ６０が取得して設定値用バッファ８２に記憶するものとしているが、あらかじめ設定値用バッファ８２に設定されているものとしてもよい。また、ユーザは回転角Ｒのみを設定するものとし、単位横画素数Ｘ，単位縦画素数Ｙ，横ブロック数Ｗ，縦ブロック数Ｈは読み取る書類の大きさに応じてＣＰＵ６０が設定するものとしてもよい。読み取る書類の大きさはガラス台３６上の書類の大きさを検出するセンサによって検出するものとしてもよいし、ユーザが指定するものとしてもよい。
【００５７】
上述した実施形態では、読取デバイス２２が画像を読み取った画像データから分割画像データを作成して集合ファイルを作成する機能と、集合ファイルから分割画像データを読み出して記録紙Ｓに印刷を行う機能をともに備えた複合機１０として説明したが、いずれか一方の機能のみを備えたスキャナまたはプリンタとしてもよい。また、他のスキャナやデジタルカメラによって作成されたＪＰＥＧ方式で符号化された１つの画像データを復号化し、復号化した画像データを分割・回転・再符号化して集合ファイルを作成する画像処理装置としてもよいし、集合ファイルから分割画像データを読み出して回転角Ｒだけ回転させてディスプレイ上に画像を表示する画像処理装置としてもよい。
【００５８】
上述した実施形態では、分割画像データをＪＰＥＧ方式で符号化，復号化するものとしているが、他の方式による符号化，復号化を行うものとしてもよい。
【図面の簡単な説明】
【００５９】
【図１】本実施形態である複合機１０の構成の概略を示す構成図。
【図２】複合機１０の電気的接続を表すブロック図。
【図３】元画像データと分割画像データとの関係を示す説明図。
【図４】集合ファイルのデータ構造を示す説明図。
【図５】読み取り画像処理ルーチンの一例を示すフローチャート。
【図６】元画像データと分割画像データの一例を示す説明図。
【図７】元画像データを時計回りに９０°回転させた様子を示す説明図。
【図８】元画像データを時計回りに９０°回転させた集合ファイルの説明図。
【図９】元画像データを時計回りに０°回転させた様子を示す説明図。
【図１０】元画像データを時計回りに０°回転させた集合ファイルの説明図。
【図１１】元画像データを時計回りに１８０°回転させた様子を示す説明図。
【図１２】元画像データを時計回りに１８０°回転させた集合ファイルの説明図。
【図１３】元画像データを時計回りに２７０°回転させた様子を示す説明図。
【図１４】元画像データを時計回りに２７０°回転させた集合ファイルの説明図。
【図１５】印刷画像処理ルーチンの一例を示すフローチャート。
【図１６】元画像データが分割画像データの整数倍でない場合の様子を示す説明図。
【符号の説明】
【００６０】
１０  複合機，２０  印刷デバイス，２２  読取デバイス，３０  メモリカードスロット，３２  メモリカード，３４  メモリカードコントローラ，３６  ガラス台，４０  操作パネル，４２  表示部，４４  操作部，５０  メインコントローラ，６０  ＣＰＵ，７０  フラッシュＲＯＭ，８０  ＲＡＭ，８２  設定値用バッファ，８４  デバイス用バッファ，８６  回転用バッファ，９４  バス，Ｓ  記録紙。
【図１】
2010114576.tif 000003
【図２】
2010114576.tif 000004
【図３】
2010114576.tif 000005
【図４】
2010114576.tif 000006
【図５】
2010114576.tif 000007
【図６】
2010114576.tif 000008
【図７】
2010114576.tif 000009
【図８】
2010114576.tif 000010
【図９】
2010114576.tif 000011
【図１０】
2010114576.tif 000012
【図１１】
2010114576.tif 000013
【図１２】
2010114576.tif 000014
【図１３】
2010114576.tif 000015
【図１４】
2010114576.tif 000016
【図１５】
2010114576.tif 000017
【図１６】
2010114576.tif 000018