JP4111863B2 - Image processing apparatus, image forming apparatus, image processing program, and storage medium - Google Patents
Image processing apparatus, image forming apparatus, image processing program, and storage medium Download PDFInfo
- Publication number
- JP4111863B2 JP4111863B2 JP2003130282A JP2003130282A JP4111863B2 JP 4111863 B2 JP4111863 B2 JP 4111863B2 JP 2003130282 A JP2003130282 A JP 2003130282A JP 2003130282 A JP2003130282 A JP 2003130282A JP 4111863 B2 JP4111863 B2 JP 4111863B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- low
- frequency component
- layer
- frequency
- 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 Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、画像を圧縮する画像圧縮機能を有する画像処理装置、この画像処理装置を備える画像形成装置、画像処理用のプログラム、及び、このプログラムを記憶した記憶媒体に関する。
【0002】
【従来の技術】
従来、圧縮符号化された画像データの操作性を高めるために、元の画像データを複数の領域に分割して各領域を独立に符号化して圧縮符号とし、この圧縮符号を復号する際に、復号後の処理内容に応じて復号する領域の順序を変えていく技術が知られている。ここで、「独立して」とは、各領域を復号する際に他の領域の情報を利用することがなく、従って、他の領域の画像データが復号されているか否かに関わりなく復号することが可能であることを意味する。この画像データを複数の領域に分割して符号化することで操作性が高まる例としては、復号する領域の順序を変えることで、画像の向きを回転する処理が実行可能とする場合などがある。
【0003】
例えば、特許文献1には、固定長符号化方式を用いて回転処理等を実行する技術が開示されている。また、特許文献2には、ブロック単位に可変長符号化された圧縮符号の各ブロックのアドレスを記憶しておき、復号する順序に応じてアクセスするアドレスを切り替える技術が開示されている。一般に、可変長符号化は固定長符号化に比べて圧縮率が高いために、特許文献2に開示される方法は固定長符号化方式と比較して圧縮率が高いという利点がある。
【0004】
また、国際標準となった画像圧縮方式であるJPEG2000においても、タイルと言う概念が導入されており、画像データをタイル分割してタイル毎に符号化することにより、領域分割された画像データを得ることが可能となる。タイルは各々独立に符号化される単位であるので、読み出すタイルの順序を変えることで容易に画像の回転処理等を実行することができる。
【0005】
なお、最大サイズの記録紙に記録する場合においては可変長圧縮を行ない、最大サイズ以外の記録紙に記録する場合には固定長圧縮を行なう技術が、特許文献3に開示されている。
【0006】
また、画像データを複数の領域に分割する場合、符号化又は復号処理を行なう際に並列処理を行なうことも可能となる。特許文献4には、タイル分割された場合の圧縮符号量を制御するために、各タイルに上限情報量を割り当てて、各タイルがその上限値を超えないように圧縮を行なう技術が開示されている。さらに、特許文献5には、タイル境界の状態に応じて拡張画素の作成方法を適応的に選択する技術が提案されている。
【0007】
【特許文献1】
特開2001−160904公報(段落[0003]を参照)
【特許文献2】
特開2002−125116公報
【特許文献3】
特開2000−101851公報
【特許文献4】
特開2000−134623公報
【特許文献5】
特開2001−217718公報
【0008】
【発明が解決しようとする課題】
ところで、従来の画像の向きを回転可能な圧縮符号は、回転可能ではない圧縮符号に対して符号量が大きくなってしまう場合が多いため、メモリに格納するという観点からはデータ量が大きいので好ましくない。例えば、固定長符号は画像の回転が可能であるが、エントロピー符号化を用いないために可変長符号に対して圧縮率が悪い。また、ブロック又はタイルなどの小領域に画像を分割して小領域単位で符号化を行なう場合は、領域外の画素との相関が利用できなくなったり、領域が小さいためにエントロピー符号化の際の学習効果が不十分となったりして、圧縮率が悪化する。さらに、ウェーブレット変換などを用いた階層符号化においては、最も解像度が高い階層のデータにおいて、特にこの圧縮率の悪化が発生する。
【0009】
一方、一般に電子写真方式のプリンタや複写機のような画像形成装置などで扱える最大サイズ(例えば、A3サイズ)の媒体(紙、OHPなど)は、画像形成装置の小型化のために、長辺が搬送方向と略平行になるように用紙を搬送する。よって、短辺が搬送方向と略平行になるように搬送されることがないので、画像の向きを回転して出力する必要はない。
【0010】
このように、画像のサイズに応じて画像の回転処理の必要性が変わるという点に着目し、本出願人は、前述の特許文献3において、最大サイズの記録紙に画像を記録する場合においては可変長圧縮を行ない、最大サイズ以外の記録紙に画像を記録する場合には固定長圧縮を行なうという技術を提案している。
【0011】
しかしながら、可変長圧縮と固定長圧縮とを別々に実行するシステムでは、それを実現する回路の規模が大きなものとなってしまうという不具合がある。
【0012】
そこで、圧縮符号化方式を統一することで回路の規模を抑制し、かつ、領域分割による符号量の不要な増大を抑制しつつ、領域分割により画像の回転機能を実現するようにしたい。換言すれば、例えば、A3サイズの圧縮符号化は画像の回転が不可能だが、高圧縮率が得られる符号化方式で符号化を行ない、A4サイズの画像に対しては、圧縮率は低下するが画像の回転可能な圧縮符号が得られる符号化方式で符号化を行いたいという要求に対し、一つの符号手段で要求を満たすようにしたい。
【0013】
また、一度出力した画像を、より小さなサイズで出力するという要求が生じる場合がある。例えば、A3サイズで印刷出力したものの、携帯に不便なことに気づいてA4サイズで印刷し直す場合がある。
【0014】
例えば、A4での出力時には電子ソートで複数部数出力したい場合、或いは、A3サイズの用紙はその長辺が用紙の搬送方向と略平行であるのに対して、A4サイズの用紙はその短辺が用紙の搬送方向と略平行な向きで格納されている場合、或いは、A3サイズの用紙はその長辺が用紙の搬送方向と略平行であるのに対して、A4サイズの用紙はその短辺が用紙の搬送方向と略平行な向き及び長辺が搬送方向と略平行な向きで格納されているが、長辺が搬送方向と略平行な向きで格納されたA4サイズの用紙が切れてしまった場合、などである。
【0015】
特に、一度出力された画像を、所定の条件に従って画像形成装置内に記憶しておき(例えば、一定の期間は記憶しておくなどの条件)、後日、その画像をスキャンした日時等を指定することにより、画像形成装置内に記憶しておいた特定の画像を検索して印刷出力する機能を有する画像形成装置においては、画像データの蓄積の際には最大サイズで格納された画像を、後日、重要性の低い参考資料として縮小して出力する場合が想定される。さらに、その画像を電子ソートしつつ複数部数出力することもある。
【0016】
以上のような各場合について、特許文献3に開示の技術で対応しようとすると、画像処理装置がバンド単位で画像データの符号化及び復号を実行するように構成されている場合には、まず、画像をバンド単位で復号し、これを画像の回転可能な圧縮符号として符号化し直し、その後、さらに画像の回転可能な圧縮符号を再び記録紙にあった方向で読み出して画像形成する、という煩雑な処理を行わなければならなかった。
【0017】
一方、最近では、デジタル複写機、複合機等はその記憶装置の記憶容量の増大等に伴い、画像サーバとして利用されるケースも増えてきており、スキャナで読み取った画像データをデジタル複写機、複合機等の記憶装置に圧縮符号化して格納し、必要に応じてパソコン等で任意に利用できるようになってきている。
【0018】
このような状況下に、画像処理装置としてデジタル複写機、複合機(MFP)、プリンタ等の画像形成装置にあっては、必要な場合だけ画像を領域分割することを可能として、領域分割に伴う画像の圧縮率の悪化を抑制できることが要望されるが、一般に、パソコン等の画像処理装置では画像形成装置の場合と異なりA3サイズ等の大サイズを特に考慮する必要がないので、画像形成装置に蓄積された符号データをパソコン等の外部機器で利用する場合の整合性をとる必要性もある。
【0019】
さらに、タイル単位に可変長符号化を実施して、得られた圧縮符号をメモリに格納する場合、可変長符号化では固定長符号化方式と異なり圧縮率の予測が困難であるため、圧縮符号がメモリに入りきらない場合が生じうる。かかる場合には、圧縮符号がメモリに格納できるように、画像データの情報量を削減する必要があるが、そのために、領域分割した画像を量子化すると領域の境界に画質劣化が生じる。このような画質劣化は、独立して符号化される各領域をタイルと呼ぶJPEG2000においては、タイル境界歪などと呼ばれている。
【0020】
このようなタイル境界歪みなどを低減する技術として、特許文献5に開示されているように、タイル境界の状態に応じて拡張画素の作成方法を適応的に選択することも考えられる。
【0021】
しかし、特許文献5に開示の技術では、本質的にタイル境界歪みを防止することができないという不具合がある。
【0022】
本発明の目的は、必要な場合だけ画像を領域分割することを可能として、領域分割に伴う画像の圧縮率の悪化や周波数変換に伴う領域の境界に発生する歪みを抑制できる上に、パソコン等の外部機器との整合性をとれるようにすることである。
【0023】
【課題を解決するための手段】
本発明の画像処理装置は、画像データを複数の領域に分割し、前記画像データの解像度を異ならせて階層的に圧縮符号化して符号列を生成する際に、当該符号列を処理する画像処理装置が前記符号列を復号した画像データを回転することのできる解像度に対応する階層の処理においては、当該処理される階層における前記画像データの領域の分割数を、前記回転することのできる解像度に対応しない階層の処理に対して変化させて符号化する圧縮符号化手段と、前記圧縮符号化手段により圧縮符号化された符号列を記憶する記憶装置と、前記符号列中から前記領域の分割数が変化しない階層までの符号列を取り出した修正符号列を外部に出力する修正出力手段と、を備え、前記回転することのできる解像度に対応しない階層の処理は、前記回転することのできる解像度に対応する階層の処理よりも先に行われることを特徴とする。
【0024】
従って、基本的に画像データを圧縮符号化して符号列を生成する際に途中の階層から領域の分割数を変更して符号化することにより、例えば、画像の向きを回転不可能である大きなサイズ(例えば、A3)の画像を復号するための周波数変換係数に関してはタイル分割などの領域分割をせず、画像の向きを回転可能である小さなサイズ(例えば、A4,A5)を復号するための周波数変換係数に関してはタイル分割などの領域分割をするなど、必要な階層だけ画像を領域分割することが可能となるので、領域分割に伴う圧縮率の悪化を抑制して画質の向上を図ることができる。また、領域分割の対象である符号も対象でない符号も単一のアルゴリズムで作成することが可能となり、符号化方法を使い分ける場合と比べて画像圧縮処理にかかわる回路の簡素化を図ることができる。
【0041】
本発明の画像形成装置は、本発明の何れか一の画像処理装置と、この画像処理装置の画像圧縮手段により圧縮符号化されて記憶装置に記憶されている符号列を復号する復号化手段と、この復号化手段により復号化された画像データに基づいて画像形成を行なうプリンタエンジンと、を備えている。
【0042】
従って、画像の向きを回転不可能である大きなサイズ(例えば、A3)の画像を復号するための周波数変換係数などに関してはタイル分割などの領域分割をせず、画像の向きを回転可能である小さなサイズ(例えば、A4,A5)を復号するための周波数変換係数などに関してはタイル分割などの領域分割をするなど、必要な場合だけ画像を領域分割することが可能となるので、領域分割に伴う圧縮率の悪化を抑制できる。また、領域分割の対象である符号も対象でない符号も単一のアルゴリズムで作成することが可能となり、符号化方法を使い分ける場合と比べて画像圧縮処理にかかわる回路の簡素化を図ることができる。
【0043】
本発明の画像処理装置による作用は、本発明の画像処理用プログラムや本発明の記憶媒体によっても奏することができる。
【0044】
【発明の実施の形態】
[第1の実施の形態]
本発明の第1の実施の形態を図1ないし図6に基づいて説明する。本実施の形態は、画像形成装置として、例えばフルカラーデジタル複写機(複合機=MFPであってもよい)1への適用例を示すが、当該デジタル複写機1に対して例えば図1に示すようにLAN等のネットワーク4を介してパソコン100等が接続されているシステム構成を想定している。
【0045】
図2は、本実施の形態のデジタル複写機1の概略構成を示すブロック図である。このデジタル複写機1は、周知の電子写真プロセスにより用紙上などに画像形成を行なうプリンタエンジン2と、原稿の画像を読み取るスキャナ3とを備えている。このデジタル複写機1は、マイクロコンピュータを有するコントローラ5を備えている。このコントローラ5は、具体的には、デジタル複写機1の全体を制御するメインコントローラと、メインコントローラ5各部を各々制御する複数のサブコントローラとからなるが、ここでは、単一のコントローラ5として図示する。このコントローラ5のCPUは、ROM(記憶媒体)に記憶されている制御プログラムに基づいて後述する処理を実行する。
【0046】
プリンタエンジン2は、各々感光体、現像装置、クリーニング装置、帯電装置を有していて、K,M,C,Y(ブラック、マゼンタ、シアン、イエロー)各色の乾式トナー像を形成するためのプロセスカートリッジ11K,11M,11C,11Yと、転写ベルト12と、定着装置13と、プロセスカートリッジ11K,11M,11C,11Yの各感光体にK,M,C,Y各色の画像の静電潜像を光書込みする光書込装置14K,14M,14C,14Yとを備えている。また、デジタル複写機1は、カラー画像を記録されるための媒体(用紙やOHPなど)を収納する給紙トレイ15a〜15cを備えている。各プロセスカートリッジ11K,11M,11C,11Yは、K,M,C,Y各色のトナー像を転写ベルト12に重ね合わせて形成し、この重ね合わされたトナー像は、給紙トレイ15a〜15cから図示しない搬送装置により供給される媒体に転写されて、定着装置13により定着される。
【0047】
また、デジタル複写機1は、バンドバッファ22、色変換部31、逆色変換部32、圧縮符号化手段又は圧縮符号化機能を実現する符号化部23a,23b、復号化手段又は復号化機能を実現する復号化部24a,24b、記憶装置であるページメモリ25からなる、画像処理装置26を備えている。
【0048】
図2において、バンドバッファ22は、1ページ分の画像データを構成する複数のバンドのうち、一つのバンドに含まれる画素のデータを格納するためのバッファである。ここでバンドとは、所定数の画素ラインから構成される画像データの一領域である。
【0049】
色変換部31は、バンドバッファ22に格納された画像データをYCrCb等の輝度色差に変換する。なお、色変換については周知の技術なので、説明は省略する。また、逆色変換部32は色変換部31の逆変換を行なう。
【0050】
符号化部23aは、画像データの画像情報又は輝度色差情報を低解像度画像(第1の低解像度画像)及び詳細情報(第1の詳細情報)に分解する変換部(第1の変換手段、第1の変換処理)と、第1の詳細情報をエントロピー符号化するエントロピー符号化部(第1のエントロピー符号化手段、第1のエントロピー符号化処理)とを備えている。この変換部は、例えば、画像情報又は輝度色差情報を第1の低解像度画像である低周波成分(第1の低周波成分)と第1の詳細情報であり第1の低周波成分より高周波の成分である高周波成分(第1の高周波成分)とに周波数変換により分解することができる。
【0051】
このような符号化部23aは、この例では、色変換部31で変換後の輝度色差情報に対して所定階層のウェーブレット変換により周波数変換を行ない、得られた高周波成分をタイル分割せずに符号化するための符号化装置である。以下、符号化部23aによって符号化された圧縮符号を「第1の圧縮符号」と記す。
【0052】
即ち、この例の符号化部23aは、ウェーブレット変換を行なう変換部と、変換部によって変換されたウェーブレット係数の高周波成分をエントロピー符号化するエントロピー符号化部とを少なくとも有している。エントロピー符号化部は、ウェーブレット係数を量子化したデータやウェーブレット係数に所定の変換を施したデータをエントロピー符号化するようにしてもよい。
【0053】
ウェーブレット変換としては幾つもの関数形が知られているが、本例では、国際標準であるJPEG2000に使用されている5×3フィルタの如く、隣接画素とオーバーラップするフィルタを使用する。隣接画素とオーバーラップするフィルタを使用する場合、量子化時にブロック歪が発生することがないという利点がある。なお、本例では、バンド境界においても隣接画素とのオーバーラップを行わせるために、バンドを構成する画素と併せて隣接する画素も必要な分だけバンドバッファ22に格納しておく。また、エントロピー符号化としては算術符号化を使用する。
【0054】
符号化部23bは、符号化部23における低解像度画像(第1の低解像度画像、第1の低周波成分)を複数のタイルなどの領域に分割し、各領域内に存在する低解像度画像を、他の領域内に存在する低解像度画像を利用することなく分解して領域毎に低解像度画像(第2の低解像度画像)及び詳細情報(第2の詳細情報)を得る変換部(第2の変換手段、第2の変換機能)と、この詳細情報をエントロピー符号化するエントロピー符号化部(第2のエントロピー符号化手段、第2のエントロピー符号化処理)と、を備えている。この変換部は、例えば、符号化部23aにおける低周波成分(第1の低周波成分)を第2の低解像度画像である低周波成分(第2の低周波成分)と第2の詳細情報であり第2の低周波成分より高周波の成分である高周波成分(第2の高周波成分)とに周波数変換により分解することができる。
【0055】
この例では、符号化部23bは、A4サイズの媒体に出力される画像については、画像情報を所定サイズのタイルに分割した上でタイル毎に独立に圧縮符号化し、A3サイズの媒体に出力される画像については、符号化部23aで得られた低周波成分を所定サイズのタイルに分割した上で各タイルを独立に圧縮符号化する。ここで、「独立」とは、符号化の際に他のタイル内の画素情報を利用することなく、符号化を実施するという意味である。即ち、この符号化部23bは、各タイルに含まれる係数に対して所定階層のウェーブレット変換を行なう変換部と、これにより得られた周波数成分(低周波成分及び高周波成分)のうち、少なくとも高周波成分をエントロピー符号化するためのエントロピー符号化部からなる。本例では、ウェーブレット変換として符号化部23aで使用したのと同じウェーブレットを使用する。以下、符号化部23bによって符号化された圧縮符号を「第2の圧縮符号」と記す。
【0056】
復号化部24bは、符号化部23bの逆変換を実施する。即ち、符号化部23a,23bで作成された符号列を対象として、詳細情報(第2の詳細情報)を復号するエントロピー復号部(第2のエントロピー復号手段、第2のエントロピー復号機能)と、このエントロピー復号部によって復号された詳細情報及び低解像度画像(第2の低解像度画像)から、低解像度画像(第1の低解像度画像)を復号する逆変換部(第2の逆変換手段、第2の逆変換機能)と、を備えている。
【0057】
エントロピー復号部は、詳細情報(第2の詳細情報)である低周波成分(第2の低周波成分)より高周波の成分である高周波成分(第2の高周波成分)を復号するようにすることができる。また、逆変換部は、低周波成分(第2の低周波成分)及び第2の高周波成分に対して第2の低周波成分と第2の高周波成分とに分解するに際して用いた周波数変換の逆変換を行い、低周波成分(第1の低周波成分)を復号するようにすることができる。
【0058】
復号化部24aは、符号化部23aの逆変換を実施する。即ち、復号化部24aは、詳細情報(第1の詳細情報)を復号するエントロピー復号部(第1のエントロピー復号手段、第1のエントロピー復号機能)と、この復号された詳細情報及び復号化部24bによって復号された低解像度画像から画像情報又は輝度色差情報を復号する逆変換部(第1の逆変換手段、第1の逆変換機能)と、を備えている。
【0059】
このように、復号化部24b又は復号化部24a及び24bで復号した画像データは、RGB→CMYK変換部28に出力させる。
【0060】
デジタル複写機1は、LANなどの所定のネットワーク4から図示しない通信インターフェイスを介して画像データを受け取ることができる。RIP部21は、ネットワーク4を介して入力された画像データがPDL(ページ記述言語)形式のデータであるとき、これをバンド単位に描画処理してビットマップ形式に変換して、画像処理装置26に出力する。
【0061】
ページメモリ25は、所定ページ分の画像データを圧縮符号列として格納(記憶)するための記憶装置である。本例のページメモリ25は、A4サイズの画像データ1ページ分の圧縮符号列を格納可能とする。ハードディスク27はページメモリ25に格納された圧縮符号列を取得して格納し、必要に応じてその圧縮符号列をページメモリ25に再格納するために設けられたメモリである。
【0062】
画像変倍器33は、画像を変倍するために設けられており、本例の場合は、A5サイズである低解像度画像を拡大して、A4サイズにする機能を果たす。
【0063】
RGB→CMYK変換部28は、復号化部24a又は24bで復号された、RGB(レッド、グリーン、ブルー)色の信号で表現された画像データを受け取り、これをCMYK信号に変換する。K,M,C,Y色階調処理部29K、29M,29C,29Yは、各々K,M,C,Y色の多値データを少値化して書込データに変換する機能を果たす。本例では、バンドバッファ22では1画素8ビットの600dpi画像データを格納し、これをK,M,C,Y色階調処理部29K,29M,29C,29Yで1画素1ビットの1200dpi画像データへと変換する。
【0064】
K,M,C色の書込みデータは、画像形成開始タイミングを調節するためにラインメモリ16K,16M,16Cに格納され、各色の画像が媒体上で重なり合うようにタイミングを合わせてK、M、C,Y,の色書込装置14K、14M,14C,14Yに送られる。
【0065】
次に、デジタル複写機1の動作について説明する。
【0066】
本例のデジタル複写機1は、A4サイズの出力時に電子ソート機能を実行することができる。電子ソート機能の実行時には、第1部数目の印刷出力時に給紙トレイ15a(又は給紙トレイ15b)に収納されたA4用紙に画像が記録され、第2部数目の印刷出力時には給紙トレイ15b(又は給紙トレイ15a)に収納されたA4用紙に画像が記録され、その後順次、奇数部数目の出力時には給紙トレイ15a(又は給紙トレイ15b)に収納されたA4用紙に画像が記録され、偶数部数目の出力時には給紙トレイ15b(又は給紙トレイ15a)に収納されたA4用紙に画像が記録され、というように交互に画像が記録される。このとき、奇数部数目の出力時には画像は回転されずに出力され、偶数部数目の出力時には画像の向きが90度回転されて出力される。
【0067】
また、本例のデジタル複写機1は、給紙トレイ15a,15bのうち一方に収納された媒体が消費されると、他方に収納された媒体上に画像を形成する給紙トレイ自動切換機能を有するが、このときも画像の向きを90度回転させることによって、切り替え先の給紙トレイに収納された媒体に適合した向きで画像を出力することができる。
【0068】
本例では、A3サイズの記録用紙に画像を形成する場合には画像の回転を実施せず、A4サイズの記録用紙に画像を形成する際には画像の回転を実施する。
【0069】
画像形成動作の詳細について説明する。
【0070】
スキャナ3から読み込まれた、又はネットワーク4から送られてきた画像データは、バンド単位にバンドバッファ22に格納される。本例のバンドバッファ22が格納可能な画像データの容量は、600dpiの1画素当り8ビットの画像データをA4サイズの4分の1だけ格納できる容量である。但し、上述したように、ウェーブレット変換のオーバーラップ時に参照する隣接画素分の画像データはこれとは別に格納可能である。
【0071】
バンドバッファ22に格納された1バンド分の画像データは、色変換部31で色変換されたのち、符号化部23a及び符号化部23bで圧縮符号化される。上述したように、本例では、A3サイズの記録用紙に画像を形成する場合には画像の向きの回転を実施せず、A4サイズの記録用紙に画像を形成する際には画像の向きの回転を実施する。
【0072】
このため、コントローラ5は、A3用紙に記録すべきサイズの画像を圧縮符号化する処理を第1サイズの符号化処理とし、第n(≧1)サイズの符号化処理で得られた低周波成分を符号化する処理を第(n+1)サイズの符号化処理と定義したとき、第1サイズの符号化処理については符号化部23aで圧縮符号化を行い、第2サイズの符号化処理については符号化部23bで圧縮符号化を行なう。
【0073】
なお、もしもA4サイズの用紙の代わりにA5サイズの用紙が格納されており、A5サイズの用紙において画像の回転を実行する場合には、A3サイズを2階層分ウェーブレット変換して得られた低周波成分が画像の回転処理の対象となるので、第1及び第2サイズについては符号化部23aで圧縮符号化を行い、第3サイズについては符号化部23bで圧縮符号化を行なうこととなる。
【0074】
図3は、デジタル複写機1が実行する処理のフローチャートである。かかる処理は圧縮指示手段を実現するものである。図3に示すように、コントローラ5は、ステップS1において、ネットワーク4から取得した画像データの画像のサイズ情報や原稿サイズ検知装置からの情報をもとに、画像のXY方向のサイズを求める。ここでいう画像のサイズとは、媒体上に形成された可視像のサイズを意味し、取得した画像を変倍してから出力する場合には変倍後のサイズを意味する。ここで、X方向は、用紙などの媒体の搬送方向であり、Y方向は、用紙などの媒体の搬送方向と直交する方向である。
【0075】
ステップS2において、コントローラ5は、その内部に記憶されたメモリからAsize4及びBsize4を読み出す。ここで、Asize4はA4サイズの媒体に画像形成可能な最大サイズの長辺の長さ(約29cm)であり、Bsize4はA4サイズの媒体に画像形成可能な最大サイズの短辺の長さ(約21cm)である。この2つの値は画像の回転処理を実行可能な画像の最大の大きさを示すために記憶されている。
【0076】
ステップS3において、コントローラ5は、「XがAsize4以下であり、かつ、YがBsize4以下である」又は「YがAsize4以下であり、かつ、XがBsize4以下である」という条件のいずれかが満たされるか否かを判定する。
【0077】
ステップS3の判定の結果、条件が満たされない場合には(ステップS3のY)、画像はA4サイズには収まらないと判断され、ステップS5の処理に移行する。条件が満たされる場合には(ステップS3のN)、ステップS4の処理に移行する。
【0078】
ステップS4では、画像形成の出力先の指定されている媒体がA3サイズの媒体に指定されているかどうかが判定され、A3サイズの媒体に出力されるよう指定されていれば(ステップS4のY)、ステップS5の処理に移行する。A3サイズの媒体に出力されるように指定されていなければ(ステップS4のN)、ステップS6の処理に移行する。
【0079】
ステップS5では、符号化部23aが、タイル分割せずに、画像データを圧縮符号化する。ステップS5において符号化部23aで得られた低周波成分は、符号化部23bに送られる。
【0080】
ステップS6では、符号化部23bが、ステップS4の判定でNとなったことにより、符号化部23aで処理せずに符号化部23bに直接送られた画像データ、又は、ステップS5の処理時に符号化部23aで得られたウェーブレット変換の低周波成分に対して符号化を行なう。
【0081】
このような処理により、符号化部23a及び符号化部23bによって符号化された圧縮符号列は、コントローラ5の指示によって、設定された量子化率に従って量子化される。量子化率は、符号化開始当初は量子化を全く行わないように設定されているが、ページメモリ25の容量と圧縮符号列の符号量との関係に基づき、必要に応じて設定が変更されていく。
【0082】
即ち、ページメモリ25に格納された符号化済みのバンドの総符号量F2、ページメモリ25の容量F1、画像データ1ページ分を構成する全バンド数N、及び符号化済みのバンド数nから“(F1/N×n)<F2”の関係が成立するか否かを判断し、この関係が成立すれば量子化率を再設定する。量子化率の再設定とは、ページ全体の量子化度合いをより強くするように量子化率を設定し直すことを意味する。
【0083】
“(F1/N×n)<F2”という判定式の意味を説明すると、(F1/N×n)は各バンドの情報量が等しいと仮定した場合に、nバンド分の処理が終了した時点でページメモリ25に格納される情報量の上限である。例えば、Nが4、nが3のときは“F1/N×n=F1×0.75”となり、圧縮符号列はページメモリ25の75%以下の容量を占めるべきであることを意味する。即ち、「(F1/N×n)<F2の関係が成立すれば量子化率を再設定する」とは、各バンドの情報量が等しいと仮定した場合の予想情報量(F1/N×n)に対して、実際に符号化済みのバンドの総符号量F2が少しでも上回れば、量子化率を再設定することを意味する。
【0084】
“(F1/N×n)<F2”の関係が成立して、量子化率を再設定した場合、再設定後に符号化するバンドの量子化率を新たに設定された量子化率で量子化するだけではなく、ページメモリ25に格納済みの圧縮符号についても再量子化を実行する必要がある。その理由は、1ページの画像内で量子化率が変動すると画像品質がページ内で変動し、見る者に違和感を感じさせる恐れがあるためである。そこでページメモリ25からも、量子化対象であるデータを消去する。なお、量子化の方法としては各種の方法が知られているが、本例では圧縮符号列のうちから所定のビットプレーンを削減することにより行なう。
【0085】
ページメモリ25に格納済みの圧縮符号列について量子化を実行した後、コントローラ5は、処理対象であったバンドが1ページを構成するバンドのうち最後のバンドであったかを判定し、最後のバンドでなければ、バンドバッファ22をクリアする。ただし、符号化対象であるバンドのウェーブレット変換に必要な画素値はクリアせずにバンドバッファ22内に残して、これを圧縮符号化に利用する。これにより、量子化を実施したときにバンド境界に境界歪が発生することを防止できる。次いで、コントローラ5は次のバンドの画像データをバンドバッファ22に読み込ませ、新たに読み込まれたバンドを構成する画像データの符号化を開始する。最後のバンドであれば符号化部23aによる符号化処理が終了する。
【0086】
ここで、最も解像度が高いウェーブレット変換係数を第1階層のウェーブレット係数、第n階層のウェーブレット係数の次に解像度が低いウェーブレット変換係数を第(n+1)階層のウェーブレット係数、のように定義することにすると、以上の処理によってページメモリ25内には、タイル分割されていない第1階層のウェーブレット係数(高周波成分)をエントロピー符号化した第1の圧縮符号と、タイル分割された第2階層以上の階層のウェーブレット係数(高周波成分と低周波成分(但し、低周波成分はエントロピー符号化されていなくてもよい))をエントロピー符号化した第2の圧縮符号と、が格納される。
【0087】
この状態を模式的に記したのが図4である。図4では、第2サイズの符号化処理において、第1階層の低周波成分を4つのタイルに分割して符号化部23bによる圧縮符号化を実施した場合の例を示している。低周波成分をLL、高周波成分をHL,LH,HH、階層数をインデックスとすると、図4において、第1の圧縮符号であるHL1,LH1,HH1はタイル分割されていないが、第2の圧縮符号であるLL3,HL3,LH3,HH3、HL2,LH2,HH2はタイル分割されている。
【0088】
このため、本例のデジタル複写機1では、A3サイズの画像はその向きを回転できないが、タイル分割されていないために圧縮率がよい。また、A5サイズの画像については、タイル分割されているために画像の向きを回転可能な圧縮符号が得られる。従って、全ての階層についてタイル分割した場合と比較して、少ない符号量で電子ソート機能又は給紙トレイ自動切換機能を実現することができる。
【0089】
次に、画像の回転処理について詳細に説明する。
【0090】
図5に、第2階層のウェーブレット係数を16のタイルに分割した場合の例を示す。第2の圧縮符号は1〜16のタイル毎に先頭アドレスがコントローラ5に記憶され、A4用紙の長辺が搬送方向となるように搬送する場合には、図5(b)に示すように、コントローラ6内のメモリを参照して、第一〜第四タイル(インデックス1〜4)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24bで復号してバンドバッファ22に画像データを展開する。そして、この画像データを図5(b)に示す矢印方向に読み出して次工程の処理を行なう。一方、A4用紙の短辺が搬送方向となるように搬送する場合には、図5(c)に示すように、コントローラ5内のメモリを参照して、第一、第五、第九、第十三タイル(インデックス1,5,9,13)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24bで復号してバンドバッファ22に画像データを展開する。そして、この画像データを図5(c)に示す矢印方向に読み出して次工程の処理を行なう。従って、読み出すタイルの番号及び復号化後の読み出し方向を変えることで画像の回転が可能となる。
【0091】
即ち、復号指示手段を実現するため、A3サイズの画像を圧縮符号化した圧縮符号を復号する際には、A3サイズで復号化する場合であれば、復号化部24a,24bにより、第1の圧縮符号まで復号して画像を回転せずに出力すればよい。一方、A4サイズで画像を回転させながら出力する際には、復号化部24bにより、第2の圧縮符号のみを読み出し、かつ、図5を用いて説明したように、読み出すタイルの番号及び復号化後の読み出し方向を変えることで、画像の回転出力が可能となる。
【0092】
ここでA3サイズの画像を1階層周波数変換して得た低周波成分はA5サイズであるので、回転動作を実行する場合、画像変倍器33はバンドバッファ22に展開されたA5サイズの画像データを拡大してA4サイズに変換する。この変倍方法は周知であるので、詳細な説明は省略する。
【0093】
なお、低周波成分のビット長は必ずしも元の画像データのビット長と等しいとは限らないので、低周波成分を出力画像とする場合には、適宜ビット長の調整を行なう(所定の下位ビットの削減など)。
【0094】
なお、符号化部23a,23b、復号化部24a,24bにおける符号化/復号処理に、国際標準であるJPEG2000を使用することも可能である。JPEG2000では、色変換、ウェーブレット変換、エントロピー符号化によって画像データを符号化し、また、圧縮符号の状態で量子化が可能であり、さらに、タイル分割機能も有しているために、上述の機能を発揮するが可能である。具体的には、x階層分を符号化部23aの符号化処理で符号化し、y階層分をz個のタイルに分割して符号化部23bの符号化処理で符号化する場合には、タイル数=1、デコンポジションレベル(階層)=yとして、第1の圧縮符号及び低周波成分を得、その後、低周波成分に対してタイル数=z、デコンポジションレベル(階層)=xとして、第2の圧縮符号を得るという処理を、JPEG2000符号のヘッダ情報を書き換えながら行なえばよい。
【0095】
このようにJPEG2000方式を使用すれば、途中の階層でタイル数を変えるという処理を加えるだけで上述の処理を行なうことができるので、符号化部23aと23bの共通化を図ることもでき、非常に効率がよい。
【0096】
以上のように、本例のデジタル複写機1によれば、画像の回転が可能なA4サイズまでの画像を復号化するために必要なウェーブレット係数のみがタイル分割されて符号化され、画像の回転が不可能なA3サイズの画像を復号化するためのみに必要なウェーブレット係数はタイル分割されずに符号化されることにより、情報量が多い高周波成分における圧縮率低下を招かずに、画像の回転可能な圧縮符号を得ることができる。また、量子化により第1階層のウェーブレット係数が削減されたとしても、第1階層はタイル分割されていないのでタイル境界歪が発生しない。第2階層以降のウェーブレット係数が量子化された場合にはタイル境界歪が発生するが、この場合でも第1階層のウェーブレット係数の情報が一部でも残っていれば、第1階層のウェーブレット係数はタイル分割されていないのでタイル境界歪を目立たなくすることができる。
【0097】
また、符号化処理は画像の回転の有無に関係なく一律処理であるため、画像の圧縮伸長に必要な回路を複数用意する必要はなく、また、処理を切り替えるための判断回路及び処理時間も不要となる。さらに、一度出力した画像をメモリ内に残しておき、これを縮小しながら画像の回転出力するような場合においても、一度A3サイズまで復号する必要がなく、高速に処理することが可能となる。
【0098】
なお、A3サイズ及びA5サイズの用紙を有し、かつA5サイズの記録用紙が2通りの搬送方向で格納されている場合のように、回転させる記録用紙が回転させない記録用紙の低周波成分と同じサイズを有する場合には、画像変倍器は必ずしも必要ではない。
【0099】
なお、符号化部23bの符号化方法はウェーブレットベースではなく、DCTベースのJPEG方式(DCT+ハフマン符号化)としてもよい。即ち、符号化部23bは、低周波成分をタイル分割した後、各タイルを独立に、公知のJPEG方式で符号化する。この場合は、符号化部23bと符号化部23aとは、その構成の共通性が低いが、ウェーブレットベースの処理と、JPEG方式の処理を両方行なう単一のASICなどによって、画像の回転を行なう場合と行わない場合とに対応することができる。
【0100】
また、符号化部23bの符号化方法は、固定長圧縮であるGBTCとしてもよい。
【0101】
さらに、符号化部23bのウェーブレット変換関数が符号化部23aのウェーブレット変換関数とは異なるようにしてもよい。具体的には、符号化部23aにおいてはオーバーラップが長い9×7フィルタを使用し、符号化部23bにおいてはオーバーラップが短い5×3フィルタを使用することができる。タイル分割を行なう際にはオーバーラップが短い5×3フィルタを使用することにより、タイル境界でのミラーリング処理等の負荷低減を図る。
【0102】
次に、本例のデジタル複写機1により圧縮符号化されてページメモリ25ないしはHDD27に記憶された符号列を、外部機器、例えばパソコン100において利用する場合の当該デジタル複写機1の出力形態について説明する。
【0103】
上述したように、本例のデジタル複写機1にあっては、符号化部23a,23bを備えることにより、画質向上等のため、タイル分割数を途中のウェーブレット分割階層で変更可能とされている。これにより、例えば、第1階層はタイル分割なしのノータイルで符号化を行い、第2階層以降の階層について複数のタイルに分割した状態で符号化を行える構成とされている。このような符号化部23a,23bによる2段階の圧縮符号化に対応させて、2段階の復号化部24a,24bも用意されている。このような構成によれば、当該デジタル複写機1や、この他、プリンタ、複合機(MFP)等において印刷処理等の自己で使用する分には効率よく画質もよい圧縮符号化方式といえるが、このように圧縮符号化された符号列のファイルをパソコン100で利用したい場合には、標準仕様の復号手段しか保有していないパソコン100側では当該符号列を復号できないという不都合が生ずる。
【0104】
そこで、本例のデジタル複写機1では、画像処理装置26中において、例えば、ページメモリ25(又はHDD27)からパソコン100(ネットワーク4)に対する出力経路中に修正出力手段又は修正出力機能として実施される修正出力部51を付加し、前述のような符号列を標準仕様の復号手段で復号できる標準仕様の修正符号列に修正して出力させるようにしたものである。この場合の修正出力部51での修正処理としては、ページメモリ25から得られる符号列中からタイルの分割数が変化しない途中の階層まで取り出した符号列を修正符号列とするものである。例えば、図4等に示したように第2,第3階層のタイル分割数を4(=タイル分割1)、第1階層のタイル分割数を0(ノータイル=タイル分割2)としたとき、符号列中からタイル分割数が変化しない(=タイル分割1)途中の階層である第3,第2階層まで取り出した符号列を修正符号列とし、タイル分割数(タイル分割2)が変化した第1階層に関する符号列とは区別するものである。
【0105】
図6はこのようなタイル分割数(タイル分割1,2)の変化(切り替え)に着目して、デジタル複写機1内での内部符号としての取り扱いと、パソコン100用の外部符号としての取り扱いを模式的に示すもので、デジタル複写機1内における内部符号としてはメインヘッダに続けてタイル分割1の符号列とタイル分割2の符号列が一体となった状態で扱われるのに対して、パソコン100用の外部符号としては修正出力部51によってメインヘッダに続けてタイル分割1の符号列のみを一体とした修正符号列に規制され、タイル分割2の符号列は例えば破線で示すように破棄される。この場合のタイル分割1に関するタイル分割数の情報をタイル中に記述される。
【0106】
従って、このような修正符号列を受けるパソコン100側では、当該修正符号列に関してはタイル分割数が各階層に渡って連続したものとなり、例えば、図4の例であれば、LL1に相当する原画サイズの符号列として扱うことができる(本例では、JPEG2000の標準仕様の符号列となる)ので、復号化器24a,24bのような復号化器を有していなくても標準仕様の復号手段で復号して利用することができる。また、タイル分割2の符号列は破棄するようにしているが、破棄するデータは第1階層のHL1,LH1,HH1なるノータイルの高解像度のデータであり、パソコン100等の外部機器においてディスプレイ等に表示させる際には無駄なデータとなってしまうものであり、破棄しても支障ないものである。
【0107】
なお、分割数が変化した後の階層の符号列に関しては、破棄する方式だけでなく、特に図示しないが、例えば、修正符号列中に記述したり、無効データとして修正符号列末尾に付加したりするようにしてもよい。例えば、図6に示す例であれば、タイル分割2に関する符号データは、修正符号列におけるメインヘッダ中に記述したりタイルのCOMマーカ中にコメントデータとして記述したり、タイル分割1の符号列の末尾に無効データとして付加するようにしてもよい。これによれば、タイル分割2に関する符号データを後で利用したい場合もあるが、修正符号列中に記述したり、無効データとして修正符号列末尾に付加したりしておくことにより、標準仕様において復元して利用することが可能となる。
【0108】
また、本実施の形態では、途中の階層からタイル分割して符号化する上で、その一例として、図4に示したように、第1階層の低周波成分(LL1)を4つのタイルに分割して符号化部23bによる圧縮符号化を実施し、第1階層の高周波成分(HL1,LH1,HH1)はタイル分割せずに圧縮符号化するようにしたが、符号化部23bによる処理対象を第1階層の高周波成分(HL1,LH1,HH1)に変更することで、例えば、図7に示すように、高周波成分(HL1,LH1,HH1)を各々4つのタイルに分割して符号化部23bによる圧縮符号化を実施する一方、第1階層の低周波成分(LL1)はタイル分割せずに(1つのタイルのままで)圧縮符号化するようにしてもよい。図7において、第1の圧縮符号であるLL1はタイル分割されていないが、第2の圧縮符号であるLL3,HL3,LH3,HH3、HL2,LH2,HH2はタイル分割されている。
【0109】
[第2の実施の形態]
本発明の第2の実施の形態を図8ないし図12に基づいて説明する。本実施の形態は、基本的には第1の実施の形態と同様に、例えばフルカラーデジタル複写機(複合機=MFPであってもよい)1への適用例を示し、当該デジタル複写機1に対して例えば図1に示したようにLAN等のネットワーク4を介してパソコン100等が接続されているシステム構成を想定している。
【0110】
図8は、本実施の形態であるデジタル複写機1の概略構成を示すブロック図である。基本的には図2に示した第1の実施の形態の場合と同様な構成とされており、同一部分は同一符号を付して示す。
【0111】
また、デジタル複写機1は、バンドバッファ22、圧縮符号化手段又は圧縮符号化機能を実現する符号化部23、復号化手段又は復号化機能を実現する復号化部24、記憶装置であるページメモリ25からなる、画像処理装置26を備えている。
【0112】
符号化部23は、バンドバッファ22に格納された画像データを符号化するための画像圧縮手段である。この符号化部23は、画像情報を輝度色差情報に変換する色変換部と、ウェーブレット変換を行なうウェーブレット変換部と、ウェーブレット変換部によって得られたウェーブレット係数の高周波成分をエントロピー符号化するエントロピー符号化部とを少なくとも有する。エントロピー符号化部は、ウェーブレット係数を量子化したデータやウェーブレット係数に所定の変換を施したデータをエントロピー符号化するようにしてもよい。
【0113】
ウェーブレット変換としては幾つもの関数形が知られているが、本例では国際標準であるJPEG2000に使用されている5×3フィルタの如く、隣接画素とオーバーラップするフィルタを使用する。隣接画素とオーバーラップするフィルタを使用する場合、量子化時にブロック歪が発生することがないという利点がある。また、エントロピー符号化としては算術符号化を使用する。
【0114】
また、復号化部24は、ウェーブレット係数の高周波成分をエントロピー復号するエントロピー復号部及びエントロピー復号部で得られたウェーブレット係数を画素情報に戻すための逆ウェーブレット変換部を少なくとも有している。なお、符号化部23、復号化部24は、ここでは、その実行する処理の少なくとも一部をASICなどのハードウエアで実現しているが、全ての処理をコントローラ5のCPUがROMに記憶されている制御プログラムに従って実行することもできる。或いは、一部をASICなどのハードウエアで、他の一部をコントローラ5のCPUが実行する処理により実行することもできる。
【0115】
ページメモリ25は、所定ページ分の画像データを圧縮符号として格納(記憶)するための記憶装置である。本例のページメモリ25は、A4サイズの画像データ1ページ分の圧縮符号列を格納可能とする。ハードディスク27はページメモリ25に格納された圧縮符号列を取得して格納し、必要に応じてその圧縮符号列をページメモリ25に再格納するために設けられたメモリである。RGB→CMYK変換部28以降は、図2の場合と同様である。
【0116】
次に、デジタル複写機1における画像形成動作の詳細について説明する。
【0117】
スキャナ3から読み込まれた、又は、ネットワーク4から送られてきた画像データは、バンド単位にバンドバッファ22に格納される。本例のバンドバッファ22が格納可能な画像データの容量は、600dpiの1画素当り16ビットのデータを624×864×9×3画素分だけ格納できる容量以上の容量である。この容量は、次のように決定されている。即ち、本例ではA4サイズ(約21cm×約29cm→約4961画素×約6851画素)1ページ分の画像データを8×8=64個のタイルに分割して処理を行なうが、各タイルは、621×857画素の画像情報を含むこととなる(なお、実際の画像データには余白が存在するが、説明の便宜上無視する)。一方、本例では後述するように4階層のウェーブレット変換(WT変換)を行なうので、ウェーブレット変換の単位であるコードブロックは16×16である。621画素を4階層のウェーブレット変換するために、621以上において最小の16の倍数である624画素を1タイルの短辺とする。また、857画素を4階層のウェーブレット変換するために、857以上において最小の16の倍数である864画素を1タイルの長辺とする。また、本例では画像データはRGB色の形態でバンドバッファ22に読み込まれる。従って、バンドバッファ22の容量は、RGB各々の色についてタイルを9個格納できるだけの容量である。なお、本例の画像情報は8ビットの深さであるが、ウェーブレット変換の過程でビット数が増えることを考えて16ビット分の深さを用意する。なお、1バンドを構成する画素数が8タイル分であるにも関わらず9タイル分の容量を用意する理由は後述する。
【0118】
バンドバッファ22に格納された1バンド分の画像データは、符号化部23で符号化されてページメモリ25に格納される。複数ページの画像を格納する際には、ページメモリ25内の圧縮符号はハードディスク27に送られて格納され、続くページがページメモリ25内に順次格納される。
【0119】
画像の印刷出力時には、ページメモリ25内の圧縮符号は復号化部24で復号されてRGB色の画像データに戻され、この画像データはRGB→CMYK変換部28でCMYK色の画像データに変換され、K,M,C,Y色階調処理部29K,29M,29C,29Yにおいて、K,M,C,Y色が各々階調処理されて1200dpiで1画素当り2値のデータに変換される。K,M,C色の画像データは、静電潜像の感光体への書込タイミングを調節するために、ラインメモリ16K,16M,16Cに一時格納され、用紙などの媒体上でカラー画像を形成するタイミングに合わせて、書込装置14K,14M,14Cへと送られる。
【0120】
プリンタエンジン2で用いる画像形成プロセスは周知の電子写真プロセスであるので、その動作の詳細は省略するが、各々K,M,C,Y色の乾式トナー像を形成するプロセスカートリッジ11K,11M,11C,11Yに対して書込装置14K,14M,14C,14Yが画像情報に応じた書込み光を発射すると、各プロセスカートリッジ11K,11M,11C,11Yにおいては、その帯電装置によって帯電させられた感光体上の被露光部分が除電されて静電潜像が形成される。この静電潜像に対して現像装置が乾式トナー粒子を画像部のみに選択的に付着させて可視像とし、この各色の可視像を転写ベルト12上に担持されて搬送させられる媒体(記録用紙やOHPなど)上に順次重ねていくことで得られたカラー画像を、定着装置で加熱、加圧して媒体上に固定する。
【0121】
ここで、本実施の形態においては、周波数変換の一つであるウェーブレット変換を実行しつつ画像データ(画像情報)を圧縮する処理を行なうが、本明細書においては、元のオリジナルの画像データをウェーブレット変換して、第1階層の低周波成分と第1階層の高周波成分を得る変換を、第1階層のウェーブレット変換、第k階層のウェーブレット変換によって得られた低周波成分をさらにウェーブレット変換して、第(k+1)階層の低周波成分と第(k+1)階層の高周波成分を得る変換を、第(k+1)階層のウェーブレット変換と記す。
【0122】
また、ウェーブレット変換係数の表記は、図9に示すように、低周波成分をLL、縦エッジに対応する高周波成分をLH、横エッジに対応する高周波成分をHL、斜めエッジに対応する高周波成分をHHとし、第k階層のウェーブレット変換係数にはインデックスkをつける。例えば、第1階層のLH係数はLH1と記す。
【0123】
次に、図10を用いて、符号化部23が行なう処理について説明する。図10に示すように、まず、コントローラ5は、ステップS11において、ネットワークから取得した画像のサイズ情報や原稿サイズ検知装置からの情報をもとに、画像のサイズX,Yを求める。この画像のサイズは、画像を画素の集合として読み込み、この画素の集合を長方形の集合としたとき、長方形の長辺の画素数をX、短辺の画素数をYとしたものである。ここでいう画像のサイズとは、媒体上に形成された可視像のサイズを意味し、取得した画像を変倍してから印刷出力する場合には変倍後のサイズを意味する。
【0124】
ステップS12において、画像は必要な変倍処理を施される。この変倍処理は、本例ではバンドバッファ22上の画像データをコントローラ5が拡大或いは縮小処理することで実行されるが、その他にも周知の変倍技術を採用可能である。
【0125】
ステップS13において、コントローラ5は、“X/pow(2,k)<Xtile”であるk(k=1,2,3,…,maxlev)を計算する。ここで、Xtileは1つのタイルの長辺の画素数、即ち864である。また、pow(2,k)は2のk乗を意味し、“X/pow(2,k)”はXをpow(2,k)で除算することを意味する。このkの意味するところは、画像をウェーブレット変換していった場合に得られる各周波数成分の長辺が初めて864を下回るときのウェーブレット変換階層数である。「周波数成分の長辺」とは、ウェーブレット係数を画像データの位置的相関に従って、画像データの相似形を形成するように並べた場合において、画像データの長辺に対応する辺の長さ(画素数)である。例えば、長辺64、短辺24の画像データに1階層のウェーブレット変換を実行して得た周波数成分を、画像データの位置的相関に従って画像データの相似形を形成するように並べた場合、長辺32、短辺12の周波数成分が得られる。
【0126】
次に、コントローラ5は、ステップS14において、“Y/pow(2,j)<Ytile”であるj(j=1,2,3,…,maxlev)を計算する。ここで、Ytileは1つのタイルの短辺の画素数、即ち624である。jの意味するところは、画像をウェーブレット変換していった場合に得られる各周波数成分の短辺が、初めて624を下回るときのウェーブレット変換階層数である。
【0127】
ステップS15では、“Th=max(k,j)”が計算される。max(a,b)は、2つの値aとbとのうちで大きな方の値を意味する記号であり、Thは、得られる周波数成分の長辺と短辺がともにタイルサイズを下回るウェーブレット変換の閾値階層数を意味する。
【0128】
次に、ステップS16において、1バンド分の画像データがバンドバッファ22に読み込まれる。この画像データは色変換によって輝度色差に変換される(S17)。コントローラ5は周波数変換の階層を管理するための変数Iに初期値1を設定し(S18)、まず、変数Iが閾値階層数Thを超えるか否かが判定され、周波数変換選択手段、周波数変換選択処理を実現する(S19)。
【0129】
変数Iが閾値階層数Thを超えていれば(S19のY)、ステップS22の処理に移行し、超えていなければ(S19のN)、輝度色差各々について第I階層のウェーブレット変換が実行され、第1の周波数変換手段、第1の周波数変換処理が実現される(S20)。ここでのウェーブレット変換は、変換対象である画像データ又は低周波成分に対してタイル毎に実行する。ここで、「タイル毎に」とは、変換対象のタイルをウェーブレット変換する際に、他のタイル内の情報を利用しないでウェーブレット変換を実行することを意味する。具体的には、ウェーブレット変換としてオーバーラップ関数を用いているにも関わらず、タイル境界では隣接タイルの情報を用いてオーバーラップ変換を行なうことをせず、予め定めた所定値やタイル内の画素値をミラーリング等して算出した値を用いてオーバーラップ変換を行なうことを意味する。ただし、上述したように、本例ではタイルの短辺長辺の画素数が16の倍数と設定されており、このため、タイルの短部に画素値の存在しない部分が生じる。この空白部分の画素値として隣接タイル内の画素値を使用してタイル境界歪を低減するようにしてもよい。
【0130】
その後、変数Iの値を+1だけカウントアップし(S21)、再び変数Iが閾値階層数Thを超えたか否かが判定される(S22)。この判定で変数Iが閾値階層数Th以下であれば(ステップS22のN)、ステップS19に戻って処理が続けられ、各タイルの低周波成分がさらにウェーブレット変換されていく。
【0131】
変数Iが閾値階層数Thを超えていれば(S22のY)、つまり、本例では第3階層のウェーブレット変換が終了した時点でステップS23に移行し、符号化部23は第1〜Th階層の高周波成分をエントロピー符号化し、ページメモリ25に格納する。
【0132】
このとき、第Th階層の低周波成分はバンドバッファ22内の別のエリアに移される。先に、この例ではバンドバッファ22は9タイル分の記憶容量を有していると説明したが、ここで、第Th階層の低周波成分は画像データの読込時には使用しない9番目のタイルに相当するエリアに移動されることなる。
【0133】
ついで、現在処理したバンドが最後のバンドか否かが判定され(S24)、最後のバンドでなければ(S24のN)、ステップS1に戻って次のバンドを読み込み、最後のバンドであれば(S24のY)、ステップS25に移行する。ステップS25では、変数Iがmaxlevであるか否かが判定される。ここで、maxlevとは、符号化部23が実行するウェーブレット変換の最大階層数で、本例では4である。この判定で、変数Iがmaxlevであれば(S25のY)、ステップS29に移行する。変数Iがmaxlevでなければ(S25のN)、ステップS26において第Th階層の低周波成分がタイル分割されずにウェーブレット変換され、第2の周波数変換手段、第2の周波数変換処理が実現される。「タイル分割されずにウェーブレット変換される」とは、具体的には、上述したタイル分割においては異なるタイルに存在する低周波成分であっても、オーバーラップ変換の際に参照することを意味する。
【0134】
その後、変数Iの値が+1だけカウントアップされ(S27)、変数Iがmaxlevであるか否かが判定される(S28)。I=maxlevであれば(S28のY)、ステップS29に移行し、そうでなければ(S28のN)、ステップS26に戻り処理が続けられる。I=maxlevであれば(S28のY)、第(Th+1)〜maxlev階層のウェーブレット係数がエントロピー符号化されてページメモリに25格納され(S29)、一連の処理が終了する。
【0135】
以上、図10を参照して説明した画像データの変換過程について、さらに図11を参照して説明する。図11(a)は、元のオリジナルの画像データの8タイル分(符号31が各々タイルを示す)を示す図である。各タイル41内には画像データが621画素×857画素×RGB3色分だけ格納されており、16×16画素の単位でウェーブレット変換処理を実行するためにタイル41のサイズとしては624×864画素×RGB3色となっている。なお、図11(a)は、副走査方向が画像の長辺である場合のタイル41を示しているが、主走査方向が画像の長辺である場合には、各タイル41の短辺が接するように並ぶ図となる(画素数は同じである)。
【0136】
ここで、A4サイズの画像データ(X=6851,Y=4961)を符号化することを考える。図10のステップS13において、“6851/pow(2,k)<864”なる最小のkは3であり、また、ステップS14において、“4961/pow(2,j)<624”なる最小のjも3である。従って、“Th=3”となる。このため、第3階層までがタイル分割されてウェーブレット変換され、第4階層のみがタイル分割されずにウェーブレット変換されることになる。
【0137】
図11(b)では、1バンドの画像データに対して第3階層までウェーブレット変換(図3のステップS17〜S22)された状態が示されている。これら係数のうち第3階層の低周波成分32以外はエントロピー符号化される(S23)。各タイル41を各々並列処理するために、本例では、符号化部23において、8つのウェーブレット変換器及び8つのエントロピー符号化器を使用するものとする。各タイル41は高速な並列処理によってウェーブレット変換及びエントロピー符号化され、コントローラ5はタイル41単位にそのアドレスを記憶する。そして、次のバンドをバンドバッファ22に読み込む前に、第3階層の低周波成分(符号42)のみはバンドバッファ22の別領域に移動させられる。
【0138】
図11(c)では、3バンドまで処理が進行した状態を示している。第1バンド、第2バンドのウェーブレット係数は第3階層の低周波成分32以外はエントロピー符号化されており、第3階層の低周波成分32はバンドバッファ22内に3バンド分、他の成分とは別の記憶エリアに格納される。
【0139】
全バンドの処理が終わると(S24のY)。図11(d)に示すように、全画像データ分の第3階層低周波成分32がバンドバッファ22に展開されている(図11(d)左図)。そこで、これを領域分割されていない情報とみなして(図11(d)中央図)、第4階層までウェーブレット変換する(図11(d)右図)(S26〜S28)。その後、第4階層のウェーブレット係数がエントロピー符号化される(S29)。
【0140】
このようにして、本例では第1〜3階層ではタイル分割された状態でウェーブレット変換係数が符号化され、第4階層はタイル分割されずにウェーブレット変換されている。
【0141】
即ち、本例によれば、第1〜3階層の処理においてはタイル41毎に処理が行なわれるために高速処理が可能となる。また、第4階層はタイル分割されていないために、ページメモリ25に圧縮符号が収まりきらずに量子化を施したような場合においても、タイル41の境界歪を低減することができる。即ち、従来の符号化/復号では、一度タイル分割したデータはタイル41毎に処理されるが、本例では周波数変換の途中でタイル分割されないデータに戻すことによってタイル境界歪を低減させることが可能となる。
【0142】
ところで、以上のようにして圧縮符号化した圧縮符号を復号化部24で復号処理する際には、図10の処理を逆に実施することになる。即ち、まず第4階層の周波数成分がバンドバッファ22に展開され、次いで、バンド毎に第1〜3階層の周波数成分が復号される。従って、第4階層の周波数成分をバンドバッファ22に展開した状態においてタイル分割された第1〜3階層の周波数成分をバンドバッファ22に展開する順序を変えれば、画像の向きを90度回転する処理を実行することができる。
【0143】
次に、この画像の回転処理について詳細に説明する。図12に、第2階層のウェーブレット係数を16のタイル41に分割した場合の例を示す(図5の場合と同様)。圧縮符号は1〜16のタイル41毎に先頭アドレスがコントローラ5に記憶され、プリンタエンジン2においてA4用紙の長辺が搬送方向となるように用紙などの媒体を搬送する場合には、図12(b)に示すように、コントローラ5内のメモリを参照して第一〜第四タイル(インデックス1〜4)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24で復号してバンドバッファ22に第1〜3階層の周波数成分を展開し、既に復号済みの第4階層の低周波成分32(図11参照)と併せて逆ウェーブレット変換を行なうことで、画像データを復号する。そして、この画像データを図12(b)に示す矢印方向に読み出して次工程の処理を行なう。
【0144】
一方、プリンタエンジン2において、A4用紙の短辺が搬送方向となるように媒体を搬送する場合には、図12(c)に示すように、コントローラ5内のメモリを参照して、第一、第五、第九、第十三タイル(インデックス1,5,9,13)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24で復号してバンドバッファ22に第1〜3階層の周波数成分を展開し、既に復号済みの第4階層の周波数成分32(図11参照)と併せて逆ウェーブレット変換を行なうことで画像データを展開する。そして、この画像データを図12(c)に示す矢印方向に読み出して次工程の処理を行なう。従って、読み出すタイル41の番号及び復号化後の読み出し方向を変えることで、画像の向きを回転することが可能となる。
【0145】
また第4階層の符号は、タイル分割されずにアドレス管理されているので、サムネイル画像の呼び出しが容易である。
【0146】
以上のように、本例の符号化/復号方式ではタイル境界歪みを低減しつつ、画像の回転処理や、処理の高速化が可能であるという優れた効果を奏する。
【0147】
なお、本例における符号化部23、復号化部24における符号化/復号のアルゴリズムとして、国際標準であるJPEG2000を使用することも可能である。
【0148】
次に、本例のデジタル複写機1により圧縮符号化されてページメモリ25ないしはHDD27に記憶された符号列を、外部機器、例えばパソコン100において利用する場合の当該デジタル複写機1の出力形態について説明する。
【0149】
上述したように、本例のデジタル複写機1にあっては、タイル41の境界歪を低減させるために、処理する階層によってそのタイル分割数の変更が可能とされている。即ち、第1〜3階層の処理においては複数のタイル41に分割しタイル41毎に処理を行なうことで高速処理を可能とし、また、第4階層はタイル分割なしとすることで、ページメモリ25に圧縮符号が収まりきらずに量子化を施したような場合においても、タイル41の境界歪を低減することができる構成とされている。このような構成によれば、当該デジタル複写機1や、この他、プリンタ、複合機(MFP)等において印刷処理等の自己で使用する分には効率よく画質もよい圧縮符号化方式といえるが、このように圧縮符号化された符号列のファイルをパソコン100で利用したい場合には、全ての階層についてそのタイル分割数が均一でないため、標準仕様の復号手段(例えば、JPEG2000標準仕様の復号手段)しか保有していないパソコン100側では当該符号列を復号できないという不都合が生ずる。
【0150】
そこで、本例のデジタル複写機1では、第1の実施の形態の場合と同様に、画像処理装置26中において、例えば、ページメモリ25(又はHDD27)からパソコン100(ネットワーク4)に対する出力経路中に修正出力手段又は修正出力機能として実施される修正出力部52を付加し、前述のような符号列を標準仕様の復号手段で復号できる標準仕様の修正符号列に修正して出力させるようにしたものである。この場合の修正出力部51での修正処理としては、修正出力部51の場合と同様であり、ページメモリ25から得られる符号列中からタイルの分割数が変化しない途中の階層まで取り出した符号列を修正符号列とするものである。例えば、図11等に示したような例であれば、符号列中から複数のタイル41に分割された第1〜3階層まで取り出した符号例を修正符号列とし、タイル分割数が変化した(タイル分割なし)第4階層に関する符号列と区別するものである。
【0151】
この場合のタイル分割数の変化による修正符号列、不要とする符号列の処理(破棄、無効データとする等)は、図6等で説明した場合と同様でよい。
【0152】
従って、このような修正符号列を受けるパソコン100側では、当該修正符号列に関してはタイル分割数が各階層に渡って連続したものとなり、例えば、図11の例であれば、タイル分割なしの第4階層の符号列のない符号列(本例では、JPEG2000の標準仕様の符号列となる)として扱うことができるので、標準仕様の復号手段で復号して利用することができる。
本実施の形態によれば、基本的に画像データを圧縮符号化して符号列を生成する際に途中の階層から複数の領域に分割して符号化するようにしたので、例えば、画像の向きを回転不可能である大きなサイズ(例えば、A3)の画像を復号するための周波数変換係数に関してはタイル分割などの領域分割をせず、画像の向きを回転可能である小さなサイズ(例えば、A4,A5)を復号するための周波数変換係数に関してはタイル分割などの領域分割をするなど、必要な階層だけ画像を領域分割することが可能となるので、領域分割に伴う圧縮率の悪化を抑制して画質の向上を図ることができる。また、領域分割の対象である符号も対象でない符号も単一のアルゴリズムで作成することが可能となり、符号化方法を使い分ける場合と比べて画像圧縮処理にかかわる回路の簡素化を図ることができる。一方、このような圧縮符号化による符号列をパソコン等の外部機器で利用する場合、途中の階層で領域の分割数が変化しているので、標準仕様の復号手段では復号できないが、外部に出力する場合にはこのような符号列中から領域の分割数が変化しない途中の階層までの符号列を取り出した修正符号列として出力することにより、標準仕様の符号列となって標準仕様の復号手段で復号できるように整合性をとることができる。
本実施の形態によれば、外部に出力する際には、符号列中から領域の分割数が変化しない途中の階層までの符号列を取り出した修正符号列とされるが、この際、分割数が変化しない途中の階層までの符号列の当該分割数が修正符号列中に記述しておくようにしたので、外部機器において当該分割数に応じた適正な復号処理を行わせることができる。
本実施の形態によれば、一般に、画像処理装置として画像形成装置等とパソコン等との関係を考えた場合、例えば領域分割せずに符号化を行なう階層部分は高解像度であるのでパソコン等で表示する上では無駄な情報となるので、外部機器に出力する際にはこのような分割数が変化した後の階層の符号列を破棄しても特に支障のないものとすることができる。
本実施の形態によれば、一般に、画像処理装置として画像形成装置等とパソコン等との関係を考えた場合、例えば領域分割せずに符号化を行なう階層部分は高解像度であるのでパソコン等で表示する上では無駄な情報となるので、外部機器に出力する際にはこのような分割数が変化した後の階層の符号列を破棄しても特に支障ないが、利用したい場合もあることから、修正符号列中に記述しておくようにしたので、標準仕様において復元して利用することも可能となる。
本実施の形態によれば、一般に、画像処理装置として画像形成装置等とパソコン等との関係を考えた場合、例えば領域分割せずに符号化を行なう階層部分は高解像度であるのでパソコン等で表示する上では無駄な情報となるので、外部機器に出力する際にはこのような分割数が変化した後の階層の符号列を破棄しても特に支障ないが、利用したい場合もあることから、無効データとして修正符号列末尾に付加しておくようにしたので、標準仕様において復元して利用することも可能となる。
本実施の形態によれば、例えば、画像の向きを回転不可能である大きなサイズ(例えば、A3)の画像を復号するための周波数変換係数に関してはタイル分割などの領域分割をせず、画像の向きを回転可能である小さなサイズ(例えば、A4,A5)を復号するための周波数変換係数に関してはタイル分割などの領域分割をするなど、必要な場合だけ画像を領域分割することが可能となるので、領域分割に伴う圧縮率の悪化を抑制することができる。また、領域分割の対象である符号も対象でない符号も単一のアルゴリズムで作成することが可能となり、符号化方法を使い分ける場合と比べて画像圧縮処理にかかわる回路の簡素化を図ることができる。さらに、画像形成装置などに搭載して、一度出力した画像を記憶しておき、その後再び同じ画像を出力するような場合においては、出力の度に異なるサイズの媒体に出力することを指定されても高速に出力できる。例えば、A3画像を縮小出力したが見にくいのでA3サイズで出力し直す場合や、逆に一度目はA3出力をしたが2回目はA4出力をするような場合に、高速に対応することができる。
本実施の形態によれば、周波数変換を用い、領域分割に伴う圧縮率の悪化を抑制、回路の簡素化などを図ることができる。
本実施の形態によれば、低周波側の成分は領域分割しないので、当該成分については量子化した際に領域の境界に発生する歪みを低減させることができ、このような周波数変換係数をエントロピー符号化して圧縮符号を生成することができる。
本実施の形態によれば、JPEG2000アルゴリズムを用いて、領域分割に伴う圧縮率の悪化の抑制、回路の簡素化などを図ることができる上に、外部機器に出力する際には、JPEG2000アルゴリズムのファイルとして出力させることができる。
本実施の形態の画像形成装置によれば、本実施の形態の画像処理装置を備えているので、本実施の形態の画像処理装置と同様の効果を奏することができる。
本実施の形態の記憶媒体によれば、本実施の形態の画像処理用プログラムを格納しているので、本実施の形態画像処理用プログラムと同様の効果を奏することができる。
【0153】
【発明の効果】
本発明によれば、基本的に画像データを圧縮符号化して符号列を生成する際に途中の階層から複数の領域に分割して符号化するようにしたので、例えば、画像の向きを回転不可能である大きなサイズ(例えば、A3)の画像を復号するための周波数変換係数に関してはタイル分割などの領域分割をせず、画像の向きを回転可能である小さなサイズ(例えば、A4,A5)を復号するための周波数変換係数に関してはタイル分割などの領域分割をするなど、必要な階層だけ画像を領域分割することが可能となるので、領域分割に伴う圧縮率の悪化を抑制して画質の向上を図ることができる。また、領域分割の対象である符号も対象でない符号も単一のアルゴリズムで作成することが可能となり、符号化方法を使い分ける場合と比べて画像圧縮処理にかかわる回路の簡素化を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のシステム例を示す概略構成図である。
【図2】そのデジタル複写機の概略構成を示すブロック図である。
【図3】デジタル複写機が実行する処理例を示すフローチャートである。
【図4】符号化部で作成された符号列のデータ構成を説明する説明図である。
【図5】画像の向きの回転処理について説明する説明図である。
【図6】内部と外部とで異なる態様とする符号列例を概略的に示す説明図である。
【図7】符号化部で作成される符号列のデータ構成の変形例を説明する説明図である。
【図8】本発明の第2の実施の形態のデジタル複写機の全体構成を示すブロック図である。
【図9】本実施の形態におけるウェーブレット変換係数について説明する説明図である。
【図10】本実施の形態における処理例を示すフローチャートである。
【図11】本実施の形態における処理を説明する説明図である。
【図12】本実施の形態における画像の向きの回転処理について説明する説明図である。
【符号の説明】
1 画像形成装置
2 プリンタエンジン
23a,23b,23 画像圧縮手段、画像圧縮機能
24a,24b,24 復号化手段
25,27 記憶装置
26 画像処理装置
51,52 修正出力手段、修正出力機能
100 外部機器[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus having an image compression function for compressing an image, an image forming apparatus including the image processing apparatus, a program for image processing, and a storage medium storing the program.
[0002]
[Prior art]
Conventionally, in order to improve the operability of compression-encoded image data, the original image data is divided into a plurality of regions, each region is independently encoded as a compression code, and when this compression code is decoded, A technique is known in which the order of regions to be decoded is changed according to the processing content after decoding. Here, “independently” means that information on other regions is not used when decoding each region, and therefore decoding is performed regardless of whether image data in other regions is decoded. Means that it is possible. An example of improving the operability by dividing and encoding the image data into a plurality of areas is that the process of rotating the direction of the image can be executed by changing the order of the areas to be decoded. .
[0003]
For example,
[0004]
In addition, the concept of tile is also introduced in JPEG2000, which is an image compression method that has become an international standard, and image data divided into regions is obtained by dividing the image data into tiles and encoding each tile. It becomes possible. Since each tile is a unit that is independently encoded, image rotation processing or the like can be easily performed by changing the order of tiles to be read.
[0005]
[0006]
In addition, when image data is divided into a plurality of regions, parallel processing can be performed when encoding or decoding processing is performed.
[0007]
[Patent Document 1]
JP 2001-160904 A (see paragraph [0003])
[Patent Document 2]
JP 2002-125116 A
[Patent Document 3]
JP 2000-101851 A
[Patent Document 4]
JP 2000-134623 A
[Patent Document 5]
JP 2001-217718 A
[0008]
[Problems to be solved by the invention]
By the way, the compression code that can rotate the direction of the conventional image often has a larger code amount than the compression code that cannot be rotated, so it is preferable because the data amount is large from the viewpoint of storing in the memory. Absent. For example, a fixed-length code can rotate an image, but does not use entropy coding, and therefore has a lower compression rate than a variable-length code. In addition, when an image is divided into small areas such as blocks or tiles and encoding is performed in units of small areas, correlation with pixels outside the area cannot be used, or entropy encoding is performed because the area is small. The learning effect becomes insufficient, and the compression rate deteriorates. Further, in hierarchical encoding using wavelet transform or the like, the compression rate deteriorates particularly in the data of the hierarchy with the highest resolution.
[0009]
On the other hand, a medium (paper, OHP, etc.) of the maximum size (for example, A3 size) that can be handled by an image forming apparatus such as an electrophotographic printer or a copier generally has a long side for reducing the size of the image forming apparatus. The paper is transported so that is substantially parallel to the transport direction. Therefore, since the short side is not transported so as to be substantially parallel to the transport direction, it is not necessary to rotate and output the image.
[0010]
Thus, paying attention to the fact that the necessity of image rotation processing changes according to the size of the image, the applicant of the present invention in the case of recording an image on the maximum size recording paper in
[0011]
However, a system that executes variable-length compression and fixed-length compression separately has a problem that the scale of a circuit that realizes the compression becomes large.
[0012]
Therefore, it is desired to realize an image rotation function by area division while suppressing the circuit scale by unifying the compression encoding system and suppressing an unnecessary increase in code amount due to area division. In other words, for example, A3 size compression encoding cannot be rotated, but encoding is performed with an encoding method that provides a high compression rate, and the compression rate is reduced for A4 size images. However, it is desirable to satisfy the request with a single encoding means in response to a request to perform encoding with an encoding method that can obtain a compression code capable of rotating an image.
[0013]
Further, there may be a demand for outputting an image that has been output once in a smaller size. For example, there is a case where printing is performed in A3 size, but printing is performed again in A4 size because it is inconvenient to carry.
[0014]
For example, when outputting a plurality of copies by electronic sorting at the time of output in A4, or the long side of A3 size paper is substantially parallel to the paper transport direction, while the short side of A4 size paper is When the paper is stored in a direction substantially parallel to the paper transport direction, or the long side of the A3 size paper is substantially parallel to the paper transport direction, whereas the short side of the A4 size paper is The A4 size paper stored with the long side stored in the direction substantially parallel to the transport direction and the long side stored in the direction substantially parallel to the transport direction has been cut. If so.
[0015]
In particular, the image once output is stored in the image forming apparatus according to a predetermined condition (for example, a condition such as storing for a certain period), and the date and time when the image is scanned is specified later. Thus, in an image forming apparatus having a function of searching for a specific image stored in the image forming apparatus and printing it out, the image stored in the maximum size is stored at a later date when image data is stored. It is assumed that the data is reduced and output as a reference material of low importance. Further, a plurality of copies may be output while electronically sorting the images.
[0016]
In each case as described above, when trying to cope with the technique disclosed in
[0017]
On the other hand, digital copiers, multi-function peripherals, etc. have recently been used as image servers due to the increase in storage capacity of their storage devices. It has been compressed and encoded and stored in a storage device such as a computer, and can be arbitrarily used by a personal computer or the like as necessary.
[0018]
Under such circumstances, an image forming apparatus such as a digital copying machine, a multi-function peripheral (MFP), or a printer as an image processing apparatus can divide an image only when necessary, and is accompanied by the area division. Although it is desired that the deterioration of the compression ratio of the image can be suppressed, in general, an image processing apparatus such as a personal computer does not need to consider a large size such as A3 size unlike the case of the image forming apparatus. There is also a need to ensure consistency when the stored code data is used by an external device such as a personal computer.
[0019]
Furthermore, when variable length coding is performed for each tile and the obtained compressed code is stored in the memory, the variable length coding is difficult to predict the compression rate unlike the fixed length coding method. May not fit in memory. In such a case, it is necessary to reduce the amount of information of the image data so that the compressed code can be stored in the memory. For this reason, if the image divided into regions is quantized, image quality deterioration occurs at the boundary of the regions. Such image quality degradation is called tile boundary distortion in JPEG2000, where each area encoded independently is called a tile.
[0020]
As a technique for reducing such tile boundary distortion, it is conceivable to adaptively select a method for creating an extended pixel according to the state of the tile boundary as disclosed in
[0021]
However, the technique disclosed in
[0022]
The object of the present invention is to enable image segmentation only when necessary, to suppress deterioration in image compression rate due to region segmentation and distortion occurring at the boundary of the region due to frequency conversion, and to a personal computer or the like This is to ensure consistency with external equipment.
[0023]
[Means for Solving the Problems]
The image processing apparatus of the present invention When the image data is divided into a plurality of areas and the code sequence is generated by hierarchically compressing and encoding the image data with different resolutions, an image processing apparatus that processes the code sequence decodes the code sequence In the processing of the hierarchy corresponding to the resolution that can rotate the image data In the hierarchy being processed Coding is performed by changing the number of divisions of the area of the image data with respect to the processing of the layer not corresponding to the resolution that can be rotated. Compression coding Means and said Compression coding A storage device for storing a code string compressed and encoded by the means, and a correction output means for outputting a correction code string obtained by extracting a code string from the code string up to a hierarchy in which the number of divisions of the region does not change; , And the processing of the layer that does not correspond to the resolution that can be rotated is performed before the processing of the layer that corresponds to the resolution that can be rotated. It is characterized by.
[0024]
Therefore, when generating a code string by compressing and encoding image data, the encoding is performed by changing the number of divisions of the area from the middle layer, for example, a large size in which the orientation of the image cannot be rotated. With regard to the frequency conversion coefficient for decoding the image (for example, A3), the frequency for decoding a small size (for example, A4, A5) that can rotate the direction of the image without performing area division such as tile division. With regard to the conversion coefficient, it is possible to divide the image into only the necessary layers, such as by dividing the area, such as tile division. Therefore, it is possible to improve the image quality by suppressing the deterioration of the compression rate due to the area division. . In addition, it is possible to create a code that is a target of region division and a code that is not a target by using a single algorithm, and it is possible to simplify a circuit related to image compression processing as compared with a case where a coding method is properly used. it can .
[0041]
Of the present invention The image forming apparatus Any one of the present invention Based on the image processing apparatus, decoding means for decoding the code string compressed and encoded by the image compression means of the image processing apparatus and stored in the storage device, and based on the image data decoded by the decoding means A printer engine that performs image formation.
[0042]
Therefore, with respect to a frequency conversion coefficient for decoding an image of a large size (for example, A3) in which the image orientation cannot be rotated, area division such as tile division is not performed, and the image orientation can be rotated. As for frequency transform coefficients for decoding the size (for example, A4, A5), it is possible to divide the image only when necessary, such as dividing the region such as tile division. The deterioration of the rate can be suppressed. In addition, it is possible to create a code that is a target of region division and a code that is not a target by using a single algorithm, and it is possible to simplify a circuit related to image compression processing as compared with a case where a coding method is properly used. it can .
[0043]
By the image processing apparatus of the present invention The action is Of the present invention Image processing programs, Of the present invention It can also be played by a storage medium.
[0044]
DETAILED DESCRIPTION OF THE INVENTION
[First Embodiment]
A first embodiment of the present invention will be described with reference to FIGS. In the present embodiment, an example of application to a full-color digital copier (which may be an MFP = MFP) 1 is shown as an image forming apparatus, for example, as shown in FIG. A system configuration in which a
[0045]
FIG. 2 is a block diagram showing a schematic configuration of the digital copying
[0046]
The
[0047]
The
[0048]
In FIG. 2, a band buffer 22 is a buffer for storing pixel data included in one band among a plurality of bands constituting image data for one page. Here, a band is an area of image data composed of a predetermined number of pixel lines.
[0049]
The color conversion unit 31 converts the image data stored in the band buffer 22 into a luminance color difference such as YCrCb. Since color conversion is a well-known technique, description thereof is omitted. The reverse
[0050]
The encoding unit 23a converts the image information or luminance color difference information of the image data into a low resolution image (first low resolution image) and detailed information (first detailed information) (first conversion means, first conversion unit). 1 conversion processing) and an entropy encoding unit (first entropy encoding means, first entropy encoding processing) for entropy encoding the first detailed information. For example, the conversion unit converts the image information or the luminance color difference information into a low frequency component (first low frequency component) that is a first low resolution image and first detailed information that is higher in frequency than the first low frequency component. It can be decomposed into a high frequency component (first high frequency component) as a component by frequency conversion.
[0051]
In this example, such an encoding unit 23a performs frequency conversion on the luminance color difference information converted by the color conversion unit 31 by wavelet conversion of a predetermined hierarchy, and encodes the obtained high frequency component without dividing the tile. It is the encoding apparatus for converting. Hereinafter, the compression code encoded by the encoding unit 23a is referred to as a “first compression code”.
[0052]
That is, the encoding unit 23a in this example includes at least a conversion unit that performs wavelet conversion and an entropy encoding unit that entropy-encodes the high-frequency component of the wavelet coefficient converted by the conversion unit. The entropy encoding unit may entropy encode data obtained by quantizing the wavelet coefficients or data obtained by performing predetermined conversion on the wavelet coefficients.
[0053]
Several function forms are known as wavelet transforms. In this example, a filter that overlaps with adjacent pixels is used, such as a 5 × 3 filter used in the international standard JPEG2000. When a filter that overlaps adjacent pixels is used, there is an advantage that block distortion does not occur during quantization. In this example, in order to overlap the adjacent pixels even at the band boundary, the necessary number of adjacent pixels together with the pixels constituting the band are stored in the band buffer 22. In addition, arithmetic coding is used as entropy coding.
[0054]
The encoding unit 23b divides the low resolution image (first low resolution image, first low frequency component) in the
[0055]
In this example, the encoding unit 23b divides image information into tiles of a predetermined size for an image output to an A4 size medium, and independently compresses and encodes each tile, and outputs the result to an A3 size medium. For the image to be processed, the low frequency component obtained by the encoding unit 23a is divided into tiles of a predetermined size, and then each tile is independently compression encoded. Here, “independent” means that encoding is performed without using pixel information in other tiles at the time of encoding. That is, the encoding unit 23b includes at least a high-frequency component among the conversion unit that performs wavelet transform of a predetermined layer on the coefficients included in each tile and the frequency components (low-frequency component and high-frequency component) obtained thereby. Is composed of an entropy coding unit for entropy coding. In this example, the same wavelet as that used in the encoding unit 23a is used as the wavelet transform. Hereinafter, the compression code encoded by the encoding unit 23b is referred to as a “second compression code”.
[0056]
The
[0057]
The entropy decoding unit may decode a high frequency component (second high frequency component) that is a higher frequency component than a low frequency component (second low frequency component) that is detailed information (second detailed information). it can. The inverse conversion unit reverses the frequency conversion used when decomposing the low frequency component (second low frequency component) and the second high frequency component into the second low frequency component and the second high frequency component. Conversion can be performed to decode the low-frequency component (first low-frequency component).
[0058]
The decoding unit 24a performs the inverse transformation of the encoding unit 23a. That is, the decoding unit 24a includes an entropy decoding unit (first entropy decoding unit, first entropy decoding function) that decodes detailed information (first detailed information), and the decoded detailed information and decoding unit. An inverse conversion unit (first inverse conversion means, first inverse conversion function) that decodes image information or luminance color difference information from the low-resolution image decoded by 24b.
[0059]
In this way, the image data decoded by the
[0060]
The
[0061]
The
[0062]
The
[0063]
The RGB →
[0064]
The K, M, and C color write data are stored in the
[0065]
Next, the operation of the digital copying
[0066]
The
[0067]
Further, the digital copying
[0068]
In this example, when an image is formed on an A3 size recording sheet, the image is not rotated. When an image is formed on an A4 size recording sheet, the image is rotated.
[0069]
Details of the image forming operation will be described.
[0070]
Image data read from the
[0071]
The image data for one band stored in the band buffer 22 is color-converted by the color conversion unit 31 and then compressed and encoded by the encoding unit 23a and the encoding unit 23b. As described above, in this example, the image orientation is not rotated when an image is formed on an A3 size recording sheet, and the image orientation is rotated when an image is formed on an A4 size recording sheet. To implement.
[0072]
For this reason, the
[0073]
If A5 size paper is stored instead of A4 size paper and image rotation is performed on A5 size paper, the low frequency obtained by wavelet transforming A3 size for two layers. Since the component is an object of image rotation processing, the first and second sizes are compressed and encoded by the encoding unit 23a, and the third size is compressed and encoded by the encoding unit 23b.
[0074]
FIG. 3 is a flowchart of processing executed by the digital copying
[0075]
In step S2, the
[0076]
In step S3, the
[0077]
As a result of the determination in step S3, if the condition is not satisfied (Y in step S3), it is determined that the image does not fit in the A4 size, and the process proceeds to step S5. If the condition is satisfied (N in step S3), the process proceeds to step S4.
[0078]
In step S4, it is determined whether the medium designated as the output destination for image formation is designated as an A3 size medium, and if it is designated to be output on an A3 size medium (Y in step S4). The process proceeds to step S5. If it is not specified to output to an A3 size medium (N in step S4), the process proceeds to step S6.
[0079]
In step S5, the encoding unit 23a compresses and encodes the image data without dividing the tile. The low frequency component obtained by the encoding unit 23a in step S5 is sent to the encoding unit 23b.
[0080]
In step S6, since the encoding unit 23b is N in the determination in step S4, the image data sent directly to the encoding unit 23b without being processed by the encoding unit 23a or the processing in step S5 Encoding is performed on the low-frequency component of the wavelet transform obtained by the encoding unit 23a.
[0081]
By such processing, the compression code string encoded by the encoding unit 23 a and the encoding unit 23 b is quantized according to the set quantization rate in accordance with an instruction from the
[0082]
That is, from the total code amount F2 of the encoded bands stored in the
[0083]
The meaning of the determination formula “(F1 / N × n) <F2” will be described. When (F1 / N × n) is assumed that the information amount of each band is equal, the processing for n bands is completed. The upper limit of the amount of information stored in the
[0084]
When the relationship of “(F1 / N × n) <F2” is established and the quantization rate is reset, the quantization rate of the band to be encoded after resetting is quantized with the newly set quantization rate. In addition to this, it is necessary to re-quantize the compressed code stored in the
[0085]
After performing the quantization on the compression code string stored in the
[0086]
Where most resolution The wavelet transform coefficient with high is next to the wavelet coefficient in the first layer and the wavelet coefficient in the nth layer. Low resolution If the wavelet transform coefficients are defined as the (n + 1) th layer wavelet coefficients, the first layer wavelet coefficients (high frequency components) that are not divided into tiles are entropy in the
[0087]
FIG. 4 schematically shows this state. FIG. 4 shows an example in which the low-frequency component of the first layer is divided into four tiles and the compression encoding by the encoding unit 23b is performed in the second size encoding process. If the low frequency component is LL, the high frequency component is HL, LH, HH, and the number of layers is an index, the first compression code HL1, LH1, HH1 is not divided into tiles in FIG. The codes LL3, HL3, LH3, HH3, HL2, LH2, and HH2 are divided into tiles.
[0088]
For this reason, in the digital copying
[0089]
Next, the image rotation process will be described in detail.
[0090]
FIG. 5 shows an example in which the wavelet coefficients of the second layer are divided into 16 tiles. In the second compression code, when the leading address is stored in the
[0091]
That is, in order to realize a decoding instruction means, when decoding a compression code obtained by compression encoding an A3 size image, if decoding is performed in A3 size, the
[0092]
Here, since the low frequency component obtained by converting the A3 size image by one layer frequency conversion is A5 size, when the rotation operation is executed, the
[0093]
Note that the bit length of the low frequency component is not necessarily equal to the bit length of the original image data. Therefore, when the low frequency component is used as an output image, the bit length is appropriately adjusted (a predetermined lower bit). Reduction).
[0094]
Note that JPEG 2000, which is an international standard, can be used for encoding / decoding processing in the encoding units 23a and 23b and the
[0095]
If the JPEG2000 system is used in this way, the above-described processing can be performed only by adding the processing of changing the number of tiles in the middle layer, so that the encoding units 23a and 23b can be used in common. Efficient.
[0096]
As described above, according to the digital copying
[0097]
Also, since the encoding process is a uniform process regardless of whether or not the image is rotated, there is no need to prepare multiple circuits necessary for image compression / decompression, and there is no need for a determination circuit and processing time for switching the process. It becomes. Furthermore, even when an image that has been output once is left in the memory and the image is rotated and output while being reduced, it is not necessary to decode it to A3 size once, and high-speed processing is possible.
[0098]
Note that the recording paper to be rotated is the same as the low frequency component of the recording paper that does not rotate, as in the case of having A3 size paper and A5 size paper and storing the A5 size recording paper in two transport directions. In the case of having a size, an image zoom device is not always necessary.
[0099]
Note that the encoding method of the encoding unit 23b may be a DCT-based JPEG method (DCT + Huffman encoding) instead of the wavelet base. That is, the encoding unit 23b divides the low frequency component into tiles, and then encodes each tile independently by a known JPEG method. In this case, the encoding unit 23b and the encoding unit 23a have low commonality in configuration, but the image is rotated by a single ASIC or the like that performs both wavelet-based processing and JPEG processing. It is possible to deal with the case of not performing the case.
[0100]
Further, the encoding method of the encoding unit 23b may be GBTC which is fixed length compression.
[0101]
Furthermore, the wavelet transform function of the encoding unit 23b may be different from the wavelet transform function of the encoding unit 23a. Specifically, a 9 × 7 filter with a long overlap can be used in the encoding unit 23a, and a 5 × 3 filter with a short overlap can be used in the encoding unit 23b. When performing tile division, a 5 × 3 filter with a short overlap is used to reduce the load such as mirroring processing at the tile boundary.
[0102]
Next, an output form of the digital copying
[0103]
As described above, in the digital copying
[0104]
Therefore, in the digital copying
[0105]
FIG. 6 pays attention to such a change (switching) of the number of tile divisions (
[0106]
Therefore, on the
[0107]
Note that the code string of the layer after the number of divisions is changed, not only in the discarding method but not particularly illustrated, for example, described in the corrected code string or added to the end of the corrected code string as invalid data You may make it do. For example, in the example shown in FIG. 6, the code data related to the
[0108]
In the present embodiment, encoding is performed by dividing a tile from an intermediate layer, and as an example, as shown in FIG. 4, the low-frequency component (LL1) of the first layer is divided into four tiles. The encoding unit 23b performs compression encoding, and the high-frequency components (HL1, LH1, and HH1) of the first layer are compressed and encoded without being divided into tiles. By changing to the high frequency components (HL1, LH1, HH1) of the first layer, for example, as shown in FIG. 7, the high frequency components (HL1, LH1, HH1) are divided into four tiles, respectively, and the encoding unit 23b. On the other hand, the low-frequency component (LL1) of the first layer may be compressed and encoded without being divided into tiles (while remaining one tile). In FIG. 7, the first compression code LL1 is not divided into tiles, but the second compression codes LL3, HL3, LH3, HH3, HL2, LH2, and HH2 are divided into tiles.
[0109]
[Second Embodiment]
A second embodiment of the present invention will be described with reference to FIGS. This embodiment basically shows an example of application to a full-color digital copier (which may be an MFP = MFP) 1 as in the first embodiment. On the other hand, for example, a system configuration is assumed in which a
[0110]
FIG. 8 is a block diagram showing a schematic configuration of the digital copying
[0111]
The
[0112]
The
[0113]
Several function forms are known as wavelet transforms. In this example, a filter that overlaps with adjacent pixels is used, such as a 5 × 3 filter used in the international standard JPEG2000. When a filter that overlaps adjacent pixels is used, there is an advantage that block distortion does not occur during quantization. In addition, arithmetic coding is used as entropy coding.
[0114]
In addition, the
[0115]
The
[0116]
Next, details of the image forming operation in the digital copying
[0117]
Image data read from the
[0118]
The image data for one band stored in the band buffer 22 is encoded by the
[0119]
When the image is printed out, the compression code in the
[0120]
Since the image forming process used in the
[0121]
Here, in the present embodiment, processing for compressing image data (image information) is performed while executing wavelet transform, which is one of frequency transforms. In this specification, original original image data is A wavelet transform is performed to obtain a low-frequency component in the first layer and a high-frequency component in the first layer, and a wavelet transform is further performed on the low-frequency component obtained by the wavelet transform in the first layer and the wavelet transform in the k-th layer. The transformation for obtaining the low frequency component of the (k + 1) th layer and the high frequency component of the (k + 1) th layer is referred to as a wavelet transform of the (k + 1) th layer.
[0122]
In addition, as shown in FIG. 9, the wavelet transform coefficient is represented by LL for low frequency components, LH for high frequency components corresponding to vertical edges, HL for high frequency components corresponding to horizontal edges, and high frequency components corresponding to diagonal edges. HH, and an index k is attached to the wavelet transform coefficient in the k-th layer. For example, the LH coefficient of the first layer is denoted as LH1.
[0123]
Next, processing performed by the
[0124]
In step S12, the image is subjected to necessary scaling processing. In this example, the scaling process is executed by the
[0125]
In step S13, the
[0126]
Next, the
[0127]
In step S15, “Th = max (k, j)” is calculated. max (a, b) is a symbol that means a larger value of the two values a and b, and Th is a wavelet transform in which both the long side and the short side of the obtained frequency component are smaller than the tile size. Means the number of threshold levels.
[0128]
Next, in step S <b> 16, image data for one band is read into the band buffer 22. This image data is converted into a luminance color difference by color conversion (S17). The
[0129]
If the variable I exceeds the threshold layer number Th (Y in S19), the process proceeds to step S22, and if it does not exceed (N in S19), the wavelet transform of the I-th layer is executed for each luminance color difference, First frequency conversion means and first frequency conversion processing are realized (S20). The wavelet transform here is executed for each tile on the image data or low frequency component to be converted. Here, “for each tile” means that wavelet transformation is performed without using information in other tiles when wavelet transformation is performed on a tile to be transformed. Specifically, despite the use of the overlap function as the wavelet transform, the tile boundary is not subjected to the overlap transform using the adjacent tile information, and the predetermined value or pixel within the tile is determined. It means that overlap conversion is performed using a value calculated by mirroring the value. However, as described above, in this example, the number of pixels on the short side and the long side of the tile is set to a multiple of 16, and therefore, there is a portion where no pixel value exists in the short portion of the tile. You may make it reduce tile boundary distortion using the pixel value in an adjacent tile as the pixel value of this blank part.
[0130]
Thereafter, the value of the variable I is incremented by +1 (S21), and it is again determined whether or not the variable I exceeds the threshold hierarchy number Th (S22). If the variable I is less than or equal to the threshold hierarchy number Th in this determination (N in step S22), the process returns to step S19 and the processing is continued, and the low frequency components of each tile are further wavelet transformed.
[0131]
If the variable I exceeds the threshold number of layers Th (Y in S22), that is, in this example, when the wavelet transform of the third layer is completed, the process proceeds to step S23, and the
[0132]
At this time, the low-frequency component in the Th layer is moved to another area in the band buffer 22. Previously, in this example, it was described that the band buffer 22 has a storage capacity of nine tiles. Here, the low frequency component of the Th layer corresponds to the ninth tile that is not used when reading image data. It will be moved to the area.
[0133]
Next, it is determined whether or not the currently processed band is the last band (S24). If it is not the last band (N in S24), the process returns to step S1 to read the next band, and if it is the last band (S24). Y of S24), the process proceeds to step S25. In step S25, the variable I is max. lev It is determined whether or not. Where max lev Is the maximum number of hierarchies of wavelet transform executed by the
[0134]
Thereafter, the value of variable I is incremented by +1 (S27), and variable I is max. lev It is determined whether or not (S28). I = max lev If so (Y in S28), the process proceeds to step S29. If not (N in S28), the process returns to step S26 to continue the process. I = max lev If (Y in S28), (Th + 1) to max lev The wavelet coefficients of the hierarchy are entropy-coded and stored in the page memory 25 (S29), and a series of processing ends.
[0135]
The image data conversion process described above with reference to FIG. 10 will be further described with reference to FIG. FIG. 11A is a diagram illustrating eight tiles of the original original image data (reference numeral 31 indicates each tile). Each
[0136]
Here, it is assumed that image data of A4 size (X = 6851, Y = 4961) is encoded. In step S13 of FIG. 10, the minimum k that is “6851 / pow (2, k) <864” is 3, and in step S14, the minimum j that is “4961 / pow (2, j) <624”. Is also three. Therefore, “Th = 3”. For this reason, up to the third level is tiled and wavelet transformed, and only the fourth level is wavelet transformed without tile division.
[0137]
FIG. 11B shows a state in which wavelet transform (steps S17 to S22 in FIG. 3) is performed up to the third layer on one-band image data. Of these coefficients, those other than the low-
[0138]
FIG. 11C shows a state in which processing has progressed to three bands. The wavelet coefficients of the first band and the second band are entropy-encoded except for the low-
[0139]
When all the bands have been processed (Y in S24). As shown in FIG. 11D, the third layer
[0140]
In this way, in this example, wavelet transform coefficients are encoded in a state where tiles are divided in the first to third layers, and wavelet transform is performed in the fourth layer without tile division.
[0141]
That is, according to this example, in the processing of the first to third layers, the processing is performed for each
[0142]
By the way, when the
[0143]
Next, this image rotation processing will be described in detail. FIG. 12 shows an example in which the wavelet coefficients of the second hierarchy are divided into 16 tiles 41 (similar to the case of FIG. 5). When the compression code is stored in the
[0144]
On the other hand, when the
[0145]
In addition, since the code of the fourth layer is address-managed without being divided into tiles, it is easy to call a thumbnail image.
[0146]
As described above, the encoding / decoding method of the present example has an excellent effect that it is possible to perform image rotation processing and high-speed processing while reducing tile boundary distortion.
[0147]
Note that JPEG 2000, which is an international standard, can also be used as an encoding / decoding algorithm in the
[0148]
Next, an output form of the digital copying
[0149]
As described above, in the digital copying
[0150]
Therefore, in the digital copying
[0151]
In this case, the processing of the modified code string and the unnecessary code string (discard, invalid data, etc.) due to the change in the number of tile divisions may be the same as described with reference to FIG.
[0152]
Therefore, on the
This embodiment According to the above, when the image data is basically compressed and encoded to generate the code string, it is divided into a plurality of regions from the middle layer and encoded. The frequency transform coefficient for decoding an image of a certain large size (for example, A3) is not divided into regions such as tile division, and a small size (for example, A4, A5) that can rotate the direction of the image is decoded. As for the frequency conversion coefficient for this purpose, it is possible to divide the image into only the necessary layers, such as by dividing the area such as tile division, so that the deterioration of the compression rate associated with the area division is suppressed and the image quality is improved. be able to. Further, it is possible to create a code that is an object of region division and a code that is not an object by a single algorithm, and it is possible to simplify a circuit related to image compression processing as compared with a case where an encoding method is selectively used. On the other hand, when a code string by such compression coding is used by an external device such as a personal computer, the number of area divisions changes in the middle of the hierarchy, so it cannot be decoded by standard decoding means, but is output to the outside. In such a case, a standard code string is obtained by outputting a code string from the code string up to the middle layer where the number of divisions of the region does not change, as a modified code string. It is possible to ensure consistency so that decoding can be performed with
This embodiment According to the above, when outputting to the outside, the code sequence is extracted from the code sequence up to the middle layer where the number of divisions of the region does not change, but at this time, the number of divisions does not change Since the number of divisions of the code string up to the second layer is described in the modified code string, it is possible to perform an appropriate decoding process according to the number of divisions in the external device.
This embodiment In general, when considering the relationship between an image forming apparatus or the like as an image processing apparatus and a personal computer, for example, the layer portion for encoding without dividing the area has a high resolution. Since it becomes useless information, even when the code string of the layer after such a change in the number of divisions is discarded when it is output to an external device, there is no particular problem.
This embodiment In general, when considering the relationship between an image forming apparatus or the like as an image processing apparatus and a personal computer, for example, the layer portion for encoding without dividing the area has a high resolution. Since it becomes useless information, there is no problem in discarding the code string of the layer after such a change in the number of divisions when outputting to an external device. Since it has been described in, it can be restored and used in the standard specification.
This embodiment In general, when considering the relationship between an image forming apparatus or the like as an image processing apparatus and a personal computer, for example, the layer portion for encoding without dividing the area has a high resolution. Since it becomes useless information, there is no problem in discarding the code string of the layer after such a change in the number of divisions when outputting to an external device, but there are cases where it is desired to use it. Since it is added at the end of the modified code string, it can be restored and used in the standard specification.
This embodiment According to, for example, the frequency conversion coefficient for decoding an image of a large size (for example, A3) whose image orientation cannot be rotated can be rotated without dividing the region such as tile division. As for frequency transform coefficients for decoding a small size (for example, A4 and A5), it is possible to divide an image only when necessary, such as dividing an area such as tile division. The accompanying deterioration of the compression rate can be suppressed. Further, it is possible to create a code that is an object of region division and a code that is not an object by a single algorithm, and it is possible to simplify a circuit related to image compression processing as compared with a case where an encoding method is selectively used. Furthermore, in the case where the image output once is stored in the image forming apparatus or the like, and then the same image is output again, it is designated to output to a medium of a different size each time it is output. Can output at high speed. For example, it is possible to respond at high speed when the A3 image is reduced and output, but it is difficult to see and output again in A3 size, or when the A3 output is performed once but the A4 output is performed the second time.
This embodiment Therefore, it is possible to suppress the deterioration of the compression rate due to the region division, simplify the circuit, etc. using frequency conversion.
This embodiment According to the above, since the low frequency component is not divided into regions, the distortion generated at the boundary of the region when the component is quantized can be reduced, and such frequency transform coefficients are compressed by entropy coding. A code can be generated.
This embodiment According to the JPEG2000 algorithm, it is possible to suppress the deterioration of the compression rate due to the area division, simplify the circuit, and output the file as a JPEG2000 algorithm file when outputting to an external device. be able to.
This embodiment According to the image forming apparatus, This embodiment Because it is equipped with the image processing device Image processing apparatus according to the present embodiment The same effect can be achieved.
This embodiment According to the storage medium This embodiment Since the image processing program is stored, Image processing program according to the present embodiment The same effect can be achieved.
[0153]
【The invention's effect】
The present invention According to the above, when the image data is basically compressed and encoded to generate the code string, it is divided into a plurality of regions from the middle layer and encoded. The frequency transform coefficient for decoding an image of a certain large size (for example, A3) is not divided into regions such as tile division, and a small size (for example, A4, A5) that can rotate the direction of the image is decoded. As for the frequency conversion coefficient for this purpose, it is possible to divide the image into only the necessary layers, such as by dividing the area such as tile division, so that the deterioration of the compression rate associated with the area division is suppressed and the image quality is improved. be able to. In addition, it is possible to create a code that is a target of region division and a code that is not a target by using a single algorithm, and it is possible to simplify a circuit related to image compression processing as compared with a case where a coding method is properly used. it can .
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram showing a system example of a first embodiment of the present invention.
FIG. 2 is a block diagram showing a schematic configuration of the digital copying machine.
FIG. 3 is a flowchart illustrating an example of processing executed by the digital copying machine.
FIG. 4 is an explanatory diagram illustrating a data configuration of a code string created by an encoding unit.
FIG. 5 is an explanatory diagram illustrating image orientation rotation processing;
FIG. 6 is an explanatory diagram schematically showing an example of a code string that is different in the inside and outside.
FIG. 7 is an explanatory diagram illustrating a modification example of the data configuration of a code string created by an encoding unit.
FIG. 8 is a block diagram showing an overall configuration of a digital copying machine according to a second embodiment of the present invention.
FIG. 9 is an explanatory diagram illustrating wavelet transform coefficients in the present embodiment.
FIG. 10 is a flowchart showing an example of processing in the present embodiment.
FIG. 11 is an explanatory diagram for explaining processing in the present embodiment;
FIG. 12 is an explanatory diagram illustrating an image orientation rotation process according to the present embodiment.
[Explanation of symbols]
1 Image forming device
2 Printer engine
23a, 23b, 23 Image compression means, image compression function
24a, 24b, 24 decoding means
25, 27 storage device
26 Image processing device
51, 52 Correction output means, correction output function
100 External equipment
Claims (20)
前記圧縮符号化手段により圧縮符号化された符号列を記憶する記憶装置と、
前記符号列中から前記領域の分割数が変化しない階層までの符号列を取り出した修正符号列を外部に出力する修正出力手段と、を備え、
前記回転することのできる解像度に対応しない階層の処理は、前記回転することのできる解像度に対応する階層の処理よりも先に行われることを特徴とする画像処理装置。When the image data is divided into a plurality of areas and the code sequence is generated by hierarchically compressing and encoding the image data with different resolutions, an image processing device that processes the code sequence decodes the code sequence in the processing of the corresponding hierarchy resolution that can rotate the image data, the number of divisions of regions of the image data in the hierarchy to be the process, the processing of the hierarchy that does not correspond to the resolution that can be said rotating Compression encoding means for encoding by changing, and
A storage device for storing a code string which has been compressed and encoded by said compressing and encoding means,
A correction output means for outputting a correction code string extracted from the code string up to a hierarchy where the number of divisions of the region does not change, and output to the outside ,
The image processing apparatus according to claim 1, wherein the processing of the layer not corresponding to the resolution that can be rotated is performed before the processing of the layer corresponding to the resolution that can be rotated .
画像データの画像情報又は輝度色差情報を第1の低解像度画像及び第1の詳細情報に分解する第1の変換手段と、
前記第1の詳細情報をエントロピー符号化する第1のエントロピー符号化手段と、
前記第1の低解像度画像を複数の領域に分割し、各領域内に存在する前記第1の低解像度画像を、他の領域内に存在する前記第1の低解像度画像を利用することなく分解して領域毎に第2の低解像度画像及び第2の詳細情報を得る第2の変換手段と、
前記第2の詳細情報をエントロピー符号化する第2のエントロピー符号化手段と、
を備えていることを特徴とする請求項1ないし5の何れか一記載の画像処理装置。The compression encoding means includes
First conversion means for decomposing image information or luminance color difference information of image data into a first low-resolution image and first detailed information;
First entropy encoding means for entropy encoding the first detailed information;
The first low-resolution image is divided into a plurality of areas, and the first low-resolution image existing in each area is decomposed without using the first low-resolution image existing in another area. A second conversion means for obtaining a second low-resolution image and second detailed information for each area;
Second entropy encoding means for entropy encoding the second detailed information;
An image processing apparatus according to any one of claims 1 to 5, further comprising:
前記圧縮符号化手段における前記第2の変換手段は、前記第1の低周波成分を前記第2の低解像度画像である第2の低周波成分と前記第2の詳細情報である前記第2の低周波成分より高周波の成分である第2の高周波成分とに周波数変換により分解する、
ことを特徴とする請求項6記載の画像処理装置。The first conversion unit in the compression encoding unit converts the image information or the luminance / color difference information into the first low-frequency component that is the first low-resolution image and the first detailed information. Is decomposed by frequency conversion into a first high frequency component that is a higher frequency component than a low frequency component
The second conversion means in the compression encoding means uses the second low-frequency component that is the second low-resolution image as the first low-frequency component and the second detailed information as the second low-frequency component. Decompose by frequency conversion into a second high frequency component which is a higher frequency component than the low frequency component,
The image processing apparatus according to claim 6.
前記第1階層から第m階層(1≦m<n)の前記周波数変換においては、前記画像情報又は該画像情報に対応する領域の低周波成分を分割せずに周波数変換を実行する第1の周波数変換手段と、第(m+1)階層から前記第n階層の前記周波数変換においては、複数の領域に分割された前記第m階層の低周波成分の前記領域毎に対応する低周波成分に対し、他の前記領域内に存在する前記低周波成分を利用することなく周波数変換する第2の周波数変換手段と、
前記周波数変換後の各周波数変換係数をエントロピー符号化して圧縮符号を生成するエントロピー符号化手段と、
を備えていることを特徴とする請求項1ないし5の何れか一記載の画像処理装置。The compression encoding means frequency-converts image information to decompose a low-frequency component and a high-frequency component that is higher in frequency than the low-frequency component, and repeats the process of performing the frequency conversion again on the low-frequency component. The image information is frequency-converted into n-layer frequency components, and the process for converting the frequency of the original image information is obtained by the frequency conversion of the first layer and the frequency conversion of the m-th layer. When the process of further converting the frequency of the low frequency component is the (m + 1) th layer frequency conversion,
In the frequency conversion from the first layer to the m-th layer (1 ≦ m <n), a first frequency conversion is performed without dividing the image information or a low-frequency component of a region corresponding to the image information. In the frequency conversion means and the frequency conversion from the (m + 1) th layer to the nth layer, for the low frequency component corresponding to each region of the low frequency component of the mth layer divided into a plurality of regions, Second frequency conversion means for performing frequency conversion without using the low-frequency component existing in the other region;
Entropy encoding means for entropy encoding each frequency conversion coefficient after the frequency conversion to generate a compression code;
An image processing apparatus according to any one of claims 1 to 5, further comprising:
この画像処理装置の圧縮符号化手段により圧縮符号化されて記憶装置に記憶されている符号列を復号する復号化手段と、
この復号化手段により復号化された画像データに基づいて画像形成を行なうプリンタエンジンと、
を備えていることを特徴とする画像形成装置。An image processing apparatus according to any one of claims 1 to 9,
A decoding means for decoding a code string stored in the storage device is compressed and encoded by the compression encoding unit of the image processing apparatus,
A printer engine for forming an image based on the image data decoded by the decoding means;
An image forming apparatus comprising:
前記圧縮符号化機能により圧縮符号化された符号列を記憶装置に記憶させる機能と、
前記符号列中から前記領域の分割数が変化しない階層までの符号列を取り出した修正符号列を外部に出力する修正出力機能と、
をコンピュータに実行させることを特徴とする画像処理用プログラム。When the image data is divided into a plurality of areas and the code sequence is generated by hierarchically compressing and encoding the image data with different resolutions, an image processing apparatus that processes the code sequence decodes the code sequence The processing of the layer that does not correspond to the resolution that can rotate the image data is performed before the processing of the layer that corresponds to the resolution that can be rotated , and the processing of the layer that corresponds to the resolution that can be rotated. Is a compression encoding function for encoding by changing the number of divisions of the area of the image data in the layer to be processed with respect to the processing of the layer not corresponding to the resolution that can be rotated,
A function of storing the code sequence which has been compressed and encoded by said compressing and encoding functions in the storage device,
A correction output function for outputting a correction code string obtained by extracting a code string from the code string up to a hierarchy where the number of divisions of the region does not change; and
An image processing program for causing a computer to execute the above.
画像データの画像情報又は輝度色差情報を第1の低解像度画像及び第1の詳細情報に分解する第1の変換機能と、
前記第1の詳細情報をエントロピー符号化する第1のエントロピー符号化機能と、
前記第1の低解像度画像を複数の領域に分割し、各領域内に存在する前記第1の低解像度画像を、他の領域内に存在する前記第1の低解像度画像を利用することなく分解して領域毎に第2の低解像度画像及び第2の詳細情報を得る第2の変換機能と、
前記第2の詳細情報をエントロピー符号化する第2のエントロピー符号化機能と、
を前記コンピュータに実行させることを特徴とする請求項11ないし15の何れか一記載の画像処理用プログラム。The compression encoding function is:
A first conversion function for decomposing image information or luminance color difference information of image data into a first low-resolution image and first detailed information;
A first entropy encoding function for entropy encoding the first detailed information;
The first low-resolution image is divided into a plurality of areas, and the first low-resolution image existing in each area is decomposed without using the first low-resolution image existing in another area. A second conversion function for obtaining a second low-resolution image and second detailed information for each area;
A second entropy encoding function for entropy encoding the second detailed information;
16. The image processing program according to claim 11, wherein the image processing program is executed by the computer.
前記圧縮符号化機能における前記第2の変換機能は、前記第1の低周波成分を前記第2の低解像度画像である第2の低周波成分と前記第2の詳細情報である前記第2の低周波成分より高周波の成分である第2の高周波成分とに周波数変換により分解する、
ことを特徴とする請求項16記載の画像処理用プログラム。The first conversion function in the compression encoding function is the first low-frequency component that is the first low-resolution image and the first detailed information that is the image information or the luminance / color-difference information. Is decomposed by frequency conversion into a first high frequency component that is a higher frequency component than a low frequency component of
The second conversion function in the compression encoding function is configured such that the first low-frequency component is the second low-frequency component that is the second low-resolution image and the second detailed information is the second low-frequency component. Decomposed by frequency conversion into a second high frequency component, which is a higher frequency component than the low frequency component,
The program for image processing according to claim 16.
前記第1階層から第m階層(1≦m<n)の前記周波数変換においては、前記画像情報又は該画像情報に対応する領域の低周波成分を分割せずに周波数変換を実行する第1の周波数変換機能と、第(m+1)階層から前記第n階層の前記周波数変換においては、複数の領域に分割された前記第m階層の低周波成分の前記領域毎に対応する低周波成分に対し、他の前記領域内に存在する前記低周波成分を利用することなく周波数変換する第2の周波数変換機能と、
前記周波数変換後の各周波数変換係数をエントロピー符号化して圧縮符号を生成するエントロピー符号化機能と、
を前記コンピュータに実行させることを特徴とする請求項11ないし15の何れか一記載の画像処理用プログラム。The compression encoding function repeats the process of performing frequency conversion on image information and decomposing the image information into a low frequency component and a high frequency component higher in frequency than the low frequency component, and performing the frequency conversion again on the low frequency component. The image information is frequency-converted into n-layer frequency components, and the process for converting the frequency of the original image information is obtained by the frequency conversion of the first layer and the frequency conversion of the m-th layer. When the process of further converting the frequency of the low frequency component is the (m + 1) th layer frequency conversion,
In the frequency conversion from the first layer to the m-th layer (1 ≦ m <n), a first frequency conversion is performed without dividing the image information or a low-frequency component of a region corresponding to the image information. In the frequency conversion function and the frequency conversion from the (m + 1) th layer to the nth layer, for the low frequency component corresponding to each region of the low frequency component of the mth layer divided into a plurality of regions, A second frequency conversion function for performing frequency conversion without using the low frequency component existing in the other region;
An entropy encoding function for entropy encoding each frequency conversion coefficient after the frequency conversion to generate a compression code;
16. The image processing program according to claim 11, wherein the image processing program is executed by the computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003130282A JP4111863B2 (en) | 2003-01-31 | 2003-05-08 | Image processing apparatus, image forming apparatus, image processing program, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003025110 | 2003-01-31 | ||
JP2003130282A JP4111863B2 (en) | 2003-01-31 | 2003-05-08 | Image processing apparatus, image forming apparatus, image processing program, and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004289769A JP2004289769A (en) | 2004-10-14 |
JP4111863B2 true JP4111863B2 (en) | 2008-07-02 |
Family
ID=33301653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003130282A Expired - Fee Related JP4111863B2 (en) | 2003-01-31 | 2003-05-08 | Image processing apparatus, image forming apparatus, image processing program, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4111863B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5250591B2 (en) * | 2010-08-12 | 2013-07-31 | 京セラドキュメントソリューションズ株式会社 | Image compression apparatus and method, and image forming apparatus |
-
2003
- 2003-05-08 JP JP2003130282A patent/JP4111863B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004289769A (en) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1756296B (en) | Image processing apparatus and image processing method | |
US7336852B2 (en) | Image processing apparatus, image reading apparatus, image forming apparatus and recording medium for image processing program | |
JP2004248268A (en) | Image processor, image forming apparatus, image decoder, image processing method, program, and memory medium | |
JP5225201B2 (en) | Image processing device | |
JP2004248271A (en) | Image processor, image forming apparatus, image processing method, program, and memory medium | |
US20060056714A1 (en) | Image process device, image processing program, and recording medium | |
JP4111863B2 (en) | Image processing apparatus, image forming apparatus, image processing program, and storage medium | |
JP2004236299A (en) | Image processing apparatus, image forming apparatus, image processing method, program and storage medium | |
JP4093871B2 (en) | Image forming apparatus, program, and storage medium | |
JP2011097577A (en) | Image processing apparatus and image forming apparatus using same | |
JP5052562B2 (en) | Image processing device | |
JP2004228964A (en) | Image processor, image forming apparatus, program, and storage medium | |
JP4067416B2 (en) | Image processing apparatus, image forming apparatus, program, and storage medium | |
JP4017109B2 (en) | Image processing apparatus, image processing method, image forming apparatus, program, and recording medium | |
JP4046223B2 (en) | Image processing apparatus and image processing method | |
JP4050157B2 (en) | Image processing apparatus, image processing method, program, and storage medium | |
JP4766586B2 (en) | Image processing apparatus, image processing method, program, and information recording medium | |
JP4013721B2 (en) | Image processing device | |
JP4014087B2 (en) | Image processing apparatus, image processing method, program, and storage medium | |
JP2004236220A (en) | Encoder, information management apparatus, decoder, image forming apparatus, encoding program, information management program, decoding program, and storage medium | |
JP5072907B2 (en) | Image processing device | |
JP3912752B2 (en) | Image processing apparatus, program, and storage medium | |
JP2006042217A (en) | Image processing device | |
JP4010452B2 (en) | Image processing apparatus and image processing method | |
JP2007060267A (en) | Image processing system having reduced layout function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051020 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20051021 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070920 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070925 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080218 |
|
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: 20080311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080408 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110418 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120418 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130418 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140418 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |