JP4882926B2 - 画像データ処理装置および画像データ処理方法 - Google Patents

画像データ処理装置および画像データ処理方法 Download PDF

Info

Publication number
JP4882926B2
JP4882926B2 JP2007225066A JP2007225066A JP4882926B2 JP 4882926 B2 JP4882926 B2 JP 4882926B2 JP 2007225066 A JP2007225066 A JP 2007225066A JP 2007225066 A JP2007225066 A JP 2007225066A JP 4882926 B2 JP4882926 B2 JP 4882926B2
Authority
JP
Japan
Prior art keywords
data
image
image data
read
storage medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007225066A
Other languages
English (en)
Other versions
JP2009060314A (ja
Inventor
義奈朗 北原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007225066A priority Critical patent/JP4882926B2/ja
Priority to US12/231,479 priority patent/US20090059312A1/en
Publication of JP2009060314A publication Critical patent/JP2009060314A/ja
Application granted granted Critical
Publication of JP4882926B2 publication Critical patent/JP4882926B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3877Image rotation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00278Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0015Control of image communication with the connected apparatus, e.g. signalling capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0065Converting image data to a format usable by the connected apparatus or vice versa
    • H04N2201/0068Converting from still picture data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0087Image storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Record Information Processing For Printing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Storing Facsimile Image Data (AREA)

Description

この発明は、画像ファイルを記憶した記憶媒体から画像データを読み出してデータ処理を行う画像データ処理装置および画像データ処理方法に関するものである。
外部記憶媒体に記憶された画像データを読み出してデータ処理を行う画像データ処理装置においては、記憶媒体へのアクセス回数を少なくするため、記憶媒体から読み出された画像データを一時的に保存する記憶手段を設けている。そして、データ処理に必要な画像データについては、必要なときに記憶手段から読み出してデータ処理に供するようにしている。例えば、特許文献1に記載の画像印刷システムにおいては、画像の印刷行数以上の本数のキャッシュバッファを設け、画像ファイルを保存したデジタルスチルカメラから画像データを読み出してバッファに保存している。そして、データ処理に必要なデータがバッファに保存されているときにはそれを読み出してデータ処理を行う。一方、必要なデータがバッファにないときには、外部記憶媒体にアクセスして当該データを含む一定データ長のデータを読み込んでバッファに記憶させるとともに、読み出されたデータに対しデータ処理を行う。ここで、1回のアクセスで外部記憶媒体から読み込むデータのデータ長は、1本のキャッシュバッファのサイズと同じにされる。
特開2006−343922号公報(段落0058、図14)
この種の画像データ処理装置においては、上記のようなデジタルスチルカメラやメモリカードなどの外部記憶媒体から画像データを読み出す場合、装置内部でのデータの移動に比べ時間がかかるため、データ処理時間短縮のためには、これらの外部記憶媒体とのデータ送受を効率よく行うことが望まれている。しかしながら、従来の一般的な技術においては、予め決められた一定のデータ量単位でデータの読み出しを行っていたため、データの読み出しが必ずしも効率的に行えているとは言えない場合があった。
例えば、データ処理に必要とされるデータの順序が外部記憶媒体内のデータ配列順序と一致しているときには、必要なデータを読み出す際に記憶媒体内のデータ配列において当該データの後続データをまとめて読み出しておけば、後続データが順次データ処理に供されることとなるので記憶媒体へのアクセス回数を減らすことができる。これに対して、画像を回転させる処理を行う場合のように、データ処理に使用されるデータの順序が外部記憶媒体内のデータ配列順序と一致しない場合もある。この場合には、まとめて読み出した後続データが直ちに必要とされるとは限らないばかりか、既に読み出されたデータが重複して読み出されるなど、データの読み出しが非効率的になることがあった。このような非効率的な読み出し方法によれば、同じデータを何度も読み出すことにより処理時間が長くなったり、重複したデータによって記憶資源を浪費してしまうなどの問題があった。
この発明は上記課題に鑑みなされたものであり、画像ファイルを記憶した記憶媒体から画像データを読み出してデータ処理を行う画像データ処理装置および画像データ処理方法において、記憶媒体からのデータ読み出しを効率的に行い、データ処理時間の短縮を図ることのできる技術を提供することを目的とする。
この発明にかかる画像データ処理装置は、上記目的を達成するため、画像を主走査方向および副走査方向にそれぞれ複数に分割してなる画像ブロックの各々を符号化したデータを前記主走査方向、前記副走査方向の順で配列した画像データを含む画像ファイルを記憶した外部の記憶媒体から、該画像ファイルに含まれる画像データをその配列順に読み出す読み出し手段と、前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段とを備え、前記読み出し手段は、前記記憶媒体から画像データを読み出して前記記憶手段に記憶させる読み出しモードとして、前記画像ファイルを構成する画像データのデータ量が前記記憶手段の記憶容量を超え、しかも前記データ処理手段が要求する画像データの順番が前記記憶媒体内のデータ配列順序と異なるときに、最初に読み出す先頭データから該先頭データが属する画像ブロックと前記副走査方向における位置が同一の画像ブロックに属する画像データのうち前記記憶媒体内のデータ配列における末尾データまでの画像データと、予め定められた既定データ長の画像データとのうち、データ長が短い方を前記記憶媒体から連続的に読み出して前記記憶手段に記憶させる可変長読み出しモードを実行することを特徴としている。
また、この発明にかかる画像データ処理方法は、上記目的を達成するため、画像を主走査方向および副走査方向にそれぞれ複数に分割してなる画像ブロックの各々を符号化したデータを前記主走査方向、前記副走査方向の順で配列した画像データを含む画像ファイルを記憶した記憶媒体から、該画像ファイルに含まれる画像データをその配列順に読み出して記憶手段に記憶するとともに、該画像データに対し所定のデータ処理を行い、しかも、前記記憶媒体から画像データを読み出して前記記憶手段に記憶させる読み出しモードとして、前記画像ファイルを構成する画像データのデータ量が前記記憶手段の記憶容量を超えるとともに、前記データ処理に必要な画像データの順番が前記記憶媒体内のデータ配列順序と異なるときに、最初に読み出す先頭データから該先頭データが属する画像ブロックと前記副走査方向における位置が同一の画像ブロックに属する画像データのうち前記記憶媒体内のデータ配列における末尾データまでの画像データと、予め定められた既定データ長の画像データとのうち、データ長が短い方を前記記憶媒体から連続的に読み出して前記記憶手段に記憶させる可変長読み出しモードを実行することを特徴としている。
以下の説明においては、画像のうち、副走査方向における位置が同一の、つまり主走査方向に沿って一列に並んだ複数の画像ブロックからなる帯状の部分を「ブロック行」と称する一方、主走査方向における位置が同一の、つまり副走査方向に沿って一列に並んだ複数の画像ブロックからなる帯状の部分を「ブロック列」と称する。また、本明細書において「画像データが属する画像ブロック」とは、その画像データにより表される情報が画像内容に反映される画像ブロックを指す。つまり、その画像データは、当該画像ブロックの画像内容を符号化して得られるデータの全部または一部である。
上記のように構成された発明では、可変長読み出しモードを実行することにより1回のアクセスで記憶媒体から連続的に読み出される画像データは全て、同一のブロック行に属する画像ブロックを表すデータである。その理由は以下の通りである。
この発明の可変長読み出しモードでは、「最初に読み出す先頭データから該先頭データが属する画像ブロックと副走査方向における位置が同一の画像ブロックに属する画像データのうち記憶媒体内のデータ配列における末尾データまでの画像データ」と、「予め定められた既定データ長の画像データ」とのうちデータ長が短い方を、記憶媒体への1回のアクセスで連続的に読み出す。ここで、「先頭データが属する画像ブロックと副走査方向における位置が同一の画像ブロック」とは、先頭データが属する画像ブロックと同一のブロック行に属する画像ブロックを意味する。そして、画像ファイルを構成する画像データは画像ブロックごとに符号化したデータを主走査方向、副走査方向の順で配列したものであるから、同一のブロック行に属する画像ブロックの画像データは連続した状態で記憶媒体内に配列されている。したがって、ある画像ブロックに属する画像データを先頭データとしたとき、先頭データから、この画像ブロックと同一ブロック行にある画像ブロックに属する画像データの末尾までの画像データは全て当該ブロック行にある画像ブロックに属するデータとなる。
そして、本発明の可変長読み出しモードでは、先頭データから末尾データまで、予め定められた既定データ長の画像データのうち、データ長の短い方を1回の読み出しで連続的に読み出す。したがって、先頭データから末尾データまでのデータ長が既定データ長より短ければ末尾データまでを読み出す一方、既定データ長を超えているときには既定データ長分のみを読み出す。このため、1回の読み出しで記憶媒体から読み出されるデータ長が既定データ長を超えることはなく、しかも、1回の読み出しで読み出される画像データは全て同一ブロック行に属するものであって複数のブロック行にまたがることはない。
予め定められたデータ長の画像データを読み出す従来の技術においては、先頭データから末尾データまでのデータ長が短いとき、1回の読み出しでこれらのデータに続けて他のブロック行に属する画像データが読み出されることになる。ここで、当該他のブロック行に属する画像データの読み出しが既に済んでいる場合、その画像データが重複して読み出されてしまうこととなり、無用な読み出し時間および記憶資源を消費してしまうこととなる。これに対して本発明の可変長読み出しモードでは、1回の読み出しによって1つのブロック行を超えて画像データを読み出すことがないので、このような読み出し時間および記憶資源の無駄が発生せず、記憶媒体からのデータ読み出しを効率的に行うとともに、データ処理時間の短縮を図ることができる。
また、前記データ処理手段は、前記データ処理として、前記記憶媒体に記憶された、各画像ブロックごとの画像内容に関する情報を可変長符号化されてなる画像データに対し、該画像データを複号化する処理を行うように構成されてもよい。このような構成を有する画像データ処理装置では、1画像ブロックあるいは1ブロック行に対応する画像データのデータ長が一定でない。したがって、本発明の可変長読み出しモードを実行することの効果が非常に大きい。
例えば、前記データ処理手段は、前記記憶媒体内の配列順に予め前記読み出し手段により読み出された画像データに基づいて、前記記憶媒体内のデータ配列において隣接し、かつ前記副走査方向において互いに異なる位置にある2つの画像ブロックのそれぞれに属する画像データ間の前記記憶媒体内のデータ配列における境界を表す境界情報を求めておき、前記読み出し手段は、前記記憶媒体内のデータ配列において前記境界情報により示される境界の直前のデータを前記末尾データとするようにしてもよい。
可変長圧縮符号化された画像データでは、1画像ブロックあるいは1ブロック行に対応する画像データのデータ長が一定でないため、復号化してみなければデータ列における画像ブロックまたはブロック行の境界が正確にはわからない。そこで、予め配列順に読み出した画像データからデータ列におけるブロック行の境界を導出しておき、その情報から末尾データのデータ列内における位置を割り出すようにすれば、読み出しデータの重複を避けることができる。
特に、データ処理に要求される画像データの順番が記憶媒体内のデータ配列順序と異なるとき、上記のようなデータの重複が起きやすい。本発明の可変長読み出しモードは、このようなケースが想定される画像データ処理装置および方法に適用された場合に特に顕著な効果を奏するものである。
また、前記記憶媒体から前記既定データ長の画像データを連続的に読み出す固定長読み出しモードと、前記可変長読み出しモードとが選択的に実行されるようにしてもよい。例えばデータ処理に要求される画像データの順番が記憶媒体内のデータ配列順序と一致しているときには上記したデータの重複は発生せず、このような場合には予め定められたデータ長の画像データ読み出しを行うことで処理が簡単となるからである。
また、上記のように構成された画像データ処理装置においては、例えば、印刷用データに基づいて、前記画像ファイルに対応する画像を記録材上に印刷する印刷手段をさらに備え、前記データ処理手段は、前記画像データにデータ処理を施して前記印刷用データを作成して前記印刷手段に与えるとともに、前記印刷手段に与える印刷用データの順序に応じた順序で、前記読み出し手段に対し画像データを要求するようにしてもよい。このような構成の画像データ処理装置では、記録材上への画像の印刷レイアウトによってデータ処理に必要なデータの順序が変化するため、本発明の可変長読み出しモードを実行することでデータの重複を防止し効率よくデータ処理を行うことが可能となる。
例えば、印刷手段により印刷する画像の記録材上における方向に応じて、読み出しモードが選択されるようにすることができる。画像の印刷方向が変わると、処理に必要な画像データの順序も変化するからである。
また、前記画像ファイルを構成する情報のうち画像サイズに関する情報に基づいて、読み出しモードが選択されるようにしてもよい。一般に画像ファイルには、当該画像ファイルにより表現される画像のサイズ(画素数)が情報として含まれており、その情報から、画像が縦長か横長か、1ブロック行に対応するデータのおおよその長さなどを推定することができる。したがって、画像サイズに関する情報に基づき読み出しモードの選択を行うことで、画像ファイルの態様に応じた効率のよいデータ読み出しを実現することができる。
また、前記画像ファイルを構成する画像データのデータ量に応じて、読み出しモードが選択されるようにしてもよい。画像データのデータ量に対して記憶手段の記憶容量に余裕がある場合には、データの重複はさほど大きな問題とはならない。その一方、画像データのデータ量が記憶手段の記憶容量を超えている場合、データの重複は処理効率の向上を図る上で大きな問題である。そこで、画像データのデータ量に応じて読み出しモードが選択されるようにすることで、画像ファイルの態様に応じた読み出し処理が可能となる。
より具体的には、例えば、前記画像ファイルを構成する画像データのデータ量が前記記憶手段の記憶容量以下であるときには前記固定長読み出しモードが選択される一方、該データ量が前記記憶容量を超える場合には、前記画像ファイルを構成する情報のうち画像サイズに関する情報に基づいて、前記固定長読み出しモードおよび前記可変長読み出しモードのいずれか一方が選択されるようにしてもよい。上記したように、画像データのデータ量が記憶手段の記憶容量以下であるときにはデータの重複はさほど問題でないので、固定長読み出しモードが実行されてよい。一方、画像データのデータ量が記憶容量を超える場合にはデータの重複が問題となりうる。しかし、例えば必要となる画像データの順番が記憶媒体内における配列順序と同じである場合にはデータの重複は起こらないので、必ずしも可変長読み出しモードを実行しなくてもよい。そこで、例えば画像サイズに関する情報に基づいて、読み出しモードを選択することができる。
また、この発明にかかる画像データ処理装置に他の態様は、画像を主走査方向および副走査方向にそれぞれ複数に分割してなる画像ブロックの各々を符号化したデータを前記主走査方向、前記副走査方向の順で配列した画像データを含む画像ファイルを記憶した外部の記憶媒体から、該画像ファイルに含まれる画像データをその配列順に読み出す読み出し手段と、前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、
前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段と
を備え、前記読み出し手段は、前記画像ファイルを構成する画像データのデータ量が前記記憶手段の記憶容量を超えるとともに、前記データ処理手段が要求する画像データの順番が前記記憶媒体内のデータ配列順序と異なるときに、最初に読み出す先頭データから該先頭データが属する画像ブロックと前記副走査方向における位置が同一の画像ブロックに属する画像データのうち前記記憶媒体内のデータ配列において末尾のものまでの画像データを前記記憶媒体から連続的に読み出すことを特徴としている。
このように構成された発明では、前記した発明と同様に、1回の読み出しで読み出される画像データはいずれも単一のブロック行に属するデータとなる。ただし、読み出しのデータ長の上限を規制していない。このようにした場合でも、二つ以上のブロック行にまたがって画像データが読み出されることはなく、データ処理に必要な画像データの順番と記憶媒体内におけるデータ配列順序とが一致しない場合でもデータの重複は回避され、効率のよいデータ読み出しを行うことができる。
図1は本発明にかかる画像データ処理装置の一実施形態であるフォトプリンタを示す斜視図である。また、図2はフォトプリンタの内部構成の概略を示す図である。このフォトプリンタ10では、プリンタ本体12の内部にはプリント機構50(図2参照)が内蔵されており、フォトプリンタ10の全体の制御を司るコントローラ70(図2参照)からの動作指令に応じて用紙Pへの印刷を実行する。そして、こうして印刷された用紙がプリンタ本体12の前面に排紙される。
このプリンタ本体12の前面には、図1に示すように、前面扉14が開閉自在に取り付けられている。この前面扉14はプリンタ本体12の前面を開閉するための蓋である。そして、開状態のときには、プリント機構50から排紙される用紙Pを受けるための排紙トレイとして機能する。また、プリンタ本体12の前面に設けられた各種のメモリカードスロット16をユーザが利用可能な状態となる。つまり、この状態でユーザは印刷対象となる画像ファイルを記憶したメモリカードMをメモリカードスロット16に差し込むことができる。画像ファイルデータを記憶する外部記憶媒体としてはメモリカードに限定されず、USBメモリやディスク媒体など他のものであってもよい。また、画像を記憶したデジタルカメラや携帯電話等の電子機器を本フォトプリンタ10にケーブルや赤外線を利用した通信によって接続し外部記憶媒体として機能させてもよい。
また、プリンタ本体12の上面には操作パネル20が設けられる一方、プリンタ本体12の上面の奥の一辺に対してカバー30が開閉自在に取り付けられている。このカバー30は、プリンタ本体12の上面を覆うことのできる大きさに成形された樹脂板であり、開状態では操作パネル20の表面を外部に露出する(図1参照)。一方、カバー30が閉状態に閉じられると、操作パネル20全体を覆う。
この操作パネル20には、文字や図形、記号などを表示する例えばLCDディスプレイにより構成された表示部22と、この表示部22の周囲に配置されたボタン群24とを備えている。ボタン群24は、図2に示すように、電源のオンオフを行うための電源ボタン24a、メインメニュー画面を呼び出すためのメニューボタン24b、操作を途中でキャンセルしたり用紙Pへの印刷を途中で中断したりするためのキャンセルボタン24c、用紙Pへの印刷実行を指示するための印刷ボタン24d、メモリカードスロット16に挿入されたメモリカードMに編集画像等を保存するための保存ボタン24e、表示部22に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右の各矢印ボタン24f〜24i、この上下左右の各矢印ボタン24f〜
24iの中央に配置され各矢印ボタン24f〜24iによって選択されている選択肢に決定したことを指示するためのOKボタン24j、表示部22での画面表示を切り替えるための表示切替ボタン24k、表示部22に表示される左ガイドを選択する左ガイド選択ボタン24l、表示部22に表示される右ガイドを選択する右ガイド選択ボタン24m、排紙トレイとしての機能を備えた前面扉14を開く排紙トレイオープンボタン24nなどで構成されている。
また、表示部22の表示内容を確認するために、カバー30には表示部22と同じ大きさの窓32が設けられている。つまり、カバー30が閉状態にあるときにはユーザはこの窓32を介して表示部22の表示内容を確認することができる。一方、カバー30は開状態のときには、表示部22を図1に示すように好みの角度に調整することが可能となっている。
このようにカバー30を開状態としたときには、操作パネル20に対して斜め後方に傾斜した状態でカバー30は保持され、用紙Pをプリント機構50へ供給するためのトレイとして利用可能となっている。また、操作パネル20の奥には、プリント機構50の給紙口58が設けられるとともに、ガイド幅が用紙の幅に合うように左右方向にスライド操作される一対の用紙ガイド59が設けられている。
そして、給紙口58を介して用紙Pがプリント機構50に送り込まれて印刷が実行される。このプリント機構50には、図2に示すように、キャリッジ53が左右方向にループ状に架け渡されたタイミングベルト51により駆動されガイド52に沿って左右に往復動する。このキャリッジ53には、紙端検出センサ57が設けられ、用紙Pの左右端や上下端を検出する。つまり、紙端検出センサ57は、給紙口58にセットされた用紙に対して印刷前にキャリッジ53が左右方向に走査したときにその用紙の左右端を検出して用紙幅の認識を可能にしたり、印刷途中で用紙の後端を検出して用紙長さの認識を可能にしたりする。
また、このキャリッジ53には、シアン・マゼンタ・イエロー・ブラック等の各色のインクを個別に収容したインクカートリッジ54が搭載されている。これらのインクカートリッジ54はそれぞれ印刷ヘッド55に接続されている。そして、印刷ヘッド55はインクカートリッジ54からのインクに圧力をかけてノズル(図示省略)から用紙Pに向かってインクを吐出する。この実施形態では、印刷ヘッド55は圧電素子に電圧をかけることにより該圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体(例えばヒータなど)に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。こうして印刷された用紙Pは搬送ローラ56によって開状態の前面扉(排紙トレイ)14へ送り出される。
また、図示を省略しているものの、プリンタ本体12の背面にはバッテリパックを装着可能となっており、商用電源に接続しなくとも本プリンタ10をバッテリにより動作させることが可能となっている。この点および本プリンタ10がホストコンピュータに接続しなくても使用することができるスタンドアロンプリンタとなっている点により、本プリンタ10は持ち運び容易でどこでも使用できるようになっている。
図3はコントローラの構成を示すブロック図である。コントローラ70は、図3に示すように、メインコントローラ71、メモリカードコントローラ72、メモリカードドライバ73、ファイルシステム74、管理用バッファ741、画像データバッファ742、デコーダ75、印刷データ生成部76およびLCDコントローラ77などの機能ブロックを備えている。このうち、メインコントローラ71、メモリカードドライバ73、ファイルシステム74、デコーダ75および印刷データ生成部76の各機能ブロックはソフトウェアにより実現される。すなわち、図示を省略するCPUが予め定められた制御プログラムを実行することにより、これらの機能が実現される。
ユーザにより画像ファイルを記憶したメモリカードMがメモリカードスロット16に挿入されると、メモリカードコントローラ72がこれを検知してメモリカードMの記憶領域にアクセスし、記憶されているデータを読み出す。また、メモリカードドライバ73は、所定のタイミングでメモリカードMから必要なデータを取り出すべくメモリカードコントローラ72を制御する。ファイルシステム74は、メモリカードMから読み出されたデータを必要に応じて管理用バッファ741または画像データバッファ742に記憶させる。また、後述するデコーダ75からの要求に応じて、必要なデータを管理用バッファ741および画像データバッファ742から読み出したり、メモリカードMからデータを読み出すための要求をメモリカードドライバ73に対し出力する。
デコーダ75は、メモリカードMから読み出されたデータをデコードして画像ファイルを再構成する。このとき、メモリカードMに記憶されている画像ファイルがデータ圧縮されたものであれば、デコーダ75はデータを伸長して圧縮前のデータを復元する。
印刷データ生成部76は、デコーダ75によりデコードされた画像ファイルのデータに基づいて印刷制御信号を生成し、プリント機構50に対し出力する。プリント機構50は印刷制御信号に基づいて印刷動作を実行し、用紙上に画像ファイルに対応する画像を形成する。また、LCDコントローラ77は、デコーダ75によりデコードされた画像ファイルのデータに基づいてビデオ信号を生成し、表示部22に出力する。これにより、表示部22には画像ファイルに対応した画像が表示される。
そして、メインコントローラ71は、上記した装置各部に対しその状態を監視したり必要な制御信号を与えることで、装置全体の動作を制御している。また、メインコントローラ71は、ボタン群24に対するユーザの操作入力を受け付けている。
上記のように構成されたフォトプリンタ10では、メモリカードMに記憶された画像ファイルが読み出され必要な加工が施されて印刷用画像データが生成され、該画像データに基づいてプリント機構が動作することによって所望の画像が得られる。しかしながら、外部記憶媒体であるメモリカードMへのアクセスには、プリンタ内部におけるデータのやり取りよりも時間がかかるため、印刷に必要なデータを都度メモリカードMから読み出したのでは印刷に要する時間が長くなってしまう。この問題を回避するために管理用バッファ741および画像データバッファ742が設けられている。
管理用バッファ741および画像データバッファ742はいずれもデータを一時的に保存するバッファメモリであり、ファイルシステム74からの要求に応じてデータを保存したり、保存しているデータをファイルシステム74に対して出力する。このうち管理用バッファ741は、メモリカードM内におけるディレクトリ情報やFAT(File Allocation Table)情報、画像データバッファ742にどの画像データが記憶されているかなどの情報を記憶する。また、画像データバッファ742は、画像ファイルを構成するデータとしてクラスタ単位に分割されメモリカードMに記憶されている画像データを記憶する。印刷動作に先立ってデータをバッファに保存しておけば、印刷時間を短縮することが可能となる。
図4は画像データの一例を示す図である。ここでは、図4(a)に示すように、1つの画像IMが直交する座標軸XおよびY方向にそれぞれ複数個の画像ブロックに分割されており、画像ブロック単位でその画像内容がエンコードされている場合について考える。図4(a)の例では、画像IMは、画像ブロックをX方向に8個、Y方向に6個それぞれ並べてなる。各画像ブロックは縦横それぞれ複数の画素からなる。なお、各画像ブロックを構成する画素の数および画像を構成する画像ブロックの数についてはこれに限定されるものではなく任意である。各画像ブロックについては、図4(a)のようにそれぞれその座標を付すことによって識別するものとする。例えば左上の画像ブロックは座標(1,1)によって表され、またその右隣のブロックは座標(1,2)によって表すことができる。他の各ブロックについても同様である。以下において、座標(m,n)で示されるブロックを示す必要があるときには、符号Bmnを用いて表すことにする。例えば、座標(1,1)に対応する画像IMの左上の画像ブロックは符号B11により表される。図4(a)においては、後の説明の便宜のため、矩形を有する画像の上縁を太い直線TIによって表している。
以下では、X方向およびY方向にそれぞれ一列に並んだ各画像ブロックの集まりからなる帯状の画像片をそれぞれ「ブロック行」および「ブロック列」と称する。例えば、X方向に沿って横一列に並んだ画像ブロックB21,B22,B23,…,B28はブロック行BL2をなしている。また、Y方向に沿って縦一列に並んだ画像ブロックB15,B25,B35,…,B65はブロック列BC5をなしている。
一方、このような画像を示す画像ファイルには、図4(b)のような画像データが含まれている。ここで、符号Dmnは座標(m,n)で示される画像ブロックBmnの画像内容を表す画像データであることを示している。例えば符号D11は、座標(1,1)により表される左上の画像ブロックB11に対応する画像データを表している。メモリカードM内では、各画像ブロックB11〜B68ごとの画像データD11〜D68が、D11,D12,…,D18,D21,…,D67,D68の順に格納されている。なお、このことは、これらのデータが番号の連続するクラスタにこの順番でそのまま格納されていることを意味するのではなく、FATファイルシステムにより指定されるクラスタチェーンの順に沿って、これらのデータが上記順序で格納されていることを意味している。同様に、以下の記述において、メモリカード内の画像データの配列順に言及するとき、それはクラスタチェーンの順に沿ったデータの順番を意味する。
メモリカードM内において、各画像ブロックに対応する画像データは、画像内における画像ブロックの配列に準じてX方向(主走査方向)、Y方向(副走査方向)の順にエンコードされ配列されている。すなわち、画像ファイルの先頭には、1行目(一番上)のブロック行をなす各画像ブロックを表す画像データが左の画像ブロックから順に配列される。すなわち、最初に左上の画像ブロックB11を表す画像データD11が、次いでX方向に続く画像ブロックB12,B13,…を表す画像データD12,D13,…が配列される。1行目の最後(右端)の画像ブロックB18を表すデータD18に続いては、2行目の先頭(左端)の画像ブロックB21を表すデータD21が配列される。以下も同様にして、画像の左上端から右下端に向けて順にデータが配列されている。
画像データが例えばJPEG方式などの圧縮方式によりエンコードされている場合、各ブロックBmnを表すデータDmnのデータ長は一定ではなく、当該画像ブロックの画像内容に応じて異なっている。すなわち、図4(b)に示される画像データは可変長データである。したがって、図4(a)に示す画像IMを1ブロック分の高さおよび8ブロック分の幅をそれぞれ持つ6つの行画像に区分したとき、例えばブロックB11からB18までの8つの画像ブロックで構成されるブロック行に対応する画像データD11〜D18の全データ量と、ブロックB21からB28までの8つの画像ブロックで構成されるブロック行に対応する画像データD21〜D28の全データ量とは、図4(b)に示すように必ずしも同じではない。
なお、図4(b)において「オフセット」とは、画像ファイルを構成する画像データが当該画像ファイルの先頭からみて何バイト目に位置するかを示すパラメータである。例えば、画像ブロックB11の画像内容を表す画像データD11の脇に付されたオフセット値「0」は、当該画像データD11が画像ファイルの先頭から始まっていることを示している。また、画像ブロックB21の画像内容を表す画像データD21の脇に付されたオフセット値「141」は、当該画像データD21が画像ファイルの先頭からみて141バイト目から始まっていることを示している。他のオフセット値もそれぞれの画像ブロックに対応する画像データが画像ファイルの何バイト目から始まっているかを表している。
デコーダ75は、ファイルシステム74に画像データを要求するとき必要なデータをこのオフセット値により指定する。すなわち、デコーダ75はファイルシステム74に対し、要求するデータの先頭位置および末尾位置をオフセット値により指定して要求する。ここでの指定は、データ先頭のオフセット値とバイト数または先頭のオフセット値と末尾のオフセット値により行うことができる。これを受けたファイルシステム74は、メモリカードM内の画像ファイルから該当オフセット値のデータを読み出して画像データバッファ742に書き込む。
次に、このような画像データを含む画像ファイルをメモリカードMから読み出し、当該画像ファイルに対応する画像をプリント機構50により用紙P上に印刷する際のデータ処理の流れについて説明する。プリント機構50による印刷は、用紙Pを一定の紙送りピッチで所定方向に搬送するとともに、これに直交する方向にキャリッジ53を往復走査移動させながら、その都度所定幅のバンド画像を形成してゆくことによってなされる。この場合のバンドは少なくとも1行のブロック行から成り、バンド幅は印刷ヘッド55に設けられたノズル列の幅に対応している。したがって、キャリッジ53の1回の走査移動のためには、少なくとも1バンド分の印刷データ(バンドデータ)がデコーダ75から印刷データ生成部76を介してプリント機構50に与えられる必要がある。
この実施形態では、デコーダ75がブロック単位で画像データをデコード処理し、デコードデータを印刷データ生成部76に与える。印刷データ生成部76は、ブロック単位のデコードデータをブロック行単位に、さらには各ブロック行ごとのデータをバンド単位に再配列することにより、バンド単位の印刷用データ(バンドデータ)を作成し、該バンドデータを含む印刷制御信号をプリント機構50に送信することによって、プリント機構50により画像が印刷される。
(1)画像を回転させない場合
画像を回転させずに印刷する、つまりキャリッジ53の走査移動方向が図4(a)のX軸方向と一致する場合、デコーダ75がデコード処理のためにファイルシステム74に要求するデータの順番と、メモリカードM内における画像データの配列順序とが一致する。したがって、デコーダ75はファイルシステム74に対し、当該画像ファイルの先頭から順にデータを要求すればよい。
図5は画像を回転させない場合の画像データの処理順序を示す図である。より詳しくは、図5(a)はデコーダ75によるデコード処理の対象となる画像ブロックの順序を表す図であり、図5(b)は画像データバッファ742内における画像データの格納順を示す図である。画像を回転させない場合、画像IMはその上縁TIから下方へ向けて印刷されるので、デコーダ75がデコードする画像ブロックの順序、すなわちデコード順序は、図5(a)において矢印付きの直線で示すように、左から右、上から下に向かうB11,B12,B13,…の順である。したがって、デコーダ75から要求されるデータの順序もメモリカードM内における配列と同じ順序、すなわちD11,D12,D13…の順である。
このとき、メモリカードMから読み出され画像データバッファ742に書き込まれる画像データは、書き込まれた順に読み出されてデコーダ75に送られデコード処理される。したがって、デコーダ75からの要求に応じてファイルシステム74がメモリカードMから画像データを読み出すとき、ファイルシステム74は要求された画像データを含む適当なデータ長の画像データをまとめて画像データバッファ742に書き込んでおけばよい。
例えば、デコード処理が開始されてデコーダ75から最初の画像ブロックB11に対応する画像データD11を要求されたとき、ファイルシステム74は画像データバッファ742にデータが保存されていないためメモリカードMから当該データを読み出す。このとき、要求されたデータD11を先頭として連続するデータを適当な長さで読み出して画像データバッファ742に書き込んでおく。画像データバッファ742が予め定められたバッファサイズを有する複数本のラインバッファで構成されているとすると、読み出す画像データの長さは例えばラインバッファのバッファサイズとすることができる。バッファサイズとしては、少なくとも1画像ブロック分の画像データが完全に収まるデータ長があることが望ましい。
この場合、図5(b)に示すように、ラインバッファ#1にはメモリカードMから読み出されたデータD11,D12,…がバッファサイズ一杯まで書き込まれる。同図の例では、ブロックB22に対応する画像データD22の途中までがラインバッファ#1に書き込まれた場合を示している。図5(b)において、符号1/2-D22は、データD22の全てがラインバッファ#1に収まりきらず前半部分のみが書き込まれたことを示している。以下においても同様である。
このようにしておけば、デコーダ75から引き続きデータD12,D13,…が順次要求されたとき、ファイルシステム74はメモリカードMからデータを読み出すことなく、ラインバッファ#1に書き込まれた画像データD12,D13,…をデコーダ75に送り出すことができる。なお、1行目のブロック行、つまり画像ブロックB11からB18までについてデコード処理が完了すれば、1バンド分の印刷用データが揃ったこととなるので当該バンドについて印刷動作を開始することができる。したがって、図5(b)に示すように、画像データバッファ742のラインバッファ1本に1ブロック行以上の画像データが記憶されていれば、当該ブロック行についてのデコード処理および印刷動作は、途中でメモリカードMへの読み出しを挟むことなく実行することが可能である。そして、少なくとも当該ブロック行の印刷が完了するまでに、次のブロック行のデータ読み出しおよびデコード処理を終了していれば、引き続き印刷動作を遅滞なく行って短時間で画像を印刷することができる。
デコーダ75からデータD22が要求されたとき、ラインバッファ#1にはデータD22の前半部分しか保存されていないため、ファイルシステム74はメモリカードMから続きのデータを読み出して別のラインバッファ#2に書き込む。図において符号2/2-D22はデータD22の後半部分を示している。以下においても同様である。このとき、バッファサイズ一杯まで後続のデータD23,D24,…も書き込まれる。以下、同様にして各画像ブロックの画像データが処理されて印刷が行われる。
このように、画像を回転させない場合には、適当なバッファサイズを有するラインバッファを少なくとも1本設けておけばよいこととなる。そして、デコーダ75の要求に応じてメモリカードMにアクセスするとき、バッファサイズに相当する画像データをまとめて読み出してラインバッファに記憶させておくことにより、メモリカードMへの読み出しアクセスの回数を減らして処理を効率よく短時間で行うことができる。なお、ここでは1ブロック行と1バンドとを同じ高さとして説明したが、実際の印刷動作では複数ブロック行を1バンドとすることが多い。このような場合には、1バンドを構成するブロック行の行数に対応する本数以上のラインバッファを設けておけば、メモリカードMからの画像データの読み出し、デコード処理およびデコード後のバンドデータに基づく印刷動作をスムーズに行うことができる。
(2)画像を回転させるとき
図6は画像を回転させた場合の画像データの処理順序を示す図である。より詳しくは、図6(a)はデコーダ75によるデコード処理の対象となる画像ブロックの順序を表す図であり、図6(b)は画像データバッファ742内における画像データの格納順を示す図である。画像を例えば反時計方向に270度回転させて印刷する場合、キャリッジ53の走査移動方向はY方向、すなわち画像データの配列順序(X方向)に直交する列方向となる。このため、印刷される画像ブロックの順番は、図6(a)に矢印付きの直線で示すように、ブロックB61,B51,B41,B31,B21,B11,B62,B52,…,B18となり、メモリカードM内におけるデータ配列順序に逆行する順となる。
この場合のデコード処理では、まず画像ブロックB61に対応する画像データD61が要求され、これに対応して画像データD61を含むデータがメモリカードMから読み出されラインバッファ#1に書き込まれる。このとき、画像を回転させない場合と同様にバッファサイズに相当するデータ長の画像データを読み出すとすると、図6(b)に示すように、ラインバッファ#1には、データD61およびメモリカードM内における後続のデータD62,D62,…が書き込まれる。なお、図6(b)において符号φは、当該画像ファイルに属する画像データでない無効なデータを表している。
こうして画像データD61が読み出されデコード処理された後、次に必要とされるのはデータD51である。このデータD51は、先に要求されたデータD61よりもメモリカードM内の配列において前方にあるため、画像データD61を読み出す際にともに読み出されラインバッファ#1に書き込まれたデータの中に含まれていることはあり得ない。したがってこのとき新たにメモリカードMへの読み出しが必要となる。同様に、データD41,D31,D21,D11が要求されたとき、その都度メモリカードMへの読み出しが発生する。その結果、ラインバッファ#1,#2,#3,#4,#5,#6にはそれぞれ、データD61,D51,D41,D31,D21,D11を先頭としバッファサイズに相当するデータ長のデータが記憶される。これらのデータに続けて読み出された後続データは、デコーダ75からの要求に応じて順次デコーダ75へ送り出される。
このようにすると、読み出されたデータの重複が発生する場合がある。例えばデータD51に着目すると、メモリカードMから読み出された当該データがラインバッファ#2に既に書き込まれているにもかかわらず、次の読み出しで再びメモリカードMから読み出されラインバッファ#3に書き込まれていることになる。しかも、ラインバッファ#3に記憶されたデータD51は、当該画像ブロックについては既にデコード処理が済んでおり、もはや必要のないものである。同様に、図6(b)において太線枠で囲まれた各データは、いずれも既に読み出されているまたは処理に使われない等の理由で本来的には読み出す必要のないデータである。
このような不要なデータの読み出しを行うことは、読み出しに要する時間が無駄となり処理時間の長大化を招くとともに、画像データバッファ742の記憶資源を浪費することとなり非効率的である。この実施形態では、以下に説明するように、図6(b)において太線枠で囲まれた不要なデータの読み出しを行わないようにして処理の効率化を図り処理時間を短縮している。すなわち、この実施形態では、メモリカードスロット16にメモリカードMが挿入されると、コントローラ70が以下のような動作を実行する。
図7はメモリカード挿入時の動作を示すフローチャートである。メモリカードスロット16にメモリカードMが挿入されたことが認識されると(ステップS101)、ファイルシステム74は、メモリカードドライバ73およびメモリカードコントローラ72を介してメモリカードMに記憶された画像ファイルのうちの1つ、例えば配列順において先頭のものを選択し、そのヘッダデータを読み出す(ステップS102、S103)。
画像ファイルが例えばJPEG方式のデータ形式を有するものである場合、画像ファイルには、画像の縦・横画素数や撮像条件など画像に付随する情報を有するEXIFヘッダデータと呼ばれるデータが含まれている。この情報に基づいて、デコーダ75は画像のサイズ(縦・横それぞれの画素数)を算出し(ステップS104)、画像の回転の要否を判断する(ステップS105)。回転の要否は次のようにして判断される。画像のサイズから当該画像の向き、つまり縦長か横長かがわかる。画像の向きが用紙Pの向きと同じであるときには回転不要、異なるときには回転要と判断することができる。このように、画像のサイズに関する情報から、デコーダ75から要求される画像データの順序を予測することが可能である。また、画像の向きや1枚の用紙Pへの複数画像の割付など、画像レイアウトに関してユーザによる指定が別途なされている場合にはその指定を優先するようにしてもよい。すなわち、画像レイアウトに関するユーザ指示の情報からも、デコーダ75から要求される画像データの順序を予測することが可能である。続いて、選択された画像を表示部22に表示(プレビュー)させるためのプレビュー準備処理を実行する。
図8はプレビュー準備処理を示すフローチャートである。プレビュー準備処理では、まず現在処理中の画像データのオフセットの値を管理用バッファ741に保存する(ステップS201)。処理開始時点ではオフセットの値は0である。次いで、デコーダ75からファイルシステム74に対し1ワード分の画像データを要求する(ステップS202)。ここで、1ワードの長さは画像内容に応じて適宜変化するが、その指定は、例えば先頭および末尾のデータのオフセットを指定することによりなされる。
要求を受けたファイルシステム74は、管理用バッファ741に記憶されている情報に基づき、要求された画像データの全てが既に読み出され画像データバッファ742に保存されているか否かを判断する(ステップS203)。要求された画像データの少なくとも一部がまだ画像データバッファ742に保存されていなければ、当該データを先頭としてバッファサイズに相当するデータ長のデータをメモリカードMから読み出し、画像データバッファ742に書き込む(ステップS204、S205)。画像データバッファ742に空いているラインバッファがないときには、書き込み済みのラインバッファのうち一番先に書き込みが行われたラインバッファにデータを上書きする。これにより、必要な画像データが画像データバッファに記憶されていることになる。そこで、ファイルシステム74は要求された画像データを画像データバッファ742から読み出しデコーダ75に与える(ステップS206)。
デコーダ75は、1画像ブロック分のデータが揃うまで、ファイルシステムへのデータの要求を繰り返す(ステップS207)。1ブロック分のデータが揃ったか否かについては、与えられたデータにブロックの末尾を示す識別コードが含まれているか否かによって判断することができる。そして、1ブロック分のデータが揃っていれば、それらのデータをデコード処理して当該画像ブロックの画素ごとの画像情報を復元する(ステップS208)。
上記処理を全てのブロックについて完了するまで繰り返すが(ステップS210)、1つのブロック行についての処理が完了するごとにステップS201に戻り(ステップS209)、その時点での画像データのオフセットの値を管理用バッファ741に保存しておく。これらの値は、図4(a)に示す画像の各ブロック行の左端のブロックB11,B21,…に対応する画像データD11,D21,…のオフセットの値であり、メモリカードM内のデータ配列における1つのブロック行と次のブロック行との境界を示している。これら各ブロック行の左端を示すオフセットの値の組を、以下では「境界情報」と称する。
図9は境界情報の例を示す図である。この境界情報は図4(a)および図4(b)に例示した画像に対応している。例えば第1の(一番上の)ブロック行については、左端に位置するのはブロックB11であり、これに対応する画像データD11のオフセットは0である。また、第2のブロック行については、左端に位置するのはブロックB21であり、これに対応する画像データD21のオフセットは141である。以下の各ブロック行についても同様である。なお、図9では説明の便宜上各ブロック行の左端に位置するブロックの番号とそのオフセット値を組にして示しているが、境界情報としては各ブロック行の左端を表すオフセット値が重要であり、ブロック番号については特に必要でない。また、ユーザにより他の画像ファイルが選択されたときには、古い境界情報は削除され新たに選択された画像ファイルについての境界情報が管理用バッファ741に記憶される。
図7に戻って説明を続ける。上記のようにしてプレビュー準備処理(ステップS106)が終了すると、選択された画像ファイルの内容が全て画素単位の情報に復元される。そこで、こうして復元された情報に基づき画像を表示部22にプレビュー表示する(ステップS107)。より具体的には、デコーダ75によりデコードされたデータがLCDコントローラ77に与えられ、そのデータからLCDコントローラ77が表示用データを作成して表示部22に与えることにより、画像ファイルに対応する画像が表示部22に表示される。これにより、ユーザは選択された画像の内容を画面上で確認することができる。
この時点で、コントローラ70は割り込み処理を受け付けを許可し(ステップS108)、装置をユーザからの新たな指示操作を受け付け可能な状態に移行させる。そして、次に説明する先行読み出し処理を実行し(ステップS109)、ユーザからの操作があるまで待機する待機状態に移行する(ステップS110)。先行読み出し処理は、割り込み許可後にユーザから与えられる指示操作に素早く応答するために、指示操作を待たずに予めデータをメモリカードMから読み出し画像データバッファ742に記憶させておくための処理である。
図10は先行読み出し処理を示すフローチャートである。この処理では、ここまでの処理によりメモリカードMから既に読み出されている情報に基づき画像ファイルのデータサイズを判断する(ステップS301)。データサイズが画像データバッファ742の容量を超えているときには、続いて画像を回転させて処理する必要があるか否かを判断する(ステップS302)。この判断基準についてはすでに説明した通りである。
画像ファイルのデータサイズが画像データバッファ742の容量以下である場合、および、データサイズは画像データバッファ742の容量を超えるが回転不要な場合の処理(ステップS301〜S305)についてまず説明する。これらの場合には、画像データバッファ742が一杯になるまで、または当該画像ファイルを構成する画像データの全てが読み出されるまで、メモリカードMからの画像データの読み出しおよび該データの画像データバッファ742への書き込み保存を行う。すなわち、画像データバッファ742へのデータの書き込み状況を判定し(ステップS303)、画像データバッファ742が既に一杯になっている、または当該画像ファイルの全ての画像データの読み出しが完了している場合には先行読み出し処理を終了するが、そうでない場合には、バッファサイズに対応するデータ長のデータをメモリカードMから読み出し(ステップS304)、該データを画像データバッファ742に書き込む(ステップS305)、という処理を繰り返す。
なお、上記したプレビュー準備処理においてはメモリカードM内での配列順に沿った順序で画像データバッファ742へのデータの書き込みを行っている。したがって、その直後に行われる先行読み出し処理では、新たな画像データの読み出しが必要ない場合もあり得る。
これにより、画像データバッファ742には、図5(b)に示したように、メモリカードM内での配列順に沿った順序で画像データが記憶されてゆく。その結果、画像ファイルのデータサイズが画像データバッファ742の容量以下であるときには、当該画像ファイルに含まれる全ての画像データが画像データバッファ742に保存されることとなる。また、データサイズは画像データバッファ742の容量を超えるが回転不要であるときには、画像データバッファ742が一杯になるまでの画像データが保存される。そのため、例えばユーザにより印刷指示操作があったときには、画像データバッファ742に保存されたデータを使って遅滞なく印刷を実行することができる。このように、この実施形態では、ユーザからの指示を待たずにメモリカードMから画像データを読み出し画像データバッファ742に記憶させておくことで、ユーザからの指示に応じてメモリカードMからの読み出しを開始する従来の装置に比べて、印刷に要する処理時間を大幅に短縮することができる。
次に、画像のデータサイズが画像データバッファ742の容量よりも大きく、しかも回転処理が必要である場合の処理(ステップS311〜S316)について説明する。このケースでは、全ての画像データを画像データバッファ742に記憶させておくことができず、また前記したようにデコーダ75が要求するデータの順序とメモリカードM内におけるデータ配列順序とが一致しないため、メモリカードM内における配列順序に沿って画像データバッファ742に画像データを記憶させておいたとしても印刷時間の短縮にはつながらない。そこで、次のようにする。
まず、最初にデコード処理の対象となる画像ブロック(図6(a)の例では左上のブロックB61)について、当該画像ブロックを表す画像データの先頭から、当該画像ブロックと同一ブロック行にある画像ブロックを表す画像データの末尾までのデータ長を算出する(ステップS311)。図6(a)の例では、6個のブロックB61,B62,B63,B64,B65,B66が1つのブロック行をなしている(図4(a)参照)。したがって、これらに対応するデータD61〜D68のデータ長の合計が求める値である。ここで、先に求めた境界情報(図9)によって、画像ファイル先頭からみたデータD61のオフセットは既知である。また、データD68の末尾は、画像ファイルの全データサイズから既知である。つまり、画像ファイル内における当該ブロック行の画像データの先頭位置および末尾位置は既知であるので、これらの情報から当該ブロック行の画像データのデータ長を算出することが可能である。他のブロック行についても、境界情報によってデータの先頭および末尾の位置が表されているので、データ長を算出することができる。
そして、算出されたデータ長とラインバッファ1本のバッファサイズとを比較し(ステップS312)、データ長がバッファサイズ以上であれば、先頭データD61から順にバッファサイズに対応するデータ長のデータをメモリカードMから読み出して画像データバッファ742に保存しておく(ステップS313、S314)。一方、算出されたデータ長がバッファサイズよりも小さいときには、先頭データD61から、算出されたデータ長のデータのみをメモリカードMから読み出し(ステップS314)、画像データバッファ742に保存する(ステップS315)。上記の処理(ステップS311〜S315)を全ブロック行について繰り返し実行する(ステップS316)。
図6(b)の例では、データD61〜D68の合計データ長がバッファサイズよりも小さいため、該合計データ長のデータのみがメモリカードMから読み出されてラインバッファ#1に書き込まれる。このため、同図において符号φで示す無効データが読み出されることはない。また、画像ブロックB51から始まるブロック行については、当該ブロック行に含まれる画像ブロックB51〜B58を表す画像データD51〜D58の合計データ長がバッファサイズより大きいため、バッファサイズ分の画像データ(D51〜1/2-D58)のみがメモリカードMから読み出されてラインバッファ#2に記憶される。また、画像ブロックB41から始まるブロック行については、当該ブロック行に含まれる画像ブロックB41〜B48を表す画像データD41〜D48の合計データ長がバッファサイズ以下であるため、合計データ長分のデータのみが読み出されてラインバッファ#3に記憶される。
このようにすることで、読み出す必要のないデータ、つまり図6(b)において太線枠で囲んだデータについては読み出しが省かれる。その結果、この実施形態では、従来無用なデータの読み出しに要していた時間が短縮されて、全体の処理時間を短縮することが可能となる。また、画像データバッファ742において同じデータが重複して保存されることがないので、記憶資源の有効利用を図ることが可能である。例えば、ラインバッファのバッファサイズを1本ごとに個別に設定可能とし、各ブロック行ごとの合計データ長と一致させるようにすれば、バッファ容量をより有効に活用することが可能となる。
また、ユーザからの指示を待つことなく、しかも画像を回転させることを前提としてその処理に適した態様でメモリカードMから画像データを読み出し画像データバッファ742に予め記憶させているので、ユーザからの指示に応じてメモリカードMからの読み出しを開始する従来の装置に比べて、印刷に要する処理時間を大幅に短縮することができる。
なお、この実施形態では、1ブロック行の先頭から末尾までの合計データ長がバッファサイズを超えているとき、メモリカードMから読み出す画像データのデータ長をバッファサイズに制限している。こうすることにより、画像データバッファ742の記憶容量を多数のブロック行に割り当てることができるので、画像データバッファ742の記憶容量をあまり大きくしなくても済む。これに代えて、データ長を制限せずブロック行の末尾まで読み出すようにしてもよい。このようにすれば、上記したようにデータの重複が回避されることに加えて、1回の読み出しで1ブロック行分のデータを全て読み出して画像データバッファ742に保存しておくことができるので、メモリカードMへのアクセス回数を少なくして以後のデータ処理における処理時間を短縮することができる。ただし、1ブロック行分のデータを全て記憶するためには画像データバッファ742に大きな記憶容量が必要となるので、例えばバッファの記憶容量に十分な余裕がある場合にこの方式を適用するのが好ましい。
また、デコーダ75はオフセットの値を指定することによって、画像ファイルに含まれる画像データのうちどこからどこまでを読み出すかを指定するが、指定された画像データのうち先頭のデータが1つのブロック行を表す一連の画像データの先頭であるとは限らない。つまり、1つのブロック行を表す一連の画像データの途中からデータの読み出しが開始される場合がある。このような場合であっても、読み出し開始位置のデータから当該ブロック行を表す画像データの末尾までを読み出し、読み出したデータが次のブロック行にまたがることのないようにすることで、データを重複して読み出すことが回避される。
このように、この実施形態の先行読み出し処理では、プレビュー準備処理の結果に基づいて画像ファイルのデータサイズや回転の有無を判断し、その判断に基づいた態様で、しかもユーザからの指示操作を待たずに、メモリカードMからの画像データの読み出しおよび画像データバッファ742への書き込み保存を行うようにしている。そのため、ユーザからの指示操作があったときには、それに応答して遅滞なく次の処理を実行することができる。
図11はユーザの指示操作に基づく割り込み処理を示すフローチャートである。割り込みが許可された状態で、ボタン群24を介してユーザから何らかの指示操作が与えられると、図11に示す割り込み処理が実行される。割り込み処理では、当該割り込み処理が了するまで新たな割り込みは禁止される(ステップS401)。なお、図7に示すように、先行読み出し処理の直前に割り込みの受付を許可しているので、前記した先行読み出し処理の実行中であっても割り込みは受け付けられる。このようにする理由については後で説明する。
次いで、割り込みの種類を判別する(ステップS402)。ユーザからの指示操作が別の画像を選択するものであったときには、図7の「A」にジャンプし、新たに選択された画像に対して、前記したプレビュー表示等の処理を行う。また、ユーザからの指示操作が画像の印刷方向や割付などのレイアウト変更に関するものであるときには、図7の「B」にジャンプし、前記した先行読み出し処理を実行する。このとき、画像の回転の有無については、新たに指定されたレイアウトに基づいて判断される。
ユーザの指示操作が印刷指示であった場合には次のような動作が実行される。まず、印刷の対象として指示された画像が単一であるか複数種であるかを判断する(ステップS403)。ここでは、印刷すべき画像の枚数ではなくその種類を判断する。したがって、同じ画像を複数部印刷する場合は、画像の種類としては単一とする。画像の種類が複数であった場合には続いてその中に、先行読み出し処理の済んでいる、あるいは進行している画像が含まれているか否かを判断する(ステップS404)。先行読み出し処理の済んでいる、あるいは進行している画像がある場合には、その画像を印刷処理対象として選択し(ステップS405)、当該画像について印刷処理を実行する(ステップS407)。一方、印刷すべき画像が単一であるときにはその画像を、また複数種であっても先行読み出し処理の済んでいるあるいは進行している画像がないときには任意の1つの画像(例えばユーザが最初に選択したもの、メモリカードM内の画像ファイルの配列において最初のものなど)を印刷処理対象として選択し(ステップS406)、印刷処理を実行する。
図12は印刷処理を示すフローチャートである。印刷処理の概略の流れは、デコーダ75がファイルシステム74から画像データを受け取って画像ブロックごとにデコード処理し、1バンド分のデコード処理が終了すると当該バンドについてプリント機構50が用紙P上に当該バンドの画像を印刷する、これを全バンドについて繰り返す、というものである。より詳しく説明する。
デコーダ75はキャリッジ53の走査方向において最初の画像ブロックからデコード処理を開始し、キャリッジ走査方向、用紙送り方向の順で処理対象となる画像ブロックを移動させてゆく。具体的には、ファイルシステム74に対し最初にデコード処理すべき画像ブロックの先頭から1ワード分の画像データを要求する(ステップS501)。ファイルシステム74は、当該データが既に画像データバッファ742に記憶されているか否かを判断する(ステップS502)。データが画像データバッファ742にあればそれを読み出してデコーダ75に与える一方、データがなければメモリカードMにアクセスして必要なデータを読み出す(ステップS503)。ここでのデータ読み出しは先に説明したものと同じにすることができる。すなわち、画像を回転させて印刷する場合には、図10のステップS311〜S316の処理を適用することができる。また、画像を回転させない場合には、同図のステップS303〜S305を適用することができる。
デコーダ75は1ブロック分の画像データが揃うまでファイルシステム74へのデータ要求を繰り返し(ステップS504)、データが揃えば1ブロック分の画像データをデコード処理し(ステップS505)、印刷データ生成部76に与える。そして、1バンド分のデコード処理が完了すると(ステップS506)、印刷データ生成部76は1バンド分の印刷用データをプリント機構50に与え、プリント機構50が当該バンドの画像を印刷する(ステップS507)。上記処理を全バンドについて繰り返し行うことで(ステップS508)、1つの画像の全体を印刷することができる。
図11に戻って割り込み処理の説明を続ける。上記のようにして1つの画像の印刷を完了すると(ステップS407)、印刷すべき次の画像があるかどうかを判断する(ステップS408)。次の画像がある場合には、それらのうち一を次の印刷処理対象として設定し(ステップS406)、上記した印刷処理を繰り返し実行する。一方、次の画像がない場合には、図7の「A」にジャンプし、新たに1つの画像ファイルを選択し当該画像ファイルに対する処理を適宜行う。
次に、先行読み出し処理の実行中においてもユーザ指示操作に基づく割り込み処理を受け付けている理由について説明する。この実施形態における先行読み出し処理では、ユーザからの操作指示を待たずにメモリーカードMから画像データを読み出し画像データバッファ742に書き込み記憶する、という処理を行っている。このときデータ読み出しの順序は、画像ファイルのデータサイズや画像回転の有無などに基づいて判断される(図10)。この判断は、画像ファイルの現状に基づき「最終的にユーザに選択される可能性が高い」と予想される態様(例えば回転の有無)に応じた読み出し順序が適用されるように構成されているが、ユーザがこれと異なる態様を選択する場合も起こり得る。ユーザが自ら処理の態様を選択指示しているのに、装置がこれに反する処理の実行を継続することは無意味であるばかりか、ユーザ指示への応答が遅れてしまうことになり不都合である。
そこで、この実施形態では、ユーザの指示に先行して、指示される可能性の高い態様に合わせた先行読み出し処理を行いつつも、ユーザから指示があったときには実行中の処理を中断して直ちにユーザ指示に対応した動作を行うことができるようにするために、先行読み出し処理の実行中にもユーザ操作に起因する割り込み入力を受け付けるようにしている。
例えば、先行読み出し処理において「回転あり」と判断し(図10のステップS302)、図6(b)に示すような順序でラインバッファ#1,#2,…へのデータ書き込みを行っている途中でユーザから操作指示があったときには、その時点で先行読み出し処理が中断されて割り込み処理(図11)が実行される。このとき、操作指示が選択画像やレイアウトの変更に関するものであれば、変更された後の状態に基づく態様で以後の処理がなされる。例えばユーザが「画像を回転させない」旨の操作指示をした場合には、処理は図11のステップS402から図7の「B」へ進み、「回転なし」の態様に応じた先行読み出し処理(図7のステップS109)が実行されて、各ラインバッファには図5(b)に示す順序で画像データが上書きされてゆく。また例えば、ユーザが他の画像ファイルを選択した場合には、処理は図11のステップS402から図7の「A」へ進み、新たに選択された画像ファイルについて一連の処理を開始する。
このように、この実施形態では、ユーザ指示に先行して画像データを読み出し画像データバッファ742に書き込んでゆくが、データ読み出し順序を判断するための新たな材料がユーザ指示によって与えられると、その都度データ読み出し順序を再判断しその結果に応じた順序でデータを読み出し画像データバッファ742に記憶させてゆく。そのため、印刷すべき画像やそのレイアウトがユーザにより確認され印刷指示がなされた時点で、大抵の場合画像データバッファ742への画像データの書き込みが済んでおり直ちに印刷動作を実行することができる。
別画像が選択されたりレイアウトが変更された場合、先行読み出し処理によって読み出された画像データは使用されず無駄となってしまうが、このことがユーザにとっての便宜を損なうものではない。先行読み出し処理はユーザの指示が与えられるまでのいわば待機時間に実行されるものであり、ユーザから何らかの指示があれば直ちに先行読み出し処理は中断され指示に応じた処理が行われるからである。
また、ユーザの操作指示が印刷指示であった場合には、既に読み出され画像データバッファ742に書き込まれたデータがあるか否かを判断し、データがある場合にはそれを優先的に使用して印刷を行うようにしているので(図11のステップS404,S405)、先行読み出し処理によって読み出されたデータが無駄にならない。また、印刷指示があった時点で既に画像データの読み出しが進んでいるため、指示を受けてから読み出しを開始する従来の技術に比べ、指示に応じた画像の印刷をより素早く行うことが可能である。
以上のように、この実施形態では、メモリカードスロット16にメモリカードMが挿入されたり、ユーザにより選択画像の変更指示やレイアウトの変更指示などの操作がなされると、ユーザからの印刷指示を待たずにメモリカードMからのデータ読み出しを開始し、読み出した画像データを画像データバッファ742に記憶しておく。このとき、画像ファイルの内容から、またはユーザの指示内容から予測されるデコーダ75からのデータ要求の順序に応じて、メモリカードMからの読み出し順序およびラインバッファへの書き込み順序が決定されるので、画像データバッファ742には最終的に選択される可能性が高いと考えられる態様に適した順序でデータが格納される。このため、上記操作の後にユーザから印刷指示があったときには、画像データバッファ742に記憶されたデータを用いて直ちに印刷動作を実行開始することができ、印刷に要する処理時間を短縮することができる。
また、例えば画像を回転させる処理を行う場合のように、メモリカードM内における画像データの配列順序とは異なる順序で画像データを読み出す必要があるときには、1回の読み出しアクセスでは2つ以上のブロック行にまたがるデータの読み出しを行わないようにしている。より具体的には、読み出しが開始される先頭データから、これと同一ブロック行に属する画像データの末尾のもの(末尾データ)までのデータ長がラインバッファのバッファサイズよりも短いとき、先頭データから末尾データまでのみの読み出しを行う。こうすることで同一データが重複してメモリカードMから読み出され画像データバッファ742に記憶されることがなくなるので、重複データの読み出しに要する時間の無駄をなくし、画像データバッファ742の記憶容量を効率よく利用することができる。
なお、画像データが可変長データである場合、1つのブロック行を表す画像データのデータ長が一定でないため、メモリカードM内の画像データ列において各ブロック行ごとの区切りを見出すことが難しいが、この実施形態では、メモリカードMに記憶された画像内容をユーザに確認させるプレビュー表示を行うための処理によって得られた、各ブロック行の区切りを示す境界情報を保存しておき、これに基づいてブロック行の末尾を識別するようにしているので、簡単かつ確実に、データの読み出しを当該ブロック行の末尾データで止めることが可能となっている。
また、境界情報の導出および該境界情報に基づくデータの先行読み出しを、ユーザの印刷指示を待たずに実行開始しているので、印刷指示があった場合には速やかに印刷用データの作成および印刷動作を行うことができる。この場合、メモリカードMからのデータ読み出しおよび画像データバッファ742への書き込みが印刷指示よりも前に完了していれば直ちに印刷用データの作成を開始することができるのは言うまでもないが、印刷指示の時点で少なくとも境界情報が求められていれば処理時間の短縮効果を得ることができる。その理由は以下の通りである。
従来の技術においては、印刷指示を受けてから境界情報を導出するための処理を行っていた。このため、画像の回転が必要であるとき、印刷指示を受けるとまずメモリカード内での配列順に沿ってデータを読み出して境界情報を作成し、それに基づく順序で改めて画像データを読み出し印刷用データを作成する、という手順になっていた。これに対し、印刷指示を待たずに境界情報を求めておけば、印刷指示を受けたときにはメモリカード内での配列順に沿ったデータ読み出しおよび境界情報の作成を省略することができるので、従来技術に比べ処理に要する時間を短縮することができる。
なお、上記実施形態では、「画像ブロック」単位で処理を行うことについて説明してきたが、この「画像ブロック」はJPEG方式における「MCU(Minimum Coded Unit)」の1個または複数個に対応している。すなわち、扱われる画像ファイルがJPEG方式のものであるとき、この実施形態における画像ブロックは、1個またはX方向に連続する複数個のMCUと同等のものと考えることができる。
図13は複数個のMCUからなる画像ブロックを示す図である。JPEG方式でエンコードされた画像IMは、図の左上から右および下の順にMCU単位で符号化されている。また、1つのバンドはMCU4個分の幅を有している。このような場合、X方向に連続する4個のMCU(MCU1,MCU2,MCU3およびMCU4)を1つの画像ブロックB11に対応させることができる。したがって、画像ブロックB11を表す画像データD11は、MCU1,MCU2,MCU3およびMCU4の4個のMCUを個別にエンコードして得られた画像データの全てを含んでいる。同様に、他のブロックB12,B21,B31等も、それぞれX方向に連続する4個のMCUに対応させることができる。
このような画像を270度回転させて印刷するとき、デコード処理はキャリッジ走査方向すなわちY方向に沿ってブロックB11,B21,B31,…の順で実行される。また、各ブロックのデコード処理はMCU単位でX方向の配列順に行われ、例えば画像ブロックB11については、MCU1,MCU2,MCU3およびMCU4の順にデコードされる。したがって、図9に示す「境界情報」は、各行左端のMCUそれぞれのオフセットに相当していることとなる。
以上説明した実施形態においては、メモリカードコントローラ72、メモリカードドライバ73およびファイルシステム74が一体として本発明の「読み出し手段」として機能している。また、デコーダ75および印刷データ生成部76がいずれも本発明の「データ処理手段」として機能する一方、画像データバッファ742が本発明の「記憶手段」として機能している。また、メモリカードMが「記憶媒体」に相当している。また、プリント機構50が本発明の「印刷手段」に相当している。また、本実施形態において、図10のステップS311〜S316の処理が、本発明の「可変長読み出し処理モード」に相当する一方、同図のステップS303〜S305が本発明の「固定長読み出しモード」に相当している。
また、上記実施形態の説明で用いた画像ファイル(図4)においては、画像のエンコード方向のうちX方向(横方向、行方向)が本発明の「主走査方向」に相当する一方、Y方向(縦方向、列方向)が本発明の「副走査方向」に相当している。
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、メモリカードMに記憶されたJPEG画像ファイルを読み出してデータ処理を行っているが、画像ファイルのデータ形式についてJPEG方式に限らず、TIFF(Tagged Image File Format)方式やビットマップ方式などの画像ファイルを扱う装置に対しても本発明を適用することができる。特に、画像内容が可変長データとして表されるデータ形式である場合に、本発明の効果が顕著である。
また、上記実施形態では、選択された1つの画像ファイルについての「境界情報」を、コントローラ70に設けた管理用バッファ741に記憶するようにしている。これに代えて、管理用バッファ714の容量を増大させて複数の画像ファイルについての境界情報を記憶させるようにしてもよい。このようにすれば、例えば境界情報が取得された画像ファイルがいったん選択対象から外された後に再び選択対象とされたような場合に、改めて境界情報を取得する必要がなくなるので、処理時間短縮の観点からは好ましい。この場合、当該画像ファイルが記憶されたメモリカードMがメモリカードスロット16から取り出されたとき、あるいはさらに他のメモリカードが装着されたときに当該画像ファイルに関する境界情報を削除するようにすればよい。
また、上記各実施形態は装置本体に対し挿抜自在のメモリカードに保存された画像ファイルを読み出すように構成されているが、本発明にいう「記憶媒体」としては、このようなカード状のもの以外にも種々のものを使用可能である。例えば、磁気ディスクを有する記憶媒体やスティック状の記憶媒体であってもよい。さらには、デジタルカメラや携帯電話など、撮像された画像ファイルを記憶する機能を有する機器であって、例えばケーブルや無線・赤外線通信等の通信手段により画像ファイルを読み出すことのできるものについても、本発明の「記憶媒体」として使用することが可能である。
また、上記実施形態におけるプリント機構50はインクジェット方式のプリンタであるが、例えば電子写真方式のプリンタであってもよい。また、上記実施形態における表示部22はLCDディスプレイによって画像を表示するものであるが、EL(エレクトロルミネセンス素子)ディスプレイ等他の表示方式で画像を表示するものであってもよい。
また、上記実施形態は、画像ファイルに対応する画像を表示するための表示機能および該画像を印刷する印刷機能を有するフォトプリンタに本発明を適用したものであるが、本発明の適用対象は上記したフォトプリンタに限定されない。例えば、表示機能または印刷機能のいずれか一方のみを備える機器に対しても、本発明を適用することが可能である。さらに、このような表示・印刷機能を有するものに限らず、記憶媒体に記憶された画像ファイルを読み出してデータ処理を行う装置およびデータ処理方法全般に対して、本発明を適用することが可能である。
本発明の画像表示装置の第1実施形態であるフォトプリンタを示す斜視図。 フォトプリンタの内部構成の概略を示す図。 コントローラの構成を示すブロック図。 画像データの一例を示す図。 画像を回転させない場合の画像データの処理順序を示す図。 画像を回転させた場合の画像データの処理順序を示す図。 メモリカード挿入時の動作を示すフローチャート。 プレビュー準備処理を示すフローチャート。 境界情報の例を示す図。 先行読み出し処理を示すフローチャート。 ユーザの指示操作に基づく割り込み処理を示すフローチャート。 印刷処理を示すフローチャート。 複数個のMCUからなる画像ブロックを示す図。
符号の説明
16…メモリカードスロット、 22…表示部、 50…プリント機構(印刷手段)、 70…コントローラ、 72…メモリカードコントローラ(読み出し手段)、 73…メモリカードドライバ(読み出し手段)、 74…ファイルシステム(読み出し手段)、 75…デコーダ(データ処理手段)、 76…印刷データ生成部(データ処理手段)、 77…LCDコントローラ、 741…管理用バッファ(記憶手段)、 M…メモリカード(記憶媒体)、 X…主走査方向、 Y…副走査方向

Claims (13)

  1. 画像を主走査方向および副走査方向にそれぞれ複数に分割してなる画像ブロックの各々を符号化したデータを前記主走査方向、前記副走査方向の順で配列した画像データを含む画像ファイルを記憶した外部の記憶媒体から、該画像ファイルに含まれる画像データをその配列順に読み出す読み出し手段と、
    前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、
    前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段と
    を備え、
    前記読み出し手段は、前記記憶媒体から画像データを読み出して前記記憶手段に記憶させる読み出しモードとして、
    前記画像ファイルを構成する画像データのデータ量が前記記憶手段の記憶容量を超えるとともに、前記データ処理手段が要求する画像データの順番が前記記憶媒体内のデータ配列順序と異なるときに、最初に読み出す先頭データから該先頭データが属する画像ブロックと前記副走査方向における位置が同一の画像ブロックに属する画像データのうち前記記憶媒体内のデータ配列における末尾データまでの画像データと、予め定められた既定データ長の画像データとのうち、データ長が短い方を前記記憶媒体から連続的に読み出して前記記憶手段に記憶させる可変長読み出しモードを実行する
    ことを特徴とする画像データ処理装置。
  2. 前記データ処理手段は、前記データ処理として、前記記憶媒体に記憶された、各画像ブロックごとの画像内容に関する情報を可変長符号化されてなる画像データに対し、該画像データを複号化する処理を行う請求項1に記載の画像データ処理装置。
  3. 前記データ処理手段は、前記記憶媒体内の配列順に予め前記読み出し手段により読み出された画像データに基づいて、前記記憶媒体内のデータ配列において隣接し、かつ前記副走査方向において互いに異なる位置にある2つの画像ブロックのそれぞれに属する画像データ間の前記記憶媒体内のデータ配列における境界を表す境界情報を求めておき、
    前記読み出し手段は、前記記憶媒体内のデータ配列において前記境界情報により示される境界の直前のデータを前記末尾データとする請求項2に記載の画像データ処理装置。
  4. 前記読み出し手段は、前記記憶媒体から前記既定データ長の画像データを連続的に読み出す固定長読み出しモードと、前記可変長読み出しモードとを選択的に実行する請求項1ないしのいずれかに記載の画像データ処理装置。
  5. 印刷用データに基づいて、前記画像ファイルに対応する画像を記録材上に印刷する印刷手段をさらに備え、
    前記データ処理手段は、前記画像データにデータ処理を施して前記印刷用データを作成して前記印刷手段に与えるとともに、前記印刷手段に与える印刷用データの順序に応じた順序で、前記読み出し手段に対し画像データを要求する請求項1ないしのいずれかに記載の画像データ処理装置。
  6. 前記印刷手段により印刷する画像の前記記録材上における方向に応じて、読み出しモードが選択される請求項に記載の画像データ処理装置。
  7. 前記画像ファイルを構成する情報のうち画像サイズに関する情報に基づいて、読み出しモードが選択される請求項に記載の画像データ処理装置。
  8. 前記画像ファイルを構成する画像データのデータ量に応じて、読み出しモードが選択される請求項に記載の画像データ処理装置。
  9. 前記画像ファイルを構成する画像データのデータ量が前記記憶手段の記憶容量以下であるときには前記固定長読み出しモードが選択される請求項に記載の画像データ処理装置。
  10. 画像を主走査方向および副走査方向にそれぞれ複数に分割してなる画像ブロックの各々を符号化したデータを前記主走査方向、前記副走査方向の順で配列した画像データを含む画像ファイルを記憶した外部の記憶媒体から、該画像ファイルに含まれる画像データをその配列順に読み出す読み出し手段と、
    前記読み出し手段により読み出された画像データを一時的に記憶する記憶手段と、
    前記読み出し手段に対し必要な画像データを要求するとともに、該要求に応じて前記読み出し手段から与えられる画像データに対し所定のデータ処理を行うデータ処理手段と
    を備え、
    前記読み出し手段は、
    前記画像ファイルを構成する画像データのデータ量が前記記憶手段の記憶容量を超えるとともに、前記データ処理手段が要求する画像データの順番が前記記憶媒体内のデータ配列順序と異なるときに、
    最初に読み出す先頭データから該先頭データが属する画像ブロックと前記副走査方向における位置が同一の画像ブロックに属する画像データのうち前記記憶媒体内のデータ配列において末尾のものまでの画像データを前記記憶媒体から連続的に読み出す
    ことを特徴とする画像データ処理装置。
  11. 前記データ処理手段は、前記データ処理として、前記記憶媒体に記憶された、各画像ブロックごとの画像内容に関する情報を可変長符号化されてなる画像データに対し、該画像データを複号化する処理を行う請求項10に記載の画像データ処理装置。
  12. 前記データ処理手段は、前記記憶媒体内の配列順に予め前記読み出し手段により読み出された画像データに基づいて、前記記憶媒体内のデータ配列において隣接し、かつ前記副走査方向において互いに異なる位置にある2つの画像ブロックのそれぞれに属する画像データ間の前記記憶媒体内のデータ配列における境界を表す境界情報を求めておき、
    前記読み出し手段は、前記記憶媒体内のデータ配列において前記境界情報により示される境界の直前のデータを前記末尾データとする請求項11に記載の画像データ処理装置。
  13. 画像を主走査方向および副走査方向にそれぞれ複数に分割してなる画像ブロックの各々を符号化したデータを前記主走査方向、前記副走査方向の順で配列した画像データを含む画像ファイルを記憶した記憶媒体から、該画像ファイルに含まれる画像データをその配列順に読み出して記憶手段に記憶するとともに、該画像データに対し所定のデータ処理を行い、しかも、前記記憶媒体から画像データを読み出して前記記憶手段に記憶させる読み出しモードとして、
    前記画像ファイルを構成する画像データのデータ量が前記記憶手段の記憶容量を超えるとともに、前記データ処理に必要な画像データの順番が前記記憶媒体内のデータ配列順序と異なるときに、最初に読み出す先頭データから該先頭データが属する画像ブロックと前記副走査方向における位置が同一の画像ブロックに属する画像データのうち前記記憶媒体内のデータ配列における末尾データまでの画像データと、予め定められた既定データ長の画像データとのうち、データ長が短い方を前記記憶媒体から連続的に読み出して前記記憶手段に記憶させる可変長読み出しモードを実行する
    ことを特徴とする画像データ処理方法。
JP2007225066A 2007-08-31 2007-08-31 画像データ処理装置および画像データ処理方法 Expired - Fee Related JP4882926B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007225066A JP4882926B2 (ja) 2007-08-31 2007-08-31 画像データ処理装置および画像データ処理方法
US12/231,479 US20090059312A1 (en) 2007-08-31 2008-09-02 Image data processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007225066A JP4882926B2 (ja) 2007-08-31 2007-08-31 画像データ処理装置および画像データ処理方法

Publications (2)

Publication Number Publication Date
JP2009060314A JP2009060314A (ja) 2009-03-19
JP4882926B2 true JP4882926B2 (ja) 2012-02-22

Family

ID=40406991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007225066A Expired - Fee Related JP4882926B2 (ja) 2007-08-31 2007-08-31 画像データ処理装置および画像データ処理方法

Country Status (2)

Country Link
US (1) US20090059312A1 (ja)
JP (1) JP4882926B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4333746B2 (ja) * 2007-01-22 2009-09-16 コニカミノルタビジネステクノロジーズ株式会社 複写機
JP5691330B2 (ja) * 2010-09-15 2015-04-01 株式会社リコー 光書き込み装置、画像形成装置及び光書き込み装置の制御方法、制御プログラム及び記録媒体
JP2013062709A (ja) * 2011-09-14 2013-04-04 Konica Minolta Business Technologies Inc 画像形成装置制御方法および画像形成装置
JP5635551B2 (ja) * 2012-03-29 2014-12-03 京セラドキュメントソリューションズ株式会社 画像処理装置および画像形成装置
JP5978833B2 (ja) * 2012-07-30 2016-08-24 ブラザー工業株式会社 印刷制御プログラム、及び、印刷制御装置
JP7409043B2 (ja) * 2019-11-25 2024-01-09 セイコーエプソン株式会社 メディア処理装置、メディア処理装置の制御方法、及び、プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04323960A (ja) * 1991-04-23 1992-11-13 Canon Inc 画像符号化装置
US6301390B1 (en) * 1993-03-31 2001-10-09 Canon Kabushiki Kaisha Encoding image data in blocks read out in a predetermined order
US5704020A (en) * 1995-03-08 1997-12-30 Ricoh Company, Ltd. Page printer resolution converting method, and variable-length reversible compression process
JP3647200B2 (ja) * 1997-05-01 2005-05-11 オリンパス株式会社 情報再生システム
JP3829508B2 (ja) * 1998-11-27 2006-10-04 セイコーエプソン株式会社 画像処理装置、画像処理方法および印刷装置
JP2000295446A (ja) * 1999-04-05 2000-10-20 Minolta Co Ltd 画像処理装置
JP4086520B2 (ja) * 2001-03-19 2008-05-14 株式会社リコー 多値画像の符号化及び復号化方法並びに装置
JP3835273B2 (ja) * 2001-12-10 2006-10-18 富士ゼロックス株式会社 画像符号化復号装置
JP2004266513A (ja) * 2003-02-28 2004-09-24 Canon Inc 画像入出力制御方法及び画像入出力装置
KR101024913B1 (ko) * 2004-01-09 2011-03-31 엘지전자 주식회사 Vld 버퍼 관리 장치
JP4529501B2 (ja) * 2004-03-18 2010-08-25 セイコーエプソン株式会社 プリンタ、画像印刷システムおよび印刷方法
KR100634531B1 (ko) * 2004-12-29 2006-10-16 삼성전자주식회사 액정 표시장치의 동적 캐패시턴스 보상장치 및 방법
US7515285B2 (en) * 2005-09-26 2009-04-07 Kabushiki Kaisha Toshiba Method and apparatus for image processing

Also Published As

Publication number Publication date
JP2009060314A (ja) 2009-03-19
US20090059312A1 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
JP4882926B2 (ja) 画像データ処理装置および画像データ処理方法
US7821663B2 (en) Image supply device, control method of the device, and printing system
JP4968888B2 (ja) 印刷システム、撮像装置及びその制御方法、プログラム並びに記憶媒体
US7274478B2 (en) Image printing apparatus and image printing control method
JP4882925B2 (ja) 画像データ処理装置および画像データ処理方法
JP4574282B2 (ja) 画像供給デバイス及び該デバイスの制御方法及び印刷システムと印刷制御方法
US7936373B2 (en) Recording device, recording system, and recording control method thereof
JP2000156830A (ja) プリンタ及び該プリンタにおける画像デ―タの処理方法
US7907291B2 (en) Image supply device and control method of the same and printing system
US20120162678A1 (en) Image forming apparatus and image forming method
JP4882905B2 (ja) 画像データ処理装置および画像データ処理方法
JP2005074626A (ja) 画像処理方法及びその装置、及びそのプログラム
JP5003330B2 (ja) 画像データ処理装置および画像データ処理方法
JP4529501B2 (ja) プリンタ、画像印刷システムおよび印刷方法
JP5142882B2 (ja) データ処理装置、データ処理方法、およびプログラム
JP4709246B2 (ja) 画像供給デバイス及び該デバイスの制御方法及び印刷システム
JP4612822B2 (ja) 画像供給デバイス及び該デバイスの制御方法及び印刷システム
JP2003182165A (ja) 印刷装置及びその制御方法
JP2002140182A (ja) 印刷装置及び印刷制御装置およびそれらの制御方法
JP2006092420A (ja) 印刷情報保存装置および印刷情報保存装置におけるグループ名称決定方法
KR20050106673A (ko) 화상형성장치의 축소화상 형성방법 및 이를 이용한화상형성장치
JP2007004715A (ja) 画像供給デバイス及び該デバイスの制御方法及び印刷システム
JP2006086587A (ja) 画像供給デバイス及び該デバイスの制御方法及び印刷システム
JPH10181144A (ja) 印字システム
JP2003256159A (ja) 印刷装置及び印刷情報の保存方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees