(57)【要約】【課題】データの抜けをより抑制して間引きしたデータを転送する。【解決手段】間引回路３３は、ＭＣＵ単位でデータの間引き処理を実行し、ＤＭＡ転送単位以下の間引き後のデータが出力されるときには、複数のＭＣＵでＳＤＲＡＭ２５へデータ転送するよう切り替え、この複数のＭＣＵでのデータ転送の際に、最後のデータ転送が１ＤＭＡ転送単位に足りないときにはこの最後のデータ転送にダミーデータを付加してデータ転送を実行する。ＤＭＡ転送単位に足りないときには、データ転送自体が省略されてしまうことがあるが、ここでは、ダミーデータを付加することによりＤＭＡ転送単位に足りないデータの転送を確保するのである。【選択図】図１
2009090543.tif 000002
【特許請求の範囲】
【請求項１】
画像データを変換して所定の転送データ量単位でデータを記憶手段へ転送する情報処理装置であって、
画像データを構成する画像構成単位でデータの間引き処理を実行する間引き手段と、
前記転送データ量単位以下のデータが前記間引き手段から出力されるときには複数の画像構成単位で前記記憶手段へデータ転送するよう切り替え、該複数の画像構成単位でのデータ転送の際に、最後のデータ転送が前記転送データ量単位に足りないときには該データ転送の間のいずれかにダミーデータを付加してデータ転送を実行するデータ転送手段と、
を備えた情報処理装置。
【請求項２】
前記データ転送手段は、複数の画像構成単位で前記記憶手段へデータ転送するに際して、２ｎ個（ｎは１以上の整数）の前記画像構成単位による転送データ量単位でデータ転送を実行し、ダミーデータを付加してデータ転送を実行するに際して、前記画像データにおいて、Ｘ軸方向の画像構成単位数がｎ（ａ＋１）個（ａは１以上の整数）であり、該Ｘ軸に直交するＹ軸方向の画像構成単位数が２ｂ＋１（ｂは１以上の整数）であるときには、（ｂ＋１）回×（ａ＋２）／２回の２ｎ個の前記画像構成単位によるデータ転送と、ｂ回×ａ／２回の２ｎ個の前記画像構成単位によるデータ転送と、を実行すると共に、該データ転送の間のいずれかにｎ個のダミーデータを付加してデータ転送を実行する、請求項１に記載の情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
Ｘ軸方向の画像構成単位の位置をカウントするＸ軸カウンタと、
前記Ｙ軸方向の画像構成単位の位置をカウントするＹ軸カウンタと、を備え、
前記データ転送手段は、前記Ｙ軸カウンタ値が（ｂ＋１）を超える前には、前記Ｘ軸カウントエンド値をｎ（ａ＋２）に設定し前記２ｎ個の画像構成単位のデータ転送を実行すると前記Ｘ軸カウンタを２ｎインクリメントし前記Ｘ軸カウンタ値が前記Ｘ軸カウントエンド値となると前記Ｙ軸カウンタをインクリメントする一方、前記Ｙ軸カウンタ値が（ｂ＋１）を超えたあと前記Ｙ軸カウンタ値がｂを超えるまでは前記Ｘ軸カウントエンド値をｎａに設定し前記２ｎ個の画像構成単位のデータ転送を実行すると前記Ｘ軸カウンタを２ｎインクリメントし、前記Ｙ軸カウンタ値がＹ軸カウントエンド値であり前記Ｘ軸カウンタ値がカウントエンド値となるとデータ転送を終了する、情報処理装置。
【請求項４】
前記データ転送手段は、２ｎ個（ｎは１以上の整数）の前記画像構成単位による転送データ量単位でデータ転送を実行し、前記画像データにおいて、Ｘ軸方向の画像構成単位数がｎ（ｃ＋１）個（ｃは１以上の整数）であり、該Ｘ軸に直交するＹ軸方向の画像構成単位数が２ｄ（ｄは１以上の整数）であるときには、ｄ回×（ｃ＋２）／２回の２ｎ個の前記画像構成単位によるデータ転送と、ｄ回×ｃ／２回の２ｎ個の前記画像構成単位によるデータ転送と、を実行する、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記データ転送手段は、前記複数の画像構成単位でデータ転送するに際して、最後のデータ転送が前記転送データ量単位に足りないときには、該データ転送の最後に前記ダミーデータを付加してデータ転送を実行する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記データ転送手段は、前記ダミーデータを付加してデータ転送するに際して、前記画像データに含まれる前記画像構成単位の数と前記データ転送する複数の画像構成単位とにより定められるデータ量の前記ダミーデータを付加してデータ転送を実行する、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
請求項１〜６のいずれか１項に記載の情報処理装置と、
前記情報処理装置により間引き処理された画像データを記憶する記憶手段と、
前記記憶された間引き処理後の画像データを印刷媒体へ印刷出力する印刷出力手段と、
を備えた印刷装置。
【請求項８】
画像データを変換して転送データ量単位でデータを記憶手段へ転送する情報処理方法であって、
（ａ）画像データを構成する画像構成単位でデータの間引き処理を実行するステップと、
（ｂ）前記転送データ量単位以下のデータが前記ステップ（ａ）で出力されるときには複数の画像構成単位で前記記憶手段へデータ転送するよう切り替え、該複数の画像構成単位でのデータ転送の際に、最後のデータ転送が前記転送データ量単位に足りないときには該データ転送の間のいずれかにダミーデータを付加してデータ転送を実行するステップと、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来、情報処理装置としては、ＪＰＥＧ圧縮された画像データを展開して回転表示する際に、アドレスジェネレータ及びＵＶコンバータによって、ＲＡＭ内のビデオ出力容量域に格納されるべきＹ，Ｕ，Ｖデータの配列順序やＵＶデータ値の変更を制御することにより、画像データの展開と同時にＲＡＭ内に回転後の画像を配置することができるものが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２０００−３２２５６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、この特許文献１に記載された情報処理装置などでは、画像を扱う基本単位として８×８画素のいわゆるＭＣＵ単位を用いて、ＪＰＥＧ圧縮された画像データを展開したり、展開されたあとの画像データを縮小処理したり、表示出力したりする。この画像データの縮小処理においても、ＭＣＵ単位でいわゆる間引き処理を行い、処理後のデータをＲＡＭに出力することがある。また、所定のデータ量単位で処理を行うことによりＲＡＭへより高速で出力するバースト転送により展開されたあとの画像データの転送を実行することがある。この間引き処理後の画像データをバースト転送で転送する際において、データの間引き処理を実行すると、間引き処理後の画像データのデータ量の全体がバースト転送用のデータ量単位に足りないような場合が生じ、このような場合には、データの出力抜けが起きてしまうことがあった。
【０００４】
本発明は、このような課題に鑑みなされたものであり、データの抜けをより抑制して間引きしたデータを転送することができる情報処理装置、印刷装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の目的を達成するために以下の手段を採った。
【０００６】
本発明の情報処理装置は、
画像データを変換して所定の転送データ量単位でデータを記憶手段へ転送する情報処理装置であって、
画像データを構成する画像構成単位でデータの間引き処理を実行する間引き手段と、
前記転送データ量単位以下のデータが前記間引き手段から出力されるときには複数の画像構成単位で前記記憶手段へデータ転送するよう切り替え、該複数の画像構成単位でのデータ転送の際に、最後のデータ転送が前記転送データ量単位に足りないときには該データ転送の間のいずれかにダミーデータを付加してデータ転送を実行するデータ転送手段と、
を備えたものである。
【０００７】
この情報処理装置では、画像データを構成する画像構成単位でデータの間引き処理を実行し、転送データ量単位以下の間引き後のデータが出力されるときには、複数の画像構成単位で記憶手段へデータ転送するよう切り替え、この複数の画像構成単位でのデータ転送の際に、最後のデータ転送が転送データ量単位に足りないときにはこのデータ転送の間のいずれかにダミーデータを付加してデータ転送を実行する。このように、転送データ量単位に足りないときには、その足りないデータ転送自体が省略されてしまうことがあるが、ここでは、ダミーデータを付加することにより転送データ量単位に足りないデータの転送がなされるよう確保するのである。したがって、データの抜けをより抑制して間引きしたデータを転送することができる。ここで、「最後のデータ転送が転送データ量単位に足りないとき」は、データ転送の初期（データ転送前など）に判定してもよいし、最後のデータ転送の直近で判定するものとしてもよい。
【０００８】
本発明の情報処理装置において、前記データ転送手段は、複数の画像構成単位で前記記憶手段へデータ転送するに際して、２ｎ個（ｎは１以上の整数）の前記画像構成単位による転送データ量単位でデータ転送を実行し、ダミーデータを付加してデータ転送を実行するに際して、前記画像データにおいて、Ｘ軸方向の画像構成単位数がｎ（ａ＋１）個（ａは１以上の整数）であり、該Ｘ軸に直交するＹ軸方向の画像構成単位数が２ｂ＋１（ｂは１以上の整数）であるときには、（ｂ＋１）回×（ａ＋２）／２回の２ｎ個の前記画像構成単位によるデータ転送と、ｂ回×ａ／２回の２ｎ個の前記画像構成単位によるデータ転送と、を実行すると共に、該データ転送の間のいずれかにｎ個のダミーデータを付加してデータ転送を実行するものとしてもよい。このように、画像データのＸ軸方向の画像構成単位数がｎ（ａ＋１）個、即ち、２ｎ個によるＸ軸方向のデータ転送回数に半端分（ｎ個）があるときは、転送回数として省略されてしまうことがあり、更に、Ｙ軸方向が２ｂ＋１、即ち２で割り切れない奇数回数であるときは、画像構成単位によるデータ転送に不足分が生じてしまう。ここでは、データ転送のうち、Ｙ軸方向を（ｂ＋１）回とｂ回との２つに区分すると共に、（ｂ＋１）回側の半端分を埋めるデータをｂ回側から受け、ｂ回側の転送での不足分をｎ個のダミーデータで補うのである。こうすれば、比較的容易にデータの抜けをより抑制して間引きしたデータを転送することができる。このとき、前記データ転送手段は、Ｘ軸方向の画像構成単位数が２ｎ×ａ個であり、Ｙ軸方向の画像構成単位数がｂであるときには、ａ回×ｂ回の前記画像構成単位によるデータ転送を実行するものとしてもよい。こうすれば、Ｘ軸方向に半端がでないときには、Ｘ軸方向にａ回、Ｙ軸方向にｂ回という画像の配置を意識したデータ転送を実行することができる。また、このとき、本発明の情報処理装置は、Ｘ軸方向の画像構成単位の位置をカウントするＸ軸カウンタと、前記Ｙ軸方向の画像構成単位の位置をカウントするＹ軸カウンタと、を備え、前記データ転送手段は、前記Ｙ軸カウンタ値が（ｂ＋１）を超える前には、前記Ｘ軸カウントエンド値をｎ（ａ＋２）に設定し前記２ｎ個の画像構成単位のデータ転送を実行すると前記Ｘ軸カウンタを２ｎインクリメントし前記Ｘ軸カウンタ値が前記Ｘ軸カウントエンド値となると前記Ｙ軸カウンタをインクリメントする一方、前記Ｙ軸カウンタ値が（ｂ＋１）を超えたあと前記Ｙ軸カウンタ値がｂを超えるまでは前記Ｘ軸カウントエンド値をｎａに設定し前記２ｎ個の画像構成単位のデータ転送を実行すると前記Ｘ軸カウンタを２ｎインクリメントし、前記Ｙ軸カウンタ値がＹ軸カウントエンド値であり前記Ｘ軸カウンタ値がカウントエンド値となるとデータ転送を終了するものとしてもよい。こうすれば、カウンタを利用してより容易にデータの抜けをより抑制して間引きしたデータを転送することができる。
【０００９】
本発明の情報処理装置において、前記データ転送手段は、２ｎ個（ｎは１以上の整数）の前記画像構成単位による転送データ量単位でデータ転送を実行し、前記画像データにおいて、Ｘ軸方向の画像構成単位数がｎ（ｃ＋１）個（ｃは１以上の整数）であり、該Ｘ軸に直交するＹ軸方向の画像構成単位数が２ｄ（ｄは１以上の整数）であるときには、ｄ回×（ｃ＋２）／２回の２ｎ個の前記画像構成単位によるデータ転送と、ｄ回×ｃ／２回の２ｎ個の前記画像構成単位によるデータ転送と、を実行するものとしてもよい。こうすれば、画像データのＸ軸方向の画像構成単位数がｎ（ｃ＋１）個、即ち、転送回数として省略されてしまう、２ｎ個によるＸ軸方向のデータ転送回数に半端分（ｎ個）があり、且つＹ軸方向が２で割り切れる（２ｄ）ときに、一方の半端分を他方に振り分けてデータ転送を行うことにより、比較的容易にデータの抜けをより抑制して間引きしたデータを転送することができる。
【００１０】
本発明の情報処理装置において、前記データ転送手段は、前記複数の画像構成単位でデータ転送するに際して、最後のデータ転送が前記転送データ量単位に足りないときには、該データ転送の最後に前記ダミーデータを付加してデータ転送を実行するものとしてもよい。こうすれば、ダミーデータを取り除きやすい。
【００１１】
本発明の情報処理装置において、前記データ転送手段は、前記ダミーデータを付加してデータ転送するに際して、前記画像データに含まれる前記画像構成単位の数と前記データ転送する複数の画像構成単位とにより定められるデータ量の前記ダミーデータを付加してデータ転送を実行するものとしてもよい。こうすれば、比較的容易にダミーデータを付加することができる。このとき、画像データに含まれる画像構成単位の数を前記データ転送する前記間引き処理後の複数の画像構成単位（転送データ量単位）で除算し、その整数解と余りの値から前記ダミーデータのデータ量を求めるものとしてもよい。
【００１２】
本発明の印刷装置は、上述したいずれか１つに記載の情報処理装置と、前記情報処理装置により間引き処理された画像データを記憶する記憶手段と、前記記憶された間引き処理後の画像データを印刷媒体へ印刷出力する印刷出力手段と、を備えたものとしてもよい。印刷装置は、画像データを間引き処理して印刷することが多いから、本発明を適用する意義が高い。
【００１３】
本発明の情報処理方法は、
画像データを変換して転送データ量単位でデータを記憶手段へ転送する情報処理方法であって、
（ａ）画像データを構成する画像構成単位でデータの間引き処理を実行するステップと、
（ｂ）前記転送データ量単位以下のデータが前記ステップ（ａ）で出力されるときには複数の画像構成単位で前記記憶手段へデータ転送するよう切り替え、該複数の画像構成単位でのデータ転送の際に、最後のデータ転送が前記転送データ量単位に足りないときには該データ転送の間のいずれかにダミーデータを付加してデータ転送を実行するステップと、
を含むものである。
【００１４】
この情報処理方法では、画像データを構成する画像構成単位でデータの間引き処理を実行し、転送データ量単位以下の間引き後のデータが出力されるときには、複数の画像構成単位で記憶手段へデータ転送するよう切り替え、この複数の画像構成単位でのデータ転送の際に、最後のデータ転送が転送データ量単位に足りないときにはこのデータ転送の間のいずれかにダミーデータを付加してデータ転送を実行する。このように、転送データ量単位に足りないときには、その足りないデータ転送自体が省略されてしまうことがあるが、ここでは、ダミーデータを付加することにより転送データ量単位に足りないデータの転送を確保するのである。したがって、データの抜けをより抑制して間引きしたデータを転送することができる。なお、この情報処理方法において、上述した情報処理装置の種々の態様を採用してもよいし、また、上述した情報処理装置の各機能を実現するようなステップを追加してもよい。
【発明を実施するための最良の形態】
【００１５】
次に、本発明を実施するための最良の形態を図面を用いて説明する。図１は、本発明の一実施形態である印刷装置としてのプリンタ２０の構成の概略を示す構成図である。本実施形態のプリンタ２０は、装置全体の制御を司るコントローラ２１と、１クロックごとにデータを転送するバースト転送可能な一時的にデータを記憶するＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）２５と、記録紙Ｓへ画像を印刷処理する印刷機構２６と、接続されたパソコンなどの外部機器との間で情報の入出力が可能なインタフェース（Ｉ／Ｆ）２７と、携帯用の記憶媒体であるメモリカード１２をスロット２８ａに装着・取外し可能であるメモリカードコントローラ２８と、画像の回転や縮小を実行する回路である画像処理ＡＳＩＣ３０と、ユーザへ情報を表示可能でありユーザの指示を入力可能である操作パネル４０と、を備えている。コントローラ２１は、ＣＰＵ２２を中心とするマイクロプロセッサとして構成されており、各種処理プログラムを記憶したフラッシュＲＯＭ２３と、一時的にデータを記憶するキャッシュメモリ２４とを備えている。ＳＤＲＡＭ２５は、外部バスインターフェイスが一定周期のクロック信号に同期して動作し、１回のアドレス指定で複数のデータをまとめて連続的に転送するバースト転送可能なメインメモリである。印刷機構２６は、図示しないが、各色のインクに圧力をかけ、この加圧されたインクを記録紙Ｓに吐出して印刷処理を実行するインクジェット方式の機構である。なお、インクへ圧力をかける機構は、圧電素子の変形によるものとしてもよいしヒータの熱による気泡の発生によるものとしてもよい。
【００１６】
画像処理ＡＳＩＣ３０は、メモリカード１２などに記憶された圧縮された画像データを解凍して画像データに展開する画像展開回路３１と、展開された画像データを所定角度に回転処理する回転回路３２と、画像展開回路３１によって展開された画像データを間引き処理して縮小する間引回路３３と、画像データに所定の処理を実行する際に必要な情報がセットされるレジスタ３４と、画像のＸ軸方向（水平方向）のＭＣＵをカウントするＸｍｃｕカウンタ３５と、画像のＹ軸方向（Ｘ軸に直交する垂直方向）のＭＣＵをカウントするＹｍｃｕカウンタ３６と、を備えている。なお、ＭＣＵとは、「画像構成単位」であり、画像データを構成する８×８バイトの基本単位である。画像展開回路３１は、コントローラ２１からの指令に基づいて、メモリカード１２などへアクセスし圧縮保存されている画像データを展開（解凍）し、展開した画像データを回転回路３２や間引回路３３へ出力する処理を行う。回転回路３２は、画像展開回路３１により展開された画像データや間引回路３３によって間引かれた画像データを、例えば９０°や１８０°、２７０°などの角度に回転する回路である。この回転回路３２は、回転後の画像データをＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によりＳＤＲＡＭ２５へ書き込む処理を実行する。間引回路３３は、入力した画像データを、１／２間引き、１／４間引き、１／８間引きを単純間引きにより実行する回路として構成されている。この間引回路３３は、レジスタ３４にセットされている値やＸｍｃｕカウンタ３５，Ｙｍｃｕカウンタ３６を用いて間引き処理を実行し、間引き後の画像データを、回転回路３２へ出力したり、ＤＭＡによりＳＤＲＡＭ２５へ書き込む処理を実行したりする。レジスタ３４は、画像データのサイズに関する情報（例えばＸ軸方向のＭＣＵ数、Ｙ軸方向のＭＣＵ数など）や間引き率、回転角度などの各種設定値をセット・リセットする回路として構成されている。Ｘｍｃｕカウンタ３５は、レジスタ３４にセットされたＸ軸の最後のＭＣＵ番号であるＸｅｎｄ値と値「０」との間でカウント可能なアップダウンカウンタとして構成されている。このＸｍｃｕカウンタ３５は、ＭＣＵの内部のアドレスを生成する図示しないＸカウンタ及びＹカウンタが所定値（ここでは８×８）までカウントされると、アップ・ダウンカウントのいずれかに従ってカウンタ値が値「１」変更されるよう構成されている。また、Ｙｍｃｕカウンタ３６は、Ｘｍｃｕカウンタ３５がＸｅｎｄ値と値「０」との間ですべてカウントされると、アップ・ダウンカウントのいずれかに従ってカウンタ値が値「１」変更されるよう構成されている。なお、ここでは説明の便宜のため、Ｘｍｃｕカウンタ３５及びＹｍｃｕカウンタ３６について、カウントアップする場合について主に説明する。
【００１７】
操作パネル４０は、ユーザがプリンタ２０に対して各種の指示を入力するためのデバイスであり、カラー画像を表示する液晶パネルにより構成され各種の指示に応じた文字や画像が表示される表示部４２や、カーソルなどを移動させるときに押下されるカーソルキーや処理選択などを決定するときに押下される決定キーなどが配置され各種操作を行う操作部４４が設けられている。コントローラ２１やＳＤＲＡＭ２５、印刷機構２６、Ｉ／Ｆ２７、メモリカードコントローラ２８、画像処理ＡＳＩＣ３０、操作パネル４０は、バス２９によって電気的に接続されている。また、メモリカード１２は、データの書き込み及び消去可能な不揮発性のメモリであり、デジタルカメラなどの撮影装置により撮影された複数の画像ファイルなどが保存されている。この画像ファイルには、例えば、所定形式（例えばＪＰＥＧ形式）で圧縮された画像データとこの画像データの付加情報（撮影日時や撮影モードなど）とが格納されている。
【００１８】
このように構成されたプリンタ２０では、コントローラ２１や印刷機構２６、メモリカードコントローラ２８、画像処理ＡＳＩＣ３０などと、ＳＤＲＡＭ２５とのアクセスについて、転送速度の高速化や転送効率から経験的に１６ビット・４バースト転送、即ち「転送データ量単位」として１度に８バイト単位のデータを転送するように固定的に定められている。
【００１９】
次に、こうして構成された本実施形態のプリンタ２０の動作について説明する。ここでは、メモリカード１２に保存された画像ファイルのうち１つの画像を縮小（間引き）して表示部４２に表示及び印刷する場合について主に説明する。なお、画像を回転する処理についての説明は、説明の便宜により省略し、画像を回転しない場合について説明する。まず、最初に、ユーザは、操作部４４を操作し表示部４２に表示された画像を選択し、縮小処理を実行させる。すると、ＣＰＵ２２は、間引き数や回転角度などの実行条件をレジスタ３４にセットし、メモリカードコントローラ２８に画像データを画像展開回路３１へ出力処理させる。図２は、プリンタ２０の画像処理ＡＳＩＣ３０により実行される間引き実行ルーチンの一例を示すフローチャートである。この間引き実行ルーチンは、ＣＰＵ２２が送信した画像データの間引き処理指令を画像処理ＡＳＩＣ３０が受信したあと、画像処理ＡＳＩＣ３０により実行される。
【００２０】
このルーチンが開始されると、メモリカードコントローラ２８から入力した圧縮されている画像データを画像展開回路３１が展開処理する（ステップＳ１００）。なお、このとき、画像展開回路３１は、画像データのＸ軸方向のピクセル数及びＭＣＵ数と、Ｙ軸方向のピクセル数及びＭＣＵ数とをレジスタ３４にセットする処理を行う。こうして、ＣＰＵ２２は、レジスタ３４の値を確認することにより画像データのサイズやどのピクセルがどのＳＤＲＡＭ２５のアドレスに格納されているかを把握可能となる。ここでは、画像展開回路３１は、圧縮されているＹＵＶ形式の画像データからＲＧＢ形式の画像データへ変換するものとした。図３は、ＲＧＢデータに展開したときのＭＣＵの説明図であり、図４は、ＭＣＵにより構成される画像データの説明図である。図３に示すように、展開した画像データは、Ｒ，Ｇ，Ｂ，Ｎｕｌｌの４つのＭＣＵにより構成されると共に、画像データの１単位としてのＭＣＵは、８×８バイトのデータを含んで構成されている。即ち、Ｒ，Ｇ，Ｂ，Ｎｕｌｌの４バイトのデータによって１ピクセルのデータが構成されている。なお、Ｎｕｌｌデータは、何も含まれていないデータとしてもよいし、画像データに付帯する情報（例えば撮影日時など）を格納するものとしてもよい。
【００２１】
次に、間引き数の値を調べ（ステップＳ１１０）、間引き数が１／１，１／２，１／４であるときには、通常の間引き処理を実行し（ステップＳ１２０）、そのままこのルーチンを終了する。ここで、通常間引き処理について、例えば、１／１間引き、即ち間引きを実行しないときには、図４に示した画像データの左から右へ、上から下へＭＣＵ単位で転送データ量単位である８バイト（２ピクセル）ずつ、間引回路３３からＳＤＲＡＭ２５へＤＭＡによるバースト転送を実行する。図４は、Ｘ軸方向に１６ピクセル（２ＭＣＵ）、Ｙ軸方向に２４ピクセル（３ＭＣＵ）の画像データの一例を示した。例えば、図４において、１番目のＭＣＵのアドレス「０」から「１ｃ」まで転送し、次に「４０」から同様に「１ｄｃ」まで転送し、続いて２番目のＭＣＵのアドレス「２０」から「１ｆｃ」まで転送する処理を繰り返し、最後の「５ｆｃ」まで転送するのである。また、１／２間引きの際は、図３（ａ）に示すように、各ＭＣＵの左上側４×４ピクセルを転送対象とし、１／４間引きの際は、各ＭＣＵの左上側２×２ピクセルを転送対象とし、上記と同様の処理を実行する。なお、間引き数が１／１，１／２，１／４であるときには、Ｘ軸方向、Ｙ軸方向のＭＣＵの数が偶数・奇数にかかわらず、１ＭＣＵあたり２ピクセル以上存在するから、１ＤＭＡ転送単位の８バイト単位で転送可能である。このように、通常間引き処理では、画像の左から右へ、上から下へという、画像イメージに合わせたＳＤＲＡＭ２５のアドレスに画像処理ＡＳＩＣ３０の各回路を介して画像データを転送するのである。
【００２２】
一方、間引き数が１／８であるときには、１／８間引き処理を実行し（ステップＳ１３０）、このルーチンを終了する。ここで、１／８間引き処理では、図３（ａ）に示すように、１ＭＣＵあたり左上の１ピクセル（４バイト）のデータのみになるから、１ＭＣＵでは８バイト単位のバースト転送を実行することができない。このため画像処理ＡＳＩＣ３０では、基本的に隣のＭＣＵと合わせて２ＭＣＵごとにバースト転送するようにした。ところが、Ｘ軸方向のＭＣＵ数が奇数であるときやＹ軸方向のＭＣＵ数が奇数であるときなどには、隣のＭＣＵがない場合などがあり、不都合が生じる。ここでは、画像イメージを意識しないアドレスを用いてこの不都合を解消するものとした。具体的な内容を以下に説明する。図５は、１／８間引き処理ルーチンの一例を示すフローチャートである。このルーチンは、画像処理ＡＳＩＣ３０の間引回路３３によって実行される。このルーチンを開始すると、まず、間引回路３３は、Ｘｍｃｕカウンタ３５のカウンタ値Ｘを値「０」に、Ｙｍｃｕカウンタ３６のカウンタ値Ｙを値「１」にそれぞれ初期化し（ステップＳ２００）、Ｘ軸方向，Ｙ軸方向のＭＣＵ数を調べる（ステップＳ２１０）。このＸ軸方向，Ｙ軸方向のＭＣＵ数は、レジスタ３４にセットされた値を用いるものとした。
【００２３】
Ｘ軸方向のＭＣＵ数が偶数でありＹ軸方向のＭＣＵ数が偶数である場合、及びＸ軸方向のＭＣＵ数が偶数でありＹ軸方向のＭＣＵ数が奇数である場合、即ち、Ｘ軸方向のＭＣＵ数が２で割り切れる場合は、Ｙ軸方向のＭＣＵ数が偶数・奇数にかかわらず、Ｘ軸方向に２ＭＣＵ単位となるから、上述した通常間引き処理と同様に画像イメージを意識したＤＭＡ転送処理を実行する。具体的には、間引回路３３は、２ＭＣＵに対応する２ピクセルのＳＤＲＡＭ２５へのデータの書き込み処理を実行し（ステップＳ２２０）、Ｘｍｃｕカウンタ３５のカウンタ値を値「２」インクリメントし（ステップＳ２３０）、カウンタ値Ｘがエンド値Ｘｅｎｄであるか否かを判定する（ステップＳ２４０）。ここでは、エンド値ＸｅｎｄをＸ軸方向の最後のＭＣＵ値である値Ｘｍａｘとした。カウンタ値Ｘがエンド値Ｘｅｎｄでないときには、間引回路３３は、上述したステップＳ２２０〜Ｓ２４０の処理を繰り返す。一方、カウンタ値Ｘがエンド値Ｘｅｎｄであるときには、間引回路３３は、カウンタ値Ｘを値「０」にクリアし（ステップＳ２５０）、Ｙｍｃｕカウンタ３６のカウンタ値Ｙがエンド値Ｙｅｎｄであるか否かを判定する（ステップＳ２６０）。この１／８間引き処理ルーチンでは、エンド値ＹｅｎｄをＹ軸方向の最後のＭＣＵ値である値Ｙｍａｘとした。カウンタ値Ｙがエンド値Ｙｅｎｄでないときには、カウンタ値Ｙを値「１」インクリメントし（ステップＳ２７０）、カウンタ値Ｘがエンド値Ｘｅｎｄであり且つカウンタ値Ｙがエンド値Ｙｅｎｄに至るまで、上述したステップＳ２２０〜Ｓ２７０の処理を繰り返す。カウンタ値Ｘがエンド値Ｘｅｎｄであり且つカウンタ値Ｙがエンド値Ｙｅｎｄであるときには、ＳＤＲＡＭ２５への画像データの書き込みを完了すると共にＣＰＵ２２へ割込信号を出力し（ステップＳ２８０）、このルーチンを終了する。割込信号を受けたＣＰＵ２２は、レジスタ３４にセットされている値を用いて、ＳＤＲＡＭ２５のアドレスと画像のピクセルとの関係を把握し、ＳＤＲＡＭ２５に記憶された画像データを表示部４２に表示させたり、印刷機構２６に印刷出力させたりする。このように、Ｘ軸方向のＭＣＵ数が偶数であるときには、画像の左から右へ、上から下へという、画像イメージに合わせたＳＤＲＡＭ２５のアドレスに間引回路３３が画像データを転送するのである。
【００２４】
一方、Ｘ軸方向のＭＣＵ数が奇数でありＹ軸方向のＭＣＵ数が偶数である場合、即ち、Ｘ軸方向のＭＣＵ数が２で割り切れず、Ｙ軸方向のＭＣＵ数が２で割り切れる場合は、以下の処理を行うものとした。図６は、Ｘ軸方向のＭＣＵ数が奇数でありＹ軸方向のＭＣＵ数が偶数である場合のＤＭＡで転送するＳＤＲＡＭ２５のアドレスの概念図であり、図６（ａ）が画像イメージを意識したアドレス、図６（ｂ）が画像イメージを意識しないアドレスの概念図である。図６では、１／８間引き後にＸ軸方向が９ＭＣＵ、Ｙ方向が１０ＭＣＵとなる場合のアドレスについて示した。２ＭＣＵ単位でバースト転送を行う場合、図６（ａ）に示すように、Ｘ軸方向の最後のＭＣＵ数である値Ｘｍａｘ（図では値「９」）を２で除算したときに割り切れない小数点以下については回路構成上処理できず、ここでは、転送回数であるＤＭＡ数を値「４」として処理してしまい、右端の縦１列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。ここでは、図６（ｂ）に示すように、Ｙ軸方向のＭＣＵを２分割し、一方の奇数分のＭＣＵを他方にずらすような処理を行いＤＭＡによるバースト転送を実行するものとした。
【００２５】
具体的には、間引回路３３は、Ｙ軸方向の最後のＭＣＵ数である値Ｙｍａｘを２で除算した値よりもカウンタ値Ｙが小さいか否かを判定する（ステップＳ２９０）。この判定は、図６（ｂ）において、Ｙ軸方向の半分までデータ転送を実行したか否かを判定する処理である。カウンタ値Ｙが値Ｙｍａｘ／２よりも小さいときには、間引回路３３は、エンド値ＸｅｎｄにＸ軸方向の最後のＭＣＵ数Ｘｍａｘに１を加えた値をセットし（ステップＳ３００）、２ＭＣＵに対応する２ピクセルのＳＤＲＡＭ２５へのデータの書き込み処理を実行し（ステップＳ３１０）、Ｘｍｃｕカウンタ３５のカウンタ値を値「２」インクリメントする（ステップＳ３２０）。図６においては、本来、Ｘ軸方向にはＤＭＡ転送回数が４回となるところ（図６（ａ））、Ｙ軸方向の半分まではＸ軸方向に１ＭＣＵ増やす処理を行うことによりＤＭＡ転送回数を５回とするのである（図６（ｂ））。次に、間引回路３３は、カウンタ値Ｘがエンド値Ｘｅｎｄに至ったか否かを判定し（ステップＳ３３０）、カウンタ値Ｘがエンド値Ｘｅｎｄに至っていないときには、ステップＳ２９０以降の処理を実行する。一方、カウンタ値Ｘがエンド値Ｘｅｎｄに至ったときには、カウンタ値Ｘを値「０」にリセットし（ステップＳ３４０）、カウンタＹがエンド値Ｙｅｎｄに至ったか否かを判定する（ステップＳ３５０）。カウンタ値Ｙがエンド値Ｙｅｎｄに至っていないときには、カウンタＹの値を１インクリメントし（ステップＳ３６０）、即ち次のＸ軸の列の処理に移行し、ステップＳ２９０以降の処理を実行する。この処理を繰り返すうち、ステップＳ２９０でカウンタ値Ｙが値Ｙｍａｘ／２よりも大きいと判定されたときには、エンド値Ｘｅｎｄに値Ｘｍａｘから１を差し引いた値をセットし（ステップＳ３７０）、上述したステップＳ３１０以降の処理を実行する。そして、ステップＳ３３０でカウンタＸがエンド値Ｘｅｎｄに至ると共にステップＳ３５０でカウンタＹがエンド値Ｙｅｎｄに至ったときには、ＳＤＲＡＭ２５への画像データの書き込みを完了すると共にＣＰＵ２２へ割込信号を出力し（ステップＳ２８０）、そのままこのルーチンを終了する。このように、Ｘ軸方向のＭＣＵ数が奇数でありＹ軸方向のＭＣＵ数が偶数であるときには、画像イメージを意識しないＳＤＲＡＭ２５のアドレスに間引回路３３が画像データを転送するのである。なお、この処理について、２ｎ個（ｎは１以上の整数）のＭＣＵによるバースト転送データ量単位（１ＤＭＡ）でデータ転送を実行し、Ｘ軸方向のＭＣＵ数がｎ（ｃ＋１）個（ｃは１以上の整数）であり、Ｙ軸方向のＭＣＵ数が２ｄ（ｄは１以上の整数）であるときには、ｄ回×（ｃ＋２）／２回の２ｎ個のＭＣＵによるデータ転送と、ｄ回×ｃ／２回の２ｎ個のＭＣＵによるデータ転送と、を実行するものと一般化することができる。図６の例においては、２ＭＣＵによる１ＤＭＡでデータ転送を実行し、Ｘ軸方向のＭＣＵ数が１×（８＋１）＝９個、Ｙ軸方向のＭＣＵ数が２×５＝１０個であるから、ｎ＝１，ｃ＝８，ｄ＝５であり、５回×５回の２ＭＣＵによるデータ転送と、５回×４回の２ＭＣＵによるデータ転送と、を実行するのである。
【００２６】
一方、Ｘ軸方向のＭＣＵ数が奇数でありＹ軸方向のＭＣＵ数が奇数である場合、即ち、Ｘ軸方向及びＹ軸方向のＭＣＵ数が２で割り切れない場合は、以下の処理を行うものとした。図７は、Ｘ軸方向及びＹ軸方向のＭＣＵ数が奇数である場合のＤＭＡで転送するＳＤＲＡＭ２５のアドレスの概念図であり、図７（ａ）が画像イメージを意識したアドレス、図７（ｂ）が画像イメージを意識しないアドレスの概念図である。図７では、１／８間引き後にＸ軸方向が９ＭＣＵ、Ｙ方向が９ＭＣＵとなる場合のアドレスについて示した。２ＭＣＵ単位でバースト転送を行う場合、Ｘ軸方向が奇数であるときには、図７（ａ）に示すように、右端の縦１列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。また、上述のようにＹ軸方向のＭＣＵ数が偶数の場合はＹ軸方向に２分割可能であるが、Ｙ軸方向のＭＣＵ数が奇数の場合はＹ軸方向に２分割すると更に半端が生じる。ここでは、図７（ｂ）に示すように、前半に縦１列分を加算し、後半から縦１列分を減じると共に後半に生じる半端分に合わせてダミーデータを付加する処理を行いＤＭＡによるバースト転送を実行するものとした。このダミーデータは、読み捨てられ、特に内容に意味はないから、どのようなデータを用いてもよい。
【００２７】
具体的には、間引回路３３は、カウンタ値Ｙが値Ｙｍａｘを２で除算して１を加えた整数解の値よりも小さいか否かを判定する（ステップＳ３８０）。この判定は、図７（ｂ）において、Ｙ軸方向の半分より大きな整数の最も小さな値までデータ転送を実行したか否かを判定する処理である。カウンタ値Ｙが値Ｙｍａｘ／２＋１の整数解よりも小さいときには、間引回路３３は、エンド値Ｘｅｎｄに値Ｘｍａｘに１を加えた値をセットし（ステップＳ３９０）、カウンタ値Ｙがエンド値Ｙｅｎｄで且つカウンタ値Ｘがエンド値Ｘｅｎｄの２つ前であるか否かを判定する（ステップＳ４００）。この判定は、ダミーデータを付加する処理を実行するか否かを判定するものである。カウンタ値Ｙ＝Ｙｅｎｄ，カウンタ値Ｘ＝Ｘｅｎｄ−２を満たしていないときには、２ＭＣＵに対応する２ピクセルのＳＤＲＡＭ２５へのデータの書き込み処理を実行し（ステップＳ４１０）、Ｘｍｃｕカウンタ３５のカウンタ値を値「２」インクリメントする（ステップＳ４２０）。図７においては、本来、Ｘ軸方向にはＤＭＡ転送回数が４回となるところ（図７（ａ））、Ｙ軸方向の半分過ぎ直後まではＸ軸方向に１ＭＣＵ増やす処理を行うことによりＤＭＡ転送回数を５回とするのである（図７（ｂ））。次に、間引回路３３は、カウンタ値Ｘがエンド値Ｘｅｎｄであるか否かを判定し（ステップＳ４３０）、カウンタ値Ｘがエンド値Ｘｅｎｄでないときには、ステップＳ４００以降の処理を実行する。一方、カウンタ値Ｘがエンド値Ｘｅｎｄであるときには、カウンタ値Ｘを値「０」にリセットし（ステップＳ４４０）、カウンタＹの値を１インクリメントし（ステップＳ４５０）、即ち次のＸ軸の列の処理に移行し、ステップＳ３８０以降の処理を実行する。
【００２８】
この処理を繰り返すうち、ステップＳ３８０でカウンタ値Ｙが値Ｙｍａｘ／２＋１の整数解よりも大きいと判定されたときには、エンド値Ｘｅｎｄに値Ｘｍａｘから１を差し引いた値をセットし（ステップＳ４６０）、上述したステップＳ４００以降の処理を実行する。そして、ステップＳ４００でカウンタ値Ｙ＝Ｙｅｎｄ，カウンタ値Ｘ＝Ｘｅｎｄ−２を満たしているときには、図７（ｂ）に示すように、残り１ＭＣＵであることから、１ＭＣＵにダミーデータを付加したデータのＳＤＲＡＭ２５への書き込み処理を実行し（ステップＳ４７０）、ＳＤＲＡＭ２５への画像データの書き込みを完了すると共にＣＰＵ２２へ割込信号を出力し（ステップＳ２８０）、そのままこのルーチンを終了する。この割込信号を受けたＣＰＵ２２は、レジスタ３４にセットされている値を用いて、最後のＭＣＵはダミーデータであることを把握すると共に、ＳＤＲＡＭ２５のアドレスと画像のピクセルとの関係を把握し、ＳＤＲＡＭ２５に記憶された画像データを表示部４２に表示させたり、印刷機構２６に印刷出力させたりする。
【００２９】
このように、Ｘ軸方向及びＹ方向のＭＣＵ数がともに奇数であるときには、ダミーデータを更に付加して画像イメージを意識しないＳＤＲＡＭ２５のアドレスに間引回路３３が画像データを転送するのである。なお、この処理について、２ｎ個（ｎは１以上の整数）のＭＣＵによるバースト転送データ量単位（１ＤＭＡ）でデータ転送を実行し、Ｘ軸方向のＭＣＵ数がｎ（ａ＋１）個（ａは１以上の整数）であり、Ｙ軸方向のＭＣＵ数が２ｂ＋１（ｂは１以上の整数）であるときには、（ｂ＋１）回×（ａ＋２）／２回の２ｎ個のＭＣＵによるデータ転送と、ｂ回×ａ／２回の２ｎ個のＭＣＵによるデータ転送と、を実行すると共に、最後のデータ転送でｎ個のダミーデータを付加してデータ転送を実行するものと一般化することができる。図７の例においては、２ＭＣＵによる１ＤＭＡでデータ転送を実行し、Ｘ軸方向のＭＣＵ数が１×（８＋１）＝９個、Ｙ軸方向のＭＣＵ数が２×４＋１＝９個であるから、ｎ＝１，ａ＝８，ｂ＝４であり、５回×５回の２ＭＣＵによるデータ転送と、最後のデータ転送では１個のダミーデータを含む４回×４回の２ＭＣＵによるデータ転送と、を実行するのである。
【００３０】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の画像処理ＡＳＩＣ３０が本発明の情報処理装置であり、このうち、１ＤＭＡ転送単位が本発明の転送データ量単位に相当し、ＭＣＵ単位が画像構成単位に相当し、間引回路３３が間引き手段及びデータ転送手段に相当し、Ｘｍｃｕカウンタ３５がＸ軸カウンタに相当し、Ｙｍｃｕカウンタ３６がＹ軸カウンタに相当する。また、プリンタ２０が本発明の印刷装置に相当し、このうち、ＳＤＲＡＭ２５が記憶手段に相当し、印刷機構２６が印刷出力手段に相当する。なお、本実施形態では、プリンタ２０の動作を説明することにより本発明の情報処理方法の一例も明らかにしている。
【００３１】
以上詳述した本実施形態のプリンタ２０によれば、ＭＣＵ単位でデータの間引き処理を実行し、ＤＭＡ転送単位以下の間引き後のデータが出力されるときには、複数のＭＣＵでＳＤＲＡＭ２５へデータ転送するよう切り替え、この複数のＭＣＵでのデータ転送の際に、最後のデータ転送が１ＤＭＡ転送単位に足りないときにはこの最後のデータ転送にダミーデータを付加してデータ転送を実行する。ＤＭＡ転送単位に足りないときには、データ転送自体が省略されてしまうことがあるが、ここでは、ダミーデータを付加することによりＤＭＡ転送単位に足りないデータの転送を確保するのである。したがって、データの抜けをより抑制して間引きしたデータを転送することができる。また、データ転送の最後にダミーデータを付加してデータ転送を実行するから、ダミーデータを取り除きやすい。更に、Ｘ軸方向のＭＣＵ数Ｘｍａｘがｎ（ａ＋１）個（ａは１以上の整数）であり、Ｙ軸方向のＭＣＵ数Ｙｍａｘが２ｂ＋１（ｂは１以上の整数）であるときには、（ｂ＋１）回×（ａ＋２）／２回の２ｎ個のＭＣＵによるデータ転送と、ｂ回×ａ／２回の２ｎ個の前記ＭＣＵによるデータ転送と、を実行すると共に、データ転送の間のいずれかにｎ個のダミーデータを付加してデータ転送を実行するため、データ転送のうち、Ｙ軸方向を（ｂ＋１）回とｂ回との２つに区分すると共に、（ｂ＋１）回側の半端分を埋めるデータをｂ回側から受け、ｂ回側の転送での不足分をｎ個のダミーデータで補うことにより、比較的容易にデータの抜けをより抑制して間引きしたデータを転送することができる。また、Ｘ軸方向のＭＣＵ数が２ｎ×ａ個であり、Ｙ軸方向のＭＣＵ数がｂであるときには、ａ回×ｂ回のＭＣＵによるデータ転送を実行するため、Ｘ軸方向に半端がでないときには、Ｘ軸方向にａ回、Ｙ軸方向にｂ回という画像の配置を意識したデータ転送を実行することができる。更にまた、カウンタ値Ｙが（ｂ＋１）までは、エンド値Ｘｅｎｄをｎ（ａ＋２）に設定し、２ｎ個のＭＣＵのデータ転送を実行するとカウンタ値Ｘを２ｎインクリメントしカウンタ値ＸがＸエンド値ＸｅｎｄとなるとＹｍｃｕカウンタ３６をインクリメントする一方、カウンタ値Ｙが（ｂ＋１）のあとｂ回カウントするまではＸ軸カウントエンド値をｎａに設定し２ｎ個のＭＣＵのデータ転送を実行するとＸ軸カウンタをインクリメントし、カウンタ値Ｙがエンド値Ｙｅｎｄ且つカウンタ値Ｘがエンド値Ｘｅｎｄ−２ｎとなると１ＭＣＵとダミーデータとをＤＭＡ転送してデータ転送を完了するため、カウンタを利用してより容易にデータの抜けをより抑制して間引きしたデータを転送することができる。そして、２ｎ個（ｎは１以上の整数）のＭＣＵによるＤＭＡ転送単位でデータ転送を実行し、Ｘ軸方向のＭＣＵ数Ｘｍａｘがｎ（ｃ＋１）個（ｃは１以上の整数）であり、Ｙ軸方向のＭＣＵ数Ｙｍａｘが２ｄ（ｄは１以上の整数）であるときには、ｄ回×（ｃ＋２）／２回の２ｎＭＣＵによるデータ転送と、ｄ回×ｃ／２回の２ｎＭＣＵによるデータ転送と、を実行するため、Ｘ軸方向のデータ転送回数に半端分（ｎ個）があり、且つＹ軸方向が２で割り切れる（２ｄ）ときに、一方の半端分を他方に振り分けてデータ転送を行うことにより、比較的容易にデータの抜けをより抑制して間引きしたデータを転送することができる。そしてまた、プリンタ２０は、画像データを間引き処理して印刷することが多いから、本発明を適用する意義が高い。そして更に、画像処理ＡＳＩＣ３０が備える各回路により画像展開処理や間引き処理、回転処理などを実行するからソフトウエアによって各処理を実行するのに比してより高速化を図ることができる。
【００３２】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３３】
例えば、上述した実施形態では、転送データ量単位としての１ＤＭＡ転送単位が１６ビット・４バーストの８バイト、２ＭＣＵ単位としたが、特にこれに限定されず、どのような転送単位としてもよい。また、画像構成単位として１ＭＣＵ単位としたが、特にこれに限定されず、４ＭＣＵ単位や８ＭＣＵ単位としてもよい。また、１／８間引き処理において画像イメージを意識しないアドレスを用いたＤＭＡ転送を行うものとしたが、条件によっては、１／２間引きや１／４間引き、１／１６間引きにおいても画像イメージを意識しないアドレスを用いたＤＭＡ転送を行うものとしてもよい。
【００３４】
例えば、図８に示すように、１ＤＭＡ転送単位が１６ビット・８バーストの１６バイトとし４ＭＣＵ単位でＤＭＡ転送を実行し２ｎＭＣＵの転送でＸ軸方向にｎＭＣＵが足りない場合としてもよい。図８は、２ｎＭＣＵの転送でＸ軸方向にｎＭＣＵが足りなく、Ｙ軸方向のＭＣＵ数が奇数である場合のＤＭＡで転送するＳＤＲＡＭ２５のアドレスの概念図であり、図８（ａ）が画像イメージを意識したアドレス、図８（ｂ）が画像イメージを意識しないアドレスの概念図である。図８では、１／４間引き後にＸ軸方向が１８ＭＣＵ、Ｙ方向が１９ＭＣＵであり、４ＭＣＵの転送でＸ軸方向に２ＭＣＵが足りない場合のアドレスについて示した。このような４ＭＣＵ単位でバースト転送を行う場合においては、１／４間引き処理や１／８間引き処理によっても、Ｘ軸方向が４ＭＣＵ単位で割り切れない場合には、例えば図８（ａ）に示すように、右端の縦２列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。また、上述のようにＹ軸方向のＭＣＵ数が奇数の場合はＹ軸方向に２分割すると更に半端が生じる。ここでは、図８（ｂ）に示すように、前半に縦２列分を加算し、後半から縦２列分を減じると共に後半に生じる半端分に合わせてダミーデータをｎ＝２個付加する処理を行いＤＭＡによるバースト転送を実行するものとした。この処理を実行するにあたり、図５に示した１／８間引き処理ルーチンにおいて、ステップＳ３００，Ｓ３９０でＸ軸方向の最後のＭＣＵ数Ｘｍａｘに２を加えた値をエンド値Ｘｅｎｄにセットし、ステップＳ３７０，Ｓ４６０でＸ軸方向の最後のＭＣＵ数Ｘｍａｘに２を減じた値をエンド値Ｘｅｎｄにセットし、ステップＳ３１０，Ｓ３２０，Ｓ４１０，Ｓ４２０で４ＭＣＵの書き込み及びカウンタ値Ｘを４インクリメントし、ステップＳ４００でカウンタ値Ｙ＝Ｙｅｎｄ，カウンタ値Ｘ＝Ｘｅｎｄ−４を満たしているか否かを判定し、ステップＳ４７０で２ＭＣＵ分のダミーデータを２ＭＣＵに付加したデータのＳＤＲＡＭ２５への書き込み処理を実行するものとすればよい。図８の例においては、Ｘ軸方向のＭＣＵ数が２×（８＋１）＝１８個、Ｙ軸方向のＭＣＵ数が２×９＋１＝１９個、全体で、１８×１９＝３４２ＭＣＵであるから、ｎ＝２，ａ＝８，ｂ＝９であり、４ＭＣＵによる１ＤＭＡでデータ転送を実行すると、１０回×５回の４ＭＣＵによるデータ転送と、最後のデータ転送ではｎ＝４個のダミーデータを含む９回×４回の４ＭＣＵによるデータ転送と、を実行することになる。したがって、この場合においても、上述した実施形態での一般化した処理、「２ｎ個のＭＣＵによる１ＤＭＡでデータ転送を実行し、Ｘ軸方向のＭＣＵ数がｎ（ａ＋１）個であり、Ｙ軸方向のＭＣＵ数が２ｂ＋１であるときには、（ｂ＋１）回×（ａ＋２）／２回の２ｎ個のＭＣＵによるデータ転送と、ｂ回×ａ／２回の２ｎ個のＭＣＵによるデータ転送と、を実行すると共に、最後のデータ転送でｎ個のダミーデータを付加してデータ転送を実行する」を満たすのである。なお、図示しないが、例えば、図８において、Ｙ軸方向を偶数の２０ＭＣＵとした場合には、Ｘ軸方向のＭＣＵ数が２×（８＋１）＝１８個、Ｙ軸方向のＭＣＵ数が２×１０＝２０個、全体で１８×２０＝３���０ＭＣＵであるから、ｎ＝２，ｃ＝８，ｄ＝１０であり、４ＭＣＵによる１ＤＭＡでデータ転送を実行すると、１０回×５回の４ＭＣＵによるデータ転送と、１０回×４回の４ＭＣＵによるデータ転送と、を実行することになる。したがって、上述した一般化した処理、「Ｙ軸方向が偶数である場合について、２ｎ個のＭＣＵによる１ＤＭＡでデータ転送を実行し、Ｘ軸方向のＭＣＵ数がｎ（ｃ＋１）個であり、Ｙ軸方向のＭＣＵ数が２ｄであるときには、ｄ回×（ｃ＋２）／２回の２ｎ個のＭＣＵによるデータ転送と、ｄ回×ｃ／２回の２ｎ個のＭＣＵによるデータ転送と、を実行する」を満たすのである。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。
【００３５】
あるいは、図９に示すように、１ＤＭＡ転送単位が１６ビット・１６バーストの３２バイトとし８ＭＣＵ単位でＤＭＡ転送を実行してもよい。図９は、２ｎＭＣＵの転送でＸ軸方向にｎＭＣＵが足りなく、Ｙ軸方向のＭＣＵ数が奇数である場合のＤＭＡで転送するＳＤＲＡＭ２５のアドレスの概念図であり、図９（ａ）が画像イメージを意識したアドレス、図９（ｂ）が画像イメージを意識しないアドレスの概念図である。図９では、１／２間引き後にＸ軸方向が２０ＭＣＵ、Ｙ方向が１９ＭＣＵであり、８ＭＣＵの転送でＸ軸方向に４ＭＣＵが足りない場合のアドレスについて示した。このような８ＭＣＵ単位でバースト転送を行う場合においては、１／２間引き処理などによっても、Ｘ軸方向が８ＭＣＵ単位で割り切れない場合には、例えば図９（ａ）に示すように、右端の縦４列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。また、上述のようにＹ軸方向のＭＣＵ数が奇数の場合はＹ軸方向に２分割すると更に半端が生じる。ここでは、図９（ｂ）に示すように、前半に縦４列分を加算し、後半から縦４列分を減じると共に後半に生じる半端分に合わせてダミーデータをｎ＝４個付加する処理を行いＤＭＡによるバースト転送を実行するものとした。この処理を実行するにあたり、図５に示した１／８間引き処理ルーチンにおいて、ステップＳ３００，Ｓ３９０でＸ軸方向の最後のＭＣＵ数Ｘｍａｘに４を加えた値をエンド値Ｘｅｎｄにセットし、ステップＳ３７０，Ｓ４６０でＸ軸方向の最後のＭＣＵ数Ｘｍａｘに４を減じた値をエンド値Ｘｅｎｄにセットし、ステップＳ３１０，Ｓ３２０，Ｓ４１０，Ｓ４２０で８ＭＣＵの書き込み及びカウンタ値Ｘを８インクリメントし、ステップＳ４００でカウンタ値Ｙ＝Ｙｅｎｄ，カウンタ値Ｘ＝Ｘｅｎｄ−８を満たしているか否かを判定し、ステップＳ４７０で４ＭＣＵ分のダミーデータを４ＭＣＵに付加したデータのＳＤＲＡＭ２５への書き込み処理を実行するものとすればよい。図９の例においては、Ｘ軸方向のＭＣＵ数が４×（４＋１）＝２０個、Ｙ軸方向のＭＣＵ数が２×９＋１＝１９個、全体で、２０×１９＝３８０ＭＣＵであるから、ｎ＝４，ａ＝４，ｂ＝９であり、８ＭＣＵによる１ＤＭＡでデータ転送を実行すると、１０回×３回の８ＭＣＵによるデータ転送と、最後のデータ転送ではｎ＝４個のダミーデータを含む９回×２回の８ＭＣＵによるデータ転送と、を実行することになる。したがって、この場合においても、上述した実施形態での一般化した処理、「２ｎ個のＭＣＵによる１ＤＭＡでデータ転送を実行し、Ｘ軸方向のＭＣＵ数がｎ（ａ＋１）個であり、Ｙ軸方向のＭＣＵ数が２ｂ＋１であるときには、（ｂ＋１）回×（ａ＋２）／２回の２ｎ個のＭＣＵによるデータ転送と、ｂ回×ａ／２回の２ｎ個のＭＣＵによるデータ転送と、を実行すると共に、最後のデータ転送でｎ個のダミーデータを付加してデータ転送を実行する」を満たすのである。なお、図示しないが、例えば、図９において、Ｙ軸方向を偶数の２０ＭＣＵとした場合には、Ｘ軸方向のＭＣＵ数が４×（４＋１）＝２０個、Ｙ軸方向のＭＣＵ数が２×１０＝２０個、全体で２０×２０＝４００ＭＣＵであるから、ｎ＝４，ｃ＝４，ｄ＝１０であり、８ＭＣＵに���る１ＤＭＡでデータ転送を実行すると、１０回×３回の８ＭＣＵによるデータ転送と、１０回×２回の８ＭＣＵによるデータ転送と、を実行することになる。したがって、上述した一般化した処理、「Ｙ軸方向が偶数である場合について、２ｎ個のＭＣＵによる１ＤＭＡでデータ転送を実行し、Ｘ軸方向のＭＣＵ数がｎ（ｃ＋１）個であり、Ｙ軸方向のＭＣＵ数が２ｄであるときには、ｄ回×（ｃ＋２）／２回の２ｎ個のＭＣＵによるデータ転送と、ｄ回×ｃ／２回の２ｎ個のＭＣＵによるデータ転送と、を実行する」を満たすのである。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。
【００３６】
あるいは、例えば、図１０に示すように、１ＤＭＡ転送単位が１６ビット・８バーストの１６バイトとし４ＭＣＵ単位でＤＭＡ転送を実行し、２ｎＭＣＵの転送でＸ軸方向にｎＭＣＵが足りない以外の場合であってもよい。図１０は、２ｎＭＣＵの転送でＸ軸方向にｎＭＣＵが足りない以外でありＹ軸方向のＭＣＵ数が奇数である場合のＤＭＡで転送するＳＤＲＡＭ２５のアドレスの概念図であり、図１０（ａ）が画像イメージを意識したアドレス、図１０（ｂ）が画像イメージを意識しないアドレスの概念図である。図１０では、１／４間引き後にＸ軸方向が１７ＭＣＵ、Ｙ方向が１９ＭＣＵであり、４ＭＣＵの転送単位でＸ軸方向に３ＭＣＵが足りない場合のアドレスについて示した。このような４ＭＣＵ単位でバースト転送を行う場合においては、Ｘ軸方向が４ＭＣＵ単位で割り切れない場合には、例えば図１０（ａ）に示すように、右端の縦１列分に相当するピクセルについては転送が実行されず、データが欠落してしまう。また、上述のようにＹ軸方向のＭＣＵ数が奇数の場合はＹ軸方向に２分割すると更に半端が生じる。ここでは、図１０（ｂ）に示すように、前半と、後半の前半（前後半と称する）と後半の後半（後後半と称する）と、に分割し、前半に足りない縦３列分を加算し、後半から縦３列分を減じ、更にその前後半で足りない縦２列分を後後半から加算し、後後半から縦２列分を減じ更に後半に生じる半端分に合わせてダミーデータを１個付加する処理を行いＤＭＡによるバースト転送を実行するものとした。即ち、図１０において、５回×１０回＝５０回の前半のＤＭＡ転送と、４×５回＝２０回の前後半のＤＭＡ転送と、ダミーデータを１個付加したＤＭＡ転送を含む３×４回＝１２回の後後半のＤＭＡ転送とを実行するのである。このとき、ダミーデータは、画像データに含まれるＭＣＵの数とデータ転送する複数のＭＣＵとにより定めるものとしてもよい。こうすれば、比較的容易にダミーデータを付加することができる。具体的には、例えばダミーデータは、画像データに含まれるＭＣＵの数をデータ転送する複数のＭＣＵ（ＤＭＡ転送単位）で除算し、その整数解と余りの値から求めることができる。例えば、図１０においては、全体は１７×１９＝３２３ＭＣＵであり、ＤＭＡ転送単位の４ＭＣＵでこれを除算すると、８０余り３であるから、１個のダミーデータが必要であることがわかる。なお、これは上述した実施形態及び別例でも同様である。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。
【００３７】
上述した実施形態では、間引き後の画像データの最後のデータ転送の際にダミーデータを付加するものとしたが、ＣＰＵ２２側がどのアドレスにダミーデータが格納されているかを把握可能であれば、データ転送の間のどのデータ転送に付加してもよく、間引き後の画像データの転送の最初に付加するものとしてもよいし、間引き後の画像データの転送の中間に付加するものとしてもよい。なお、ＳＤＲＡＭ２５へ転送したあと、ＣＰＵ２２側の画像データの把握のしやすさを考慮すると、間引き後の画像データの転送の最初に付加するものが好ましく、最後に付加するものがより好ましい。
【００３８】
上述した実施形態では、Ｘ軸方向のＭＣＵ数が奇数であるときに、画像データの前半でＸ軸方向に１ＭＣＵを加え画像データの後半でＸ軸方向から１ＭＣＵを減じてデータ転送を実行するものとしたが、特にこれに限定されず、画像データの前半でＸ軸方向から１ＭＣＵを減じ画像データの後半でＸ軸方向に１ＭＣＵを加えたデータ転送を実行するものとしてもよいし、Ｘ軸方向に１ＭＣＵを加えた転送とＸ軸方向から１ＭＣＵを減じた転送とをＹ軸方向に交互に行うものとしてもよいし、Ｘ軸方向に１ＭＣＵを加えた転送とＸ軸方向から１ＭＣＵを減じた転送とをＹ軸方向にランダムに行うものとしてもよい。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。
【００３９】
上述した実施形態では、Ｘｍｃｕカウンタ３５及びＹｍｃｕカウンタ３６を用いてＤＭＡ転送を実行するものとしたが、Ｘ軸方向、Ｙ軸方向に定められたカウンタを用いなくてもよい。また、上述した実施形態では、最後のデータ転送がＤＭＡ転送単位に足りないか否かをＸ軸方向のＭＣＵ数やＹ軸方向のＭＣＵ数が偶数・奇数のいずれかにより、データ転送の初期（データ転送前）に判定するものとしたが、最後のデータ転送の直近で判定するものとしてもよい。
【００４０】
上述した実施形態では、単純間引きを実行するものとしたが、画像データを間引くものであれば特に限定されず、例えば平均化間引きを実行するものとしてもよい。また、間引く際に、ＭＣＵにおいて左上側のピクセルを画像用のピクセルに用いるものとしたが、中心や右下側など、位置のピクセルを用いるものとしてもよい。
【００４１】
上述した実施形態では、説明を省略したが、間引回路３３により間引きした画像データを回転回路３２により回転処理するものとしてもよい。また、上述した実施形態では、画像展開回路３１がＹＵＶデータをＲＧＢデータに変換するものとして説明したが、間引回路３３がＹＵＶデータを間引き処理すると共にＲＧＢデータに変換し変換したＲＧＢデータをＳＤＲＡＭ２５へ出力するものとしてもよい。こうしても、データの抜けをより抑制して間引きしたデータを転送することができる。
【００４２】
上述した実施形態では、情報処理装置としてのプリンタ２０として説明したが、画像処理ＡＳＩＣ３０を用いて画像データを間引く処理を実行するものであれば特に限定されずに用いることができ、本発明の情報処理装置としての電子機器、例えば、デジタルカメラ、デジタルビデオ、携帯電話、テレビ、パソコン、携帯用ゲーム機、家庭用ゲーム機、録画機器（ビデオデッキやＨＤＤデッキ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）などとしてもよい。また、プリンタ２０の態様で本発明を説明したが、情報処理方法の態様としてもよいし、この方法のプログラムの態様としてもよい。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態であるプリンタ２０の構成の概略を示す構成図。
【図２】間引き実行ルーチンの一例を示すフローチャート。
【図３】ＲＧＢデータに展開したときのＭＣＵの説明図。
【図４】ＭＣＵにより構成される画像データの説明図。
【図５】１／８間引き処理ルーチンの一例を示すフローチャート。
【図６】Ｘ軸のＭＣＵ数が奇数、Ｙ軸のＭＣＵ数が偶数であるアドレスの概念図。
【図７】Ｘ軸及びＹ軸のＭＣＵ数が奇数であるアドレスの概念図。
【図８】Ｘ軸でｎＭＣＵが不足しＹ軸方向が奇数であるアドレスの概念図。
【図９】Ｘ軸でｎＭＣＵが不足しＹ軸方向が奇数であるアドレスの概念図。
【図１０】Ｘ軸でｎＭＣＵ以外が不足しＹ軸方向が奇数であるアドレスの概念図。
【符号の説明】
【００４４】
１２  メモリカード、２０  プリンタ、２１  コントローラ、２２  ＣＰＵ、２３  フラッシュＲＯＭ、２４  キャッシュメモリ、２５  ＳＤＲＡＭ、２６  印刷機構、２７  インタフェース（Ｉ／Ｆ）、２８  メモリカードコントローラ、２８ａ  スロット、２９  バス、３０  画像処理ＡＳＩＣ、３１  画像展開回路、３２  回転回路、３３  間引回路、３４  レジスタ、３５  Ｘｍｃｕカウンタ、３６  Ｙｍｃｕカウンタ、４０  操作パネル、４２  表示部、４４  操作部、Ｓ  記録紙。
【図１】
2009090543.tif 000003
【図２】
2009090543.tif 000004
【図３】
2009090543.tif 000005
【図４】
2009090543.tif 000006
【図５】
2009090543.tif 000007
【図６】
2009090543.tif 000008
【図７】
2009090543.tif 000009
【図８】
2009090543.tif 000010
【図９】
2009090543.tif 000011
【図１０】
2009090543.tif 000012