JP4902474B2 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP4902474B2 JP4902474B2 JP2007243123A JP2007243123A JP4902474B2 JP 4902474 B2 JP4902474 B2 JP 4902474B2 JP 2007243123 A JP2007243123 A JP 2007243123A JP 2007243123 A JP2007243123 A JP 2007243123A JP 4902474 B2 JP4902474 B2 JP 4902474B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- divided
- image
- compressed data
- compression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
また、上記問題を解決するものとして、画像データを複数の領域に分割し、複数の画像処理部で並行処理することで、処理に要する時間の短縮化を図った技術が知られている。例えば、分割データ毎の処理時間が近似するように画像データをバンド単位で分割し、分割データを並行処理しメモリ空間に格納することで、全体の処理時間を短縮し高速化を図った技術が提案されている(例えば、特許文献2参照)。さらに、この特許文献2には、バンド単位に分割された画像データ(バンドデータ)を圧縮し、圧縮されたバンドデータを同一メモリ上の先頭アドレスからアドレスをインクリメントさせる方向と、最終アドレ
スからアドレスをデクリメントする方向で交互に格納する技術が記載されている。
一方、画像の高解像度化に伴い、画像処理装置が扱う画像データ量が増大してきていることから、圧縮された画像データのままで画像編集処理や画像回転処理等の各画像処理を行いたいというニーズが高まってきている。JPEGやJPEG2000等の圧縮方式においては、画像データの主走査方向と副走査方向の数ピクセルずつを1タイルとし、タイル毎に圧縮処理を行っているが、上記の理由によりタイル状の圧縮データ毎に各画像処理をすることが望まれており、夫々の圧縮データにランダムにアクセスできる必要がある。
また、特許文献2の技術でも、バンドデータの順序が不連続な断片化した状態で格納される可能性があり、各バンドデータの先頭位置やバンドデータ同士の境界がわからないため、ランダムアクセスすることができず、アクセス性が悪いという問題がある。また、メモリの先頭アドレスからアドレスを逐次インクリメントして格納したバンドデータと、最終アドレスからアドレスを逐次デクリメントして格納したバンドデータとの間のメモリ空間は、使用されない可能性があり、メモリ空間を効率的に利用できないという問題がある。
本発明は、上記に鑑みてなされたものであって、分割して圧縮された各画像データへのアクセス性を向上させるとともに、メモリの利用効率を向上させることが可能な画像処理装置及び画像処理方法を提供することを目的とする。
先行して格納された前記分割圧縮データの最終アドレスと、次に格納する前記分割圧縮データの先頭アドレスと、が入力順序に応じて前記分割圧縮データを格納することを特徴とする。
また、請求項2の発明は、前記圧縮手段は、前記生成された複数の分割データを前記領域毎に個別に圧縮する際、前記領域間に相関が無い様に独立して圧縮することを特徴とする。
また、請求項3の発明は、複数の分割圧縮データを平行して生成することを特徴とする。
また、請求項5の発明は、前記圧縮手段は複数の圧縮器を有しており、前記第1メモリ空間は、前記圧縮器の個数と同数以上の記憶領域を有することを特徴とする。
また、請求項6の発明は、前記記憶制御手段は、前記画像データの領域毎に、前記第1メモリ空間の所定の記憶領域を割り当て、当該各領域に対応する前記分割圧縮データの夫々を対応する記憶領域に格納することを特徴とする。
また、請求項8の発明は、前記分割手段は、前記分割した画像データを夫々記憶する複数のバッファメモリを有し、前記バッファメモリの個数は、前記圧縮器の個数と同数以上であることを特徴とする。
また、請求項9の発明は、前記分割手段は、画像データを8×8画素毎に分割して複数の分割データを生成し、前記1又は複数の圧縮器は、前記複数の分割データを色空間変換する手段と、色空間変換された分割データを周波数領域のデータに変換する手段と、周波数領域に変換されたデータを量子化する手段と、量子化されたデータをエントロピー符号化する手段と、を備えたことを特徴とする。
また、請求項10の発明は、前記量子化されたデータをエントロピー符号化する際、量子化したデータのうちその領域の平均値である直流成分をそのままエントロピー符号化することを特徴とする。
また、請求項11の発明は、分割圧縮データ及び分割圧縮データの格納先を示すポインタ情報を格納する記憶手段と、前記記憶手段から分割圧縮データを取得し、分割された領域毎に独立して伸張する1又は複数の伸張器を有し、当該伸張器により複数の分割画像データを生成する伸張手段と、前記記憶手段から前記ポインタ情報を取得し、その情報を基に前記分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する伸張制御手段と、前記分割画像データ1つの画像データに結合し出力する画像出力手段と、を備えたことを特徴とする。
また、請求項13の発明は、前記1又は複数の伸張器は、前記エントロピー復号化したデータを逆量子する際、エントロピー復号化したデータのうちその領域の平均値である直流成分をそのまま逆量子化することを特徴とする。
また、請求項14の発明は、前記伸張手段は複数の伸張器を有し、当該伸張器により複数の分割画像データを並行して生成することを特徴とする。
また、請求項15の発明は、前記伸張制御手段は、前記ポインタ情報を基に前記分割圧縮データの伸張順序及び出力順序を制御し、それにより出力される画像データの回転方向を選択することを特徴とする。
また、請求項16の発明は、前記伸張制御手段は、前記ポインタ情報を基に前記分割圧縮データの伸張範囲を制御し、それにより画像データのうち一部分を伸張することを特徴とする。
また、請求項18の発明は、画像データを入力する画像入力工程と、前記入力された画像データを複数の領域に分割し、複数の領域からなる分割データを生成する分割工程と、前記生成された複数の分割データ夫々を前記領域毎に個別に圧縮して、複数の分割圧縮データを並行して生成する圧縮工程と、前記生成された各分割圧縮データを連続的に格納する記憶制御工程と、前記格納された各分割圧縮データの先頭アドレスを示すポインタ情報を夫々取得するポインタ取得工程と、前記記憶制御工程は、先行して格納された前記分割圧縮データの最終アドレスと、次に格納する前記分割圧縮データの先頭アドレスと、が入力順序に応じて前記分割圧縮データを格納することを含むことを特徴とする。
また、請求項19の発明は、画像データを入力する画像入力工程と、前記入力された画像データを複数の領域に分割し、複数の領域からなる分割データを生成する分割工程と、前記生成された複数の分割データ夫々を前記領域間に相関が無い様に独立して圧縮して、複数の分割圧縮データを生成する圧縮工程と、前記生成された各分割圧縮データを連続的に格納する記憶制御工程と、前記格納された各分割圧縮データの先頭アドレスを示すポインタ情報を夫々取得するポインタ取得工程と、前記記憶制御工程は、先行して格納された前記分割圧縮データの最終アドレスと、次に格納する前記分割圧縮データの先頭アドレスと、が入力順序に応じて前記分割圧縮データを格納することを含むことを特徴とする。
また、請求項20の発明は、分割圧縮データを取得し、分割された領域毎に独立して伸張可能な1又は複数の伸張器により、複数の分割画像データを生成する伸張工程と、分割圧縮データの格納先を示すポインタ情報を取得し、その情報を基に前記分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する伸張制御工程と、前記分割画像データを出力する画像出力工程と、を含むことを特徴とする。
また、請求項2又は3にかかる発明によれば、分割手段により生成された分割データを領域毎に個別に圧縮し、圧縮された分割圧縮データを記憶手段に連続的に格納するとともに、格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できるとともに、各分割圧縮データの格納先アドレスを示すポインタ情報を参照することで、各分割圧縮データへのランダムアクセスを行うことができる。
また、請求項5にかかる発明によれば、第1メモリ空間は、前記圧縮器の個数と同数以上の記憶領域を有することで、各圧縮器で生成された分割圧縮データを第1メモリ空間の記憶領域に効率よく格納することができるため、圧縮処理に要する時間を短縮化できる。
また、請求項6にかかる発明によれば、記憶制御手段は、前記画像データの領域毎に、第1メモリ空間の所定の記憶領域を割り当て、当該各領域に対応する分割圧縮データの夫々を対応する記憶領域に格納することで、各領域に対応する分割圧縮データを第1メモリ空間の記憶領域に効率よく格納することができるため、圧縮処理に要する時間を短縮化できる。
また、請求項8にかかる発明によれば、分割手段は、圧縮器の個数と同数以上のバッファメモリを有することで、全ての圧縮器により圧縮を並行して行うことができるため、圧縮処理に要する時間を短縮化できる。
また、請求項9にかかる発明によれば、JPEG方式と一部同じ手順で圧縮動作を行うため、JPEG方式での装置を一部流用することができるとともに、JPEG方式への変換が容易且つランダムアクセスが可能な圧縮方式で画像圧縮を実現することができる。
また、請求項10にかかる発明によれば、エントロピー符号化する際に、直流成分値を隣接する領域の直流成分値との差分を取らないで圧縮するので、個々の圧縮ブロックが独立に伸張可能な圧縮データを生成することができる。
また、請求項11にかかる発明によれば、分割圧縮データを取得して分割された領域毎に独立して伸張し、また各分割圧縮データの格納先を示すポインタ情報を取得し、その情報を基に分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する。これにより、個々の分割圧縮データに任意にアクセスし、伸張順序や伸張範囲、出力順序を変えて伸張することができる。
また、請求項13にかかる発明によれば、逆量子化する際に、直流成分値を隣接する領域の直流成分値との差分を取らないで圧縮したデータを伸張でき、個々のブロックを独立に伸張することができる。
また、請求項14にかかる発明によれば、伸張手段が複数の伸張器を有しており、且つ個々の分割圧縮データを独立して伸張できるため、並行して伸張処理ができ、伸張処理に要する時間を大幅に短縮することができる。
また、請求項15にかかる発明によれば、ポインタ情報を参照して任意の分割圧縮データにアクセスし、伸張順序及び出力順序を制御しながら伸張できるため、通常の回転方法に比べ高速に処理できるとともに、画像1面分のメモリリソース無しで回転処理を実現することができる。
また、請求項16にかかる発明によれば、ポインタ情報を参照して任意の分割圧縮データにアクセスし、伸張範囲を制御して伸張できるため、画像データの一部を抜き出して伸張することができ、画像全面分を必要としない画像編集処理などを高速に実現することができる。
また、請求項17にかかる発明によれば、画像全体を伸張せずに本発明における圧縮方式とJPEG方式との相互変換を高速且つ画質劣化すること無しに実現することができる。
また、請求項19にかかる発明によれば、分割手段により生成された分割データを領域間に相関が無い様に独立して圧縮し、圧縮された分割圧縮データを記憶手段に連続的に格納するとともに、格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できるとともに、領域間に相関が無い様に独立して圧縮しているため、各分割圧縮データの格納先アドレスを示すポインタ情報を参照することで、各分割圧縮データへのランダムアクセスし、独立して伸張を行うことができる。
また、請求項20にかかる発明によれば、分割圧縮データを取得して分割された領域毎に独立して伸張し、また各分割圧縮データの格納先を示すポインタ情報を取得し、その情報を基に分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する。これにより、個々の分割圧縮データに任意にアクセスし、伸張順序や伸張範囲、出力順序を変えて伸張することができる。
(第1の実施の形態)
図1は、本実施形態にかかる画像処理装置のハードウェア構成を示した図である。図1に示すように、画像処理装置100は、画像入力部11、圧縮処理部12、伸長処理部13、画像出力部14、CPU15、画像処理部16、操作部17、メインメモリ18、HDD19及び外部I/F20等を備えている。なお、本実施形態では、圧縮処理部12、伸長処理部13、画像処理部16を個別に備えた構成としたが、これに限らず、例えば、圧縮処理部12、伸長処理部13、画像処理部16の全て又は何れかの機能を、1つのASIC(Application Specific Integrated Circuit)又はCPU15等により実現させる態様としてもよい。
画像入力部11は、原稿の読み取りをCCD(Charge Coupled Device)リニアイメージセンサで行い、読み取った画像データにシェーディング処理や、RGB処理(例えば、色変換処理、フィルタ処理、Y変換処理、変倍処理等)を施した後、画像データをRGBフォーマットにて圧縮処理部12に出力する。なお、本実施形態では、CCDリニアイメージセンサにより、原稿の読み取りを行う態様としたが、これに限らず、例えば、密着型イメージセンサ、CCDエリアイメージセンサ、CMOS(Complementary Metal-Oxide Semiconductor)センサ等を用いる態様としてもよい。
圧縮処理部12は、ASIC等により構成され、画像入力部11から入力された画像データを、複数の領域に分割し、これら分割された画像データ夫々を、所定の規格に準じた画像圧縮方式により圧縮し、メインメモリ18に格納する。
なお、圧縮処理部12は、JPEGやJPEG2000方式で圧縮を行う場合、画像データの主走査方向と副走査方向とを夫々所定のピクセル数単位で分割した各領域を圧縮単位(以下、タイルともいう)とし、これらタイルを基準に圧縮を行うことになる。例えば、JPEG方式では8×8ピクセルを1タイル、JPEG2000方式では、128×128ピクセルを1タイル等として、タイル毎に圧縮を行う。
JPEG2000方式では、他のタイルからの影響を受けずに圧縮処理等を行うことができるため、圧縮結果をタイル毎に1ファイルとして出力できる。1ファイルずつに圧縮されたタイル(以下、分割圧縮データという)は、それぞれが個別に画像編集や画像回転処理を行うことができるが、メモリからの読み出しをする際にはバーストリードが効率的であるため、メモリ上では連続したデータにしておくことが好ましい。
伸長処理部13は、ASIC等により構成され、メインメモリ18に格納された分割圧縮データ(例えば、JPEG2000方式)を、RGBフォーマットの画像データに伸長し、画像出力部14に出力する。
画像出力部14は、レーザプリンタ方式やインクジェット方式等の画像形成手段(図示せず)を備え、伸長処理部13から入力されたRGBフォーマットの画像データをCMYKフォーマットに変換し、印刷用紙等の記録媒体上に画像形成(印刷)を行う。
画像処理部16は、画像データ(分割圧縮データ)に対し、変倍処理、画像編集処理、画像回転処理等の各種画像処理、画像フォーマット変換処理、レンダリング処理等を施す。
操作部17は、マウスやキーボード等の操作手段と、操作にかかる情報に表示や画像形成装置の状態を表示する表示手段とを有し(何れも、図示せず)、操作手段を介してユーザからの入力操作を受け付けるとともに、ユーザに向けた情報を表示手段に表示する。
メインメモリ18は、SDRAM(Synchronous DRAM)等の記憶手段であって、圧縮処
理部12により圧縮された分割圧縮データや後述するポインタテーブル、他のデータ等を格納する。
HDD19は、磁気的又は光学的に記録可能な記録媒体を有し、画像入力部11から入力された画像データ又は伸長処理部13により伸長された分割圧縮データ、外部I/F20を介して入力された画像データや文書データ、画像形成装置の制御にかかるプログラムや各種設定情報、フォントデータ等を記憶する。
外部I/F20は、PC(Personal Computer)やその他の画像処理装置等の外部機器と接続するインターフェースであって、外部機器との間で情報の授受を行う。
メインメモリ18に格納されたJPEG2000方式の画像データ(分割圧縮データ)は、画像処理部16により各種画像処理(例えば、変倍処理、画像編集処理、画像回転処理等)が施された後、伸長処理部13に出力され、RGBフォーマットの一の画像データに変換される。その後、画像出力部14のCMYK処理にてRGBフォーマットの画像データからCMYKフォーマットの画像データに変換された後、印刷用紙等の記録媒体に印刷されることで、コピー機能は実現される。
また、画像データの外部機器への送信(例えば、Scan To Email等)にかかる動作(スキャナ機能)は、次のように行われる。まず、画像入力部11により読み取られたRGBフォーマットの画像データは、圧縮処理部12により、圧縮処理部12によりJPEG2000方式で圧縮された後、メインメモリ18に格納される。
メインメモリ18に格納されたJPEG2000方式の画像データ(分割圧縮データ)は、画像処理部16により各種画像処理(例えば、変倍処理、画像編集処理、画像回転処理等)が施された後、他の画像フォーマット(例えば、TIFF、PDF等)に変換される。その後、外部I/F20を介して外部機器に送信されることで、スキャナ機能は実現される。なお、画像フォーマットの変換が必要ない場合には、そのままの状態で、外部I/F20を介して外部機器に送信されることになる。
分割手段121は、バッファメモリ1211〜1214を有し、画像入力部11から入力された画像データを1又は複数のタイル(領域)に分割することで、複数の分割データを生成し、バッファメモリ1211〜1214に夫々格納する。なお、バッファメモリ1211〜1214は、夫々独立した記憶素子により構成することとしてもよいし、一の記憶素子内に形成された複数の記憶領域により構成することとしてもよい。
画像入力部11において、CCDリニアイメージセンサによる画像データの読み取り順序は、まず主走査方向のA領域及びB領域を同時に読み取り、その後、副走査方向にC領域及びD領域、E領域及びF領域、G領域及びH領域へと順次読み取ることになる。分割手段121では、画像入力部11から入力される画像データを、その入力順序に応じて二つの領域毎に分割し、バッファメモリ1211〜1214に順次格納する。これは、例えば、画像入力部11から入力された画像データを、所定のライン数分だけ一のバッファメモリに格納し、それが完了したら次のバッファメモリに格納するという方式で実現することができる。
ここでは、図3に示したように、副走査方向に4分割した夫々の分割データ(A領域及びB領域、C領域及びD領域、E領域及びF領域、G領域及びH領域)が、各バッファメモリ1211〜1214に順次格納されるものとする。例えば、A4縦サイズ(210mmラ297mm)、600dpiの画像データでは、主走査方向に約4961ピクセル、副走査方向に7016ピクセルとなるので、副走査方向に4分割した場合には約1240ラインずつ各バッファメモリに順次格納される。なお、圧縮単位が128ラ128ピクセルで構成されるJPEG2000方式の圧縮では、最小で128ラインずつ各バッファメ
モリに格納される。
具体的に、圧縮手段122の圧縮器1221〜1224は、バッファメモリ1211〜1214に格納された二つの領域からなる分割データから、各領域分に対応する分割データを夫々読み取り、JPEG2000方式で個別に圧縮することで、複数の分割圧縮データを並行して生成する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できる。
メモリ制御手段123は、圧縮手段122はから入力された分割データをメインメモリ18内に形成された第1メモリ空間181に一旦格納した後、同じメインメモリ18内に形成された第2メモリ空間182に、画像入力部11から入力された順序、即ち、CCDリニアイメージセンサが読み取った順序で連続的に並び替えて格納する。
また、メモリ制御手段123は、第1メモリ空間181から第2メモリ空間182に分割データの並び替えを行う際、各分割圧縮データの格納先を示す先頭アドレスを取得し、ポインタテーブル183を生成するポインタ取得手段としての機能部、ポインタ生成部124を有する。ここで、生成されたポインタテーブル183は、メモリ制御手段123により、CPU15が参照可能なメインメモリ18の所定領域に格納され(図2参照)、メインメモリ18から各分割圧縮データの読み出しの際に供することになる。これにより、各分割圧縮データのメインメモリ18(第2メモリ空間182)での記憶位置を、ポインタテーブル183を参照することで即座に得ることができるようになり、各分割圧縮データへのランダムアクセスが可能となる。
このような場合、図2に示すように、メモリ制御手段123により第1メモリ空間181に格納された分割データは、第1メモリ空間181において先行して格納された分割データの最終アドレスと、次に格納された分割データの先頭アドレスとが連続しない、不連続な状態で格納されることになる。
そのため、メモリ制御手段123では、図2に示すように、第1メモリ空間181に格納した各分割データを、画像入力部11から入力された順序、即ち、CCDリニアイメージセンサが読み取った順序で、先行して格納した分割データの最終アドレスと、次に格納する分割データの先頭アドレスとが連続するよう並び替えた状態で、第2メモリ空間182に格納し直す。
上記処理を、領域Hに対応する分割圧縮データまで繰り返すことにより、一の画像データにかかる一連の分割圧縮データを、画像入力部11からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ18に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
なお、本実施形態では、RGB処理やCMYK処理を、一の画像データの状態で行う態様としたが、これに限らず、分割圧縮データの状態で行う態様としてもよい。つまり、画像入力部11や画像出力部14が、このような機能を有するのではなく、画像処理部16がRGB処理やCMYK処理にかかる機能を有するよう構成されていてもよい。この場合、画像編集処理や画像回転処理等と同様に、分割圧縮データ毎にRGB処理やCMYK処理が施されることになる。
また、本実施形態では、分割手段121は、二つの領域(タイル)からなる分割データを生成する態様としたが、これに限らず、例えば、1の領域から分割データを生成する態様としてもよいし、4つの領域から分割データを生成する態様としてもよい。
次に、画像処理装置の第2の実施形態について説明する。なお、上述した第1の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
図4は、本実施形態の圧縮処理部12の動作を説明するための図である。同図に示すように、圧縮処理部12は、分割手段121と、圧縮手段122と、メモリ制御手段123とを具備する。
本実施形態において、メインメモリ18の第1メモリ空間181には、圧縮処理部12
の各圧縮器1221〜1224に対応した記憶領域が予め割り当てられており、メモリ制御手段123は、各圧縮器1221〜1224で圧縮された分割データの夫々を、対応する記憶領域に夫々格納するようになっている。なお、JPEG2000方式で圧縮を行う場合、圧縮後のデータ容量は予測できないため、第1メモリ空間181の各記憶領域の記憶容量は、各圧縮器にかかる分割データ分又は最低圧縮率の分割圧縮データ分が格納できる容量が確保されているものとする。
このような場合、図4に示すように、メモリ制御手段123により第1メモリ空間181の各記憶領域に順次格納される分割圧縮データは、画像データの入力順序とはならず、また、各記憶領域間で格納先アドレスが不連続となる。
そのため、メモリ制御手段123では、図2に示すように、第1メモリ空間181に格納した各分割圧縮データを、画像入力部11から入力された順序、即ち、CCDリニアイメージセンサが読み取った順序で、先に格納する分割圧縮データの最終アドレスと、次に格納する分割圧縮データの先頭アドレスとが連続するよう並び替えた状態で、第2メモリ空間182に格納する。
メモリ制御手段123は、上記の処理を圧縮器1224に対応する分割圧縮データまで繰り返した後、圧縮器1221に対応する記憶領域に格納された次の分割圧縮データを読み出し、上記同様第2メモリ空間182に連続的に格納する。このような処理を、各圧縮器について順次行うことで、一の画像データにかかる一連の分割圧縮データを、画像入力部11からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ18に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
次に、画像処理装置の第3の実施形態について説明する。なお、上述した第1、第2の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
図5は、本実施形態の圧縮処理部12の動作を説明するための図である。同図に示すように、圧縮処理部12は、分割手段121と、圧縮手段122と、メモリ制御手段123とを具備する。
図5に示すように、本実施形態のメモリ制御手段123は、その内部に第1メモリ空間としてバッファメモリ1231〜1238を有し、圧縮手段122の各圧縮器に対して2つのバッファメモリが夫々割り当てられている。なお、バッファメモリ1231〜1238は、夫々独立した記憶素子により構成することとしてもよいし、一の記憶素子内に形成された複数の記憶領域により構成することとしてもよい。
なお、JPEG2000方式で圧縮を行う場合、圧縮後のデータ容量は予測できないため、各バッファメモリ1231〜1238の記憶容量は、各圧縮器にかかる分割データ分又は最低圧縮率の分割圧縮データ分が格納できる容量が確保されているものとする。
具体的に、メモリ制御手段123は、バッファメモリ1231〜1238のうち、各圧縮器に割り当てられた最初のバッファメモリ(1231、1233、1235、1237)に格納された分割圧縮データを順次読み出し、この読み出し順序に基づいて各分割圧縮データの先頭アドレスと最終アドレスとが連続するよう第2メモリ空間182に順次格納する。次に、各圧縮器に割り当てられた次のバッファメモリ(1232、1234、1236、1238)に格納された分割圧縮データを順次読み出し、この読み出し順序に基づいて各分割圧縮データの先頭アドレスと最終アドレスとが連続するよう第2メモリ空間182に順次格納する。
このような処理により、一の画像データにかかる一連の分割圧縮データを、画像入力部11からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ18に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
次に、画像処理装置の第4の実施形態について説明する。なお、上述した第1〜第3の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
図6は、本実施形態の圧縮処理部12の動作を説明するための図である。同図に示すように、圧縮処理部12は、分割手段121と、圧縮手段122と、メモリ制御手段123とを具備する。なお、本実施形態の構成は、上記した第3の実施形態の構成とほぼ同様であるが、画像データの分割数に対して、分割手段121内のバッファメモリ、圧縮手段122内の圧縮器、メモリ制御手段123内のバッファメモリ(第1メモリ空間)の個数が少ない場合の例を示している。
図6に示すように、本実施形態の分割手段121は、2つのバッファメモリ1211、1212を有し、圧縮手段122は、2つの圧縮器1221、1222を有している。また、メモリ制御手段123は、その内部に第1メモリ空間としてのバッファメモリ1231〜1234を有し、圧縮手段122の各圧縮器に対して2つのバッファメモリが夫々割り当てられている。
上記構成の場合、画像データの副走査方向の分割数に対して、分割手段121内のバッファメモリの個数が少ないため、画像データ1頁分をバッファメモリ1211、1212に分割して格納することができない。そのため、各バッファメモリ1211、1212に複数のバンドデータを逐次的(シリアル)に格納する必要がある。以下、本実施形態の圧縮処理部12の動作を説明する。
ここで、領域A、領域Bの分割データが圧縮器1221、圧縮器1222により夫々読み取られた直後、次の分割データである領域E、領域Fの分割データがバッファメモリ1211に格納される。なお、バッファメモリ1211、1212に上書きをするタイミングは、格納されていた分割データが読み取られた後に、バッファメモリ1211、1212への書き込み可能を指示するフラグを設定する等で制御することができる。
図7、8において、図中矢印で示す期間は、各バッファメモリが格納するデータを保持しなければならない期間を示しており、その期間中該当するバッファメモリへの上書きはフラグ制御により禁止となっている。即ち、この矢印で示した期間以降、データを格納することが可能となる。
図7に示すとおり、本実施形態の構成では、まず、最初の分割データである領域A、領域Bの分割データが、分割手段121内のバッファメモリ1211に格納され、続いて、領域C、領域Dの分割データが、分割手段121内のバッファメモリ1212に格納される。バッファメモリ1211に格納された領域Aの分割データは、圧縮器1221に読み取られ圧縮された後、メモリ制御手段123内のバッファメモリ1231に格納される。
また、領域Aの分割データの読み取りと同時に、バッファメモリ1211に格納された領域Bの分割データが、圧縮器1222に読み取られ圧縮された後、メモリ制御手段123内のバッファメモリ1232に格納される。
なお、JPEG2000等の圧縮方式では、圧縮された画像の画質を最適化するための処理を圧縮器内部で行っている。そのため、分割された領域毎の圧縮処理に要する時間は通常異なっており、また、可変長圧縮であるので圧縮後のデータ量も異なっている。
分割手段121内のバッファメモリ1211への上書きが可能な状態になると、領域E、領域Fの分割データがバッファメモリ1211に格納され、同様に、分割手段121内のバッファメモリ1212への上書きが可能な状態になると、領域G、領域Hの分割データがバッファメモリ1211に格納される。
上記処理を繰り返すことで、一の画像データにかかる一連の分割圧縮データを、画像入
力部11からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ18に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
以上のように、本実施形態によれば、画像データの分割数に対して分割手段内のバッファメモリの個数や圧縮器の個数が少ないような場合であっても、画像データの分割、圧縮にかかる処理を逐次行うことで、画像データの圧縮にかかる動作を効率的に行うことができる。また、バッファメモリの数を減らし、全体としての記憶容量を減らすことができるため、よりコストの低い構成を実現することができる。
次に、画像処理装置の第5の実施形態について説明する。なお、上述した第1〜第4の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
図9は、本実施形態の圧縮処理部12の動作を説明するための図である。同図に示すように、圧縮処理部12は、分割手段121と、圧縮手段122と、メモリ制御手段123とを具備する。なお、本実施形態の構成は、上記した第3、第4の実施形態の構成とほぼ同様であるが、圧縮手段122内の圧縮器の個数に対して、メモリ制御手段123内のバッファメモリ(第1メモリ空間)の個数が少ない場合の例を示している。
図9に示すように、本実施形態の分割手段121は、2つのバッファメモリ1211、1212を有し、圧縮手段122は、2つの圧縮器1221、1222を有している。また、メモリ制御手段123は、その内部に第1メモリ空間としてのバッファメモリ1231、1232を有し、圧縮手段122の各圧縮器121、122に対して一のバッファメモリが夫々割り当てられている。
まず、分割手段121で生成された分割データのうち、最初の分割データである領域A及び領域Bの分割データがバッファメモリ1211に格納され、次に領域C及び領域Dの分割データがバッファメモリ1212に格納される。バッファメモリ1211に格納された領域Aの分割データは、圧縮器1221に読み取られ、JPEG2000方式で圧縮された後、メモリ制御手段123内のバッファメモリ1231に格納される。同様に、バッファメモリ1211に格納された領域Bの分割データは、圧縮器1222に読み取られ、JPEG2000方式で圧縮された後、メモリ制御手段123内のバッファメモリ1232に格納される。
ここで、領域A、領域Bの分割データが圧縮器1221、1222により領域毎に夫々読み取られた直後、次の分割データである領域E、領域Fの分割データがバッファメモリ1231に格納される。なお、バッファメモリ1211、1212に上書きをするタイミングは、格納されていた画像データが読み取られた後に、バッファメモリ1211、1212への書き込み可能を指示するフラグを設定する等で制御することができる。
ここで、メモリ制御手段123は、領域Aの分割圧縮データのメインメモリ18への格納が完了した際、バッファメモリ1231への書き込み許可を指示するフラグを設定すると、圧縮手段122により、このフラグが確認され、分割手段121内のバッファメモリ1212から領域Cの画像データが読み取られ、JPEG2000方式で圧縮された後、メモリ制御手段123内のバッファメモリ1231に格納される。
以上のような処理を繰り返すことにより、一の画像データにかかる一連の分割圧縮データを、画像入力部11からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ18に格納することができる。これにより、メモリの利用効率を向上させることができ、また、圧縮された画像データ全体にかかるアクセス効率を向上させることができる。
このように、本実施形態によれば、圧縮器の個数に対してメモリ制御手段123内のバッファメモリの個数が少ないような場合であっても、各圧縮器で圧縮された分割圧縮データを各バッファメモリに逐次格納することにより、画像データの圧縮にかかる動作を効率的に行うことができる。また、バッファメモリの数を減らし、全体としての記憶容量を減らすことができるため、よりコストの低い構成を実現することができる。
以上のように、本発明にかかる画像処理装置及び画像処理方法は、画像データの圧縮を行う場合に有効であり、特に、画像データを複数の領域に分割した後圧縮を行う場合に適している。
上述の第1〜第5の実施の形態においては、圧縮方式としてJPEG2000を用いた場合につき説明を行ってきた。以下の第6〜第12の実施に形態においてJPEG方式を用いた場合について説明する。JPEG2000方式では、画像データを分割し、分割された画像データを圧縮単位とする圧縮ブロック間の相関はなく独立してタイルを伸張することができ、かつ、可逆圧縮にも対応しているため、再圧縮よる画質劣化を抑制することができるといった利点を有している。しかしながら、JPEG2000方式では、その自由度の高さゆえに回路規模が大きくなる傾向があること、開発コストの面で高コストになりがちであること、さらに、JPEG2000方式をサポートしているOS(Operation System)やアプリケーションが少ない、といった問題点を抱えており、普及が進んでいないのが現状である。したがって、現実には、これらJPEG2000の問題点と無縁である、JPEG方式の圧縮が、画像データの処理に利用されることが多い。そこで、JPEG方式で圧縮された画像データを利用した画像処理の具体的な例を挙げて、以下の実施の形態にて説明する方式の有用性及び必要性について説明を行う。
JPEG方式では8×8画素を1つの圧縮ブロックとして圧縮を行う。例えば、図10(a)上部のp00〜p77は画素であり、同図(a)下部のb00〜b75は、夫々1ブロック(8×8画素)分の画素データを示している。図10(b)は圧縮データの形状の概略図を示している。通常、JPEG等の圧縮方式では先頭にヘッダー部を有し、それに続いて画像データの圧縮符号ブロックc00〜c75が並ぶ。圧縮符号ブロックc00〜c75は、夫々画素ブロックb00〜b75に対応している。なお、JPEG方式は可変長圧縮であるので通常各画素ブロックの圧縮符号サイズは一定ではなく、保存するメモリ空間によるが、圧縮符号が1列に並んだ形状になっている。ここでは、理解しやすくするために画素データに対応する面の形状で図示している。また、JPEG方式では、画素データをDCT変換(Discrete Cosine Transform:離散コサイン変換)することによって周波数成分に分解するが、直流成分(DC成分)は前の圧縮ブロックのDC成分との差分を圧縮することで圧縮率を高めている。つまり、隣接する圧縮ブロックとの相関がある圧縮方式である。
回転画像の模式図を図11に、一般的な画像回転方法を図12に示す。図11の(a)〜(d)に示すように、画像を(b)90度、(c)180度、(d)270度に回転させて出力する場合、通常圧縮データをRGBフォーマット等の画素データに伸張し、図12に示すように読み出し順序を変えることによって回転機能を実現する。例えば、(a)回転無し出力(0度)(通常の出力)の場合には、まず画像データ全体を一度伸張し、その後、画素データの左上の画素(b00ブロック内のp00画素)から右方向に1行読み出す。次いでその下の行を順々に読み出していき、その読み出し順序で出力する。(b)90度回転の場合には、まず画像データ全体を一度伸張し、その後、画素データの左下の画素(b70ブロック内のp70画素)から上方向に読み出し、次いでその右の列を読み出していく。その読み出し順序で出力することによって90度回転出力を実現する。(c)180度回転、(d)270度回転についても同様に、夫々右下の画素(b75ブロック内のp77画素)から左方向に、右上の画素(b05ブロック内のp07画素)から下方向に読み出すことによって、回転機能を実現する。
処理を実行する際に画像1面分を伸張すると、伸張のための時間が必要となるためその分の時間が掛かるため、処理の高速化を妨げる原因となる。また、処理の高速化を妨げるだけでなく、画像1面分を格納できるメモリリソース(A4サイズ、600dpiの場合は約100MB)が最低限必要なため、コストが上昇し、コストの観点で不利である。さらに、画像編集後に編集後の画像データを再度圧縮する必要がある場合には、再圧縮によって画像の劣化が生じることも懸念される。
上述のように、画像データの圧縮に通常のJPEG方式を用いる場合にも種々の問題点が存在し、低コストかつ処理の高速化を実現することができる画像データの圧縮方式が望まれていた。以下の実施の形態では、圧縮方式にJPEG方式で利用されるDCTを利用して画像データを圧縮する圧縮方式について説明を行う。
通常のJPEG方式における圧縮手順を、図10、図13及び図14を用いて説明する。図10は画像データの形状の概略図を、図13は圧縮手順を示したものであり、図14はジグザグスキャンと呼ばれるデータの並び替えについて説明するための図である(詳細は後述する)。図10(a)におけるb00〜b75は、8×8画素から構成される1つの画素ブロックであり、ここでは縦8ブロック(64画素)、横6ブロック(48画素)の画像データとして説明する。図10(b)におけるc00〜c75は、夫々同図(a)における画素ブロックb00〜b75の圧縮符号ブロックである。
通常のJPEG圧縮では、まず8×8画素のRGBフォーマットのデータをYUV(又は、YCbCr)フォーマットのデータに色空間変換し、サンプリングを行う。サンプリングとは、Y(輝度信号)、U(青色差信号)、V(赤色差信号)に変換されたデータの間引きを行う処理である。人間の目は細かな輝度の違いには敏感であるが、色相の細かな違いは見落とし易いという性質があるため、色差信号の間引きを行うことで圧縮率を高めることが通常行われている。例えば、4:1:1のサンプリングでは、輝度信号ブロックを縦横4ブロック(16画素四方)取得する間に、色差信号は縦横とも1画素ずつ間引きすることで1つの8×8画素ブロックに見立てる。ここでは、簡単のため4:4:4のサンプリング(輝度信号4ブロックに対し、色差信号4ブロックずつ)として説明する。4:4:4サンプリングでは、輝度信号、青色差信号、赤色差信号夫々1ブロックずつの計3ブロックを1つの処理単位(MCUという)として、これ以降の処理を行っていく。
次に量子化を行う。量子化では、量子化テーブルで8×8個のデータ毎に予め定義しておいた値で除算を行い、端数を切り捨てることで行われる。
次に64個のデータを並べ替える処理を行う。前述したように、64個のデータのうち、左上隅のデータはDC成分である。DC成分は前のブロックの同一コンポーネント(輝度信号、青色差信号、赤色差信号)のDC成分との差分を情報として取り扱う。残り63個のAC成分は、図14に示すようにジグザグにスキャンしていくことで1列のデータに並び替える。なお、図14における0番目の成分はDC成分であるので、実際にはスキャンされない。
次に本実施形態における画像圧縮方式及び画像圧縮手順を説明する。本実施形態における画像圧縮方式は、通常のJPEG方式をベースとしているが、DC成分の符号化は前ブロックとの差分を取らない事が特徴である。つまり全てのブロックにおいて元の値そのものを符号化する。
図18に量子化後のDC成分値の例を、図19に本実施形態での圧縮方式及び通常のJPEG方式におけるハフマン符号化する直前のDC成分値を示す。なお、4:4:4サンプリングの場合には、夫々のブロックの各コンポーネントでDC成分が1つずつ存在するが、ここでは、例えば輝度信号のDC成分値を示しているものとする。通常のJPEG方式では、図19(b)に示すように夫々前のブロックのDC成分値との差分を取り、その差分値をハフマン符号化する。一方、本実施形態における圧縮方式では、図19a)に示すように、図18に示した量子化後のDC成分値をそのままハフマン符号化する。これにより、本実施形態における圧縮方式はJPEG方式の規格外となるが、個々の圧縮ブロックが独立して符号化されているので独立して伸張することが可能となる。なお、これ以降の実施形態では、この圧縮方式を用いて圧縮処理を行うものとする。
なお、JPEG規格にはRSTマーカと呼ばれるものがある。これは、圧縮データ中のMCU間に挿入されるもので、RSTマーカが挿入された時点でDC成分の累積差分をクリアするというものである。つまり、RSTマーカが挿入された次のMCUでは、DC成分は元の値そのものがハフマン符号化されることになる。このRSTマーカを1MCU毎に挿入することによっても、上記のように独立して伸張することが可能な圧縮データを生成することができる。しかし、RSTマーカは1つにつき2バイトであるので、例えばA4、600dpiの画像データ(約54万MCU)では、RSTマーカのみの容量で約1MBとなってしまう。このように、RSTマーカを1MCU毎に挿入する方法だと、圧縮率の点で不利となる。
また同時に、ポインタ取得手段が個々の圧縮符号ブロックのポインタ情報を取得する。ここでポインタ情報とは、個々の圧縮符号ブロックが格納されたメモリ上での位置情報を示すものであり、例えばメモリ上のアドレス情報であっても良いし、個々の圧縮符号ブロックの符号データサイズでも良い。ポインタ情報が符号データサイズである場合には、先頭の圧縮符号ブロックから1つ手前の圧縮符号ブロックまでのデータサイズを累積加算することで、目的の圧縮符号ブロックの位置を知ることができる。また、先頭の圧縮符号ブロックから1つ手前の圧縮符号ブロックまでの符号データサイズの累積加算をポインタ情報として持つようにしても良い。このようにして取得したポインタ情報は、画像の圧縮データと関連付けられた状態でメインメモリに格納される。このときポインタ情報は、圧縮データファイルと別のファイルとして格納されても良いし、ヘッダー情報の一部として圧縮データファイル内に格納されても良い。図15では、圧縮データファイルと別のファイルとして格納されている場合を示している。
以上のようにして、画像データを入力してから、圧縮データをメインメモリ及びHDDへ格納するまでの動作を実行する。
次に、JPEG方式における伸張手順を、図16を用いて説明する。図16は通常のJPEG圧縮方式における伸張手順の概略を示したものであり、基本的に前述の圧縮手順の逆を辿っていく。
通常のJPEG方式での伸張処理では、まず圧縮データのヘッダー部を読み取り、画像に関する情報(例えば、幅・高さ情報等)、量子化テーブル・ハフマン符号表等の伸張に必要な情報を取得する。続いて、ハフマン符号表を基に画像の圧縮符号をハフマン復号し、逆量子化を行う。このとき、DC成分は前ブロックとの差分を圧縮しているので、差分を計算して元の値に戻す。次に8×8個のデータに整列し、逆DCT変換(IDCT変換)を行ってYUVデータに変換する。最後に色空間変換を行い、RGBフォーマットの画像データを取得する。
次に、本実施形態における伸張処理手順を、図10、図15及び図16を参照しながら説明する。なお本実施形態では、画像1面分全てを伸張する場合について説明する。図10は画像データの形状の概略図を示した図であり、図15は本実施形態の圧縮手順及び伸張手順を示した図である。図16は伸張手順の概略を示した図であり、基本的に通常のJPEG方式の伸張手順と同様である。
まず、HDDに格納された圧縮データ及びポインタ情報をメインメモリにコピーする。なお、メインメモリにそれらのデータが残っている場合には、この処理を行う必要はない。次に伸張制御手段がヘッダー部を読み取り、画像に関する情報、量子化テーブル・ハフマン符号表等の伸張処理に必要な情報を取得する。また、ポインタ情報を読み取り、個々の圧縮符号ブロックのアドレス情報を取得する。
なお、1つの伸張器で画像1面分全てを伸張する場合には、ポインタ情報を取得せずに圧縮データの先頭から伸張していくことで、画像1面分を伸張することも可能である。
本発明の第7の実施形態を図10、図12及び図15を用いて説明する。なお、本実施形態における画像圧縮方式は、第1の実施形態のそれと同様である。
本実施形態では、図15におけるHDDに格納された圧縮データを、特定の角度回転させて出力する場合について説明する。つまり、90度、180度、270度回転出力動作である。ここでは、90度回転出力を例に説明する。なお、圧縮データは図10(b)に示すような形状でHDDに格納されているものとする。
まず、HDDに格納された圧縮データ及びポインタ情報をメインメモリにコピーする。なお、メインメモリにそれらのデータが残っている場合には、この処理を行う必要はない。次に伸張制御手段がヘッダー部を読み取り、画像に関する情報、量子化テーブル・ハフマン符号表等の伸張処理に必要な情報を取得する。また、ポインタ情報を読み取り、個々の圧縮符号ブロックのアドレス情報を取得する。
このような手順で動作させることによって、90度回転後の順序で各圧縮符号ブロックの伸張処理を行うことができ、画像1面分のメモリリソース(例えば、A4サイズ、600dpiの画像データの場合、約100MB)を使用せずに画像回転処理を行うことができる。例えば、8個の伸張器を備え、夫々2個ずつのバッファメモリ内のメモリ空間を有しているシステムの場合には3072バイト、同様に4個の伸張器を有しているシステムの場合には1536バイトのメモリリソースで画像回転処理を実現できる。また、複数の伸張器を有している場合には、各圧縮符号ブロックの伸張処理を並行して実行できるので、1個の伸張器で伸張処理を実行する場合に比べ、処理速度を大きく改善することが可能となる。
本発明における第8の実施形態を、図10、図17及び図1を用いて説明する。図17は、スタンプ合成前後の画像の様子を示した概略図であり、同図(a)の画像に、同図(b)のように右上隅に“(丸秘)”の文字を合成する。図1は画像処理装置の全体構成を示している。ここでは、図1のHDD19に圧縮され格納された画像データに、図17に示すようにスタンプ“(丸秘)”の文字を合成し、再度HDD19に格納する動作を説明する。
前述したように、通常のJPEG方式での圧縮データにこのような処理を施す場合、まず画像全体を伸張し、伸張された画像データに所望の画像(ここでは“(丸秘)”文字)を合成し、再度画像全体を圧縮することで実現される。しかし、この従来の方法では、この処理のように画像データのうちの一部にスタンプを合成する場合であっても画像データ全体を伸張しなければならず、伸張後の画像全体分のデータを格納するメモリリソースが必要である。また、画像全体を伸張することによって余分な時間を費やすことになり、高速処理の観点でも不利である。
まず、HDD19からメインメモリ18に圧縮データとポインタ情報をコピーする。なお、メインメモリ18のこれらの情報が残っている場合には、この処理を行う必要はない。次に、伸張制御手段は、伸張すべき圧縮符号ブロックを認識し、それらのポインタ情報をメインメモリから取得する。なお、伸張すべき圧縮符号ブロックの認識は、例えばCPU等の他の機能ブロックが行うとしても良い。次に伸張制御手段は、取得したアドレス情報を基に圧縮符号ブロックを伸張手段内の伸張器に割り当て、伸張処理を開始させる。伸張器は、割り当てられた圧縮符号ブロックを伸張し、バッファメモリの所定のメモリ空間に格納する。
合成処理し再圧縮した4つのブロックは、基本的にメインメモリ上の元の格納場所に格納する。このとき、処理前の圧縮符号ブロックのサイズに対して処理後の圧縮符号ブロックのサイズが大きくなってしまうことが考えられる。その場合には、元の格納場所に格納すると、次の圧縮符号ブロックの一部が上書きされてしまうことが考えられるが、その場合には、圧縮データの最後尾に格納するなどすれば良い。また、ポインタ情報はそれに応じて変更するなどすれば良い。全ての圧縮データ及びポインタ情報がメインメモリに格納されたら、それらをHDD19にコピーする。
以上説明したように、本実施形態によれば、スタンプ合成処理等の画像の一部を編集するような処理を行う場合、画像全体を一度伸張せずに所望の画像処理を施すことができ、高速に処理を実行することが可能となる。
まず、前述の手順と同様に、HDDからメインメモリに圧縮データとポインタ情報をコピーする。次に、バーコードを付記された領域を、前述のスタンプ合成処理と同様の手順で伸張し、画像処理部がバーコードを新しいバーコードに書き替える。この処理は、CPU等の別の機能ブロックが実行するとしても良い。また、この処理と並行して、バーコードが付記された領域以外の領域を伸張する。伸張制御手段は、バーコードの書き換えを行ったブロックと、行わなかったブロックの出力順序やタイミングを制御して画像出力部へ伸張後の画像データを出力し、画像出力部が紙媒体への印刷を実行する。
このようにすることによって、バーコード等の識別情報が付記された画像を、バーコード部分のみ改変して印刷する動作を実現することができる。
次に、本発明の第9の実施形態を説明する。本実施形態では、本実施形態の圧縮方式からJPEG方式への変換、またその逆の変換について説明する。なお、本実施形態の圧縮方式とは、第1の実施形態において説明した、JPEG方式をベースとしているが、DC成分の符号化は前ブロックとの差分を取らない方式である。この圧縮方式は、前述したようにJPEG規格外の圧縮方式であり、JPEG方式に対応した一般的なアプリケーションやブラウザ等ではデコードすることができない。そのため、一般的なアプリケーションやブラウザにおいて圧縮データをデコードしたり、画像を表示したりするには、本実施形態の圧縮方式から通常のJPEG方式に容易に変換できることが望まれる。また、前述したような本実施形態の圧縮方式の特長を生かすために、その逆の変換、つまりJPEG方式から本実施形態の圧縮方式に容易に変換できることが望ましい。ここでは、HDDに格納された本実施形態の圧縮方式の圧縮データをJPEG方式に変換し、外部I/Fを通してネットワーク配信する例を説明する。
まずHDDに格納された本実施形態の圧縮方式にて圧縮された圧縮データとポインタ情報をメインメモリにコピーする。なお、メインメモリにそれらのデータが残っている場合には、この処理を行う必要はない。次に、伸張処理部の伸張制御手段がポインタ情報を取得し、その情報を基に伸張手段内の各伸張器に圧縮符号ブロックを割り当てる。各伸張器は、割り当てられた圧縮符号ブロックのうち各コンポーネントのDC成分のみをハフマン復号化し、バッファメモリを介して圧縮処理部に送信する。なお、各コンポーネントのAC成分は復号化せずに符号データのまま圧縮処理部に送信する。なお、伸張器が1つの場合には、ポインタ情報を取得せずに圧縮データの先頭から順に伸張する動作としても良い。
その後、第1の実施例と同様に、圧縮制御手段が圧縮符号の出力順を制御しながら、ハフマン符号化後の圧縮符号データをメインメモリに格納する。また、ヘッダー部は、特にその内容の変更が無い場合には、そのままメインメモリ上でコピーする等すれば良い。ヘッダー部の書き換えが必要な場合には、圧縮制御手段が内容の書き換えを行うなどすれば良い。このようにしてメインメモリに格納された圧縮データは、この時点でJPEG方式と互換性のある圧縮データとなる。また、この圧縮データを外部I/Fを通して出力することで、本実施形態の動作を遂行することができる。
なお、ここでは圧縮処理部と伸張処理部が分かれている構成になっているが、これらの機能を1つのASIC又はCPU等により実現するとしても良い。
次に本発明の第10の実施形態を説明する。本実施形態の画像処理装置は、図23に示すように必要最小限の機能しか持たない。即ち、画像入力部と、画像出力部と、圧縮処理部と、伸張処理部と、操作部と、CPUと、メインメモリと、外部I/Fである。画像を編集したり、何らかの処理を施したりする場合には、ネットワークを介した外部のサーバ装置で行う。なお、画像処理装置内の圧縮処理部と伸張処理部等は、例えば1つのASICやCPUなどでその機能を実現するとしても良い。また、画像処理装置内のCPUは装置内各部の制御など、最低限の機能しか持たず、スタンプ合成処理やバーコード埋め込み処理等の画像編集処理、色変換処理やフィルタ処理等の画像処理等は行わないものとする。
このような画像処理装置は、低コストを実現するための構成であり、そのためにはメモリリソースを極力削減する必要がある。そのため、圧縮方式としてはメモリ使用量を削減できる本発明の圧縮方式を使用し、この装置に搭載するのは、圧縮/伸張、回転等の基本機能のみである。なお、サーバ装置側には、スタンプ合成機能、バーコード読み取り/書き込み機能、JPEG方式への変換機能などを搭載する。また、サーバ装置内の圧縮処理部、伸張処理部、画像処理部等は、1つのASIC等で構成されていても良く、その機能の一部又は全部をCPU等の他の機能ブロックが実現するとしても良い。
画像処理装置では、受信したバーコードが付記された領域の分割圧縮データを、伸張処理部で伸張する。また、それ以外の領域の圧縮データも同様にして伸張される。伸張処理部内部では、図15を用いて説明したように、伸張制御手段が伸張順序や出力順序を制御して、伸張後の画像データを印刷する順序で画像出力部に送る。画像出力部では、送られた順序で分割画像データを紙媒体に印刷することで、上記所望の機能を実現する。
以上のように、本発明の圧縮方式を用いることで、画像処理装置内のメモリリソースを最小限にして上記所望の機能を実現することができる。また、バーコード情報を埋め込んだ情報をネットワークを介して送信する時など、送受信するデータが圧縮された最小限のデータで済むため、ネットワーク帯域を圧迫すること無く、高速にデータ通信を行うことができる。
次に、本発明の第11の実施形態を説明する。本実施形態での圧縮器は、本発明における圧縮方式とJPEG方式の両方の圧縮方式に対応している。本発明の圧縮方式とは、第1の実施形態で説明したが、JPEG方式をベースとした、圧縮ブロック間に相関のない方式である。
本実施形態では、本発明の圧縮方式とJPEG方式の両方の圧縮方式によって画像圧縮を行い、2つの圧縮データを生成する。これら2つのファイルは、その後の利用形態によって使い分ける形態とする。例えば、第3の実施形態にて説明したような、画像の一部を編集して印刷する動作の場合には、前述の通り、本発明の圧縮方式の方がJPEG方式よりも有利であることは明らかである。このような動作の場合には、本発明の圧縮方式での圧縮データを利用するようにする。一方、画像編集動作を行わずに外部I/Fを通してネットワーク配信するような動作の場合には、一般的なアプリケーションやブラウザとの互換性のあるJPEG方式で圧縮しておいた方が、圧縮方式を変換する必要が無い点で有利であるため、そのような場合にはJPEG方式での圧縮データを使用するようにすれば良い。
このように、圧縮データの利用形態により本発明の圧縮方式とJPEG方式での圧縮データを使い分けることによって、第4の実施形態で説明したような圧縮方式の相互変換をする手間が省くことができ、高速処理に有利である。
次に、本発明における第12の実施形態を説明する。本実施形態では、初めに選択された機能によって本発明の圧縮方式とJPEG方式とを選択できるようにする。例えば、初めに選択された機能がScan to e-mail機能であった場合、画像入力部で読み取られた画像データを外部I/Fを通して外部の機器にネットワーク配信する動作であるため、まずJPEG方式によって画像圧縮を行っておく。後に、そのデータの一部を編集したり、画像回転をしたりする場合には、第5の実施形態で説明したような方法で圧縮方式の相互変換を行い、そのときの機能にとってより良い圧縮方式に変換するなどすれば良い。
また逆に、初めに選択された機能が、読み取られた画像を回転して印刷する等の場合には、まず本発明の圧縮方式によって画像圧縮を行い、回転しての印刷動作を実行する。後にネットワーク配信をする必要が生じた場合には、第4の実施形態で説明したような方法でJPEG方式に変換するなどすれば良い。
尚、図1では画像処理装置100に全ての機能を備えて実行するように説明したが、図23のように、機能を画像処理装置側とサーバ装置側に分散して実行しても構わない。
Claims (20)
- 画像データを入力する画像入力手段と、
前記入力された画像データを複数の領域に分割し、複数の領域からなる分割データを生成する分割手段と、
前記生成された複数の分割データを、前記領域毎に個別に圧縮して、複数の分割圧縮データを生成する圧縮手段と、
前記生成された各分割圧縮データを連続的に格納する記憶制御手段と、
前記格納された各分割圧縮データの格納先を示すポインタ情報を夫々取得するポインタ取得手段と、
前記記憶制御手段は、
先行して格納された前記分割圧縮データの最終アドレスと、
次に格納する前記分割圧縮データの先頭アドレスと、が入力順序に応じて前記分割圧縮データを格納することを特徴とする画像処理装置。 - 前記圧縮手段は、前記生成された複数の分割データを前記領域毎に個別に圧縮する際、前記領域間に相関が無い様に独立して圧縮することを特徴とする請求項1に記載の画像処理装置。
- 前記圧縮手段は、複数の分割圧縮データを平行して生成することを特徴とする請求項1又は2に記載の画像処理装置。
- 前記記憶制御手段は、前記生成された各分割圧縮データを、前記記憶手段又は当該記憶手段とは異なる他の記憶手段に形成された第1メモリ空間に一旦格納し、当該格納された各分割圧縮データを、前記記憶手段に形成された第2メモリ空間に連続的に格納し直すことを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
- 前記圧縮手段は複数の圧縮器を有しており、前記第1メモリ空間は、前記圧縮器の個数と同数以上の記憶領域を有することを特徴とする請求項4に記載の画像処理装置。
- 前記記憶制御手段は、前記画像データの領域毎に、前記第1メモリ空間の所定の記憶領域を割り当て、当該各領域に対応する前記分割圧縮データの夫々を対応する記憶領域に格納することを特徴とする請求項4又は5に記載の画像処理装置。
- 前記記憶制御手段は、前記第1メモリ空間の所定の記憶領域を割り当て、圧縮された分割圧縮データの夫々を対応する記憶領域に格納することを特徴とする請求項4又は5に記載の画像処理装置。
- 前記分割手段は、前記分割した画像データを夫々記憶する複数のバッファメモリを有し、
前記バッファメモリの個数は、前記圧縮器の個数と同数以上であることを特徴とする請求項1又は2に記載の画像処理装置。 - 前記分割手段は、画像データを8×8画素毎に分割して複数の分割データを生成し、
前記1又は複数の圧縮器は、前記複数の分割データを色空間変換する手段と、色空間変換された分割データを周波数領域のデータに変換する手段と、周波数領域に変換されたデータを量子化する手段と、量子化されたデータをエントロピー符号化する手段と、
を備えたことを特徴とする請求項1に記載の画像処理装置。 - 前記量子化されたデータをエントロピー符号化する際、量子化したデータのうちその領域の平均値である直流成分をそのままエントロピー符号化することを特徴とする請求項8に記載の画像処理装置。
- 分割圧縮データ及び分割圧縮データの格納先を示すポインタ情報を格納する記憶手段と、
前記記憶手段から分割圧縮データを取得し、分割された領域毎に独立して伸張する1又は複数の伸張器を有し、当該伸張器により複数の分割画像データを生成する伸張手段と、
前記記憶手段から前記ポインタ情報を取得し、その情報を基に前記分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する伸張制御手段と、
前記分割画像データ1つの画像データに結合し出力する画像出力手段と、
を備えたことを特徴とする画像処理装置。 - 前記1又は複数の伸張器は、前記複数の分割圧縮データをエントロピー復号化する手段と、エントロピー復号化されたデータを逆量子化する手段と、逆量子化されたデータを空間領域に変換する手段と、空間領域に変換されたデータを色空間変換する手段と、
を備えたことを特徴とする請求項11に記載の画像処理装置。 - 前記1又は複数の伸張器は、前記エントロピー復号化したデータを逆量子する際、エントロピー復号化したデータのうちその領域の平均値である直流成分をそのまま逆量子化することを特徴とする請求項12に記載の画像処理装置。
- 前記伸張手段は複数の伸張器を有し、当該伸張器により複数の分割画像データを並行して生成することを特徴とする請求項11乃至13の何れか1項に記載の画像処理装置。
- 前記伸張制御手段は、前記ポインタ情報を基に前記分割圧縮データの伸張順序及び出力順序を制御し、それにより出力される画像データの回転方向を選択することを特徴とする請求項10乃至13の何れか1項に記載の画像処理装置。
- 前記伸張制御手段は、前記ポインタ情報を基に前記分割圧縮データの伸張範囲を制御し、それにより画像データのうち一部分を伸張することを特徴とする請求項11乃至14の何れか1項に記載の画像処理装置。
- 前記記憶手段から分割圧縮データを取得し、分割された領域毎に独立してエントロピー復号化し、領域毎の平均値である直流成分を取得して隣接する領域の直流成分との差分を計算し、エントロピー符号化することにより、JPEG方式に変換することを特徴とする請求項11乃至14の何れか1項に記載の画像処理装置。
- 画像データを入力する画像入力工程と、
前記入力された画像データを複数の領域に分割し、複数の領域からなる分割データを生成する分割工程と、
前記生成された複数の分割データ夫々を前記領域毎に個別に圧縮して、複数の分割圧縮データを並行して生成する圧縮工程と、
前記生成された各分割圧縮データを連続的に格納する記憶制御工程と、
前記格納された各分割圧縮データの先頭アドレスを示すポインタ情報を夫々取得するポインタ取得工程と、
前記記憶制御工程は、
先行して格納された前記分割圧縮データの最終アドレスと、
次に格納する前記分割圧縮データの先頭アドレスと、が入力順序に応じて前記分割圧縮データを格納することを含むことを特徴とする画像処理方法。 - 画像データを入力する画像入力工程と、
前記入力された画像データを複数の領域に分割し、複数の領域からなる分割データを生成する分割工程と、
前記生成された複数の分割データ夫々を前記領域間に相関が無い様に独立して圧縮して、複数の分割圧縮データを生成する圧縮工程と、
前記生成された各分割圧縮データを連続的に格納する記憶制御工程と、
前記格納された各分割圧縮データの先頭アドレスを示すポインタ情報を夫々取得するポインタ取得工程と、
前記記憶制御工程は、
先行して格納された前記分割圧縮データの最終アドレスと、
次に格納する前記分割圧縮データの先頭アドレスと、が入力順序に応じて前記分割圧縮データを格納することを含むことを特徴とする画像処理方法。 - 分割圧縮データを取得し、分割された領域毎に独立して伸張可能な1又は複数の伸張器により、複数の分割画像データを生成する伸張工程と、
分割圧縮データの格納先を示すポインタ情報を取得し、その情報を基に前記分割圧縮データの伸張順序、伸張範囲及び出力順序を制御する伸張制御工程と、
前記分割画像データを出力する画像出力工程と、
を含むことを特徴とする画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007243123A JP4902474B2 (ja) | 2006-09-19 | 2007-09-19 | 画像処理装置及び画像処理方法 |
US12/232,560 US8094952B2 (en) | 2007-09-19 | 2008-09-19 | Image processing apparatus and image processing method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006253286 | 2006-09-19 | ||
JP2006253286 | 2006-09-19 | ||
JP2007243123A JP4902474B2 (ja) | 2006-09-19 | 2007-09-19 | 画像処理装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008104164A JP2008104164A (ja) | 2008-05-01 |
JP4902474B2 true JP4902474B2 (ja) | 2012-03-21 |
Family
ID=39438103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007243123A Expired - Fee Related JP4902474B2 (ja) | 2006-09-19 | 2007-09-19 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4902474B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010082886A1 (en) * | 2009-01-19 | 2010-07-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Image processing |
US7987162B2 (en) * | 2009-03-06 | 2011-07-26 | Bluearc Uk Limited | Data compression in a file storage system |
CN102238376B (zh) * | 2010-04-28 | 2014-04-23 | 鸿富锦精密工业(深圳)有限公司 | 图像处理系统及方法 |
JP5653328B2 (ja) * | 2011-09-26 | 2015-01-14 | 株式会社東芝 | 画像処理装置及び画像処理システム |
JP5915670B2 (ja) * | 2014-01-14 | 2016-05-11 | コニカミノルタ株式会社 | 画像処理装置、同装置における画像処理方法及び画像処理プログラム |
JP5928505B2 (ja) * | 2014-02-26 | 2016-06-01 | コニカミノルタ株式会社 | 画像処理装置、同装置における画像処理方法及び画像処理プログラム |
JP6201944B2 (ja) | 2014-09-18 | 2017-09-27 | コニカミノルタ株式会社 | 画像処理装置、同装置における画像処理方法及び画像処理プログラム |
JP2020088694A (ja) * | 2018-11-28 | 2020-06-04 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
CN116055743B (zh) * | 2023-03-29 | 2023-07-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种图像压缩方法、系统、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7209266B2 (en) * | 2002-12-06 | 2007-04-24 | Kabushiki Kaisha Toshiba | Image processing apparatus |
WO2005029863A1 (ja) * | 2003-09-16 | 2005-03-31 | Fujitsu Limited | 画像処理表示装置および画像処理表示方法 |
JP4494866B2 (ja) * | 2004-05-21 | 2010-06-30 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 |
JP3989472B2 (ja) * | 2004-07-30 | 2007-10-10 | シャープ株式会社 | 画像データ処理回路およびそれを備えてなる画像処理装置 |
JP4208080B2 (ja) * | 2004-11-30 | 2009-01-14 | 京セラミタ株式会社 | ネットワークプリンタ |
-
2007
- 2007-09-19 JP JP2007243123A patent/JP4902474B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008104164A (ja) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4902474B2 (ja) | 画像処理装置及び画像処理方法 | |
JP5558767B2 (ja) | 画像処理装置及びその処理方法 | |
EP1271926B1 (en) | Image processing method, apparatus and computer program for compression-encoding | |
US8300956B2 (en) | Lossless compression of color image data using entropy encoding | |
US8094952B2 (en) | Image processing apparatus and image processing method | |
JP2001222392A (ja) | 印刷制御装置及びその方法 | |
US8295618B2 (en) | Image processing apparatus, image processing method, and computer program product | |
US8953220B2 (en) | Image processing for rotation of compressed image data | |
JP4074540B2 (ja) | 画像処理装置 | |
US8406517B2 (en) | Image processing apparatus and image processing method | |
JP4610450B2 (ja) | 固定長圧縮画像と属性情報のパッキングデータを処理する画像処理装置 | |
JP2003189109A (ja) | 画像処理装置及び方法、並びにコンピュータ・プログラム | |
JP3984813B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体 | |
US8494261B2 (en) | Image processing apparatus, image processing method, and computer-readable medium | |
JP2008236084A (ja) | 画像処理方法、画像処理装置、画像処理プログラム及び記録媒体 | |
JP3023215B2 (ja) | 画像処理装置 | |
JP5441676B2 (ja) | 画像処理装置及びその処理方法 | |
JP2003348355A (ja) | 画像処理装置及びその制御方法 | |
JP4975770B2 (ja) | 画像復号方法及び装置 | |
JP2009239852A (ja) | 画像処理装置及び画像処理方法 | |
JP5643578B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP6428232B2 (ja) | 画像処理装置及び画像合成方法 | |
JP4274187B2 (ja) | 表示データ伸張方法、表示データ圧縮伸張方法、表示データ伸張装置および表示データ圧縮伸張装置 | |
AU2003268575B2 (en) | Tiling a Compressed Image | |
US20110205565A1 (en) | Image processing apparatus and method that perform multiple image processes, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110818 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111220 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4902474 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150113 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |