(57)【特許請求の範囲】
【請求項１】
画像ファイルを記憶した外部の記憶媒体から、前記画像ファイルに含まれる画像データを所定データ長の読み出し単位ずつ読み出す読み出し手段と、
前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、
前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段と
を備え、
前記読み出し手段は、前記データ処理手段から要求された画像データを前記記憶手段から読み出して前記データ処理手段に与えるとともに、前記データ処理手段から要求された画像データが前記記憶手段から読み出せないときには、当該画像データを含む所定データ長の画像データを前記記憶媒体から読み出して前記データ処理手段に与え、しかも、
前記データ処理手段により要求される画像データの順序と前記記憶媒体内における画像データの配列順序とが一致するとき、
前記読み出し手段は、前記読み出し単位のデータ長を、前記画像ファイルにより表される画像の画素数に応じて変化させることを特徴とする画像データ処理装置。
【請求項２】
前記読み出し手段は、前記読み出し単位のデータ長の最小値と最大値とを予め設定している請求項１に記載の画像データ処理装置。
【請求項３】
画像ファイルを記憶した外部の記憶媒体から、前記画像ファイルに含まれる画像データを所定データ長の読み出し単位ずつ読み出す読み出し手段と、
前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、
前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段と
を備え、
前記読み出し手段は、前記データ処理手段から要求された画像データを前記記憶手段から読み出して前記データ処理手段に与えるとともに、前記データ処理手段から要求された画像データが前記記憶手段から読み出せないときには、当該画像データを含む所定データ長の画像データを前記記憶媒体から読み出して前記データ処理手段に与え、しかも、
前記読み出し手段は、前記データ処理手段から要求される画像データが属する画像ファイルが単一であるときと、前記記憶媒体に記憶された複数の画像ファイルの間で循環的に切り換わるときとで、前記読み出し単位を異ならせることを特徴とする画像データ処理装置。
【請求項４】
前記読み出し手段は、前記データ処理手段から要求される画像データが属する画像ファイルが前記記憶媒体に記憶された複数の画像ファイルの間で循環的に切り換わるとき、前記データ処理手段から要求される画像データが属する画像ファイルが単一であるときよりも前記読み出し単位を小さくする請求項３に記載の画像データ処理装置。
【請求項５】
前記記憶媒体内の画像ファイルは、画像を縦横それぞれ所定サイズを有する複数のブロックに区分し各ブロックごとの画像内容をデータ化してなる画像データを含み、
前記データ処理手段は、前記ブロックのそれぞれを表す画像データをブロック単位で一括処理する請求項１ないし４のいずれかに記載の画像データ処理装置。
【請求項６】
前記データ処理手段は、画像を縦または横に複数のバンドに区分し該バンドに含まれる前記ブロックの画像データを一括処理する請求項５に記載の画像データ処理装置。
【請求項７】
画像ファイルを記憶した外部の記憶媒体から、前記画像ファイルに含まれる画像データを所定データ長の読み出し単位ずつ読み出す読み出し手段と、
前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、
前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段と
を備え、
前記読み出し手段は、前記データ処理手段から要求された画像データを前記記憶手段から読み出して前記データ処理手段に与えるとともに、前記データ処理手段から要求された画像データが前記記憶手段から読み出せないときには、当該画像データを含む所定データ長の画像データを前記記憶媒体から読み出して前記データ処理手段に与え、しかも、
前記記憶媒体内の画像ファイルでは、画像を構成する複数の画素のそれぞれを個別に表した画像データが配列されており、かつ該画像データの全データ量が前記記憶手段の記憶容量よりも大きいとき、
前記読み出し手段は、前記データ処理手段により要求される画像データの順序が前記記憶媒体内における画像データの配列順序と一致するか否かによって前記読み出し単位を異ならせることを特徴とする画像データ処理装置。
【請求項８】
前記データ処理手段により要求される画像データの順序が前記記憶媒体内における画像データの配列順序と一致しないとき、
前記読み出し手段は、前記データ処理手段から画像データを要求されると、その都度当該画像データを前記記憶媒体から読み出して前記データ処理手段に与える請求項７に記載の画像データ処理装置。
【請求項９】
印刷用データに基づいて、前記画像ファイルに対応する画像を印刷する印刷手段をさらに備え、
前記データ処理手段は、前記画像データにデータ処理を施して前記印刷用データを作成して前記印刷手段に与えるとともに、前記印刷手段に与える印刷用データの順序に応じた順序で、前記読み出し手段に対し画像データを要求する請求項１ないし８のいずれかに記載の画像データ処理装置。
【請求項１０】
表示用データに基づいて、前記画像ファイルに対応する画像を表示する表示手段をさらに備え、
前記データ処理手段は、前記画像データにデータ処理を施して前記表示用データを作成して前記表示手段に与えるとともに、前記表示手段に与える表示用データの順序に応じた順序で、前記読み出し手段に対し画像データを要求する請求項１ないし８のいずれかに記載の画像データ処理装置。
【請求項１１】
画像ファイルを記憶した外部の記憶媒体から前記画像ファイルに含まれる画像データを読み出して所定のデータ処理を行う画像データ処理方法において、
画像データを一時的に記憶する記憶手段を設け、
データ処理に必要な画像データを読み出して必要なデータ処理を行う一方、データ処理に必要な画像データが前記記憶手段に記憶されていないときには、前記記憶媒体から、当該画像データを含む画像データを所定データ長の読み出し単位ずつ読み出して必要なデータ処理を行い、しかも、
データ処理に必要な画像データの順序と前記記憶媒体内における画像データの配列順序とが一致するとき、前記読み出し単位のデータ長を、前記画像ファイルにより表される画像の画素数に応じて変化させることを特徴とする画像データ処理方法。
【請求項１２】
画像ファイルを記憶した外部の記憶媒体から前記画像ファイルに含まれる画像データを読み出して所定のデータ処理を行う画像データ処理方法において、
画像データを一時的に記憶する記憶手段を設け、
データ処理に必要な画像データを読み出して必要なデータ処理を行う一方、データ処理に必要な画像データが前記記憶手段に記憶されていないときには、前記記憶媒体から、当該画像データを含む画像データを所定データ長の読み出し単位ずつ読み出して必要なデータ処理を行い、しかも、
データ処理に必要な画像データが属する画像ファイルが単一であるときと、前記記憶媒体に記憶された複数の画像ファイルの間で循環的に切り換わるときとで、前記読み出し単位を異ならせることを特徴とする画像データ処理方法。
【請求項１３】
画像ファイルを記憶した外部の記憶媒体から前記画像ファイルに含まれる画像データを読み出して所定のデータ処理を行う画像データ処理方法において、
画像データを一時的に記憶する記憶手段を設け、
データ処理に必要な画像データを読み出して必要なデータ処理を行う一方、データ処理に必要な画像データが前記記憶手段に記憶されていないときには、前記記憶媒体から、当該画像データを含む画像データを所定データ長の読み出し単位ずつ読み出して必要なデータ処理を行い、しかも、
前記記憶媒体内の画像ファイルでは、画像を構成する複数の画素のそれぞれを個別に表した画像データが配列されており、かつ該画像データの全データ量が前記記憶手段の記憶容量よりも大きいとき、
データ処理に必要な画像データの順序が前記記憶媒体内における画像データの配列順序と一致するか否かによって前記読み出し単位を異ならせることを特徴とする画像データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像ファイルを記憶した記憶媒体から画像データを読み出してデータ処理を行う画像データ処理装置および画像データ処理方法に関するものである。
【背景技術】
【０００２】
外部記憶媒体に記憶された画像データを読み出してデータ処理を行う画像データ処理装置においては、記憶媒体へのアクセス回数を少なくするため、記憶媒体から読み出された画像データを一時的に保存する記憶手段を設けている。そして、データ処理に必要な画像データについては、必要なときに記憶手段から読み出してデータ処理に供するようにしている。例えば、特許文献１に記載の画像印刷システムにおいては、画像の印刷行数以上の本数の画像データバッファを設け、画像ファイルを保存したデジタルスチルカメラから画像データを読み出して画像データバッファに保存している。また、この画像印刷システムでは、バッファサイズに応じたデータ長単位で画像データの読み出しを行うとともに、画像ファイルのファイルサイズに応じて画像データバッファのサイズを変更するようにしている。
【０００３】
【特許文献１】特開２００５−２６２６５１号公報（段落０１４９，０１８７）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この種の画像データ処理装置においては、上記のようなデジタルスチルカメラやメモリカードなどの外部記憶媒体から画像データを読み出す場合、装置内部でのデータの移動に比べ時間がかかるため、データ処理時間短縮のためには、これらの外部記憶媒体とのデータ送受を効率よく行うことが望まれている。しかしながら、従来の一般的な技術においては、予め決められた一定のデータ量単位でデータの読み出しを行っていたため、このような要望に応えるには至っていなかった。また、上記した特許文献１に記載の技術では、読み出しデータ長を可変としているものの、単に画像ファイルのサイズによってデータ長を変更しているため、効率的なデータ読み出しという点で改善の余地が残されていた。
【０００５】
この発明は上記課題に鑑みなされたものであり、画像ファイルを記憶した記憶媒体から画像データを読み出してデータ処理を行う画像データ処理装置および画像データ処理方法において、記憶媒体からのデータ読み出しを効率的に行い、データ処理時間の短縮を図ることのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明では、記憶媒体から読み出す画像データのデータ長を固定的としたりファイルサイズにより変化させるのではなく、データ処理に必要とされた画像データの態様に応じて最適化するようにしている。データ処理に必要なデータの量や順番は処理の内容によって変化するから、従来のように予め定められたデータ量単位で画像データの読み出しを行うと、必要でない無駄なデータまで読み出すことになり、該読み出しのために消費される時間の分だけ処理時間が長くなってしまう。この発明では、記憶媒体から画像データを読み出す際の読み出し単位のデータ長をデータ処理側からの要求に応じて最適化しているので、このような問題が生じない。そのため、この発明によれば、記憶媒体からのデータ読み出しを効率的に行い、データ読み出しを含めた全体のデータ処理時間を短縮することができる。より具体的には、本発明は以下のような態様を有している。
【００１２】
本発明にかかる画像データ処理装置の第１態様は、上記目的を達成するため、画像ファイルを記憶した外部の記憶媒体から、前記画像ファイルに含まれる画像データを所定データ長の読み出し単位ずつ読み出す読み出し手段と、前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段とを備え、前記読み出し手段は、前記データ処理手段から要求された画像データを前記記憶手段から読み出して前記データ処理手段に与えるとともに、前記データ処理手段から要求された画像データが前記記憶手段から読み出せないときには、当該画像データを含む所定データ長の画像データを前記記憶媒体から読み出して前記データ処理手段に与え、しかも、前記データ処理手段により要求される画像データの順序と前記記憶媒体内における画像データの配列順序とが一致するとき、前記読み出し手段は、前記読み出し単位のデータ長を、前記画像ファイルにより表される画像の画素数に応じて変化させることを特徴としている。
また、本発明にかかる画像データ処理方法の第１態様は、画像ファイルを記憶した外部の記憶媒体から前記画像ファイルに含まれる画像データを読み出して所定のデータ処理を行う画像データ処理方法であって、上記目的を達成するため、  画像データを一時的に記憶する記憶手段を設け、データ処理に必要な画像データを読み出して必要なデータ処理を行う一方、データ処理に必要な画像データが前記記憶手段に記憶されていないときには、前記記憶媒体から、当該画像データを含む画像データを所定データ長の読み出し単位ずつ読み出して必要なデータ処理を行い、しかも、データ処理に必要な画像データの順序と前記記憶媒体内における画像データの配列順序とが一致するとき、前記読み出し単位のデータ長を、前記画像ファイルにより表される画像の画素数に応じて変化させることを特徴としている。
【００１３】
前記したように、要求される画像データの順序が記憶媒体内における画像データの配列順序に沿ったものであるとき、外部記憶媒体から多くのデータをまとめて読み出して記憶手段に記憶させておくことで、記憶媒体へのアクセス回数を減らすことが可能である。しかしながら、読み出すデータ量を多くしすぎると無駄なデータまで読み出してしまう可能性が高くなるうえ、データの読み出しが完了するまでに時間がかかってしまうため、読み出すデータ量をむやみに大きくすることは現実的でない。そこで、記憶媒体からの画像データの読み出し速度と、読み出された画像データに対する処理速度とのバランスを取ることで、データ読み出しとデータ処理をより効率よく行い全体としての処理時間を短くすることが可能となる。一般にデータ処理は画像を構成する画素数が多くなるにつれて複雑になり時間がかかる傾向にあるので、画像を構成する画素数が既知であれば、画像の画素数が多いほど読み出しデータ量を多くすることにより、データの読み出しとデータ処理とを効率よく行うことができる。
【００１４】
この場合において、前記読み出し手段は、前記記憶媒体から読み出す画像データのデータ長の最小値と最大値とを予め設定していることが望ましい。記憶媒体から読み出される画像データのデータ量が極端に大きいとデータ読み出しに要する時間が長くなりすぎ、またデータ量が極端に小さいと記憶媒体へのアクセスが頻繁に繰り返されることになり、却ってデータ処理の効率が低下することがあるためである。
【００１５】
本発明にかかる画像データ処理装置の第２態様は、上記目的を達成するため、画像ファイルを記憶した外部の記憶媒体から、前記画像ファイルに含まれる画像データを所定データ長の読み出し単位ずつ読み出す読み出し手段と、前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段とを備え、前記読み出し手段は、前記データ処理手段から要求された画像データを前記記憶手段から読み出して前記データ処理手段に与えるとともに、前記データ処理手段から要求された画像データが前記記憶手段から読み出せないときには、当該画像データを含む所定データ長の画像データを前記記憶媒体から読み出して前記データ処理手段に与え、しかも、前記読み出し手段は、前記データ処理手段から要求される画像データが属する画像ファイルが単一であるときと、前記記憶媒体に記憶された複数の画像ファイルの間で循環的に切り換わるときとで、前記読み出し単位を異ならせることを特徴としている。
また、本発明にかかる画像データ処理方法の第２態様は、画像ファイルを記憶した外部の記憶媒体から前記画像ファイルに含まれる画像データを読み出して所定のデータ処理を行う画像データ処理方法であって、上記目的を達成するため、画像データを一時的に記憶する記憶手段を設け、データ処理に必要な画像データを読み出して必要なデータ処理を行う一方、データ処理に必要な画像データが前記記憶手段に記憶されていないときには、前記記憶媒体から、当該画像データを含む画像データを所定データ長の読み出し単位ずつ読み出して必要なデータ処理を行い、しかも、データ処理に必要な画像データが属する画像ファイルが単一であるときと、前記記憶媒体に記憶された複数の画像ファイルの間で循環的に切り換わるときとで、前記読み出し単位を異ならせることを特徴としている。
例えば複数の画像ファイルを並行的にデータ処理する場合のように、記憶媒体に記憶された複数の画像ファイルから画像データを少量ずつ循環的に読み出すことが必要な場合がある。このような場合、１つの画像ファイルから一度に大量のデータを読み出したとしても、データ処理が他の画像ファイルに移ると無駄になってしまう。したがって、扱う画像ファイルが単一であるときと、複数であるときとで画像データの読み出し単位を異ならせるのが好ましく、より具体的には、扱う画像ファイルが複数であるとき、単一の画像ファイルを扱うときよりも読み出し単位を小さくするのが好ましい。
【００１６】
また、前記記憶媒体内の画像ファイルは、画像を縦横それぞれ所定サイズを有する複数のブロックに区分し各ブロックごとの画像内容をデータ化してなる画像データを含み、前記データ処理手段は、前記ブロックのそれぞれを表す画像データをブロック単位で一括処理するようにしたものであってもよい。さらに、前記データ処理手段は、画像を縦または横に複数のバンドに区分し該バンドに含まれる前記ブロックの画像データを一括処理するようにしたものであってもよい。
【００１７】
このようなブロック化されたデータで表される画像ファイルとしては、例えば、ＪＰＥＧ（Joint Photographic Expert Groups）データ圧縮方式により作成された画像ファイルがある。このような画像ファイルを扱う画像データ処理装置に対しても、本発明を好適に適用することができる。また、複数のブロックを含むバンド単位で画像データを処理する画像データ処理装置としては、例えばＪＰＥＧ方式の画像ファイルを読み出してバンド単位でデータ処理を行い画像を表示または印刷する装置がある。このような処理を行う装置に対しても、本発明を好適に適用することができる。
【００１８】
本発明にかかる画像データ処理装置の第３態様は、上記目的を達成するため、画像ファイルを記憶した外部の記憶媒体から、前記画像ファイルに含まれる画像データを所定データ長の読み出し単位ずつ読み出す読み出し手段と、前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段とを備え、前記読み出し手段は、前記データ処理手段から要求された画像データを前記記憶手段から読み出して前記データ処理手段に与えるとともに、前記データ処理手段から要求された画像データが前記記憶手段から読み出せないときには、当該画像データを含む所定データ長の画像データを前記記憶媒体から読み出して前記データ処理手段に与え、しかも、前記記憶媒体内の画像ファイルでは、画像を構成する複数の画素のそれぞれを個別に表した画像データが配列されており、かつ該画像データの全データ量が前記記憶手段の記憶容量よりも大きいとき、前記読み出し手段は、前記データ処理手段により要求される画像データの順序が前記記憶媒体内における画像データの配列順序と一致するか否かによって前記読み出し単位を異ならせることを特徴としている。
また、本発明にかかる画像データ処理方法の第３態様は、画像ファイルを記憶した外部の記憶媒体から前記画像ファイルに含まれる画像データを読み出して所定のデータ処理を行う画像データ処理方法であって、上記目的を達成するため、画像データを一時的に記憶する記憶手段を設け、データ処理に必要な画像データを読み出して必要なデータ処理を行う一方、データ処理に必要な画像データが前記記憶手段に記憶されていないときには、前記記憶媒体から、当該画像データを含む画像データを所定データ長の読み出し単位ずつ読み出して必要なデータ処理を行い、しかも、前記記憶媒体内の画像ファイルでは、画像を構成する複数の画素のそれぞれを個別に表した画像データが配列されており、かつ該画像データの全データ量が前記記憶手段の記憶容量よりも大きいとき、データ処理に必要な画像データの順序が前記記憶媒体内における画像データの配列順序と一致するか否かによって前記読み出し単位を異ならせることを特徴としている。
特に、前記データ処理手段により要求される画像データの順序が前記記憶媒体内における画像データの配列順序と一致しないとき、前記読み出し手段は、前記データ処理手段から画像データを要求されると、その都度当該画像データを前記記憶媒体から読み出して前記データ処理手段に与えるようにしてもよい。
【００１９】
画像ファイルが各画素を個別に表した画像データを配列したものである場合、データ処理のためのデータ要求も画素単位で発生することになる。ここで、要求される画像データの順序が記憶媒体内における画像データの配列順序と同じであれば、要求された画像データ以外に他の画素に対応するデータもまとめて記憶媒体から読み出しておけば、後の処理でそれらのデータを利用することができる。これに対して、要求される画像データの順序が記憶媒体内における画像データの配列順序とは異なるとき、複数画素分のデータをまとめて記憶媒体から読み出したとしても、要求されたもの以外のデータは使用されない可能性が高い。特に、画像データのデータ量が記憶手段の記憶容量よりも大きく、全てのデータを記憶手段に記憶させることができない場合には、記憶媒体から読み出されたもののデータ処理に使用されないうちに消去されてしまうデータが不可避的に発生する。これを回避するためには、画像データの読み込みについても画素単位で行うことが必要となる。つまり、この場合、記憶媒体から画像データをまとめて読み出し記憶手段に記憶させておくメリットがなく、むしろ無駄なデータの読み出しの分だけ処理時間が長くなってしまう。そこで、このような場合には、要求されたデータのみをその都度記憶媒体から読み出すのが好ましい。こうして必要なデータのみ読み出すようにすることで、無駄なデータの読み出しを皆無にすることができる。
【００２０】
また、この場合、各画素を表すデータが互いに独立したものであり、記憶媒体から読み出された各画素ごとのデータに対して個別にデータ処理を行うことができるので、記憶媒体から読み出したデータを敢えて記憶手段に記憶させる必要は必ずしもない。そこで、この場合には読み出されたデータを記憶手段に記憶させるための処理を省いてもよい。こうすることで、データ処理時間の短縮を図ることができる。このような処理が可能となる画像データのデータ形式としては、画素ごとに表されたデータを圧縮せずに保存する形式が該当し、代表的なものとしては例えばビットマップ形式やＴＩＦＦ（Tagged Image File Format）形式などのデータ形式がある。
【００２１】
この発明は、印刷用データに基づいて、前記画像ファイルに対応する画像を印刷する印刷手段をさらに備え、前記データ処理手段は、前記画像データにデータ処理を施して前記印刷用データを作成して前記印刷手段に与えるとともに、前記印刷手段に与える印刷用データの順序に応じた順序で、前記読み出し手段に対し画像データを要求するように構成された画像データ処理装置において特に顕著な効果を奏する。
【００２２】
また、表示用データに基づいて、前記画像ファイルに対応する画像を表示する表示手段をさらに備え、前記データ処理手段は、前記画像データにデータ処理を施して前記表示用データを作成して前記表示手段に与えるとともに、前記表示手段に与える表示用データの順序に応じた順序で、前記読み出し手段に対し画像データを要求するように構成された画像データ処理装置においても同様である。
【００２３】
これらの装置においては、印刷用または表示用データを作成するための処理は画像全体についてではなくこれを所定のサイズでいくつかに区分したブロック単位やバンド単位で行われるのが一般的である。このような装置においては、記憶媒体からの画像データの読み出しによるインプットと、読み出された画像データに基づくデータ処理および表示や印刷などのアウトプットとが過不足なくバランスしていることが処理の効率からみて望ましい。このような装置に本発明の思想を適用すると、印刷または表示のスループットを向上させることができる。
【発明を実施するための最良の形態】
【００２４】
＜第１実施形態＞
図１は本発明にかかる画像データ処理装置の第１実施形態であるフォトプリンタを示す斜視図である。また、図２はフォトプリンタの内部構成の概略を示す図である。このフォトプリンタ１０では、プリンタ本体１２の内部にはプリント機構５０（図２参照）が内蔵されており、フォトプリンタ１０の全体の制御を司るコントローラ７０（図２参照）からの動作指令に応じて用紙Ｐへの印刷を実行する。そして、こうして印刷された用紙がプリンタ本体１２の前面に排紙される。
【００２５】
このプリンタ本体１２の前面には、図１に示すように、前面扉１４が開閉自在に取り付けられている。この前面扉１４はプリンタ本体１２の前面を開閉するための蓋である。そして、開状態のときには、プリント機構５０から排紙される用紙Ｐを受けるための排紙トレイとして機能する。また、プリンタ本体１２の前面に設けられた各種のメモリカードスロット１６をユーザが利用可能な状態となる。つまり、この状態でユーザは印刷対象となる画像ファイルを記憶したメモリカードＭをメモリカードスロット１６に差し込むことができる。画像ファイルデータを記憶する外部記憶媒体としてはメモリカードに限定されず、ＵＳＢメモリやディスク媒体など他のものであってもよい。また、画像を記憶したデジタルカメラや携帯電話等の電子機器を本フォトプリンタ１０にケーブルや赤外線を利用した通信によって接続し外部記憶媒体として機能させてもよい。
【００２６】
また、プリンタ本体１２の上面には操作パネル２０が設けられる一方、プリンタ本体１２の上面の奥の一辺に対してカバー３０が開閉自在に取り付けられている。このカバー３０は、プリンタ本体１２の上面を覆うことのできる大きさに成形された樹脂板であり、開状態では操作パネル２０の表面を外部に露出する（図１参照）。一方、カバー３０が閉状態に閉じられると、操作パネル２０全体を覆う。
【００２７】
この操作パネル２０には、文字や図形、記号などを表示する例えばＬＣＤディスプレイにより構成された表示部２２と、この表示部２２の周囲に配置されたボタン群２４とを備えている。ボタン群２４は、図２に示すように、電源のオンオフを行うための電源ボタン２４ａ、メインメニュー画面を呼び出すためのメニューボタン２４ｂ、操作を途中でキャンセルしたり用紙Ｐへの印刷を途中で中断したりするためのキャンセルボタン２４ｃ、用紙Ｐへの印刷実行を指示するための印刷ボタン２４ｄ、メモリカードスロット１６に挿入されたメモリカードＭに編集画像等を保存するための保存ボタン２４ｅ、表示部２２に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右の各矢印ボタン２４ｆ〜２４ｉ、この上下左右の各矢印ボタン２４ｆ〜
２４ｉの中央に配置され各矢印ボタン２４ｆ〜２４ｉによって選択されている選択肢に決定したことを指示するためのＯＫボタン２４ｊ、表示部２２での画面表示を切り替えるための表示切替ボタン２４ｋ、表示部２２に表示される左ガイドを選択する左ガイド選択ボタン２４ｌ、表示部２２に表示される右ガイドを選択する右ガイド選択ボタン２４ｍ、排紙トレイとしての機能を備えた前面扉１４を開く排紙トレイオープンボタン２４ｎなどで構成されている。
【００２８】
また、表示部２２の表示内容を確認するために、カバー３０には表示部２２と同じ大きさの窓３２が設けられている。つまり、カバー３０が閉状態にあるときにはユーザはこの窓３２を介して表示部２２の表示内容を確認することができる。一方、カバー３０は開状態のときには、表示部２２を図１に示すように好みの角度に調整することが可能となっている。
【００２９】
このようにカバー３０を開状態としたときには、操作パネル２０に対して斜め後方に傾斜した状態でカバー３０は保持され、用紙Ｐをプリント機構５０へ供給するためのトレイとして利用可能となっている。また、操作パネル２０の奥には、プリント機構５０の給紙口５８が設けられるとともに、ガイド幅が用紙の幅に合うように左右方向にスライド操作される一対の用紙ガイド５９が設けられている。
【００３０】
そして、給紙口５８を介して用紙Ｐがプリント機構５０に送り込まれて印刷が実行される。このプリント機構５０には、図２に示すように、キャリッジ５３が左右方向にループ状に架け渡されたタイミングベルト５１により駆動されガイド５２に沿って左右に往復動する。このキャリッジ５３には、紙端検出センサ５７が設けられ、用紙Ｐの左右端や上下端を検出する。つまり、紙端検出センサ５７は、給紙口５８にセットされた用紙に対して印刷前にキャリッジ５３が左右方向に走査したときにその用紙の左右端を検出して用紙幅の認識を可能にしたり、印刷途中で用紙の後端を検出して用紙長さの認識を可能にしたりする。
【００３１】
また、このキャリッジ５３には、シアン・マゼンタ・イエロー・ブラック等の各色のインクを個別に収容したインクカートリッジ５４が搭載されている。これらのインクカートリッジ５４はそれぞれ印刷ヘッド５５に接続されている。そして、印刷ヘッド５５はインクカートリッジ５４からのインクに圧力をかけてノズル（図示省略）から用紙Ｐに向かってインクを吐出する。この実施形態では、印刷ヘッド５５は圧電素子に電圧をかけることにより該圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体（例えばヒータなど）に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。こうして印刷された用紙Ｐは搬送ローラ５６によって開状態の前面扉（排紙トレイ）１４へ送り出される。
【００３２】
また、図示を省略しているものの、プリンタ本体１２の背面にはバッテリパックを装着可能となっており、商用電源に接続しなくとも本プリンタ１０をバッテリにより動作させることが可能となっている。この点および本プリンタ１０がホストコンピュータに接続しなくても使用することができるスタンドアロンプリンタとなっている点により、本プリンタ１０は持ち運び容易でどこでも使用できるようになっている。
【００３３】
図３はコントローラの構成を示すブロック図である。コントローラ７０は、図３に示すように、メインコントローラ７１、メモリカードコントローラ７２、メモリカードドライバ７３、ファイルシステム７４、管理用バッファ７４１、画像データバッファ７４２、デコーダ７５、印刷データ生成部７６およびＬＣＤコントローラ７７などの機能ブロックを備えている。このうち、メインコントローラ７１、メモリカードドライバ７３、ファイルシステム７４、デコーダ７５および印刷データ生成部７６の各機能ブロックはソフトウェアにより実現される。すなわち、図示を省略するＣＰＵが予め定められた制御プログラムを実行することにより、これらの機能が実現される。
【００３４】
ユーザにより画像ファイルを記憶したメモリカードＭがメモリカードスロット１６に挿入されると、メモリカードコントローラ７２がこれを検知してメモリカードＭの記憶領域にアクセスし、記憶されているデータを読み出す。また、メモリカードドライバ７３は、所定のタイミングでメモリカードＭから必要なデータを取り出すべくメモリカードコントローラ７２を制御する。ファイルシステム７４は、メモリカードＭから読み出されたデータを必要に応じて管理用バッファ７４１または画像データバッファ７４２に記憶させる。また、後述するデコーダ７５からの要求に応じて、必要なデータを管理用バッファ７４１および画像データバッファ７４２から読み出したり、メモリカードＭからデータを読み出すための要求をメモリカードドライバ７３に対し出力する。
【００３５】
デコーダ７５は、メモリカードＭから読み出されたデータをデコードして画像ファイルを再構成する。このとき、メモリカードＭに記憶されている画像ファイルがデータ圧縮されたものであれば、デコーダ７５はデータを伸長して圧縮前のデータを復元する。
【００３６】
印刷データ生成部７６は、デコーダ７５によりデコードされた画像ファイルのデータに基づいて印刷制御信号を生成し、プリント機構５０に対し出力する。プリント機構５０は印刷制御信号に基づいて印刷動作を実行し、用紙上に画像ファイルに対応する画像を形成する。また、ＬＣＤコントローラ７７は、デコーダ７５によりデコードされた画像ファイルのデータに基づいてビデオ信号を生成し、表示部２２に出力する。これにより、表示部２２には画像ファイルに対応した画像が表示される。
【００３７】
そして、メインコントローラ７１は、上記した装置各部に対しその状態を監視したり必要な制御信号を与えることで、装置全体の動作を制御している。また、メインコントローラ７１は、ボタン群２４に対するユーザの操作入力を受け付けている。
【００３８】
上記のように構成されたフォトプリンタ１０では、メモリカードＭに記憶された画像ファイルが読み出され必要な加工が施されて印刷用画像データが生成され、該画像データに基づいてプリント機構が動作することによって所望の画像が得られる。しかしながら、外部記憶媒体であるメモリカードＭへのアクセスには、プリンタ内部におけるデータのやり取りよりも時間がかかるため、印刷に必要なデータを都度メモリカードＭから読み出したのでは印刷に要する時間が長くなってしまう。この問題を回避するために管理用バッファ７４１および画像データバッファ７４２が設けられている。
【００３９】
管理用バッファ７４１および画像データバッファ７４２はいずれもデータを一時的に保存するバッファメモリであり、ファイルシステム７４からの要求に応じてデータを保存したり、保存しているデータをファイルシステム７４に対して出力する。このうち管理用バッファ７４１は、メモリカードＭ内におけるディレクトリ情報やＦＡＴ（File Allocation Table）情報を記憶する。また、画像データバッファ７４２は、画像ファイルを構成するデータとしてクラスタ単位に分割されメモリカードＭに記憶されている画像データを記憶する。印刷動作に先立ってデータをバッファに保存しておけば、印刷時間を短縮することが可能となる。
【００４０】
図４は画像データバッファの構造を示す図である。図４に示すように、画像データバッファ７４２は、所定バッファサイズのラインバッファ７４２１，７４２２，…，７４２ｐが所定本数（この例ではｐ本）設けられてなるＦＩＦＯ（First In First Out；先入れ先出し）バッファである。以下に説明するように、この実施形態ではデコーダ７５からのデータ要求の態様に応じてメモリカードＭからの画像データの読み出し単位を変更しており、これに伴って、画像データバッファ７４２の各ラインバッファのバッファサイズＢＳおよびその本数ｐについても変化させるように構成されている。以下、その原理について説明する。
【００４１】
図５は画像データの一例を示す図である。ここでは、図５（ａ）に示すように、直交する座標軸ＸおよびＹ方向の画素数がそれぞれｘ、ｙであるブロックをＸ方向に８個、Ｙ方向に６個それぞれ並べてなる画像ＩＭを例として考える。ここで、ｘ＝ｙとすれば当該画像ＩＭは４：３の縦横比を持つ画像である。なお、各ブロックを構成する画素の数および画像を構成するブロックの数についてはこれに限定されるものではなく任意である。各ブロックについては、図５（ａ）のようにそれぞれその座標を付すことによって識別するものとする。例えば左上のブロックは座標（１，１）によって表され、またその右隣のブロックは座標（１，２）によって表すことができる。他の各ブロックについても同様である。以下において、座標（ｍ，ｎ）で示されるブロックを示す必要があるときには、符号Ｂ（ｍ，ｎ）を用いて表すことにする。
【００４２】
一方、このような画像を示す画像ファイルには、図５（ｂ）のような画像データが含まれている。ここで、符号Ｄmnは座標（ｍ，ｎ）で示されるブロックを表す画像データであることを示している。例えば符号Ｄ11は、座標（１，１）により表される左上のブロックに対応する画像データを表している。メモリカードＭ内では、各ブロックごとの画像データＤ11〜Ｄ68が、Ｄ11，Ｄ12，…，Ｄ18，Ｄ21，…，Ｄ67，Ｄ68の順に格納されている。なお、このことは、これらのデータが番号の連続するクラスタにこの順番でそのまま格納されていることを意味するのではなく、ＦＡＴファイルシステムにより指定されるクラスタチェーンの順に沿って、これらのデータが上記順序で格納されていることを意味している。同様に、以下の記述において、メモリカード内の画像データの配列順に言及するとき、それはクラスタチェーンの順に沿ったデータの順番を意味する。
【００４３】
画像データが例えばＪＰＥＧ方式などの圧縮方式により圧縮されている場合、各ブロックＢ（ｍ，ｎ）を表すデータＤmnのデータ長は一定ではなく、当該ブロックの画像内容に応じて異なっている。すなわち、図５（ｂ）に示される画像データは可変長データである。したがって、図５（ａ）に示す画像ＩＭを１ブロック分の高さおよび８ブロック分の幅をそれぞれ持つ６つの行画像に区分したとき、例えばブロックＢ（１，１）からＢ（１，８）までの８つのブロックで構成されるブロック行に対応する画像データＤ11〜Ｄ18の全データ量と、ブロックＢ（２，１）からＢ（２，８）までの８つのブロックで構成されるブロック行に対応する画像データＤ21〜Ｄ28の全データ量とは、図５（ｂ）に示すように必ずしも同じではない。
【００４４】
次に、このような画像データを含む画像ファイルをメモリカードＭから読み出し、当該画像ファイルに対応する画像をプリント機構５０により用紙Ｐ上に印刷する際のデータ処理の流れについて説明する。プリント機構５０による印刷は、用紙Ｐを一定の紙送りピッチで所定方向に搬送するとともに、これに直交する方向にキャリッジ５３を往復走査移動させながら、その都度所定幅のバンド画像を形成してゆくことによってなされる。この場合のバンドは少なくとも１行のブロック行から成り、バンド幅は印刷ヘッド５５に設けられたノズル列の幅に対応している。したがって、キャリッジ５３の１回の走査移動のためには、少なくとも１バンド分の印刷データ（バンドデータ）がデコーダ７５から印刷データ生成部７６を介してプリント機構５０に与えられる必要がある。
【００４５】
この実施形態では、デコーダ７５がブロック単位で画像データをデコード処理し、デコードデータを印刷データ生成部７６に与える。印刷データ生成部７６は、ブロック単位のデコードデータをブロック行単位に、さらには各ブロック行ごとのデータをバンド単位に再配列することにより、バンド単位の印刷用データ（バンドデータ）を作成し、該バンドデータを含む印刷制御信号をプリント機構５０に送信することによって、プリント機構５０により画像が印刷される。
【００４６】
（１）画像を回転させない場合
画像を回転させずに印刷する、つまりキャリッジ５３の移動方向が図５（ａ）のＸ軸方向と一致する場合、デコーダ７５がデコード処理のためにファイルシステム７４に要求するデータの順番と、メモリカードＭ内における画像データの配列順序とが一致する。したがって、デコーダ７５はファイルシステム７４に対し、当該画像ファイルの先頭から順にデータを要求すればよい。
【００４７】
図６は画像を回転させない場合の画像データの処理順序を示す図である。この場合、図６（ａ）に示すように、デコーダ７５が要求するデータの順序は、メモリカードＭ内における配列と同じ順序、すなわちＤ11，Ｄ12，Ｄ13，…，である。このとき、１ブロック行に相当するバンドデータ、つまりＤ11〜Ｄ18が揃えば１ブロック行分の印刷が可能である。したがって、図６（ｂ）に示すように、画像データバッファ７４２のラインバッファ１本に１ブロック行以上の画像データが記憶されていれば、当該ブロック行についてのデコード処理および印刷動作は、途中でメモリカードＭへの読み出しを挟むことなく実行することが可能である。そして、少なくとも当該ブロック行の印刷が完了するまでに、次のブロック行のデータ読み出しおよびデコード処理を終了していれば、引き続き印刷動作を遅滞なく行って短時間で画像を印刷することができる。
【００４８】
したがって、画像を回転させない場合には、１ブロック行分に対応するデータ長の画像データを記憶することができるラインバッファを少なくとも１本設けておけばよいこととなる。すなわち、メモリカードＭからの画像データの読み出し単位を１ブロック行分程度に大きくするのがよい。なお、ここでは１ブロック行と１バンドとを同じ高さとして説明したが、実際の印刷動作では複数ブロック行を１バンドとすることが多い。このような場合には、１バンドを構成するブロック行の行数に対応する本数以上のラインバッファを設けておけば、メモリカードＭからの画像データの読み出し、デコード処理およびデコード後のバンドデータに基づく印刷動作をスムーズに行うことができる。
【００４９】
なお、図６（ｂ）において斜線を付した部分は、ファイルシステム７４が定められたデータ長の画像データをメモリカードＭから読み出す際、必要なデータに付随して読み出されるが当該ブロック行のデコード処理には使用されない不要なデータである。この部分のデータが多いと、不要な読み出し処理が多く余計な処理時間がかかっていることになるので、この部分のデータができるだけ少なくなるようにするのが望ましい。そのためには、ラインバッファ１本のデータ長は、１ブロック行に対応する画像データのデータ量として予想される最大のものと同じかそれ以上（例えば６４ＫＢ）にすることが望ましい。
【００５０】
（２）画像を回転させ、かつ画像データ量がバッファ容量より大きいとき
図７は画像を回転させた場合の画像データの処理順序を示す図である。画像を例えば２７０度回転させて印刷する場合、キャリッジ５３の走査移動方向は図５（ａ）におけるＹ方向、すなわち画像データの配列順序に直交する列方向となる。このため、デコーダ７５が要求する画像データの順序は、図７（ａ）に示すように、Ｄ11，Ｄ21，Ｄ31，…，の順となる。また、１バンド分の印刷データを得るためには、Ｄ11，Ｄ21，Ｄ31，Ｄ41，Ｄ51およびＤ61の６ブロック分のデータが少なくとも必要である。メモリカードＭ上においてはこれらのデータの間には他のブロックのデータが記憶されているため、これらのデータは１本のラインバッファに読み込むことはできず、それぞれ別のラインバッファに記憶されることとなる。したがって、ラインバッファの本数は、画像の縦の列を構成するブロックの数（この実施形態では６つ）以上は必要である。
【００５１】
一方、メモリカードＭから読み出され各バッファに記憶されたデータのうちデコード処理に必要なデータは上記した６ブロック分だけであり、他のデータは全て不要である。したがって、この場合の各ラインバッファは１ブロック分の画像データを記憶することのできるサイズ（例えば４ＫＢ；ＦＡＴ３２ファイルシステムで使用される１クラスタ分に相当）があれば足りる。また、ラインバッファのサイズをこのサイズとすることで、不要なデータの読み出し量を減らして処理を短時間に行うことができる。このように、画像を回転させ、かつ画像データ量がバッファ容量より大きいときには、メモリカードＭからの画像データの読み出し単位を１ブロック分程度まで小さくするのがよい。１バンドが複数ブロックに相当する幅で構成されている場合には、その分だけ画像データの読み出し単位を大きくすればよいことは上記した通りである。例えば１バンドが２ブロック幅であるときには、画像データの読み出し単位を２ブロック分程度とすればよい。
【００５２】
なお、画像ファイルのサイズが小さく画像データバッファ７４２が全ての画像データを記憶するだけの容量がある場合には、当然に全てのデータを予め読み出して画像データバッファ７４２に記憶しておく方が処理時間は短くなる。したがって、画像を回転させる場合であっても全ての画像データが画像データバッファ７４２に収まるときには、メモリカードＭから読み出す画像データの単位を大きくした方がよい。
【００５３】
（３）複数の画像を横に並べて印刷する場合
図８は１枚の用紙に複数の画像を並べて印刷した状態を示す図である。この図では、用紙１枚に縦横２つずつ計４つの画像ＩＭ１，ＩＭ２，ＩＭ３およびＩＭ４を印刷する場合を示している。この場合、図８に示すように、１つのバンドＢに複数の画像ＩＭ１，ＩＭ２のそれぞれ一部が含まれるため、１つのバンドに対応する印刷データを作成するには、複数の画像ファイルに属する画像データを交互に処理する必要がある。そのため、画像データバッファ７４２には、１つの画像ファイルに属する画像データを大量に記憶させるよりも、各画像ファイルのそれぞれに属するデータを少しずつ記憶させた方が効率がよい。したがって、この場合のメモリカードＭからのデータ読み出し単位は小さくするのが好ましい。
【００５４】
（４）画素単位で表された画像ファイルの場合
ビットマップ形式、ＴＩＦＦ形式など、メモリカードから読み出される画像ファイルが既に画素単位のデータによって表されているデータ形式の画像ファイルでは、高度にデータ圧縮されているＪＰＥＧ方式における復号化処理に相当するデコード処理は基本的に不要である。また、この種のデータ形式の画像ファイルでは、一般にファイルサイズが大きく、画像データバッファ７４２に画像データを全て記憶させることが現実的でない場合が多い。そこで、全ての画像データが画像データバッファ７４２に収まらない場合にも対応できるように、メモリカードＭからの画像データの読み出しを次のようにすればよい。
【００５５】
図９は画素単位で表された画像の一例を示す図である。このうち図９（ａ）は画素単位のデータにより表された画像ＩＭ５を回転させずに印刷する場合のバンドの状態を示しており、また図９（ｂ）は同じ画像ＩＭ５を回転させて印刷する場合のバンドの状態を示している。画像を回転させない場合、図９（ａ）に示すように、画像データの配列方向とバンドの長手方向、つまりキャリッジ５３の走査方向とが同じである。したがって、１バンド分の印刷データを作成するためには、画像ＩＭ５のＸ方向の画素数にバンドＢのＹ方向高さに対応する画素数を乗じた画素数分の画像データが必要である。このためには、画像ＩＭ５のＸ方向画素数分の画像データのデータ量に対応するサイズのラインバッファを、バンドＢのＹ方向高さに対応する画素数と同じ本数だけ用意すればよい。そして、ファイルシステム７４は、デコーダ７４から要求があったときには、画像ＩＭ５のＸ方向画素数分の画像データをメモリカードＭから読み出してラインバッファに書き込む。
【００５６】
一方、画像を回転させる場合には、図９（ｂ）に示すように、メモリカードＭ内における画像データの配列に沿って読み出されるデータは、バンドＢのＸ方向幅に対応する画素数分だけである。したがって、このデータをラインバッファに書き込むとしても、ラインバッファ１本当たりのデータ量は僅かである。これに対し、ラインバッファの本数については、画像ＩＭ５のＹ方向画素数と同じ数（一般的には数百本）が必要になり、事実上実現不可能である。すなわち、このようなデータを処理するにはラインバッファを使用する利点が少ない。したがって、この場合にはファイルシステム７４は画像データバッファ７４２を使用せず、デコーダ７５から画像データを要求されたときには、要求されたデータのみをその都度メモリカードＭから読み出して、デコーダ７４に与えるようにする。
【００５７】
（５）データ読み出し単位の判断フロー
図１０はこの実施形態においてデータ読み出し単位を判断するための処理を示すフローチャートである。この実施形態では、メモリカードＭから画像データを読み出し画像データバッファ７４２に記憶させる際のデータ読み出し単位として、画像１ブロック行分（この実施形態では８ブロック分）の画像データに相当するデータ長（読み出し単位：大）と、画像１ブロック分の画像データに相当するデータ長（読み出し単位：小）とを選択可能となっており、さらに、画像データバッファ７４２を使用せず必要なデータをその都度メモリカードＭから読み出す動作を選択することも可能となっている。
【００５８】
まず、デコーダ７５からの要求が、複数の画像ファイルに属する画像データを交互に必要とするものである、つまり複数種類の画像を並べて配置するような場合、上記（３）のケースに該当するので、メモリカードＭからの画像データの読み出し単位を小さい方に設定する（ステップＳ１０１、Ｓ１０６）。こうすることにより、無駄なデータの読み出しを少なくする。
【００５９】
また、１つの画像ファイルに対し処理を行う場合であって、画像データを全て画像データバッファ７４２に書き込むことが可能である、つまり画像ファイルのサイズが画像データバッファ７４２のサイズ以下である場合には（ステップＳ１０２）、画像データの読み出し単位を大きい設定とする（ステップＳ１０５）。こうすることで、メモリカードＭへのアクセス回数を減らし、処理の効率化を図っている。
【００６０】
また、画像データが画像データバッファ７４２に収まらないサイズであっても、画像を回転させない場合にも同様とする（ステップＳ１０３）。この場合も上記（１）のケースに該当する。
【００６１】
画像の回転を伴う場合であって、画像ファイルのファイル形式がＴＩＦＦまたはビットマップ（ＢＭＰ）形式である場合には（ステップＳ１０４）、上記（４）のケースに該当するのでバッファを使用しない処理を選択する（ステップＳ１０７）。一方、他のファイル形式であるときには、上記（２）のケースに該当するため、画像データの読み出し単位を小さい設定とする（ステップＳ１０６）。
【００６２】
以上のように、この実施形態では、デコーダ７５からファイルシステム７４へのデータ要求の態様に応じて、さらには画像ファイルの内容に応じて、ファイルシステム７４がメモリカードＭから画像データを読み出すときの読み出し単位を変化させるようにしている。そのため、デコーダ７５が要求していない余分なデータの読み出しを少なくし、画像データバッファ７４２に必要な容量を抑えつつ、このような無駄な読み出しに起因する処理時間の長大化を抑制して効率よくデータ処理を行うことが可能となっている。その結果、この実施形態では、必要とされる画像の印刷を迅速に行うことができる。
【００６３】
なお、ここではデコーダ７５により処理されたデータに基づいて印刷データ生成部７６が印刷データを生成し、プリント機構５０により画像ファイルに対応する画像を印刷する場合について説明したが、表示部デコーダ７５により処理されたデータに基づいて、表示部２２が画像ファイルに対応する画像（例えば、指定された画像ファイルのプレビュー画像）を表示する場合についても同様の議論が可能である。すなわち、上記のようにすることで、この実施形態では、表示部２２への画像の表示を迅速に行うことができる。
【００６４】
＜第２実施形態＞
次に、この発明にかかる画像データ処理装置の第２実施形態について説明する。上記した第１実施形態の装置では、表示または印刷する画像が１つで画像を回転させない場合における画像データの読み出し単位は、１ブロック行分（１バンドが複数ブロック行で構成される場合には、その行数分）の画像データのデータ量に相当するデータ長としていた。しかしながら、例えばＪＰＥＧ方式の画像ファイルは可変長データとして画像がデータ化されているため、１ブロック行分の画像データを確実に読み出すためには、読み出し単位を比較的大きめに設定しておく必要がある。前記したように、データ処理に必要ないデータを読み出すことは時間の浪費につながるため、読み出し単位は長くしすぎても好ましくない。
【００６５】
そこで、以下に説明する第２実施形態では、表示または印刷する画像が１つであり、かつ画像を回転させない場合における画像データの読み出し単位を状況に応じたより最適なものとすることで、このような無駄を削減している。なお、１つの画像を回転させずに処理する場合の画像データの読み出し単位を以下のように設定することを除けば、第２実施形態における装置の構成や基本的な動作は上記した第１実施形態のものと同一であるため、これらについては説明を省略する。
【００６６】
図１１は第２実施形態における画像データの読み出し単位を示す図である。この実施形態では、画像を構成する画素数の大小に応じて、メモリカードＭからの画像データの読み出し単位を多段階に変化させる。より詳しくは、図１１に示すように、画像を構成する画素数（縦×横の総数）が３Ｍピクセル以下の小さな画像ファイルについては、画像データの読み出し単位を一律に最小値の３２ＫＢとする。一方、画素数が２０Ｍピクセル以上の大きな画像ファイルについては、画像データの読み出し単位を一律に最大値の１０２４ＫＢとする。そして、画素数が３Ｍピクセルと２０Ｍピクセルとの間である画像ファイルについては、図１１に示すように、画素数に比例して読み出し単位を変化させるようにする。
【００６７】
このようにする理由は以下の通りである。例えば、画像データをバンド単位で処理して表示または印刷する場合、１つのバンドについての表示または印刷を行っている間に、メモリカードＭから次の１バンド分の画像データの読み出しを行うことができれば処理として最も効率的である。ここで、必要以上に多くのデータを読み出そうとしても、読み出しに時間がかかった結果、次のバンドを表示または印刷するためのデータ処理が間に合わなくなったのでは、システムとしては却って効率が悪くなる。表示や印刷を行うための処理は一般に画像の画素数に応じて処理の負荷が増加するため、画像ファイルの画素数に応じて画像データの読み出し単位を変化させ、読み出し処理と他の処理とのバランスをうまく取ることにより、システム全体としての処理効率を最適なものとすることができる。
【００６８】
＜その他＞
以上説明した実施形態においては、メモリカードコントローラ７２、メモリカードドライバ７３およびファイルシステム７４が一体として本発明の「読み出し手段」として機能している。また、デコーダ７５、印刷データ生成部７６およびＬＣＤコントローラ７７がいずれも本発明の「データ処理手段」として機能する一方、画像データバッファ７４２が本発明の「記憶手段」として機能している。また、メモリカードＭが「記憶媒体」に相当している。また、プリント機構５０および表示部２２がそれぞれ本発明の「印刷手段」および「表示手段」に相当している。
【００６９】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記した第１実施形態では、デコーダ７５から与えられる要求の態様に応じて、ファイルシステム７４が画像データの読み出し単位を２段階に切り換えるようにしているが、より多くの段階に切り換え可能としてもよい。
【００７０】
また、上記第1実施形態では、デコーダ７５から与えられる要求の態様に応じて、ファイルシステム７４が画像データバッファ７４２内のラインバッファ７４２１等のバッファサイズＢＳおよび本数ｐを変更するようにしているが、本発明においては「記憶媒体」たるメモリカードＭからの画像データの読み出し単位を変化させることが重要であって、ラインバッファのサイズや本数を可変とすることは必須の要件ではない。ただし、画像データの読み出し単位の変更に対応しつつラインバッファのサイズおよび本数を固定しようとすると、バッファのサイズおよび本数に余裕を持たせておく必要があり多くのメモリ資源を占有してしまうことになるので、メモリ資源の効率的な活用の観点からは、上記実施形態のように、読み出し単位の変更に合わせて画像データバッファ７４２の構成を適宜変更することが望ましい。
【００７１】
また、上記第２実施形態では、画像の画素数に比例して画像データの読み出し単位を増減させるようにしているが、このように画素数に対し線形に読み出し単位を変化させるものに限定されず、例えば階段状に読み出し単位を変化させるようにしてもよい。この場合において、読み出し単位の変更の最小ステップは、メモリカードにおけるクラスタのサイズ（例えばＦＡＴ３２システムにおいては４ＫＢ）とするのが望ましい。これにより、画素数に応じて読み出し単位を変更するとしても、メモリカードへのアクセスは依然としてクラスタ単位で行うことが可能となる。
【００７２】
また、上記各実施形態は装置本体に対し挿抜自在のメモリカードに保存された画像ファイルを読み出すように構成されているが、本発明にいう「記憶媒体」としては、このようなカード状のもの以外にも種々のものを使用可能である。例えば、磁気ディスクを有する記憶媒体やスティック状の記憶媒体であってもよい。さらには、デジタルカメラや携帯電話など、撮像された画像ファイルを記憶する機能を有する機器であって、例えばケーブルや無線・赤外線通信等の通信手段により画像ファイルを読み出すことのできるものについても、本発明の「記憶媒体」として使用することが可能である。
【００７３】
また、上記実施形態におけるプリント機構５０はインクジェット方式のプリンタであるが、例えば電子写真方式のプリンタであってもよい。また、上記実施形態における表示部２２はＬＣＤディスプレイによって画像を表示するものであるが、ＥＬ（エレクトロルミネセンス素子）ディスプレイ等他の表示方式で画像を表示するものであってもよい。
【００７４】
また、上記実施形態は、画像ファイルに対応する画像を表示するための表示機能および該画像を印刷する印刷機能を有するフォトプリンタに本発明を適用したものであるが、本発明の適用対象は上記したフォトプリンタに限定されない。例えば、表示機能または印刷機能のいずれか一方のみを備える機器に対しても、本発明を適用することが可能である。さらに、このような表示・印刷機能を有するものに限らず、記憶媒体に記憶された画像ファイルを読み出してデータ処理を行う装置およびデータ処理方法全般に対して、本発明を適用することが可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の画像表示装置の第１実施形態であるフォトプリンタを示す斜視図。
【図２】フォトプリンタの内部構成の概略を示す図。
【図３】コントローラの構成を示すブロック図。
【図４】画像データバッファの構造を示す図。
【図５】画像データの一例を示す図。
【図６】画像を回転させない場合の画像データの処理順序を示す図。
【図７】画像を回転させた場合の画像データの処理順序を示す図。
【図８】１枚の用紙に複数の画像を並べて印刷した状態を示す図。
【図９】画素単位で表された画像の一例を示す図。
【図１０】データ読み出し単位を判断するための処理を示すフローチャート。
【図１１】第２実施形態における画像データの読み出し単位を示す図。
【符号の説明】
【００７６】
１６…メモリカードスロット、  ２２…表示部（表示手段）、  ５０…プリント機構（印刷手段）、  ７０…コントローラ、  ７２…メモリカードコントローラ（読み出し手段）、  ７３…メモリカードドライバ（読み出し手段）、  ７４…ファイルシステム（読み出し手段）、  ７５…デコーダ（データ処理手段）、  ７６…印刷データ生成部（データ処理手段）、  ７７…ＬＣＤコントローラ（データ処理手段）、  ７４２…画像データバッファ（記憶手段）、  Ｍ…メモリカード（記憶媒体）
【図１】
0004882905.tif 000002
【図２】
0004882905.tif 000003
【図３】
0004882905.tif 000004
【図４】
0004882905.tif 000005
【図５】
0004882905.tif 000006
【図６】
0004882905.tif 000007
【図７】
0004882905.tif 000008
【図８】
0004882905.tif 000009
【図９】
0004882905.tif 000010
【図１０】
0004882905.tif 000011
【図１１】
0004882905.tif 000012