以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本発明の実施形態に係る画像処理システムの全体構成を示すブロック図である。
伸張部1は、メモリ6に記憶されている圧縮された画像データ及び圧縮された像域データをバス8を介して受取り、それらを伸張して画像データ、像域データを生成してプリンタ4に出力する。この伸張部1はCPU5と接続されており、CPU5の制御の下で、その動作モードを変更して動作する。ここで伸張部1の動作モードは、CMYKZモード及びKZモードであり、それぞれカラー画像の伸張動作、モノクロ画像の伸張動作に対応している。
圧縮部2は、スキャナ3から受け取った画像データ及び像域データを圧縮して圧縮画像データ或いは圧縮像域データを生成する。この圧縮画像データ及び圧縮像域データはバス8を介してメモリ6に格納される。この圧縮部2は、CPU5に接続されており、CPU5の制御によって、その動作モードを変えることができる。この圧縮部2の動作モードはCMYKZモード及びKZモードであり、それぞれカラー画像の圧縮動作及びモノクロ画像の圧縮動作に対応している。
スキャナ3は、原稿台に置かれた原稿をCCDセンサによって読み取って画像データを生成する。また、その読み取った画像データを基に像域データを生成して、それらを圧縮部2に供給する。ここで画像データとは、画像を構成する各画素の濃度を表すデータである。画像データは、カラー画像の場合は、C(シアン)、M(マゼンタ)、Y(イエロー)及びK(黒)の4つの色成分のデータで構成され、モノクロ画像の場合は、K(黒)のデータで構成される。尚、本実施形態では、C,M、Y,Kの各データは、それぞれ8ビットのデータである。また像域データとは、画像を構成する各画素の属性を表すデータであり、以下Zで表されている。この属性とは、その画素が画像中で写真領域に含まれるか、文字領域に含まれるか、有彩色か無彩色か、といった各画素に付随した情報である。そして本実施形態では、各画素は画像データと像域データの組で構成されている。従って、カラー画像は、4色分の画像データCMYKと像域データZとを有し、モノクロ画像は、1色分の画像データKと像域データZとを有している。
スキャナ3は、主走査方向に8192画素を配するライン型センサで原稿画を読み取り、各ライン毎に画像データと像域データを出力する。即ち、1つのラインを構成する8192画素データを画素順に連続して転送クロックに同期して出力する。従って、スキャナ3に接続された圧縮部2の処理速度は、スキャナ3から出力される画像データ及び像域データの転送速度よりも速い必要がある。圧縮部2は、1ラインを構成する8192画素分の画像データ及び像域データを画素順に途切れなくスキャナ3から受信して処理することができる。またスキャナ3は、CMYKZモード(カラーモード)及びKZモード(モノクロモード)からなる2つの動作モードを有し、動作モードに応じて画像データと像域データの転送速度が変化する。
プリンタ4は、伸張部1から送られてくる画像データ及び像域データを受信して印刷する。プリンタ4は、ページ単位で印刷するページプリンタである。よって、伸張部1の処理速度は、プリンタ4が印刷中に受信する画像データ及び像域データの受信速度よりも速い必要がある。ここでプリンタ4は、8192画素の並びで構成されるライン毎に画像データと像域データを、画素順に連続して転送クロックに同期して入力する。またプリンタ4は、CMYKZモード(カラーモード)及びKZモード(モノクロモード)からなる2つの動作モードを有し、その動作モードに応じて、画像データ及び像域データの受信速度が変化する。
CPU5は、メモリ6に格納されたプログラムに従ってこの画像処理システムの動作を制御しており、スキャナ3、圧縮部2、伸張部1及びプリンタ4に対して制御信号を送信して、それらの動作を制御している。CPU5は、スキャナ3により原稿を読み取っている間、圧縮部2により、その読み取った画像データを圧縮してメモリ6に転送して記憶する。またメモリ6に格納された圧縮画像データ及び圧縮像域データをHDD7に格納することもできる。また画像データの読み出し時には、HDD7に格納された圧縮画像データ及び圧縮像域データを読み出してメモリ6に格納する。メモリ6は、CPU5のプログラムを格納する他、CPU5の作業領域、また圧縮画像データ及び圧縮像域データの一時保存場所としても使われる。HDD7は、CPU5の制御の下で、メモリ6に記憶されている圧縮画像データ及び圧縮像域データを受け取って格納する。また格納している圧縮画像データ及び圧縮像域データを読み出してメモリ6に転送する。バス8は、伸張部1、圧縮部2、CPU5、メモリ6及びHDD7と接続されており、それらの間でのデータや制御信号を転送している。
図2は、本実施形態に係るスキャナ3の各動作モードでのデータ出力速度を説明する図である。
図2に示すように、CMYKZモードの場合には、2画素分のCMYKデータ(8成分)と2画素分の像域データ(2成分)とが転送クロックの1サイクルで出力される。またKZモードの場合は、4画素分のKデータ(4成分)と4画素分の像域データ(4成分)とが転送クロックの1サイクルで出力される。
このスキャナ3は、前述したように1ライン分の8192画素を連続で転送する。よって、スキャナ3は、CMYKZモードの場合は、1サイクル当たり2画素ずつ、1ライン分の8192画素を連続して出力する。またKZモードの場合は、1サイクル当たり4画素ずつ、1ライン分8192画素を連続して出力する。従って、CMYKZモードの場合は、1ライン分の8192画素を送信するのに4096サイクルが必要となる。またKZモードの場合は、1ライン分の8192画素を送信するのに2048サイクルが必要となる。尚、データ転送のタイミングは後述する。
図3は、本実施形態に係るプリンタ4の各動作モードにおけるデータ受信速度を説明する図である。
図3に示すように、CMYKZモードの場合には、2画素分のCMYKデータ(8成分)と2画素分の像域データ(2成分)とを転送クロックの1サイクルで受信できる。またKZモードの場合は、4画素分のKデータ(4成分)と4画素分の像域データ(4成分)とを転送クロックの1サイクルで受信できる。従って、各動作モードにおけるデータ転送のタイミングは、前述のスキャナ3の場合と同じである。即ち、CMYKZモードの場合は、1ライン分の8192画素を受信するのに4096サイクルが必要となり、KZモードの場合は1ライン分の8192画素を受信するのに2048サイクルが必要となる。。尚、データ転送のタイミングは後述する。
図4は、本実施形態に係る伸張部1の構成を示すブロック図である。
制御部106は、CPU5から受信した制御信号に応じてデータ入力部101、画像/像域データ伸張部104、及びデータ出力部105に対して動作モード切り替え信号を出力してその動作を制御する。データ入力部101は、メモリ6から転送される圧縮画像データや圧縮像域データをバス8を介して受信し、画像データ伸張部102、像域データ伸張部103及び画像/像域データ伸張部104に出力する。ここで画像データ伸張部102、像域データ伸張部103は、固定の画像処理機能を有する第1の画像処理部に相当し、画像/像域データ伸張部104は、画像処理機能が可変である第2の画像処理部に該当している。
画像データ伸張部102は、データ入力部101から受信した圧縮画像データを伸張処理して画像データを得、その画像データをデータ出力部105に出力する。また像域データ伸張部103は、データ入力部101から受信した圧縮像域データを伸張処理して像域データを得て、その像域データをデータ出力部105に出力する。画像/像域データ伸張部104は、FPGA、DSP又はプロセッサ等で代表される、処理内容を書き換え可能なハードウェアで、制御部106からの指示に応じて、その処理機能を切り換えることができる。ここでは画像/像域データ伸張部104が画像データの伸張を行う場合の画像データ伸張アルゴリズムは、画像データ伸張部102の画像データ伸張アルゴリズムと同じとする。データ出力部105は、制御部106から指示された動作モードに応じて、画像データ伸張部102、像域データ伸張部103及び画像/像域データ伸張部104から受け取った画像データや像域データを、元の画像データの画素順に並べてプリンタ4に出力する。
<CMYKZモード(カラー画像データの処理モード)の場合>
データ入力部101は、入力した圧縮画像データのCMYKの4成分の圧縮画像データを画像データ伸張部102に転送する。ここで1成分の圧縮画像データは、64画素をJPEG圧縮した圧縮画像データである。データ入力部101は、次に入力した4成分の圧縮画像データを画像/像域データ伸張部104に出力することにより、画像データ伸張部102と伸張処理を分散して処理する。これを1ライン当たり64回繰り返す。このようにして、CMYKZモード(カラーモード)の場合は、画像/像域データ伸張部104は、制御部106の制御によって画像データ伸張機能に切り換えられて、圧縮画像データの伸張部として使用される。そして入力した圧縮画像データを画像データ伸張部102と画像/像域データ伸張部104とを使用して伸張する。
またデータ入力部101は、受信した圧縮像域データを像域データ伸張部103に出力して、圧縮像域データを伸張する。データ出力部105は、画像データ伸張部102及び画像/像域データ伸張部104から、伸張された画像データを交互に受け取ってプリンタ4に出力する。またデータ出力部105は、像域データ伸張部103から供給される、伸張された像域データを受け取ってプリンタ4に出力する。
<KZモード(白黒画像データの処理モード)の場合>
データ入力部101は、受信した圧縮画像データを画像データ伸張部102のみに出力する。またデータ入力部101は、受信した圧縮像域データを像域データ伸張部103及び画像/像域データ伸張部104に交互に転送する。ここでは画像/像域データ伸張部104は、制御部106の制御によって像域データの伸張機能に切り換えられ、データ入力部101から受信した圧縮像域データを伸張処理した像域データをデータ出力部105に出力する。即ち、データ入力部101は、1成分の圧縮像域データを像域データ伸張部103に転送し、1成分の圧縮像域データを画像/像域データ伸張部104に転送することにより、像域データ伸張部103との伸張処理を分散処理する。これを1ライン当たり64回繰り返す。ここで、1成分の圧縮像域データは、64画素をJPEG−LS圧縮した圧縮像域データである。尚、画像/像域データ伸張部104の像域データ伸張機能のアルゴリズムは、像域データ伸張部103の像域データ伸張アルゴリズムと同じである。データ出力部105は、画像データ伸張部102から受信した画像データをプリンタ4に出力する。またデータ出力部105は、像域データ伸張部103及び画像/像域データ伸張部104から受け取った像域データを交互にプリンタ4に出力する。
図5は、本実施形態に係る伸張部1の画像データ伸張部102、像域データ伸張部103及び画像/像域データ伸張部104の1サイクル当たりの処理能力と、それぞれのゲート規模を説明する図である。
ここでは、画像データ伸張部102及び像域データ伸張部103の機能は固定である。これに対して画像/像域データ伸張部104の機能は、前述したように制御部106の制御によって変わり、その機能に応じて処理能力も変わる。画像/像域データ伸張部104は、画像データを伸張する場合は、転送クロックの1サイクル当たり、1画素、4成分の伸張処理能力を有する。また像域データの伸張を行う場合は、転送クロックの1サイクル当たり、2成分(2画素分)の伸張処理能力を持つ。
ここで、画像/像域データ伸張部104の画像データの伸張機能と像域データの伸張機能は排他的であり、同時にはどちらか一方だけしか実行できない。画像/像域データ伸張部104は、前述したように機能を書き換え可能なハードウェアであり、機能が固定の画像データ伸張部102や像域データ伸張部103と同じ機能で同じ処理能力を実現するために、それらと比較してより大きなゲート規模が必要である。
図6は、本実施形態に係る伸張部1におけるCMYKZモードでの各データ伸張部及び伸張部1全体の伸張処理能力を説明する図である。
このCMYKZモードでは、上述したように画像/像域データ伸張部104の機能は、画像データの伸張機能に切り換えられるため、画像/像域データ伸張部104の画像データの伸張能力は1サイクル当たり4成分(1画素分)である。これに対して、画像/像域データ伸張部104の機能が画像データの伸張機能に切り替えられた場合は、画像/像域データ伸張部104の像域データの伸張能力は0である。従って、この伸張部1全体の画像データの伸張処理能力は、1サイクル当たり8成分(2画素分)となる。一方、像域データの伸張処理能力は、1サイクル当たり2成分(2画素分)となる。これにより、図3に示すプリンタの受信速度を満たし、かつ、余剰な処理能力が発生しない。
図7は、本実施形態に係る伸張部1におけるKZモードでの各データ伸張部及び伸張部1全体の伸張処理能力を説明する図である。
このKZモードでは、画像/像域データ伸張部104の機能は、像域データの伸張機能に切り換えられる。このため、画像/像域データ伸張部104の画像データの伸張処理能力は0で、像域データの伸張処理能力は1サイクル当たり、2成分(2画素分)である。このためKZモードでは、伸張部1全体の画像データの伸張処理能力は、1サイクル当たり4成分(4画素分)となる。また像域データの伸張処理能力は、1サイクル当たり4成分(4画素分)となり、図3で示したプリンタ4の受信速度を満たし、かつ、余剰な処理能力が発生しない。
図8は、本実施形態に係る伸張部1の画像データ伸張部102の構成を示すブロック図である。
画像成分振り分け部1021は、データ入力部101から受信した4成分の圧縮画像データを、CMYKの順に分離して4つの画像成分伸張部1022〜1025にそれぞれ振り分けて出力する。画像成分伸張部1022〜1025のそれぞれは、C,M,Y,Kの圧縮画像データを伸張処理して生成した画像データを画像成分整列部1026に出力する。これら画像成分伸張部1022〜1025の画像伸張アルゴリズムはJPEGである。ここで、圧縮画像データは1成分が64画素分を単位として圧縮されているため、伸張処理により生成される画像データは1成分当たり64画素となる。これら画像成分伸張部1022〜1025のそれぞれは、64サイクルかけて1成分の64画素分の伸張処理が可能な処理速度を持ち、平均すると1サイクル当たり1成分の処理速度となる。こうして画像成分伸張部1022〜1025により、1サイクル当たり1画素データを伸張することができる。
画像成分整列部1026は、これら画像成分伸張部1022〜1025から入力した画素データをCMYKの順に整列してデータ出力部105に出力する。ここでも前述したように、伸張された画像データは、各画像成分伸張部から1成分ごとに64画素分ずつ出力される。画像成分整列部1026は、それを1画素の1成分ずつに分割して、画像成分伸張部1022〜1025から1成分ずつ順番に整列して4成分からなる1画素の画素データが出力される。
CMYKZモードの場合には、画像データのCMYKは、各色成分別に圧縮されているため、上記した手順による整列を行うことで、正しい画素の順番で出力することができる。KZモードの場合にも、画像データのKは、隣り合う4画素がそれぞれ独立な成分として圧縮されているため、上記した手順によって画素を整列することにより、元の画像データと同じ画素データの順番で出力することができる。
このように本実施形態に係る画像データ伸張部102は、4つの画像成分伸張部10022〜1025を具備し、これらを並列に動作させることによって、1サイクル当たり4成分(1画素)の伸張処理を実現している。尚、この並列処理により処理速度を向上させる構成において、処理速度と、各部の回路規模はほぼ比例の関係になる。
図9は、本実施形態に係る伸張部1の像域データ伸張部103の構成を示すブロック図である。
像域振り分け部1031は、データ入力部101から入力した圧縮像域データを、順番に分離して2つの像域伸張部1032,1033に順番に振り分けて出力する。像域伸張部1032,1033は、像域振り分け部1031から入力した圧縮像域データを伸張処理して生成した像域データを像域整列部1034に出力する。これら2つの像域伸張部1032,1033の像域伸張アルゴリズムは、JPEG−LSである。そして圧縮像域データは、1成分が64画素分を単位として圧縮されているため、伸張処理により生成される像域データは1成分当たり64画素分となる。各像域伸張部1032,1033は、64サイクルかけて1成分の64画素分の伸張処理が可能な処理速度を持ち、平均すると1サイクル当たり1成分(1画素分の像域データ)の処理速度となる。
像域整列部1034は、2つの像域伸張部1032,1033から入力した像域データを順に整列してデータ出力部105に出力する。
前述したように、伸張された像域データは、各像域伸張部1032,1033から1成分当たり64画素分ずつ出力される。像域整列部1034は、それを1成分である1画素分の像域データとして像域伸張部1032,1033から1成分ずつ交互に受け取って2画素分の像域データとして出力する。像域データは、隣り合う2画素の像域データがそれぞれ独立に圧縮されているため、上記した手順による整列を行うことで、元の画像データと同じ順番で出力することができる。
このように像域データ伸張部103は、2つの像域伸張部1032,1033を具備して、これらを並行して動作させることによって、1サイクル当たり2成分(2画素分)の処理速度を実現している。
図10は、本実施形態に係る圧縮部2の構成を示すブロック図である。
データ入力部201は、スキャナ3から転送される画像データ及び像域データが画素順に並んだデータを受信して、画像データ圧縮部202、像域データ圧縮部203及び画像/像域データ圧縮部204に出力する。データ入力部201は、制御部206の制御によって動作モードを切り換える。ここで画像データ圧縮部202、像域データ圧縮部203は、固定の画像処理機能を有する第1の画像処理部に相当し、画像/像域データ圧縮部204は、画像処理機能が可変である第2の画像処理部に該当している。
データ入力部201は、CMYKZモードの場合は、スキャナ3から受け取った画像データを画像データ圧縮部202及び画像/像域データ圧縮部204に交互に出力する。またKZモードの場合は、スキャナ3から受け取った画像データを画像データ圧縮部202にのみ出力する。またデータ入力部201は、CMYKZモードの場合は、受信した像域データを像域データ圧縮部203のみに転送する。またKZモードの場合は、受信した像域データを像域データ圧縮部203及び画像/像域データ圧縮部204に交互に出力する。
画像データ圧縮部202は、データ入力部201から入力した画像データを圧縮処理した圧縮画像データをデータ出力部205に出力する。ここで画像データは、1成分当たり64画素単位で圧縮される。こうして1成分、64画素の画素データを圧縮した圧縮画像データは、1成分の圧縮画像データとなる。
1成分の圧縮画像データは可変長バイトの長さを持ち、長さは画像データの内容により変化する。画像データ圧縮部202は、各成分の圧縮画像データの間に2バイト「0xFF」、「0xD0」のマーカを区切りとして挟んで出力する。像域データ圧縮部203は、データ入力部201から入力した像域データを圧縮処理して得られる圧縮像域データをデータ出力部205に出力する。像域データは、1成分当たり64画素単位で圧縮される。1成分、64画素を圧縮した圧縮像域データは、1成分の圧縮像域データとなる。1成分の圧縮像域データは可変長バイトの長さを持ち、長さは元の像域データの内容により変化する。像域データ圧縮部203は、各成分の圧縮像域データの間に2バイト「0xFF」、「0xD0」のマーカを区切りとして挟んで出力する。
画像/像域データ圧縮部204は、FPGA、DSP又はプロセッサで代表される処理内容が書き換え可能なハードウェアであり、制御部206の制御によって、その機能を切り換えることができる。画像/像域データ圧縮部204は、CMYKZモードの場合は、制御部206の制御によって画像データの圧縮機能に切り換えられ、データ入力部201から入力した画像データを圧縮処理して得られる圧縮画像データをデータ出力部205に出力する。こうして画像データ圧縮部202との間で画像データの圧縮処理を分散して処理する。この場合の画像データ圧縮機能のアルゴリズムは、後述する画像データ圧縮部202の画像データ圧縮アルゴリズムと同じものである。
また画像/像域データ圧縮部204は、KZモードの場合は、制御部206の制御によって像域データ圧縮機能に切り換えられ、データ入力部201から受け取った像域データを圧縮処理した圧縮像域データをデータ出力部205に出力する。こうして画像データ圧縮部202と間で像域データの圧縮処理を分散して処理する。尚、像域データ圧縮機能のアルゴリズムは、後述する像域データ圧縮部203の像域データ圧縮アルゴリズムと同じである。
データ出力部205は、画像データ圧縮部202、像域データ圧縮部203及び画像/像域データ圧縮部204から受け取った圧縮画像データ及び圧縮像域データを順番に並べてバス8を介してメモリ6に出力する。データ出力部205は、制御部206の制御によって動作モードを切り換える。即ち、データ出力部205は、CMYKZモードの場合は、画像データ圧縮部202、画像/像域データ圧縮部204、及び、像域データ圧縮部203から入力した圧縮画像データ及び圧縮像域データを、次の順番でバス8を介してメモリ6に出力する。即ち、最初に、画像データ圧縮部202からの4成分の圧縮画像データ、次に像域データ圧縮部203からの1成分の圧縮像域データを出力する。次に画像/像域データ圧縮部204からの4成分の圧縮画像データ、そして像域データ圧縮部203からの1成分の圧縮像域データを出力する。これを1ライン当たり64回繰り返して4096画素分の圧縮画像データを出力する。
データ出力部205は、KZモードの場合は、画像データ圧縮部202、像域データ圧縮部203、及び、画像/像域データ圧縮部204から入力した圧縮画像データ及び圧縮像域データを次の順番でバス8を介してメモリ6に出力する。即ち、最初に、画像データ圧縮部202からの1成分の圧縮画像データ、次に像域データ圧縮部203からの1成分の圧縮像域データを出力する。次に、画像データ圧縮部202からの1成分の圧縮画像データ、次に画像/像域データ圧縮部204からの1成分の圧縮像域データを出力する。これを1ライン当たり64回繰り返して、4096画素分の圧縮像域データを出力する。
制御部206は、CPU5から受信した制御信号に応じてデータ入力部201、画像/像域データ圧縮部204、及び、データ出力部205に対して動作モード切り替え信号を転送して制御する。
図11は、本実施形態に係る圧縮部2の画像データ圧縮部202、像域データ圧縮部203及び画像/像域データ圧縮部204の1サイクル当たりの処理能力と、ゲート規模を説明する図である。
画像データ圧縮部202及び像域データ圧縮部203の機能は固定である。画像データ圧縮部202は、1サイクル当たり4成分(1画素分)の処理能力を有しており、像域データ圧縮部203は、1サイクル当たり2成分(2画素分)の処理能力を有している。画像/像域データ圧縮部204の機能は前述の通り制御部206の制御によって切り換わり、その機能に応じて処理能力も切り換わる。画像/像域データ圧縮部204は、画像データを圧縮する場合は1サイクル当たり4成分(1画素分)の処理能力を有し、像域データの圧縮を行う場合は1サイクル当たり2成分(2画素分)の処理能力を持つ。画像/像域データ圧縮部204の画像データ圧縮機能と像域データ圧縮機能は排他的であり、同時にはどちらか一方だけしか実行できない。
画像/像域データ圧縮部204は、前述の通り機能を書き換え可能なハードウェアである。機能が固定の画像データ圧縮部202や像域データ圧縮部203と同じ機能で同じ処理能力を実現するために、それらと比較してより大きなゲート規模が必要である。
図12は、本実施形態に係る圧縮部2のCMYKZモードにおける各データ圧縮部及び圧縮部2全体の圧縮処理能力を説明する図である。
CMYKZモードでの画像/像域データ圧縮部204の機能は、画像データの圧縮機能に切り換えられ、画像/像域データ圧縮部204の画像データの圧縮能力は1サイクル当たり4成分(1画素分)で、像域データの圧縮能力は0である。そのため圧縮部2全体の画像データの圧縮処理能力は、画像データ圧縮部202と画像/像域データ圧縮部204とで、1サイクル当たり8成分(2画素分)となる。また像域データの圧縮能力は、1サイクル当たり2成分(2画素分)となる。これは図2に示すスキャナ3の転送速度を満たし、かつ、余剰な処理能力が発生していないことが分かる。
図13は、本実施形態に係る圧縮部2のKZモードにおける各データ圧縮部及び圧縮部2全体の圧縮処理能力を説明する図である。
KZモードでの画像/像域データ圧縮部204の機能は、像域データの圧縮機能に切り換えられるため、画像/像域データ圧縮部204の画像データの圧縮処理能力は0となる。そして像域データの圧縮能力は、1サイクル当たり2成分(2画素分)である。そのため圧縮部2全体の画像データの圧縮能力は、1サイクル当たり4成分(1画素分)であり、像域データの圧縮能力は、1サイクル当たり4成分(4画素分)となる。これは図2で示したスキャナ3のデータ転送速度を満たし、かつ余剰な処理能力が発生していないことが分かる。
図14は、本実施形態に係る圧縮部2の画像データ圧縮部202の構成を示すブロック図である。
画像成分振り分け部2021は、データ入力部201から入力した画像データの各色成分を分離して4つの画像成分圧縮部2022〜2025に振り分けて出力する。各色成分に分離するとは、CMYKZモードのときは、CMYK画像データをC,M,Y及びKのそれぞれの成分に分離する。またKZモードのときは、K画像データをラインの先頭から(4×i+0)画素目、(4×i+1)画素目、(4×i+2)画素目、及び、(4×i+3)画素目(iは0以上2047以下の整数)に分離する。つまりKZモードの場合は、1成分のK画像データを便宜的に4成分の画像データとみなして4つに分離する。
画像成分圧縮部2022〜2025のそれぞれは、画像成分振り分け部2021から入力した1成分の画像データを圧縮処理し、生成した圧縮画像データを画像成分整列部2026に出力する。ここで、4つの画像成分圧縮部2022〜2025の画像圧縮アルゴリズムはJPEGであり、画像データは1成分ごとに64画素を単位として圧縮される。また出力される圧縮画像データは、1成分毎に64画素分の画像データをまとめて圧縮した圧縮コードとなる。各画像成分圧縮部は、64サイクルで1成分の64画素分の画像データを圧縮できる処理速度を有している。これにより、平均して1サイクル当たり1成分の画像データを圧縮することができる。
画像成分整列部2026は、4つの画像成分圧縮部2022〜2025から入力した圧縮画像データを、各成分毎に順に入力して整列してデータ出力部205に出力する。このように、画像データ圧縮部202は、4つの画像成分圧縮部2022〜2025を有し、これらを並行して動作させることによって、1サイクル当たり、4成分(1画素分)のデータ圧縮速度を実現している。このような並列処理により処理速度を向上でき、処理速度とゲート規模はほぼ比例の関係になると考えられる。
図15は、本実施形態に係る圧縮部2の像域データ圧縮部203の構成を示すブロック図である。
像域振り分け部2031は、データ入力部201から入力した像域データを、成分毎に分離して2つの像域圧縮部2032,2033に、順番に振り分けて出力する。ここで成分毎に分離するとは、像域データZを、ラインの先頭から(2×i+0)画素目、及び、(2×i+1)画素目(iは0以上4095以下の整数)に分離することである。つまり、1成分しかない像域データZを便宜的に2成分の像域データとみなして分離する。
像域圧縮部2032,2033は、像域振り分け部2031から入力した1成分の像域データを圧縮し、生成した圧縮像域データを像域整列部2034に出力する。ここで、2つの像域圧縮部2032,2033の像域圧縮アルゴリズムは、JPEG−LSである。圧縮像域データは、1成分64画素を単位として圧縮され、出力される圧縮像域データは1成分64画素分の像域データをまとめて圧縮した圧縮コードとなる。そして像域圧縮部2032,2033は、64サイクルかけて1成分64画素分の圧縮処理が可能な処理速度を持ち、平均して1サイクル当たり1成分(1画素分)の処理速度となる。
像域整列部2034は、2つの像域圧縮部2032,2033から入力した圧縮像域データを、1成分64画素を圧縮した各成分毎に交互に整列してデータ出力部205に出力する。
このように、像域データ圧縮部203は、2つの像域圧縮部2032,2033を有し、これらを並行して動作させることによって、1サイクル当たり、2成分(2画素)の処理速度を実現している。
図16は、本実施形態に係る画像処理システムにおいて、CMYKZモードでスキャナ3から圧縮部2に画像データ及び像域データを出力するタイミングを表したタイミングチャートである。また、この図16は、CMYKZモードにおいて、伸張部1からプリンタ4に画像データ及び像域データを出力するタイミングをも表している。
図において、clockは転送クロックを示し、ここでは転送クロックの1サイクル当たり2画素(8成分)のデータがクロックに同期して転送される。従って、1ラインが8192画素のデータは、転送クロックの4096サイクルで転送される。よって、1サイクル当たり転送される画像データは、2画素分のC,M,Y,Kの64ビット、像域データは2画素分の16ビットで合計80ビットとなる。尚、図において、C0,M0,Y0,K0は一番目の画素のC,M,Y,Kデータを示し、Z0は一番目の画素に対応する像域データを示している。以下同様にして、8192番目の画素までが記述される。また、上記80ビットのデータは、data[79:0]で表される。またenableは、これらデータが有効であることを示す信号である。これらは以下のタイミングチャートでも同様である。
図17(A)〜(C)は、本実施形態に係る圧縮部2のCMYKZモードにおいて、データ入力部201から各データ圧縮部への画像データを転送するタイミングを説明するタイミングチャートである。また本実施形態に係る伸張部1のCMYKZモードにおいて、画像データ伸張部からデータ出力部105に画像データを転送するタイミングをも表している。
図17(A)は、図10のデータ入力部201から画像データ圧縮部202に画像データを転送するタイミングを表している。またこの図17(A)は、本実施形態に係る伸張部1のCMYKZモードにおいて、図4の画像データ伸張部102からデータ出力部105に画像データを転送するタイミングをも表している。
ここでは、転送クロック(clock)の1サイクル当たり1画素のCMYKデータがクロックに同期して転送される。前述したように、CMYKZモードでは、画像データはデータ入力部201から画像データ圧縮部202及び画像/像域データ圧縮部204に対して交互に出力される。このため画像データ圧縮部202へのデータ転送量は、1ライン分の画素データの半分に該当する4096画素となる。従って、1ライン当たり4096画素のデータが連続してデータ入力部201から画像データ圧縮部202に転送され、1ラインの画素データの転送サイクル数は4096サイクルとなる。
図17(B)は、図10のデータ入力部201から画像/像域データ圧縮部204に画像データを転送するタイミングを表している。またこの図17(B)は、本実施形態に係る伸張部1のCMYKZモードにおいて、図4の画像/像域データ伸張部104からデータ出力部105に画像データを転送するタイミングをも表している。
図17(C)は、図10のデータ入力部201から像域データ圧縮部203に像域データを転送するタイミングを表している。また、この図17(C)は、本実施形態に係る伸張部1のCMYKZモードにおいて、図4の像域データ伸張部103からデータ出力部105に像域データを転送するタイミングをも表している。
ここでは、転送クロック(clock)の1サイクル当たり2画素分の像域データがクロックに同期して転送される。前述したように、CMYKZモードでは、像域データはデータ入力部201から像域データ圧縮部203に対してのみ転送されるため、像域データ圧縮部203に対しての転送量は、1ライン全体で8192画素となる。従って、1ライン当たり8192画素のデータが連続して転送され、1ライン当たりの転送サイクル数は4096サイクルとなる。
図18(A)〜(D)は、本実施形態に係る圧縮部2の画像データ圧縮部202のCMYKZモードで、図14の画像成分振り分け部2021から各画像成分圧縮部に画像データを転送するタイミングを表したタイミングチャートである。
またこの図は、本実施形態に係る画像データ伸張部102のCMYKZモードにおいて、図8の各画像成分伸張部から画像成分整列部1026に画像データを転送するタイミングをも表している。
図18(A)は、図14の画像成分振り分け部2021から画像成分圧縮部2022にC成分の画像データを転送するタイミングを示している。ここでは画像データのC成分が画像成分圧縮部2022に送られて圧縮される。またこの図18(A)は、図8の画像成分伸張部1022から画像成分整列部1026にC成分の画像データを転送するタイミングをも示している。
図18(B)は、図14の画像成分振り分け部2021から画像成分圧縮部2023にM成分の画像データを転送するタイミングを示している。ここでは画像データのM成分が画像成分圧縮部2023に送られて圧縮される。また図18(B)は、図8の画像成分伸張部1023から画像成分整列部1026にM成分の画像データを転送するタイミングを示している。
図18(C)は、図14の画像成分振り分け部2021から画像成分圧縮部2024にY成分の画像データを転送するタイミングを示している。ここでは画像データのY成分が画像成分圧縮部2024に送られて圧縮される。また図18(C)は、図8の画像成分伸張部1024から画像成分整列部1026にY成分の画像データを転送するタイミングを示している。
図18(D)は、図14の画像成分振り分け部2021から画像成分圧縮部2025にK成分の画像データを転送するタイミングを示している。ここでは画像データのK成分が画像成分圧縮部2025に送られて圧縮される。また図18(D)は、図8の画像成分伸張部1025から画像成分整列部1026にK成分の画像データを転送するタイミングを示している。
図19(A)〜(D)は、本実施形態に係る圧縮部2の画像データ圧縮部202のCMYKZモードで、各画像成分圧縮部から画像成分整列部2026(図14)に圧縮画像データを転送するタイミングを表したタイミングチャートである。またこの図は、本実施形態に係る画像データ伸張部102のCMYKZモードにおいて、画像成分振り分け部1021から各画像成分伸張部(図8)に圧縮画像データを転送するタイミングも示している。
図19(A)は、図14の画像成分圧縮部2022から画像成分整列部2026に圧縮したC成分の画像データ(C/で示す)を転送するタイミングを示す。また、この図19(A)は、図8の画像成分振り分け部1021から画像成分伸張部1022に圧縮されたC成分の画像データを転送するタイミングも示している。
図19(B)は、図14の画像成分圧縮部2023から画像成分整列部2026に圧縮したM成分の画像データ(M/で示す)を転送するタイミングを示す。またこの図19(B)は、画像成分振り分け部1021から画像成分伸張部1023に、圧縮されたM成分の画像データを転送するタイミングも示している。
図19(C)は、図14の画像成分圧縮部2024から画像成分整列部2026に圧縮したY成分の画像データ(Y/で示す)を転送するタイミングを示す。また図19(C)は、図8の画像成分振り分け部1021から画像成分伸張部1024に、圧縮したY成分の画像データを転送するタイミングを示す。
図19(D)は、図14の画像成分圧縮部2025から画像成分整列部2026に圧縮したK成分の画像データ(K/で示す)を転送するタイミングを示す。また図19(D)は、図8の画像成分振り分け部1021から画像成分伸張部1025に、圧縮されたK成分の画像データを転送するタイミングを示す。
図20(A)(B)は、本実施形態に係る圧縮部2の像域データ圧縮部203のCMYKZモードで、図15の像域振り分け部2031から各像域圧縮部に像域データを転送するタイミングを表すタイミングチャートである。また、この図は、本実施形態に係る画像データ伸張部102のCMYKZモードにおいて、図9の各像域伸張部から像域整列部1034に像域データを転送するタイミングも示している。
図20(A)は、図15の像域振り分け部2031から像域圧縮部2032に像域データを転送するタイミングを示している。また図20(A)は、図9の像域伸張部1032から像域整列部1034に像域データを転送するタイミングをも示している。
図20(B)は、図15の像域振り分け部2031から像域圧縮部2033に像域データを転送するタイミングを示す。また図20(B)は、図9の像域伸張部1033から像域整列部1034に像域データを転送するタイミングも示す。
図21(A)(B)は、本実施形態に係る圧縮部2の像域データ圧縮部203のCMYKZモードにおいて、図15の各像域圧縮部から像域整列部2034に圧縮した像域データを転送するタイミングを示すタイミングチャートである。またこの図21は、本実施形態に係る像域データ伸張部103のCMYKZモードにおいて、図9の像域振り分け部1031から各像域伸張部に圧縮した像域データを転送するタイミングを示すタイミングチャートである。
図21(A)は、図15の像域圧縮部2032から像域整列部2034に圧縮した像域データ(Z/で示す)を転送するタイミングを表している。また図21(A)は、図9の像域振り分け部1031から像域伸張部1032に、圧縮された像域データを転送するタイミングを示している。
図21(B)は、図15の像域圧縮部2033から像域整列部2034に圧縮した像域データ(Z/で示す)を転送するタイミングを表している。また図21(B)は、図9の像域振り分け部1031から像域伸張部1033に、圧縮された像域データを転送するタイミングを表している。
図22(A)〜(C)は、本実施形態に係る圧縮部2(図10)のCMYKZモードにおいて、各データ圧縮部からデータ出力部205に圧縮したデータを転送するタイミングを示すタイミングチャートである。またこの図は、本実施形態に係る伸張部1(図4)のCMYKZモードにおいて、データ入力部101から各データ伸張部に、圧縮されたデータを転送するタイミングをも示している。
図22(A)は、画像データ圧縮部202からデータ出力部205に圧縮した画像データを転送するタイミングを示している。またこの図は、図4のデータ入力部101から画像データ伸張部102に、圧縮された画像データを転送するタイミングも示している。
図22(B)は、図10の画像/像域データ圧縮部204からデータ出力部205に圧縮した画像データを転送するタイミングを表している。またこの図は、図4のデータ入力部101から画像/像域データ伸張部104に、圧縮された画像データを転送するタイミングを表している。
図22(C)は、図10の像域データ圧縮部203からデータ出力部205に圧縮した像域データを転送するタイミングを表している。またこの図は、図4のデータ入力部101から像域データ伸張部103に、圧縮された像域データを転送するタイミングをも表している。
図23は、本実施形態に係る画像処理システムのCMYKZモードで、圧縮部2からメモリ6に、圧縮画像データ及び圧縮像域データを転送するタイミングを表したタイミングチャートである。また、この図は、CMYKZモードにおいて、メモリ6から伸張部1に圧縮画像データ及び圧縮像域データを転送するタイミングも示している。
ここでは、転送クロックの1サイクル当たり、16バイト(128ビット)のデータがクロックに同期して転送される。
圧縮コードデータは、64画素分の圧縮画像データ成分と圧縮像域データ成分を含み、これらは2バイトのマーカ「0xFF」、「0xD0」により区切られている。図中、「C/0」は、C成分の圧縮画像データの0番目を表しており、「M/0」は、M成分の圧縮画像データ0番目、「Y/0」は、Y成分の圧縮画像データの0番目、「K/0」はK成分の圧縮画像データの0番目をそれぞれを表している。また「Z/0」は、圧縮した像域データの0番目を表している。以下、同様にして、1ラインに相当する127番目の圧縮画像データ、圧縮像域データまでが示されている。
図24は、本実施形態に係る画像処理システムのKZモードにおいて、スキャナ3から圧縮部2に画像データ及び像域データを転送するタイミングを表したタイミングチャートである。また、この図24は、KZモードにおいて、伸張部1からプリンタ4に画像データ及び像域データを転送するタイミングを表している。
ここでは、転送クロック(clock)の1サイクル当たり4画素分のデータがクロックに同期して転送される。また1ライン当たり8192画素のデータが連続して転送され、1ライン当たりの転送サイクル数は、2048サイクルである。更に、1サイクル当たりに転送する画像データは80ビットで、これはdata[79:0]で表される。そして、1サイクル当たり、1画素を構成する画像データと像域データの組が4組転送される。よって、1サイクル当たりに転送されるデータは4画素分である。ここで画像データはK(黒)成分のみで構成され、像域データは1つの成分Zで構成される。尚、ここでは、1サイクル当たり、data[15:0]で表される16ビットに固定値「0」がセットされている。
図25(A)〜(C)は、本実施形態に係る圧縮部2のKZモードにおいて、図10のデータ入力部201から各データ圧縮部に画像データ及び像域データを転送するタイミングを表したタイミングチャートである。また、この図25は、伸張部1のKZモードにおいて、図4の各データ伸張部からデータ出力部105に画像データ及び像域データを転送するタイミングをも表している。ここでは1ライン当たり8192画素のデータが連続して転送され、1ライン当たりの転送サイクル数は2048サイクルである。
図25(A)は、図10のデータ入力部201から画像データ圧縮部202にK成分の画像データを転送するタイミングを示している。またこの図は、図4の画像データ伸張部102からデータ出力部105にK成分の画像データを転送するタイミングを表している。前述したように、KZモードでは、画像データはデータ入力部201から画像データ圧縮部202のみに転送されるため、画像データ圧縮部202へのデータ転送量は、1ライン全体で8192画素となる。ここでは、転送クロック(clock)の1サイクル当たり、4画素のデータがクロックに同期して転送される。
図25(B)は、図10のデータ入力部201から画像/像域データ圧縮部204に像域データを転送するタイミングを表している。また図25(B)は、図4の画像/像域データ伸張部104からデータ出力部105に像域データを転送するタイミングを示している。ここでは1サイクル当たり2画素分の像域データがクロックに同期して転送される。
前述したように、KZモードでは、像域データはデータ入力部201から像域データ圧縮部203及び画像/像域データ圧縮部204に交互に転送される。このため、画像/像域データ圧縮部204へのデータ転送量は、ライン全体の画素データの半分で4096画素となる。従って、1ライン当たり4096画素のデータが連続して転送され、1ライン当たりの転送サイクル数は2048サイクルである。
図25(C)は、図10のデータ入力部201から像域データ圧縮部203に像域データを転送するタイミングを表している。また、この図25(C)は、図4の像域データ伸張部103からデータ出力部105に像域データを転送するタイミングをも表している。ここでは1サイクル当たり2画素の像域データがクロックに同期して転送される。
前述したように、KZモードでは、像域データはデータ入力部201から像域データ圧縮部203及び画像/像域データ圧縮部204に交互に転送されるため、像域データ圧縮部203へのデータ転送量は、ライン全体の画素データの半分で4096画素となる。従って、1ライン当たり4096画素のデータが連続して転送され、1ライン当たりの転送サイクル数は2048サイクルである。また、ここでは16ビットのデータdata[15:0]には、固定値「0」がセットされている。
図26(A)〜(D)は、本実施形態に係る圧縮部2の画像データ圧縮部202のKZモードにおいて、画像成分振り分け部2021から各画像成分圧縮部に1画素分のK成分の画像データを転送するタイミングを表したタイミングチャートである。また図26は、伸張部1のKZモードにおいて、各画像成分伸張部から画像成分整列部1026に1画素分のK成分の画像データを転送するタイミングを表している。
図26(A)は、図14の画像成分振り分け部2021から画像成分圧縮部2022にK成分の画像データを転送するタイミングを表している。また、この図は、画像成分伸張部1022から画像成分整列部1026にK成分の画像データを転送するタイミングを表している。
図26(B)は、図14の画像成分振り分け部2021から画像成分圧縮部2023にK成分の画像データを転送するタイミングを表している。また図26(B)は、図8の画像成分伸張部1023から画像成分整列部1026にK成分の画像データを転送するタイミングを表している。
図26(C)は、図14の画像成分振り分け部2021から画像成分圧縮部2024にK成分の画像データを転送するタイミングを表している。また図26(C)は、図8の画像成分伸張部1024から画像成分整列部1026にK成分の画像データを転送するタイミングを表している。
図26(D)は、図14の画像成分振り分け部2021から画像成分圧縮部2025にK成分の画像データを転送するタイミングを表している。また図26(D)は、図8の画像成分伸張部1025から画像成分整列部1026にK成分の画像データを転送するタイミングを表している。
図27(A)〜(D)は、本実施形態に係る圧縮部2の画像データ圧縮部202のKZモードで、図14の各画像成分圧縮部から画像成分整列部2026にK成分の圧縮画像データを転送するタイミングを表したタイミングチャートである。また、この図27は、図8の画像成分振り分け部1021から各画像成分伸張部に、K成分の圧縮画像データを転送するタイミングをも表している。
図27(A)は、図14の画像成分圧縮部2022から画像成分整列部2026にK成分の圧縮画像データ(K/)を転送するタイミングを示している。また、この図は、画像成分振り分け部1021から画像成分伸張部1022に、K成分の圧縮画像データを転送するタイミングを示している。
図27(B)は、図14の画像成分圧縮部2023から画像成分整列部2026にK成分の圧縮画像データを転送するタイミングを表している。また図27(B)は、図8の画像成分振り分け部1021から画像成分伸張部1023に、K成分の圧縮画像データを転送するタイミングを示している。
図27(C)は、図14の画像成分圧縮部2024から画像成分整列部2026にK成分の圧縮画像データを転送するタイミングを示している。また図27(C)は、図8の画像成分振り分け部1021から画像成分伸張部1024に、K成分の圧縮画像データを転送するタイミングを示している。
図27(D)は、図14の画像成分圧縮部2025から画像成分整列部2026にK成分の圧縮画像データを転送するタイミングを示している。また、この図は、図8の画像成分振り分け部1021から画像成分伸張部1025に、K成分の圧縮画像データを転送するタイミングを示している。
図28(A)(B)は、図15の像域データ圧縮部203のKZモードにおいて、像域振り分け部2031から各像域圧縮部に像域データを転送するタイミングを表したタイミングチャートである。またこの図は、図9の像域データ伸張部103のKZモードにおいて、各像域伸張部から像域整列部1034に像域データを転送するタイミングを表したタイミングチャートでもある。
図28(A)は、図15の像域振り分け部2031から像域圧縮部2032に像域データを転送するタイミングを示している。また、この図は、図9の像域伸張部1032から像域整列部1034に像域データを転送するタイミングを示している。
図28(B)は、図15の像域振り分け部2031から像域圧縮部2033に像域データを転送するタイミングを示している。またこの図は、図9の像域伸張部1033から像域整列部1034に像域データを転送するタイミングを示している。
図29(A)(B)は、本実施形態に係る像域データ圧縮部203(図15)のKZモードにおいて、各像域圧縮部から像域整列部2034に圧縮した像域データを転送するタイミングを表すタイミングチャートである。また、この図は、本実施形態に係る像域データ伸張部103(図9)のKZモードにおいて、像域振り分け部1031から各像域伸張部に、圧縮された像域データを転送するタイミングを表している。
図29(A)は、像域圧縮部2032から像域整列部2034に圧縮した像域データを転送するタイミングを表している。また、この図は、図9の像域振り分け部1031から像域伸張部1032に、圧縮された像域データを転送するタイミングを示している。
図29(B)は、図15の像域圧縮部2033から像域整列部2034に圧縮した像域データを転送するタイミングを示している。また、この図は、図9の像域振り分け部1031から像域伸張部1033に、圧縮された像域データを転送するタイミングを示している。
図30(A)〜(C)は、本実施形態に係る圧縮部2のKZモードにおいて、各データ圧縮部からデータ出力部205に圧縮したデータを転送するタイミングを表したタイミングチャートである。また、この図30は、本実施形態に係る伸張部1のKZモードにおいて、図4のデータ入力部101から各データ伸張部に、圧縮されたデータを転送するタイミングを表したタイミングチャートでもある。
図30(A)は、図10の画像データ圧縮部202からデータ出力部205にK成分の圧縮画像データを転送するタイミングを示している。また、この図は、図4のデータ入力部101から画像データ伸張部102に、K成分の圧縮画像データを転送するタイミングを示している。
図30(B)は、図10の画像/像域データ圧縮部204からデータ出力部205に圧縮した像域データを転送するタイミングを示している。またこの図は、図4のデータ入力部101から画像/像域データ伸張部104に、圧縮された像域データを転送するタイミングを示している。
図30(C)は、図10の像域データ圧縮部203からデータ出力部205に圧縮した像域データを転送するタイミングを示している。またこの図は、図4のデータ入力部101から像域データ伸張部103に、圧縮された像域データを転送するタイミングを示している。
図31は、本実施形態に係る画像処理システムのKZモードにおいて、圧縮部2からメモリ6に圧縮画像データ及び圧縮像域データを転送するタイミングを表したタイミングチャートである。またこの図は、KZモードにおいて、メモリ6から伸張部1に、圧縮画像データ及び圧縮像域データを転送するタイミングをも表している。
ここでも、enable信号がハイレベルの間にデータ転送が実行され、転送クロックの1サイクル当たり、16バイトのデータがクロックに同期して転送される。ここで圧縮コードデータは、2バイトのマーカ「0xFF」、「0xD0」により、64画素分の圧縮画像データと、圧縮像域データとを区切っている。「K/0」は、K成分の圧縮画像データ0番目を示し、「Z/0」は、圧縮された像域データの0番目を表している。以下同様にして、K成分の圧縮画像データと像域データが表されている。
以上の構成を有する画像処理システム全体の動作の流れを以下に説明する。
まず、CMYKZモードの場合を説明する。
CPU5は伸張部1、圧縮部2、スキャナ3、及びプリンタ4に対して動作モードをCMYKZモードに切り換える制御信号を送信する。これにより伸張部1、圧縮部2、スキャナ3、及び、プリンタ4の動作モードは、CMYKZモードに変更される。このとき伸張部1は、制御部106(図4)の制御により画像/像域データ伸張部104の機能を画像データ伸張機能に切り換える。また圧縮部2は、制御部206(図10)の制御により画像/像域データ圧縮部204の機能を画像データ圧縮機能に切り換える。
次に、CPU5はスキャナ3に対してスキャン開始を指示する。これによりスキャナ3は、原稿の読み取りを開始し、図16で示すタイミングで画像データ及び像域データを圧縮部2に出力する。圧縮部2は、この画像データ及び像域データをデータ入力部201(図10)により入力する。データ入力部201は、その画像データ及び像域データを図17で示すタイミングで画像データと像域データに分離して、画像データを画像データ圧縮部202と画像/像域データ圧縮部204とに供給し、像域データを像域データ圧縮部203に供給する。これにより画像データ圧縮部202は、図17(A)で示すように、画像データを画像成分振り分け部2021から入力する。画像成分振り分け部2021(図14)は、入力した画像データを図18(A)〜(D)で示すように分割して、画像成分圧縮部2022、画像成分圧縮部2023、画像成分圧縮部2024、及び、画像成分圧縮部2025に供給する。
画像成分圧縮部2022は、入力した画像データをJPEG圧縮して図19(A)で示すようにC成分の圧縮画像データを生成して画像成分整列部2026に出力する。画像成分圧縮部2023は、入力した画像データをJPEG圧縮して図19(B)で示す圧縮画像データを生成して画像成分整列部2026に出力する。画像成分圧縮部2024は、入力した画像データをJPEG圧縮して図19(C)で示す圧縮画像データを生成し、画像成分整列部2026に出力する。また画像成分圧縮部2025は、入力した画像データをJPEG圧縮して図19(D)に示す圧縮画像データを生成して画像成分整列部2026に出力する。画像成分整列部2026は、これらC,M,Y,K成分の圧縮画像データを元の画像データの色成分の順に並べ替えて、図22(A)で示す圧縮画像データを生成してデータ出力部205に出力する。
また画像/像域データ圧縮部204は、データ入力部201から供給された図17(B)に示す画像データを画像データ圧縮部202と同じ方法で圧縮し、図22(B)に示す圧縮画像データを生成してデータ出力部205に出力する。
像域データ圧縮部203は、データ入力部201から供給された図17(C)に示す像域データを像域振り分け部2031(図15)で受取る。像域振り分け部2031は、その像域データを図20(A)(B)に示すように像域データに分割して、像域圧縮部2032及び像域圧縮部2033に出力する。像域圧縮部2032は、入力した像域データをJPEG−LS圧縮して図21(A)に示す圧縮像域データを生成して像域整列部2034に出力する。また像域圧縮部2033は、入力した像域データをJPEG−LS圧縮して図21(B)に示す圧縮像域データを生成して像域整列部2034に出力する。像域整列部2034は、これら圧縮像域データを上述の通りに並べ替えて図22(C)に示すように圧縮像域データを生成してデータ出力部205に出力する。
データ出力部205は、これら圧縮画像データ及び圧縮像域データを受け取って、上述の通りに並べ替えて図23に示す圧縮画像データ及び圧縮像域データを生成しバス8を介してメモリ6に転送する。CPU5は、こうしてメモリ6に格納された図23に示す圧縮画像データ及び圧縮像域データをHDD7に転送して記憶する。
次にこうして記憶された圧縮画像データ及び圧縮像域データの伸張処理を説明する。
CPU5は、HDD7に格納した図23に示す圧縮画像データ及び圧縮像域データを読み出してメモリ6に格納し、その後、伸張部1に出力する。これrにより伸張部1は、その圧縮画像データ及び圧縮像域データをデータ入力部101で受信する。データ入力部101は、その受信した圧縮画像データ及び圧縮像域データを図22(A)〜(C)に示すように圧縮画像データと圧縮像域データとに分離する。そして圧縮画像データを画像データ伸張部102と画像/像域データ伸張部104に、また圧縮像域データを像域データ伸張部103に供給する。
画像データ伸張部102は、供給された図22(A)に示す圧縮画像データを画像成分振り分け部1021(図8)で受信する。画像成分振り分け部1021は、その供給された圧縮画像データを図19(A)〜(D)で示すように圧縮画像データに分割する。そして、それぞれを画像成分伸張部1022、画像成分伸張部1023、画像成分伸張部1024及び画像成分伸張部1025に転送する。画像成分伸張部1022は、入力した圧縮画像データをJPEG伸張して図18(A)で示す画像データを生成して画像成分整列部1026に出力する。また画像成分伸張部1023は、入力した圧縮画像データをJPEG伸張して図18(B)で示す画像データを生成して画像成分整列部1026に出力する。画像成分伸張部1024は、入力した圧縮画像データをJPEG伸張して図18(C)に示す画像データを生成して画像成分整列部1026に出力する。そして画像成分伸張部1025は、入力した圧縮画像データをJPEG伸張して図18(D)に示す画像データを生成して画像成分整列部1026に出力する。画像成分整列部1026は、これら各成分の画像データを上述の通りに並べ替えて図17(A)で示す画像データを生成してデータ出力部105に出力する。また画像/像域データ伸張部104は、入力した図22(B)に示す圧縮画像データを画像データ伸張部102と同じ方法で伸張し、図17(B)に示すような画像データを生成してデータ出力部105に出力する。
像域データ伸張部103は、入力した図22(C)に示す圧縮像域データを像域振り分け部1031(図9)で受信する。像域振り分け部1031は、受信した圧縮像域データを図21(A)(B)に示すように圧縮像域データに分割し、それぞれを像域伸張部1032と像域伸張部1033に出力する。像域伸張部1032は、入力し圧縮像域データをJPEG−LS伸張して図20(A)に示す像域データを生成して像域整列部1034に供給する。また像域伸張部1033は、入力した圧縮像域データをJPEG−LS伸張し、図20(B)で示すように像域データを生成して像域整列部1034に出力する。像域整列部1034は、これら受信した像域データを上述の通りに並べ替えて図17(C)に示す像域データを生成してデータ出力部105に出力する。データ出力部105は、これら画像データ及び像域データを上述の通りに並べ替えて図16に示すような画像データ及び像域データを生成してプリンタ4に出力する。これによりプリンタ4は、これら画像データ及び像域データを受信して印刷する。
次に、KZモードの場合を説明する。
CPU5は、伸張部1、圧縮部2、スキャナ3及びプリンタ4に対して動作モードをKZモードに切り換える制御信号を送信する。これにより伸張部1、圧縮部2、スキャナ3及びプリンタ4の動作モードはKZモードに切り換えられる。このとき伸張部1は、制御部106(図4)の制御により画像/像域データ伸張部104の機能を像域データの伸張機能に切り換える。また圧縮部2は、制御部206(図10)の制御により画像/像域データ圧縮部204の機能を像域データの圧縮機能に切り換える。
次にCPU5は、スキャナ3に対してスキャン開始を指示する。これによりスキャナ3が原稿の読み取りを開始し、図24に示すように画像データ及び像域データを圧縮部2に出力する。圧縮部2は、その図24で示す画像データ及び像域データをデータ入力部201で受信する。データ入力部201は、入力した画像データ及び像域データを図25(A)〜(C)に示す画像データ及び像域データに分離して、それぞれを画像データ圧縮部202、画像/像域データ圧縮部204及び像域データ圧縮部203に出力する。画像データ圧縮部202は、図25(A)に示す画像データを画像成分振り分け部2021(図14)で受取る。
画像成分振り分け部2021は、その受信した画像データを図26(A)〜(D)に示す画像データに分割して、それぞれ画像成分圧縮部2022、画像成分圧縮部2023、画像成分圧縮部2024及び画像成分圧縮部2025に出力する。画像成分圧縮部2022は、入力した画像データをJPEG圧縮して図27(A)に示す圧縮画像データを生成して画像成分整列部2026に出力する。画像成分圧縮部2023は、入力した画像データをJPEG圧縮して図27(B)に示す圧縮画像データを生成して画像成分整列部2026に出力する。画像成分圧縮部2024は、入力した画像データをJPEG圧縮して図27(C)に示す圧縮画像データを生成して画像成分整列部2026に出力する。そして画像成分圧縮部2025は、入力した画像データをJPEG圧縮して図27(D)に示す圧縮画像データを生成して画像成分整列部2026に出力する。画像成分整列部2026は、これら入力した圧縮画像データを上述の通りに並べ替えて図30(A)に示す圧縮画像データを生成してデータ出力部205に出力する。
像域データ圧縮部203は、データ入力部201から供給された図25(C)に示す像域データを像域振り分け部2031(図15)で受信する。像域振り分け部2031は、入力した像域データを図28(A)(B)に示す像域データに分割し、それぞれ像域圧縮部2032と像域圧縮部2033に出力する。像域圧縮部2032は、入力した像域データをJPEG−LS圧縮して図29(A)に示す圧縮像域データを生成して像域整列部2034に出力する。また像域圧縮部2033は、入力した像域データをJPEG−LS圧縮して図29(B)に示す圧縮像域データを生成して像域整列部2034に出力する。像域整列部2034は、これら圧縮像域データを上述の通りに並べ替えて図30(C)に示す圧縮像域データを生成してデータ出力部205に出力する。
次に画像/像域データ圧縮部204は、データ入力部201から受信した図25(B)に示す像域データを像域データ圧縮部203と同じ方法で圧縮し、図30(B)で示す圧縮像域データを生成してデータ出力部205に出力する。
データ出力部205は、これら受取った圧縮画像データ及び圧縮像域データを上述の通りに並べ替えて図31で示す圧縮画像データ及び圧縮像域データを生成しバス8を介してメモリ6に転送して格納する。CPU5は、こうしてメモリ6に格納された図31で示す圧縮画像データ及び圧縮像域データをHDD7に格納する。そして、この画像データの印刷時、CPU5は、HDD7に格納した図31で示す圧縮画像データ及び圧縮像域データを読み出してメモリ6に一時保存し、それを伸張部1に出力する。
伸張部1は、この転送された図31で示す圧縮画像データ及び圧縮像域データをデータ入力部101(図4)で受信する。データ入力部101は、その受信した圧縮画像データ及び圧縮像域データを図30(A)〜(C)で示す圧縮画像データ及び圧縮像域データに分離して、それぞれ画像データ伸張部102、画像/像域データ伸張部104及び像域データ伸張部103に出力する。画像データ伸張部102は、図30(A)に示す圧縮画像データを画像成分振り分け部1021(図8)で受取る。画像成分振り分け部1021は、この圧縮画像データを図27(A)〜(D)に示す圧縮画像データに分割して、それぞれ画像成分伸張部1022、画像成分伸張部1023、画像成分伸張部1024及び画像成分伸張部1025に出力する。画像成分伸張部1022は、入力した圧縮画像データをJPEG伸張して図26(A)に示す画像データを生成して画像成分整列部1026に出力する。画像成分伸張部1023は、入力した圧縮画像データをJPEG伸張して図26(B)に示す画像データを生成して画像成分整列部1026に出力する。画像成分伸張部1024は、入力した圧縮画像データをJPEG伸張して図26(C)に示す画像データを生成して画像成分整列部1026に出力する。そして画像成分伸張部1025は、入力した圧縮画像データをJPEG伸張して図26(D)に示す画像データを生成して画像成分整列部1026に出力する。画像成分整列部1026は、これら画像データを上述の通りに並べ替えて図25(A)に示す画像データを生成してデータ出力部105に出力する。
次に像域データの伸張について説明する。
像域データ伸張部103は、転送された図30(C)に示す圧縮像域データを像域振り分け部1031(図9)で受信する。像域振り分け部1031は、入力した圧縮像域データを図29(A)(B)に示す圧縮像域データに分割して、それぞれ像域伸張部1032及び像域伸張部1033に出力する。像域伸張部1032は、入力した圧縮像域データをJPEG−LS伸張して図28(A)に示す像域データを生成して像域整列部1034に出力する。また像域伸張部1033は、入力した圧縮像域データをJPEG−LS伸張して図28(B)に示す像域データを生成して像域整列部1034に出力する。像域整列部1034は、これら入力した像域データを上述の通りに並べ替えて図25(C)に示す像域データを生成してデータ出力部105に出力する。
また画像/像域データ伸張部104は、転送された図30(B)に示す圧縮像域データを像域データ伸張部103と同じ方法で伸張して図25(B)に示す像域データを生成し、データ出力部105に出力する。データ出力部105は、これら受信した画像データ及び像域データを上述の通りに並べ替えて、図24に示す画像データ及び像域データを生成してプリンタ4に出力する。こうしてプリンタ4は、この伸張部1から受信した画像データ及び像域データを基に画像を印刷する。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。