(57)【要約】【課題】分割して圧縮された各画像データへのアクセス性を向上させるとともに、メモリの利用効率を向上させることが可能な画像処理装置及び画像処理方法を提供する。【解決手段】画像データを入力する画像入力手段と、前記入力された画像データを複数の領域に分割し、１又は複数の領域に応じた複数の分割データを生成する分割手段と、前記生成された複数の分割データ夫々を前記領域毎に個別に圧縮する複数の圧縮器を有し、当該圧縮器により複数の分割圧縮データを並行して生成する圧縮手段と、記憶手段と、前記生成された各分割圧縮データを、前記記憶手段に連続的に格納する記憶制御手段と、前記格納された各分割圧縮データの格納先アドレスを示すポインタ情報を夫々取得するポインタ取得手段と、を備える。【選択図】図１
2008104164.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する画像入力手段と、
前記入力された画像データを複数の領域に分割し、１又は複数の領域からなる分割データを生成する分割手段と、
前記生成された複数の分割データを、前記領域毎に個別に圧縮する１又は複数の圧縮器を有し、当該圧縮器により複数の分割圧縮データを生成する圧縮手段と、
記憶手段と、
前記生成された各分割圧縮データを、前記記憶手段に連続的に格納する記憶制御手段と、
前記格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得するポインタ取得手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記圧縮器は、前記生成された複数の分割データを前記領域毎に個別に圧縮する際、前記領域間に相関が無い様に独立して圧縮可能な圧縮器であること
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記圧縮手段は、前記圧縮器を複数有し、該圧縮器により複数の分割圧縮データを平行して生成すること、
を特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記記憶制御手段は、先行して格納された前記分割圧縮データの最終アドレスと、次に格納する前記分割圧縮データの先頭アドレスとが連続するよう、前記記憶手段に前記分割圧縮データを格納することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項５】
前記記憶制御手段は、前記画像入力手段で入力された前記画像データの入力順序に応じた順序で、前記記憶手段に前記分割圧縮データを格納することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記記憶制御手段は、前記生成された各分割圧縮データを、前記記憶手段又は当該記憶手段とは異なる他の記憶手段に形成された第１メモリ空間に一旦格納し、当該格納された各分割圧縮データを、前記記憶手段に形成された第２メモリ空間に連続的に格納し直すことを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記第１メモリ空間は、前記圧縮器の個数と同数以上の記憶領域を有することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記記憶制御手段は、前記画像データの領域毎に、前記第１メモリ空間の所定の記憶領域を割り当て、当該各領域に対応する前記分割圧縮データの夫々を対応する記憶領域に格納することを特徴とする請求項６又は７に記載の画像処理装置。
【請求項９】
前記記憶制御手段は、前記複数の圧縮器毎に、前記第１メモリ空間の所定の記憶領域を割り当て、前記各圧縮器により圧縮された分割圧縮データの夫々を対応する記憶領域に格納することを特徴とする請求項６又は７に記載の画像処理装置。
【請求項１０】
前記分割手段は、前記分割した画像データを夫々記憶する複数のバッファメモリを有し、
前記バッファメモリの個数は、前記圧縮器の個数と同数以上であることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項１１】
前記分割手段は、画像データを８×８画素毎に分割して複数の分割データを生成し、
前記１又は複数の圧縮器は、前記複数の分割データを色空間変換する手段と、色空間変換された分割データを周波数領域のデータに変換する手段と、周波数領域に変換されたデータを量子化する手段と、量子化されたデータをエントロピー符号化する手段と、
を備えたことを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
前記量子化されたデータをエントロピー符号化する際、量子化したデータのうちその領域の平均値である直流成分をそのままエントロピー符号化することを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
分割圧縮データ及び分割圧縮データの格納先を示すポインタ情報を格納する記憶手段と、
前記記憶手段から分割圧縮データを取得し、分割された領域毎に独立して伸張する１又は複数の伸張器を有し、当該伸張器により複数の分割画像データを生成する伸張手段と、
前記記憶手段から前記ポインタ情報を取得し、その情報を基に前記分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する伸張制御手段と、
前記分割画像データ１つの画像データに結合し出力する画像出力手段と、
を備えたことを特徴とする画像処理装置。
【請求項１４】
前記１又は複数の伸張器は、前記複数の分割圧縮データをエントロピー復号化する手段と、エントロピー復号化されたデータを逆量子化する手段と、逆量子化されたデータを空間領域に変換する手段と、空間領域に変換されたデータを色空間変換する手段と、
を備えたことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記１又は複数の伸張器は、前記エントロピー復号化したデータを逆量子する際、エントロピー復号化したデータのうちその領域の平均値である直流成分をそのまま逆量子化することを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記伸張手段は複数の伸張器を有し、当該伸張器により複数の分割画像データを並行して生成することを特徴とする請求項１３乃至１５の何れか１項に記載の画像処理装置。
【請求項１７】
前記伸張制御手段は、前記ポインタ情報を基に前記分割圧縮データの伸張順序及び出力順序を制御し、それにより出力される画像データの回転方向を選択することを特徴とする請求項１２乃至１５の何れか１項に記載の画像処理装置。
【請求項１８】
前記伸張制御手段は、前記ポインタ情報を基に前記分割圧縮データの伸張範囲を制御し、それにより画像データのうち一部分を伸張することを特徴とする請求項１３乃至１６の何れか１項に記載の画像処理装置。
【請求項１９】
前記記憶手段から分割圧縮データを取得し、分割された領域毎に独立してエントロピー復号化し、領域毎の平均値である直流成分を取得して隣接する領域の直流成分との差分を計算し、エントロピー符号化することにより、ＪＰＥＧ方式に変換することを特徴とする請求項１３乃至１６の何れか１項に記載の画像処理装置。
【請求項２０】
画像データを入力する画像入力工程と、
前記入力された画像データを複数の領域に分割し、１又は複数の領域からなる分割データを生成する分割工程と、
前記生成された複数の分割データ夫々を前記領域毎に個別に圧縮する複数の圧縮器により、複数の分割圧縮データを並行して生成する圧縮工程と、
前記生成された各分割圧縮データを、記憶手段に連続的に格納する記憶制御工程と、
前記格納された各分割圧縮データの先頭アドレスを示すポインタ情報を夫々取得するポインタ取得工程と、
を含むことを特徴とする画像処理方法。
【請求項２１】
画像データを入力する画像入力工程と、
前記入力された画像データを複数の領域に分割し、１又は複数の領域からなる分割データを生成する分割工程と、
前記生成された複数の分割データ夫々を前記領域間に相関が無い様に独立して圧縮可能な１又は複数の圧縮器により、複数の分割圧縮データを生成する圧縮工程と、
前記生成された各分割圧縮データを、記憶手段に連続的に格納する記憶制御工程と、
前記格納された各分割圧縮データの先頭アドレスを示すポインタ情報を夫々取得するポインタ取得工程と、
を含むことを特徴とする画像処理方法。
【請求項２２】
分割圧縮データを取得し、分割された領域毎に独立して伸張可能な１又は複数の伸張器により、複数の分割画像データを生成する伸張工程と、
分割圧縮データの格納先を示すポインタ情報を取得し、その情報を基に前記分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する伸張制御工程と、
前記分割画像データを出力する画像出力工程と、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関し、特に画像データの圧縮にかかる画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
プリンタやデジタル複合機等の画像形成装置では、スキャナ装置等を介して入力された画像データを記憶装置に保存する際に、所定の規格に準じた画像圧縮方式により画像データを圧縮する。これは、一般的に、ＲＧＢフォーマット等の画素データはデータサイズが非常に大きいため、そのまま保存すると多大な記憶容量が必要となるためである。例えば、Ａ４サイズ、６００ｄｐｉ、１画素２４ビット（各色８ビット）の画像データのデータサイズは約１００ＭＢとなる。このため、画像データを記憶装置に保存する際には、画像データをＪＰＥＧやＪＰＥＧ２０００などの画像圧縮方式によって圧縮してデータサイズを小さくすることが行われている。また、記憶装置に保存された画像データを上述の画像形成装置にて印刷する際には、圧縮された画像データを伸張して得られた画像データに基づいて印刷処理を行うことが通常行われている。上記画像データの圧縮処理・伸張処理には、一般にＡＳＩＣ等の専用の回路が用いられているが、単独の回路構成では圧縮・伸張処理が入出力の速度に追従できない場合があった。
【０００３】
このような問題を解決するものとして、従来、入力した画像データを並列的に圧縮処理する並列入力モード、並列的に伸張したデータを出力部へ転送する並列出力モードに応じた専用の回路を夫々用意することで、圧縮・伸張処理に要する時間の短縮化を図った技術が提案されている（例えば、特許文献１参照）。
また、上記問題を解決するものとして、画像データを複数の領域に分割し、複数の画像処理部で並行処理することで、処理に要する時間の短縮化を図った技術が知られている。例えば、分割データ毎の処理時間が近似するように画像データをバンド単位で分割し、分割データを並行処理しメモリ空間に格納することで、全体の処理時間を短縮し高速化を図った技術が提案されている（例えば、特許文献２参照）。さらに、この特許文献２には、バンド単位に分割された画像データ（バンドデータ）を圧縮し、圧縮されたバンドデータを同一メモリ上の先頭アドレスからアドレスをインクリメントさせる方向と、最終アドレ
スからアドレスをデクリメントする方向で交互に格納する技術が記載されている。
一方、画像の高解像度化に伴い、画像処理装置が扱う画像データ量が増大してきていることから、圧縮された画像データのままで画像編集処理や画像回転処理等の各画像処理を行いたいというニーズが高まってきている。ＪＰＥＧやＪＰＥＧ２０００等の圧縮方式においては、画像データの主走査方向と副走査方向の数ピクセルずつを１タイルとし、タイル毎に圧縮処理を行っているが、上記の理由によりタイル状の圧縮データ毎に各画像処理をすることが望まれており、夫々の圧縮データにランダムにアクセスできる必要がある。
【特許文献１】特開２００６−４９９９１公報
【特許文献２】特開２００５−３３２２９８公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、圧縮したデータをメモリに格納する際の動作については詳細な記述がされておらず、一の画像データがメモリ空間内に断片化した状態で格納される可能性がある。この場合、データのアクセス性が悪く、メモリ利用率が低下してしまうため、処理速度が低下するという問題がある。
また、特許文献２の技術でも、バンドデータの順序が不連続な断片化した状態で格納される可能性があり、各バンドデータの先頭位置やバンドデータ同士の境界がわからないため、ランダムアクセスすることができず、アクセス性が悪いという問題がある。また、メモリの先頭アドレスからアドレスを逐次インクリメントして格納したバンドデータと、最終アドレスからアドレスを逐次デクリメントして格納したバンドデータとの間のメモリ空間は、使用されない可能性があり、メモリ空間を効率的に利用できないという問題がある。
本発明は、上記に鑑みてなされたものであって、分割して圧縮された各画像データへのアクセス性を向上させるとともに、メモリの利用効率を向上させることが可能な画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、画像データを入力する画像入力手段と、前記入力された画像データを複数の領域に分割し、１又は複数の領域からなる分割データを生成する分割手段と、前記生成された複数の分割データを、前記領域毎に個別に圧縮する１又は複数の圧縮器を有し、当該圧縮器により複数の分割圧縮データを生成する圧縮手段と、記憶手段と、前記生成された各分割圧縮データを、前記記憶手段に連続的に格納する記憶制御手段と、前記格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得するポインタ取得手段と、を備えたことを特徴とする。
また、請求項２の発明は、前記圧縮器は、前記生成された複数の分割データを前記領域毎に個別に圧縮する際、前記領域間に相関が無い様に独立して圧縮可能な圧縮器であることを特徴とする。
また、請求項３の発明は、前記圧縮手段は、前記圧縮器を複数有し、該圧縮器により複数の分割圧縮データを平行して生成すること、を特徴とする
【０００６】
また、請求項４の発明は、前記記憶制御手段は、先行して格納された前記分割圧縮データの最終アドレスと、次に格納する前記分割圧縮データの先頭アドレスとが連続するよう、前記記憶手段に前記分割圧縮データを格納することを特徴とする。
また、請求項５の発明は、前記記憶制御手段は、前記画像入力手段で入力された前記画像データの入力順序に応じた順序で、前記記憶手段に前記分割圧縮データを格納することを特徴とする。
また、請求項６の発明は、前記記憶制御手段は、前記生成された各分割圧縮データを、前記記憶手段又は当該記憶手段とは異なる他の記憶手段に形成された第１メモリ空間に一旦格納し、当該格納された各分割圧縮データを、前記記憶手段に形成された第２メモリ空間に連続的に格納し直すことを特徴とする。
また、請求項７の発明は、前記第１メモリ空間は、前記圧縮器の個数と同数以上の記憶領域を有することを特徴とする。
また、請求項８の発明は、前記記憶制御手段は、前記画像データの領域毎に、前記第１メモリ空間の所定の記憶領域を割り当て、当該各領域に対応する前記分割圧縮データの夫々を対応する記憶領域に格納することを特徴とする。
【０００７】
また、請求項９の発明は、前記記憶制御手段は、前記複数の圧縮器毎に、前記第１メモリ空間の所定の記憶領域を割り当て、前記各圧縮器により圧縮された分割圧縮データの夫々を対応する記憶領域に格納することを特徴とする。
また、請求項１０の発明は、前記分割手段は、前記分割した画像データを夫々記憶する複数のバッファメモリを有し、前記バッファメモリの個数は、前記圧縮器の個数と同数以上であることを特徴とする。
また、請求項１１の発明は、前記分割手段は、画像データを８×８画素毎に分割して複数の分割データを生成し、前記１又は複数の圧縮器は、前記複数の分割データを色空間変換する手段と、色空間変換された分割データを周波数領域のデータに変換する手段と、周波数領域に変換されたデータを量子化する手段と、量子化されたデータをエントロピー符号化する手段と、を備えたことを特徴とする。
また、請求項１２の発明は、前記量子化されたデータをエントロピー符号化する際、量子化したデータのうちその領域の平均値である直流成分をそのままエントロピー符号化することを特徴とする。
また、請求項１３の発明は、分割圧縮データ及び分割圧縮データの格納先を示すポインタ情報を格納する記憶手段と、前記記憶手段から分割圧縮データを取得し、分割された領域毎に独立して伸張する１又は複数の伸張器を有し、当該伸張器により複数の分割画像データを生成する伸張手段と、前記記憶手段から前記ポインタ情報を取得し、その情報を基に前記分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する伸張制御手段と、前記分割画像データ１つの画像データに結合し出力する画像出力手段と、を備えたことを特徴とする。
【０００８】
また、請求項１４の発明は、前記１または複数の伸張器は、前記複数の分割圧縮データをエントロピー復号化する手段と、エントロピー復号化されたデータを逆量子化する手段と、逆量子化されたデータを空間領域に変換する手段と、空間領域に変換されたデータを色空間変換する手段と、を備えたことを特徴とする。
また、請求項１５の発明は、前記１又は複数の伸張器は、前記エントロピー復号化したデータを逆量子する際、エントロピー復号化したデータのうちその領域の平均値である直流成分をそのまま逆量子化することを特徴とする。
また、請求項１６の発明は、前記伸張手段は複数の伸張器を有し、当該伸張器により複数の分割画像データを並行して生成することを特徴とする。
また、請求項１７の発明は、前記伸張制御手段は、前記ポインタ情報を基に前記分割圧縮データの伸張順序及び出力順序を制御し、それにより出力される画像データの回転方向を選択することを特徴とする。
また、請求項１８の発明は、前記伸張制御手段は、前記ポインタ情報を基に前記分割圧縮データの伸張範囲を制御し、それにより画像データのうち一部分を伸張することを特徴とする。
【０００９】
また、請求項１９の発明は、前記記憶手段から分割圧縮データを取得し、分割された領域毎に独立してエントロピー復号化し、領域毎の平均値である直流成分を取得して隣接する領域の直流成分との差分を計算し、エントロピー符号化することにより、ＪＰＥＧ方式に変換することを特徴とする。
また、請求項２０の発明は、画像データを入力する画像入力工程と、前記入力された画像データを複数の領域に分割し、１又は複数の領域からなる分割データを生成する分割工程と、前記生成された複数の分割データ夫々を前記領域毎に個別に圧縮する複数の圧縮器により、複数の分割圧縮データを並行して生成する圧縮工程と、前記生成された各分割圧縮データを、記憶手段に連続的に格納する記憶制御工程と、前記格納された各分割圧縮データの先頭アドレスを示すポインタ情報を夫々取得するポインタ取得工程と、を含むことを特徴とする。
また、請求項２１の発明は、画像データを入力する画像入力工程と、前記入力された画像データを複数の領域に分割し、１又は複数の領域からなる分割データを生成する分割工程と、前記生成された複数の分割データ夫々を前記領域間に相関が無い様に独立して圧縮可能な１又は複数の圧縮器により、複数の分割圧縮データを生成する圧縮工程と、前記生成された各分割圧縮データを、記憶手段に連続的に格納する記憶制御工程と、前記格納された各分割圧縮データの先頭アドレスを示すポインタ情報を夫々取得するポインタ取得工程と、を含むことを特徴とする。
また、請求項２２の発明は、分割圧縮データを取得し、分割された領域毎に独立して伸張可能な１又は複数の伸張器により、複数の分割画像データを生成する伸張工程と、分割圧縮データの格納先を示すポインタ情報を取得し、その情報を基に前記分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する伸張制御工程と、前記分割画像データを出力する画像出力工程と、を含むことを特徴とする。
【発明の効果】
【００１０】
請求項１にかかる発明によれば、分割手段により生成された分割データを領域間に相関が無い様に独立して圧縮し、圧縮された分割圧縮データを記憶手段に連続的に格納するとともに、格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できるとともに、領域間に相関が無い様に独立して圧縮しているため、各分割圧縮データの格納先アドレスを示すポインタ情報を参照することで、各分割圧縮データへのランダムアクセスし、独立して伸張を行うことができる。
また、請求項２又は３にかかる発明によれば、分割手段により生成された分割データを領域毎に個別に圧縮し、圧縮された分割圧縮データを記憶手段に連続的に格納するとともに、格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できるとともに、各分割圧縮データの格納先アドレスを示すポインタ情報を参照することで、各分割圧縮データへのランダムアクセスを行うことができる。
また、請求項４にかかる発明によれば、先行して格納された分割圧縮データの最終アドレスと、次に格納する分割圧縮データの先頭アドレスとが連続するよう、記憶手段に分割圧縮データを格納することで、一の画像データにかかる一連の分割圧縮データを、連続した状態で格納することができるため、メモリの利用効率を向上させることができる。
【００１１】
また、請求項５にかかる発明によれば、画像入力手段で入力された画像データの入力順序に応じて、記憶手段に分割圧縮データを格納することで、画像データの入力順序に応じた順序で各分割圧縮データを連続的に格納することができるため、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
また、請求項６にかかる発明によれば、各分割圧縮データを、記憶手段又は当該記憶手段とは異なる他の記憶手段に形成された第１メモリ空間に一旦格納し、当該格納された各分割圧縮データを、記憶手段に形成された第２メモリ空間に連続的に格納し直すため、第２メモリ空間内に各分割圧縮データを連続した状態で格納することができ、メモリの利用効率を向上させることができる。
また、請求項７にかかる発明によれば、第１メモリ空間は、前記圧縮器の個数と同数以上の記憶領域を有することで、各圧縮器で生成された分割圧縮データを第１メモリ空間の記憶領域に効率よく格納することができるため、圧縮処理に要する時間を短縮化できる。
また、請求項８にかかる発明によれば、記憶制御手段は、前記画像データの領域毎に、第１メモリ空間の所定の記憶領域を割り当て、当該各領域に対応する分割圧縮データの夫々を対応する記憶領域に格納することで、各領域に対応する分割圧縮データを第１メモリ空間の記憶領域に効率よく格納することができるため、圧縮処理に要する時間を短縮化できる。
【００１２】
また、請求項９にかかる発明によれば、記憶制御手段は、複数の圧縮器毎に、第１メモリ空間の所定の記憶領域を割り当て、各圧縮器により圧縮された分割圧縮データの夫々を対応する記憶領域に格納することで、各圧縮器に対応する分割圧縮データを第１メモリ空間の記憶領域に効率よく格納することができるため、圧縮処理に要する時間を短縮化できる。
また、請求項１０にかかる発明によれば、分割手段は、圧縮器の個数と同数以上のバッファメモリを有することで、全ての圧縮器により圧縮を並行して行うことができるため、圧縮処理に要する時間を短縮化できる。
また、請求項１１にかかる発明によれば、ＪＰＥＧ方式と一部同じ手順で圧縮動作を行うため、ＪＰＥＧ方式での装置を一部流用することができるとともに、ＪＰＥＧ方式への変換が容易且つランダムアクセスが可能な圧縮方式で画像圧縮を実現することができる。
また、請求項１２にかかる発明によれば、エントロピー符号化する際に、直流成分値を隣接する領域の直流成分値との差分を取らないで圧縮するので、個々の圧縮ブロックが独立に伸張可能な圧縮データを生成することができる。
また、請求項１３にかかる発明によれば、分割圧縮データを取得して分割された領域毎に独立して伸張し、また各分割圧縮データの格納先を示すポインタ情報を取得し、その情報を基に分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する。これにより、個々の分割圧縮データに任意にアクセスし、伸張順序や伸張範囲、出力順序を変えて伸張することができる。
【００１３】
また、請求項１４にかかる発明によれば、ＪＰＥＧ方式と一部同じ伸張動作を行うため、ＪＰＥＧ方式での装置を一部流用することができるとともに、ＪＰＥＧ方式への変換容易に実現できる。
また、請求項１５にかかる発明によれば、逆量子化する際に、直流成分値を隣接する領域の直流成分値との差分を取らないで圧縮したデータを伸張でき、個々のブロックを独立に伸張することができる。
また、請求項１６にかかる発明によれば、伸張手段が複数の伸張器を有しており、且つ個々の分割圧縮データを独立して伸張できるため、並行して伸張処理ができ、伸張処理に要する時間を大幅に短縮することができる。
また、請求項１７にかかる発明によれば、ポインタ情報を参照して任意の分割圧縮データにアクセスし、伸張順序及び出力順序を制御しながら伸張できるため、通常の回転方法に比べ高速に処理できるとともに、画像１面分のメモリリソース無しで回転処理を実現することができる。
また、請求項１８にかかる発明によれば、ポインタ情報を参照して任意の分割圧縮データにアクセスし、伸張範囲を制御して伸張できるため、画像データの一部を抜き出して伸張することができ、画像全面分を必要としない画像編集処理などを高速に実現することができる。
また、請求項１９にかかる発明によれば、画像全体を伸張せずに本発明における圧縮方式とＪＰＥＧ方式との相互変換を高速且つ画質劣化すること無しに実現することができる。
【００１４】
また、請求項２０にかかる発明によれば、分割工程で生成された分割データを領域毎に個別に圧縮し、圧縮された分割圧縮データを記憶手段に連続的に格納するとともに、格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できるとともに、各分割圧縮データの格納先アドレスを示すポインタ情報を参照することで、各分割圧縮データへのランダムアクセスを行うことができる。
また、請求項２１にかかる発明によれば、分割手段により生成された分割データを領域間に相関が無い様に独立して圧縮し、圧縮された分割圧縮データを記憶手段に連続的に格納するとともに、格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できるとともに、領域間に相関が無い様に独立して圧縮しているため、各分割圧縮データの格納先アドレスを示すポインタ情報を参照することで、各分割圧縮データへのランダムアクセスし、独立して伸張を行うことができる。
また、請求項２２にかかる発明によれば、分割圧縮データを取得して分割された領域毎に独立して伸張し、また各分割圧縮データの格納先を示すポインタ情報を取得し、その情報を基に分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する。これにより、個々の分割圧縮データに任意にアクセスし、伸張順序や伸張範囲、出力順序を変えて伸張することができる。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、本発明の最良な実施の形態を詳細に説明する。
（第１の実施の形態）
図１は、本実施形態にかかる画像処理装置のハードウェア構成を示した図である。図１に示すように、画像処理装置１００は、画像入力部１１、圧縮処理部１２、伸長処理部１３、画像出力部１４、ＣＰＵ１５、画像処理部１６、操作部１７、メインメモリ１８、ＨＤＤ１９及び外部Ｉ／Ｆ２０等を備えている。なお、本実施形態では、圧縮処理部１２、伸長処理部１３、画像処理部１６を個別に備えた構成としたが、これに限らず、例えば、圧縮処理部１２、伸長処理部１３、画像処理部１６の全て又は何れかの機能を、１つのＡＳＩＣ（Application Specific Integrated Circuit）又はＣＰＵ１５等により実現させる態様としてもよい。
画像入力部１１は、原稿の読み取りをＣＣＤ（Charge Coupled Device）リニアイメージセンサで行い、読み取った画像データにシェーディング処理や、ＲＧＢ処理（例えば、色変換処理、フィルタ処理、Ｙ変換処理、変倍処理等）を施した後、画像データをＲＧＢフォーマットにて圧縮処理部１２に出力する。なお、本実施形態では、ＣＣＤリニアイメージセンサにより、原稿の読み取りを行う態様としたが、これに限らず、例えば、密着型イメージセンサ、ＣＣＤエリアイメージセンサ、ＣＭＯＳ（Complementary Metal-Oxide Semiconductor）センサ等を用いる態様としてもよい。
圧縮処理部１２は、ＡＳＩＣ等により構成され、画像入力部１１から入力された画像データを、複数の領域に分割し、これら分割された画像データ夫々を、所定の規格に準じた画像圧縮方式により圧縮し、メインメモリ１８に格納する。
【００１６】
本実施形態では、画像圧縮方式としてＪＰＥＧ２０００方式に準拠した圧縮方式を用いることとするが、これに限らず、ＪＰＥＧ方式等の可変長圧縮方式を用いることとしてもよく、その他の圧縮方式を用いることとしてもよいし、独自の固定長圧縮方式を用いることとしてもよい。
なお、圧縮処理部１２は、ＪＰＥＧやＪＰＥＧ２０００方式で圧縮を行う場合、画像データの主走査方向と副走査方向とを夫々所定のピクセル数単位で分割した各領域を圧縮単位（以下、タイルともいう）とし、これらタイルを基準に圧縮を行うことになる。例えば、ＪＰＥＧ方式では８×８ピクセルを１タイル、ＪＰＥＧ２０００方式では、１２８×１２８ピクセルを１タイル等として、タイル毎に圧縮を行う。
ＪＰＥＧ２０００方式では、他のタイルからの影響を受けずに圧縮処理等を行うことができるため、圧縮結果をタイル毎に１ファイルとして出力できる。１ファイルずつに圧縮されたタイル（以下、分割圧縮データという）は、それぞれが個別に画像編集や画像回転処理を行うことができるが、メモリからの読み出しをする際にはバーストリードが効率的であるため、メモリ上では連続したデータにしておくことが好ましい。
伸長処理部１３は、ＡＳＩＣ等により構成され、メインメモリ１８に格納された分割圧縮データ（例えば、ＪＰＥＧ２０００方式）を、ＲＧＢフォーマットの画像データに伸長し、画像出力部１４に出力する。
画像出力部１４は、レーザプリンタ方式やインクジェット方式等の画像形成手段（図示せず）を備え、伸長処理部１３から入力されたＲＧＢフォーマットの画像データをＣＭＹＫフォーマットに変換し、印刷用紙等の記録媒体上に画像形成（印刷）を行う。
【００１７】
ＣＰＵ（Central Processing Unit）１５は、図示しないＲＯＭ（Read Only Memory）やＨＤＤ１９に予め記憶された所定のプログラムとの協働により、画像処理装置各部の制御を統括的に行う。またＣＰＵ１５が、ＲＯＭやＨＤＤ１９に予め記憶された所定のプログラムとの協働により、圧縮／伸長処理や、ＯＣＲ（Optical Character Recognition：光学式文字認識）処理等の画像処理の一部又は全てを行う態様してもよい。
画像処理部１６は、画像データ（分割圧縮データ）に対し、変倍処理、画像編集処理、画像回転処理等の各種画像処理、画像フォーマット変換処理、レンダリング処理等を施す。
操作部１７は、マウスやキーボード等の操作手段と、操作にかかる情報に表示や画像形成装置の状態を表示する表示手段とを有し（何れも、図示せず）、操作手段を介してユーザからの入力操作を受け付けるとともに、ユーザに向けた情報を表示手段に表示する。
メインメモリ１８は、ＳＤＲＡＭ（Synchronous DRAM）等の記憶手段であって、圧縮処
理部１２により圧縮された分割圧縮データや後述するポインタテーブル、他のデータ等を格納する。
ＨＤＤ１９は、磁気的又は光学的に記録可能な記録媒体を有し、画像入力部１１から入力された画像データ又は伸長処理部１３により伸長された分割圧縮データ、外部Ｉ／Ｆ２０を介して入力された画像データや文書データ、画像形成装置の制御にかかるプログラムや各種設定情報、フォントデータ等を記憶する。
外部Ｉ／Ｆ２０は、ＰＣ（Personal Computer）やその他の画像処理装置等の外部機器と接続するインターフェースであって、外部機器との間で情報の授受を行う。
【００１８】
上記構成の画像処理装置において、画像データの印刷にかかる動作（コピー機能）は、次のように行われる。まず、画像入力部１１により読み取られたＲＧＢフォーマットの画像データは、圧縮処理部１２によりＪＰＥＧ２０００方式で圧縮された後、メインメモリ１８に格納される。
メインメモリ１８に格納されたＪＰＥＧ２０００方式の画像データ（分割圧縮データ）は、画像処理部１６により各種画像処理（例えば、変倍処理、画像編集処理、画像回転処理等）が施された後、伸長処理部１３に出力され、ＲＧＢフォーマットの一の画像データに変換される。その後、画像出力部１４のＣＭＹＫ処理にてＲＧＢフォーマットの画像データからＣＭＹＫフォーマットの画像データに変換された後、印刷用紙等の記録媒体に印刷されることで、コピー機能は実現される。
また、画像データの外部機器への送信（例えば、Scan To Email等）にかかる動作（スキャナ機能）は、次のように行われる。まず、画像入力部１１により読み取られたＲＧＢフォーマットの画像データは、圧縮処理部１２により、圧縮処理部１２によりＪＰＥＧ２０００方式で圧縮された後、メインメモリ１８に格納される。
メインメモリ１８に格納されたＪＰＥＧ２０００方式の画像データ（分割圧縮データ）は、画像処理部１６により各種画像処理（例えば、変倍処理、画像編集処理、画像回転処理等）が施された後、他の画像フォーマット（例えば、ＴＩＦＦ、ＰＤＦ等）に変換される。その後、外部Ｉ／Ｆ２０を介して外部機器に送信されることで、スキャナ機能は実現される。なお、画像フォーマットの変換が必要ない場合には、そのままの状態で、外部Ｉ／Ｆ２０を介して外部機器に送信されることになる。
【００１９】
図２は、本実施形態の圧縮処理部１２の動作を説明するための図である。同図に示すように、圧縮処理部１２は、分割手段１２１と、圧縮手段１２２と、メモリ制御手段１２３とを具備している。
分割手段１２１は、バッファメモリ１２１１〜１２１４を有し、画像入力部１１から入力された画像データを１又は複数のタイル（領域）に分割することで、複数の分割データを生成し、バッファメモリ１２１１〜１２１４に夫々格納する。なお、バッファメモリ１２１１〜１２１４は、夫々独立した記憶素子により構成することとしてもよいし、一の記憶素子内に形成された複数の記憶領域により構成することとしてもよい。
【００２０】
図３は、画像データを分割する際の動作を説明するための図である。ここで、入力される画像データは、１頁分のカラー画像であるとし、また、後段の圧縮手段１２２による圧縮方式はＪＰＥＧ２０００であるものとする。
画像入力部１１において、ＣＣＤリニアイメージセンサによる画像データの読み取り順序は、まず主走査方向のＡ領域及びＢ領域を同時に読み取り、その後、副走査方向にＣ領域及びＤ領域、Ｅ領域及びＦ領域、Ｇ領域及びＨ領域へと順次読み取ることになる。分割手段１２１では、画像入力部１１から入力される画像データを、その入力順序に応じて二つの領域毎に分割し、バッファメモリ１２１１〜１２１４に順次格納する。これは、例えば、画像入力部１１から入力された画像データを、所定のライン数分だけ一のバッファメモリに格納し、それが完了したら次のバッファメモリに格納するという方式で実現することができる。
ここでは、図３に示したように、副走査方向に４分割した夫々の分割データ（Ａ領域及びＢ領域、Ｃ領域及びＤ領域、Ｅ領域及びＦ領域、Ｇ領域及びＨ領域）が、各バッファメモリ１２１１〜１２１４に順次格納されるものとする。例えば、Ａ４縦サイズ（２１０ｍｍラ２９７ｍｍ）、６００ｄｐｉの画像データでは、主走査方向に約４９６１ピクセル、副走査方向に７０１６ピクセルとなるので、副走査方向に４分割した場合には約１２４０ラインずつ各バッファメモリに順次格納される。なお、圧縮単位が１２８ラ１２８ピクセルで構成されるＪＰＥＧ２０００方式の圧縮では、最小で１２８ラインずつ各バッファメ
モリに格納される。
【００２１】
圧縮手段１２２は、図２に示すように、分割データを個別に圧縮可能な圧縮器１２２１〜１２２４を有し、当該圧縮器により、バッファメモリ１２１１〜１２１４に格納された分割データを、当該分割データに含まれる領域毎に並行して圧縮することにより、複数の分割圧縮データを生成する。生成された分割圧縮データは、メモリ制御手段１２３に出力される。
具体的に、圧縮手段１２２の圧縮器１２２１〜１２２４は、バッファメモリ１２１１〜１２１４に格納された二つの領域からなる分割データから、各領域分に対応する分割データを夫々読み取り、ＪＰＥＧ２０００方式で個別に圧縮することで、複数の分割圧縮データを並行して生成する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できる。
【００２２】
図２では、バッファメモリ１２１１に格納された領域Ａ、Ｂからなる分割データが、圧縮手段１２２の圧縮器１２２１、１２２２により夫々領域Ａ、Ｂの分割データに分割された後、個別に圧縮が行われた場合を例示している。
メモリ制御手段１２３は、圧縮手段１２２はから入力された分割データをメインメモリ１８内に形成された第１メモリ空間１８１に一旦格納した後、同じメインメモリ１８内に形成された第２メモリ空間１８２に、画像入力部１１から入力された順序、即ち、ＣＣＤリニアイメージセンサが読み取った順序で連続的に並び替えて格納する。
また、メモリ制御手段１２３は、第１メモリ空間１８１から第２メモリ空間１８２に分割データの並び替えを行う際、各分割圧縮データの格納先を示す先頭アドレスを取得し、ポインタテーブル１８３を生成するポインタ取得手段としての機能部、ポインタ生成部１２４を有する。ここで、生成されたポインタテーブル１８３は、メモリ制御手段１２３により、ＣＰＵ１５が参照可能なメインメモリ１８の所定領域に格納され（図２参照）、メインメモリ１８から各分割圧縮データの読み出しの際に供することになる。これにより、各分割圧縮データのメインメモリ１８（第２メモリ空間１８２）での記憶位置を、ポインタテーブル１８３を参照することで即座に得ることができるようになり、各分割圧縮データへのランダムアクセスが可能となる。
【００２３】
メインメモリ１８の第１メモリ空間１８１には、画像データの各領域Ａ〜Ｈに対応した記憶領域が予め割り当てられており、メモリ制御手段１２３は、領域Ａ〜Ｈに対応する分割データの夫々を、対応する記憶領域に夫々格納するようになっている。なお、ＪＰＥＧ２０００方式で圧縮を行う場合、圧縮後のデータ容量は予測できないため、第１メモリ空間１８１の各記憶領域の記憶容量は、圧縮前の分割データ又は最低圧縮率の分割圧縮データが格納できる容量が確保されているものとする。
このような場合、図２に示すように、メモリ制御手段１２３により第１メモリ空間１８１に格納された分割データは、第１メモリ空間１８１において先行して格納された分割データの最終アドレスと、次に格納された分割データの先頭アドレスとが連続しない、不連続な状態で格納されることになる。
そのため、メモリ制御手段１２３では、図２に示すように、第１メモリ空間１８１に格納した各分割データを、画像入力部１１から入力された順序、即ち、ＣＣＤリニアイメージセンサが読み取った順序で、先行して格納した分割データの最終アドレスと、次に格納する分割データの先頭アドレスとが連続するよう並び替えた状態で、第２メモリ空間１８２に格納し直す。
【００２４】
具体的に、メモリ制御手段１２３は、まず、第１メモリ空間１８１に格納された分割圧縮データのうち、画像データの領域Ａに対応する記憶領域に格納された分割圧縮データを読み出し、第２メモリ空間１８２に格納する。続いて、画像データの領域Ｂに対応する記憶領域に格納された分割圧縮データを読み出し、第２メモリ空間１８２において領域Ａの分割圧縮データを格納した最終アドレスの次のアドレスに領域Ｂの分割圧縮データを格納する。
上記処理を、領域Ｈに対応する分割圧縮データまで繰り返すことにより、一の画像データにかかる一連の分割圧縮データを、画像入力部１１からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ１８に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
【００２５】
また、本実施形態のように、ＪＰＥＧ２０００方式の圧縮を行うことにより、各分割圧縮データに対して個別に画像処理を行うことが可能であるため、例えば、分割圧縮データ毎に画像回転処理や画像編集処理を施すことが可能となる。
なお、本実施形態では、ＲＧＢ処理やＣＭＹＫ処理を、一の画像データの状態で行う態様としたが、これに限らず、分割圧縮データの状態で行う態様としてもよい。つまり、画像入力部１１や画像出力部１４が、このような機能を有するのではなく、画像処理部１６がＲＧＢ処理やＣＭＹＫ処理にかかる機能を有するよう構成されていてもよい。この場合、画像編集処理や画像回転処理等と同様に、分割圧縮データ毎にＲＧＢ処理やＣＭＹＫ処理が施されることになる。
【００２６】
また、本実施形態では、ポインタテーブル１８３をメインメモリ１８の所定領域に格納することとしたが、これに限らず、例えば、第２メモリ空間１８２に格納された分割圧縮データ後段に格納することとしてもよいし、他の記憶手段（例えば、ＨＤＤ１９等）に格納する態様としてもよい。
また、本実施形態では、分割手段１２１は、二つの領域（タイル）からなる分割データを生成する態様としたが、これに限らず、例えば、１の領域から分割データを生成する態様としてもよいし、４つの領域から分割データを生成する態様としてもよい。
【００２７】
（第２の実施形態）
次に、画像処理装置の第２の実施形態について説明する。なお、上述した第１の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
図４は、本実施形態の圧縮処理部１２の動作を説明するための図である。同図に示すように、圧縮処理部１２は、分割手段１２１と、圧縮手段１２２と、メモリ制御手段１２３とを具備する。
本実施形態において、メインメモリ１８の第１メモリ空間１８１には、圧縮処理部１２
の各圧縮器１２２１〜１２２４に対応した記憶領域が予め割り当てられており、メモリ制御手段１２３は、各圧縮器１２２１〜１２２４で圧縮された分割データの夫々を、対応する記憶領域に夫々格納するようになっている。なお、ＪＰＥＧ２０００方式で圧縮を行う場合、圧縮後のデータ容量は予測できないため、第１メモリ空間１８１の各記憶領域の記憶容量は、各圧縮器にかかる分割データ分又は最低圧縮率の分割圧縮データ分が格納できる容量が確保されているものとする。
このような場合、図４に示すように、メモリ制御手段１２３により第１メモリ空間１８１の各記憶領域に順次格納される分割圧縮データは、画像データの入力順序とはならず、また、各記憶領域間で格納先アドレスが不連続となる。
そのため、メモリ制御手段１２３では、図２に示すように、第１メモリ空間１８１に格納した各分割圧縮データを、画像入力部１１から入力された順序、即ち、ＣＣＤリニアイメージセンサが読み取った順序で、先に格納する分割圧縮データの最終アドレスと、次に格納する分割圧縮データの先頭アドレスとが連続するよう並び替えた状態で、第２メモリ空間１８２に格納する。
【００２８】
具体的に、メモリ制御手段１２３は、まず、第１メモリ空間１８１に格納された分割圧縮データのうち、圧縮器１２２１に対応する記憶領域に格納された最初の分割圧縮データを読み出し、第２メモリ空間１８２に格納し直す。続いて、圧縮器１２２２に対応する記憶領域に格納された最初の分割圧縮データを読み出し、第２メモリ空間１８２において領域Ａの分割圧縮データを格納した最終アドレスの次のアドレスに領域Ｂの分割圧縮データを格納する。
メモリ制御手段１２３は、上記の処理を圧縮器１２２４に対応する分割圧縮データまで繰り返した後、圧縮器１２２１に対応する記憶領域に格納された次の分割圧縮データを読み出し、上記同様第２メモリ空間１８２に連続的に格納する。このような処理を、各圧縮器について順次行うことで、一の画像データにかかる一連の分割圧縮データを、画像入力部１１からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ１８に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
【００２９】
（第３の実施形態）
次に、画像処理装置の第３の実施形態について説明する。なお、上述した第１、第２の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
図５は、本実施形態の圧縮処理部１２の動作を説明するための図である。同図に示すように、圧縮処理部１２は、分割手段１２１と、圧縮手段１２２と、メモリ制御手段１２３とを具備する。
図５に示すように、本実施形態のメモリ制御手段１２３は、その内部に第１メモリ空間としてバッファメモリ１２３１〜１２３８を有し、圧縮手段１２２の各圧縮器に対して２つのバッファメモリが夫々割り当てられている。なお、バッファメモリ１２３１〜１２３８は、夫々独立した記憶素子により構成することとしてもよいし、一の記憶素子内に形成された複数の記憶領域により構成することとしてもよい。
【００３０】
分割手段１２１のバッファメモリ１２１１〜１２１４に格納された圧縮データは、各圧縮器により領域毎に分割して読み取られ、ＪＰＥＧ２０００方式に圧縮された後、メモリ制御手段１２３のバッファメモリ１２３１〜１２３８に格納される。各圧縮器には、上述したとおりバッファメモリが２つずつ割り当てられており、各圧縮器で圧縮された圧縮分割データは、対応する２つのバッファメモリに交互に格納される。例えば、圧縮器１２２１で圧縮された領域Ａの圧縮分割データは、バッファメモリ１２３１に格納され、領域Ｅの圧縮分割データは、バッファメモリ１２３２に格納される。
なお、ＪＰＥＧ２０００方式で圧縮を行う場合、圧縮後のデータ容量は予測できないため、各バッファメモリ１２３１〜１２３８の記憶容量は、各圧縮器にかかる分割データ分又は最低圧縮率の分割圧縮データ分が格納できる容量が確保されているものとする。
【００３１】
メモリ制御手段１２３では、図５に示すように、バッファメモリ１２３１〜１２３８に格納した各分割圧縮データを、画像入力部１１から入力された順序、即ち、ＣＣＤリニアイメージセンサが読み取った順序で、先に格納する分割圧縮データの最終アドレスと、次に格納する分割圧縮データの先頭アドレスとが連続するよう並び替えた状態で、第２メモリ空間１８２に格納する。
具体的に、メモリ制御手段１２３は、バッファメモリ１２３１〜１２３８のうち、各圧縮器に割り当てられた最初のバッファメモリ（１２３１、１２３３、１２３５、１２３７）に格納された分割圧縮データを順次読み出し、この読み出し順序に基づいて各分割圧縮データの先頭アドレスと最終アドレスとが連続するよう第２メモリ空間１８２に順次格納する。次に、各圧縮器に割り当てられた次のバッファメモリ（１２３２、１２３４、１２３６、１２３８）に格納された分割圧縮データを順次読み出し、この読み出し順序に基づいて各分割圧縮データの先頭アドレスと最終アドレスとが連続するよう第２メモリ空間１８２に順次格納する。
このような処理により、一の画像データにかかる一連の分割圧縮データを、画像入力部１１からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ１８に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
【００３２】
（第４の実施形態）
次に、画像処理装置の第４の実施形態について説明する。なお、上述した第１〜第３の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
図６は、本実施形態の圧縮処理部１２の動作を説明するための図である。同図に示すように、圧縮処理部１２は、分割手段１２１と、圧縮手段１２２と、メモリ制御手段１２３とを具備する。なお、本実施形態の構成は、上記した第３の実施形態の構成とほぼ同様であるが、画像データの分割数に対して、分割手段１２１内のバッファメモリ、圧縮手段１２２内の圧縮器、メモリ制御手段１２３内のバッファメモリ（第１メモリ空間）の個数が少ない場合の例を示している。
図６に示すように、本実施形態の分割手段１２１は、２つのバッファメモリ１２１１、１２１２を有し、圧縮手段１２２は、２つの圧縮器１２２１、１２２２を有している。また、メモリ制御手段１２３は、その内部に第１メモリ空間としてのバッファメモリ１２３１〜１２３４を有し、圧縮手段１２２の各圧縮器に対して２つのバッファメモリが夫々割り当てられている。
上記構成の場合、画像データの副走査方向の分割数に対して、分割手段１２１内のバッファメモリの個数が少ないため、画像データ１頁分をバッファメモリ１２１１、１２１２に分割して格納することができない。そのため、各バッファメモリ１２１１、１２１２に複数のバンドデータを逐次的（シリアル）に格納する必要がある。以下、本実施形態の圧縮処理部１２の動作を説明する。
【００３３】
まず、分割手段１２１で生成された分割データのうち、最初の分割データである領域Ａ及び領域Ｂの分割データがバッファメモリ１２１１に格納され、次に領域Ｃ及び領域Ｄの分割データがバッファメモリ１２１２に格納される。バッファメモリ１２１１に格納された領域Ａの分割データは、圧縮器１２２１に読み取られ、ＪＰＥＧ２０００方式で圧縮された後、メモリ制御手段１２３内のバッファメモリ１２３１に格納される。同様に、バッファメモリ１２１１に格納された領域Ｂの分割データは、圧縮器１２２２に読み取られ、ＪＰＥＧ２０００方式で圧縮された後、メモリ制御手段１２３内のバッファメモリ１２３２に格納される。
ここで、領域Ａ、領域Ｂの分割データが圧縮器１２２１、圧縮器１２２２により夫々読み取られた直後、次の分割データである領域Ｅ、領域Ｆの分割データがバッファメモリ１２１１に格納される。なお、バッファメモリ１２１１、１２１２に上書きをするタイミングは、格納されていた分割データが読み取られた後に、バッファメモリ１２１１、１２１２への書き込み可能を指示するフラグを設定する等で制御することができる。
【００３４】
以下、図７、図８を参照して、本実施形態の圧縮処理部１２による圧縮処理の流れを説明する。図７は、本実施形態の圧縮処理部１２による圧縮処理の流れを示したタイミングチャートであり、図８は、一の圧縮器、メインメモリ、分割手段１２１内に一のバッファメモリを備えた従来構成の圧縮処理部による圧縮処理の流れを示したタイミングチャートである。なお、従来構成の圧縮処理部は、第１メモリ空間に相当するバッファメモリ１２３１〜１２３４を有していないものとする。
図７、８において、図中矢印で示す期間は、各バッファメモリが格納するデータを保持しなければならない期間を示しており、その期間中該当するバッファメモリへの上書きはフラグ制御により禁止となっている。即ち、この矢印で示した期間以降、データを格納することが可能となる。
図７に示すとおり、本実施形態の構成では、まず、最初の分割データである領域Ａ、領域Ｂの分割データが、分割手段１２１内のバッファメモリ１２１１に格納され、続いて、領域Ｃ、領域Ｄの分割データが、分割手段１２１内のバッファメモリ１２１２に格納される。バッファメモリ１２１１に格納された領域Ａの分割データは、圧縮器１２２１に読み取られ圧縮された後、メモリ制御手段１２３内のバッファメモリ１２３１に格納される。
また、領域Ａの分割データの読み取りと同時に、バッファメモリ１２１１に格納された領域Ｂの分割データが、圧縮器１２２２に読み取られ圧縮された後、メモリ制御手段１２３内のバッファメモリ１２３２に格納される。
なお、ＪＰＥＧ２０００等の圧縮方式では、圧縮された画像の画質を最適化するための処理を圧縮器内部で行っている。そのため、分割された領域毎の圧縮処理に要する時間は通常異なっており、また、可変長圧縮であるので圧縮後のデータ量も異なっている。
【００３５】
次に、メモリ制御手段１２３は、バッファメモリ１２３１に格納された領域Ａの分割圧縮データを読み出し、メインメモリ１８の第２メモリ空間１８２に格納する。続いて、メモリ制御手段１２３は、バッファメモリ１２３２に格納された領域Ｂの分割圧縮データを読み出し、メインメモリ１８における領域Ａの分割圧縮データを格納した最終アドレスの次のアドレスに領域Ｂの分割圧縮データを格納する。
分割手段１２１内のバッファメモリ１２１１への上書きが可能な状態になると、領域Ｅ、領域Ｆの分割データがバッファメモリ１２１１に格納され、同様に、分割手段１２１内のバッファメモリ１２１２への上書きが可能な状態になると、領域Ｇ、領域Ｈの分割データがバッファメモリ１２１１に格納される。
上記処理を繰り返すことで、一の画像データにかかる一連の分割圧縮データを、画像入
力部１１からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ１８に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
【００３６】
一方、従来構成の圧縮処理では、図８に示すとおり、まず、一頁分の画像データを一括して圧縮器前段のバッファメモリに格納する。そして、バッファメモリに格納された画像データは、圧縮可能なタイル毎に圧縮が行われ、圧縮された夫々のデータがメインメモリ１８に順次格納されることになる。このように、従来構成での圧縮処理では、一の画像データの圧縮に要する時間が本実施形態の構成と比較して長くなってしまい、非効率的である。
以上のように、本実施形態によれば、画像データの分割数に対して分割手段内のバッファメモリの個数や圧縮器の個数が少ないような場合であっても、画像データの分割、圧縮にかかる処理を逐次行うことで、画像データの圧縮にかかる動作を効率的に行うことができる。また、バッファメモリの数を減らし、全体としての記憶容量を減らすことができるため、よりコストの低い構成を実現することができる。
【００３７】
（第５の実施形態）
次に、画像処理装置の第５の実施形態について説明する。なお、上述した第１〜第４の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
図９は、本実施形態の圧縮処理部１２の動作を説明するための図である。同図に示すように、圧縮処理部１２は、分割手段１２１と、圧縮手段１２２と、メモリ制御手段１２３とを具備する。なお、本実施形態の構成は、上記した第３、第４の実施形態の構成とほぼ同様であるが、圧縮手段１２２内の圧縮器の個数に対して、メモリ制御手段１２３内のバッファメモリ（第１メモリ空間）の個数が少ない場合の例を示している。
図９に示すように、本実施形態の分割手段１２１は、２つのバッファメモリ１２１１、１２１２を有し、圧縮手段１２２は、２つの圧縮器１２２１、１２２２を有している。また、メモリ制御手段１２３は、その内部に第１メモリ空間としてのバッファメモリ１２３１、１２３２を有し、圧縮手段１２２の各圧縮器１２１、１２２に対して一のバッファメモリが夫々割り当てられている。
【００３８】
上記構成の場合、圧縮器の個数に対して、メモリ制御手段１２３内のバッファメモリ（第１メモリ空間）の個数が少ないため、メモリ制御手段１２３内のバッファメモリ１２３１、１２３２に対して、複数の分割圧縮データを逐次的（シリアル）に格納する必要がある。以下、本実施形態の圧縮処理部１２の動作を説明する。
まず、分割手段１２１で生成された分割データのうち、最初の分割データである領域Ａ及び領域Ｂの分割データがバッファメモリ１２１１に格納され、次に領域Ｃ及び領域Ｄの分割データがバッファメモリ１２１２に格納される。バッファメモリ１２１１に格納された領域Ａの分割データは、圧縮器１２２１に読み取られ、ＪＰＥＧ２０００方式で圧縮された後、メモリ制御手段１２３内のバッファメモリ１２３１に格納される。同様に、バッファメモリ１２１１に格納された領域Ｂの分割データは、圧縮器１２２２に読み取られ、ＪＰＥＧ２０００方式で圧縮された後、メモリ制御手段１２３内のバッファメモリ１２３２に格納される。
ここで、領域Ａ、領域Ｂの分割データが圧縮器１２２１、１２２２により領域毎に夫々読み取られた直後、次の分割データである領域Ｅ、領域Ｆの分割データがバッファメモリ１２３１に格納される。なお、バッファメモリ１２１１、１２１２に上書きをするタイミングは、格納されていた画像データが読み取られた後に、バッファメモリ１２１１、１２１２への書き込み可能を指示するフラグを設定する等で制御することができる。
【００３９】
次に、メモリ制御手段１２３は、バッファメモリ１２３１に格納された領域Ａの分割圧縮データを読み出し、メインメモリ１８の第２メモリ空間１８２に格納する。続いて、メモリ制御手段１２３は、バッファメモリ１２３２に格納された領域Ｂの分割圧縮データを読み出し、メインメモリ１８における領域Ａの分割圧縮データを格納した最終アドレスの次のアドレスに領域Ｂの分割圧縮データを格納する。
ここで、メモリ制御手段１２３は、領域Ａの分割圧縮データのメインメモリ１８への格納が完了した際、バッファメモリ１２３１への書き込み許可を指示するフラグを設定すると、圧縮手段１２２により、このフラグが確認され、分割手段１２１内のバッファメモリ１２１２から領域Ｃの画像データが読み取られ、ＪＰＥＧ２０００方式で圧縮された後、メモリ制御手段１２３内のバッファメモリ１２３１に格納される。
【００４０】
続いて、メモリ制御手段１２３は、バッファメモリ１２３１に格納された領域Ｃの分割圧縮データを読み出し、メインメモリ１８における領域Ｂの分割圧縮データを格納した最終アドレスの次のアドレスに領域Ｂの分割圧縮データを格納する。なお、メインメモリ１８に領域Ｂの分割圧縮データが格納されていないときは、領域Ｂの分割圧縮データが格納されるまでバッファメモリ１２３１が領域Ｃの分割圧縮データを保持するものとする。
以上のような処理を繰り返すことにより、一の画像データにかかる一連の分割圧縮データを、画像入力部１１からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ１８に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
このように、本実施形態によれば、圧縮器の個数に対してメモリ制御手段１２３内のバッファメモリの個数が少ないような場合であっても、各圧縮器で圧縮された分割圧縮データを各バッファメモリに逐次格納することにより、画像データの圧縮にかかる動作を効率的に行うことができる。また、バッファメモリの数を減らし、全体としての記憶容量を減らすことができるため、よりコストの低い構成を実現することができる。
【００４１】
以上、本発明を第１〜第５の実施形態を用いて説明してきたが、上述した実施形態に多様な変更または改良を加えることができる。また、上述した第１〜第５の実施形態において説明した構成や機能は、自由に組み合わせることができる。
以上のように、本発明にかかる画像処理装置及び画像処理方法は、画像データの圧縮を行う場合に有効であり、特に、画像データを複数の領域に分割した後圧縮を行う場合に適している。
【００４２】
＜ＪＰＥＧ方式を用いた実施に形態＞
上述の第１〜第５の実施の形態においては、圧縮方式としてＪＰＥＧ２０００を用いた場合につき説明を行ってきた。以下の第６〜第１２の実施に形態においてＪＰＥＧ方式を用いた場合について説明する。ＪＰＥＧ２０００方式では、画像データを分割し、分割された画像データを圧縮単位とする圧縮ブロック間の相関はなく独立してタイルを伸張することができ、かつ、可逆圧縮にも対応しているため、再圧縮よる画質劣化を抑制することができるといった利点を有している。しかしながら、ＪＰＥＧ２０００方式では、その自由度の高さゆえに回路規模が大きくなる傾向があること、開発コストの面で高コストになりがちであること、さらに、ＪＰＥＧ２０００方式をサポートしているＯＳ（Operation System）やアプリケーションが少ない、といった問題点を抱えており、普及が進んでいないのが現状である。したがって、現実には、これらＪＰＥＧ２０００の問題点と無縁である、ＪＰＥＧ方式の圧縮が、画像データの処理に利用されることが多い。そこで、ＪＰＥＧ方式で圧縮された画像データを利用した画像処理の具体的な例を挙げて、以下の実施の形態にて説明する方式の有用性及び必要性について説明を行う。
【００４３】
図１０に、一般的な画像データの形状の概略図を示す。ここでは４８×６４画素、１画素２４ビット（各色８ビット）のＲＧＢフォーマットの画像データを例に説明を行う。ここで画像データの圧縮に用いる圧縮方式はＪＰＥＧ方式である。なお、１画素にはＲＧＢ３色を含んでいるが、以下の実施の形態の説明では、説明を簡単にするために、ＲＧＢ３色分を１つの圧縮ブロックとして説明することにする。
ＪＰＥＧ方式では８×８画素を１つの圧縮ブロックとして圧縮を行う。例えば、図１０（ａ）上部のｐ００〜ｐ７７は画素であり、同図（ａ）下部のｂ００〜ｂ７５は、夫々１ブロック（８×８画素）分の画素データを示している。図１０（ｂ）は圧縮データの形状の概略図を示している。通常、ＪＰＥＧ等の圧縮方式では先頭にヘッダー部を有し、それに続いて画像データの圧縮符号ブロックｃ００〜ｃ７５が並ぶ。圧縮符号ブロックｃ００〜ｃ７５は、夫々画素ブロックｂ００〜ｂ７５に対応している。なお、ＪＰＥＧ方式は可変長圧縮であるので通常各画素ブロックの圧縮符号サイズは一定ではなく、保存するメモリ空間によるが、圧縮符号が１列に並んだ形状になっている。ここでは、理解しやすくするために画素データに対応する面の形状で図示している。また、ＪＰＥＧ方式では、画素データをＤＣＴ変換（Discrete Cosine Transform：離散コサイン変換）することによって周波数成分に分解するが、直流成分（ＤＣ成分）は前の圧縮ブロックのＤＣ成分との差分を圧縮することで圧縮率を高めている。つまり、隣接する圧縮ブロックとの相関がある圧縮方式である。
【００４４】
画像データを圧縮する際には、まず画像サイズ、圧縮条件や圧縮テーブル等の情報を格納したヘッダー部を生成し、次いで画素データの左上のｂ００ブロックから、ｂ０１ブロック、ｂ０２ブロック、・・・ｂ７５ブロックと順じ符号化していく。圧縮データを画素データに伸張する際には、まずヘッダー部を読み出し、次いでその情報を基に符号化された順序でブロック毎に復号化していくことで、画像１面分の画像データを伸張する。この伸張に際し、上述したように、通常のＪＰＥＧ方式は、隣接する圧縮ブロックとの相関があるため、圧縮した順序で圧縮された画像データを伸張する必要がある。したがって、圧縮された画像データの所望の一部分だけにアクセスするようなランダムアクセスを行うことも、また、圧縮された画像データの所望の一部分だけを選択的に伸張することもできない。
【００４５】
次に、画像形成装置等において、通常のＪＰＥＧ方式を利用して記憶装置に圧縮されて保存された画像データを編集し、印刷等を実行する場合について説明を行う。この編集の例として、画像データの回転出力や回転集約出力、スタンプ合成等がある。ここでは一例として、画像回転出力について説明する。
回転画像の模式図を図１１に、一般的な画像回転方法を図１２に示す。図１１の（ａ）〜（ｄ）に示すように、画像を（ｂ）９０度、（ｃ）１８０度、（ｄ）２７０度に回転させて出力する場合、通常圧縮データをＲＧＢフォーマット等の画素データに伸張し、図１２に示すように読み出し順序を変えることによって回転機能を実現する。例えば、（ａ）回転無し出力（０度）（通常の出力）の場合には、まず画像データ全体を一度伸張し、その後、画素データの左上の画素（ｂ００ブロック内のｐ００画素）から右方向に１行読み出す。次いでその下の行を順々に読み出していき、その読み出し順序で出力する。（ｂ）９０度回転の場合には、まず画像データ全体を一度伸張し、その後、画素データの左下の画素（ｂ７０ブロック内のｐ７０画素）から上方向に読み出し、次いでその右の列を読み出していく。その読み出し順序で出力することによって９０度回転出力を実現する。（ｃ）１８０度回転、（ｄ）２７０度回転についても同様に、夫々右下の画素（ｂ７５ブロック内のｐ７７画素）から左方向に、右上の画素（ｂ０５ブロック内のｐ０７画素）から下方向に読み出すことによって、回転機能を実現する。
【００４６】
しかし、図１１及び図１２を用いて説明したような方法で回転機能を実現する場合、任意の画素データにアクセスするために画像データ全体を一度伸張しなければならないことが問題点として挙げられる。例えば９０度回転の場合には、まず始めに、左下のブロック（ｂ７０）内の画素データが必要であるが、その画素を取り出すには圧縮データを先頭から復号化していき、左下のブロック（ｂ７０）の復号（伸張）が成された時点で、ようやく最初の画素データを取り出すことができる。１８０度回転の場合には、まず右下のブロック（ｂ７５）内の画素が必要なので、画像１面分（画像データ全体）を伸張しなければ回転処理を開始することができない。すなわち、図１１及び図１２を用いて説明したような方法で回転出力を実現するために、一般的に画像１面分を一度伸張することが行われている。これは、ＪＰＥＧの圧縮方式には、可変長圧縮方式であり、圧縮データ内の各画素データにランダムにアクセスできないこと、圧縮ブロックのＤＣ成分が隣接する他の圧縮ブロックと相関があるために、各圧縮ブロックを独立して伸張することができないこと、といった制約があるためである。
【００４７】
画像データに「○秘」や「ＣＯＰＹ禁止」といったスタンプを重畳するようなスタンプ合成処理などの場合も同様に、本来であればスタンプを重畳する、画像データの特定の部分を伸張することで足りるにも関わらず、画像１面分を一度伸張してスタンプを重畳する処理を行っているのが実情である。
処理を実行する際に画像１面分を伸張すると、伸張のための時間が必要となるためその分の時間が掛かるため、処理の高速化を妨げる原因となる。また、処理の高速化を妨げるだけでなく、画像１面分を格納できるメモリリソース（Ａ４サイズ、６００ｄｐｉの場合は約１００ＭＢ）が最低限必要なため、コストが上昇し、コストの観点で不利である。さらに、画像編集後に編集後の画像データを再度圧縮する必要がある場合には、再圧縮によって画像の劣化が生じることも懸念される。
上述のように、画像データの圧縮に通常のＪＰＥＧ方式を用いる場合にも種々の問題点が存在し、低コストかつ処理の高速化を実現することができる画像データの圧縮方式が望まれていた。以下の実施の形態では、圧縮方式にＪＰＥＧ方式で利用されるＤＣＴを利用して画像データを圧縮する圧縮方式について説明を行う。
【００４８】
（第６の実施の形態）
通常のＪＰＥＧ方式における圧縮手順を、図１０、図１３及び図１４を用いて説明する。図１０は画像データの形状の概略図を、図１３は圧縮手順を示したものであり、図１４はジグザグスキャンと呼ばれるデータの並び替えについて説明するための図である（詳細は後述する）。図１０（ａ）におけるｂ００〜ｂ７５は、８×８画素から構成される１つの画素ブロックであり、ここでは縦８ブロック（６４画素）、横６ブロック（４８画素）の画像データとして説明する。図１０（ｂ）におけるｃ００〜ｃ７５は、夫々同図（ａ）における画素ブロックｂ００〜ｂ７５の圧縮符号ブロックである。
通常のＪＰＥＧ圧縮では、まず８×８画素のＲＧＢフォーマットのデータをＹＵＶ（又は、ＹＣｂＣｒ）フォーマットのデータに色空間変換し、サンプリングを行う。サンプリングとは、Ｙ（輝度信号）、Ｕ（青色差信号）、Ｖ（赤色差信号）に変換されたデータの間引きを行う処理である。人間の目は細かな輝度の違いには敏感であるが、色相の細かな違いは見落とし易いという性質があるため、色差信号の間引きを行うことで圧縮率を高めることが通常行われている。例えば、４：１：１のサンプリングでは、輝度信号ブロックを縦横４ブロック（１６画素四方）取得する間に、色差信号は縦横とも１画素ずつ間引きすることで１つの８×８画素ブロックに見立てる。ここでは、簡単のため４：４：４のサンプリング（輝度信号４ブロックに対し、色差信号４ブロックずつ）として説明する。４：４：４サンプリングでは、輝度信号、青色差信号、赤色差信号夫々１ブロックずつの計３ブロックを１つの処理単位（ＭＣＵという）として、これ以降の処理を行っていく。
【００４９】
次にＤＣＴ変換を行う。ＤＣＴ変換によって画素データを周波数成分に変換する。なお、ＤＣＴ変換後のデータも８×８個のデータとなり、左上隅のデータは直流成分（ＤＣ成分）であり、残りの６３個のデータは交流成分（ＡＣ成分）と呼ばれる。
次に量子化を行う。量子化では、量子化テーブルで８×８個のデータ毎に予め定義しておいた値で除算を行い、端数を切り捨てることで行われる。
次に６４個のデータを並べ替える処理を行う。前述したように、６４個のデータのうち、左上隅のデータはＤＣ成分である。ＤＣ成分は前のブロックの同一コンポーネント（輝度信号、青色差信号、赤色差信号）のＤＣ成分との差分を情報として取り扱う。残り６３個のＡＣ成分は、図１４に示すようにジグザグにスキャンしていくことで１列のデータに並び替える。なお、図１４における０番目の成分はＤＣ成分であるので、実際にはスキャンされない。
【００５０】
続いてエントロピー符号化を行う。一般的なＪＰＥＧ圧縮では、ハフマン符号化を行うのが通常である（ここでは、ハフマン符号化の詳細については省略する）。４：４：４サンプリングでのＪＰＥＧ圧縮の場合、まず輝度信号のＤＣ成分を符号化し、次いで輝度成分のＡＣ成分を符号化する。続いて、同様に青色差信号のＤＣ成分、ＡＣ成分、赤色差信号のＤＣ成分、ＡＣ成分の順で符号化し、１ＭＣＵの符号化を終了する。ここで、ＤＣ成分の符号化は、前述のように前ブロックの同一コンポーネントのＤＣ成分との差分を符号化する。例えば、図１０におけるｂ０１ブロックの輝度信号のＤＣ成分を符号化する場合には、ｂ００ブロックの輝度信号のＤＣ成分との差分を取り、それを符号化する。なお、画像データの先頭であるｂ００ブロックのＤＣ成分の符号化は、“０”との差分、つまり元の値そのものを符号化する。このようにして画像データの最後のブロックであるｂ７５ブロックまで符号化し、画像圧縮は終了する。なお、画像データをファイルとしてメモリ等に格納する際には、ヘッダー部に続いて上記の圧縮符号を格納する。
【００５１】
＜本実施形態における圧縮方式及び圧縮手順＞
次に本実施形態における画像圧縮方式及び画像圧縮手順を説明する。本実施形態における画像圧縮方式は、通常のＪＰＥＧ方式をベースとしているが、ＤＣ成分の符号化は前ブロックとの差分を取らない事が特徴である。つまり全てのブロックにおいて元の値そのものを符号化する。
図１８に量子化後のＤＣ成分値の例を、図１９に本実施形態での圧縮方式及び通常のＪＰＥＧ方式におけるハフマン符号化する直前のＤＣ成分値を示す。なお、４：４：４サンプリングの場合には、夫々のブロックの各コンポーネントでＤＣ成分が１つずつ存在するが、ここでは、例えば輝度信号のＤＣ成分値を示しているものとする。通常のＪＰＥＧ方式では、図１９（ｂ）に示すように夫々前のブロックのＤＣ成分値との差分を取り、その差分値をハフマン符号化する。一方、本実施形態における圧縮方式では、図１９ａ）に示すように、図１８に示した量子化後のＤＣ成分値をそのままハフマン符号化する。これにより、本実施形態における圧縮方式はＪＰＥＧ方式の規格外となるが、個々の圧縮ブロックが独立して符号化されているので独立して伸張することが可能となる。なお、これ以降の実施形態では、この圧縮方式を用いて圧縮処理を行うものとする。
なお、ＪＰＥＧ規格にはＲＳＴマーカと呼ばれるものがある。これは、圧縮データ中のＭＣＵ間に挿入されるもので、ＲＳＴマーカが挿入された時点でＤＣ成分の累積差分をクリアするというものである。つまり、ＲＳＴマーカが挿入された次のＭＣＵでは、ＤＣ成分は元の値そのものがハフマン符号化されることになる。このＲＳＴマーカを１ＭＣＵ毎に挿入することによっても、上記のように独立して伸張することが可能な圧縮データを生成することができる。しかし、ＲＳＴマーカは１つにつき２バイトであるので、例えばＡ４、６００ｄｐｉの画像データ（約５４万ＭＣＵ）では、ＲＳＴマーカのみの容量で約１ＭＢとなってしまう。このように、ＲＳＴマーカを１ＭＣＵ毎に挿入する方法だと、圧縮率の点で不利となる。
【００５２】
図１５に本実施形態における画像データの圧縮手順と伸張手順を示す。図１５では、圧縮手段及び伸張手段が夫々複数の圧縮器及び伸張器を有しているが、これに限らず夫々１つずつ備える構成でも構わない。本実施形態における画像データの圧縮は以下のようにして行われる。まず、画像入力部により読み取られたＲＧＢフォーマットの画像データは、圧縮処理部の分割手段により１つ又は複数の画素ブロックに分割される。ここでは、ＪＰＥＧ方式を基準にしているので、８×８画素が１つの画素ブロックとなる。続いて分割された個々の画素ブロックは、圧縮手段内の圧縮器にて前述のように独立して符号化される。即ち、個々の画素ブロックの圧縮は、基本的にＪＰＥＧ圧縮方式と同様の手順で行われるが、ＤＣ成分の符号化は前ブロックとの差分を取らず元の値そのものを符号化する方法で行われる。なお、圧縮手段が複数の圧縮器を有している場合には、個々の画素ブロックを並行且つ独立して圧縮することができる。また、各圧縮器への画素ブロックの割り当ては圧縮制御手段が行い、圧縮動作の開始や終了などの状況を監視する。
【００５３】
次に圧縮データをメインメモリに格納する。圧縮データのヘッダー部は入力画像データの情報を基に圧縮制御手段が生成する。この動作は、圧縮器の何れか１つが行うとしても良いし、例えば、ＣＰＵなどの別の機能ブロックが行うとしても良い。ヘッダー部に続いて画像データの圧縮符号がメインメモリに格納される。圧縮データをメインメモリに格納する際には、個々の圧縮符号ブロックが連続したデータとなるように、記憶制御手段がメインメモリへの書き込みを制御する。
また同時に、ポインタ取得手段が個々の圧縮符号ブロックのポインタ情報を取得する。ここでポインタ情報とは、個々の圧縮符号ブロックが格納されたメモリ上での位置情報を示すものであり、例えばメモリ上のアドレス情報であっても良いし、個々の圧縮符号ブロックの符号データサイズでも良い。ポインタ情報が符号データサイズである場合には、先頭の圧縮符号ブロックから１つ手前の圧縮符号ブロックまでのデータサイズを累積加算することで、目的の圧縮符号ブロックの位置を知ることができる。また、先頭の圧縮符号ブロックから１つ手前の圧縮符号ブロックまでの符号データサイズの累積加算をポインタ情報として持つようにしても良い。このようにして取得したポインタ情報は、画像の圧縮データと関連付けられた状態でメインメモリに格納される。このときポインタ情報は、圧縮データファイルと別のファイルとして格納されても良いし、ヘッダー情報の一部として圧縮データファイル内に格納されても良い。図１５では、圧縮データファイルと別のファイルとして格納されている場合を示している。
【００５４】
メインメモリ上に格納された圧縮データ及びポインタ情報は、ＨＤＤにコピーされる。これは、後でその画像データが必要になったときに、再度画像データの入力無しで画像データを得ることができるようにするためである。
以上のようにして、画像データを入力してから、圧縮データをメインメモリ及びＨＤＤへ格納するまでの動作を実行する。
【００５５】
＜ＪＰＥＧ方式における伸張手順＞
次に、ＪＰＥＧ方式における伸張手順を、図１６を用いて説明する。図１６は通常のＪＰＥＧ圧縮方式における伸張手順の概略を示したものであり、基本的に前述の圧縮手順の逆を辿っていく。
通常のＪＰＥＧ方式での伸張処理では、まず圧縮データのヘッダー部を読み取り、画像に関する情報（例えば、幅・高さ情報等）、量子化テーブル・ハフマン符号表等の伸張に必要な情報を取得する。続いて、ハフマン符号表を基に画像の圧縮符号をハフマン復号し、逆量子化を行う。このとき、ＤＣ成分は前ブロックとの差分を圧縮しているので、差分を計算して元の値に戻す。次に８×８個のデータに整列し、逆ＤＣＴ変換（ＩＤＣＴ変換）を行ってＹＵＶデータに変換する。最後に色空間変換を行い、ＲＧＢフォーマットの画像データを取得する。
【００５６】
＜本実施形態における伸張手順＞
次に、本実施形態における伸張処理手順を、図１０、図１５及び図１６を参照しながら説明する。なお本実施形態では、画像１面分全てを伸張する場合について説明する。図１０は画像データの形状の概略図を示した図であり、図１５は本実施形態の圧縮手順及び伸張手順を示した図である。図１６は伸張手順の概略を示した図であり、基本的に通常のＪＰＥＧ方式の伸張手順と同様である。
まず、ＨＤＤに格納された圧縮データ及びポインタ情報をメインメモリにコピーする。なお、メインメモリにそれらのデータが残っている場合には、この処理を行う必要はない。次に伸張制御手段がヘッダー部を読み取り、画像に関する情報、量子化テーブル・ハフマン符号表等の伸張処理に必要な情報を取得する。また、ポインタ情報を読み取り、個々の圧縮符号ブロックのアドレス情報を取得する。
【００５７】
次に、伸張制御手段はアドレス情報を基に伸張手段内の各伸張器に個々の圧縮符号ブロックを割り当てる。各圧縮器は、割り当てられた各ブロックの伸張処理を実行し、伸張後の画像データをバッファメモリに格納する。なお、本実施形態における圧縮方式では、各圧縮ブロックのＤＣ成分は前ブロックとの差分情報を取らずに符号化しているので、個々のブロックを独立して伸張することができる。また伸張制御手段は、各伸張器の伸張動作の開始・終了等の状況を監視し、バッファメモリに格納された各ブロックの画像データが元の画像データの並び順に出力されるように制御する。つまり、図１０（ａ）における元の画像データの並び順になるように、ｂ００ブロック、ｂ０１ブロック、・・・、ｂ７５ブロックの順で画像出力部に出力させるようにする。画像出力部では、伸張処理されたＲＧＢフォーマットの画像データをＣＭＹＫフォーマットに変換し、印刷用紙等の記録媒体上に画像形成（印刷）を行う。
なお、１つの伸張器で画像１面分全てを伸張する場合には、ポインタ情報を取得せずに圧縮データの先頭から伸張していくことで、画像１面分を伸張することも可能である。
【００５８】
（第７の実施の形態）
本発明の第７の実施形態を図１０、図１２及び図１５を用いて説明する。なお、本実施形態における画像圧縮方式は、第１の実施形態のそれと同様である。
本実施形態では、図１５におけるＨＤＤに格納された圧縮データを、特定の角度回転させて出力する場合について説明する。つまり、９０度、１８０度、２７０度回転出力動作である。ここでは、９０度回転出力を例に説明する。なお、圧縮データは図１０（ｂ）に示すような形状でＨＤＤに格納されているものとする。
まず、ＨＤＤに格納された圧縮データ及びポインタ情報をメインメモリにコピーする。なお、メインメモリにそれらのデータが残っている場合には、この処理を行う必要はない。次に伸張制御手段がヘッダー部を読み取り、画像に関する情報、量子化テーブル・ハフマン符号表等の伸張処理に必要な情報を取得する。また、ポインタ情報を読み取り、個々の圧縮符号ブロックのアドレス情報を取得する。
【００５９】
次に、伸張制御手段はアドレス情報を基に伸張手段内の各伸張器に個々の圧縮符号ブロックを割り当て、各ブロックの伸張処理を実行する。このとき伸張制御手段は、図１２（ｂ）に示すような順序で伸張するように各伸張器に圧縮符号ブロックの割り当てを行い、伸張順序を制御する。より詳細には、９０度回転処理の場合、まず画素データにおける左下の画素ブロック（ｂ７０）に対応する圧縮符号ブロック（ｃ７０）を、アドレス情報を基に最初の圧縮器に割り当て、次の圧縮器には、次の画素ブロック（ｂ６０）に対応する圧縮符号ブロック（ｃ６０）を割り当てる。このように制御することで、図１２（ｂ）に示す順序で圧縮符号ブロックを伸張していく。なお、本実施形態における圧縮方式では、各圧縮ブロックのＤＣ成分は前ブロックとの差分情報を取らずに符号化しているので、個々のブロックを独立して伸張することができる。
【００６０】
各圧縮器は、割り当てられた圧縮符号ブロックを伸張し、伸張後の各ブロックの画素データをバッファメモリに格納する。バッファメモリ内部は、所定サイズのメモリ空間を各伸張器に夫々２個ずつ割り当てたダブルバッファ構成にしておくことが望ましい。例えば、伸張器の個数が８個である場合には、バッファメモリ内部を１６個のメモリ空間に分割しておき、各伸張器が２個のメモリ空間を専用的に使用する。夫々のメモリ空間サイズは、伸張後の画素ブロック１つ分が格納できる容量であれば良い。例えば、１画素２４ビット（各色８ビット）のＲＧＢフォーマットの画像データを扱うシステムの場合、８×８画素の各画素ブロックは１９２バイト（６４バイト×３色）であるから、各メモリ空間サイズは１９２バイトとし、全体のバッファメモリサイズは３０７２バイト（１９２バイト×１６個）としておけば良い。各伸張器に夫々２個のメモリ空間を割り当てているので、或るブロックの伸張を終了しバッファメモリに格納した時点で、バッファメモリから画像出力部への画素ブロック出力を待たずに、即座に次の圧縮符号ブロックの伸張を開始することができる。また、８つの伸張器を並行して動作させることができるため、１つの伸張器でシリアルに伸張動作を行った場合に比べ、約８倍の高速処理を実現することが可能となる（実際には、各圧縮器の調停動作や、各圧縮符号ブロックへのアクセス時間等により、多少時間を要する）。なお、各伸張器に１つずつのメモリ空間を割り当てても良いが、その場合には、バッファメモリから画像出力部に伸張後の画素ブロックデータを出力するまでの間は、バッファメモリに伸張後の画像データを格納できないため、その伸張器は伸張処理を実行できないという欠点を有することになる。
【００６１】
伸張制御手段は各伸張器の動作を監視し、伸張動作を終了した伸張器に次の圧縮符号ブロックを割り当て、伸張処理を開始させる。また伸張制御手段は、バッファメモリに格納された各ブロックの伸張結果が、９０度回転後の画像データの並び順に画像出力部に出力されるように制御する。つまり、図１２（ｂ）の並び順になるように、ｂ７０ブロック、ｂ６０ブロック、・・・、ｂ０５ブロックの順で画像出力部に出力させるようにする。画像出力部では、伸張処理されたＲＧＢフォーマットの画像データをＣＭＹＫフォーマットに変換し、印刷用紙等の記録媒体上に画像形成（印刷）を行う。
このような手順で動作させることによって、９０度回転後の順序で各圧縮符号ブロックの伸張処理を行うことができ、画像１面分のメモリリソース（例えば、Ａ４サイズ、６００ｄｐｉの画像データの場合、約１００ＭＢ）を使用せずに画像回転処理を行うことができる。例えば、８個の伸張器を備え、夫々２個ずつのバッファメモリ内のメモリ空間を有しているシステムの場合には３０７２バイト、同様に４個の伸張器を有しているシステムの場合には１５３６バイトのメモリリソースで画像回転処理を実現できる。また、複数の伸張器を有している場合には、各圧縮符号ブロックの伸張処理を並行して実行できるので、１個の伸張器で伸張処理を実行する場合に比べ、処理速度を大きく改善することが可能となる。
【００６２】
（第８の実施の形態）
本発明における第８の実施形態を、図１０、図１７及び図１を用いて説明する。図１７は、スタンプ合成前後の画像の様子を示した概略図であり、同図（ａ）の画像に、同図（ｂ）のように右上隅に“（丸秘）”の文字を合成する。図１は画像処理装置の全体構成を示している。ここでは、図１のＨＤＤ１９に圧縮され格納された画像データに、図１７に示すようにスタンプ“（丸秘）”の文字を合成し、再度ＨＤＤ１９に格納する動作を説明する。
前述したように、通常のＪＰＥＧ方式での圧縮データにこのような処理を施す場合、まず画像全体を伸張し、伸張された画像データに所望の画像（ここでは“（丸秘）”文字）を合成し、再度画像全体を圧縮することで実現される。しかし、この従来の方法では、この処理のように画像データのうちの一部にスタンプを合成する場合であっても画像データ全体を伸張しなければならず、伸張後の画像全体分のデータを格納するメモリリソースが必要である。また、画像全体を伸張することによって余分な時間を費やすことになり、高速処理の観点でも不利である。
【００６３】
本実施形態におけるスタンプ合成処理は、この課題を解決するものであり、以下にその動作の詳細を説明する。図１７（ｂ）に示すように、スタンプ合成に必要な画素ブロックの領域は、右上隅の４ブロックのみである。図１０（ａ）の画素データブロックの図に対応させると、ｂ０４ブロック、ｂ０５ブロック、ｂ１４ブロック、ｂ１５ブロックの４ブロックである。つまり、これらの領域のみを伸張すれば良いのである。
まず、ＨＤＤ１９からメインメモリ１８に圧縮データとポインタ情報をコピーする。なお、メインメモリ１８のこれらの情報が残っている場合には、この処理を行う必要はない。次に、伸張制御手段は、伸張すべき圧縮符号ブロックを認識し、それらのポインタ情報をメインメモリから取得する。なお、伸張すべき圧縮符号ブロックの認識は、例えばＣＰＵ等の他の機能ブロックが行うとしても良い。次に伸張制御手段は、取得したアドレス情報を基に圧縮符号ブロックを伸張手段内の伸張器に割り当て、伸張処理を開始させる。伸張器は、割り当てられた圧縮符号ブロックを伸張し、バッファメモリの所定のメモリ空間に格納する。
【００６４】
さて、合成に必要な４つの画素ブロックの伸張処理が完了したら、画像処理部は、得られた４つの画素ブロックから成る画像データに対してスタンプ合成処理を行う。なお、スタンプ合成処理後の画像データも、８×８画素から成る４つの画素ブロックから成る。その後、４つの画素ブロックを、第１の実施形態と同様の手順で圧縮処理を行う。なお、圧縮データのヘッダー部は、基本的に処理前のものをそのまま使用し、伸張しなかった他の圧縮符号ブロックもそのまま使用する。ヘッダー部に変更が生じる場合には、変更部分を書き換える等すれば良い。
合成処理し再圧縮した４つのブロックは、基本的にメインメモリ上の元の格納場所に格納する。このとき、処理前の圧縮符号ブロックのサイズに対して処理後の圧縮符号ブロックのサイズが大きくなってしまうことが考えられる。その場合には、元の格納場所に格納すると、次の圧縮符号ブロックの一部が上書きされてしまうことが考えられるが、その場合には、圧縮データの最後尾に格納するなどすれば良い。また、ポインタ情報はそれに応じて変更するなどすれば良い。全ての圧縮データ及びポインタ情報がメインメモリに格納されたら、それらをＨＤＤ１９にコピーする。
以上説明したように、本実施形態によれば、スタンプ合成処理等の画像の一部を編集するような処理を行う場合、画像全体を一度伸張せずに所望の画像処理を施すことができ、高速に処理を実行することが可能となる。
【００６５】
また別の例として、バーコード等の識別情報を付記した画像を印刷する場合について説明する。これは、画像を印刷した紙媒体にバーコード等の識別情報を付記することによって、紙媒体を管理するというものの１つの利用形態である。例えば、バーコードが付記された画像をコピーする際に、バーコード情報のみを書き替えることによって、オリジナルの画像データか、１回コピーされた画像データかを管理することができる。ここでは、ＨＤＤに圧縮され格納されたオリジナルのバーコード付き画像データを、バーコード部分のみ新しいバーコードと書き換え、印刷する場合について説明する。
まず、前述の手順と同様に、ＨＤＤからメインメモリに圧縮データとポインタ情報をコピーする。次に、バーコードを付記された領域を、前述のスタンプ合成処理と同様の手順で伸張し、画像処理部がバーコードを新しいバーコードに書き替える。この処理は、ＣＰＵ等の別の機能ブロックが実行するとしても良い。また、この処理と並行して、バーコードが付記された領域以外の領域を伸張する。伸張制御手段は、バーコードの書き換えを行ったブロックと、行わなかったブロックの出力順序やタイミングを制御して画像出力部へ伸張後の画像データを出力し、画像出力部が紙媒体への印刷を実行する。
このようにすることによって、バーコード等の識別情報が付記された画像を、バーコード部分のみ改変して印刷する動作を実現することができる。
【００６６】
（第９の実施の形態）
次に、本発明の第９の実施形態を説明する。本実施形態では、本実施形態の圧縮方式からＪＰＥＧ方式への変換、またその逆の変換について説明する。なお、本実施形態の圧縮方式とは、第１の実施形態において説明した、ＪＰＥＧ方式をベースとしているが、ＤＣ成分の符号化は前ブロックとの差分を取らない方式である。この圧縮方式は、前述したようにＪＰＥＧ規格外の圧縮方式であり、ＪＰＥＧ方式に対応した一般的なアプリケーションやブラウザ等ではデコードすることができない。そのため、一般的なアプリケーションやブラウザにおいて圧縮データをデコードしたり、画像を表示したりするには、本実施形態の圧縮方式から通常のＪＰＥＧ方式に容易に変換できることが望まれる。また、前述したような本実施形態の圧縮方式の特長を生かすために、その逆の変換、つまりＪＰＥＧ方式から本実施形態の圧縮方式に容易に変換できることが望ましい。ここでは、ＨＤＤに格納された本実施形態の圧縮方式の圧縮データをＪＰＥＧ方式に変換し、外部Ｉ／Ｆを通してネットワーク配信する例を説明する。
【００６７】
図２０は圧縮データの構成を示しており、ここでは４：４：４サンプリングでの例を示している。前述したように４：４：４サンプリングでは、輝度信号（Ｙ）、青色差信号（Ｕ）、赤色差信号（Ｖ）の各コンポーネントが夫々１ブロックずつの計３ブロックを１つの処理単位（ＭＣＵという）としており、各コンポーネントは夫々ＤＣ成分とＡＣ成分の圧縮符号を有している。圧縮データの先頭にはヘッダー部があり、それに続いてＭＣＵ毎の圧縮符号が並ぶ。圧縮符号は、まず第１のＭＣＵの圧縮符号（図１０（ｂ）のｃ００ブロック）から始まり、第２のＭＣＵの圧縮符号（同ｃ０１ブロック）、第３のＭＣＵの圧縮符号（同ｃ０２ブロック）、・・・の順で並ぶ。夫々のＭＣＵの圧縮符号は、輝度信号のＤＣ成分、同ＡＣ成分、青色差信号のＤＣ成分、同ＡＣ成分、赤色差信号のＤＣ成分、同ＡＣ成分の順で並ぶ。赤色差信号のＡＣ成分の次には、次のＭＣＵの輝度信号のＤＣ成分が続く。
【００６８】
次に、本実施形態の動作を、図１及び図２２を参照しながら説明する。図１は画像処理装置の全体構成を、図２２は圧縮方式の変換手順及びネットワーク配信手順を夫々示している。
まずＨＤＤに格納された本実施形態の圧縮方式にて圧縮された圧縮データとポインタ情報をメインメモリにコピーする。なお、メインメモリにそれらのデータが残っている場合には、この処理を行う必要はない。次に、伸張処理部の伸張制御手段がポインタ情報を取得し、その情報を基に伸張手段内の各伸張器に圧縮符号ブロックを割り当てる。各伸張器は、割り当てられた圧縮符号ブロックのうち各コンポーネントのＤＣ成分のみをハフマン復号化し、バッファメモリを介して圧縮処理部に送信する。なお、各コンポーネントのＡＣ成分は復号化せずに符号データのまま圧縮処理部に送信する。なお、伸張器が１つの場合には、ポインタ情報を取得せずに圧縮データの先頭から順に伸張する動作としても良い。
【００６９】
圧縮処理部では、圧縮制御手段が各圧縮器に夫々のブロックを割り当て、ハフマン符号化を実行させる。夫々の圧縮器は、各ブロックのＤＣ成分をハフマン符号化する際に、前ブロックのＤＣ成分との差分を計算し、ハフマン符号化する。即ち、ＪＰＥＧ方式と同様の手順でハフマン符号化を行う。なお、ＡＣ成分は符号データのままであるので、特に処理を施さない。なお、圧縮器が１つの場合には、復号化した画像データの先頭から順に符号化する動作とすれば良い。
その後、第１の実施例と同様に、圧縮制御手段が圧縮符号の出力順を制御しながら、ハフマン符号化後の圧縮符号データをメインメモリに格納する。また、ヘッダー部は、特にその内容の変更が無い場合には、そのままメインメモリ上でコピーする等すれば良い。ヘッダー部の書き換えが必要な場合には、圧縮制御手段が内容の書き換えを行うなどすれば良い。このようにしてメインメモリに格納された圧縮データは、この時点でＪＰＥＧ方式と互換性のある圧縮データとなる。また、この圧縮データを外部Ｉ／Ｆを通して出力することで、本実施形態の動作を遂行することができる。
【００７０】
つまりこれらの動作は、図２１に示すように、ＤＣ成分の圧縮符号のみをハフマン復号化して符号化する前のＤＣ成分値に戻し、前ブロックのＤＣ成分値との差分を計算して再びハフマン符号化する。このようにすることにより、ＪＰＥＧ方式と互換のある圧縮符号データに変換することができる。なお、量子化後のＤＣ成分値が図１８に示すような値の場合、ハフマン復号した時点でのＤＣ成分値は図１９（ａ）に示すようになり、再符号化する時点でのＤＣ成分値は図１９（ｂ）に示す値となる。なお、図２１に示すように、ＡＣ成分の圧縮符号は本実施形態の圧縮方式と通常のＪＰＥＧ方式で同一であるので、そのままコピーするようにすれば良い。
なお、ここでは圧縮処理部と伸張処理部が分かれている構成になっているが、これらの機能を１つのＡＳＩＣ又はＣＰＵ等により実現するとしても良い。
【００７１】
以上のように、本実施形態における圧縮方式から、一般的に広く使用されているＪＰＥＧ方式への変換を比較的簡単に実現することができる。また、圧縮符号データのＤＣ成分のみを復号化し、差分を計算して再符号化するという動作のみなので、高速に変換することができる。また、圧縮符号データのＤＣ成分をハフマン復号化するだけなので、画質が劣化することもない。
【００７２】
（第１０の実施の形態）
次に本発明の第１０の実施形態を説明する。本実施形態の画像処理装置は、図２３に示すように必要最小限の機能しか持たない。即ち、画像入力部と、画像出力部と、圧縮処理部と、伸張処理部と、操作部と、ＣＰＵと、メインメモリと、外部Ｉ／Ｆである。画像を編集したり、何らかの処理を施したりする場合には、ネットワークを介した外部のサーバ装置で行う。なお、画像処理装置内の圧縮処理部と伸張処理部等は、例えば１つのＡＳＩＣやＣＰＵなどでその機能を実現するとしても良い。また、画像処理装置内のＣＰＵは装置内各部の制御など、最低限の機能しか持たず、スタンプ合成処理やバーコード埋め込み処理等の画像編集処理、色変換処理やフィルタ処理等の画像処理等は行わないものとする。
このような画像処理装置は、低コストを実現するための構成であり、そのためにはメモリリソースを極力削減する必要がある。そのため、圧縮方式としてはメモリ使用量を削減できる本発明の圧縮方式を使用し、この装置に搭載するのは、圧縮／伸張、回転等の基本機能のみである。なお、サーバ装置側には、スタンプ合成機能、バーコード読み取り／書き込み機能、ＪＰＥＧ方式への変換機能などを搭載する。また、サーバ装置内の圧縮処理部、伸張処理部、画像処理部等は、１つのＡＳＩＣ等で構成されていても良く、その機能の一部又は全部をＣＰＵ等の他の機能ブロックが実現するとしても良い。
【００７３】
さて、入力された画像データにバーコード等の識別情報を埋め込み、外部サーバにて管理するシステムを考えてみる。このシステムの動作は次の通りである。画像処理装置内のスキャナ装置で読み取られた画像をサーバ装置のＨＤＤに保管し、また、画像にバーコード等の識別情報を埋め込み、バーコードを付記された画像データを画像処理装置で印刷して出力する。出力された画像は、付記されたバーコード情報によって、サーバ装置に管理される。このような動作は、具体的には以下のようにして実現される。
【００７４】
まず、画像入力部において元の画像データを読み取り、圧縮処理部において本発明の圧縮方式で圧縮される。本発明の圧縮方式とは、ＪＰＥＧをベースとした、ブロック間に相関の無い方式である。圧縮された画像データとポインタ情報はメインメモリに格納され、また外部Ｉ／Ｆからネットワークを介してサーバ装置に送信され、ＨＤＤに格納される。さて、画像データの一部にバーコードを合成するのだが、サーバ装置では、バーコードを付記する領域のみを伸張処理部にて伸張して、画像処理部でバーコード情報を合成する。バーコード情報を合成された分割画像データは圧縮処理部にて再圧縮され、ネットワークを介して画像処理装置に送られる。
画像処理装置では、受信したバーコードが付記された領域の分割圧縮データを、伸張処理部で伸張する。また、それ以外の領域の圧縮データも同様にして伸張される。伸張処理部内部では、図１５を用いて説明したように、伸張制御手段が伸張順序や出力順序を制御して、伸張後の画像データを印刷する順序で画像出力部に送る。画像出力部では、送られた順序で分割画像データを紙媒体に印刷することで、上記所望の機能を実現する。
以上のように、本発明の圧縮方式を用いることで、画像処理装置内のメモリリソースを最小限にして上記所望の機能を実現することができる。また、バーコード情報を埋め込んだ情報をネットワークを介して送信する時など、送受信するデータが圧縮された最小限のデータで済むため、ネットワーク帯域を圧迫すること無く、高速にデータ通信を行うことができる。
【００７５】
（第１１の実施の形態）
次に、本発明の第１１の実施形態を説明する。本実施形態での圧縮器は、本発明における圧縮方式とＪＰＥＧ方式の両方の圧縮方式に対応している。本発明の圧縮方式とは、第１の実施形態で説明したが、ＪＰＥＧ方式をベースとした、圧縮ブロック間に相関のない方式である。
本実施形態では、本発明の圧縮方式とＪＰＥＧ方式の両方の圧縮方式によって画像圧縮を行い、２つの圧縮データを生成する。これら２つのファイルは、その後の利用形態によって使い分ける形態とする。例えば、第３の実施形態にて説明したような、画像の一部を編集して印刷する動作の場合には、前述の通り、本発明の圧縮方式の方がＪＰＥＧ方式よりも有利であることは明らかである。このような動作の場合には、本発明の圧縮方式での圧縮データを利用するようにする。一方、画像編集動作を行わずに外部Ｉ／Ｆを通してネットワーク配信するような動作の場合には、一般的なアプリケーションやブラウザとの互換性のあるＪＰＥＧ方式で圧縮しておいた方が、圧縮方式を変換する必要が無い点で有利であるため、そのような場合にはＪＰＥＧ方式での圧縮データを使用するようにすれば良い。
このように、圧縮データの利用形態により本発明の圧縮方式とＪＰＥＧ方式での圧縮データを使い分けることによって、第４の実施形態で説明したような圧縮方式の相互変換をする手間が省くことができ、高速処理に有利である。
【００７６】
（第１２の実施の形態）
次に、本発明における第１２の実施形態を説明する。本実施形態では、初めに選択された機能によって本発明の圧縮方式とＪＰＥＧ方式とを選択できるようにする。例えば、初めに選択された機能がScan to e-mail機能であった場合、画像入力部で読み取られた画像データを外部Ｉ／Ｆを通して外部の機器にネットワーク配信する動作であるため、まずＪＰＥＧ方式によって画像圧縮を行っておく。後に、そのデータの一部を編集したり、画像回転をしたりする場合には、第５の実施形態で説明したような方法で圧縮方式の相互変換を行い、そのときの機能にとってより良い圧縮方式に変換するなどすれば良い。
また逆に、初めに選択された機能が、読み取られた画像を回転して印刷する等の場合には、まず本発明の圧縮方式によって画像圧縮を行い、回転しての印刷動作を実行する。後にネットワーク配信をする必要が生じた場合には、第４の実施形態で説明したような方法でＪＰＥＧ方式に変換するなどすれば良い。
【００７７】
このようにすることによって、本発明の圧縮方式とＪＰＥＧ方式の利点を生かすことができる。つまり、ランダムアクセスできることによる高速性や、回転処理等におけるメモリリソースの削減などの利点と、一般的なアプリケーションやブラウザ等でサポートされているというＪＰＥＧ方式の利点を、最大限に生かすことができるようになる。
尚、図１では画像処理装置１００に全ての機能を備えて実行するように説明したが、図２３のように、機能を画像処理装置側とサーバ装置側に分散して実行しても構わない。
【図面の簡単な説明】
【００７８】
【図１】画像処理装置のハードウェア構成を示した図である。
【図２】第１の実施形態における圧縮処理部の動作を説明するための図である。
【図３】画像データを分割する際の動作を説明するための図である。
【図４】第２の実施形態における圧縮処理部の動作を説明するための図である。
【図５】第３の実施形態における圧縮処理部の動作を説明するための図である。
【図６】第４の実施形態における圧縮処理部の動作を説明するための図である。
【図７】第４の実施形態の圧縮処理部による圧縮処理の流れを示したタイミングチャートである。
【図８】従来構成の圧縮処理部による圧縮処理の流れを示したタイミングチャートである。
【図９】第５の実施形態における圧縮処理部の動作を説明するための図である。
【図１０】画像データの形状の概略図である。
【図１１】回転画像を示す図である。
【図１２】一般的な回転処理を説明する図である。
【図１３】圧縮手順を示した図である。
【図１４】ジグザグスキャンと呼ばれるデータの並び替えについて説明するための図である。
【図１５】基本的な圧縮及び伸長動作を説明する図である。
【図１６】伸長手順を説明する図である。
【図１７】スタンプ合成を説明する図である。
【図１８】量子化後のＤＣ成分値の例を示す図である。
【図１９】ハフマン符号化前のＤＣ成分値を説明する図である。
【図２０】圧縮データの構成を示す図である。
【図２１】本発明の圧縮方式からＪＰＥＧ方式に変換することを説明する図である。
【図２２】圧縮方式変換及びネットワーク配信について説明する図である。
【図２３】最小限の機能を持った画像処理装置とサーバ装置の構成図である。
【符号の説明】
【００７９】
１００  画像処理装置、１１  画像入力部、１２  圧縮処理部、１３  伸長処理部、１４  画像出力部、１５  ＣＰＵ、１６  画像処理部、１７  操作部、１８  メインメモリ、１９  ＨＤＤ、２０  外部Ｉ／Ｆ
【図１】
2008104164.tif 000003
【図２】
2008104164.tif 000004
【図３】
2008104164.tif 000005
【図４】
2008104164.tif 000006
【図５】
2008104164.tif 000007
【図６】
2008104164.tif 000008
【図７】
2008104164.tif 000009
【図８】
2008104164.tif 000010
【図９】
2008104164.tif 000011
【図１０】
2008104164.tif 000012
【図１１】
2008104164.tif 000013
【図１２】
2008104164.tif 000014
【図１３】
2008104164.tif 000015
【図１４】
2008104164.tif 000016
【図１５】
2008104164.tif 000017
【図１６】
2008104164.tif 000018
【図１７】
2008104164.tif 000019
【図１８】
2008104164.tif 000020
【図１９】
2008104164.tif 000021
【図２０】
2008104164.tif 000022
【図２１】
2008104164.tif 000023
【図２２】
2008104164.tif 000024
【図２３】
2008104164.tif 000025