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 PDF

Info

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
Application number
JP2003130282A
Other languages
Japanese (ja)
Other versions
JP2004289769A (en
Inventor
潤一 原
利夫 宮澤
泰之 野水
宏幸 作山
熱河 松浦
隆則 矢野
児玉  卓
康行 新海
隆之 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003130282A priority Critical patent/JP4111863B2/en
Publication of JP2004289769A publication Critical patent/JP2004289769A/en
Application granted granted Critical
Publication of JP4111863B2 publication Critical patent/JP4111863B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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, Patent Document 1 discloses a technique for executing a rotation process or the like using a fixed-length encoding method. Patent Document 2 discloses a technique for storing addresses of blocks of compression codes that are variable-length-encoded in units of blocks and switching the addresses to be accessed according to the decoding order. In general, since variable-length coding has a higher compression rate than fixed-length coding, the method disclosed in Patent Document 2 has an advantage of a higher compression rate than a fixed-length coding method.
[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]
Patent Document 3 discloses a technique for performing variable length compression when recording on the maximum size recording paper and performing fixed length compression when recording on recording paper other than the maximum size.
[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. Patent Document 4 discloses a technique for allocating an upper limit information amount to each tile and performing compression so that each tile does not exceed the upper limit value in order to control the compression code amount when the tile is divided. Yes. Furthermore, Patent Document 5 proposes a technique for adaptively selecting an expansion pixel creation method in accordance with the state of a tile boundary.
[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 Patent Document 3 described above. A technique has been proposed in which variable-length compression is performed and fixed-length compression is performed when an image is recorded on a recording sheet other than the maximum size.
[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 Patent Document 3, when the image processing apparatus is configured to perform encoding and decoding of image data in band units, Decoding the image in band units, re-encoding it as a rotatable compression code of the image, and then reading out the compressed compression code of the image again in the direction that was on the recording paper to form an image Processing had to be done.
[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 Patent Document 5.
[0021]
However, the technique disclosed in Patent Document 5 has a problem that the tile boundary distortion cannot be essentially prevented.
[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 personal computer 100 or the like is connected via a network 4 such as a LAN is assumed.
[0045]
FIG. 2 is a block diagram showing a schematic configuration of the digital copying machine 1 according to the present embodiment. The digital copying machine 1 includes a printer engine 2 that forms an image on a sheet or the like by a known electrophotographic process, and a scanner 3 that reads an image of a document. The digital copying machine 1 includes a controller 5 having a microcomputer. Specifically, the controller 5 includes a main controller that controls the entire digital copying machine 1 and a plurality of sub-controllers that control each part of the main controller 5. Here, the controller 5 is illustrated as a single controller 5. To do. The CPU of the controller 5 executes processing described later based on a control program stored in a ROM (storage medium).
[0046]
The printer engine 2 includes a photoconductor, a developing device, a cleaning device, and a charging device, and a process for forming dry toner images of K, M, C, and Y (black, magenta, cyan, and yellow) colors. Electrostatic latent images of K, M, C, and Y color images are formed on the photoreceptors of the cartridges 11K, 11M, 11C, and 11Y, the transfer belt 12, the fixing device 13, and the process cartridges 11K, 11M, 11C, and 11Y. Optical writing devices 14K, 14M, 14C, and 14Y for optical writing are provided. The digital copying machine 1 also includes paper feed trays 15a to 15c that store media (such as paper and OHP) for recording color images. Each of the process cartridges 11K, 11M, 11C, and 11Y is formed by superimposing toner images of K, M, C, and Y colors on the transfer belt 12, and the superimposed toner images are illustrated from the paper feed trays 15a to 15c. The image is transferred to a medium supplied by a conveyance device that does not, and fixed by a fixing device 13.
[0047]
The digital copying machine 1 also includes a band buffer 22, a color conversion unit 31, an inverse color conversion unit 32, a compression encoding unit or encoding units 23a and 23b that realize a compression encoding function, a decoding unit or a decoding function. An image processing device 26 including a decoding unit 24a, 24b to be realized and a page memory 25 as a storage device is provided.
[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 color conversion unit 32 performs reverse conversion of the color conversion unit 31.
[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 encoding unit 23 into regions such as a plurality of tiles, and the low resolution image existing in each region is divided. A conversion unit (second) that decomposes a low-resolution image existing in another area without using it and obtains a low-resolution image (second low-resolution image) and detailed information (second detailed information) for each area Conversion means, a second conversion function), and an entropy encoding unit (second entropy encoding means, second entropy encoding processing) for entropy encoding this detailed information. For example, the conversion unit converts the low-frequency component (first low-frequency component) in the encoding unit 23a into the low-frequency component (second low-frequency component) that is the second low-resolution image and the second detailed information. It can be decomposed by frequency conversion into a high frequency component (second high frequency component) which is a higher frequency component than the second low frequency component.
[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 decoding unit 24b performs the inverse transformation of the encoding unit 23b. That is, an entropy decoding unit (second entropy decoding means, second entropy decoding function) that decodes detailed information (second detailed information) for the code strings created by the encoding units 23a and 23b, From the detailed information decoded by the entropy decoding unit and the low resolution image (second low resolution image), an inverse conversion unit (second inverse conversion means, second low resolution image) decodes the low resolution image (first low resolution image). 2 inversion function).
[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 decoding unit 24b or the decoding units 24a and 24b is output to the RGB → CMYK conversion unit 28.
[0060]
The digital copying machine 1 can receive image data from a predetermined network 4 such as a LAN via a communication interface (not shown). When the image data input via the network 4 is data in the PDL (page description language) format, the RIP unit 21 performs drawing processing on a band basis and converts it into a bitmap format, and the image processing device 26 Output to.
[0061]
The page memory 25 is a storage device for storing (storing) image data for a predetermined page as a compression code string. The page memory 25 of this example can store a compression code string for one page of A4 size image data. The hard disk 27 is a memory provided for acquiring and storing the compression code string stored in the page memory 25 and re-storing the compression code string in the page memory 25 as necessary.
[0062]
The image scaling unit 33 is provided to scale the image. In this example, the image scaling unit 33 performs a function of enlarging a low resolution image of A5 size to A4 size.
[0063]
The RGB → CMYK conversion unit 28 receives image data expressed by RGB (red, green, blue) color signals decoded by the decoding unit 24a or 24b, and converts them into CMYK signals. The K, M, C, and Y color gradation processing units 29K, 29M, 29C, and 29Y each have a function of reducing the multivalue data of K, M, C, and Y colors and converting it into write data. In this example, the band buffer 22 stores 600 dpi image data of 8 bits per pixel, which is converted into 1200 dpi image data of 1 bit per pixel by the K, M, C, and Y color gradation processing units 29K, 29M, 29C, and 29Y. Convert to.
[0064]
The K, M, and C color write data are stored in the line memories 16K, 16M, and 16C to adjust the image formation start timing, and the K, M, and C color data are timed so that the images of the respective colors overlap on the medium. , Y, color writing devices 14K, 14M, 14C, 14Y.
[0065]
Next, the operation of the digital copying machine 1 will be described.
[0066]
The digital copying machine 1 of this example can execute the electronic sort function when outputting A4 size. When the electronic sort function is executed, an image is recorded on the A4 paper stored in the paper feed tray 15a (or the paper feed tray 15b) at the time of printing the first copy, and the paper feed tray 15b at the time of printing the second copy. An image is recorded on the A4 paper stored in (or the paper feed tray 15a), and then the images are sequentially recorded on the A4 paper stored in the paper feed tray 15a (or the paper feed tray 15b) when the odd number of copies are output. When an even number of copies are output, an image is recorded on A4 paper stored in the paper feed tray 15b (or the paper feed tray 15a), and so on. At this time, the image is output without being rotated when the odd number of copies is output, and the image is rotated by 90 degrees and output when the even number of copies is output.
[0067]
Further, the digital copying machine 1 of this example has a paper feed tray automatic switching function for forming an image on a medium stored in one of the paper feed trays 15a and 15b when the medium stored in the other is consumed. However, even at this time, by rotating the image direction by 90 degrees, it is possible to output the image in a direction suitable for the medium stored in the paper feed tray as the switching destination.
[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 scanner 3 or sent from the network 4 is stored in the band buffer 22 in band units. The capacity of image data that can be stored in the band buffer 22 of this example is a capacity that can store image data of 8 bits per pixel of 600 dpi by a quarter of A4 size. However, as described above, the image data for adjacent pixels to be referred to when the wavelet transform overlaps can be stored separately.
[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 controller 5 uses the first size encoding process as a process for compressing and encoding an image of a size to be recorded on A3 paper, and the low frequency component obtained by the nth (≧ 1) size encoding process. Is defined as the (n + 1) th size encoding process, the first size encoding process is compression encoded by the encoding unit 23a, and the second size encoding process is encoded. The compression unit 23b performs compression encoding.
[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 machine 1. Such processing implements compression instruction means. As shown in FIG. 3, in step S1, the controller 5 obtains the size of the image in the XY directions based on the image size information of the image data acquired from the network 4 and information from the document size detection device. The size of the image here means the size of the visible image formed on the medium. When the acquired image is scaled and output, it means the size after scaling. Here, the X direction is a conveyance direction of a medium such as paper, and the Y direction is a direction orthogonal to the conveyance direction of a medium such as paper.
[0075]
In step S2, the controller 5 reads A from the memory stored therein. size4 And B size4 Is read. Where A size4 Is the length (about 29 cm) of the longest side that can form an image on an A4 size medium, size4 Is the length (about 21 cm) of the shortest side of the maximum size that can form an image on an A4 size medium. These two values are stored to indicate the maximum size of an image that can be subjected to image rotation processing.
[0076]
In step S3, the controller 5 determines that “X is A size4 And Y is B size4 Is "or" Y is A size4 And X is B size4 It is determined whether or not any of the following conditions is satisfied.
[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 controller 5. The quantization rate is set so that no quantization is performed at the beginning of encoding, but the setting is changed as necessary based on the relationship between the capacity of the page memory 25 and the code amount of the compression code string. To go.
[0082]
That is, from the total code amount F2 of the encoded bands stored in the page memory 25, the capacity F1 of the page memory 25, the total number of bands N constituting one page of image data, and the number of encoded bands n. It is determined whether or not the relationship of (F1 / N × n) <F2 ”is established. If this relationship is established, the quantization rate is reset. The resetting of the quantization rate means resetting the quantization rate so that the degree of quantization of the entire page becomes stronger.
[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 page memory 25. For example, when N is 4 and n is 3, “F1 / N × n = F1 × 0.75” is obtained, which means that the compression code string should occupy 75% or less of the page memory 25. That is, “the quantization rate is reset when the relationship of (F1 / N × n) <F2 is satisfied” means that the expected information amount (F1 / N × n) when the information amount of each band is assumed to be equal. On the other hand, if the total code amount F2 of a band that has actually been encoded exceeds even a little, it means that the quantization rate is reset.
[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 page memory 25. The reason is that if the quantization rate varies within an image of one page, the image quality varies within the page, and the viewer may feel uncomfortable. Therefore, the data to be quantized is deleted from the page memory 25 as well. Various methods are known as quantization methods. In this example, a predetermined bit plane is reduced from the compression code string.
[0085]
After performing the quantization on the compression code string stored in the page memory 25, the controller 5 determines whether the band to be processed is the last band among the bands constituting one page. If not, the band buffer 22 is cleared. However, the pixel value necessary for wavelet transform of the band to be encoded is not cleared but is left in the band buffer 22 and used for compression encoding. As a result, it is possible to prevent boundary distortion from occurring at the band boundary when quantization is performed. Next, the controller 5 reads the image data of the next band into the band buffer 22 and starts encoding of the image data constituting the newly read band. If it is the last band, the encoding process by the encoding unit 23a ends.
[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 page memory 25 by the above processing. Entropy of the encoded first compression code and wavelet coefficients (high frequency component and low frequency component (however, the low frequency component may not be entropy encoded)) of the second and higher layers divided into tiles The encoded second compression code is stored.
[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 machine 1 of this example, the direction of an A3 size image cannot be rotated, but since the tile is not divided, the compression rate is good. Further, since an A5 size image is divided into tiles, a compression code capable of rotating the image direction is obtained. Therefore, the electronic sort function or the paper feed tray automatic switching function can be realized with a small code amount as compared with the case where tiles are divided for all layers.
[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 controller 5 for each tile of 1 to 16 and the long side of the A4 sheet is conveyed in the conveying direction, as shown in FIG. With reference to the memory in the controller 6, the compression codes of the first to fourth tiles (indexes 1 to 4) are read from the page memory 25, and the compression code is decoded by the decoding unit 24b and is stored in the band buffer 22 as image data. Expand. Then, this image data is read in the direction of the arrow shown in FIG. On the other hand, when transporting so that the short side of the A4 paper is in the transport direction, referring to the memory in the controller 5, as shown in FIG. The compressed code of the 13 tiles (indexes 1, 5, 9, and 13) is read from the page memory 25, and this compressed code is decoded by the decoding unit 24b and the image data is developed in the band buffer 22. Then, this image data is read in the direction of the arrow shown in FIG. Accordingly, it is possible to rotate the image by changing the tile number to be read and the read direction after decoding.
[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 decoding units 24a and 24b perform the first Decoding up to the compression code may be performed without rotating the image. On the other hand, when outputting while rotating the image in A4 size, only the second compression code is read out by the decoding unit 24b, and the tile number to be read and the decoding as described with reference to FIG. By changing the reading direction later, it is possible to rotate the image.
[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 image zoom unit 33 uses the A5 size image data developed in the band buffer 22. Is enlarged and converted to A4 size. Since this scaling method is well known, detailed description thereof is omitted.
[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 decoding units 24a and 24b. In JPEG2000, image data can be encoded by color conversion, wavelet conversion, and entropy encoding, and can be quantized in the state of compression code. It is possible to demonstrate. Specifically, when the x layer is encoded by the encoding process of the encoding unit 23a, and the y layer is divided into z tiles and encoded by the encoding process of the encoding unit 23b, tiles are used. The first compression code and the low frequency component are obtained with the number = 1 and the composition level (hierarchy) = y, and then the tile number = z and the decomposition level (hierarchy) = x with respect to the low frequency component. The process of obtaining the compression code 2 may be performed while rewriting the header information of the JPEG2000 code.
[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 machine 1 of this example, only wavelet coefficients necessary for decoding an image up to A4 size that can be rotated are tiled and encoded, and the image is rotated. Wavelet coefficients necessary only for decoding an A3-size image that cannot be encoded are encoded without being tiled, so that the image rotation can be performed without causing a reduction in the compression rate of high-frequency components with a large amount of information. Possible compression codes can be obtained. Even if the wavelet coefficients of the first layer are reduced by quantization, tile boundary distortion does not occur because the first layer is not divided into tiles. When the wavelet coefficients in the second and subsequent layers are quantized, tile boundary distortion occurs. Even in this case, if some information on the wavelet coefficients in the first layer remains, the wavelet coefficients in the first layer are Since tiles are not divided, tile boundary distortion can be made inconspicuous.
[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 machine 1 when the code string compressed and encoded by the digital copying machine 1 of this example and stored in the page memory 25 or the HDD 27 is used in an external device such as the personal computer 100 will be described. To do.
[0103]
As described above, in the digital copying machine 1 of the present example, by providing the encoding units 23a and 23b, the number of tile divisions can be changed in the wavelet division hierarchy in the middle for improving image quality. . Thereby, for example, the first layer is encoded with no tiles without tile division, and the second and subsequent layers are encoded in a state of being divided into a plurality of tiles. Corresponding to the two-stage compression coding by the coding sections 23a and 23b, two-stage decoding sections 24a and 24b are also prepared. According to such a configuration, it can be said that this is a compression coding system that has good image quality and efficiency for use in the digital copying machine 1 and other printers, MFPs (MFPs), and the like for print processing. When it is desired to use the compression-encoded code string file on the personal computer 100, the personal computer 100 having only standard decoding means cannot decode the code string.
[0104]
Therefore, in the digital copying machine 1 of this example, in the image processing apparatus 26, for example, it is implemented as a correction output means or a correction output function in the output path from the page memory 25 (or HDD 27) to the personal computer 100 (network 4). A modified output unit 51 is added so that the above-described code string is modified into a standard modified code string that can be decoded by a standard decoding unit and output. In this case, the correction processing in the correction output unit 51 is to use a code string extracted from the code string obtained from the page memory 25 to the middle layer where the number of tile divisions does not change is used as the correction code string. For example, when the number of tile divisions in the second and third layers is 4 (= tile division 1) and the number of tile divisions in the first layer is 0 (no tile = tile division 2) as shown in FIG. The code sequence extracted up to the third and second hierarchies in the middle of the column where the number of tile divisions does not change (= tile division 1) is the modified code sequence, and the tile division number (tile division 2) is changed first. It is distinguished from the code string related to the hierarchy.
[0105]
FIG. 6 pays attention to such a change (switching) of the number of tile divisions (tile divisions 1 and 2), handling as an internal code in the digital copying machine 1 and handling as an external code for the personal computer 100. As shown schematically, the internal code in the digital copying machine 1 is handled in a state where the code string of tile division 1 and the code string of tile division 2 are integrated in the state following the main header. The external code for 100 is restricted to a modified code string in which only the code string of tile division 1 is integrated following the main header by the correction output unit 51, and the code string of tile division 2 is discarded as indicated by a broken line, for example. The In this case, information on the number of tile divisions related to tile division 1 is described in the tile.
[0106]
Therefore, on the personal computer 100 side that receives such a modified code string, the number of tile divisions is continuous over each layer for the modified code string. For example, in the example of FIG. 4, the original image corresponding to LL1 Since it can be handled as a code string of a size (in this example, it becomes a JPEG2000 standard specification code string), even if it does not have a decoder such as the decoders 24a and 24b, a standard decoding means Can be decrypted and used. Further, the code string of tile division 2 is discarded, but the data to be discarded is a high-resolution data of no-tiles HL1, LH1, and HH1 of the first layer, and is displayed on a display or the like in an external device such as the personal computer 100. When it is displayed, it becomes useless data and can be discarded.
[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 tile division 2 is described in the main header in the modified code sequence, described as comment data in the COM marker of the tile, or the code sequence of the tile division 1 It may be added as invalid data at the end. According to this, there is a case where the code data related to the tile division 2 may be used later, but in the standard specification, it is described in the correction code string or added to the end of the correction code string as invalid data. It can be restored and used.
[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 personal computer 100 or the like is connected via a network 4 such as a LAN as shown in FIG.
[0110]
FIG. 8 is a block diagram showing a schematic configuration of the digital copying machine 1 according to the present embodiment. The configuration is basically the same as that of the first embodiment shown in FIG. 2, and the same portions are denoted by the same reference numerals.
[0111]
The digital copying machine 1 also includes a band buffer 22, a compression encoding unit or an encoding unit 23 that realizes a compression encoding function, a decoding unit or a decoding unit 24 that realizes a decoding function, and a page memory that is a storage device. 25, an image processing device 26 is provided.
[0112]
The encoding unit 23 is an image compression unit for encoding the image data stored in the band buffer 22. The encoding unit 23 includes a color conversion unit that converts image information into luminance color difference information, a wavelet conversion unit that performs wavelet conversion, and entropy encoding that entropy-encodes high-frequency components of wavelet coefficients obtained by the wavelet conversion unit. At least. 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.
[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 decoding unit 24 has at least an entropy decoding unit that entropy-decodes high-frequency components of wavelet coefficients and an inverse wavelet conversion unit for returning the wavelet coefficients obtained by the entropy decoding unit to pixel information. Here, the encoding unit 23 and the decoding unit 24 realize at least a part of the processing to be executed by hardware such as ASIC, but the CPU of the controller 5 stores all processing in the ROM. It can also be executed according to a control program. Alternatively, some can be executed by processing executed by the CPU of the controller 5 with some hardware such as ASIC and the other part.
[0115]
The page memory 25 is a storage device for storing (storing) image data for a predetermined page as a compressed code. The page memory 25 of this example can store a compression code string for one page of A4 size image data. The hard disk 27 is a memory provided for acquiring and storing the compression code string stored in the page memory 25 and re-storing the compression code string in the page memory 25 as necessary. The processes after the RGB → CMYK conversion unit 28 are the same as those in FIG.
[0116]
Next, details of the image forming operation in the digital copying machine 1 will be described.
[0117]
Image data read from the scanner 3 or sent from the network 4 is stored in the band buffer 22 in band units. The capacity of the image data that can be stored in the band buffer 22 of this example is more than the capacity that can store 16 bits of data per pixel of 600 dpi by 624 × 864 × 9 × 3 pixels. This capacity is determined as follows. That is, in this example, A4 size (about 21 cm × about 29 cm → about 4961 pixels × about 6851 pixels) image data for one page is divided into 8 × 8 = 64 tiles, and each tile is processed. This includes image information of 621 × 857 pixels (note that there is a margin in actual image data, but it is ignored for the sake of explanation). On the other hand, in this example, four-layer wavelet transform (WT transform) is performed as will be described later, so that the code block which is a unit of wavelet transform is 16 × 16. In order to perform wavelet transform of 621 pixels in four layers, 624 pixels, which is the minimum multiple of 16 above 621, are set as the short side of one tile. In addition, in order to perform wavelet transform of 857 pixels in four layers, 864 pixels, which is the minimum multiple of 16 above 857, are set as the long side of one tile. In this example, the image data is read into the band buffer 22 in the form of RGB colors. Therefore, the capacity of the band buffer 22 is a capacity that can store nine tiles for each color of RGB. The image information in this example has a depth of 8 bits, but a depth of 16 bits is prepared in consideration of an increase in the number of bits in the process of wavelet transformation. The reason for preparing the capacity for nine tiles although the number of pixels constituting one band is for eight tiles will be described later.
[0118]
The image data for one band stored in the band buffer 22 is encoded by the encoding unit 23 and stored in the page memory 25. When storing images of a plurality of pages, the compression code in the page memory 25 is sent to and stored in the hard disk 27, and subsequent pages are sequentially stored in the page memory 25.
[0119]
When the image is printed out, the compression code in the page memory 25 is decoded by the decoding unit 24 and returned to the RGB color image data, and this image data is converted into the CMYK color image data by the RGB → CMYK conversion unit 28. , K, M, C, and Y color gradation processing units 29K, 29M, 29C, and 29Y, the K, M, C, and Y colors are subjected to gradation processing and converted into binary data per pixel at 1200 dpi. . The K, M, and C color image data is temporarily stored in the line memories 16K, 16M, and 16C in order to adjust the timing of writing the electrostatic latent image to the photosensitive member, and a color image is recorded on a medium such as paper. It is sent to the writing devices 14K, 14M, and 14C in accordance with the formation timing.
[0120]
Since the image forming process used in the printer engine 2 is a well-known electrophotographic process, details of the operation are omitted, but process cartridges 11K, 11M, and 11C that form dry toner images of K, M, C, and Y colors, respectively. , 11Y, when the writing devices 14K, 14M, 14C, 14Y emit writing light according to the image information, the process cartridges 11K, 11M, 11C, 11Y are charged by the charging device. The upper exposed portion is neutralized to form an electrostatic latent image. A developing device selectively attaches dry toner particles only to the image portion to the electrostatic latent image to form a visible image, and the visible image of each color is carried on the transfer belt 12 and conveyed (a medium). A color image obtained by sequentially superimposing the image on a recording sheet or OHP is fixed by heating and pressing with a fixing device.
[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 encoding unit 23 will be described with reference to FIG. As shown in FIG. 10, first, in step S11, the controller 5 obtains the image sizes X and Y based on the image size information acquired from the network and the information from the document size detection device. The size of this image is such that when the image is read as a set of pixels and this set of pixels is a rectangular set, the number of pixels on the long side of the rectangle is X and the number of pixels on the short side is Y. The size of the image here means the size of the visible image formed on the medium, and means the size after scaling when the acquired image is scaled and printed out.
[0124]
In step S12, the image is subjected to necessary scaling processing. In this example, the scaling process is executed by the controller 5 enlarging or reducing the image data on the band buffer 22, but other known scaling techniques can also be employed.
[0125]
In step S13, the controller 5 determines that “X / pow (2, k) <X tile ”K (k = 1, 2, 3,..., Max lev ). Where X tile Is the number of pixels on the long side of one tile, ie 864. Pow (2, k) means 2 to the power of k, and “X / pow (2, k)” means that X is divided by pow (2, k). The meaning of k is the number of wavelet transform layers when the long side of each frequency component obtained when wavelet transforming an image is below 864 for the first time. The “long side of the frequency component” is the length (pixel) of the side corresponding to the long side of the image data when the wavelet coefficients are arranged so as to form a similar shape of the image data according to the positional correlation of the image data. Number). For example, when the frequency components obtained by executing one layer of wavelet transform on the image data of the long side 64 and the short side 24 are arranged so as to form a similar shape of the image data according to the positional correlation of the image data, The frequency components of the side 32 and the short side 12 are obtained.
[0126]
Next, the controller 5 determines in step S14 that “Y / pow (2, j) <Y tile J (j = 1, 2, 3,..., Max lev ). Where Y tile Is the number of pixels on the short side of one tile, ie 624. The meaning of j is the number of wavelet transform layers when the short side of each frequency component obtained when the image is wavelet transformed is below 624 for the first time.
[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 controller 5 sets an initial value 1 to the variable I for managing the hierarchy of frequency conversion (S18). First, it is determined whether or not the variable I exceeds the threshold hierarchy number Th. The selection process is realized (S19).
[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 encoding unit 23 performs the first to Th layers. Are entropy-coded and stored in the page memory 25.
[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 encoding unit 23 and is 4 in this example. In this determination, the variable I is max lev If so (Y in S25), the process proceeds to step S29. Variable I is max lev Otherwise (N in S25), the low-frequency component of the Th layer is wavelet transformed without being tiled in step S26, and the second frequency conversion means and the second frequency conversion process are realized. “Wavelet transform without tile division” specifically means that, in the tile division described above, even low frequency components existing in different tiles are referred to during overlap transformation. .
[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 tile 41 stores image data of 621 pixels × 857 pixels × RGB three colors, and the size of the tile 41 is 624 × 864 pixels × in order to execute wavelet transform processing in units of 16 × 16 pixels. There are three RGB colors. FIG. 11A shows the tile 41 when the sub-scanning direction is the long side of the image. However, when the main scanning direction is the long side of the image, the short side of each tile 41 is The figures are arranged in contact with each other (the number of pixels is the same).
[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-frequency component 32 of the third layer are entropy-coded (S23). In this example, the encoding unit 23 uses eight wavelet transformers and eight entropy encoders in order to process each tile 41 in parallel. Each tile 41 is subjected to wavelet transform and entropy coding by high-speed parallel processing, and the controller 5 stores the address of each tile 41. Then, before reading the next band into the band buffer 22, only the low-frequency component (reference numeral 42) in the third layer is moved to another area of the band buffer 22.
[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-frequency component 32 of the third layer, and the low-frequency component 32 of the third layer is stored in the band buffer 22 for three bands and other components. Is stored in a separate storage area.
[0139]
When all the bands have been processed (Y in S24). As shown in FIG. 11D, the third layer low frequency components 32 corresponding to all the image data are developed in the band buffer 22 (the left diagram in FIG. 11D). Therefore, this is regarded as information that has not been divided into regions (FIG. 11 (d) central view), and wavelet transform is performed up to the fourth layer (FIG. 11 (d) right view) (S26 to S28). Thereafter, the wavelet coefficients of the fourth layer are entropy-coded (S29).
[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 tile 41, so that high speed processing is possible. Further, since the fourth hierarchy is not tile-divided, the boundary distortion of the tile 41 can be reduced even when quantization is performed without the compression code being stored in the page memory 25. That is, in the conventional encoding / decoding, the data once divided into tiles is processed for each tile 41, but in this example, the tile boundary distortion can be reduced by returning to the data that is not divided into tiles during the frequency conversion. It becomes.
[0142]
By the way, when the decoding unit 24 decodes the compression code that has been compression-encoded as described above, the process of FIG. 10 is performed in reverse. That is, the frequency components of the fourth layer are first developed in the band buffer 22, and then the frequency components of the first to third layers are decoded for each band. Therefore, if the order of expanding the frequency components of the first to third layers divided into tiles in the state where the frequency components of the fourth layer are expanded in the band buffer 22 is changed, the image orientation is rotated by 90 degrees. Can be executed.
[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 controller 5 for each tile 41 of 1 to 16, the printer engine 2 transports a medium such as a sheet such that the long side of the A4 sheet is in the transport direction (see FIG. As shown in b), the compressed code of the first to fourth tiles (indexes 1 to 4) is read from the page memory 25 with reference to the memory in the controller 5, and the compressed code is decoded by the decoding unit 24. The image data is decoded by expanding the frequency components of the first to third layers in the band buffer 22 and performing inverse wavelet transform together with the already decoded low frequency component 32 (see FIG. 11) of the fourth layer. Then, this image data is read in the direction of the arrow shown in FIG.
[0144]
On the other hand, when the printer engine 2 transports the medium so that the short side of the A4 paper is in the transport direction, as shown in FIG. The compressed codes of the fifth, ninth, and thirteenth tiles (indexes 1, 5, 9, and 13) are read from the page memory 25, and the compressed code is decoded by the decoding unit 24 and stored in the first to third band buffers 22. Image data is expanded by expanding the frequency component of the layer and performing inverse wavelet transform together with the frequency component 32 (see FIG. 11) of the fourth layer that has already been decoded. Then, this image data is read in the direction of the arrow shown in FIG. Therefore, it is possible to rotate the direction of the image by changing the number of the tile 41 to be read and the reading direction after decoding.
[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 encoding unit 23 and the decoding unit 24 in this example.
[0148]
Next, an output form of the digital copying machine 1 when the code string compressed and encoded by the digital copying machine 1 of this example and stored in the page memory 25 or the HDD 27 is used in an external device such as the personal computer 100 will be described. To do.
[0149]
As described above, in the digital copying machine 1 of this example, in order to reduce the boundary distortion of the tile 41, the number of tile divisions can be changed depending on the processing hierarchy. That is, in the processing of the first to third layers, high-speed processing can be performed by dividing the tiles 41 into a plurality of tiles 41, and processing is performed for each tile 41, and the page memory 25 can be processed without tile division in the fourth layer. Even when the compression code is not fully contained and quantization is performed, the boundary distortion of the tile 41 can be reduced. According to such a configuration, it can be said that this is a compression coding system that has good image quality and efficiency for use in the digital copying machine 1 and other printers, MFPs (MFPs), and the like for print processing. When it is desired to use the compression-encoded code string file on the personal computer 100, since the number of tile divisions is not uniform for all hierarchies, standard specification decoding means (for example, JPEG2000 standard specification decoding means) ), The personal computer 100 that only holds the code string cannot be decoded.
[0150]
Therefore, in the digital copying machine 1 of this example, as in the case of the first embodiment, in the image processing apparatus 26, for example, in the output path from the page memory 25 (or HDD 27) to the personal computer 100 (network 4). A modified output unit 52 implemented as a modified output means or a modified output function is added to the above, and the above-described code string is modified into a standard modified code string that can be decoded by the standard decoding means and output. Is. The correction processing in the correction output unit 51 in this case is the same as in the case of the correction output unit 51, and the code string extracted from the code string obtained from the page memory 25 to the middle layer where the number of tile divisions does not change. Is a modified code string. For example, in the example as shown in FIG. 11 and the like, the code example extracted from the code string to the first to third layers divided into the plurality of tiles 41 is a modified code string, and the number of tile divisions is changed ( (No tile division) This is distinguished from the code string related to the fourth layer.
[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 personal computer 100 side that receives such a modified code string, the number of tile divisions is continuous over each hierarchy with respect to the modified code string. For example, in the example of FIG. Since it can be handled as a code string having no four-level code string (in this example, it is a code string with a standard specification of JPEG 2000), it can be decoded and used by a standard decoding means.
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記載の画像処理装置。  2. The image processing apparatus according to claim 1, wherein the correction output unit describes the number of divisions of the code string up to a middle layer where the number of divisions does not change in the correction code string. 前記修正出力手段は、分割数が変化した後の階層の符号列を破棄することを特徴とする請求項1又は2記載の画像処理装置。  The image processing apparatus according to claim 1, wherein the correction output unit discards the code string of the hierarchy after the division number is changed. 前記修正出力手段は、分割数が変化した後の階層の符号列を前記修正符号列中に記述することを特徴とする請求項1又は2記載の画像処理装置。  The image processing apparatus according to claim 1, wherein the correction output unit describes a code string of a layer after the number of divisions is changed in the correction code string. 前記修正出力手段は、分割数が変化した後の階層の符号列を無効データとして前記修正符号列末尾に付加することを特徴とする請求項1又は2記載の画像処理装置。  The image processing apparatus according to claim 1, wherein the correction output unit adds a code string of a layer after the number of divisions is changed as invalid data to an end of the correction code string. 前記圧縮符号化手段は、
画像データの画像情報又は輝度色差情報を第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:
前記圧縮符号化手段における前記第1の変換手段は、前記画像情報又は前記輝度色差情報を前記第1の低解像度画像である第1の低周波成分と前記第1の詳細情報である前記第1の低周波成分より高周波の成分である第1の高周波成分とに周波数変換により分解し、
前記圧縮符号化手段における前記第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.
前記圧縮符号化手段は、画像情報を周波数変換して低周波成分と当該低周波成分より高周波である高周波成分とに分解し前記低周波成分に対しては前記周波数変換を再度行なう処理を繰り返して、前記画像情報をn階層の周波数成分に周波数変換するものであって、元の前記画像情報を前記周波数変換する処理を第1階層の周波数変換、第m階層の前記周波数変換によって得られた前記低周波成分をさらに前記周波数変換する処理を第(m+1)階層の周波数変換、としたときに、
前記第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:
前記圧縮符号化方式はJPEG2000であることを特徴とする請求項7又は8記載の画像処理装置。  The image processing apparatus according to claim 7 or 8, wherein the compression encoding method is JPEG2000. 請求項1ないし9の何れか一記載の画像処理装置と、
この画像処理装置の圧縮符号化手段により圧縮符号化されて記憶装置に記憶されている符号列を復号する復号化手段と、
この復号化手段により復号化された画像データに基づいて画像形成を行なうプリンタエンジンと、
を備えていることを特徴とする画像形成装置。
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.
前記修正出力機能は、分割数が変化しない途中の階層までの符号列の当該分割数を前記修正符号列中に記述することを特徴とする請求項11記載の画像処理用プログラム。  12. The image processing program according to claim 11, wherein the modified output function describes the number of divisions of a code string up to a middle layer where the number of divisions does not change in the modified code string. 前記修正出力機能は、分割数が変化した後の階層の符号列を破棄することを特徴とする請求項11又は12記載の画像処理用プログラム。  The image processing program according to claim 11 or 12, wherein the correction output function discards a code string of a layer after the number of divisions is changed. 前記修正出力機能は、分割数が変化した後の階層の符号列を前記修正符号列中に記述することを特徴とする請求項11又は12記載の画像処理用プログラム。  13. The image processing program according to claim 11, wherein the correction output function describes a code string of a layer after the number of divisions is changed in the correction code string. 前記修正出力機能は、分割数が変化した後の階層の符号列を無効データとして前記修正符号列末尾に付加することを特徴とする請求項11又は12記載の画像処理用プログラム。  The image processing program according to claim 11 or 12, wherein the correction output function adds a code string of a layer after the number of divisions is changed as invalid data to the end of the correction code string. 前記圧縮符号化機能は、
画像データの画像情報又は輝度色差情報を第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.
前記圧縮符号化機能における前記第1の変換機能は、前記画像情報又は前記輝度色差情報を前記第1の低解像度画像である第1の低周波成分と前記第1の詳細情報である前記第1の低周波成分より高周波の成分である第1の高周波成分とに周波数変換により分解し、
前記圧縮符号化機能における前記第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.
前記圧縮符号化機能は、画像情報を周波数変換して低周波成分と当該低周波成分より高周波である高周波成分とに分解し前記低周波成分に対しては前記周波数変換を再度行なう処理を繰り返して、前記画像情報をn階層の周波数成分に周波数変換するものであって、元の前記画像情報を前記周波数変換する処理を第1階層の周波数変換、第m階層の前記周波数変換によって得られた前記低周波成分をさらに前記周波数変換する処理を第(m+1)階層の周波数変換、としたときに、
前記第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.
前記圧縮符号化方式はJPEG2000であることを特徴とする請求項17又は18記載の画像処理用プログラム。  19. The image processing program according to claim 17, wherein the compression encoding method is JPEG2000. 請求項11ないし19の何れか一記載のプログラムを記憶しているコンピュータ読み取り可能な記憶媒体。  A computer-readable storage medium storing the program according to claim 11.
JP2003130282A 2003-01-31 2003-05-08 Image processing apparatus, image forming apparatus, image processing program, and storage medium Expired - Fee Related JP4111863B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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