JP2004228964A - 画像処理装置、画像形成装置、プログラムおよび記憶媒体 - Google Patents
画像処理装置、画像形成装置、プログラムおよび記憶媒体 Download PDFInfo
- Publication number
- JP2004228964A JP2004228964A JP2003014859A JP2003014859A JP2004228964A JP 2004228964 A JP2004228964 A JP 2004228964A JP 2003014859 A JP2003014859 A JP 2003014859A JP 2003014859 A JP2003014859 A JP 2003014859A JP 2004228964 A JP2004228964 A JP 2004228964A
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- decoding
- time
- image data
- code
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【解決手段】画像データを圧縮符号化する際には、画像は複数のタイルに分割する。そして、タイルごとに圧縮符号化したときに、その符号化後の符号列の復号に要する時間を、タイルごとに算出する。そして、この算出した各時間を所定の閾値と比較する。これにより、所定時間が閾値を超えるタイルをさらに所定時間より短い時間でそれぞれ復号できる複数のサブタイルに分割する。各タイルおよびサブタイルへの分割を行なったときは各サブタイルを圧縮符号化して符号列を得る。
【選択図】 図10
Description
【発明の属する技術分野】
本発明は、画像を圧縮符号化する画像処理装置、画像形成装置、プログラムおよび記憶媒体に関する。
【0002】
【従来の技術】
従来、符号化された画像データの編集性を高めるために、画像データを複数の領域に分割し、各領域を独立に符号化して圧縮符号とし、この圧縮符号を復号する際に、復号後の処理内容に応じて復号する領域の順序を変える処理が知られている。ここで「独立して」とは、各領域を復号する際に他の領域の情報を利用することがなく、従って、他の領域の画像データが復号されているか否かに関わりなく復号することが可能であることを意味する。
【0003】
画像データを複数の領域に分割して符号化することで編集性を高める例としては、例えば、復号する領域の順序を変えることで画像の回転処理(例えば、90°回転)を実行可能とする技術がある(特許文献1,2を参照)。
【0004】
また、国際標準となった画像圧縮方式JPEG2000においてもタイルと言う概念が導入されており、画像データをタイル分割してタイルごとに符号化することにより領域分割された画像データを得ることが可能となる。タイルは独立に符号化される単位であるので、読み出すタイルの順序を変えることで容易に画像の回転処理等を実行できる。
【0005】
特許文献3には、レンダリングの並列処理において、各色の各バンドのレンダリングに必要な時間を見積もって効率よく割り振ることで、所定時間内にレンダリングを終了させる技術が開示されている。
【0006】
また、特許文献4には、画像の圧縮に際し、タイル単位に符号上限を設定しながら符号化を実施する技術が開示されている。
【0007】
【特許文献1】特開2001−160904公報(0003の欄を参照)
【特許文献2】特開2002−125116公報
【特許文献3】特開2000−134623公報
【特許文献4】特開2001−45304公報
【0008】
【発明が解決しようとする課題】
ところで、電子写真方式の画像形成装置など、画像形成を開始すると途中で一時停止ができないプロセスにおいては、圧縮符号を時間内に復号することが重要である。そのため、圧縮された画像データを高速に復号するため、タイルに分割して並列処理を行うことが考えられる。タイル分割して並列処理を行う例としては、特許文献3の技術のように、タイル単位に符号上限を設定しながら符号化を実施することが考えられる。
【0009】
しかし、復号に要する時間は画像ごとに異なり、網点画像など複雑な画像を含むタイルを復号する際には時間がかかる一方、文字画像のみ、あるいは平坦な背景画像のみなど、単純な画像を含むタイルを復号する際には短時間の処理ですむ。そのため、並列処理をタイル単位で実行すると、単純な画像を含むタイルの復号は終了しているのに、複雑な画像を含むタイルの復号が終了するまでは全体として復号が完了せず、次段の処理を待つ必要が生じてしまう不具合がある。
【0010】
一方、特許文献4のレンダリングの場合と異なり、圧縮符号の復号の場合は、一連の復号処理を分割して異なる復号器に分担させるということは容易ではない。
【0011】
すなわち、まず、符号化/復号処理は近接画素との相関を参照しながら実行される処理であるために、同じタイル内の復号処理を異なる復号器で分担しようとしても、符号化時に先に符号化された画素が復号されるまではそれ以降の復号処理を実行できない場合が多く、結局処理時間の短縮にならない。
【0012】
また、エントロピー符号化時に予測テーブルを書き換えていくタイプの符号化においては、タイル内の途中の画素(これを画素Aとする)から復号を実行するためには、符号化器がその画素を符号化した時点での予測テーブルが必要であるが、この予測テーブルは一般に、画素Aまでの復号処理が終了した時点でなければ得ることができない。
【0013】
そのため、従来は、復号処理を分割するためには符号化時からそのための準備をする必要があり、容易に処理を分割できないという不具合があった。
【0014】
本発明の目的は、画像を複数の領域に分割して圧縮符号化する際に、符号化後の符号列を短時間で復号できるようにすることである。
【0015】
本発明の別の目的は、この場合に領域の境界歪が発生することを防止することである。
【0016】
【課題を解決するための手段】
請求項1に記載の発明は、画像データを複数の領域に分割する第1の領域分割手段と、この分割された領域ごとに所定の符号化方式で圧縮符号化したときにその符号化後の符号列の復号に要する時間を算出する復号時間見積手段と、この算出した各時間を所定の閾値と比較する比較手段と、前記時間が前記閾値を超える前記領域をさらに前記時間より短い時間でそれぞれ復号できる複数の小領域に分割する第2の分割手段と、前記各領域および前記小領域への分割を行なったときは前記各小領域を圧縮符号化して符号列を得る第1の符号化手段と、を備えている画像処理装置である。
【0017】
したがって、圧縮符号化した際に復号に時間を要する領域については、より短時間で復号できる小領域に分割して圧縮符号化するので、各領域または各小領域ごとの復号時間を短縮でき、複数の各領域または各小領域について同時並行的に復号すれば符号列の全体の復号時間を短縮することができる。
【0018】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、前記画像データを複数の領域に分割することなく圧縮符号化して符号列を得る第2の符号化手段と、この符号列を量子化する量子化手段と、この量子化後の符号列を復号する第1の復号手段と、を備え、前記第1の符号化手段は、前記復号後の画像データに対して量子化を行なうことなく符号化を行う。
【0019】
したがって、あらかじめ画像の領域の分割を行なうことなく量子化しておいて、その後、領域および小領域の分割を行なって量子化することなく画像を圧縮符号化するので、領域の境界歪が発生することを防止できる。
【0020】
請求項3に記載の発明は、請求項2に記載の画像処理装置において、前記量子化手段は、前記第1の符号化手段によって生成される符号列が所定の符号量以下となるように前記量子化を行う。
【0021】
したがって、所定の符号量以下となる符号列を最終的に生成することができる。
【0022】
請求項4に記載の発明は、請求項1〜3のいずれかの一に記載の画像処理装置において、第1の符号化手段で圧縮符号化後の符号列を対象に複数の符号を同時並行して復号する第2の復号手段と、前記算出した時間および前記各小領域の復号に要する時間から、前記各領域および前記各小領域について前記同時並行の復号の分配を行なう分配手段と、を備えている。
【0023】
したがって、各領域および各小領域について同時並行して行なう復号の分配により、符号列全体として復号に要する時間を短縮することができる。
【0024】
請求項5に記載の発明は、請求項1〜4のいずれかの一に記載の画像処理装置において、前記圧縮符号化の方式は、画像データを1または複数の領域に分割し、ウェーブレット変換を用いて前記領域ごとに独立して階層的に圧縮符号化する方式である。
【0025】
したがって、JPEG2000方式などの圧縮符号化を用いて、本発明を実現することができる。
【0026】
請求項6に記載の発明は、画像データを処理する請求項4に記載の画像処理装置と、この画像処理装置により前記第2の復号手段で復号後の画像データに基づいて画像形成を行なうプリンタエンジンと、を備えている画像形成装置である。
【0027】
したがって、請求項4に記載の発明と同様の作用、効果を奏することができる。
【0028】
請求項7に記載の発明は、画像データを複数の領域に分割する第1の領域分割処理と、前記領域ごとに圧縮符号化できる所定の圧縮符号化方式で圧縮符号化したときに、その符号化後の符号列の復号に要する時間を、前記領域ごとに算出する復号時間見積処理と、この算出した各時間を所定の閾値と比較する比較処理と、前記時間が前記閾値を超える前記領域をさらに前記時間より短い時間でそれぞれ復号できる複数の小領域に分割する第2の分割処理と、前記各領域および前記小領域への分割を行なったときは前記各小領域を前記圧縮符号化方式で圧縮符号化して符号列を得る第1の符号化処理と、をコンピュータに実行させるコンピュータに読み取り可能なプログラムである。
【0029】
したがって、圧縮符号化した際に復号に時間を要する領域については、より短時間で復号できる小領域に分割して圧縮符号化するので、各領域または各小領域ごとの復号時間を短縮でき、複数の各領域または各小領域について同時並行的に復号すれば符号列の全体の復号時間を短縮することができる。
【0030】
請求項8に記載の発明は、請求項7に記載のプログラムにおいて、前記画像データを複数の領域に分割することなく圧縮符号化して符号列を得る第2の符号化処理と、この符号列を量子化する量子化処理と、この量子化後の符号列を復号する第1の復号処理と、をコンピュータに実行させ、前記第1の符号化処理は、前記復号後の画像データに対して量子化を行なうことなく符号化を行う。
【0031】
したがって、あらかじめ画像の領域の分割を行なうことなく量子化しておいて、その後、領域および小領域の分割を行なって量子化することなく画像を圧縮符号化するので、領域の境界歪が発生することを防止できる。
【0032】
請求項9に記載の発明は、請求項7または8に記載のプログラムを記憶している記憶媒体である。
【0033】
したがって、請求項7または8に記載の発明と同様の作用、効果を奏する。
【0034】
【発明の実施の形態】
本発明の一実施の形態について説明する。
【0035】
図1は、本実施の形態であるデジタル複写機1の概略構成を示すブロック図である。このデジタル複写機1は、本発明の画像形成装置を実施するもので、周知の電子写真プロセスにより用紙上などに画像形成を行なうプリンタエンジン2と、原稿の画像を読み取るスキャナ3とを備えている。このデジタル複写機1は、マイクロコンピュータを有するコントローラ5を備えている。このコントローラ55は、具体的には、デジタル複写機1の全体を制御するメインコントローラと、メインコントローラ5各部をそれぞれ制御する複数のサブコントローラとからなるが、ここでは、単一のコントローラ5として図示する。このコントローラ5のCPUは、ROM(記憶媒体)に記憶されている制御プログラムに基づいて後述する処理を実行する。
【0036】
プリンタエンジン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により定着される。
【0037】
また、デジタル複写機1は、バンドバッファ22、符号化部23、復号部24、ページメモリ25からなる、画像処理装置26を備えている。
【0038】
図1において、バンドバッファ22は、1ページ分の画像データを構成する複数のバンドのうち、一つのバンドに含まれる画素のデータを格納するためのバッファである。ここでバンドとは、所定数の画素ラインから構成される画像データの一領域である。
【0039】
デジタル複写機1は、LANなどの所定のネットワーク4から図示しない通信インターフェイスを介して画像データを受け取ることができる。RIP部21は、ネットワーク4を介して入力された画像データがPDL(ページ記述言語)形式のデータであるとき、これをバンド単位に描画処理してビットマップ形式に変換して、画像処理装置26に出力する。
【0040】
本例では、バンドバッファ22に格納された画像データを符号化するための符号化装置である符号化部23a,23bと、圧縮符号を復号するための復号化装置である復号部24a,24bを備えている。符号化部23a,23bは、静止画圧縮の国際標準であるJPEG2000を使用して実施する。したがって、その圧縮符号化方式は、静止画像を1又は複数の矩形領域(タイル)に分割し、この各矩形領域ごとに独立して階層的に圧縮符号化するものである。すなわち、JPEG2000方式においては画像をタイル分割して符号化することができ、また、タイル数=1はタイル分割しない場合に該当するので、符号化部24aはタイル数=1としてJPEG2000方式で画像データを符号化し、一方、符号化部24bはタイル数=16としてJPEG2000方式で画像データを符号化する。
【0041】
本例においては、記憶される画像データはタイル及びサブタイルに分割されていればよく、その点で、符号化部24aは必ずしも必要ないが、タイル分割された圧縮符号列が量子化された際に生じるタイル境界歪を無くすために、本例では好適な実施例として符号化部24aを備えている。
【0042】
ページメモリ25は所定ページ分の画像データを圧縮符号として格納(記憶)するためのメモリである。本例のページメモリ25は、A4サイズの画像データ1ページ分の圧縮符号列を格納可能とする。ハードディスク27はページメモリ25に格納された圧縮符号列を取得して格納し、必要に応じてその圧縮符号列をページメモリ25に再格納するために設けられたメモリである。
【0043】
RGB→CMYK変換部28は、後述のようにして復号化部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画像データへと変換する。
【0044】
K,M,C色の書込みデータは、画像形成開始タイミングを調節するためにラインメモリ16K,16M,16Cに格納され、各色の画像が転写材上で重なり合うようにタイミングを合わせてK、M、C,Y,の色書込装置14K、14M,14C,14Yに送られる。
【0045】
次に、本例における符号化部23aが実施する符号化方式のブロック図を図2(a)に示す。すなわちRGB信号からなる画像データはDCレベルシフト部31でレベルシフトされ、色変換部32で色変換され、各色変換係数はウェーブレット変換部33でウェーブレット変換され、エントロピー符号化部34でウェーブレット係数がエントロピー符号化される。エントロピー符号化された符号は符号フォーマットに従い最終的に必要とされる符号順序に並べ替えて出力される。
【0046】
JPEG2000の符号フォーマットの概略構成を図3に示す。符号フォーマットは符号データの始まりを示すSOC(Start of Codestream)マーカで始まる。SOCマーカの後には、符号化のパラメータや量子化のパラメータ等を記述したメインヘッダが続き、その後に実際の符号データが続く。
【0047】
メインヘッダの構成を図4に示す。メインヘッダはCOD,QCDの必須マーカセグメントとCOC,QCC,RGN,POC,PPM,TLM,PLM,CRG,COMのオプションマーカセグメントで構成される。ここでSIZマーカには、タイルサイズの情報が記述されている。またCOMマーカはコメント等の情報を付加したいときに利用するマーカで、メインヘッダ、タイルヘッダの双方で使用することが可能である。
【0048】
実際の符号データは、SOT(Start of Tile−part)マーカで始まり、タイルヘッダ、SOD(Start of data)マーカ、タイルデータ(符号)で構成される。これら画像全体に相当する符号データの後に、符号の終了を示すEOC(End of Codestream)マーカが付加される。メインヘッダはCOD,QCDの必須マーカセグメントとCOC,QCC,RGN,POC,PPM,TLM,PLM,CRG,COMのオプションマーカセグメントで構成される。
【0049】
タイルヘッダ構成を図5、図6に示す。図5は、タイルデータの先頭に付加されるマーカセグメント列で、COD,COC,QCD,QCC,RGN,POC,PPT,PLT,COMのマーカセグメントが使用可能である。一方、図6は、タイル内が複数に分割されている場合における分割されたタイル部分列の先頭に付加されるマーカセグメント列であり、POC,PPT,PLT,COMのマーカセグメントが使用可能である。タイルヘッダでは必須マーカセグメントはなく、すべてオプションである。
【0050】
DCレベルシフト部32は、画像信号がRGB信号値のような正の数(符号なし整数)である場合には、各信号値から信号のダイナミックレンジの半分を減算するレベルシフトを、逆変換では各信号値に信号のダイナミックレンジの半分を加算するレベルシフトを行う。なお、レベルシフトは画像信号がYCbCr信号におけるCb及びCrのような符号付き整数の場合には適用しない。
【0051】
JPEG2000で使用される色変換の方式はYCrCb等公知の技術なので説明は省略する。ウェーブレット変換としては9×7フィルタ、5×3フィルタのいずれを使用してもよい。いずれのフィルタも隣接画素とオーバーラップするフィルタである。隣接画素とオーバーラップするフィルタを使用する場合、量子化時にブロック歪が発生することがないという利点がある。なお、本例ではバンド境界においても隣接画素とのオーバーラップを行わせるために、バンドを構成する画素と併せて隣接する画素も必要な分だけバンドバッファ22に格納しておく。また、本例での量子化は後述するようにビットプレーン単位でポスト量子化を行うので、ここでは実施しない。
【0052】
JPEG2000のエントロピー符号化は、係数モデリング処理と算術符号化処理とで実行される。この方式は国際標準として周知であるため、詳しい説明は省略するが、以下の説明に必要な範囲で概要を示す。
【0053】
符号化方式は、EBCOT(Embedded Block Coding with Optimized runcation)と呼ばれるブロックベースのビットプレーン符号化である。EBCOTの特徴としては、各サブバンドを同一サイズにブロック分割して符号化する点と、ポスト処理による符号量制御が可能な点が挙げられる。EBCOTは、ブロック分割、係数モデリング、算術符号化という順で符号化が実行される。すなわち符号化は、Code blockと称するブロック単位で行われるのでまずウェーブレット係数はブロックに分割され係数モデリングされる。
【0054】
係数モデリングは、符号化対象となる多値Wavelet係数から、後段の2値算術符号化用のビットモデルを作成することが目的である。言い換えれば、符号化方法を決定する部分である。符号化対象となるWavelet 係数は正負の符号を持った整数(あるいは実数表現された整数)であり、それらを決められた順序で走査しながら、係数を絶対値表現したものに対して、上位ビットから下位ビットへと、ビットプレーン単位で処理を行う。ビットプレーン内の各ビットは3つの処理パスによって4つの符号化を行う。
【0055】
すなわち、まず、各Code blockにおけるビットプレーン上のビット走査順序は、垂直方向に4ビットまとめた単位でのラスター走査で行われる。符号化は、significance propagation pass(有意な係数が周囲にある有意でない係数の符号化)、magnitude refinement pass(有意な係数の符号化)、cleanup pass (残りの係数情報の符号化)の3つの処理パスで実行される。各処理パスで実行される符号化方法は、significance coding、sign coding、magnitude refinement coding、cleanup codingの4種類がある。なお、ここで、“significance”とは、該当ビット(係数)が“有意である/ない”ことを示しており、以下のような解釈によって行われる。
【0056】
・有意である
これまでの符号化処理において注目係数が0でないとわかっている状態のこと。言い換えれば、すでに1であるビットを符号化済みであること。
【0057】
・有意でない
係数値が0であるか、0の可能性がある状態のこと。言い換えれば、未だ1であるビットを符号化していない状態のこと。
【0058】
符号化は、まず、ビットプレーンのMSBより走査を行い、ビットプレーン中に有意でない係数(0でないビット)が存在するかを判定する。有意である係数が登場するまでは3つの符号化処理パスは実行されない。有意でない係数のみで構成されるビットプレーンは、そのビットプレーン数をパケットヘッダに記述する。この値は復号時に利用され、有意でないビットプレーンを形成するために使われるとともに、係数のダイナミックレンジを復元するためにも必要である。有意であるビットが最初に登場したビットプレーンから実際の符号化は開始され、該ビットプレーンは、まずcleanup passで処理される。その後、下位のビットプレーンに対して順次、3つのパスを用いて処理が進められる。
【0059】
a)Significance propagation pass(有意な係数が周囲にある有意でない係数の符号化)
周囲の所定の8近傍の係数値に少なくとも1つの有意な係数があり、かつ注目する係数(X位置の係数値)がまだ有意でない場合にのみ、本パスにて処理される。それ以外の場合には本パスでは処理されない。
【0060】
b)Magnitude refinement pass(有意な係数の符号化)
注目する係数値(X)がすでに有意である状態の場合には、Magnituderefinement passによって処理される。本パスでは状態変化後(有意でない→有意である)に行う最初のパスであるかどうか、周囲の8近傍に有意な係数値が存在するかどうかによって、3つのコンテクストモデルを算出する。
【0061】
c)Cleanup pass(残りの係数情報の符号化)
上記2つのパス(Significance propagation passとMagnitude refinement pass)に該当しない残りのビットは、Cleanup passにて処理される。
【0062】
本パスで作成するコンテクストは、上記2つのパスのように8近傍の係数値を参照するコンテクストに加えて、ランレングス符号化用のコンテクストを作成する。符号化はランレングス符号化を行うかどうかを判断しながら符号化処理を行う。まず、垂直方向に連続する4つの係数値がすべて本パスに属しており、かつ4つすべての係数値における周囲の8近傍に有意な係数値が存在しないか否かを判断する。もし、本条件に該当する場合には、ランレングス符号化を行う。一方、本条件に該当しない場合には、4つの係数値の中に少なくとも1つの有意である係数が存在するので、各係数値をSignificance propagation passで符号化する。ランレングス符号化は、4つの注目係数のビットがすべて0であるならば、シンボル0を符号化して終了する。そうでない場合にはシンボル1を符号化する。シンボル1を符号化した場合には、続いて4ビット中の最初の1になっているビット位置を2ビットで符号化し、その直後に正負の符号をSignificance propagation passと同様に符号化をする。ここでビット位置を示す2ビットを符号化する際にはUNIFORMコンテクストと称するコンテクストを用いる。これ以降の係数に対しては、Significance propagation passで符号化を行う。以上の処理が完了すると、次の4つの係数処理に入り、順次符号化処理を行う。なお、算術符号化については公知の技術であるので説明を省略する。
【0063】
本例では,以上説明した方式により符号化、復号を行うが、上述の説明により、有意である係数が存在しないビットプレーンは非常に早く係数モデリングが終了するのに対し、3パスを実施するビットプレーンは処理時間が長い。3パスのそれぞれにどのくらい時間がかかるかは回路の組み方やソフトウェアとハードウェアとの役割分担のあり方などに依存するが、どのパスを使用するかによっても処理時間は異なる。例えば、有意でないビットプレーンのみからなるタイルは非常に高速に処理ができるが、MSBから有意であるウェーブレット係数を多く含むタイルの処理には時間がかかる。
【0064】
このため、後述する並列処理において、一つの復号部23aが一つのタイルを処理するように処理を行なうと、処理時間が最も長いタイルの処理によって1バンドの処理時間が決定されてしまう。そうなると、コントローラ5は係数モデリング時間が最長の場合にあわせて処理をプログラムしなければならなくなるが、全てのタイルにおいて処理時間が長い画像は少なく、係数モデリング時間が最長の場合にあわせて処理をプログラムすることは,出力の際に必要以上にユーザを待たせることとなり好ましくない。本例は以上のような点を後述のように改良するものである。
【0065】
次に、復号部24a,24bについて説明する。図2(b)は、復号部24a,24bが実施する復号方式の機能ブロック図である。復号部24a,24bが実行するのは、それぞれ符号化部23a,23bの逆変換であり、符号化部23a,23bで使用するDCレベルシフト、色変換、ウェーブレット変換、エントロピー符号化の各処理の逆変換をそれぞれ実行する逆DCレベルシフト部36、逆色変換部37、ウェーブレット逆変換部38、エントロピー復号部39からなる。圧縮符号がタイル分割されている場合には、かかる処理を各タイルについて実行する。
【0066】
符号化部23bについて説明する。図2(c)は、符号化部23bが実施する復号方式の機能ブロック図である。符号化部23bは、バンドバッファ22に格納された画像データをタイル分割して符号化するための符号化装置である。以下、符号化部23aによって符号化された圧縮符号列を「第一の符号列」、符号化部23bによって符号化された圧縮符号列を「第二の符号列」と記す。
【0067】
本例における符号化部23bが実施する符号化方式のブロック図を図2(c)に示すが、符号化部23bは、符号化部23aと比べてタイル分割部40がDCレベルシフト部31の前段に追加されている点が異なる。すなわち画像データはまず、タイル分割部40で複数のタイルに分割され、タイルごとに独立に、符号化部23aにおけると同様な処理が施される。ここで「独立」とは、符号化時に他のタイル内の画素情報を利用することなく符号化を実施すると言う意味である。なお、符号化部23bは色変換を施してからタイル分割してもよい。
次に、デジタル複写機1の動作について説明する。
【0068】
本例のデジタル複写機1は、A4サイズの出力時に電子ソート機能を実行することができる。電子ソート機能の実行時には、第一部数目の画像の出力時には給紙トレイ15a(又は給紙トレイ15b)に収納されたA4用紙に画像が記録され、第二部数目の画像の出力時には給紙トレイ15b(又は給紙トレイ15a)に収納されたA4用紙に画像が記録され、その後順次、奇数部数目の画像の出力時には給紙トレイ15a(又は給紙トレイ15b)に収納されたA4用紙に画像が記録され、偶数部数目の出力時には給紙トレイ15b(又は給紙トレイ15a)に収納されたA4用紙に画像が記録され、というように交互に画像が記録される。このとき、奇数部数目の出力時には画像は回転されずに出力され、偶数部数目の出力時には画像が90度回転されて出力される。
【0069】
また、本例のデジタル複写機1は、給紙トレイ15a、15bのうち一方に収納された転写材が消費されると、他方に収納された転写材上に画像を形成する給紙トレイ自動切換機能を有するが、このときも、画像を90度回転させることによって切り替え先の給紙トレイに収納された転写材に適合した向きで画像を出力する。
【0070】
この電子ソート機能または給紙トレイ自動切換機能を実現するために、本例の画像処理装置26がコントローラ5に制御されて行なう処理について、図7のフローチャートを参照して説明する。
【0071】
図7において、コントローラ5は、スキャナ3から読み込まれた、または、ネットワーク4から図示しない通信インターフェイスを介して受信した画像データを、バンド単位にバンドバッファ22に格納する(ステップS1)。本例のバンドバッファ22が格納可能な画像データの容量は、600dpiの1画素あたり8ビットのRGBの3色からなる画像データをA4サイズの4分の1だけ格納できる容量である。但し、上述したように、ウェーブレット変換のオーバーラップ時に参照する隣接画素分の画像データはこれとは別に格納可能である。なお、本発明を実施する際にバンドバッファ22の記憶容量は適宜選択できることは言うまでもない。
【0072】
バンドバッファ22に格納された1バンド分の画像データは、符号化部23aでタイル分割せずに符号化されてページメモリ25に格納される(ステップS2)。ここで符号化部23aは、まず、色変換によってRGB信号を輝度色差信号に変換し、輝度色差をそれぞれウェーブレット変換し、ウェーブレット変換係数をエントロピー符号化する。本例では、6階層のウェーブレット変換を水平垂直方向に実施し、その結果、画像データは、図8に示すようにオクターブ分割される。図8において、インデックスの数字はウェーブレット変換の階層数を意味し、数字が小さくなるに従い高周波となっている。LLは低周波係数で第6階層にしか存在せず、HL,LH,HHは高周波成分で各階層に存在する(煩雑さを避けるため、図8においては第2階層までしか表示しない)。このように分割されたウェーブレット変換係数に対して上述のエントロピー符号化が実施されることになるが、より重要な情報を優先的に符号化するべく、エントロピー符号化の実行時にはウェーブレット変換係数を図9のようにシフトして符号化する。ここで、図9において、左右方向は各係数のビットプレーンの広がりを意味し、一つの係数においては最左側がMSB(最上位ビット)、最右側がLSB(最下位ビット)である。重要な情報を優先的に符号化するとは、具体的には、重要度の高いLL6のみを含むビットプレーン群Aをまず符号化し、次いで、ビットプレーン群B,C,D,Eの順で順次符号化していくことを意味する。なお、本例においては簡単の為に輝度色差の量子化方法を全く同じとし、かつ、各ビットプレーン群の重要度も輝度色差で異ならないものとする。すなわち輝度のビットプレーン群A,B,C,D,Eはそれぞれ色差のビットプレーン群A,B,C,D,Eと同じ重要度として認識され、以下において、例えば「ビットプレーン群Eを削減する」と記したときには、輝度と色差のそれぞれからビットプレーン群Eを削減することを意味する。但し、本例と異なり、輝度色差の重要度の違いを利用して輝度色差の重要度に相対的に差を設け、あるいは、ビットプレーン群の構成を変えてもよい。
【0073】
次に、量子化の動作について説明する。符号化部23aによって符号化された第一の符号列は、コントローラ5の指示によって、あらかじめ設定された量子化率に従って量子化される(ステップS2)。ここで量子化率は、符号化開始当初は量子化を全く行わないように設定されているが、ページメモリ25の容量と第一の符号列の符号量との関係に基づき、必要に応じて設定が変更されていく。
【0074】
この量子化は、図9に示したビットプレーン群A,B,C,D,Eの単位で実行される。具体的には、圧縮符号列から情報を削減する際に、各ビットプレーン群を符号化して得られる符号を単位として情報を削減する。例えば、量子化率の設定がビットプレーン群Eを量子化するように設定されている場合には、エントロピー符号化されたデータのうちからビットプレーン群Eに該当する情報であるHH1係数およびLH1,HL1,HH2,LH2,HL2,HH3の下位ビットプレーンの情報を削除する。このとき、本例の圧縮符号列はビットプレーン単位に符号化されているために圧縮符号状態のまま容易に情報の削減が可能である。あるいは、量子化対象であるビットプレーン群については初めからエントロピー符号化しないという方法も取り得る。
【0075】
次いで、量子化後の第一の符号列の符号量をコントローラ5内の図示せぬメモリに記憶する(ステップS2)。本例で、コントローラ5は、第一の符号列の符号量をそのメモリに格納する際、ビットプレーン群A,B,C,D,Eの単位で符号量を格納する。以下、ビットプレーン群A,B,C,D,Eの符号量をそれぞれ量aA、aB、aC、aD、aEと記し、全ての符号量の和をaと記す。すなわち、“a=aA+aB+aC+aD+aE”である。
【0076】
また、符号化部23bはバンドバッファ22に格納された画像データを符号化して第二の符号列を得、第二の符号列自体はそのまま破棄して符号量のみをコントローラ5内のメモリに記憶する(ステップS3)。
【0077】
一方、符号化部23bは、この段階で、JPEG2000アルゴリズムで符号化を行いつつ、その復号にかかる時間を見積もっていく。
【0078】
具体的に説明すると、まず、符号化部23bは図10(a)に示すように1バンドを4つのタイルに分割して、符号化処理を開始する。4つのバンドに分割するのは、後述するよう本例の復号部24bは4つの復号器51〜54から構成されているので、4つに分けて並列処理による復号を実施するためである。復号時間の見積もりは、各タイルの符号化処理において、上述した係数モデリング処理のどの処理が何回実施されたかによって見積もる(複合時間見積手段、複合時間見積処理)。例えば、タイル1,2では画像の背景領域であるために有意でないビットプレーンが多く3つの符号化処理パスがほとんど実行されなかったのに対して、タイル3,4は写真画像を含んでいるためにほとんどのビットプレーンが3パス符号化されたものとする。この結果、もしも各タイルを一つの復号器で処理すると、図10(b)に示すように復号時間がタイル1では1[msec]、タイル2では2[msec]、タイル3では18[msec]、タイル4では21[msec]かかるとする。このような処理では、タイル1が1[msec]で復号されているにも関わらずバンド全体での復号時間は21[msec]となってしまう。
【0079】
そこで,本例では、各タイルについて1タイルの処理に要する時間を予め設定されている所定の時間と比較し(比較手段、比較処理)、例えば、10[msec]を超えたタイルについては、このタイルを復号するのに所定の時間(この例では、10[msec])を超えない複数のサブタイルに分割する(第2の分割手段、第2の分割処理)。すなわち図10(c)に示すように、タイル3は、復号時間が10[msec]と8[msec]の2つのサブタイルに、タイル4は、復号時間が10[msec]と10[msec]と1[msec]の3つのサブタイルに分割する。
【0080】
具体的なサブタイルの分割処理および各サブタイルの復号時間見積り処理は以下のように行なうことが好適である。まず、一つのタイルに符号化処理を実施しつつ同時に復号時間を見積もり、この見積もられた復号時間が所定の時間を超えた時点で、それまで符号化された部分を1つ目のサブタイルに関する符号列とする。このとき復号時間は0[sec]にリセットする。ついで、そのタイル内の残りの画素に関して、復号時間を新たに見積もりつつ2つ目のサブタイルとして符号化処理を行う。この2つ目のサブタイルの処理において見積もられた復号時間が所定の時間を超過した場合には、その時点で2つ目のサブタイルの符号列を確定し、残りの画素は3つ目のサブタイルとして符号化処理を続ける。このように符号化処理を実施しつつ、同時にサブタイルに分割していくと効率的である。なお、各サブタイルの形を長方形とすればサブタイルの境界情報を2次元情報ではなく1次元情報で持つことが出来るので、サブタイルの境界情報を格納するためのメモリ量を少なくできる。そこで本例では、ある行の途中で復号時間が所定の時間を超過した場合には、次のサブタイルの符号化処理はその行の最初から開始する。
【0081】
このようにして得られた、サブタイル分割の情報(タイル番号、サブタイル数)は、メインヘッダやタイルヘッダのコメント欄に記録する、あるいはコントローラ5内のメモリに記憶しておく、等の方法で管理する。本例ではコントローラ5内のメモリにサブタイル分割の情報を記憶しておくものとする。また、サブタイル、あるいは、サブタイルに分割しない各タイルの復号時間についても、コントローラ5内のメモリなどに記憶しておく。
【0082】
ところで、本例のコントローラ5は、第二の符号列の符号量をコントローラ5のメモリに格納する際、第一の符号列の場合と同様、ビットプレーン群A,B,C,D,Eの単位で符号量を格納する。本例では、全てのタイル、サブタイルはビットプレーン群A,B,C,D,Eの単位で量子化されるので、各タイル/サブタイル別に符号量を記憶しておくのではなく、1バンド全体として各ビットプレーンの符号量を記憶しておけばよい。以下、ビットプレーン群A,B,C,D,Eの符号量をそれぞれ量bA,bB,bC,bD,bEと記し、全ての符号量の和をbと記す。すなわち、“b=bA+bB+bC+bD+bE”である。この符号化部23bによる符号化は、符号化部23aによる符号化と同時に実行すると処理時間を短縮化することができる。また、このときにサブタイル分割を実施するか否かについて決定することで、効率的な処理を行なうことができる。
【0083】
次に、量子化率の設定ついて説明する。量子化率の再設定とは、ページ全体の量子化度合いをより強くするように量子化率を設定しなおすことを意味する。具体的には、ページメモリ25に格納された符号化済みのバンドの総符号量F2を取得し、またページメモリ25の容量F1、画像データ1ページ分を構成する全バンド数N、および符号化済みのバンド数nから(F1/N×n)を計算する(ステップSS4)。
【0084】
ついで、コントローラ5は、“(F1/N×n)<F2”の関係が成立するか否かを判断し(ステップS5)、“(F1/N×n)<F2”の関係が成立すれば量子化率を再設定する(ステップS6)。この判定式の意味を以下説明すると、(F1/N×n)は各バンドの情報量が等しいと仮定した場合にページメモリ25に格納されるべき情報量の上限である。例えば、Nが4、nが3のときは、“F1/N×n=F1×0.75”となり、圧縮符号はページメモリ25の75%以下の容量を占めるべきであることを意味する。すなわち“(F1/N×n)<F2の関係が成立すれば量子化率を再設定する”とは、各バンドの情報量が等しいと仮定した場合の予想情報量(F1/N×n)に対して、実際に符号化済みのバンドの総符号量F2が少しでも上回れば量子化率を再設定することを意味する。
【0085】
“(F1/N×n)<F2”の関係が成立して量子化率を再設定した場合、再設定後に符号化するバンドの量子化率を新たに設定された量子化率で量子化する(ステップS2)だけではなく、ページメモリ25に格納済みの圧縮符号についても再量子化を実行する(ステップS7)必要がある(量子化手段、量子化処理)。その理由は、1ページの画像内で量子化率が変動すると画像品質がページ内で変動し、見る者に違和感を感じさせる恐れがあるためである。
【0086】
図11を用いてページメモリ25に格納された圧縮符号の量子化について説明する。図11では、ページメモリ25の容量を外枠とし、この容量を各バンドの情報が埋めていく様子を模式的に示している。図11(a)には第1バンド、第2バンドまでをページメモリ25に格納した状態が示されている。このとき、当初は量子化を全く行わないように量子化率が設定されているため、各バンド内にはビットプレーン群A,B,C,D,Eを表わす情報がすべて格納されている。図11(a)の第一バンドでは、この情報を単にA,B,C,D,Eと記している。図11(a)の第二バンドおよび図11、図12内のその他の図においては、特にA,B,C,D,Eとは記さないが、図11又は図12において、バンド又はタイル内部の情報を点線で区切って示した場合には、上方から順に情報A,B,C,D,Eを意味するものとする。
【0087】
図11(a)の状態において、“(F1/N×n)<F2”の関係が成立した場合、コントローラ5は量子化処理を実行し、ページメモリ25内の符号列から情報Eを削減する。削減後の図を図11(b)に示すが、情報Eが削減された結果、各バンドとも符号量が減少している。
【0088】
図7に戻って、ページメモリ25に格納済みの圧縮符号について量子化を実行した(ステップS7)後、コントローラ5は処理対象であったバンドが1ページを構成するバンドのうち最後のバンドであったかを判定し(ステップS8)、最後のバンドでなければ(ステップS8のN)、コントローラ5はバンドバッファ22をクリアする。ただし、符号化対象であるバンドのウェーブレット変換に必要な画素値はクリアせずにバンドバッファ22内に残して、これを符号化に利用する。これにより、量子化を実施したときにバンド境界に境界歪が発生することを防止できる。次いで、コントローラ5は次のバンドの画像データをバンドバッファ22に読み込ませ(ステップS1に戻る)、符号化部23aは新たに読み込まれたバンドを構成する画像データの符号化を開始する。
【0089】
最後のバンドであれば(ステップS8のY)、符号化部23aによる符号化処理が終了する。このときには図11(c)に示すように、1ページを構成する全バンドがページメモリ25に格納されている。そして、ステップS9において、コントローラ5は、asum、bsumを計算する。ここで、asumとは符号量aA,aB,aC,aD,aEのうちから第一の符号列を作成する際に量子化されなかったビットプレーン群に関する符号量のみを抽出し、これを全バンドにわたって加算した値である。また、bsumとは、符号量aA,aB,aC,aD,aEのうちから第一の符号列を作成する際に量子化されなかったビットプレーン群に関する符号量のみを抽出し、これを全バンドにわたって加算した値である。例えば、第一の符号列がビットプレーン群E,D,Cを量子化された状態でページメモリ25に格納されていればasumは(aA+aB)を全バンドにわたって加算した値であり、bsumは(bA+bB)を全バンドにわたって加算した値である。
【0090】
ステップS10では、ページメモリ25に格納された第一の符号列の符号量F2、またページメモリ25の容量F1を用いて“F1×asum/bsum<F2”が成立するか否かが確認される。この条件が成立することは(ステップS10のY)、第一の符号列を第二の符号列に変換した場合に第二の符号列がページメモリ25の容量を超えることを意味するので、“F1×asum/bsum<F2”が成立しなくなるように量子化率の再設定が行なわれる(ステップS11)。具体的には、ページメモリ25内の第一の符号列をさらに量子化した場合に“F1×asum/bsum<F2”が成立するか否かを再計算し、この式が成立しなくなるまで量子化を繰り返す。この再計算においては、asum,bsumとして量子化後の値を使用し、例えばビットプレーン群A、Bによって構成される第一の符号列からビットプレーン群Bをさらに量子化する場合にはasumとしてaAを全バンド分加算した値を、bsumとしてbAを全バンド分加算した値を使用する。これによって、量子化後に第一の符号列から変換される第二の符号列の正確な符号量を得ることができる。なお、ビットプレーン群がAのみとなっても“F1×asum/bsum<F2”が成立する場合には、所定のエラー報知によって、画像の回転処理を必要とする機能が実行できない旨をユーザに知らせるか、解像度を落として画像データを再圧縮する。
【0091】
そして、“F1×asum/bsum<F2”が成立しない量子化率が得られた場合、再設定された量子化率に従ってページメモリ25内の第一の符号列を量子化する(量子化手段、量子化処理)(ステップS12)。以上の処理によって、第一の符号列を第二の符号列に変換しても、第二の符号列の符号量がページメモリ25の容量を超えないことが確実となったことになる。
【0092】
続いて、ページメモリ25から1バンド分の第一の符号列を読み出し、これを復号化部24aで復号して、得られた画像データをバンドバッファ22に格納する(ステップS13)。格納された画像データは符号化部23bによって符号化されるが、上述したように本例におけるタイル分割は、図13(a)に示すように各バンドを4つのタイルに分割して行う。すなわちA4サイズの画像データは16のタイルに分割される(第1の領域分割手段、第1の領域分割処理)。符号化部23bは各タイルを符号化し(第1の符号化手段、第1の符号化処理)、得られた圧縮符号をページメモリ25に格納する(ステップS14)。このとき、ステップS10,S11,S12の処理によって第二の符号列はさらに量子化しなくともページメモリ25に格納可能であることが分かっているので、ステップS14の符号化処理において量子化は実行しない。
【0093】
また、ここで、符号化部23bは各タイルを符号化する際、コントローラ5内のメモリを参照して前述のサブタイル分割の情報を取得し、この情報に従って各タイルをサブタイルに分割する(第2の領域分割手段、第2の領域分割処理)。すなわち、図10に例示したようなバンドにおいては、タイル3は2つのサブタイルに、タイル4は3つのサブタイルに分割して、それぞれ符号化を行う(第1の符号化手段、第1の符号化処理)。ここで「サブタイルに分割して符号化を行う」とは、一つのタイルを符号化する際に、サブタイル同士が別のタイルであるかのごとく処理を行うことを意味する。具体的にはウェーブレット変換時や係数モデリング時には隣接するサブタイルの画素値を参照せず、算術符号器は各サブタイルを符号化する際にコンテクストを初期化する。
【0094】
符号化部23aは、タイルがサブタイルに分割されていない場合には各タイルの先頭アドレスを、サブタイル分割されていれば各サブタイルの先頭アドレスをコントローラ5内のメモリに記憶する。
【0095】
なお、どのバンドから「第一の符号列」を「第二の符号列」に変換するかという順序は、コントローラ5が各バンドについて第一の符号列の状態での符号量αおよび第二の符号列の状態での符号量βから“γ=α÷β”という値γを計算し、このγが大きなバンドから順に変換するものとする。この理由は以下の通りである。
【0096】
一般に画像データを符号化する際には、タイル分割して符号化する方が、タイル分割しないで符号化する方よりも符号量が大きくなる。しかし、タイルの境界部分での拡張仮想画素の取り方や画像データによっては、タイル分割して符号化する方が、タイル分割しないで符号化する方よりも符号量が小さくなることが起こり得る。かかる事態が生じた場合、第二の符号列の符号量が全体としてページメモリ25の容量以下であったとしても、「第一の符号列を第二の符号列に変換することによって符号量が減少するバンド」よりも「第一の符号列を第二の符号列に変換することによって符号量が増加するバンド」を先に処理してしまうと、一時的にページメモリ25に格納できないという事態が起こり得る。例えば、ページメモリ25が圧縮符号を格納可能な容量を100%としたとき、第一バンドが第一の符号列として20%、第二の符号列として24%を占め、第二バンドが第一の符号列として30%、第二の符号列として25%を占め、第三バンドが第一の符号列として25%、第二の符号列として30%を占め、第四バンドが第一の符号列として23%、第二の符号列として20%を占めるとき、第一の符号列は1ページ全体として98%、第二の符号列は1ページ全体として99%となり、どちらもページメモリ25に格納可能な容量である。しかし、初めに第一バンドについて第一の符号列を第二の符号列に変換すると、その時点で符号量が全体で102%となりメモリ容量をオーバーしてしまう。
【0097】
そこで本例では、γの値が大きなバンド、すなわち「第二の符号列の符号量に対する第一の符号列の符号量が相対的に大きなバンド」を優先的に処理することでかかる不具合を回避し、1ページ分のページメモリしか持たない場合においても確実に量子化せずに第一の符号列を第二の符号列に変換可能である。上述の例でいえば、第一バンドではγ=0.83、第二バンドではγ=1.20、第三バンドではγ=0.83、第四バンドではγ=1.15であり、第二、第四、第一、第三バンドの順で処理を行えばよい。あるいは、上記のような不具合が生じるのはγの値が1を超えるバンドのみであるので、γ>1であるバンドについて優先的に処理を行うようにしてもよい。
【0098】
そして、ステップS15においては、全てのバンドについて符号化部23bによる符号化処理が終了したか否かを確認し、処理が終了する。
【0099】
符号化部23bによる符号化処理が終了した時、ページメモリ25には第二の符号列が第一の符号列から量子化せずに変換されて格納されている。従って、この符号は、タイルごとに圧縮された非可逆圧縮符号でありながらタイル境界歪はまったく発生しない。
【0100】
符号化部23bによる符号化処理が終了した時、ページメモリ25には第二の符号列が図11(d)の状態で格納されている(この図にはサブタイルについては記述しない)。図11(d)では、第一の符号列から量子化せずに第二の符号列へと変換されたために、タイルごとに圧縮された非可逆圧縮符号でありながらタイル境界歪はまったく発生していない。これに対し、初めからタイル分割して符号化を行い、これを適宜量子化した場合の模式図を、図3と同じ要領で図12に示す。図12では圧縮符号がページメモリ25に格納できなかった場合に、(a)から(b)に量子化されることによって圧縮符号が大きく量子化される。これによって最終的に得られた圧縮符号(c)では、タイル境界歪が目立った画像が生成されることになる。
【0101】
このように本例では、タイルに分割しない状態で符号化した第一の符号列に対して必要な量子化を施し、これを量子化せずにタイルに分割符号化された第二の符号列に変換することにより、タイル境界歪が発生しない圧縮符号を得ることができる。この圧縮符号はコントローラ5内のメモリに記憶されたタイルごとの先頭アドレス値を参照することでタイル単位に読み出すことができるので、必要な順序で各タイルを読み出して電子ソート機能または給紙トレイ自動切換機能を実現することができる。
【0102】
次に、画像を90°回転する動作について詳細に説明する。
【0103】
まず、A4用紙の長辺が搬送方向となるように搬送する場合には、図13(b)に示すように、コントローラ5内のメモリを参照して第一〜第四タイル(インデックス1〜4)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24bで復号してバンドバッファ22に画像データを展開する。そして、この画像データを図13(b)に示す矢印方向に読み出して次工程の処理を行う。一方、A4用紙の短辺が搬送方向となるように搬送する場合には、図13(c)に示すように、コントローラ5内のメモリを参照して第一、第五、第九、第十三タイル(インデックス1、5、9、13)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24bで復号してバンドバッファ22に画像データを展開する。そしてこの画像データを図13(c)に示す矢印方向に読み出して次工程の処理を行う。
【0104】
なお、本例では、各タイルがサブタイル分割されている場合があるが、この場合においても1タイルを構成するサブタイルを個別に読み出すことができるので、バンドバッファに展開するタイル/サブタイルの読み出し順序を変えて回転処理が容易に実行できる。
【0105】
また、本例では、最終的に得られる圧縮符号がタイル/サブタイル単位で独立に復号可能であるので、復号化部24bは並列処理によって復号を行なう。具体的には、図14に示すように復号化部24bは、復号器51〜54という4つの復号器から構成され、各復号器51〜54がタイル単位で復号を行う。したがって、並列処理が可能となり、復号処理ひいてはデジタル複写機1の処理が高速化するが、タイルごとに復号時間に差があると最も処理時間がかかるタイルにひきずられてバンド全体の処理時間が長くなってしまうことがある。そこで、本例では復号時間が長いタイルをサブタイルに分割し、適宜4つの復号器に復号を委ねることによってさらに効率よく復号を行う。
【0106】
具体的には図15に示すように、コントローラ5がページメモリ25から読み出す1バンド分のタイルまたはサブタイルを決定する(ステップS21)。この決定は回転処理の有無などによって決定される。ついでコントローラ5は各タイル/サブタイルを復号する復号器を決定する(ステップS22)。復号器が決定されたら並列処理によって復号を行って(第2の復号手段)、トナー画像をプリンタエンジン2で形成し(ステップS23)、最終バンドまで処理が終われば(ステップS24のY)、一連の処理を終了する。
【0107】
図15のステップS22における復号器の決定は、図16のフローチャートに示すように行なわれる。まず、ステップS31において、1タイルに1つの復号器が分配される。このとき、タイルがサブタイルに分割されている場合には、1つのサブタイルの復号を行う復号器が決定される。図10(c)に示した例で説明すると、第一タイルが復号器51、第2タイルが復号器52、第3タイルの第一のサブタイルが復号器53、第4タイルの第一のサブタイルが復号器54に分配される(ステップS31)。
【0108】
次に、I=1が設定され(ステップS32)、第Iタイル内に復号器が決定されていないサブタイルが存在するかが判定される(ステップS33)。この例では、タイル1,2ではサブタイル分割されていないので、この結果が否定(ステップS33のN)となり、Iがカウントアップされ(ステップS35)、タイル3では第二のサブタイルが復号器に分配されていないために(ステップS35のY)、ステップS34へと処理が移行する。
【0109】
ステップS34では、復号時間が最も早く終了する復号器にサブタイルの復号が分配する(分配手段)(なお、各タイルや、サブタイルの復号時間については、前述のとおり、コントローラ5内のメモリなどに記憶しているので、このデータを利用して前記の処理を行なう)。すなわち、図10の例では、タイル1を復号する復号器51が復号時間=1[msec]で最も処理時間が短く、したがって、第3タイルの第2サブタイルは復号器51に分配される。なお復号時間が等しい復号器が2つある場合には、復号器51→52→53→54の順で優先的に分配される。サブタイルが分配されたらステップS33に戻って同様に処理が続き、この例では、第4タイルの第2サブタイルは復号器52に、第4タイルの第3サブタイルは第1の復号器51に分配される。全てのタイルについて処理が終了すると(S36のY)、復号器の分配は終了となる。
【0110】
図10の例における本実施の形態の効果を、図10(d)を参照して説明する。すなわち、タイルをサブタイルに分割して復号器を分配したことにより、各タイルを各復号器で復号した場合には21[msec]の復号時間を必要としたのに対し、本例では最長12[msec]で各復号器の復号が終了している。したがって処理時間が半分近くに減少し、高速処理が可能となっている。
【0111】
このような処理の高速化が可能であることに鑑み、本例ではデフォルトではA4サイズにおける各バンドの復号時間を18[msec]と設定しておく。そして全面の網点画像など、全タイルにおいて復号時間が長くサブタイル分割によっても18[msec]以内に処理が終了しない画像に対しては、解像度を落として処理を実行することで対応する。
【0112】
なお、高速処理という利点は回転処理とは関係がないので、A3サイズの画像を形成する場合にも画像データを第二の符号列として保持することで復号処理の高速化という利点を得ることができる。
【0113】
ただし、本例の場合、並列処理の実行は同一画像を多くの部数出力する際に有効である一方で、一部数しか画像を出力しない場合には第一の符号化処理を前段で実行することによってかえって処理時間が伸びてしまうので、出力部数が所定の数を超えた場合にのみ画像データを第二の符号列として保持するようにしてもよい。
【0114】
なお,本例のページメモリ25を、互いに等しい容量を有し、それぞれA4サイズ1ページ分の圧縮符号を格納するために設けられた二つのメモリとし、ページメモリ25全体としてはA4サイズ2ページ分の画像データを圧縮符号として格納することができるようにしてもよい。かかる構成とすることにより、画像の連続出力の際には2つのメモリのいずれか一方に格納された1ページ分の圧縮符号を読み出して画像形成しつつ、他方にはハードディスク27から読み出した次のページの圧縮符号を格納することが可能となる。また、後述するように第一の符号列を復号して得た画像データを符号化部23bで符号化して第二の符号列を得る場合には、2つのメモリのいずれか一方に第一の符号列を格納し、第二の符号化部で符号化された第二の符号列は他方に格納することによって、煩雑なメモリ管理を行うことなく第二の符号列を得ることができる。また、A3サイズの画像を扱う場合には、2つのメモリの両方でA3サイズ1枚分の画像データを格納する。
【0115】
さらに、バンドバッファ22に格納された画像データに対して、まず、符号化部23bが符号化処理を行ない、そして第二の符号列がページメモリ25のふたつのメモリの一方に格納されれば画像形成動作を開始する一方、第二の符号列がページメモリ25のメモリの一方に格納できなかった場合には、量子化せずに格納できないことが判明した時点で図7に示した処理を実施してもよい。かかる構成とすれば、初めからタイル分割して第二の符号列とした場合でも符号量が充分小さくなるような画像データに対しては、符号化部23aによる符号化処理および復号化部24aによる復号処理を実施しないですむため、高圧縮が可能な画像に対しては処理時間を短縮化することができる。
【0116】
なお、以上の例では、本発明をデジタル複写機に適用する例で説明したが、コンピュータやデジタルTV内の処理であっても、並列処理によって画像を復号する処理において本発明は適用可能である。
【0117】
また、復号器はハードウェアでもソフトウェアでも良く、複数の復号回路によって画像を復号する場合にも複数のCPUによって画像を復号する場合にも本発明は適用可能である。
【0118】
さらに、本発明を適用できる符号化方式は領域分割が可能な符号化方式であれば良く、JPEG2000方式の符号でなくともよい。
【0119】
なお、本発明は並列処理を行なう復号器の数とタイルの数が一致していない場合でも適用可能である。ここでは、前述の例とほぼ同じ画像処理装置26を備えたほぼ同一のデジタル複写機において、第二の復号器の数が3つ、タイルの数が10である場合の例を示す。
【0120】
この例では、画像の符号化時に算出したタイル/サブタイルの復号時間が図17に示すようであるとする。デジタル複写機1のコントローラ5はすべてのタイル/サブタイルの復号時間が107[msec]であることから、これを復号器の数3で割って、1復号器あたり約36[msec]と復号時間の目安をつける。そしてまず第二の復号器1にタイル/サブタイルを順番に分配し、総復号時間が34[msec]を超えた時点で次のタイル/サブタイルからは第二の復号器2に分配する。この結果、復号時間が平均化され、全体として高速復号が可能となる。
【0121】
【発明の効果】
請求項1に記載の発明は、圧縮符号化した際に復号に時間を要する領域については、より短時間で復号できる小領域に分割して圧縮符号化するので、各領域または各小領域ごとの復号時間を短縮でき、複数の各領域または各小領域について同時並行的に復号すれば符号列の全体の復号時間を短縮することができる。
【0122】
請求項2に記載の発明は、請求項1に記載の発明において、あらかじめ画像の領域の分割を行なうことなく量子化しておいて、その後、領域および小領域の分割を行なって量子化することなく画像を圧縮符号化するので、領域の境界歪が発生することを防止できる。
【0123】
請求項3に記載の発明は、請求項2に記載の発明において、所定の符号量以下となる符号列を最終的に生成することができる。
【0124】
請求項4に記載の発明は、請求項1〜3のいずれかの一に記載の発明において、各領域および各小領域について同時並行して行なう復号の分配により、符号列全体として復号に要する時間を短縮することができる。
【0125】
請求項5に記載の発明は、請求項1〜4のいずれかの一に記載の発明において、JPEG2000方式などの圧縮符号化を用いて、本発明を実現することができる。
【0126】
請求項6に記載の発明は、請求項4に記載の発明と同様の作用、効果を奏することができる。
【0127】
請求項7に記載の発明は、圧縮符号化した際に復号に時間を要する領域については、より短時間で復号できる小領域に分割して圧縮符号化するので、各領域または各小領域ごとの復号時間を短縮でき、複数の各領域または各小領域について同時並行的に復号すれば符号列の全体の復号時間を短縮することができる。
【0128】
請求項8に記載の発明は、請求項7に記載の発明において、あらかじめ画像の領域の分割を行なうことなく量子化しておいて、その後、領域および小領域の分割を行なって量子化することなく画像を圧縮符号化するので、領域の境界歪が発生することを防止できる。
【0129】
請求項9に記載の発明は、請求項7または8に記載の発明と同様の作用、効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施の形態であるデジタル複写機の概略構成を示す説明図である。
【図2】デジタル複写機の符号化部(a)、復号化部(b)、符号化部(c)の機能ブロック図である。
【図3】JPEG2000の符号フォーマットの概略構成を示す説明図である。
【図4】JPEG2000の符号フォーマットのメインヘッダの構成を示す説明図である。
【図5】JPEG2000の符号フォーマットのタイルヘッダの構成を示す説明図である。
【図6】JPEG2000の符号フォーマットのタイルヘッダの構成を示す説明図である。
【図7】デジタル複写機が行なう処理のフローチャートである。
【図8】JPEG2000によるオクターブ分割の説明図である。
【図9】エントロピー符号化の実行時に行なうウェーブレット変換係数のシフトについて説明する説明図である。
【図10】画像データの復号について説明する説明図である。
【図11】圧縮符号の量子化について説明する説明図である。
【図12】圧縮符号の量子化について説明する説明図である。
【図13】タイル分割について説明する説明図である。
【図14】復号化部の構成について説明する説明図である。
【図15】デジタル複写機が行なう復号化、画像形成の処理について説明するフローチャートである。
【図16】ステップS22のサブルーチンのフローチャートである。
【図17】復号化処理を説明する説明図である。
【符号の説明】
1 画像形成装置
2 プリンタエンジン
26 画像処理装置
Claims (9)
- 画像データを複数の領域に分割する第1の領域分割手段と、前記領域ごとに圧縮符号化できる所定の圧縮符号化方式で圧縮符号化したときに、その符号化後の符号列の復号に要する時間を、前記領域ごとに算出する復号時間見積手段と、
この算出した各時間を所定の閾値と比較する比較手段と、
前記時間が前記閾値を超える前記領域をさらに前記時間より短い時間でそれぞれ復号できる複数の小領域に分割する第2の分割手段と、
前記各領域および前記小領域への分割を行なったときは前記各小領域を前記圧縮符号化方式で圧縮符号化して符号列を得る第1の符号化手段と、
を備えている画像処理装置。 - 前記画像データを複数の領域に分割することなく圧縮符号化して符号列を得る第2の符号化手段と、
この符号列を量子化する量子化手段と、
この量子化後の符号列を復号する第1の復号手段と、
を備え、
前記第1の符号化手段は、前記復号後の画像データに対して量子化を行なうことなく符号化を行う、
請求項1に記載の画像処理装置。 - 前記量子化手段は、前記第1の符号化手段によって生成される符号列が所定の符号量以下となるように前記量子化を行う、請求項2に記載の画像処理装置。
- 第1の符号化手段で圧縮符号化後の符号列を対象に複数の符号を同時並行して復号する第2の復号手段と、
前記算出した時間および前記各小領域の復号に要する時間から、前記各領域および前記各小領域について前記同時並行の復号の分配を行なう分配手段と、
を備えている請求項1〜3のいずれかの一に記載の画像処理装置。 - 前記圧縮符号化方式は、画像データを1または複数の領域に分割し、ウェーブレット変換を用いて前記領域ごとに独立して階層的に圧縮符号化する方式である、請求項1〜4のいずれかの一に記載の画像処理装置。
- 画像データを処理する請求項4に記載の画像処理装置と、
この画像処理装置により前記第2の復号手段で復号後の画像データに基づいて画像形成を行なうプリンタエンジンと、
を備えている画像形成装置。 - 画像データを複数の領域に分割する第1の領域分割処理と、前記領域ごとに圧縮符号化できる所定の圧縮符号化方式で圧縮符号化したときに、その符号化後の符号列の復号に要する時間を、前記領域ごとに算出する復号時間見積処理と、
この算出した各時間を所定の閾値と比較する比較処理と、
前記時間が前記閾値を超える前記領域をさらに前記時間より短い時間でそれぞれ復号できる複数の小領域に分割する第2の分割処理と、
前記各領域および前記小領域への分割を行なったときは前記各小領域を前記圧縮符号化方式で圧縮符号化して符号列を得る第1の符号化処理と、
をコンピュータに実行させるコンピュータに読み取り可能なプログラム。 - 前記画像データを複数の領域に分割することなく圧縮符号化して符号列を得る第2の符号化処理と、
この符号列を量子化する量子化処理と、
この量子化後の符号列を復号する第1の復号処理と、
をコンピュータに実行させ、
前記第1の符号化処理は、前記復号後の画像データに対して量子化を行なうことなく符号化を行う、
請求項7に記載のプログラム。 - 請求項7または8に記載のプログラムを記憶している記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003014859A JP2004228964A (ja) | 2003-01-23 | 2003-01-23 | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003014859A JP2004228964A (ja) | 2003-01-23 | 2003-01-23 | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004228964A true JP2004228964A (ja) | 2004-08-12 |
Family
ID=32902776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003014859A Pending JP2004228964A (ja) | 2003-01-23 | 2003-01-23 | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004228964A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007243889A (ja) * | 2006-03-13 | 2007-09-20 | Ricoh Co Ltd | 符号生成装置、ファイル生成装置、符号処理装置、プログラム、情報記録媒体、jpeg2000の符号、jpeg2000ファミリーフォーマットのファイル |
JP2008033432A (ja) * | 2006-07-26 | 2008-02-14 | Canon Inc | データ処理装置、画像形成装置、制御方法、及びプログラム |
US9374594B2 (en) | 2014-06-11 | 2016-06-21 | Brother Kogyo Kabushiki Kaisha | Converting apparatus |
WO2020100672A1 (ja) * | 2018-11-16 | 2020-05-22 | ソニー株式会社 | 画像処理装置および方法 |
-
2003
- 2003-01-23 JP JP2003014859A patent/JP2004228964A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007243889A (ja) * | 2006-03-13 | 2007-09-20 | Ricoh Co Ltd | 符号生成装置、ファイル生成装置、符号処理装置、プログラム、情報記録媒体、jpeg2000の符号、jpeg2000ファミリーフォーマットのファイル |
JP4743613B2 (ja) * | 2006-03-13 | 2011-08-10 | 株式会社リコー | 符号生成装置、ファイル生成装置、符号処理装置、プログラム、情報記録媒体 |
JP2008033432A (ja) * | 2006-07-26 | 2008-02-14 | Canon Inc | データ処理装置、画像形成装置、制御方法、及びプログラム |
US9374594B2 (en) | 2014-06-11 | 2016-06-21 | Brother Kogyo Kabushiki Kaisha | Converting apparatus |
WO2020100672A1 (ja) * | 2018-11-16 | 2020-05-22 | ソニー株式会社 | 画像処理装置および方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7751633B1 (en) | Method for compressing an image | |
US20080089413A1 (en) | Moving Image Encoding Apparatus And Moving Image Encoding Method | |
JP2000069292A (ja) | 画像処理装置及び方法及び記憶媒体 | |
JP2004104650A (ja) | 画像処理装置、画像読取装置、画像形成装置、画像処理用プログラム及び記憶媒体 | |
JP2004248268A (ja) | 画像処理装置、画像形成装置、画像復号装置、画像処理方法、プログラムおよび記憶媒体 | |
JP2006014086A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2004248271A (ja) | 画像処理装置、画像形成装置、画像処理方法、プログラムおよび記憶媒体 | |
JP2011040970A (ja) | データ処理装置、および、データ処理方法 | |
JP2004228964A (ja) | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 | |
JP2003046789A (ja) | 画像符号化装置及び画像復号化装置 | |
JP4046223B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4093871B2 (ja) | 画像形成装置、プログラムおよび記憶媒体 | |
JP2004236220A (ja) | 符号化装置、情報管理装置、復号化装置、画像形成装置、符号化プログラム、情報管理プログラム、復号化プログラムおよび記憶媒体 | |
JP4111863B2 (ja) | 画像処理装置、画像形成装置、画像処理用プログラム及び記憶媒体 | |
JP4050157B2 (ja) | 画像処理装置、画像処理方法、プログラムおよび記憶媒体 | |
JP4067416B2 (ja) | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 | |
JP4017109B2 (ja) | 画像処理装置、画像処理方法、画像形成装置、プログラムおよび記録媒体 | |
JP2004235935A (ja) | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 | |
JP5078199B2 (ja) | 画像符号化装置及びその方法並びにプログラムコード、記憶媒体 | |
JP2003204439A (ja) | 画像符号化装置及び画像符号化方法 | |
JP4010452B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4159259B2 (ja) | 画像処理装置、画像処理方法、該画像処理方法をコンピュータに実行させるためのプログラム及び該プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP2011109390A (ja) | 画像符号化装置、画像符号化方法、画像復号装置、及び、画像復号方法 | |
JP3784755B2 (ja) | 画像処理装置、画像形成装置、プログラム及び記憶媒体 | |
JP4090352B2 (ja) | 画像処理装置、画像処理方法、画像形成装置、プログラム及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041008 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051116 |
|
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: 20070723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071227 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080205 |