(57)【要約】【課題】画像データの変換を安価な構成にて効率良く実施する。【解決手段】画像データ変換装置は、ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが格納される第１メモリと、データ変換用テーブルのうちの一部のデータを除く残りのデータが格納され、かつ第１メモリよりもデータの読み出しが高速に行える第２メモリと、入力データが所定の入力データであるときに、データ変換用テーブルとして第２メモリに格納された残りのデータを参照して入力データを変換し、入力データが所定の入力データを除く他の入力データであるときに、データ変換用テーブルとして第１メモリに格納された一部のデータを参照して入力データを変換するコントローラとを備える。【選択図】図１１
2007194959.tif 000002
【特許請求の範囲】
【請求項１】
（Ａ）ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが格納される第１メモリと、
（Ｂ）前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータが格納され、かつ前記第１メモリよりもデータの読み出しが高速に行える第２メモリと、
（Ｃ）入力データが所定の入力データであるときに、前記データ変換用テーブルとして前記第２メモリに格納された前記残りのデータを参照して前記入力データを変換し、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して前記入力データを変換するコントローラと、
（Ｄ）を備えることを特徴とする画像データ変換装置。
【請求項２】
前記他の形式の画像データが前記ＲＧＢ画像データとビット数の異なるデータであることを特徴とする請求項１に記載の画像データ変換装置。
【請求項３】
前記他の形式の画像データが前記ＲＧＢ画像データよりもビット数が多いことを特徴とする請求項２に記載の画像データ変換装置。
【請求項４】
前記入力データは、前記ＲＧＢ画像データの各画素のデータであることを特徴とする請求項１〜３のいずれか１項に記載の画像データ変換装置。
【請求項５】
前記入力データは、前記ＲＧＢ画像データのＲＧＢ各色のデータであることを特徴とする請求項１〜４のいずれか１項に記載の画像データ変換装置。
【請求項６】
前記データ変換用テーブルが、ガンマ補正用テーブルであり、
前記コントローラは、前記入力データをガンマ補正済みのデータに変換することを特徴とする請求項１〜５のいずれか１項に記載の画像データ変換装置。
【請求項７】
前記ＹＵＶ画像データは、ＪＰＥＧ形式の画像データに基づき生成されたことを特徴とする請求項１〜６のいずれか１項に記載の画像データ変換装置。
【請求項８】
前記第２メモリは、前記コントローラが設けられたＡＳＩＣの内部に設けられ、前記第１メモリは、前記ＡＳＩＣの外部に設けられていることを特徴とする請求項１〜７のいずれか１項に記載の画像データ変換装置。
【請求項９】
前記第１メモリは、ＳＤＲＡＭにより構成されていることを特徴とする請求項１〜８のいずれか１項に記載の画像データ変換装置。
【請求項１０】
前記第２メモリは、ＳＲＡＭにより構成されていることを特徴とする請求項１〜９のいずれか１項に記載の画像データ変換装置。
【請求項１１】
前記所定の入力データは、前記他の入力データに比べて変換頻度の高いデータであることを特徴とする請求項１〜１０のいずれか１項に記載の画像データ変換装置。
【請求項１２】
入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して変換された変換後のデータを記憶する第３メモリを備え、
前記コントローラは、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照する前に、前記第３メモリに格納された前記変換後のデータを参照して変換可能か否かをチェックし、変換可能な場合に前記変換後のデータを参照して前記入力データを変換することを特徴とする請求項１〜１１のいずれか１項に記載の画像データ変換装置。
【請求項１３】
（Ａ）ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが格納される第１メモリと、
（Ｂ）前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータが格納され、かつ前記第１メモリよりもデータの読み出しが高速に行える第２メモリと、
（Ｃ）入力データが所定の入力データであるときに、前記データ変換用テーブルとして前記第２メモリに格納された前記残りのデータを参照して前記入力データを変換し、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して前記入力データを変換するコントローラと、
（Ｄ）を備え、
（Ｅ）前記他の形式の画像データが前記ＲＧＢ画像データよりもビット数が多く、
（Ｆ）前記入力データは、前記ＲＧＢ画像データの各画素のデータであり、
（Ｇ）前記入力データは、前記ＲＧＢ画像データのＲＧＢ各色のデータであり、
（Ｈ）前記データ変換用テーブルが、ガンマ補正用テーブルであり、前記コントローラは、前記入力データをガンマ補正済みのデータに変換し、
（Ｉ）前記ＹＵＶ画像データは、ＪＰＥＧ形式の画像データに基づき生成され、
（Ｊ）前記第２メモリは、前記コントローラが設けられたＡＳＩＣの内部に設けられ、前記第１メモリは、前記ＡＳＩＣの外部に設けられていて、
（Ｋ）前記第１メモリは、ＳＤＲＡＭにより構成され、前記第２メモリは、ＳＲＡＭにより構成され、
（Ｌ）前記所定の入力データとは、前記他の入力データに比べて変換頻度の高いデータであり、
（Ｍ）入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して変換された変換後のデータを記憶する第３メモリを備え、
前記コントローラは、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照する前に、前記第３メモリに格納された前記変換後のデータを参照して変換可能か否かをチェックし、変換可能な場合に前記変換後のデータを参照して前記入力データを変換することを特徴とする画像データ変換装置。
【請求項１４】
（Ａ）入力データが所定の入力データか否かを判定するステップと、
（Ｂ）入力データが前記所定の入力データを除く他の入力データであると判定されたときに、第１メモリに格納された、ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータを参照して前記入力データを変換するステップと、
（Ｃ）入力データが前記所定の入力データであると判定されたときに、前記第１メモリよりもデータの読み出しが高速に行える第２メモリに格納された、前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータを参照して前記入力データを変換するステップと、
（Ｄ）を有することを特徴とする画像データ変換方法。
【請求項１５】
（Ａ）ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが格納される第１メモリと、
（Ｂ）前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータが格納され、かつ前記第１メモリよりもデータの読み出しが高速に行える第２メモリと、
（Ｃ）入力データが所定の入力データであるときに、前記データ変換用テーブルとして前記第２メモリに格納された前記残りのデータを参照して前記入力データを変換し、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して前記入力データを変換するコントローラと、
（Ｄ）前記コントローラにより変換された前記他の形式の画像データに基づき印刷処理を実行する印刷部と、
（Ｅ）を備えたことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換する画像データ変換装置、画像データ変換方法、および、印刷装置に関する。
【背景技術】
【０００２】
近年、スキャナ機能やプリンタ機能（印刷機能）、ローカルコピー機能などを備えた複合機とも呼ばれる複合装置が知られている。この複合装置は、原稿から画像を読み取るスキャナ部と、媒体に対して画像を印刷するプリンタ部（印刷部）とを備えている。スキャナ機能では、スキャナ部により原稿から画像を読み取って画像データを生成してパソコンなどの外部のコンピュータに向けて出力する。また、プリント機能では、パソコンなどの外部のコンピュータから送られてきた印刷データに基づき印刷用紙等の各種媒体にプリンタ部により印刷をする。また、ローカルコピー機能では、スキャナ部により原稿から画像を読み取り、そして読み取った画像をプリンタ部により媒体に印刷して複写する。
【０００３】
このような複合装置にあっては、最近のデジタルカメラの著しい普及に対応するために、デジタルカメラで使用される各種メモリカード、例えば、コンパクトフラッシュやスマートメディア、メモリスティック、ＳＤメモリカード、ｘＤピクチャーカードなどといった各種フラッシュメモリなどから直接データを読み込むためにカードリーダー部が設けられている。複合装置には、このカードリーダー部にセットされたメモリカードに記録された写真データを読み出して印刷をする機能が設けられている。
【０００４】
ところで、デジタルカメラ等により撮影された画像は、各種メモリカードに、一般にＪＰＥＧ（Joint Photographic Experts Group）と呼ばれる形式の画像データにて記録される。このようなＪＰＥＧ形式にて記録された画像を印刷する場合には、このＪＰＥＧ形式の画像をＲＧＢ画像データに変換して、当該ＲＧＢ画像データに対して各種処理を実行してから印刷処理を実行する必要がある。具体的には、例えば、ＪＰＥＧ画像データから変換されたＲＧＢ画像データに対してガンマ補正等の処理を施す必要があった。このような画像処理を実行する場合、一般的にデータ変換用テーブルが用いられていた（特許文献１、２参照）。
【特許文献１】特開２００４−１１８４３２号公報
【特許文献２】特開平８−１８８２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようにデータ変換用テーブルを用いた場合に、次のような問題があった。すなわち、データ変換用テーブルが非常に大きく、このため、データ変換用テーブルを格納するために大容量のメモリを必要とした。特に、最近、画像データの高解像度化が進み、各画素の画素データの大きさも大きくなっている。
【０００６】
データ変換用テーブルを、非常に高速にアクセスをすることができるＳＲＡＭに格納した場合、ＳＲＡＭの大容量化を招き、コスト的に好ましくない。一方、ＳＲＡＭに代わってＳＤＲＡＭを使用する方法もあるが、ＳＤＲＡＭは、ＳＲＡＭのように高速にデータを読み出すことができない。このため、ガンマ変換処理が非常に遅れるといった不具合が発生する虞があった。
【０００７】
本発明は、このような事情に鑑みてなされたものであって、その目的は、画像データの変換を安価な構成にて効率良く行うことにある。
【課題を解決するための手段】
【０００８】
前記目的を達成するための主たる発明は、
（Ａ）ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが格納される第１メモリと、
（Ｂ）前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータが格納され、かつ前記第１メモリよりもデータの読み出しが高速に行える第２メモリと、
（Ｃ）入力データが所定の入力データであるときに、前記データ変換用テーブルとして前記第２メモリに格納された前記残りのデータを参照して前記入力データを変換し、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して前記入力データを変換するコントローラと、
（Ｄ）を備えることを特徴とする画像データ変換装置である。
【０００９】
本発明の他の特徴は、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【００１０】
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００１１】
（Ａ）ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが格納される第１メモリと、
（Ｂ）前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータが格納され、かつ前記第１メモリよりもデータの読み出しが高速に行える第２メモリと、
（Ｃ）入力データが所定の入力データであるときに、前記データ変換用テーブルとして前記第２メモリに格納された前記残りのデータを参照して前記入力データを変換し、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して前記入力データを変換するコントローラと、
（Ｄ）を備えることを特徴とする画像データ変換装置。
【００１２】
このような画像データ変換装置にあっては、ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが第１メモリに格納され、データ変換用テーブルのうちの一部のデータを除く残りのデータが、第１メモリよりもデータの読み出しが高速に行える第２メモリに格納されることで、入力データが所定の入力データであるときに、第２メモリに格納された残りのデータを参照して入力データを変換し、入力データが所定の入力データを除く他の入力データであるときに、第１メモリに格納された一部のデータを参照して入力データを変換することができる。これにより、入力データが所定の入力データである場合には、第２メモリを参照して入力データを高速に変換することができる。
【００１３】
かかる画像データ変換装置にあっては、前記他の形式の画像データが前記ＲＧＢ画像データとビット数の異なるデータであっても良い。このように他の形式の画像データがＲＧＢ画像データとビット数の異なるデータである場合に、入力データの変換を高速に行うことができる。
【００１４】
また、かかる画像データ変換装置にあっては、前記他の形式の画像データが前記ＲＧＢ画像データよりもビット数が多くても良い。このように他の形式の画像データがＲＧＢ画像データよりもビット数が多くても、入力データの変換を高速に行うことができる。
【００１５】
また、かかる画像データ変換装置にあっては、前記入力データは、前記ＲＧＢ画像データの各画素のデータであっても良い。このように入力データがＲＧＢ画像データの各画素のデータである場合に、ＲＧＢ画像データを他の形式の画像データに簡単に変換することができる。
【００１６】
また、かかる画像データ変換装置にあっては、前記入力データは、前記ＲＧＢ画像データのＲＧＢの各色のデータであっても良い。このように入力データがＲＧＢ画像データのＲＧＢの各色のデータである場合に、ＲＧＢ画像データを他の形式の画像データに簡単に変換することができる。
【００１７】
また、かかる画像データ変換装置にあっては、前記データ変換用テーブルが、ガンマ補正用テーブルであり、前記コントローラは、前記入力データをガンマ補正されたデータに変換しても良い。このようにデータ変換用テーブルがガンマ補正用テーブルであれば、コントローラは、入力データをガンマ補正されたデータに高速に変換することができる。
【００１８】
また、かかる画像データ変換装置にあっては、前記ＹＵＶ画像データは、ＪＰＥＧ形式の画像データに基づき生成されていても良い。このようにＹＵＶ画像データがＪＰＥＧ形式の画像データに基づき生成された場合に、入力データの変換を高速に行うことができる。
【００１９】
また、かかる画像データ変換装置にあっては、前記第２メモリは、前記コントローラが設けられたＡＳＩＣの内部に設けられ、前記第１メモリは、前記ＡＳＩＣの外部に設けられていても良い。このように第２メモリが、コントローラが設けられたＡＳＩＣの内部に設けられ、第１メモリがＡＳＩＣの外部に設けられることで、第１メモリよりも高速に第２メモリからデータの読み出しを行うことができる。
【００２０】
また、かかる画像データ変換装置にあっては、前記第１メモリは、ＳＤＲＡＭにより構成されていても良い。このように第１メモリがＳＤＲＡＭにより構成されることで、第１メモリを安価に構成することができる。
【００２１】
また、かかる画像データ変換装置にあっては、前記第２メモリは、ＳＲＡＭにより構成されていても良い。このように第２メモリがＳＲＡＭにより構成されることで、第２メモリから高速にデータの読み出しを行うことができる。
【００２２】
また、かかる画像データ変換装置にあっては、前記所定の入力データは、前記他の入力データに比べて変換頻度の高いデータであっても良い。このように所定の入力データが、前記他の入力データに比べて変換頻度の高いデータであることで、入力データの変換を効率よく行うことができる。
【００２３】
また、かかる画像データ変換装置にあっては、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して変換された変換後のデータを記憶する第３メモリを備え、前記コントローラは、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照する前に、前記第３メモリに格納された前記変換後のデータを参照して変換可能か否かをチェックし、変換可能な場合に前記変換後のデータを参照して前記入力データを変換しても良い。このような第３メモリを備え、データ変換用テーブルとして第１メモリに格納された一部のデータを参照する前に、第３メモリに格納された変換後のデータを参照して変換可能か否かをチェックし、変換可能な場合に変換後のデータを参照して入力データを変換することで、入力データの変換を効率よく行うことができる。
【００２４】
（Ａ）ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが格納される第１メモリと、
（Ｂ）前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータが格納され、かつ前記第１メモリよりもデータの読み出しが高速に行える第２メモリと、
（Ｃ）入力データが所定の入力データであるときに、前記データ変換用テーブルとして前記第２メモリに格納された前記残りのデータを参照して前記入力データを変換し、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して前記入力データを変換するコントローラと、
（Ｄ）を備え、
（Ｅ）前記他の形式の画像データが前記ＲＧＢ画像データよりもビット数が多く、
（Ｆ）前記入力データは、前記ＲＧＢ画像データの各画素のデータであり、
（Ｇ）前記入力データは、前記ＲＧＢ画像データのＲＧＢ各色のデータであり、
（Ｈ）前記データ変換用テーブルが、ガンマ補正用テーブルであり、前記コントローラは、前記入力データをガンマ補正済みのデータに変換し、
（Ｉ）前記ＹＵＶ画像データは、ＪＰＥＧ形式の画像データに基づき生成され、
（Ｊ）前記第２メモリは、前記コントローラが設けられたＡＳＩＣの内部に設けられ、前記第１メモリは、前記ＡＳＩＣの外部に設けられていて、
（Ｋ）前記第１メモリは、ＳＤＲＡＭにより構成され、前記第２メモリは、ＳＲＡＭにより構成され、
（Ｌ）前記所定の入力データとは、前記他の入力データに比べて変換頻度の高いデータであり、
（Ｍ）入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して変換された変換後のデータを記憶する第３メモリを備え、
前記コントローラは、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照する前に、前記第３メモリに格納された前記変換後のデータを参照して変換可能か否かをチェックし、変換可能な場合に前記変換後のデータを参照して前記入力データを変換することを特徴とする画像データ変換装置。
【００２５】
（Ａ）入力データが所定の入力データか否かを判定するステップと、
（Ｂ）入力データが前記所定の入力データを除く他の入力データであると判定されたときに、第１メモリに格納された、ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータを参照して前記入力データを変換するステップと、
（Ｃ）入力データが前記所定の入力データであると判定されたときに、前記第１メモリよりもデータの読み出しが高速に行える第２メモリに格納された、前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータを参照して前記入力データを変換するステップと、
（Ｄ）を有することを特徴とする画像データ変換方法。
【００２６】
（Ａ）ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのデータ変換用テーブルのうちの一部のデータが格納される第１メモリと、
（Ｂ）前記データ変換用テーブルのうちの前記一部のデータを除く残りのデータが格納され、かつ前記第１メモリよりもデータの読み出しが高速に行える第２メモリと、
（Ｃ）入力データが所定の入力データであるときに、前記データ変換用テーブルとして前記第２メモリに格納された前記残りのデータを参照して前記入力データを変換し、入力データが前記所定の入力データを除く他の入力データであるときに、前記データ変換用テーブルとして前記第１メモリに格納された前記一部のデータを参照して前記入力データを変換するコントローラと、
（Ｄ）前記コントローラにより変換された前記他の形式の画像データに基づき印刷処理を実行する印刷部と、
（Ｅ）を備えたことを特徴とする印刷装置。
【００２７】
＝＝＝複合装置の概要＝＝＝
本発明に係る印刷装置等について、印刷部を備えた複合装置を例にして説明する。この複合装置は、原稿から画像を読み取って画像データを生成するスキャナ部（画像読み取り部）と、媒体に対して印刷を施す印刷部とを備えている。
【００２８】
図１〜図６は、複合装置の一例について説明したものである。図１は、複合装置１の外観を示した斜視図である。図２は、複合装置１のスキャナ部１０の概要を説明する斜視図である。図３は、複合装置１のプリンタ部の概要を説明する斜視図である。図４は、複合装置１の内部構成を概略的に説明する説明図である。図５は、複合装置１の操作パネル２を説明する平面図である。図６は、複合装置１のシステム構成例を説明した図である。
【００２９】
この複合装置１は、原稿から画像を読み取って画像データを生成するスキャナ機能と、ホストコンピュータ（図示外）から送られてきた印刷データに基づき印刷用紙等の各種媒体に印刷を施すプリンタ機能と、原稿から読み取った画像を媒体に印刷して複写するローカルコピー機能とを備えている。この複合装置１は、図１に示すように、その上部６に原稿５から画像を読み取るためのスキャナ部１０を備えている。また、この複合装置１は、その下部９に印刷用紙等の媒体Ｓに印刷をするためのプリンタ部３０を備えている。また、この複合装置１の前面部には、操作パネル２と、カードリーダー部２０とが設けられている。
【００３０】
スキャナ部１０は、図２に示すように、原稿５がセットされるガラス板が設けられた原稿台１１と、当該原稿台１１を上方から覆う原稿台カバー１２とを備えている。原稿台カバー１２は、複合装置１の後端部に回動可能に取付けられ、原稿台１１の上面部を開閉するように設けられている。
【００３１】
一方、プリンタ部３０は、図３に示すように、スキャナ部１０を上方に持ち上げることによって、その内部が外部に開放されるように構成されている。つまり、スキャナ部１０は、複合装置１の後部にヒンジ部３４を介して回動自在に装着されている。スキャナ部１０が上方へと持ち上げられると、プリンタ部３０の内部が開放される。プリンタ部３０の内部には、キャリッジ４１などが配置されている。このキャリッジ４１には、インクを吐出するヘッド２１が設けられている。ヘッド２１は、キャリッジ４１とともに移動しながら用紙等の媒体に向けてインクを吐出して印刷を施す。
【００３２】
この他に、プリンタ部３０には、媒体を搬送する搬送部（不図示）が設けられている。この搬送部は、複合装置１の背部に設けられた背部給紙口２２又は複合装置１の前部に設けられた前部給紙口２３にセットされた媒体をプリンタ部３０の内部へと送り込み、そして、ヘッド２１により印刷された媒体を、複合装置１の前部に設けられた排紙トレイ２５を通じて排紙する。
【００３３】
また、複合装置１の下部９の前面の左右には、インクカートリッジカバー２７が設けられている。インクカートリッジ２６の取り付け時又は交換時、ユーザは、このインクカートリッジカバー２７を開き、インクカートリッジ２６を取り付け又は交換する。取り付け後又は交換後にユーザがインクカートリッジカバー２７を閉じることにより、インクカートリッジ２６のセットが完了する。このインクカートリッジ２６には、インクが収容されており、このインクは、キャリッジ４１に搭載されたヘッドに供給される。
【００３４】
カードリーダー部２０は、各種メモリカードを差し込むなどしてセットする部分である。そして、カードリーダー部２０は、セットされた各種メモリカードから、格納された画像データを読み込む。ここで読み込まれた画像データの画像は、プリンタ部３０により印刷することができる。カードリーダー部２０にセットすることができるメモリカードとしては、例えば、コンパクトフラッシュやスマートメディア、メモリスティック、ＳＤメモリカード、ｘＤピクチャーカードなどといった各種フラッシュメモリがある。この他、カードリーダー部２０は、デジタルカメラや携帯電話で使用される各種メモリカードに対応することができる。
【００３５】
＝＝＝スキャナ部１０・プリンタ部３０の内部機構＝＝＝
図４は、スキャナ部１０およびプリンタ部３０の内部機構を示したものである。
【００３６】
＜スキャナ部＞
スキャナ部１０は、同図の上部に示すように、原稿台１１の下側に、スキャナ用キャリッジ６０と、このスキャナ用キャリッジ６０を原稿台１１に対して所定の間隔を保ちつつ図中矢印Ａ方向に沿って平行に移動させる駆動機構６２と、このスキャナ用キャリッジ６０を支持しつつその移動を案内するガイド６４とを備えている。
【００３７】
スキャナ用キャリッジ６０には、原稿台１１を介して原稿５に対し光を照射する光源としての露光ランプ６６と、原稿５により反射された反射光が入射するレンズ７０と、このレンズ７０を通じてスキャナ用キャリッジ６０の内部に取り込まれた反射光を受光するイメージセンサ７２とが設けられている。
【００３８】
本実施形態では、このイメージセンサ７２は、光信号を電気信号に変換するフォトダイオード等の光電変換素子が列状に配置されたリニアＣＣＤセンサにより構成されている。また、このイメージセンサ７２は、密着型イメージセンサ(ＣＩＳイメージセンサ：Contact Image Sensor)となっていて、その幅寸法が読み取り可能な原稿の最大サイズに対応して設定されている。つまり、イメージセンサ７２は、原稿台１１にセットされた原稿５の画像を等倍にて読み取ることができるようになっている。イメージセンサ７２により読み取られた画像に関するデータは、制御部５０に出力される。
【００３９】
また、駆動機構６２は、スキャナ用キャリッジ６０に接続されたタイミングベルト７４と、このタイミングベルト７４が掛け渡された一対のプーリ７５、７６と、一方のプーリ７５を回転駆動する駆動モータ７７とを備えている。駆動モータ７７は、制御部５０からの制御信号によって駆動制御される。
【００４０】
＜プリンタ部＞
一方、プリンタ部３０は、図４の下部に示すように、プリンタ用キャリッジ４１と、このプリンタ用キャリッジ４１に搭載されたヘッド２１と、プリンタ用キャリッジ４１を媒体Ｓに対して所定の間隔を保持しつつ相対的に平行に移動させる駆動機構２４と、媒体Ｓをプリンタ用キャリッジ４１の移動方向と直交する方向に沿って搬送する搬送機構３６とを備えている。
【００４１】
プリンタ用キャリッジ４１には、カートリッジ装着部が設けられ、このカートリッジ装着部には、ブラック（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）等のインクが収容されたインクカートリッジが装着される。ヘッド２１は、インクカートリッジから供給された各色のインクを媒体Ｓに向けて吐出して当該媒体Ｓ上にドットを形成して、媒体Ｓに画像を印刷する。
【００４２】
駆動機構２４は、プリンタ用キャリッジ４１に接続されたタイミングベルト４５と、このタイミングベルト４５に噛合されたプーリ４４と、このプーリ４４を回転駆動するキャリッジモータ４２（以下、ＣＲモータともいう）と、プリンタ用キャリッジ４１の移動を案内するガイドレール４６と、プリンタ用キャリッジ４１の位置を検出するリニア式エンコーダとしてリニア式エンコーダ符号板５１およびこのリニア式エンコーダ符号板５１を読み取る検出部５２とを備えている。この駆動機構２４は、キャリッジモータ４２を駆動してプーリ４４を介してタイミングベルト４５を回転させる。これにより、プリンタ用キャリッジ４１は、媒体Ｓに対してガイドレール４６に沿って相対的に移動する。キャリッジモータ４２は、制御部５０からの制御信号により駆動制御される。
【００４３】
搬送機構３６は、プラテン１４と、搬送ローラ１７Ａと、当該搬送ローラ１７Ａを回転駆動する搬送モータ１５と、媒体Ｓが所定位置に到達したか否かを検出する紙検知センサ５３と、搬送ローラ１７Ａの回転量を検出するロータリ式エンコーダ５６とを備えている。プラテン１４は、ヘッド２１に対向して配置されている。搬送モータ１５が駆動すると、搬送ローラ１７Ａが回転して、媒体Ｓがプラテン１４上を搬送される。搬送モータ１５は、制御部５０からの制御信号により駆動制御される。
【００４４】
印刷時には、媒体Ｓが搬送ローラ１７Ａにより間欠的に所定の搬送量で搬送され、その間欠的な搬送の合間にプリンタ用キャリッジ４１が、搬送ローラ１７Ａによる搬送方向に対して交差する方向に沿って移動しながら、ヘッド２１から媒体Ｓに向けてインクが吐出されて印刷が施される。
【００４５】
＝＝＝操作パネル＝＝＝
図５は、操作パネル２について詳しく説明した図である。操作パネル２は、液晶ディスプレイ８０と、各種ボタンを有する。ここで設けられているボタンの種類としては、例えば、電源ボタン８２、設定ボタン８３、ストップボタン８４、モード選択ボタン８５、カーソル操作ボタン群８６、スタートボタン８７等がある。電源ボタン８２は、複合装置１の電源をオン／オフするためのボタンである。設定ボタン８３は、ヘッドクリーニング、ノズルチェック、インク残量等の設定や確認を行うためのボタンである。ストップボタン８４は、動作中の機能を中止するためのボタンである。モード選択ボタン８５は、複合装置１の機能の選択を行うためのボタンである。カーソル操作ボタン群８６は、液晶ディスプレイ８０に表示される項目の設定等を行うためのボタンである。スタートボタン８７は、カラーボタン８７Ｃ及びモノクロボタン８７Ｂを有し、カラー印刷又はモノクロ印刷の開始に用いられる。
【００４６】
＝＝＝制御部の構成＝＝＝
次にこの複合装置１の内部に搭載された制御部５０の構成について説明する。図６は、この制御部５０の構成の一例を説明するためのブロック構成図である。
【００４７】
この制御部５０は、複合装置１全体の制御を司るＣＰＵ９０と、制御のためのプログラムを記憶したメモリ９２と、スキャナ機能、プリント機能、ローカルコピー機能の各制御を司る制御ＡＳＩＣ９４と、ＣＰＵ９０から直接データを読み書き可能なＳＤＲＡＭ９６と、カードＡＳＩＣ９２とを備えている。これらＣＰＵ９０と、メモリ９２と、制御ＡＳＩＣ９４と、ＳＤＲＡＭ９６と、カードＡＳＩＣ９３とは、ＣＰＵバス９８により接続されている。ＳＤＲＡＭ９６には、イメージバッファ１３２（イメージバッファ１３３、１３４）が設けられている。
【００４８】
制御ＡＳＩＣ９４には、ＳＤＲＡＭ１０２と、このＳＤＲＡＭ１０２を制御するためのＳＤＲＡＭコントローラ１０３とが設けられている。また、カードＡＳＩＣ９３には、カードインターフェイス９５が接続されている。
【００４９】
制御ＡＳＩＣ９４は、スキャナコントロールユニット１０４と、リサイズユニット１０６と、２値化処理ユニット１０８と、インターレース処理ユニット１１０と、イメージバッファユニット１１２と、バスコントロールユニット１１４と、ヘッドコントロールユニット１１６と、外部のホストコンピュータ１４０との入出力手段としてのＵＳＢインターフェイス１１８とを備えている。さらに、本実施形態では、制御ＡＳＩＣ９４は、ＪＰＥＧデコーダユニット１４２と、ピクセル化ユニット１４４と、ＰＩＭユニット１４６とを備えている。これらスキャナコントロールユニット１０４と、リサイズユニット１０６と、２値化処理ユニット１０８と、インターレース処理ユニット１１０と、イメージバッファユニット１１２と、バスコントロールユニット１１４と、ヘッドコントロールユニット１１６と、ＪＰＥＧデコーダユニット１４２と、ピクセル化ユニット１４４と、ＰＩＭユニット１４６とはそれぞれローカルバス１２８に接続されている。
【００５０】
また、制御ＡＳＩＣ９４に接続されたＳＤＲＡＭ１０２には、ラインバッファ１２０と、リサイズバッファ１２２と、ルックアップテーブル（ＬＵＴ）１３６と、インターレースバッファ１２４と、イメージバッファ１２６、１２７とがそれぞれ設けられている。この他に、本実施形態では、ＳＤＲＡＭ１０２には、ＪＰＥＧデータが格納されるＪＰＥＧバッファ１４８と、ガンマ補正用テーブル１５０と、ＲＧＢデータバッファ１５２とが設けられている。なお、このガンマ補正用テーブル１５０は、「データ変換用テーブル」に相当する。
【００５１】
スキャナコントロールユニット１０４は、スキャナ部１０に設けられた露光ランプ６６やイメージセンサ７２、駆動モータ７７等を制御する。そして、スキャナコントロールユニット１０４は、スキャナ部１０から画像データを読み込んで、その画像データをＳＤＲＡＭ１０２上のラインバッファ１２０に格納してライン間補正を実行する。このようにして読み込んだ画像データに対して各種処理を施した後、スキャナコントロールユニット１０４は、読み込んだ画像データを送出する。
【００５２】
リサイズユニット１０６は、所定のサイズの画像データを受け取った後、その画像データを一旦ＳＤＲＡＭ１０２上のリサイズバッファ１２２に格納してから、リサイズバッファ１２２に格納した画像データに対してサイズを変更する処理、即ちリサイズ処理を実行する。その後、リサイズユニット１０６は、サイズ変更された画像データを送出する。
【００５３】
２値化処理ユニット１０８は、送出された多階調のＲＧＢデータをＣＭＹＫの２値データ（又は２ビットデータ）に変換する。この際に、２値化処理ユニット１０８は、ＳＤＲＡＭ１０２上のルックアップテーブル（ＬＵＴ）１３６を参照しながら、多階調のＲＧＢデータをＣＭＹＫの２値データ（又は２ビットデータ）に変換する。その変換後、２値化処理ユニット１０８は、その変換により生成されたＣＭＹＫの２値データ（又は２ビットデータ）をインターレース処理ユニット１１０に送出する。
【００５４】
インターレース処理ユニット１１０は、２値化処理ユニット１０８から送られてきたＣＭＹＫの２値データ（又は２ビットデータ）を、ＳＤＲＡＭ１０２のインターレースバッファ１２４に格納する。そして、インターレース処理ユニット１１０は、インターレースバッファ１２４に格納されたＣＭＹＫの２値データ（又は２ビットデータ）を所定のサイズ毎に読み出して、ノズル配列に対応させるべく並び替えてイメージバッファユニット１１２に送出する。
【００５５】
イメージバッファユニット１１２では、インターレース処理ユニット１１０から送出されたデータから、プリンタ用のキャリッジ４１の移動毎の各ノズルにインクを吐出させるためのヘッド駆動データを生成する。ここで、イメージバッファユニット１１２は、ＳＤＲＡＭ１０２上に設けられたイメージバッファ１２６、１２７にヘッド駆動データを格納する。イメージバッファ１２６、１２７には、それぞれプリンタ用のキャリッジ４１が１回移動する毎のヘッド駆動データが格納される。
【００５６】
イメージバッファ１２６、１２７に格納されたヘッド駆動データは、バスコントロールユニット１１４を介して、ＣＰＵにより読み出される。そして、ＣＰＵ９０は、イメージバッファ１２６、１２７から読み出したヘッド駆動データをヘッドコントロールユニット１１６に送出する。ヘッドコントロールユニット１１６は、ＣＰＵ９０により送られてきたヘッド駆動データに基づきヘッド２１を駆動して、ヘッド２１の各ノズルからインクを吐出させる。
【００５７】
一方、ＳＤＲＡＭコントローラ１０３は、ＳＤＲＡＭ１０２を制御するとともに、各ユニット１０４、１０６、１０８、１１０、１１２、１１４，１１６、１１９からＳＤＲＡＭ１０２に対するアクセスを管理する。すなわち、ＳＤＲＡＭコントローラ１０３は、各ユニット１０４、１０６、１０８、１１０、１１２、１１４，１１６、１１９と、ＳＤＲＡＭ１０２との間で、アクセスをスムーズに行わせる役割を果たしている。ＣＰＵ９０（バスコントロールユニット１１４）や各ユニット１０４、１０６、１０８、１１０、１１２、１１６、１１９がＳＤＲＡＭ１０２にアクセスをする場合には、必ずＳＤＲＡＭコントローラ１０３にリクエストを発する。
【００５８】
バスコントロールユニット１１４は、制御ＡＳＩＣ９４に接続されたＳＤＲＡＭ１０２へのＣＰＵ９０からのアクセスを可能にしている。すなわち、バスコントロールユニット１１４は、ＣＰＵ９０がＳＤＲＡＭ１０２にデータを書き込むデータ書き込み処理や、またＳＤＲＡＭ１０２からデータを読み込むデータ読み込み処理を可能にしている。ＣＰＵ９０とＳＤＲＡＭ１０２との間のやり取りは、全てバスコントロールユニット１１４を介して行われている。
【００５９】
ＣＰＵ９０は、ＣＰＵバス９８を経由してバスコントロールユニット１１４を介してＳＤＲＡＭ１０２にアクセスする。具体的には、ＣＰＵ９０は、ＳＤＲＡＭ１０２に対してデータを書き込むデータ書き込み処理を行ったり、またＳＤＲＡＭ１０２からデータを読み込むデータ読み込み処理を行ったりする。
【００６０】
カードＡＳＩＣ９３は、カードリーダー部２０にセットされた各種メモリカードから、当該メモリカードに格納された画像データを読み込む処理を行う。カードＡＳＩＣ９３は、カードインターフェイス９５を介してカードリーダー部２０にセットされた各種メモリカードから画像データを読み込む。なお、カードＡＳＩＣ９２は、カードリーダー部２０にセットされたメモリカードに、カードインターフェイス９５を介してデータを書き込むことも可能である。
【００６１】
また、ＪＰＥＧデコーダユニット１４２は、カードリーダー部２０にセットされた各種メモリカードから読み出されたＪＰＥＧ形式の画像データをデコードする機能を有する。ＪＰＥＧデコーダユニット１４２は、ＳＤＲＡＭ１４８のＪＰＥＧバッファ１４８に一時的に格納されたＪＰＥＧ形式の画像データを読み出してデコードする。ＪＰＥＧデコーダユニット１４２は、このデコードによってＪＰＥＧ形式の画像データからＹＵＶ色空間により表現される画像データ（以下、ＹＵＶ画像データともいう）を取得する。このＹＵＶ色空間とは、Ｙ（輝度）と、Ｕ（色差：Ｃｂ）と、Ｖ（色差：Ｃｒ）とにより表現される色空間である。ＪＰＥＧデコーダユニット１４２は、ＪＰＥＧ形式の画像データをデコードして得られたＹＵＶ画像データ（ＹＵＶデータ）をピクセル化ユニット１４４に送出する。
【００６２】
一方、ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２によりデコードされて出力されたＹＵＶ画像データから１画素ずつ切り出して１画素分のＹＵＶデータとして出力する。ここで、ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２によりデコードされて出力されたＹＵＶ画像データに対して間引き処理を実行しても良い。この間引き処理とは、ＪＰＥＧデコーダユニット１４２から送られてきたＹＵＶ画像データをこれよりもサイズの小さなＹＵＶ画像データに変換する処理のことである。ここで、ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２から送られてきたＹＵＶ画像データを１画素ずつ切り出しながら、一部の画素のデータを削減したり、また複数の画素のデータを１画素分のデータに置き換えるなどして、サイズの小さなＹＵＶ画像データに変換する。ピクセル化ユニット１４４により１画素ずつ切り出されて出力されたＹＵＶデータは、ピクセル化ユニット１４４からＰＩＭユニット１４６へと出力される。
【００６３】
ＰＩＭユニット１４６は、このようにしてピクセル化ユニット１４４によりピクセル化されたＹＵＶデータをＲＧＢ色空間により表現されたＲＧＢデータに変換する。なお、ＲＧＢ色空間とは、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の３色により表現される色空間のことである。さらに、ＰＩＭユニット１４６は、ＹＵＶデータから変換して得られたＲＧＢデータに対してガンマ補正処理を施す。ここで、ＰＩＭユニット１４６は、ＳＤＲＡＭ１５０に格納されたガンマ補正用テーブル１５０を参照しながらガンマ補正処理を実施する。この他に、ＰＩＭユニット１４６は、ガンマ補正処理以外の他の画像処理を施しても良い。このような各種画像処理を施すことによって、ＰＩＭユニット１４６は、ＹＵＶデータを変換して得られたＲＧＢデータを印刷処理に適した画像データに変換する。ＰＩＭユニット１４６は、ＹＵＶ画像データを変換して得られたＲＧＢ画像データをＳＤＲＡＭ１０２のＲＧＢデータバッファ１５２に一旦格納した後、印刷処理を行うユニット、例えば、２値化処理ユニット１０８等へと送出する。
【００６４】
＝＝＝制御部５０内のデータの流れ＝＝＝
＜スキャナ機能時について＞
スキャナ機能時には、ＵＳＢインターフェイス１１８に接続されたホストコンピュータ１４０から、スキャナ部１０による画像読み取り指令信号と、読み取り解像度、読み取り領域等の読み取り情報データとが制御部５０に送信される。制御部５０では、画像読み取り指令信号と読み取り情報データとに基づいて、スキャナコントロールユニット１０４が制御され、スキャナ部１０による原稿５の読み取りが開始される。このとき、スキャナコントロールユニット１０４は、スキャナ部１０の露光ランプ６６やイメージセンサ７２、駆動機構６２等を駆動して順次画像データとして読み込む。そして、スキャナコントロールユニット１０４は、読み込んだ画像データをＳＤＲＡＭ１０２のラインバッファ１２０に一旦格納する。そして、スキャナコントロールユニット１０４は、ラインバッファ１２０から画像データを順次読み出して、読み出した画像データに対してライン間補正処理等を施したり、またシェーディング補正を実行したりする。このようにして読み込んだ画像データに対して各種処理を施した後、スキャナコントロールユニット１０４は、読み込んだ画像データをＵＳＢインターフェイス１１８に出力する。そして、画像データは、その後、ＵＳＢインターフェイス１１８からホストコンピュータ１４０へと送信される。
【００６５】
＜プリンタ機能時について＞
プリンタ機能時には、ホストコンピュータ１４０のプリンタドライバが画像データをヘッド駆動データに変換する。ホストコンピュータ１４０により変換されて生成されたヘッド駆動データは、ホストコンピュータ１４０からＵＳＢインターフェイス１１８へと送られる。ＵＳＢインターフェイス１１８は、ホストコンピュータ１４０から送られてきたヘッド駆動データを受信する。そして、ＵＳＢインターフェイス１１８は、受信したヘッド駆動データをＣＰＵ９０へと送信する。
【００６６】
ＣＰＵ９０は、ＵＳＢインターフェイス１１８が受信したヘッド駆動データをＳＤＲＡＭ９６のイメージバッファ１３２に格納する。イメージバッファ１３２は、２つに分けられたメモリ領域（イメージバッファ１３３、１３４）を備えている。各イメージバッファ１３３、１３４は、プリンタ用のキャリッジ４１の１回の移動により印刷するためのヘッド駆動データを記憶することができる容量を有する。そして、一方のイメージバッファ１３３に１回の移動分のデータが書き込まれると、ヘッドコントロールユニット１１６に転送される。このとき、一方のイメージバッファ１３３のヘッド駆動データがヘッドコントロールユニット１１６に転送されると、他方のイメージバッファ１３４には、次の移動の際に印刷するためのヘッド駆動データが記憶される。そして、他方のイメージバッファ１３４に１回の移動分のデータが書き込まれると、ヘッドコントロールユニット１１６に転送され、一方のイメージバッファ１３３にイメージデータが書き込まれる。このように、２つのイメージバッファ１３３，１３４を用いて、ヘッド駆動データの書き込み、読み出しを交互に行いながらヘッドコントロールユニット１１６によりヘッド２１が駆動されて印刷が実行される。
【００６７】
＜ローカルコピー機能時について＞
ローカルコピー機能時には、操作パネル２上のカラーボタン８７Ｃまたはモノクロボタン８７Ｂが操作されるなどしてローカルコピーが実行されると、スキャナコントロールユニット１０４が制御され、スキャナ部１０による原稿５の読み取りが開始される。このとき、スキャナコントロールユニット１０４は、スキャナ部１０の露光ランプ６６やイメージセンサ７２、駆動機構６２等を駆動して順次画像データとして読み込む。そして、スキャナコントロールユニット１０４は、読み込んだ画像データをＳＤＲＡＭ１０２のラインバッファ１２０に一旦格納する。そして、スキャナコントロールユニット１０４は、ラインバッファ１２０から画像データを順次読み出して、読み出した画像データに対してライン間補正処理やシェーディング補正等を施す。このようにして読み込んだ画像データに対して各種処理を施した後、スキャナコントロールユニット１０４は、読み込んだ画像データをＲＧＢデータとして２値化処理ユニット１０８へと送出する。
【００６８】
２値化処理ユニット１０８は、スキャナコントロールユニット１０４から送られてきたＲＧＢデータを、ＳＤＲＡＭ１０２上のルックアップテーブル（ＬＵＴ）１３６を参照しながら、ＣＭＹＫの色毎の２値データ（又は２ビットデータ）に変換する。そして、２値化処理ユニット１０８は、この変換により生成したＣＭＹＫの２値データをインターレース処理ユニット１１０に送出する。
【００６９】
インターレース処理ユニット１１０は、２値化処理ユニット１０８から送られてきたＣＭＹＫの２値データ（又は２ビットデータ）を、ＳＤＲＡＭ１０２のインターレースバッファ１２４に格納する。そして、インターレース処理ユニット１１０は、インターレースバッファ１２４に格納されたＣＭＹＫの２値データ（又は２ビットデータ）をインターレースバッファ１２４から所定のサイズ毎に順次読み出して、ノズル配列に対応させるべく並び替えてイメージバッファユニット１１２に送出する。
【００７０】
イメージバッファユニット１１２は、インターレース処理ユニット１１０から送られてきたデータから、プリンタ用のキャリッジ４１の移動毎の各ノズルにインクを吐出させるためのヘッド駆動データを生成する。ここで、イメージバッファユニット１１２は、ＳＤＲＡＭ１０２上に設けられたイメージバッファ１２６、１２７にヘッド駆動データを格納する。イメージバッファ１２６、１２７には、それぞれプリンタ用のキャリッジ４１が１回移動する毎のヘッド駆動データが格納される。
【００７１】
イメージバッファ１２６、１２７に格納されたヘッド駆動データは、バスコントロールユニット１１４を介してＣＰＵ９０により順次読み出される。ここで、ＣＰＵ９０は、イメージバッファ１２６、１２７からヘッド駆動データを交互に読み込む。ＣＰＵ９０により読み込まれたヘッド駆動データは、ヘッドコントロールユニット１１６に転送される。そして、ヘッドコントロールユニット１１６は、送られてきたヘッド駆動データに基づき、ヘッド２１を駆動して、ヘッド２１の各ノズルからインクを吐出させる。
【００７２】
＜メモリカード印刷時＞
操作パネル２上のモード選択ボタン８５が操作されてモードが選択され、スタートボタン８７が操作されると、カードリーダー部２０にセットされたメモリカードに格納された画像データについて印刷処理が行われる。ここでは、まず、カードＡＳＩＣによりカードリーダー部２０にセットされたメモリカードから当該メモリカードに格納された画像データがカードインターフェイス９５を介してカードＡＳＩＣ９２へと読み込まれる。ここで、メモリカードに格納された画像データとしては、ＪＰＥＧ形式やビットマップ形式等の各種形式により記録された画像データが含まれる。
【００７３】
カードＡＳＩＣ９２に読み込まれた画像データは、カードＡＳＩＣ９２からＣＰＵ９０へと送られる。ＣＰＵ９０は、カードＡＳＩＣ９２から送られてきた画像データがＪＰＥＧ形式の画像データであった場合には、その画像データをバスコントロールユニット１１４を介して制御ＡＳＩＣ９４側のＳＤＲＡＭ１０２のＪＰＥＧバッファ１４８に格納する。一方、カードＡＳＩＣ９２から送られてきた画像データがＪＰＥＧ形式以外の他の形式の画像データであった場合には、ＣＰＵ９０は、カードＡＳＩＣ９２から送られてきた画像データに対して各種処理を施す。
【００７４】
ＪＰＥＧデコーダユニット１４２は、ＳＤＲＡＭ１０２のＪＰＥＧバッファ１４８からこれに格納された画像データを読み込む。そして、ＪＰＥＧデコーダユニット１４２は、読み込んだＪＰＥＧ形式の画像データをデコードする。これにより、ＪＰＥＧデコーダユニット１４２は、ＹＵＶ画像データを取得する。そして、ＪＰＥＧデコーダユニット１４２は、取得したＹＵＶ画像データをピクセル化ユニット１４４へと出力する。
【００７５】
ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２によりデコードされて生成されたＹＵＶ画像データから１画素ずつ切り出して１画素分のＹＵＶデータとして出力する。ここで、ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２によりデコードされて出力されたＹＵＶ画像データに対して間引き処理を実行しても良い。この間引き処理では、ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２から送られてきたＹＵＶ画像データを１画素ずつ切り出しながら、一部の画素のデータを削減したり、また複数の画素のデータを１画素分のデータに置き換えるなどして、サイズの小さなＹＵＶ画像データに変換する。ピクセル化ユニット１４４は、１画素ずつ切り出して生成したＹＵＶデータをＰＩＭユニット１４６に出力される。また、ピクセル化ユニット１４４は、１画素ずつ切り出して生成したＹＵＶデータをＳＤＲＡＭコントローラ１０３を介してＳＤＲＡＭ１０２に格納する。
【００７６】
ＰＩＭユニット１４６は、ピクセル化ユニット１４４またはＳＤＲＡＭ１０２からＹＵＶデータを取得し、そのＹＵＶデータをＲＧＢ色空間により表現されたＲＧＢデータに変換する。その後、ＰＩＭユニット１４６は、変換したＲＧＢデータにガンマ補正処理等の各種画像処理を施す。ここで、ガンマ補正処理を施す場合には、ＰＩＭユニット１４６は、ＳＤＲＡＭ１０２に格納されたガンマ補正用テーブル１５０を参照しながら、変換したＲＧＢデータにガンマ補正処理を施す。そして、ＰＩＭユニット１４６は、ガンマ処理等を施したＲＧＢデータをＳＤＲＡＭ１０２のＲＧＢデータバッファ１５２に一旦格納する。そして、ＰＩＭユニット１４６は、ＲＧＢデータバッファ１５２から順次ＲＧＢデータを読み出して、印刷処理を行うユニット、即ちここでは、２値化処理ユニット１０８に送出する。
【００７７】
２値化処理ユニット１０８は、ＰＩＭユニット１４６から送られてきたＲＧＢデータを、ＳＤＲＡＭ１０２上のルックアップテーブル（ＬＵＴ）１３６を参照しながら、ＣＭＹＫの色毎の２値データ（又は２ビットデータ）に変換する。そして、２値化処理ユニット１０８は、この変換により生成したＣＭＹＫの２値データをインターレース処理ユニット１１０に送出する。
【００７８】
インターレース処理ユニット１１０は、２値化処理ユニット１０８から送られてきたＣＭＹＫの２値データ（又は２ビットデータ）を、ＳＤＲＡＭ１０２のインターレースバッファ１２４に格納する。そして、インターレース処理ユニット１１０は、インターレースバッファ１２４に格納されたＣＭＹＫの２値データ（又は２ビットデータ）をインターレースバッファ１２４から所定のサイズ毎に順次読み出して、ノズル配列に対応させるべく並び替えてイメージバッファユニット１１２に送出する。
【００７９】
イメージバッファユニット１１２は、インターレース処理ユニット１１０から送られてきたデータから、プリンタ用のキャリッジ４１の移動毎の各ノズルにインクを吐出させるためのヘッド駆動データを生成する。ここで、イメージバッファユニット１１２は、ＳＤＲＡＭ１０２上に設けられたイメージバッファ１２６、１２７にヘッド駆動データを格納する。イメージバッファ１２６、１２７には、それぞれプリンタ用のキャリッジ４１が１回移動する毎のヘッド駆動データが格納される。
【００８０】
イメージバッファ１２６、１２７に格納されたヘッド駆動データは、バスコントロールユニット１１４を介してＣＰＵ９０により順次読み出される。ここで、ＣＰＵ９０は、イメージバッファ１２６、１２７からヘッド駆動データを交互に読み込む。ＣＰＵ９０により読み込まれたヘッド駆動データは、ヘッドコントロールユニット１１６に転送される。そして、ヘッドコントロールユニット１１６は、送られてきたヘッド駆動データに基づき、ヘッド２１を駆動して、ヘッド２１の各ノズルからインクを吐出させる。
【００８１】
＝＝＝ＪＰＥＧデータの処理＝＝＝
＜ＪＰＥＧデコーダユニット＞
ここで、ＪＰＥＧデコーダユニット１４２が実行するＪＰＥＧ形式の画像データをデコードする処理について詳しく説明する。図７は、この処理について詳しく説明したものである。ＪＰＥＧデコーダユニット１４２は、同図に示すように、カードリーダー部２０にセットされた各種メモリカードから読み出すなどして取得したＪＰＥＧ形式の画像データを１ＭＣＵ単位にてデコード処理をする。
【００８２】
このＭＣＵとは、ＪＰＥＧ規格において画像を扱う基本単位のことであり、横８画素×縦８画素が１つの単位となっている。ＪＰＥＧデコーダユニット１４２は、ＪＰＥＧ規格に基づいて圧縮された画像データをＭＣＵ単位にてデコード処理する。すなわち、ＪＰＥＧデコーダユニット１４２は、ＪＰＥＧ形式の画像データをデコード処理することによって、１ＭＣＵ単位、即ち横８画素×縦８画素分のＹＵＶ画像データを取得するのである。そして、ＪＰＥＧデコーダユニット１４２は、ＪＰＥＧ形式の画像データから１ＭＣＵ分ずつＹＵＶ画像データを取得する。
【００８３】
ＪＰＥＧデコーダユニット１４２の処理順序は次の通りである。すなわち、ＪＰＥＧデコーダユニット１４２は、同図に示すように、横方向に沿って順次ＭＣＵ単位にてデコード処理を行う。そして、横方向の全てのＭＣＵについてデコード処理が終わった後、次にＪＰＥＧデコーダユニット１４２は、その下の行のＭＣＵについて順次デコード処理を行う。ＪＰＥＧデコーダユニット１４２は、このデコード処理によって得られた横８画素×縦８画素分のＹＵＶ画像データを１ＭＣＵ単位にてピクセル化ユニット１４４に送出する。
【００８４】
＜ピクセル化ユニット＞
ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２によりデコードされて出力された１ＭＣＵ単位のＹＵＶ画像データから１画素ずつ切り出して１画素分のＹＵＶデータとして出力する。具体的には、図７に示すように、同図中の各画素内に記載した数字の順番に従って１画素ずつ切り出しながら、１画素ずつＹＵＶデータを出力する。ここで、ピクセル化ユニット１４４は、ＪＰＥＧ形式の画像データの記録形式、即ち、『４：４：４』形式や『４：２：２』形式、『Ｖ４：２：２』形式、『４：２：０』形式などに応じて異なる処理を実行する。そして、ピクセル化ユニット１４４は、これら各記録形式に応じた方法により、ＪＰＥＧデコーダユニット１４２から出力された１ＭＣＵ単位のＹＵＶ画像データを１画素ずつ切り出して１画素分のＹＵＶデータとして出力する。
【００８５】
図８Ａ〜図８Ｄは、ＪＰＥＧ形式の画像データの各記録形式についてそれぞれ説明したものである。図８Ａは、『４：４：４』形式について説明したものである。図８Ｂは、『４：２：２』形式について説明したものである。図８Ｃは、『Ｖ４：２：２』形式について説明したものである。図８Ｄは、『４：２：０』形式について説明したものである。
【００８６】
『４：４：４』形式の場合には、ＪＰＥＧ形式の画像データは、図８Ａに示すように、Ｙ（輝度）、Ｕ（色差：Ｃｂ）、およびＶ（色差：Ｃｒ）の各データがそれぞれ１ＭＣＵ分ずつ割り当てられる。そして、Ｙ（輝度）、Ｕ（色差：Ｃｂ）、およびＶ（色差：Ｃｒ）の各データがそれぞれ１画素ずつ割り当てられる。つまり、Ｙ（輝度）の１画素分のデータに対して、Ｕ（色差：Ｃｂ）およびＶ（色差：Ｃｒ）の各データがそれぞれ１画素分ずつ割り当てられる。ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２から出力された１ＭＣＵ単位のＹＵＶ画像データを１画素ずつ切り出して１画素分のＹＵＶデータとして出力するときに、Ｙ（輝度）、Ｕ（色差：Ｃｂ）、およびＶ（色差：Ｃｒ）の各データからそれぞれ順次１画素ずつ切り出すことになる。
【００８７】
また、『４：２：２』形式の場合には、ＪＰＥＧ形式の画像データは、図８Ｂに示すように、Ｙ（輝度）のデータが横方向に２ＭＣＵ分（『Ｙ１』、『Ｙ２］』）割り当てられるのに対して、Ｕ（色差：Ｃｂ）およびＶ（色差：Ｃｒ）のデータがそれぞれ１ＭＣＵ分ずつ割り当てられる。ここでは、Ｙ（輝度）の横方向の相隣接する２画素分のデータに対して、Ｕ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータがそれぞれ１画素分ずつ割り当てられる。すなわち、Ｙ（輝度）の横方向の相隣接する２画素分のデータが、同一の１画素分のＵ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータを共有する形になっている。ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２から出力された１ＭＣＵ単位のＹＵＶ画像データを１画素ずつ切り出して１画素分のＹＵＶデータとして出力するときに、Ｙ（輝度）の横方向の相隣接する２画素分のデータに対応して、Ｕ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータから同じ画素のデータをそれぞれ２回ずつ切り出すことになる。ピクセル化ユニット１４４は、このようにして切り出した各画素のデータをＹＵＶデータとして順次出力する。
【００８８】
また、『Ｖ４：２：２』形式の場合には、図８Ｃに示すように、Ｙ（輝度）のデータが縦方向に２ＭＣＵ分割り当てられ、また、Ｕ（色差：Ｃｂ）およびＶ（色差：Ｃｒ）のデータがそれぞれ１ＭＣＵ分ずつ割り当てられて設定される。ここでは、Ｙ（輝度）の縦方向に相隣接する２画素分のデータに対して、Ｕ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータがそれぞれ１画素分それぞれ割り当てられる。すなわち、Ｙ（輝度）の縦方向の相隣接する２画素分のデータが、同一の１画素分のＵ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータを共有する形になっている。ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２から出力された１ＭＣＵ単位のＹＵＶ画像データを１画素ずつ切り出して１画素分のＹＵＶデータとして出力するときに、Ｙ（輝度）の横方向の相隣接する２画素分のデータに対応して、Ｕ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータから同じ画素のデータをそれぞれ２回ずつ切り出すことになる。ピクセル化ユニット１４４は、このようにして切り出した各画素のデータをＹＵＶデータとして順次出力する。
【００８９】
また、『４：２：０』形式の場合には、図８Ｄに示すように、Ｙ（輝度）のデータが横方向および縦方向にそれぞれ２ＭＣＵ分ずつ、計４ＭＣＵ割り当てられ、また、Ｕ（色差：Ｃｂ）およびＶ（色差：Ｃｒ）のデータがそれぞれ１ＭＣＵ分ずつ割り当てられて設定される。ここでは、Ｙ（輝度）の横方向及び縦方向に相隣接する横２画素×縦２画素、計４画素分のデータに対して、Ｕ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータがそれぞれ１画素分ずつ割り当てられる。すなわち、Ｙ（輝度）の横方向および縦方向に相隣接する横２画素×縦２画素、計４画素分のデータが、同一の１画素分のＵ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータを共有する形になっている。ピクセル化ユニット１４４は、ＪＰＥＧデコーダユニット１４２から出力された１ＭＣＵ単位のＹＵＶ画像データを１画素ずつ切り出して１画素分のＹＵＶデータとして出力するときに、Ｙ（輝度）の横方向及び縦方向に相隣接する横２画素×縦２画素、計４画素分のデータに対応して、Ｕ（色差：Ｃｂ）のデータおよびＶ（色差：Ｃｒ）のデータから同じ画素のデータをそれぞれ４回ずつ切り出すことになる。ピクセル化ユニット１４４は、このようにして切り出した各画素のデータをＹＵＶデータとして順次出力する。
【００９０】
ピクセル化ユニット１４４は、このようにしてＪＰＥＧ形式の画像データの記録形式に応じて、異なる方法により１画素ずつ切り出して生成したＹＵＶデータをＰＩＭユニット１４６に順次出力する。ここでは、１画素分のＹＵＶデータが、例えば、Ｙ（輝度）、Ｕ（色差：Ｃｂ）およびＶ（色差：Ｃｒ）、各８ビットのデータにより構成されて出力される。
【００９１】
＜ＰＩＭユニット＞
ＰＩＭユニット１４６は、ピクセル化ユニット１４４から出力されたＹＵＶデータをＲＧＢデータに変換するとともに、変換して得られたＲＧＢデータに対してガンマ補正処理等の各種画像処理を施す。
【００９２】
図９は、ＰＩＭユニット１４６の構成の一例について説明したものである。ＰＩＭユニット１４６は、入力データコントローラ１６２と、第１演算回路１６４と、ガンマ補正回路１６６と、第２演算回路１６８と、逆ガンマ補正回路１７０と、出力データコントローラ１７２とを備えている。
【００９３】
入力データコントローラ１６２は、ピクセル化ユニット１４４により生成されたＹＵＶデータをピクセル化ユニット１４４から直接取得したり、また、ピクセル化ユニット１４４により生成されてＳＤＲＡＭ１０２に格納されたＹＵＶデータをＳＤＲＡＭ１０２からＳＤＲＡＭコントローラ１０３を介して取得したりする。そして、入力データコントローラ１６２は、このようにして取得したＹＵＶデータを第１演算回路１６４に出力する。
【００９４】
第１演算回路１６４は、入力データコントローラ１６２から出力されたＹＵＶデータをＲＧＢデータに変換する。具体的には、第１演算回路１６４は、次のようにして変換を行う。すなわち、第１演算回路１６４は、入力データコントローラ１６２から出力されたＹＵＶデータのうちの各データ、即ち、Ｙ（輝度）のデータ、Ｕ（色差（Ｃｂ））のデータ、およびＶ（色差（Ｃｒ））のデータに基づき、ＲＧＢの各色のデータ、即ち、レッド（Ｒ）のデータ、グリーン（Ｇ）のデータ、およびブルー（Ｂ）のデータをそれぞれ演算により求める。
【００９５】
この演算にあっては、例えば、次の（ｉ）〜（iii）のような演算式が用いられる。  
（ｉ）Ｒ＝Ｙ＋１．４０２００×（Ｖ−１２８）
（ii）Ｇ＝Ｙ−０．３４４１４×（Ｕ−１２８）−０．７１４１４×（Ｖ−１２８）
（iii）Ｂ＝Ｙ＋１．７７２００×（Ｕ−１２８）
なお、ここで、『Ｒ』はＲ（レッド）のデータである。『Ｇ』はＧ（グリーン）のデータである。『Ｂ』はＢ（ブルー）のデータである。また、『Ｙ』は、Ｙ（輝度）のデータである。『Ｕ』は、Ｕ（色差（Ｃｂ））のデータである。『Ｖ』は、Ｖ（色差（Ｃｒ））のデータである。
【００９６】
第１演算回路１６４は、このような（ｉ）〜（iii）の演算を例えばマトリックス演算等により実行する。これによって、第１演算回路１６４は、例えば、Ｙ（輝度）、Ｕ（色差：Ｃｂ）およびＶ（色差：Ｃｒ）、各８ビットのデータを、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の各色それぞれ１２ビットのデータに変換する。
【００９７】
第１演算回路１６４は、このような変換により得られたＲ（レッド）のデータ、Ｇ（グリーン）のデータおよびＢ（ブルー）のデータをそれぞれ順次、ガンマ補正回路１６６に出力する。
【００９８】
ガンマ補正回路１６６は、第１演算回路１６４から送られてきたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに対してガンマ補正処理を実行する。ここで実行されるガンマ補正処理とは、第１演算回路１６４から出力されたＲＧＢデータを所望のＲＧＢデータに変換するための処理である。具体的には、このガンマ補正処理によって画像全体の明るさや色合い、色調等が調節される。これにより、ガンマ補正回路１６６は、ＲＧＢ画像データをユーザー等から指定された明るさや色合い、色調等の画像データに変換する。
【００９９】
ガンマ補正回路１６６は、ガンマ補正処理を実行するために、ガンマ補正用テーブルを用いて、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータをガンマ補正処理後のデータに変換する。具体的には、ガンマ補正回路１６６は、第１演算回路１６４から送られてきたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに対応するガンマ補正処理後のデータをガンマ補正用テーブルから読み出す。これによって、ガンマ補正回路１６６は、第１演算回路１６４から送られてきたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを、ガンマ補正処理が施されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに簡単に変換することができる。
【０１００】
ここでは、より豊かな色表現を実現するために、ガンマ補正回路１６６は、第１演算回路１６４から送られてきたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）各色１２ビットのデータが、例えば、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色１６ビットまたは各色２０ビットのガンマ補正済みのデータに置き換える。
【０１０１】
ガンマ補正回路１６６は、このようにしてガンマ補正処理を施して得られたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータをそれぞれ順次、第２演算回路１６８に向けて出力する。
【０１０２】
第２演算回路１６８は、ガンマ補正回路１６６から出力された、ガンマ補正処理が施されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに対して所定の演算処理を実行して、印刷装置に適したＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに変換する。ここで、第２演算回路１６８は、ガンマ補正回路１６６から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに対してマトリックス演算等が演算処理として実行される。第２演算回路１６８は、このようにして演算処理を行ったＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを逆ガンマ補正回路１７０に送出する。
【０１０３】
逆ガンマ補正回路１７０は、第２演算回路１６８から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに対して、逆ガンマ補正処理を施す。ここで、逆ガンマ補正処理は、逆ガンマ関数に基づいて実行されるもので、第２演算回路１６８の場合と同様に、印刷装置に適したＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに変換するために実行される。
【０１０４】
逆ガンマ補正回路１７０は、逆ガンマ補正処理を実行するために、逆ガンマ補正用テーブルを用いて、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを逆ガンマ補正処理後のデータに変換する。具体的には、逆ガンマ補正回路１７０は、第２演算回路１６８から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに対応する逆ガンマ補正処理後のデータを逆ガンマ補正用テーブルから読み出す。これによって、逆ガンマ補正回路１７０は、第２演算回路１６８から送られてきたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを、逆ガンマ補正処理が施されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに簡単に変換することができる。
【０１０５】
ここでは、逆ガンマ補正用テーブルは、ＳＤＲＡＭ１０２に格納されている。逆ガンマ補正回路１７０は、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータに対して逆ガンマ補正処理を施す際に、ＳＤＲＡＭ１０２に格納された逆ガンマ補正用テーブルを参照する。
【０１０６】
このような逆ガンマ補正処理によって、逆ガンマ補正回路１７０は、第２演算回路１６８から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色、１６ビットのデータを、例えば、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色、８ビットのデータに置き換える。そして、変換後、逆ガンマ補正回路１７０は、逆ガンマ補正処理を施したＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを出力データコントローラ１７２に出力する。
【０１０７】
出力データコントローラ１７２は、逆ガンマ補正回路１７０から送られてきたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを次の処理ユニット、即ち、ここでは、例えば、２値化処理ユニット１０８等へと送出する。また、出力データコントローラ１７２は、逆ガンマ補正回路１７０から送られてきたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータをＳＤＲＡＭコントローラ１０３を介してＳＤＲＡＭ１０２のＲＧＢデータバッファ１５２に一旦格納する。
【０１０８】
＝＝＝問題点及び解決方法＝＝＝
＜問題点＞
ところで、このような構成のＰＩＭユニット１４６には、次のような問題が発生した。すなわち、ガンマ補正回路１６６が、ガンマ補正処理に用いるガンマ補正用テーブルをＰＩＭユニット１４６の内部に設けられた、例えばＳＲＡＭなどのメモリに格納しようとした場合、相当なメモリ領域を確保しなければならなかった。つまり、第１演算回路１６４から出力されるＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータは、例えば１２ビットのデータである。また、ガンマ補正処理が施されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータは、例えば１６ビットや２０ビットのデータである。このように入力データが１２ビットであり、出力データが１６ビットまたは２０ビットのデータであるようなデータ変換用テーブルを持つとなると、８，１９２Ｂｙｔｅほどのメモリ領域が必要となる。このようなメモリ領域を制御ＡＳＩＣ９４（ＰＩＭユニット１４６）の内部にＳＲＡＭ等として設けた場合、大幅なコストアップを招くことになる。
【０１０９】
＜解決方法＞
そこで、本実施形態では、制御ＡＳＩＣ９４（ＰＩＭユニット１４６）の内部に設けられる例えばＳＲＡＭ等のメモリ領域のサイズを小さくするために、ガンマ補正回路１６６が使用するガンマ補正用テーブルのうちの一部のデータについては、ＳＤＲＡＭ１０２に格納する。一方、ガンマ補正用テーブルのうちの前記一部のデータを除く他の残りのデータについては、ＰＩＭユニット１４６（制御ＡＳＩＣ９４）の内部のＳＲＡＭに格納するようにする。
【０１１０】
そして、ＰＩＭユニット１４６（制御ＡＳＩＣ９４）の内部のＳＲＡＭには、ガンマ補正用テーブルの他の残りのデータとして、変換頻度の高いデータを格納するようにする。一方、ＳＤＲＡＭ１０２には、ガンマ補正用テーブルのうちの一部のデータとして、変換頻度の低いデータを格納するようにする。ここで、変換頻度の高いデータとは、第１演算回路１６４により演算処理されて出力される頻度の高いＲＧＢデータに対応するデータ変換用テーブルのデータのことをいう。一方、変換頻度の低いデータとは、第１演算回路１６４により演算処理されて出力される頻度の低いＲＧＢデータに対応するデータ変換用テーブルのデータのことをいう。
【０１１１】
このようにガンマ補正回路１６６に入力されるＲＧＢデータに、変換頻度の高いデータと変換頻度の低いデータとが生じるのは、次の理由からである。すなわち、第１演算回路１６４は、例えば、前述したような演算式（ｉ）〜（iii）により、ＹＵＶデータをＲＧＢデータに変換する。このようなＹＵＶデータからＲＧＢデータへと変換するような演算式（ｉ）〜（iii）の特性によって、一般的な画像データについて調査をしたところ、ＲＧＢデータの各色の値が所定の範囲に集中することが確認された。つまり、本実施形態の場合には、全データのうちの９２〜９９％程度が所定の範囲のデータとなることが判明した。つまり、ガンマ補正回路１６６に入力されるＲＧＢデータの中の９２〜９９％程度が所定の範囲の入力値を持つＲＧＢデータなのである。
【０１１２】
本実施形態では、このような所定の範囲の入力値を持つＲＧＢデータに対応するガンマ補正用テーブルのデータを変換頻度の高いデータとする。一方、このような所定の範囲の入力値を除く他の入力値を持つＲＧＢデータ、つまり、ガンマ補正回路１６６に入力されるＲＧＢデータの中の１〜８％程度のデータに対応するガンマ補正用テーブルのデータを変換頻度の低いデータとする。
【０１１３】
＝＝＝ガンマ補正用テーブル＝＝＝
図１０は、ガンマ補正回路１６６が用いるガンマ補正用テーブルのうち、ＰＩＭユニット１４６（制御ＡＳＩＣ９４）の内部のＳＲＡＭに格納される変換頻度の高いデータと、ＳＤＲＡＭ１０２に格納される変換頻度の低いデータとについて説明したものである。ここでは、第１演算回路１６４により演算されて出力されるＲＧＢデータが各色それぞれ１２ビットのデータにより構成され、また、ガンマ補正回路１６６により変換されて出力されるＲＧＢデータが各色それぞれ１６ビットのデータにより構成される場合を例にして説明する。なお、ガンマ補正用テーブルは、「データ変換用テーブル」に相当する。
【０１１４】
入力値は、前述した変換式（ｉ）〜（iii）により、負の値を取り得る実数値となる。さらに、ここでは、計算精度を高めるために、入力値が、ＲＧＢデータを各色それぞれ１２ビットの符号付き固定小数（小数点以下２ビット）により表されている。そして、入力値は、同図に示すように、『−０１＿０１１１＿１１１１．１１』〜『１０＿０１１１＿１１１１．１１』の範囲になるように設定されている。
【０１１５】
ここで、これら『−０１＿０１１１＿１１１１．１１』〜『１０＿０１１１＿１１１１．１１』の範囲のうち、変換頻度の高い入力値の範囲、即ち所定の入力値の範囲は、『００＿００００＿００００．００』〜『００＿１１１１＿１１１１．１１』である。つまり、第１演算回路１６４により演算されて出力されるＲＧＢデータのうちの９２〜９９％程度が『００＿００００＿００００．００』〜『００＿１１１１＿１１１１．１１』の範囲にあるのである。その他の範囲、即ち、『０１＿００００＿００００．００』〜『１０＿０１１１＿１１１１．１１』の範囲、又は『−０１＿０１１１＿１１１１．１１』〜『−００＿００００＿００００．０１』の範囲に該当するのは、第１演算回路１６４により演算されて出力されるＲＧＢデータのうちの１〜８％程度である。
【０１１６】
変換されて出力されるデータは、１６ビットのデータであることから、所定の入力値の範囲、即ち『００＿００００＿００００．００』〜『００＿１１１１＿１１１１．１１』の範囲に対応するガンマ補正用テーブルのデータのサイズは、同図に示すように、『０ｘ４００（２０４８Ｂｙｔｅ）』（「０ｘ」は１６進数にて表示することを表す。以下同じ。）となる（図中灰色の部分）。一方、『０１＿００００＿００００．００』〜『１０＿０１１１＿１１１１．１１』の範囲および『−０１＿０１１１＿１１１１．１１』〜『−００＿００００＿００００．０１』の範囲に対応するガンマ補正用テーブルのデータのサイズは、同図に示すように、それぞれ『０ｘ６００（３０７２Ｂｙｔｅ）』となる（図中白色の部分）。
【０１１７】
なお、ここで、所定の入力値の範囲、即ち『００＿００００＿００００．００』〜『００＿１１１１＿１１１１．１１』の範囲に対応するガンマ補正用テーブルのデータは、「データ変換用テーブルのうちの一部のデータを除く残りのデータ」に相当する。また、『０１＿００００＿００００．００』〜『１０＿０１１１＿１１１１．１１』の範囲および『−０１＿０１１１＿１１１１．１１』〜『−００＿００００＿００００．０１』の範囲に対応するガンマ補正用テーブルのデータは、「データ変換用テーブルのうちの一部のデータ」に相当する。
【０１１８】
そして、変換頻度の高いデータとして、ＰＩＭユニット１４６（制御ＡＳＩＣ９４）の内部のＳＲＡＭに格納されるのは、所定の入力値の範囲、即ち『００＿００００＿００００．００』〜『００＿１１１１＿１１１１．１１』の範囲に対応するガンマ補正用テーブルのデータである。
【０１１９】
一方、変換頻度の低いデータとして、ＳＤＲＡＭ１０２に格納されるのは、『０１＿００００＿００００．００』〜『１０＿０１１１＿１１１１．１１』の範囲と、『−０１＿０１１１＿１１１１．１１』〜『−００＿００００＿００００．０１』の範囲とにそれぞれ対応するガンマ補正用テーブルのデータである。これらのデータのサイズは、それぞれ『０ｘ６００（３０７２Ｂｙｔｅ）』となる。
【０１２０】
これにより、ＰＩＭユニット１４６（制御ＡＳＩＣ９４）の内部のＳＲＡＭには、『０ｘ４００（２０４８Ｂｙｔｅ）』のデータを格納するためのメモリ領域が確保される。また、ＳＤＲＡＭ１０２には、『０ｘ６００（３０７２Ｂｙｔｅ）』のデータを２つ、即ち計６１４４Ｂｙｔｅのデータを格納するためのメモリ領域が確保される。
【０１２１】
このようにして、ガンマ補正回路１６６がガンマ補正処理を実行するために使用するガンマ補正用テーブルのうち、変換頻度の高いデータについては、ガンマ補正回路１６６が高速にアクセスをすることができるＰＩＭユニット１４６の内部の高速なＳＲＡＭに格納する。また、変換頻度の低いデータについては、制御ＡＳＩＣ外部のＳＤＲＡＭ１０２に格納する。これらのことから、ＰＩＭユニット１４６の内部に設けるＳＲＡＭのメモリ領域を小さくすることができる。さらに、ガンマ補正回路１６６によるデータ変換処理を効率よく実施することができる。
【０１２２】
なお、このようなガンマ補正用テーブルにあっては、例えば、ＣＰＵ９０等により生成される。すなわち、例えば、ＣＰＵ９０の場合、ＪＰＥＧ形式の画像データからヘッダのパラメータ等を読み込んだり、またユーザーから設定されたパラメータを取得したり、また機器側、即ち複合装置１側に設定されたパラメータ等を読み込むなどして、ガンマ補正用テーブルを作成するのにあたって必要な情報を取得する。そして、ＣＰＵ９０は、入力データに対応するガンマ補正後の出力データを演算等により取得する。その後、ＣＰＵ９０は、演算等により取得したガンマ補正後の出力データをガンマ補正用テーブルとして、ＰＩＭユニット１４６（制御ＡＳＩＣ９４）の内部のＳＲＡＭまたはＳＤＲＡＭ１０２に格納するのである。この際、ＣＰＵ９０は、対応する入力データに応じてＳＲＡＭに格納すべきか、またはＳＤＲＡＭ１０２に格納すべきか逐次判断していくと良い。
【０１２３】
このようなガンマ補正用テーブルの格納作業は、変換対象となるＪＰＥＧ形式の画像データが変更されたり、また、ユーザーからの設定情報（パラメータ）が変更されたり、また、機器側（複合装置１側）における設定情報（パラメータ）が変更される都度、逐次実行されることになる。
【０１２４】
＝＝＝ガンマ補正回路＝＝＝
図１１は、本実施形態のガンマ補正回路１６６の一実施形態を説明したものである。  
このガンマ補正回路１６６は、入力データコントローラ１８０と、エリア判定部１８２と、モジュールコントローラ１８４と、ＳＲＡＭコントローラ１８６と、ＳＲＡＭ１８８と、キャッシュコントローラ１９０と、キャッシュ１９２と、データセレクタ１９６と、出力データコントローラ１９８とを備えている。なお、ここで、ＳＲＡＭ１８８は、「第２メモリ」に相当する。また、ＳＤＲＡＭ１０２は、「第１メモリ」に相当する。また、キャッシュ１９２は、「第３メモリ」に相当する。
【０１２５】
そして、ＳＲＡＭ１８８には、ガンマ補正用テーブルのうちの一部のデータ、即ちここでは、所定の入力値『００＿００００＿００００．００』〜『００＿１１１１＿１１１１．１１』に対応するデータが格納される。一方、ＳＤＲＡＭ１０２には、ガンマ補正用テーブルのうちの一部のデータを除く他のデータ、即ちここでは、所定の入力値を除く残りの他のデータ、即ち『０１＿００００＿００００．００』〜『１０＿０１１１＿１１１１．１１』の範囲、および『−０１＿０１１１＿１１１１．１１』〜『−００＿００００＿００００．０１』の範囲に対応するデータが格納される。
【０１２６】
また、キャッシュ１９２には、第１演算回路１６４から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを変換するために、ＳＤＲＡＭ１０２から読み出されたデータを記憶するためのキャッシュ領域が設けられている。本実施形態では、このキャッシュ領域として、Ｒキャッシュ領域１９３と、Ｇキャッシュ領域１９４と、Ｂキャッシュ領域１９５とが設けられている。これらＲキャッシュ領域１９３、Ｇキャッシュ領域１９４およびＢキャッシュ領域１９５には、それぞれＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色別に各々対応してデータが格納されるようになっている。本実施形態では、これらＲキャッシュ領域１９３、Ｇキャッシュ領域１９４およびＢキャッシュ領域１９５には、それぞれＳＤＲＡＭ１０２から読み出された１回分のデータが格納されるようになっている。
【０１２７】
入力データコントローラ１８０は、第１演算回路１６４により演算処理されて出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを第１演算回路１６４から１画素分取得して内部のバッファ（図示外）に格納する。そして、入力データコントローラ１８０は、モジュールコントローラ１８４から出力されるＲＧＢフラグ信号に基づき、取得したＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを順次１色ずつエリア判定部１８２に出力する。ここで、モジュールコントローラ１８４から出力されるＲＧＢフラグ信号Ｆ１は、例えば、フラグ『０』がＲ（レッド）、フラグ『１』がＧ（グリーン）、フラグ『２』がＢ（ブルー）といった形等に設定されている。本実施形態では、モジュールコントローラ１８４は、Ｒ（レッド）→Ｇ（グリーン）→Ｂ（ブルー）の順に、出力するＲＧＢフラグ信号Ｆ１のフラグを切り替えるものとする。
【０１２８】
入力データコントローラ１８０は、モジュールコントローラ１８４からのＲＧＢフラグ信号Ｆ１が『０』の場合には、Ｒ（レッド）のデータを出力し、モジュールコントローラ１８４からのＲＧＢフラグ信号Ｆ１が『１』の場合には、Ｇ（グリーン）のデータを出力し、モジュールコントローラ１８４からのＲＧＢフラグ信号Ｆ１が『２』の場合には、Ｂ（ブルー）のデータを出力する。
【０１２９】
エリア判定部１８２は、入力データコントローラ１８０から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１つの色のデータについて、ＳＲＡＭ１８８に格納されたガンマ補正用テーブルのデータに基づき変換することができるか否かを判定する。そして、ＳＲＡＭ１８８に格納されたガンマ補正用テーブルのデータに基づき変換することができると判定した場合には、エリア判定部１８２は、その旨をモジュールコントローラ１８４に判定結果として報告する。
【０１３０】
一方、ＳＲＡＭ１８８に格納されたガンマ補正用テーブルのデータに基づき変換することができないと判定した場合には、エリア判定部１８２は、次にキャッシュ１９２に格納されたデータに基づき変換することができるか否かを判定する。そして、キャッシュ１９２に格納されたデータに基づき変換することができると判定した場合には、エリア判定部１８２は、その旨をモジュールコントローラ１８４に判定結果として報告する。一方、キャッシュ１９２に格納されたデータに基づき変換することができないと判定した場合には、エリア判定部１８２は、ＳＤＲＡＭ１０２に格納されたガンマ補正用テーブルのデータに基づき変換することができると判定して、その旨をモジュールコントローラ１８４に判定結果として報告する。
【０１３１】
モジュールコントローラ１８４は、エリア判定部１８２から報告された判定結果に基づきエリアフラグ信号Ｆ２を出力する。このエリアフラグ信号Ｆ２は、入力データコントローラ１８０から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１色のデータを変換するために、ＳＲＡＭ１８８、キャッシュ１９２およびＳＤＲＡＭ１０３のうちのどの記憶領域に格納されたデータをガンマ補正用テーブルとして参照すべきか指示するための信号である。このエリアフラグ信号Ｆ２は、例えば、ＳＲＡＭ１８８を指示する場合には、フラグが『０』に、キャッシュ１９２を指示する場合には、フラグが『１』に、ＳＤＲＡＭ１０３を指示する場合には、フラグが『２』といった形等に設定される。
【０１３２】
そして、エリア判定部１８２によりＳＲＡＭ１８８に格納されたデータに基づき変換することができると判定された場合には、モジュールコントローラ１８４は、エリアフラグ信号Ｆ２として、フラグ『０』の信号を出力する。
【０１３３】
ＳＲＡＭコントローラ１８６は、モジュールコントローラ１８４から出力されたエリアフラグ信号Ｆ２のフラグが『０』である場合には、エリア判定部１８２からＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１色のデータを取得し、このデータに基づき、このデータに対応する変換後のデータをＳＲＡＭ１８８に格納されたガンマ補正用テーブルから読み出す。そして、ＳＲＡＭコントローラ１８６は、ＳＲＡＭ１８８のガンマ補正用テーブルから読み出した変換後のデータをデータセレクタ１９６に向けて出力する。
【０１３４】
データセレクタ１９６は、モジュールコントローラ１８４から出力されたエリアフラグ信号Ｆ２のフラグが『０』である場合には、ＳＲＡＭコントローラ１８６から出力された変換後のデータを受信する。そして、データセレクタ１９６は、ＳＲＡＭコントローラ１８６から受信した変換後のデータを出力データコントローラ１９８に送出する。
【０１３５】
一方、エリア判定部１８２によりキャッシュ１９２に格納されたデータに基づき変換することができると判定された場合には、モジュールコントローラ１８４は、エリアフラグ信号Ｆ２としてフラグ『１』の信号を出力する。
【０１３６】
キャッシュコントローラ１９０は、モジュールコントローラ１８４から出力されたエリアフラグ信号Ｆ２のフラグが『１』である場合には、エリア判定部１８２からＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１色のデータを取得して、このデータに基づき、このデータに対応する変換後のデータとしてキャッシュ１９２に格納されているデータを読み出す。このとき、キャッシュコントローラ１９０は、モジュールコントローラ１８４から出力されるＲＧＢフラグ信号Ｆ１を参照して、Ｒキャッシュ領域１９３、Ｇキャッシュ領域１９４およびＢキャッシュ領域１９５のうちのどのキャッシュ領域からデータを読み出すべきか判断する。つまり、モジュールコントローラ１８４から出力されたＲＧＢフラグ信号Ｆ１のフラグが『０』の場合には、キャッシュコントローラ１９０は、Ｒキャッシュ領域１９３からデータを読み出す。また、モジュールコントローラ１８４から出力されたＲＧＢフラグ信号Ｆ１のフラグが『１』の場合には、キャッシュコントローラ１９０は、Ｇキャッシュ領域１９４からデータを読み出す。また、モジュールコントローラ１８４から出力されたＲＧＢフラグ信号Ｆ１のフラグが『２』の場合には、キャッシュコントローラ１９０は、Ｂキャッシュ領域１９５からデータを読み出す。
【０１３７】
その後、キャッシュコントローラ１９０は、Ｒキャッシュ領域１９３、Ｇキャッシュ領域１９４およびＢキャッシュ領域１９５のうちのいずれか１つから読み出した変換後のデータをデータセレクタ１９６に向けて出力する。
【０１３８】
データセレクタ１９６は、モジュールコントローラ１８４から出力されたエリアフラグ信号Ｆ２のフラグが『１』である場合には、キャッシュコントローラ１９０から出力された変換後のデータを受信する。そして、データセレクタ１９６は、キャッシュコントローラ１９０から受信した変換後のデータを出力データコントローラ１９８に送出する。
【０１３９】
また、エリア判定部１８２によりＳＤＲＡＭ１０２に格納されたガンマ補正用テーブルのデータに基づき変換することができると判定された場合には、モジュールコントローラ１８４は、エリアフラグ信号Ｆ２として、フラグ『２』の信号を出力する。
【０１４０】
ＳＤＲＡＭコントローラ１０３は、モジュールコントローラ１８４から出力されたエリアフラグ信号Ｆ２のフラグが『２』である場合には、エリア判定部１８２からＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１色のデータを取得し、このデータに基づき、このデータに対応する変換後のデータをＳＤＲＡＭ１０２に格納されたガンマ補正用テーブルから読み出す。そして、ＳＤＲＡＭコントローラ１０３は、ＳＤＲＡＭ１０２のガンマ補正用テーブルから読み出した変換後のデータをデータセレクタ１９６に向けて出力する。また、ＳＤＲＡＭコントローラ１０３は、この変換後のデータをキャッシュコントローラ１９０に向けて出力する。
【０１４１】
キャッシュコントローラ１９０は、ＳＤＲＡＭコントローラ１０３から受信した変換後のデータをキャッシュ１９２に格納する。このとき、キャッシュコントローラ１９０は、モジュールコントローラ１８４から出力されるＲＧＢフラグ信号Ｆ１を参照して、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのどの色のデータが変換対象となっているかを確認し、Ｒキャッシュ領域１９３、Ｇキャッシュ領域１９４およびＢキャッシュ領域１９５のうちのどのキャッシュ領域に変換後のデータを書き込むべきかを判断する。つまり、モジュールコントローラ１８４から出力されたＲＧＢフラグ信号Ｆ１のフラグが『０』の場合には、キャッシュコントローラ１９０は、Ｒキャッシュ領域１９３に変換後のデータを書き込む。また、モジュールコントローラ１８４から出力されたＲＧＢフラグ信号Ｆ１のフラグが『１』の場合には、キャッシュコントローラ１９０は、Ｇキャッシュ領域１９４に変換後のデータを書き込む。また、モジュールコントローラ１８４から出力されたＲＧＢフラグ信号Ｆ１のフラグが『２』の場合には、キャッシュコントローラ１９０は、Ｂキャッシュ領域１９５に変換後のデータを書き込む。本実施形態では、Ｒキャッシュ領域１９３、Ｇキャッシュ領域１９４およびＢキャッシュ領域１９５にそれぞれ１回分のデータを格納するようになっており、Ｒキャッシュ領域１９３、Ｇキャッシュ領域１９４またはＢキャッシュ領域のデータは更新される。
【０１４２】
その後、キャッシュコントローラ１９０は、ＳＤＲＡＭコントローラ１０３から受信した変換後のデータをキャッシュ１９２に格納した旨をエリア判定部１８２に伝達する。エリア判定部１８２は、キャッシュコントローラ１９０から変換後のデータをキャッシュ１９２に格納した旨の伝達を受けた場合には、その変換後のデータに対応する変換前のデータ、即ち、入力データコントローラ１８０から受信したＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１色のデータを記憶する。そして、エリア判定部１８２は、入力データコントローラ１８０から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１つの色のデータが、キャッシュ１９２に格納されたデータに基づき変換することができるか否かを判定するときに、このデータを利用する。
【０１４３】
データセレクタ１９６は、モジュールコントローラ１８４から出力されたエリアフラグ信号Ｆ２のフラグが『２』である場合には、ＳＤＲＡＭコントローラ１０３から出力された変換後のデータを受信する。そして、データセレクタ１９６は、ＳＤＲＡＭコントローラ１０３から受信した変換後のデータを出力データコントローラ１９８に送出する。
【０１４４】
モジュールコントローラ１８４は、出力するＲＧＢフラグ信号Ｆ１のフラグをＲ（レッド）『０』→Ｇ（グリーン）『１』→Ｂ（ブルー）『２』の順に順次切り替えることによって、第１演算回路１６４から出力されたＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータを順次変換処理する。
【０１４５】
出力データコントローラ１９８は、データセレクタ１９６から送られてきた変換後のデータを内部のバッファ（図示外）に一時的に格納する。そして、出力データコントローラ１９８は、データセレクタ１９６から変換後のデータとして、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の３色全てのデータを１画素分取得した場合には、それら３色のデータを後段のモジュール、即ち、ここでは、第２演算回路１６８に出力する。
【０１４６】
このようなガンマ補正回路１６６にあっては、ガンマ補正用テーブルのうち、変換頻度の高いデータがＳＲＡＭ１８８に格納され、また、変換頻度の低いデータがＳＤＲＡＭ１０２に格納されることで、ＰＩＭユニット１４６（制御ＡＳＩＣ９４）の内部に、ガンマ補正用テーブルを格納するために必要なＳＲＡＭ１８８のメモリ領域を可及的に小さくしつつ、データの変換を効率よく行うことができる。
【０１４７】
さらに、データの変換を行うためにＳＤＲＡＭ１０２からデータを読み出したときには、その読み出したデータをキャッシュ１９２に記憶しておくことで、再度、同じデータの変換を行うときにキャッシュ１９２に記憶されたデータを用いてデータの変換を行うことができる。これにより、データの変換をより効率よく行うことができる。
【０１４８】
特に、本実施形態では、ＪＰＥＧ形式の画像データの記録形式が『４：２：２』形式や『Ｖ４：２：２』形式、『４：２：０』形式であった場合に、Ｙ（輝度）を除く他のデータ、即ちＵ（色差：Ｃｂ）のデータやＶ（色差：Ｃｒ）のデータが連続して同じになる可能性が高いことから、演算式（ｉ）〜（iii）によりＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各データが隣りの画素と同じになる可能性が高い。このことから、キャッシュ１９２の利用効率も高く、キャッシュ１９２を用いることによって、より効率よくデータの変換を行うことができる。
【０１４９】
＝＝＝エリア判定部の判定手順＝＝＝
図１２は、エリア判定部１８２による判定手順の一例を説明したフローチャートである。  
エリア判定部１８２は、まず、入力データコントローラ１８０からＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１つの色のデータを取得する（Ｓ２０２）。次に、エリア判定部１８２は、取得したＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１つの色のデータについて、ＳＲＡＭ１８８に格納されたガンマ補正用テーブルのデータに基づき変換することができるか否かを判定する（Ｓ２０４）。
【０１５０】
ここで、ＳＲＡＭ１８８に格納されたガンマ補正用テーブルのデータに基づき変換することができる場合には、エリア判定部１８２は、ガンマ補正用テーブルとしてＳＲＡＭ１８８に格納されたデータを参照すべきと判定する（Ｓ２０６）。その後、エリア判定部１８２は、ＳＲＡＭ１８８に格納されたガンマ補正用テーブルのデータに基づき変換することができる旨をモジュールコントローラ１８４に報告する（Ｓ２０８）。その後、ステップＳ２２２へと進む。
【０１５１】
一方、ＳＲＡＭ１８８に格納されたガンマ補正用テーブルのデータに基づき変換することができない場合には、次に、エリア判定部１８２は、ステップＳ２１０へと進み、キャッシュ１９２に格納されたデータに基づき変換することができるか否かを判定する（Ｓ２１０）。ここで、キャッシュ１９２に格納されたデータに基づき変換することができる場合には、エリア判定部１８２は、キャッシュ１９２に格納されたデータを参照すべきと判定する（Ｓ２１２）。その後、エリア判定部１８２は、キャッシュ１９２に格納されたデータを参照して変換することができる旨をモジュールコントローラ１８４に報告する（Ｓ２１４）。その後、ステップＳ２２２へと進む。
【０１５２】
他方、キャッシュ１９２に格納されたデータに基づき変換することができない場合には、エリア判定部１８２は、ＳＤＲＡＭ１０２に格納されたガンマ補正用テーブルのデータに基づき変換することができると判定する（Ｓ２１６）。その後、エリア判定部１８２は、ＳＤＲＡＭ１０２に格納されたガンマ補正用テーブルのデータに基づき変換することができる旨をモジュールコントローラ１８４に報告する（Ｓ２１４）。そして、さらに、エリア判定部１８２は、その変換の対象となったＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のうちのいずれか１つの色のデータを記憶する（Ｓ２２０）。これは、エリア判定部１８２が、キャッシュ１９２に格納されたデータに基づき変換することができるか否かを判定することができるようにするためである。つまり、ＳＤＲＡＭ１０２からガンマ補正用テーブルとして読み出されたデータは、キャッシュ１９２に格納される。このキャッシュ１９２に格納されたデータが、次の変換に際して参照することができるか否かを判断する必要があるからである。エリア判定部１８２が、このようなデータを記憶しておくことで、キャッシュ１９２に格納されたデータに基づき変換することができるか否かを簡単に判定することができる。このようにして入力データを記憶した後、エリア判定部１８２は、次にステップＳ２２２へと進む。
【０１５３】
ステップＳ２２２では、エリア判定部１８２は、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータの変換が全て終了したか否かを判断する。ここで、エリア判定部１８２は、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の各色のデータの変換が全て終了したと判断した場合には、処理を終了する。一方、データの変換が全て終了していると判断した場合には、再びステップＳ２０２へと戻り、処理を開始する（Ｓ２０２）。
【０１５４】
＝＝＝まとめ＝＝＝
以上本実施形態では、ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するために、データ変換用テーブル（ガンマ補正用テーブル）のうちの変換頻度の低いデータがＳＤＲＡＭ１０２に格納され、その他の残りの変換頻度の高いデータがＳＤＲＡＭ１０２よりも高速にデータの読み込みが可能なＳＲＡＭ１８８に格納されることで、データの変換処理を効率良く実行することができる。また、ＳＲＡＭ１８８に必要なメモリ領域を削減して、安価に構成することができるＳＤＲＡＭ１０２を利用することから、大幅なコスト削減を図ることもできる。
【０１５５】
また、ＳＤＲＡＭ１０２から読み出したデータについては、キャッシュ１９２に一時的に記憶しておくことで、繰り返し同じデータをＳＤＲＡＭ１０２から読み出す処理を削減することができる。これにより、変換しようとする入力データが、ＳＤＲＡＭ１０２に格納されたデータに対応するような場合であっても、キャッシュ１９２を参照することで、データの変換をより効率よく行うことができる。
【０１５６】
特に、本実施形態では、ＪＰＥＧ形式の画像データの記録形式が『４：２：２』形式や『Ｖ４：２：２』形式、『４：２：０』形式であった場合に、Ｙ（輝度）を除く他のデータ、即ちＵ（色差：Ｃｂ）のデータやＶ（色差：Ｃｒ）のデータが連続して同じになる可能性が高いことから、変換対象となるデータが次のデータと同じデータになる可能性が高い。このため、キャッシュ１９２の利用効率も高く、キャッシュ１９２を用いることによって、より効率よくデータの変換を行うことができる。
【０１５７】
＝＝＝その他の実施の形態＝＝＝
以上、一実施形態に基づき、プリンタ等の印刷装置について説明したが、上記の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更または改良され得るとともに、本発明には、その等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１５８】
＜ＹＵＶ画像データについて＞
前述した実施の形態では、ＹＵＶ画像データとして、ＪＰＥＧ形式の画像データをデコードすることにより得られたデータを例にして説明したが、ここでいう「ＹＵＶ画像データ」にあっては、必ずしもこのようにＪＰＥＧ形式の画像データをデコードすることにより得られたデータに限定されることはない。つまり、ここでいう「ＹＵＶ画像データ」は、Ｙ（輝度）と、Ｕ（色差：Ｃｂ）と、Ｖ（色差：Ｃｒ）とからなるＹＵＶ色空間により表現される画像データであれば、どのような画像データであっても構わない。
【０１５９】
＜ＲＧＢ画像データについて＞
前述した実施の形態では、「ＲＧＢ画像データ」として、ＪＰＥＧ形式の画像データをデコードすることにより得られた画像データを例にして説明したが、ここでいう「ＲＧＢ画像データ」にあっては、必ずしもこのようにＪＰＥＧ形式の画像データをデコードすることにより得られたデータに限定されることはない。つまり、ここでいう「ＲＧＢ画像データ」は、ＹＵＶ画像データから変換されて生成された画像データであれば、どのような画像データであっても良い。
【０１６０】
また、前述した実施の形態では、変換元となる「ＲＧＢ画像データ」として、Ｒ（レッド）、Ｇ（グリーン）、およびＢ（ブルー）の各色のデータがそれぞれ１２ビットのデータにより構成されている場合を例にして説明したが、ここでいう「ＲＧＢ画像データ」にあっては、必ずしもこのようなＲＧＢ画像データには限らない。すなわち、ここでいう「ＲＧＢ画像データ」は、Ｒ（レッド）、Ｇ（グリーン）、およびＢ（ブルー）の３色のデータにより構成される画像データであれば、どのようなデータであっても構わない。
【０１６１】
＜他の形式の画像データについて＞
前述した実施の形態では、「他の形式の画像データ」として、変換元となる「ＲＧＢ画像データ」とビット数の異なるＲＧＢ画像データを例にして説明したが、ここでいう「他の形式の画像データ」にあっては、必ずしもこのようなＲＧＢ画像データには限らない。つまり、ここでいう「他の形式の画像データ」にあっては、必ずしもＲ（レッド）、Ｇ（グリーン）、およびＢ（ブルー）の３色のデータにより構成される画像データである必要はなく、このようなＲＧＢ形式とは異なる形式の画像データであっても良い。要するに、ここでいう「他の形式の画像データ」にあっては、変換元となる「ＲＧＢ画像データ」に対して、ビット数や解像度をはじめ、その他各種形式が異なる画像データであれば、どのようなタイプの画像データであっても良い。
【０１６２】
＜画像データ変換装置について＞
前述した実施の形態では、「画像データ変換装置」として、ガンマ補正処理を行う装置を例にして説明されていたが、ここでいう「画像データ変換装置」にあっては、必ずしもこのようなガンマ補正処理を行う装置には限られない。つまり、ここでいう「画像データ変換装置」にあっては、ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換する装置であれば、どのような装置であっても「画像データ変換装置」に該当する。すなわち、例えば、ガンマ補正処理以外の処理、例えば、逆ガンマ補正処理を行うような装置であっても構わない。そのほかに画像データの形式を変換する装置であれば、ここでいう「画像データ変換装置」に含まれる。
【０１６３】
＜データ変換用テーブルについて＞
前述した実施の形態では、「データ変換用テーブル」として、ガンマ補正用テーブルを例にして説明したが、ここでいう「データ変換用テーブル」にあっては、必ずしもこのようなガンマ補正用テーブルには限られない。つまり、ここでいう「データ変換用テーブル」にあっては、ＹＵＶ画像データから変換されて生成されたＲＧＢ画像データを他の形式の画像データに変換するためのテーブルであれば、どのようなデータ変換用テーブルであっても構わない。すなわち、この「データ変換用テーブル」にあっては、例えば、逆ガンマ補正用テーブルであっても良く、その他のデータ変換用テーブルであっても構わない。
【０１６４】
＜第１メモリについて＞
前述した実施の形態では、「第１メモリ」として、ＳＤＲＡＭ１０２を例にして説明したが、ここでいう「第１メモリ」にあっては、必ずしもこのようなＳＤＲＡＭ１０２には限られない。つまり、ここでいう「第１メモリ」にあっては、ＳＤＲＡＭ１０２以外の他のタイプのメモリであっても良く、「第２メモリ」の方が高速にデータの読み出しが行えれば、どのようなタイプのメモリであっても構わない。
【０１６５】
また、前述した実施の形態では、「第１メモリ」として、制御ＡＳＩＣ９４の外部に設けられたＳＤＲＡＭ１０２を例にして説明したが、ここでいう「第１メモリ」にあっては、必ずしもこのように制御ＡＳＩＣ９４の外部に設けられたメモリに限られず、制御ＡＳＩＣ９４等のＡＳＩＣ内部に設けられたメモリであっても構わない。
【０１６６】
＜第２メモリについて＞
前述した実施の形態では、「第２メモリ」として、制御ＡＳＩＣ内部に設けられたＳＲＡＭ１８８を例にして説明したが、ここでいう「第２メモリ」にあっては、必ずしもこのようなＳＲＡＭである必要はなく、また必ずしもこのようにＡＳＩＣ内部に設けられる必要はない。つまり、ここでいう「第２メモリ」にあっては、「第１メモリ」よりも高速にデータの読み出しが行えるようなメモリであれば、どのようなタイプのメモリであっても構わない。
【０１６７】
＜所定の入力データについて＞
前述した実施の形態では、「所定の入力データ」として、所定の入力値の範囲に該当するデータ、即ち、本実施形態では、入力値の範囲が『００＿００００＿００００．００』〜『００＿１１１１＿１１１１．１１』のデータを例にして説明したが、ここでいう「所定の入力データ」にあっては、必ずしもこのようなデータである必要はない。すなわち、ここでいう「所定の入力データ」にあっては、特に変換頻度が高いようなデータに対応すれば、このような所定の範囲に該当するようなデータである必要はなく、データの変換効率の向上が図れるようなデータであれば、どのデータであっても良い。
【０１６８】
＜第３メモリについて＞
前述した実施の形態では、「第３メモリ」として、第１メモリ（ＳＤＲＡＭ１０２）から読み出された１回分のデータを記憶するキャッシュ１９２を例にして説明していたが、ここでいう「第３メモリ」にあっては、必ずしもこのように１回分のデータを記憶するキャッシュ１９２には限らない。つまり、ここでいう「第３メモリ」にあっては、必ずしも１回分のデータを記憶する場合には限らず、２回分以上のデータを記憶するようにしても良い。
【０１６９】
＜印刷装置について＞
前述した実施の形態では、印刷装置として、原稿から画像を読み取って画像データを生成するスキャナ部（画像読み取り部）と、媒体に対して印刷を施す印刷部とを備えた複合装置を例にして説明したが、ここでいう「印刷装置」にあっては、必ずしもこのような複合装置には限らない。すなわち、ここでいう「印刷装置」にあっては、媒体に対して印刷を施す印刷部を備えていればよく、その他の構成について備えていてもいなくてもどちらでも良い。
【０１７０】
また、前述した実施の形態では、印刷装置として、インクジェットプリンタを例にして説明したが、ここでいう「印刷装置」にあっては、必ずしもこのようにインクを吐出して印刷をする印刷装置には限られず、他の方式によりインクを吐出するプリンタや、インク以外のその他の方式により印刷を行う印刷装置、例えばレーザープリンタ等であっても構わない。
【図面の簡単な説明】
【０１７１】
【図１】複合装置の一例を説明する斜視図。
【図２】複合装置のスキャナ部のカバーを開いたときの斜視図。
【図３】複合装置の印刷部を示す斜視図。
【図４】複合装置のスキャナ部及びプリンタ部の構成を説明する説明図。
【図５】複合装置の操作パネルを説明する説明図。
【図６】複合装置の制御部のシステム構成の一例の説明図。
【図７】ＪＰＥＧ形式の画像データのデコード処理の説明図。
【図８Ａ】『４：４：４』形式についての説明図。
【図８Ｂ】『４：２：２』形式についての説明図。
【図８Ｃ】『Ｖ４：２：２』形式についての説明図。
【図８Ｄ】『４：２：０』形式についての説明図。
【図９】ＰＩＭユニットの構成の一例の説明図。
【図１０】第１メモリおよび第２メモリにそれぞれ格納されるデータの一例を説明する説明図。
【図１１】ガンマ補正回路の構成の一例の説明図。
【図１２】エリア判定部による判定手順の一例を説明したフローチャート。
【符号の説明】
【０１７２】
１  複合装置、２  操作パネル、３  排紙部、４  給紙部、５  原稿、６  上部、
７  排紙トレイ、９  下部、１０  スキャナ部、１１  原稿台、１２  原稿台カバー、
１４  プラテン、１５  搬送モータ、１７Ａ  搬送ローラ、２０  カードリーダー部、
２１  ヘッド、２２  背部給紙口、２３  前部給紙口、２４  駆動機構、
２５  排紙トレイ、２６  インクカートリッジ、２７  インクカートリッジカバー、
３０  プリンタ部、３４  ヒンジ部、３６  搬送機構、４１  キャリッジ、
４２  キャリッジモータ、４４  プーリ、４５  タイミングベルト、
４６  ガイドレール、５０  制御部、５１  リニア式エンコーダ符号板、
５２  検出部、５３  紙検知センサ、５６  ロータリ式エンコーダ、
６０  スキャナ用キャリッジ、６２  駆動機構、６４  ガイド、６６  露光ランプ、
７０  レンズ、７２  イメージセンサ、７４  タイミングベルト、
７５  プーリ、７６  プーリ、７７  駆動モータ、
８０  液晶ディスプレイ、８２  電源ボタン、８３  設定ボタン、
８４  ストップボタン、８５  モード選択ボタン、８６  カーソル操作ボタン群、
８７  スタートボタン、８７Ｃ  カラーボタン、８７Ｂ  モノクロボタン、
９０  ＣＰＵ、９２  メモリ、９３  カードＡＳＩＣ、９４  制御ＡＳＩＣ、
９５  カードインターフェイス、９６  ＳＤＲＡＭ、９８  ＣＰＵバス、
１０２  ＳＤＲＡＭ、１０３  ＳＤＲＡＭコントローラ、
１０４  スキャナコントロールユニット、１０６  リサイズユニット、
１０８  ２値化処理ユニット、１１０  インターレース処理ユニット、
１１２  イメージバッファユニット、１１４  バスコントロールユニット、
１１６  ヘッドコントロールユニット、１１８  ＵＳＢインターフェイス、
１２０  ラインバッファ、１２２  リサイズバッファ、
１２４  インターレースバッファ、１２６  イメージバッファ、
１２７  イメージバッファ、１２８  ローカルバス、
１３２  イメージバッファ、１３３  イメージバッファ、１３４  イメージバッファ、
１３６  ルックアップテーブル（ＬＵＴ）、１４０  ホストコンピュータ、
１４２  ＪＰＥＧデコーダユニット、１４４  ピクセル化ユニット、
１４６  ＰＩＭユニット、１４８  ＪＰＥＧバッファ、
１５０  ガンマ補正用テーブル、１５２  ＲＧＢデータバッファ、
１６２  入力データコントローラ、１６４  第１演算回路、
１６６  ガンマ補正回路、１６８  第２演算回路、
１７０  逆ガンマ補正回路、１７２  出力データコントローラ、
１８０  入力データコントローラ、１８２  エリア判定部、
１８４  モジュールコントローラ、１８６  ＳＲＡＭコントローラ、
１８８  ＳＲＡＭ、１９０  キャッシュコントローラ、１９２  キャッシュ、
１９３  Ｒキャッシュ領域、１９４  Ｇキャッシュ領域、１９５  Ｂキャッシュ領域、
１９６  データセレクタ、１９８  出力データコントローラ
【図１】
2007194959.tif 000003
【図２】
2007194959.tif 000004
【図３】
2007194959.tif 000005
【図４】
2007194959.tif 000006
【図５】
2007194959.tif 000007
【図６】
2007194959.tif 000008
【図７】
2007194959.tif 000009
【図８Ａ】
2007194959.tif 000010
【図８Ｂ】
2007194959.tif 000011
【図８Ｃ】
2007194959.tif 000012
【図８Ｄ】
2007194959.tif 000013
【図９】
2007194959.tif 000014
【図１１】
2007194959.tif 000015
【図１２】
2007194959.tif 000016
【図１０】
2007194959.tif 000017