(57)【要約】【課題】ＪＰＥＧ画像データに対し、データ解析処理を行った後、ＪＰＥＧ復号処理を行う場合に、全体の処理時間を短縮する。【解決手段】制御回路はデータ解析部による解析後にＪＰＥＧ復号部がＪＰＥＧ画像データの復号を行う際には、記憶回路における記憶領域内の使用状態を切り換えて、記憶領域内に、ＪＰＥＧ画像データに含まれる圧縮画像データを格納するための第２の圧縮画像データ格納領域と、復号して得られる画像データを格納するための画像データ格納領域と、を少なくとも設定すると共に、ＪＰＥＧ画像データに含まれる圧縮画像データの全体が、第１の圧縮画像データ格納領域内に格納されていた場合には、圧縮画像データの全体が第２の圧縮画像データ格納領域内に収まるか否かを判定し、収まると判定した場合には、格納されている圧縮画像データをそのまま維持する。【選択図】図７
2008067001.tif 000002
【特許請求の範囲】
【請求項１】
ＪＰＥＧ画像データを処理することが可能な画像処理装置であって、
前記ＪＰＥＧ画像データを解析するデータ解析部と、前記ＪＰＥＧ画像データを復号するＪＰＥＧ復号部と、を備えるＪＰＥＧ処理回路と、
記憶領域を有する記憶回路と、
前記記憶回路を制御して、前記ＪＰＥＧ処理回路に、前記記憶領域を使用させることが可能な制御回路と、
を備え、
前記制御回路は、前記データ解析部が前記ＪＰＥＧ画像データの解析を行う際には、前記記憶回路における前記記憶領域内に、前記ＪＰＥＧ画像データに含まれる圧縮画像データを格納するための第１の圧縮画像データ格納領域を少なくとも設定し、
前記制御回路は、前記データ解析部による解析後に、前記ＪＰＥＧ復号部が前記ＪＰＥＧ画像データの復号を行う際には、前記記憶回路における前記記憶領域内の使用状態を切り換えて、前記記憶領域内に、前記ＪＰＥＧ画像データに含まれる前記圧縮画像データを格納するための第２の圧縮画像データ格納領域と、復号して得られる画像データを格納するための画像データ格納領域と、を少なくとも設定すると共に、前記ＪＰＥＧ画像データに含まれる前記圧縮画像データの全体が、前記第１の圧縮画像データ格納領域内に格納されていた場合には、前記圧縮画像データの全体が前記第２の圧縮画像データ格納領域内に収まるか否かを判定し、収まると判定した場合には、格納されている前記圧縮画像データをそのまま維持することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記ＪＰＥＧ処理回路は、論理回路によって構成されることを特徴とする画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置を備える印刷装置。
【請求項４】
ＪＰＥＧ画像データを処理するに際して、記憶回路を制御するための記憶回路制御方法であって、
（ａ）前記ＪＰＥＧ画像データの解析を行う際には、前記記憶回路における記憶領域内に、前記ＪＰＥＧ画像データに含まれる圧縮画像データを格納するための第１の圧縮画像データ格納領域を少なくとも設定する工程と、
（ｂ）前記ＪＰＥＧ画像データの解析後に、前記ＪＰＥＧ画像データの復号を行う際には、前記記憶回路における前記記憶領域内の使用状態を切り換えて、前記記憶領域内に、前記ＪＰＥＧ画像データに含まれる前記圧縮画像データを格納するための第２の圧縮画像データ格納領域と、復号して得られる画像データを格納するための画像データ格納領域と、を少なくとも設定する工程と、
（ｃ）前記ＪＰＥＧ画像データに含まれる前記圧縮画像データの全体が、前記第１の圧縮画像データ格納領域内に格納されていた場合に、前記圧縮画像データの全体が前記第２の圧縮画像データ格納領域内に収まるか否かを判定する工程と、
（ｄ）前記工程（ｃ）で収まると判定した場合に、格納されている前記圧縮画像データをそのまま維持する工程と、
を備える記憶回路制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェアで構成されたＪＰＥＧ処理回路を備える画像処理装置および印刷装置に関するものである。
【背景技術】
【０００２】
近年、印刷装置であるプリンタでは、例えば、デジタルカメラで撮影した画像データを、ホストコンピュータあるいはメモリカードなどを通じて取得し、その画像データに基づいて、画像の印刷を行うことができる。
【０００３】
このような画像データとしては、例えば、画像圧縮のフォーマットとして「ＪＰＥＧ（Joint Photograph Experts Group）」を用いたＪＰＥＧ画像データが知られている。
【０００４】
プリンタにおいて、ＪＰＥＧ画像データに基づいて画像の印刷を行う場合、そのＪＰＥＧ画像データを復号（すなわち、画像展開）する必要がある。具体的には、ＪＰＥＧ画像データに対して、ハフマン復号化処理，逆量子化処理，逆ＤＣＴ（discrete cosine transform：離散コサイン変換）処理などの一連のＪＰＥＧ復号処理を施すことになる。
【０００５】
従来では、このようなＪＰＥＧ復号処理は、プリンタに搭載されたＣＰＵにより、ソフトウェアに基づいて行われてきたが、近年では、ＪＰＥＧ復号の処理速度を向上させるために、プリンタに、ハードウェアで構成された専用回路、すなわち、ＪＰＥＧ処理回路を搭載し、そのＪＰＥＧ処理回路によって行われるようになってきている。ここで、ＪＰＥＧ処理回路とは、具体的には、論理回路によって構成され、上記した一連のＪＰＥＧ復号処理を、それら論理回路によって実行するものである。また、プリンタにおいて、このようなＪＰＥＧ処理回路を用いる場合には、その専用メモリとして、１つの固定長のメモリが用意される。
【０００６】
ところで、ＪＰＥＧ画像データに対し、ＪＰＥＧ復号処理を行う場合、画像全体について単にＪＰＥＧ復号処理を行う場合は特には必要ないが、画像全体の中から特定の領域を切り出してＪＰＥＧ復号処理を行う場合には、前処理として、ＪＰＥＧ画像データに対するデータ解析処理が必要となる。
【０００７】
このように、切り出しＪＰＥＧ復号処理を行う場合に、前処理として、データ解析処理を行う理由は、以下の通りである。
【０００８】
画像データに対してＪＰＥＧ符号処理を行う場合、通常、８×８画素を１つのブロックとし、このブロックを単位として、処理がなされる。このブロックは、ＪＰＥＧ符号処理の基本単位となるため、ＭＣＵ（Minimum Coded Unit）と呼ばれる。そこで、ＪＰＥＧ符号処理では、まず、画像データに対して、ＭＣＵ単位でＤＣＴ（離散コサイン変換）および量子化を行って、量子化されたＤＣＴ係数を得て、次に、そのＤＣＴ係数のうち、ＤＣ成分値については、１つ前のＭＣＵのＤＣ成分値との差分を取って、その差分値をハフマン符号化し、ＡＣ成分値ついては、ジグザグスキャンにより１次元の信号系列に並べた上で、ランレングス符号化及びハフマン符号化する。
【０００９】
一方、画像全体の中から特定の領域を切り出してＪＰＥＧ復号処理を行う場合、ＪＰＥＧ画像データの中から、その領域の左端にそれぞれ位置するＭＣＵ（以下、先頭ＭＣＵという）のデータをそれぞれ特定する必要がある。しかし、ＪＰＥＧ画像データ内において、各ＭＣＵのデータの長さは、可変長符号を用いるハフマン符号化によって、一定でなくバラパラであるため、ＪＰＥＧ画像データ内において、どの部分が、求めるべき先頭ＭＣＵのデータであるかが不明である。そのため、上記したデータ解析処理によって、予め、ＪＰＥＧ画像データ内における、各先頭ＭＣＵのデータの位置（以下、オフセット情報という）をそれぞれ求めておくのである。また、各先頭ＭＣＵにおいて、そのＤＣ成分値を得るためには、それぞれ、その１つ前のＭＣＵのＤＣ成分値を用意しておく必要がある。そのため、上記したデータ解析処理によって、予め、各先頭ＭＣＵに対して、それぞれ、その１つ前のＭＣＵのＤＣ成分値を求めておくのである。
【００１０】
なお、このようなデータ解析処理を伴った、ＪＰＥＧ復号処理に関しては、従来により、例えば、下記の特許文献１に記載のものが知られている。
【００１１】
【特許文献１】特開２００１−８６３１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来のプリンタでは、ＪＰＥＧ処理回路によって、切り出しＪＰＥＧ復号処理を行う場合、上記した専用メモリを用いて、画像全体についてデータ解析処理を行った後、切り出すべき領域についてＪＰＥＧ復号処理を行うことになる。
【００１３】
しかし、このＪＰＥＧ復号処理では、専用メモリに対し、前記ＪＰＥＧ画像データに含まれる圧縮画像データを格納するためのＪＰＥＧストリーム領域の他に、ＪＰＥＧ画像データを復号して得られる画像データ格納するための出力バッファ領域を確保する必要があるため、従来では、前処理であるデータ解析処理の際に、その専用メモリにＪＰＥＧ画像データを書き込み、その後、ＪＰＥＧ復号処理の際にも、改めて、その専用メモリにＪＰＥＧ画像データを書き込むようにしていた。
【００１４】
ＪＰＥＧ画像データの専用メモリへの書き込みには、多くの時間を要するため、このように、再度書き込むことによって、全体の処理時間が長くなってしまうという問題があった。
【００１５】
従って、本発明の目的は、上記した従来技術の問題点を解決し、ＪＰＥＧ画像データに対し、データ解析処理を行った後、ＪＰＥＧ復号処理を行う場合に、全体の処理時間を短縮することが可能な技術を提供することにある。
【課題を解決するための手段】
【００１６】
上記した目的の少なくとも一部を達成するために、本発明の画像処理装置は、ＪＰＥＧ画像データを処理することが可能な画像処理装置であって、
前記ＪＰＥＧ画像データを解析するデータ解析部と、前記ＪＰＥＧ画像データを復号するＪＰＥＧ復号部と、を備えるＪＰＥＧ処理回路と、
記憶領域を有する記憶回路と、
前記記憶回路を制御して、前記ＪＰＥＧ処理回路に、前記記憶領域を使用させることが可能な制御回路と、
を備え、
前記制御回路は、前記データ解析部が前記ＪＰＥＧ画像データの解析を行う際には、前記記憶回路における前記記憶領域内に、前記ＪＰＥＧ画像データに含まれる圧縮画像データを格納するための第１の圧縮画像データ格納領域を少なくとも設定し、
前記制御回路は、前記データ解析部による解析後に、前記ＪＰＥＧ復号部が前記ＪＰＥＧ画像データの復号を行う際には、前記記憶回路における前記記憶領域内の使用状態を切り換えて、前記記憶領域内に、前記ＪＰＥＧ画像データに含まれる前記圧縮画像データを格納するための第２の圧縮画像データ格納領域と、復号して得られる画像データを格納するための画像データ格納領域と、を少なくとも設定すると共に、前記ＪＰＥＧ画像データに含まれる前記圧縮画像データの全体が、前記第１の圧縮画像データ格納領域内に格納されていた場合には、前記圧縮画像データの全体が前記第２の圧縮画像データ格納領域内に収まるか否かを判定し、収まると判定した場合には、格納されている前記圧縮画像データをそのまま維持することを要旨とする。
【００１７】
このように、本発明の画像処理装置では、データ解析部による解析後に、ＪＰＥＧ復号部がＪＰＥＧ画像データの復号を行う際において、ＪＰＥＧ画像データに含まれる圧縮画像データの全体が、第１の圧縮画像データ格納領域内に格納されていた場合に、圧縮画像データの全体が第２の圧縮画像データ格納領域内に収まるか否かを判定し、収まると判定した場合には、格納されている圧縮画像データをそのまま維持するようする。
【００１８】
従って、本発明の画像処理装置によれば、圧縮画像データを記憶回路に再度書き込むことなく、そのまま格納しておいて、ＪＰＥＧ復号部による復号時に利用するので、再度の書き込みを行わない分、全体の処理時間を短縮することができる。
【００１９】
本発明の画像処理装置において、前記ＪＰＥＧ処理回路は、論理回路によって構成されることが好ましい。
このように、ＪＰＥＧ処理回路が論理回路によって構成され、ハードウェア構成となることによって、ソフトウェアに基づいて処理が行われる場合に比較して、処理速度を向上させることができる。
【００２０】
また、印刷装置において、本発明の画像処理装置を備えることが好ましい。
このように構成することにより、印刷装置において、全体の処理時間を短縮させることが可能となる。
【００２１】
なお、本発明は、上記した画像処理装置や印刷装置などの装置発明の態様に限ることなく、記憶回路制御方法などの方法発明としての態様で実現することも可能である。さらには、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例の構成：
Ｂ．実施例の動作：
Ｂ−１．ＪＰＥＧ処理の概要：
Ｂ−２．切り出しＪＰＥＧ復号処理：
Ｂ−３．処理回路用メモリの制御方法：
Ｃ．実施例の効果：
Ｄ．変形例：
【００２３】
Ａ．実施例の構成：
図１は本発明の一実施例としての画像処理装置を備えるプリンタの概略構成を示すブロック図である。
【００２４】
プリンタ１００は、主として、ＣＰＵ１１０と、ＪＰＥＧ処理回路１２０と、２つのメモリコントローラ１３０，１５０と、処理回路用メモリ１４０と、ＣＰＵ用メモリ１６０と、メモリカードインターフェイス（Ｉ／Ｆ）部１７０と、プリンタエンジン１８０と、を備えている。これらのうち、ＣＰＵ１１０と、ＪＰＥＧ処理回路１２０と、２つのメモリコントローラ１３０，１５０と、処理回路用メモリ１４０と、ＣＰＵ用メモリ１６０が、本実施例としての画像処理装置を構成する。
【００２５】
これらのうち、ＣＰＵ１１０は、ＣＰＵ用メモリ１６０に記憶されたコンピュータプログラム（図示せず）を読み出して実行することにより、ＪＰＥＧ処理制御部１１２やサブＪＰＥＧ処理制御部１１４として機能し、種々の処理や制御を行う。なお、ＪＰＥＧ処理制御部１１２及びサブＪＰＥＧ処理制御部１１４については、後ほど詳しく説明する。メモリコントローラ１５０は、ＣＰＵ用メモリ１６０を制御するためのインターフェイスである。ＣＰＵ用メモリ１６０は、ＣＰＵ１１０による管理の下、上記コンピュータプログラムを記憶したり、印刷処理中に得られたデータなどを記憶したりする。
【００２６】
一方、ＪＰＥＧ処理回路１２０は、データ解析部１２２と、ＪＰＥＧ復号部１２４と、ＣＰＵインターフェイス（Ｉ／Ｆ）部１２６と、メモリインターフェイス（Ｉ／Ｆ）部１２８と、を備えている。このＪＰＥＧ処理回路１２０は、ハードウェアで構成された専用回路であって、各機能部がそれぞれ論理回路で構成されており、例えば、ＩＣ（Integrated Circuit）等の半導体装置の形態を成している。このうち、ＣＰＵインターフェイス部１２６は、ＣＰＵ１１０との間で情報を授受する際のインターフェイスである。メモリインターフェイス部１２８は、処理回路用メモリ１４０に格納されているデータを読み出したり、処理回路用メモリ１４０にデータを格納したりする際のインターフェイスである。なお、データ解析部１２２及びＪＰＥＧ復号部１２４については、後ほど詳細に説明する。また、メモリコントローラ１３０は、処理回路用メモリ１４０を制御するためのインターフェイスである。処理回路用メモリ１４０は、ＣＰＵ１１０及びＪＰＥＧ処理回路１２０による管理の下、ＪＰＥＧ処理中に得られたデータなどを記憶する。
【００２７】
また、メモリカードインターフェイス部１７０は、外部よりメモリカード１７２が装着された場合に、そのメモリカード１７２に格納されている情報を読み出したり、新たな情報を書き込んだりする際の制御を行うインターフェイスである。メモリカード１７２は、フラッシュメモリ等によって構成されており、ディジタルカメラ等（図示せず）に着脱自在に装着されて、撮影されたＪＰＥＧ画像データが格納されるとともに、メモリカードインターフェイス部１７０に接続することにより、その格納されたＪＰＥＧ画像データを読み出すことができる。なお、プリンタ１００では、メモリカードインターフェイス部１７０を備える他に、ＵＳＢ（Universal Serial Bus）インターフェイス部を備え、ＵＳＢを介して、デジタルカメラやホストコンピュータなどを接続し、それらに格納されているＪＰＥＧ画像データを読み出すようにしてもよい。
【００２８】
なお、図１において、処理回路用メモリ１４０は、請求項における記憶回路に、ＣＰＵ１１０は、請求項における制御回路に、プリンタ１００は、請求項における印刷装置に、それぞれ相当する。
【００２９】
Ｂ．実施例の動作：
Ｂ−１．ＪＰＥＧ処理の概要：
ユーザが、プリンタ１００の操作パネル（図示せず）を操作し、メモリカード１７２の中から所望のＪＰＥＧ画像データを選択して、プリンタ１００に対し印刷の実行を指示すると、ＣＰＵ１１０は、メモリカード１７２からメモリカードインターフェイス部１７０を介してそのＪＰＥＧ画像データを読み出し、メモリコントローラ１５０を介してＣＰＵ用メモリ１６０にＦｉｌｅ  Ｃａｓｈ（図示せず）として格納する。ＣＰＵ１１０は、Ｆｉｌｅ  ＣａｓｈからＪＰＥＧ画像データを読み出し、画像処理が円滑に実行できるようにデータを適宜並べ換えて、ＣＰＵ用メモリ１６０内に設定されている第１メモリ領域１６２に格納する。この第１メモリ領域１６２に格納されたＪＰＥＧ画像データが、これから説明するＪＰＥＧ処理の対象となるデータとなる。
【００３０】
図２は図１に示す画像処理装置においてＪＰＥＧ処理を行う際の制御指示やデータの流れを示す説明図である。
【００３１】
図２において、ＪＰＥＧ処理制御部１１２は、ＪＰＥＧ処理をサブＪＰＥＧ処理制御部１１４に要求する上位機能部である。サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０を制御する機能部である。ＪＰＥＧ処理回路１２０は、ＪＰＥＧ処理を行うハードウェア構成の専用回路である。一方、ＣＰＵ用メモリ１６０内に設定される第１メモリ領域１６２は、上述したとおり、ＪＰＥＧ処理の対象となるＪＰＥＧ画像データを格納するための領域である。ＣＰＵ用メモリ１６０内に設定される第２メモリ領域１６４は、ＪＰＥＧ処理によって復号された画像データを格納するための領域である。さらに、処理回路用メモリ１４０内に設定されるメモリ領域１４２は、ＪＰＥＧ処理回路１２０がＪＰＥＧ画像データに対してＪＰＥＧ処理を行う際に用いる作業領域である。
【００３２】
それでは、ＪＰＥＧ処理の概要を簡単に説明する。
１．上位機能部であるＪＰＥＧ処理制御部１１２がサブＪＰＥＧ処理制御部１１４に対し、ＪＰＥＧ処理の要求を出す。
２．サブＪＰＥＧ処理制御部１１４が、ＪＰＥＧ処理の対象となるＪＰＥＧ画像データをＣＰＵ用メモリ１６０の第１メモリ領域１６２から読み出して、処理回路用メモリ１４０のメモリ領域１４２に書き込む。
３．サブＪＰＥＧ処理制御部１１４が、ＪＰＥＧ処理回路１２０に対してＪＰＥＧ処理シーケンスの制御を行い、ＪＰＥＧ処理回路１２０にＪＰＥＧ処理を実行させる。
４．ＪＰＥＧ処理回路１２０が、処理回路用メモリ１４０のメモリ領域１４２からＪＰＥＧ画像データを適宜読み出して、後述するデータ解析処理やＪＰＥＧ復号処理などの一連のＪＰＥＧ処理を行い、得られた復号後の画像データを処理回路用メモリ１４０に書き込む。
５．サブＪＰＥＧ処理制御部１１４が、復号された画像データを処理回路用メモリ１４０のメモリ領域１４２から読み出し、ＣＰＵ用メモリ１６０の第２メモリ領域１６４に書き込む。
６．サブＪＰＥＧ処理制御部１１４がＪＰＥＧ処理制御部１１２に対しＪＰＥＧ処理の終了を通知する。
【００３３】
Ｂ−２．切り出しＪＰＥＧ復号処理：
それでは、このようなＪＰＥＧ処理をさらに詳細に説明するために、ＪＰＥＧ処理として、ＪＰＥＧ画像データに対し、画像全体の中から特定の領域を切り出してＪＰＥＧ復号処理（すなわち、切り出しＪＰＥＧ復号処理）を行う場合について、図３〜図６を用いて説明する。
【００３４】
図３は画像全体に対する、切り出すべき特定の領域を示す説明図である。図３に示すように、切り出すべき特定領域は、８×８画素のブロックであるＭＣＵを単位として、１５個のＭＣＵ（１−１，１−２，…，３−５）でできた領域である。かかる領域は、ユーザが、プリンタ１００の操作パネル（図示せず）によって、印刷すべきＪＰＥＧ画像データを選択する際に、併せて、ユーザによって指示される。
【００３５】
図４及び図５は、それぞれ、切り出しＪＰＥＧ復号処理を行う場合の処理の流れを示す説明図である。後述するとおり、ＪＰＥＧ復号処理は、図３において、切り出すべき特定領域内を、ＭＣＵを単位として、左から右に向かって行方向に、１−１，１−２，…，１−５の順に進む。次に、下の行に移り、同様に、左から右に向かって行方向に、２−１，２−２，…，２−５の順に進み、さらに、下の行に移り、同様に、左から右に向かって行方向に、３−１，３−２，…，３−５の順に進む。このうち、１つ目のＭＣＵの行（すなわち、１−１，１−２，…，１−５）に対しては、図４に示す処理が適用され、２つ目以降のＭＣＵの行（すなわち、２−１，２−２，…，２−５並びに３−１，３−２，…，２−５）に対しては、図５に示す処理が適用される。
【００３６】
一方、前述したとおり、切り出しＪＰＥＧ復号処理を行う場合には、ＪＰＥＧ復号処理を行うのに先立って、前処理として、データ解析処理を行う必要がある。これは、１つには、ＪＰＥＧ画像データの中から、切り出すべき特定領域における先頭ＭＣＵ（すなわち、その領域の左端にそれぞれ位置するＭＣＵであって、図３の１−１，２−１，３−１が相当する）のデータの位置（すなわち、オフセット情報）を、それぞれ、予め求めておくためであり、２つには、各先頭ＭＣＵに対して、それぞれ、その１つ前のＭＣＵ（図３では、１−０，２−０，３−０）のＤＣ成分値を、それぞれ、予め求めておくためである。
【００３７】
そこで、本実施例では、前処理であるデータ解析処理を、図４に示す処理内において、１つ目のＭＣＵの行に対して行うＪＰＥＧ復号処理に先立って、行うようにしている。従って、２つ目以降のＭＣＵの行に対して適用される、図５に示す処理では、データ解析処理は行われない。
【００３８】
では、図４において、まず、上位機能部であるＪＰＥＧ処理制御部１１２が、サブＪＰＥＧ処理制御部１１４に対し、特定領域における行方向１ライン目について、復号済み画像データ取得要求（メッセージ）を出す。これにより、サブＪＰＥＧ処理制御部１１４では、ＪＰＥＧ処理回路１２０に対するＪＰＥＧ処理制御が開始され、ＪＰＥＧ処理回路１２０に対し、リセットを指示する。これにより、ＪＰＥＧ処理回路１２０は、内部にあるレジスタ（図示せず）の設定を初期化する。また、このとき、サブＪＰＥＧ処理制御部１１４では、ＪＰＥＧ画像データをＣＰＵ用メモリ１６０の第１メモリ領域１６２から読み出して、処理回路用メモリ１４０のメモリ領域１４２に書き込む。かかる書き込みについては、後ほど詳しく説明する。
【００３９】
図６はＪＰＥＧ画像データのデータ構成を示す説明図である。図６に示すように、ＪＰＥＧ画像データは、ヘッダ３１０、テーブル３２０、及び圧縮画像データ（ＪＰＥＧストリーム）３３０によって構成されている。ここで、ヘッダ３１０は、例えば、ファイル名、圧縮方式、画像サイズ、密度単位などの情報を有している。テーブル３２０は、例えば、ハフマンテーブル、及び量子化テーブルなどによって構成されている。圧縮画像データ３３０は、ＪＰＥＧ方式により圧縮された画像データによって構成されている。
【００４０】
次に、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０にヘッダ解析開始を指示し、これにより、ＪＰＥＧ処理回路１２０において、データ解析部１２２は、それに伴うレジスタの設定を行った上で、ヘッダ解析処理を開始する。
【００４１】
ＪＰＥＧ処理回路１２０のデータ解析部１２２は、メモリインターフェイス部１２８，メモリコントローラ１３０を介して、処理回路用メモリ１４０のメモリ領域１４２から、ＪＰＥＧ画像データのヘッダ３１０及びテーブル３２０を読み出して、ヘッダ解析を行い、ＪＰＥＧ復号処理に必要な情報、例えば、ハフマンテーブル，量子化テーブルなどを取得する。その後、サブＪＰＥＧ処理制御部１１４に対して、割り込みにより、ヘッダ解析終了を通知する。
【００４２】
次に、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０にデータ解析開始を指示し、これにより、ＪＰＥＧ処理回路１２０において、データ解析部１２２は、それに伴うレジスタの設定を行った上で、データ解析処理を開始して、メモリインターフェイス部１２８，メモリコントローラ１３０を介して、処理回路用メモリ１４０のメモリ領域１４２からＪＰＥＧ画像データを読み出す。データ解析部１２２は、読み出したＪＰＥＧ画像データに対し、順次、データ解析を行い、前述したとおり、画像を切り出しつつＪＰＥＧ復号処理を行うのに必要な情報、すなわち、各先頭ＭＣＵについてのオフセット情報、及び、それら先頭ＭＣＵに対する１つ前のＭＣＵのＤＣ成分値をそれぞれ算出して、切り出し情報テーブルを生成する。その後、サブＪＰＥＧ処理制御部１１４に対して、割り込みにより、データ解析終了を通知する。
【００４３】
次に、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０に対し、再びリセットを指示する。これにより、ＪＰＥＧ処理回路１２０は、内部にあるレジスタの設定を初期化する。また、このとき、サブＪＰＥＧ処理制御部１１４では、ＪＰＥＧ画像データをＣＰＵ用メモリ１６０の第１メモリ領域１６２から再度読み出して、処理回路用メモリ１４０のメモリ領域１４２に書き込む。かかる書き込みについても、後ほど詳しく説明する。
【００４４】
続いて、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０に再びヘッダ解析開始を指示し、これにより、ＪＰＥＧ処理回路１２０において、ＪＰＥＧ復号部１２４は、それに伴うレジスタの設定を行った上で、ヘッダ解析処理を再び開始する。ＪＰＥＧ処理回路１２０のＪＰＥＧ復号部１２４は、先ほどと同様にして、ヘッダ解析を行い、完了したら、サブＪＰＥＧ処理制御部１１４に対して、割り込みにより、ヘッダ解析終了を通知する。
【００４５】
次に、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０にＪＰＥＧ復号開始を指示し、これにより、ＪＰＥＧ処理回路１２０において、ＪＰＥＧ復号部１２４は、それに伴うレジスタの設定を行った上で、ＪＰＥＧ復号を開始する。
【００４６】
ＪＰＥＧ処理回路１２０のＪＰＥＧ復号部１２４は、メモリインターフェイス部１２８，メモリコントローラ１３０を介して、処理回路用メモリ１４０のメモリ領域１４２から、ＪＰＥＧ画像データを読み出す。そして、ＪＰＥＧ復号部１２４は、取得したハフマンテーブル，量子化テーブルや、生成した切り出し情報テーブルなどを参照して、切り出すべき特定領域のうち、１つ目のＭＣＵの行（すなわち、図３の１−１，１−２，…，１−５）の圧縮画像データについてＪＰＥＧ復号を行い、復号により得られた画像データをメモリ領域１４２に順次書き込む。なお、本実施例では、ＪＰＥＧ処理回路１２０のＪＰＥＧ復号部１２４は、ＪＰＥＧ復号処理として、圧縮画像データに対して、ハフマン復号化処理，逆量子化処理，逆ＤＣＴ処理を行った後、得られるＹＣｂＣｒデータに色変換処理を施してＲＧＢデータに変換した上で、復号後の画像データとして、メモリ領域１４２に書き込むようにしている。そして、サブＪＰＥＧ処理制御部１１４は、その画像データを処理回路用メモリ１４０のメモリ領域１４２から読み出して、ＣＰＵ用メモリ１６０の第２メモリ領域１６４に順次書き込む。こうして、１つ目のＭＣＵの行のデータ全てについて、ＪＰＥＧ復号が完了したら、ＪＰＥＧ処理回路１２０のＪＰＥＧ復号部１２４は、サブＪＰＥＧ処理制御部１１４に対して、割り込みにより、ＪＰＥＧ復号終了を通知する。この結果、復号された画像データとして、特定領域のうち、１つ目のＭＣＵの行の画像データが得られたことになる。上述したとおり、ＭＣＵは、８×８画素のブロックであるため、その画像データは、行方向１ライン目から８ライン目までの８ライン分の画像データに相当する。
【００４７】
そこで、サブＪＰＥＧ処理制御部１１４は、先に、ＪＰＥＧ処理制御部１１２より出された、行方向１ライン目についての復号済み画像データ取得要求に対して、その応答として、復号終了（メッセージ）を通知する。
【００４８】
次に、ＪＰＥＧ処理制御部１１２が、サブＪＰＥＧ処理制御部１１４に対し、特定領域における行方向２ライン目について、復号済み画像データ取得要求（メッセージ）を出すと、上述したとおり、行方向２ライン目についての復号も既に完了しているので、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理制御部１１２に対し、応答として、復号終了（メッセージ）を通知する。以下、同様の処理が、行方向８ライン目についての復号終了の通知を行うまで繰り返される。
【００４９】
次に、図５において、ＪＰＥＧ処理制御部１１２が、サブＪＰＥＧ処理制御部１１４に対し、特定領域における行方向９ライン目について、復号済み画像データ取得要求（メッセージ）を出すと、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０に対し、リセットを指示する。これにより、ＪＰＥＧ処理回路１２０は、内部にあるレジスタの設定を初期化する。
【００５０】
次に、サブＪＰＥＧ処理制御部１１４は、図４の場合と同様に、ＪＰＥＧ処理回路１２０にヘッダ解析開始を指示し、これにより、ＪＰＥＧ処理回路１２０のＪＰＥＧ復号部１２４は、それに伴うレジスタの設定を行った上で、ヘッダ解析処理を開始する。ＪＰＥＧ復号部１２４は、図４の場合と同様の、ヘッダ解析を行い、完了したら、サブＪＰＥＧ処理制御部１１４に対して、割り込みにより、ヘッダ解析終了を通知する。
【００５１】
次に、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０にＪＰＥＧ復号開始を指示し、これにより、ＪＰＥＧ処理回路１２０のＪＰＥＧ復号部１２４は、それに伴うレジスタの設定を行った上で、ＪＰＥＧ復号を開始する。ＪＰＥＧ復号部１２４は、図４の場合と同様に、処理回路用メモリ１４０のメモリ領域１４２から、ＪＰＥＧ画像データを読み出し、取得したハフマンテーブル，量子化テーブルや、図４の処理におけるデータ解析で生成した切り出し情報テーブルなどを参照して、切り出すべき特定領域のうち、２つ目のＭＣＵの行（すなわち、図３の２−１，２−２，…，２−５）の圧縮画像データについてＪＰＥＧ復号を行い、復号により得られた画像データをメモリ領域１４２に順次書き込む。そして、サブＪＰＥＧ処理制御部１１４は、その画像データを処理回路用メモリ１４０のメモリ領域１４２から読み出して、ＣＰＵ用メモリ１６０の第２メモリ領域１６４に順次書き込む。こうして、２つ目のＭＣＵの行のデータ全てについて、ＪＰＥＧ復号が完了したら、ＪＰＥＧ復号部１２４は、サブＪＰＥＧ処理制御部１１４に対して、割り込みにより、ＪＰＥＧ復号終了を通知する。この結果、復号された画像データとして、特定領域のうち、２つ目のＭＣＵの行の画像データ（すなわち、行方向９ライン目から１６ライン目までの８ライン分の画像データ）が得られたことになる。
【００５２】
そこで、サブＪＰＥＧ処理制御部１１４は、先に、ＪＰＥＧ処理制御部１１２より出された、行方向９ライン目についての復号済み画像データ取得要求に対して、その応答として、復号終了（メッセージ）を通知する。
【００５３】
次に、ＪＰＥＧ処理制御部１１２が、サブＪＰＥＧ処理制御部１１４に対し、特定領域における行方向１０ライン目について、復号済み画像データ取得要求（メッセージ）を出すと、上述したとおり、行方向１０ライン目についての復号も既に完了しているので、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理制御部１１２に対し、応答として、復号終了（メッセージ）を通知する。以下、同様の処理が、行方向１６ライン目についての復号終了の通知を行うまで繰り返される。
【００５４】
次に、図５において、ＪＰＥＧ処理制御部１１２が、サブＪＰＥＧ処理制御部１１４に対し、特定領域における行方向１７ライン目について、復号済み画像データ取得要求（メッセージ）を出すことにより、特定領域のうち、続く、３つ目のＭＣＵの行（すなわち、図３の３−１，３−２，…，３−５）のデータについての処理が開始されることになるが、処理内容は２つ目のＭＣＵの行の場合と同様であるので説明は省略する。
【００５５】
以上のようにして、画像全体の中から特定領域を切り出してＪＰＥＧ復号処理、すなわち、切り出しＪＰＥＧ復号処理が行われる。
【００５６】
こうして、得られた復号後の画像データ（ＲＧＢデータ）には、その後、ＣＰＵ１１０によって、ＡＰＦ（Auto Photo Fine）処理が施される。ＡＰＦ処理としては、例えば、露出時間が長い場合に発生する偽色を除去するためのノイズ除去処理、ホワイトバランスおよび色調の調整のために実行されるトーンカーブ補正処理、人が記憶している色に合わせるための記憶色補正処理、画像の鮮やかさを調整するための彩度補正処理、および、輪郭を強調するためのシャープネス処理等がある。
【００５７】
次に、ＡＰＦ処理が施された画像データは、ＣＰＵ１１０によって、印刷用紙サイズに合わせて画像データをリサイズするためのリサイズ処理が施された後、印刷用紙に対するレイアウトを決定するためのレイアウト処理（例えば、印刷用紙上における印刷位置の設定処理または複数枚画像を重ねる等の処理）が施される。レイアウト処理が施された画像データは、ＲＧＢ表色系からプリンタの表色系であるＣＭＹＫ表色系に変換する色変換処理が施され、ＣＭＹＫデータに変換される。色変換処理が施された画像データは、マイクロウィーブ印刷を行うためのＭＷ（Micro Weave）処理が施され、その後、ハーフトーン処理等が施され、印刷データとなる。こうして、得られた印刷データは、プリンタエンジン１８０において、印刷ヘッド用信号に変換された後、印刷ヘッド（図示せず）に供給され、印刷用紙に画像が印刷される。
【００５８】
Ｂ−３．処理回路用メモリの制御方法：
次に、サブＪＰＥＧ処理制御部１１４による処理回路用メモリ１４０の制御方法、すなわち、メモリ領域１４２の使用方法について、図７及び図８を用いて詳細に説明する。
【００５９】
図７は図１におけるサブＪＰＥＧ処理制御部１１４の処理回路用メモリ１４０に対する制御処理を示すフローチャートであり、図８は図１の処理回路用メモリ１４０におけるメモリ領域１４２内のメモリ使用状態（メモリマップ）を示す説明図である。図８において、（ａ）は、データ解析時におけるメモリ使用状態を示す、（ｂ）はＪＰＥＧ復号時の使用状態を示す。
【００６０】
前述した図４において、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理制御部１１２から復号済み画像データ取得要求を受けると、ＪＰＥＧ処理回路１２０に対し、リセットを指示すると共に、図７に示す処理を開始する。
【００６１】
サブＪＰＥＧ処理制御部１１４は、図７の処理が開始されると、メモリコントローラ１３０を介して、処理回路用メモリ１４０を制御して、ＪＰＥＧ処理の作業領域であるメモリ領域１４２に、図８（ａ）に示すように、ヘッダ領域２１２及びライトテーブル領域２１６を設定する（ステップＳ１０２）。ここで、ヘッダ領域２１２は、ＪＰＥＧ画像データにおけるヘッダ３１０，テーブル３２０を格納する領域であり、ライトテーブル領域２１６は、データ解析時において生成される切り出し情報テーブルを格納する領域である。このライトテーブル領域２１６のサイズは、切り出すべき特定領域の上下方向の高さにより決定される。続いて、サブＪＰＥＧ処理制御部１１４は、先に設定したヘッダ領域２１２及びライトテーブル領域２１６以外の残りの領域を、ＪＰＥＧストリーム領域２１４として設定する（ステップＳ１０２）。ここで、ＪＰＥＧストリーム領域２１４は、データ解析に用いられる圧縮画像データ３３０を格納する領域である。このように、ヘッダ領域２１２及びライトテーブル領域２１６以外の残りの領域を、ＪＰＥＧストリーム領域２１４として設定することにより、ＪＰＥＧストリーム領域２１４のサイズは、画像毎に最適なサイズを確保できる。
【００６２】
次に、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ画像データを、ＣＰＵ用メモリ１６０における第１メモリ領域１６２から読み出し、処理回路用メモリ１４０におけるメモリ領域１４２に対して、ＪＰＥＧ画像データにおけるヘッダ３１０，テーブル３２０はヘッダ領域２１２に、圧縮画像データ３３０はＪＰＥＧストリーム領域２１４に、それぞれ分けて書き込む（ステップＳ１０３）。なお、ＪＰＥＧ画像データにおける圧縮画像データ３３０の全体（すなわち、画像全体）が、ＪＰＥＧストリーム領域２１４内に収まらない場合は、データ解析途中で、サブＪＰＥＧ処理制御部１１４が、続きの圧縮画像データ３３０をＪＰＥＧストリーム領域２１４に書き込み、データ解析の処理を継続させる。
【００６３】
次に、サブＪＰＥＧ処理制御部１１４は、ＪＰＥＧ処理回路１２０のデータ解析部１２２より、データ解析終了の通知を受けるまで待機する（ステップＳ１０４）。この間、ＪＰＥＧ処理回路１２０では、データ解析部１２２によって、前述したデータ解析の処理がなされる。その後、ＪＰＥＧ処理回路１２０のデータ解析部１２２より、データ解析終了の通知を受けたら、サブＪＰＥＧ処理制御部１１４は、処理回路用メモリ１４０を制御して、メモリ領域１４２内の使用状態（メモリマップ）を切り換えて、図８（ｂ）に示すように、ヘッダ領域２２２、２つのリード／ライトテーブル領域２２８，２２９及び出力バッファ領域２２６を設定する（ステップＳ１０６）。ここで、ヘッダ領域２２２はＪＰＥＧ画像データにおけるヘッダ３１０を格納する領域であり、図８（ａ）におけるヘッダ領域２１２と同一の領域である。リード／ライトテーブル領域２２８は、ＪＰＥＧ復号時に使用する切り出し情報テーブルを格納する領域であり、初期値としては、図８（ａ）におけるライトテーブル領域２１６の内容がそのまま格納される。一方、リード／ライトテーブル領域２２９は、ＪＰＥＧ復号時に生成される切り出し情報テーブルが書き込まれる領域である。何れのリード／ライトテーブル領域２２８，２２９も、そのサイズは、切り出すべき特定領域の上下方向の高さにより決定される。また、出力バッファ領域２２６は、復号により得られる画像データが書き込まれる領域である。出力バッファ領域２２６のサイズは、切り出すべき特定領域のサイズにより決定される。続いて、サブＪＰＥＧ処理制御部１１４は、先に設定した４つの領域（ヘッダ領域２２２、２つのリード／ライトテーブル領域２２８，２２９及び出力バッファ領域２２６）以外の残りの領域を、ＪＰＥＧストリーム領域２２４として設定する（ステップＳ１０６）。ここで、ＪＰＥＧストリーム領域２２４は、ＪＰＥＧ復号に用いられる圧縮画像データ３３０を格納する領域である。このように、データ解析時とＪＰＥＧ復号時とで、メモリ領域１４２の使用状態（メモリマップ）を切り換えることにより、処理速度の改善を図ることができる。
【００６４】
次に、サブＪＰＥＧ処理制御部１１４は、データ解析時におけＪＰＥＧストリーム領域２１４内に圧縮画像データ３３０の全体（すなわち、画像全体）が格納されていた（すなわち、収まっていた）か否かを判定し（ステップＳ１０８）、格納されていなかった場合には、ステップＳ１１４に進む。圧縮画像データ３３０の全体が格納されていた場合には、次に、サブＪＰＥＧ処理制御部１１４は、その圧縮画像データ３３０の全体が新たに設定したＪＰＥＧストリーム領域２２６内に収まる（すなわち、格納できる）か否かを、データのサイズと領域のサイズとを比較して判定し（ステップＳ１１０）、収まらない場合は、ステップＳ１１４に進む。圧縮画像データ３３０の全体が収まる場合には、サブＪＰＥＧ処理制御部１１４は、格納されている圧縮画像データ３３０をそのまま維持する（ステップＳ１１２）。この結果、図８（ｂ）におけるＪＰＥＧストリーム領域２２４には、圧縮画像データ３３０の全体が格納されたままとなる。
【００６５】
一方、ステップＳ１１４に進んだ場合には、サブＪＰＥＧ処理制御部１１４は、図８（ｂ）におけるＪＰＥＧストリーム領域２２４に対し、細切れ書き込み処理を行う。具体的には、サブＪＰＥＧ処理制御部１１４は、切り出し情報テーブルを参照して、ＣＰＵ用メモリ１６０の第１メモリ領域１６２に格納されているＪＰＥＧ画像データの中から、特定領域のうち、１つ目のＭＣＵの行（すなわち、図３の１−１，１−２，…，１−５）の圧縮画像データを取り出して、ＪＰＥＧストリーム領域２２４を満たすまで書き込む。そして、その後は、ＪＰＥＧ復号途中で、サブＪＰＥＧ処理制御部１１４が、続きの圧縮画像データをＪＰＥＧストリーム領域２１４に書き込むようにして、処理を継続させる。
【００６６】
Ｃ．実施例の効果：
以上説明したように、本実施例では、データ解析時におけＪＰＥＧストリーム領域２１４内に圧縮画像データ３３０の全体（すなわち、画像全体）が格納されていた場合であって、その圧縮画像データ３３０の全体が、ＪＰＥＧ復号に際して新たに設定したＪＰＥＧストリーム領域２２６内に収まる場合には、格納されている圧縮画像データ３３０をそのまま維持するようにしていた。従って、本実施例によれば、圧縮画像データ３３０を処理回路用メモリ１４０のメモリ領域１４２に再度書き込むことなく、そのまま格納しておいて、ＪＰＥＧ復号時に利用するので、処理時間のかかる圧縮画像データの書き込みを省くことができ、その分、全体の処理時間を短縮することができる。
【００６７】
Ｄ．変形例：
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【００６８】
上記した実施例では、ＪＰＥＧ処理回路１２０は、ハフマン復号化処理，逆量子化処理，逆ＤＣＴ処理の他に、ＹＣｂＣｒデータからＲＧＢデータへの色変換処理を行うものとして説明したが、かかる色変換処理は、ＣＰＵ１１０で行うようにしてもよい。
【００６９】
上記した実施例では、画像処理装置は、印刷装置として、プリンタに搭載するものとして説明したが、画像処理装置を、プリンタ，ファックス，コピー，スキャナ等の機能を有するいわゆる複合機に搭載するようにしてもよく、ファクシミリ、コピー機などに搭載するようにしてもよい。また、画像処理装置を、印刷装置のみならず、例えば、ディジタルカメラ等のディジタル機器に搭載するようにしてもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施例としての画像処理装置を備えるプリンタの概略構成を示すブロック図である。
【図２】図１に示す画像処理装置においてＪＰＥＧ処理を行う際の制御指示やデータの流れを示す説明図である。
【図３】画像全体に対する、切り出すべき特定の領域を示す説明図である。
【図４】切り出しＪＰＥＧ復号処理を行う場合の処理の流れを示す説明図である。
【図５】切り出しＪＰＥＧ復号処理を行う場合の処理の流れを示す説明図である。
【図６】ＪＰＥＧ画像データのデータ構成を示す説明図である。
【図７】図１におけるサブＪＰＥＧ処理制御部１１４の処理回路用メモリ１４０に対する制御処理を示すフローチャートである。
【図８】図１の処理回路用メモリ１４０におけるメモリ領域１４２内のメモリ使用状態（メモリマップ）を示す説明図である。
【符号の説明】
【００７１】
１００…プリンタ
１１０…ＣＰＵ
１１２…ＪＰＥＧ処理制御部
１１４…サブＪＰＥＧ処理制御部
１２０…ＪＰＥＧ処理回路
１２２…データ解析部
１２４…ＪＰＥＧ復号部
１２６…ＣＰＵインターフェイス部
１２８…メモリインターフェイス部
１３０，１５０…メモリコントローラ
１４０…処理回路用メモリ
１４２…メモリ領域
１６０…ＣＰＵ用メモリ
１６２…第１メモリ領域
１６４…第２メモリ領域
１７０…メモリカードインターフェイス部
１７２…メモリカード
１８０…プリンタエンジン
２１２…ヘッダ領域
２１４…ＪＰＥＧストリーム領域
２１６…ライトテーブル領域
２２２…ヘッダ領域
２２４…ＪＰＥＧストリーム領域
２２６…ＪＰＥＧストリーム領域
２２６…出力バッファ領域
２２８，２２９…リード／ライトテーブル領域
３１０…ヘッダ
３２０…テーブル
３３０…圧縮画像データ
【図１】
2008067001.tif 000003
【図２】
2008067001.tif 000004
【図３】
2008067001.tif 000005
【図４】
2008067001.tif 000006
【図５】
2008067001.tif 000007
【図６】
2008067001.tif 000008
【図７】
2008067001.tif 000009
【図８】
2008067001.tif 000010