(57)【特許請求の範囲】
【請求項１】
入力画像をストライプ画像に分割するストライプ分割手段と、前記入力画像中の有効画像の始点を検出しオフセットとして設定するオフセット処理手段と、前記ストライプ分割手段で分割された前記ストライプ画像ごとに前記オフセット処理手段で設定したオフセットを始点として当該ストライプ画像を所定の処理単位ごとに圧縮する圧縮手段を備え、前記オフセット手段は、前記圧縮手段で圧縮する各ストライプ画像におけるオフセット以降の圧縮対象領域が前記圧縮手段における圧縮の処理単位の倍数にならない場合は、不足するライン数だけ有効画像の開始点よりも前の位置をオフセットとして設定することを特徴とする画像処理装置。
【請求項２】
入力画像をストライプ画像に分割するストライプ分割工程と、前記入力画像中の有効画像の始点を検出しオフセットとして設定するオフセット処理工程と、前記ストライプ分割工程で分割された前記ストライプ画像ごとに前記オフセット処理工程で設定したオフセットを始点として当該ストライプ画像を所定の処理単位ごとに圧縮する圧縮工程を備え、前記オフセット処理工程は、前記圧縮工程で圧縮する各ストライプ画像におけるオフセット以降の圧縮対象領域が前記圧縮工程における圧縮の処理単位の倍数にならない場合は、不足するライン数だけ有効画像の開始点よりも前の位置をオフセットとして設定することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力された画像データを、ある領域毎に分割して符号化する画像処理装置及び画像処理方法に関するものである。
【０００２】
【従来の技術】
一般に画像を圧縮する際には、目的の画像データ全てを一度に符号化する場合と、目的の画像データを複数の領域に分割してから各領域毎に符号化する場合とがある。これらの代表的な例としてはファクシミリ伝送時の符号化が該当する。現在市場に出ているファクシミリには様々なものがあり、例えば送信側で読み取った原稿１枚分を全てメモリに蓄積し、所定の符号化方式により符号化し、送信するものがある。また別のファクシミリとして、送信側で原稿１枚分を数ラインずつ読み取り、符号化、送信を繰り返し行い、１枚の原稿を送信するものなどもある。
【０００３】
送受信時において１度に伝送可能なデータ量は送信機のみで決定されるものではなく、受信機の能力にも依存する。例えば、オフィス内で使用されている機器では、大量のメモリを搭載しており、原稿全てを１度に読み込んで符号化して伝送することが可能である。しかし、一般家庭で使用されている機器のように、メモリをあまり搭載していない場合には、一度に符号化可能なデータ量分ずつ数回に分けて伝送することになる。受信の際にも同様であり、一度に復号可能なデータ量分ずつ受信しないと、正常に受信することができない。そのため、例えば送信機が大量のメモリを搭載し、設置された原稿全てを１度に読み込んで符号化することが可能であっても、受信機がメモリをあまり搭載していない場合には、受信機側で一度に復号可能なデータ量分ずつ、数回に分けて伝送することになる。このような場合には、送信機側でも画像データを複数の領域に分割して符号化し、送信する機能が必要になる。
【０００４】
図２は、画像の一例の説明図、図３は、ストライプ分割の一例の説明図である。図中、１１は背景部、１２は文字部、１３は写真部である。例えば図２に示すように、背景部１１に「ＢＵＳ」という文字部１２と、写真部１３が描かれた画像を考える。このような画像について、図３に示すように画像データを分割したとき、分割された各画像データの領域をストライプと呼び、分割された画像データをストライプ画像と呼ぶ。また、ストライプに分割することをストライプ分割と呼ぶことにする。さらに、ストライプ分割する際の分割境界をストライプ分割境界と呼ぶ。ストライプ長とは、ストライプの副走査方向の長さを示すものとする。
【０００５】
図３（Ａ）に示す例では、図２に示した画像を一定のストライプ長でストライプ分割した例を示している。この場合、ストライプ中には背景部１１のラインと文字部１２や写真部１３などの圧縮すべき画像部分が混在するものがある。図３（Ａ）ではストライプ１とストライプ２が該当する。このような場合、圧縮すべき画像部分を有効画像とし、その先頭位置までをオフセットとして、オフセット（例えばライン数）と圧縮データにより伝送することが可能である。
【０００６】
また、図３（Ｂ）では、図２に示した画像を、画像の属性に応じてストライプ分割する例を示しており、背景部１１と文字部１２あるいは写真部１３とで分割している。この場合、背景部１１はオフセットと同様にライン数などを伝送すればよく、文字部１２あるいは写真部１３を含むストライプについてのみ、圧縮処理を施せばよい。このようなストライプ分割を行う場合、ストライプ長は不定である。しかし、上述のようにメモリ量などによってストライプ長の上限は決定される。そのため図３（Ｂ）に示す例では、写真部１３について、ストライプ長の上限でさらに分割した例を示している。
【０００７】
ところで、一般に所定の処理単位ごとに圧縮を行う。処理単位は符号化方式によって異なり、例えば１ライン単位で符号化するものもあれば、ＪＰＥＧ符号化方式のように８×８画素単位で行うものもある。複数ライン単位で符号化処理を行う圧縮方式を用いる場合には、必ず符号化すべき画像データの横及び縦の長さが圧縮の際の処理単位の倍数である必要がある。しかし、上述のようにファクシミリで画像を伝送する際のデータ量は送受信機間の能力に従って決まるものであり、１枚の原稿の画像データをストライプ分割し、送受信を繰り返す場合がある。このような場合には、自機と相手機の双方の能力を考慮してストライプ長を決めるため、必ずしも圧縮の際の処理単位に合致するようにストライプ分割を行うことができるとは限らない。
【０００８】
また、特開平８−１２５８７２号公報に記載されている符号化方法では、例えば図３（Ｂ）に示すように画像の属性に応じてストライプ分割を行い、各ストライプ毎に適切な符号化方式を用いて符号化を行っている。しかし、画像の属性に応じて分割を行う場合、各ストライプ長が可変になるし、ストライプに含まれる画像の属性によって符号化の際の処理単位も異なる場合がでてくる。そのため、必ずしも全てのストライプ領域が圧縮時の処理単位の倍数に合致しているとは限らない。
【０００９】
圧縮時の処理単位に合致しない部分については、圧縮器によってはエラーを起こす場合もあるし、または自動的に任意のデータを付加することによって圧縮を行う場合もある。後者の場合は、暫定的に圧縮処理は行われるものの、ＪＰＥＧ符号化方式のような非可逆圧縮方式を適用した場合、任意のデータを任意の位置に付加して圧縮を行うために画質劣化が生じる。特にストライプ分割境界での不整合が顕著になるという問題がある。
【００１０】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、ストライプ分割して圧縮を行う場合に、圧縮すべき領域が圧縮処理単位に合致しない場合でも、復号及びストライプ合成後に画質劣化を生じないように画像を圧縮することができる画像処理装置及び画像処理方法を提供することを目的とするものである。
【００１１】
【課題を解決するための手段】
第１の発明は、入力画像をストライプ画像に分割し、分割したストライプ画像ごとに圧縮処理を行う。このとき、ストライプ画像中に例えば背景画像と有効画像が含まれていればオフセット処理によって、有効画像の始点以降を圧縮する。例えば所定長でストライプ画像に分割したときには圧縮時の処理単位の倍数になっていても、オフセット処理後の圧縮すべき領域は、圧縮時の処理単位の倍数になっていないことがある。このようにオフセット以降の圧縮対象領域が前記圧縮工程における圧縮の処理単位の倍数にならない場合は、不足するライン数だけ有効画像の開始点よりも前の位置をオフセットとして設定することを特徴とするものである。これによって、圧縮処理を所定の処理単位ごとに行うことができ、符号化時のエラーの発生や復号後の画質劣化を防止することができる。
【００１３】
【発明の実施の形態】
図１は、本発明の第１の実施の形態を示すブロック図である。図中、１は画像入力部、２はストライプ分割部、３はオフセット処理部、４は圧縮部である。画像入力部１は、画像データを入力する。例えばスキャナやデジタルカメラなどの入力機器で構成してもよいし、予め保存されている画像データを読み出したり、ネットワークなどを介して送られてくる画像データを受け取ったり、あるいは他のソフトウェアなどから画像データを受け取ってもよい。
【００１４】
ストライプ分割部２は、画像入力部１から入力された画像データをストライプ分割する。ストライプ分割方法としては任意の方法を用いることができる。例えば装置毎に常に固定のストライプ長で分割してもよいし、原稿毎に固定のストライプ長で分割してもよいし、ページ毎に固定のストライプ長に分割してもよい。以下に説明する例では、固定のストライプ長は、圧縮部４において圧縮を行う際の所定の処理単位のライン数の倍数であるものとする。
【００１５】
オフセット処理部３は、ストライプ分割部２で分割されたストライプごとのオフセット値、及び有効画像データ長を決定する。初めにストライプごとにオブジェクト存在領域とオブジェクト非存在領域とを検出する。オブジェクト存在領域の検知方法は任意の手法を用いて構わない。例えば、１ライン全て同じ画素値のラインを背景領域と判定し、この条件に当てはまらないラインは文字や写真等のオブジェクトが存在するとする。そしてラインごとに判定してゆき、全ての判定結果からオブジェクト存在ラインを全て含む有効画像データ領域を抽出する等の手法を用いることができる。オブジェクト存在領域が検出されたら、その開始位置を仮のオフセット、オブジェクト存在領域の副走査方向の長さを仮の有効画像データ長とする。仮の有効画像データ長が次に行う圧縮部４における処理単位のライン数の倍数に合致するか否かを判定し、合致する場合はそのままオフセット、及び有効画像データ長を適用する。合致しない場合は、合致するようにオフセット及び有効画像データ長を再決定する。例えば不足するライン数だけオフセットをずらし、有効画像データ長が圧縮部４における処理単位のライン数の倍数となるようにすることができる。
【００１６】
圧縮部４は、オフセット処理部３で決定したオフセット位置から有効画像データ長の領域の画像を所定の符号化方式により所定の処理単位ごとに圧縮する。
【００１７】
図４は、本発明の第１の実施の形態における動作の一例を示すフローチャートである。図中、Ｓｔｎはｎ番目のストライプ、ｓ＿ｙは注目ストライプ内のオフセット位置、ｅ＿ｙは注目ストライプ内の有効画像データ領域の終点位置、ｌ＿ｙは注目ストライプ内の有効画像データ領域の副走査方向の長さ、ｈ＿ｙは注目ストライプの最終ライン位置、ｃは圧縮処理単位を示す。
【００１８】
Ｓ２１において、画像入力部１で画像を入力し、Ｓ２２において、ストライプ分割部２でストライプ分割を行う。Ｓ２３において、変数ｎを１に初期化し、最初のストライプを注目ストライプとして設定する。
【００１９】
Ｓ２４において、オフセット処理部３は、注目ストライプとして設定されているｎ番目のストライプについて、オフセット位置ｓ＿ｙ、有効画像データ領域の終点位置ｅ＿ｙ、有効画像データ長ｌ＿ｙ、ストライプ最終ライン位置ｈ＿ｙを求める。そしてＳ２５において、有効画像データ長ｌ＿ｙが圧縮部４で行われる圧縮処理の処理単位ｃの倍数に合致しているか否か判定する。この判定は、
ｌ＿ｙ％ｃ＝０  …（式１）
が成立しているか否かを判定すればよい。ここで、演算子‘％’は剰余を算出する演算子である。式１が成立している場合は、有効画像データ長ｌ＿ｙが圧縮処理単位ｃの倍数に合致しており、そのまま圧縮処理を行うことができるので、Ｓ３０へ進む。そしてＳ３０において、注目ストライプＳｔｎのオフセット位置ｓ＿ｙから有効画像データ長ｌ＿ｙだけの領域の画像を圧縮部４で圧縮する。
【００２０】
式１が成立していない場合は、そのまま圧縮処理単位ｃごとに圧縮処理を行うと、ラインが不足することを示している。この場合には、Ｓ２６において、有効画像データ長の再決定を行う。すなわち、
α＝ｃ−（ｌ＿ｙ％ｃ）  …（式２）
ｌ＿ｙ’＝ｌ＿ｙ＋α    …（式３）
により新たな有効画像データ長ｌ＿ｙ’を求める。
【００２１】
次にＳ２７において、有効画像データ領域の終点位置とストライプ最終ライン位置が一致するか否かを判定する。すなわち、
ｅ＿ｙ＝ｈ＿ｙ  …（式４）
か否かを判定すればよい。式４が成立する場合、圧縮処理において不足するラインを有効画像データ領域の下部に求めることはできない。そのため、オフセットを調整して、有効画像データ領域の上部のラインを含めるように再決定する。すなわち、Ｓ２８において、
ｓ＿ｙ’＝ｓ＿ｙ−α  …（式５）
を計算し、新たなオフセット位置ｓ＿ｙ’を求める。そして、求めた新たなオフセット位置ｓ＿ｙ’と、Ｓ２６で求めた新たな有効画像データ長ｌ＿ｙ’を適用するものと決定する。
【００２２】
Ｓ２７で式４が成立していない場合は、Ｓ２４で求めたオフセット位置ｓ＿ｙをそのまま適用するとともに、Ｓ２６で求めた新たな有効画像データ長ｌ＿ｙ’を適用するものと決定する。なお、新たな有効画像データ長ｌ＿ｙ’を適用することで、有効画像データ領域の最終ラインがストライプ最終ライン位置ｈ＿ｙを超えてしまう場合も考えられる。このような場合には、式５を用いたり、あるいはストライプ最終ライン位置ｈ＿ｙからはみ出すライン数βだけオフセット位置ｓ＿ｙを減じ、新たなオフセット位置ｓ＿ｙ’を算出して適用するとよい。
【００２３】
このようにして適用するオフセット位置及び有効画像データ長を決定したら、Ｓ３０において、注目ストライプＳｔｎのオフセット位置ｓ＿ｙまたは新たなオフセット位置ｓ＿ｙ’から、新たな有効画像データ長ｌ＿ｙ’だけの領域の画像を、圧縮部４で所定の符号化方式により所定の処理単位ごとに圧縮する。
【００２４】
Ｓ３１において、全てのストライプに対して処理を終えたか否かを判定する。すなわち、変数ｎの値がストライプの総数Ｎに等しくなったか否かを判定する。未処理のストライプが残っている場合には、Ｓ３２において変数ｎの値を１だけ増加させ、次のストライプを注目ストライプとし、Ｓ２４へ戻って同様の処理を繰り返す。変数ｎの値がストライプの総数Ｎに等しくなり、すべてのストライプについて処理を終えたら、この処理を終了する。
【００２５】
上述の第１の実施の形態における動作の一例を、具体例を用いて説明する。ここでは一例として、図２に示す画像について、図３（Ａ）に示すようにストライプ分割して圧縮する場合について説明する。図３（Ａ）に示すように分割された各ストライプについて、順にＳ２４ないしＳ３０の処理を行う。
【００２６】
上述のように、まずＳ２４において、オフセット位置ｓ＿ｙ、有効画像データ領域の終点位置ｅ＿ｙ、有効画像データ長ｌ＿ｙ、ストライプ最終ライン位置ｈ＿ｙを求める。図５は、オフセット位置及び有効画像データ長の一例の説明図である。例えば、図３（Ａ）に示す２番目のストライプＳｔ２におけるオフセット位置、有効画像データ長、ストライプ長は、図５に示すようになる。図５に示す例では、ストライプ最終ライン位置ｈ＿ｙは、有効画像データ領域の終点位置ｅ＿ｙでもある。
【００２７】
Ｓ２５において式１が成立するか否かを判定する。ここでは式１が成立しないものとする。すると、Ｓ２６において、新たな有効画像データ長ｌ＿ｙ’を算出する。そして、Ｓ２７において、式４に示したように、有効画像データ領域の終点位置ｅ＿ｙとストライプ最終ライン位置ｈ＿ｙを比較する。例えば図３（Ａ）の２番目のストライプＳｔ２では、図５でも説明したように有効画像データ領域の終点位置ｅ＿ｙとストライプ最終ライン位置ｈ＿ｙは等しい。そのため、Ｓ２８に進む。
【００２８】
図６は、有効画像データ領域の終点位置とストライプ最終ライン位置が等しい場合のオフセット位置及び有効画像データ長の再決定の一例の説明図である。有効画像データ領域の終点位置ｅ＿ｙとストライプ最終ライン位置ｈ＿ｙが等しい場合、図６（Ａ）からも分かるように、下側に新たにラインを獲得しようとしてもラインが存在しない。そのため、図６（Ｂ）に示すように、オフセット位置よりも上側のラインを圧縮処理に利用する。そのために、オフセット位置を不足しているライン数分だけ戻し、式５によって新たなオフセット位置ｓ＿ｙ’を求める。また、不足していたライン数を有効画像データ領域に含めるため、式３によって計算された新たな有効画像データ長ｌ＿ｙ’を適用する。このようにして、有効画像データ領域の長さを圧縮処理単位のライン数の倍数に合致するように設定し、圧縮処理が可能となる。
【００２９】
図７は、有効画像データ領域の終点位置とストライプ最終ライン位置が等しくない場合の有効画像データ長の再決定の一例の説明図である。有効画像データ領域の終点位置ｅ＿ｙとストライプ最終ライン位置ｈ＿ｙが等しくない場合の例として、図３（Ａ）の４番目のストライプＳｔ４について説明する。このストライプＳｔ４の場合には、図７（Ａ）に示すように、オフセット位置はストライプ先頭位置である。そのため、有効画像データ長ｌ＿ｙが圧縮処理単位ｃの倍数に合致しない場合に、図６に示した場合と同様にオフセット位置をずらすわけにはいかない。しかし、有効画像データ領域を副走査方向に延長することが可能である。従って、図７（Ｂ）に示すように、有効画像データ領域の終了位置を副走査方向へずらすべく、式３によって計算された新たな有効画像データ長ｌ＿ｙ’を適用する。このようにして、有効画像データ領域の長さを圧縮処理単位のライン数の倍数に合致する様に設定し、圧縮処理が可能となる。
【００３０】
このように、この第１の実施の形態では、ストライプ分割後に各ストライプ内の有効画像データ領域のみを圧縮する際に、有効画像データ領域が圧縮処理単位と合致せず、かつ有効画像データ領域の終点位置がストライプ境界位置と一致する場合には、オフセット位置を副走査方向と反対方向へ移動させるので、圧縮処理の際に処理単位と不一致を起こすことによる不具合を生じることがない。また、このような処理を行うことによって、ストライプ境界における不整合を防ぐことができ、画質を維持することができる。さらに、このような簡単な構成で実現することができるとともに、少量のメモリで任意のストライプ長、かつ任意の有効画像データ長の画像データに対応可能であり、任意の圧縮方式にも対応可能である。
【００３１】
なお、例えば図３（Ａ）の１番目のストライプＳｔ１のように、オフセット位置がストライプ先頭位置とは異なり、また、有効画像データ領域の終点位置とストライプ最終ライン位置が異なる場合には、この例では図７に示したようにオフセット位置をずらさずに有効画像データ長を再設定することとしている。しかしこれに限らず、図６に示したように、オフセット位置をずらすとともに有効画像データ長を再設定するように構成することもできる。あるいは、両者を組み合わせ、オフセット位置をずらすとともに、有効画像データ領域の終点位置をずらして、有効画像データ長を調整してもよい。
【００３２】
上述の説明では、ストライプごとにオフセットを１つずつ設定しているが、１つの画像に１つのオフセットしか設定出来ない場合にも同様に処理が可能である。また、１つのストライプについて、複数の有効画像データ領域が存在する場合に対応し、複数のオフセットを設定可能に構成してもよい。この場合、それぞれの有効画像データ領域について、上述のような調整処理を行うことができる。
【００３３】
図８は、本発明の第２の実施の形態を示すブロック図である。図中、図１と同様の部分には同じ符号を付して説明を省略する。５はストライプ長計数部、６は記憶部である。ストライプ分割部２は、上述の第１の実施の形態と同様、画像入力部１から入力された画像データをストライプ分割する。ストライプ分割方法としては固定長の分割方式に限らず、任意の方法を用いることができる。例えば原稿の内容を判断して、常にストライプ長が可変になるように分割してもよい。この場合、例えばオブジェクトの区切りを検知し、ストライプ分割境界にするようにしても構わない。もちろん、装置ごと、原稿ごと、ページごとに常に固定のストライプ長で分割してもよい。
【００３４】
ストライプ長計数部５は、圧縮処理の対象となっている注目ストライプの副走査方向の長さを計数する。記憶部６は、注目ストライプ、及び、注目ストライプと隣接するストライプの画像を記憶する。隣接するストライプの画像は、例えば注目ストライプの前のストライプの画像、あるいは、次のストライプの画像とすることができる。以下の説明では、隣接するストライプの画像として次のストライプの画像を記憶するものとする。
【００３５】
図９は、本発明の第２の実施の形態における動作の一例を示すフローチャートである。図中、Ｓｔｎはｎ番目のストライプ、ｌ＿ｈは注目ストライプ長を示す。また、ＭＥＭ０は注目ストライプ内の画像データを格納するメモリ、ＭＥＭ１は次ストライプ内の画像データを格納するメモリを示し、このメモリは記憶部６内に設けられている。
【００３６】
Ｓ４１において画像入力部１で画像を入力し、Ｓ４２においてストライプ分割部２でストライプ分割を行う。Ｓ４３において、変数ｎを１に初期化し、注目ストライプを最初のストライプに設定する。
【００３７】
Ｓ４４において、注目ストライプが最終ストライプか否かを判定する。この判定は、変数ｎの値が分割されたすべてのストライプの個数Ｎに等しいか否かで判定することができる。注目ストライプが最終ストライプでない場合は、Ｓ４５に進み、注目ストライプ内の画像データ、及び次ストライプ内の画像データをそれぞれメモリＭＥＭ０，ＭＥＭ１に格納する。順にストライプを処理する場合、最初のストライプ以外では、ＭＥＭ１に格納されているストライプの画像データをＭＥＭ０に格納し、新たに次のストライプの画像データをＭＥＭ１に格納すればよい。もちろん、メモリを交互に使用すれば、メモリ間の移動も行わなくてよい。
【００３８】
Ｓ４６において、メモリＭＥＭ０に格納されている注目ストライプについて、ストライプ長計数部５で注目ストライプ長ｌ＿ｈを計数する。Ｓ４７において、計数した注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数に合致しているか否かを判定する。合致している場合はＳ５３に進み、注目ストライプＳｔｎを圧縮部４で所定の符号化方式にて圧縮処理単位ごとに圧縮する。
【００３９】
注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数に合致していない場合には、Ｓ４８において、注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数になるように、メモリＭＥＭ１の先頭から不足ライン数分の画像データをメモリＭＥＭ０に一時的に付加する。そしてＳ５３において、圧縮部４で所定の符号化方式にて圧縮処理単位ごとに圧縮する。メモリＭＥＭ１からの画像データの付加によって、圧縮処理単位ごとの圧縮を行うことができるようになる。付加した画像データは元々存在していたデータであるから、復号時における画質の劣化を最小限に抑えることができる。なお、不足ライン数分の付加は、実際にストライプ長を変更したわけではないため、付加した部分は復号されたときに捨てられる。また、メモリＭＥＭ０に付加したメモリＭＥＭ１の画像データは、次のストライプが注目ストライプとなったときに改めて圧縮処理される。
【００４０】
注目ストライプの圧縮処理が終了したら、Ｓ５４において、全てのストライプに対して処理を終えたか否かを、変数ｎの値がストライプの総数Ｎに等しくなったか否かにより判定する。未処理のストライプが残っている場合には、Ｓ５５において変数ｎの値を１だけ増加させ、次のストライプを注目ストライプとして設定し、Ｓ４４へ戻る。このようにして最終ストライプを除く各ストライプについて上述のような処理を繰り返し行う。
【００４１】
一方、Ｓ４４で注目ストライプが最終ストライプであると判定された場合は、Ｓ４９において、注目ストライプ内の画像データをＭＥＭ０に格納する。順にストライプを処理している場合には、メモリＭＥＭ１の内容をメモリＭＥＭ０に移すか、メモリＭＥＭ１をＭＥＭ０と見なして処理を行うことができる。
【００４２】
そしてＳ５０において、ストライプ長計数部５で注目ストライプの注目ストライプ長ｌ＿ｈを計数する。Ｓ５１において、計数した注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数に合致しているか否かを判定し、合致している場合はＳ５３に進み、最終ストライプについて圧縮部４で所定の符号化方式により圧縮処理単位ごとに圧縮する。
【００４３】
Ｓ５１で注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数に合致していない場合には、もう次のストライプ画像は存在しないので、次のストライプの画像を付加することはできない。そのため、Ｓ５２において、注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数になるように、不足ライン数分の白画素データをＭＥＭ０に一時的に付加する。ここで白画素データを付加しているのは、一般的に背景色が白画素の場合が多いことから想定しているものである。従って、他の背景色であっても構わないし、ストライプ内の最終ラインを繰り返しコピーする等の処理を行っても構わない。画像データの付加によってライン数が圧縮処理単位のライン数の倍数に合致したら、Ｓ５３において、画像データが付加された最終ストライプの画像を圧縮部４で所定の符号化方式により圧縮処理単位ごとに圧縮する。
【００４４】
最終ストライプの圧縮処理後、Ｓ５４においてすべてのストライプの処理終了が判定され、図９に示す処理が終了する。
【００４５】
上述の第２の実施の形態における動作の一例を、具体例を用いて説明する。ここでは一例として、図２に示す画像について、図３（Ｂ）に示すようにストライプ分割して圧縮する場合について説明する。図３（Ｂ）に示すように分割された各ストライプについて、順にＳ４４ないしＳ５３の処理を行う。
【００４６】
上述のようにＳ４５において、注目ストライプと次のストライプの画像をメモリＭＥＭ０及びＭＥＭ１に格納する。図１０は、記憶部６に記憶された画像データの一例の説明図である。ここでは図３（Ｂ）における４番目のストライプＳｔ４を注目ストライプとした場合について示しており、ストライプＳｔ４の画像データがメモリＭＥＭ０に格納される。また、次の５番目のストライプＳｔ５がメモリＭＥＭ１に格納される。
【００４７】
Ｓ４６において、このメモリＭＥＭ０に格納された注目ストライプ、すなわち４番目のストライプＳｔ４の注目ストライプ長ｌ＿ｈを計数し、Ｓ４７において、注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数に合致しているか否かを判定する。ここでは合致していないものとする。
【００４８】
図１１は、注目ストライプに次のストライプの画像を付加する場合の説明図である。ストライプ分割部２においてストライプ分割を行う際のストライプ長は任意である。そのため、図１１（Ａ）の左側に示すように、メモリＭＥＭ０に格納されている注目ストライプの注目ストライプ長ｌ＿ｈと、圧縮処理単位のライン数の倍数が異なる場合が発生する。このような場合、図１１（Ｂ）に示すように、メモリＭＥＭ１に格納されている次のストライプ画像の先頭から不足ライン数分の画像データを、メモリＭＥＭ０の画像に一時的に付加する。これによって、注目ストライプ長ｌ＿ｈは圧縮処理単位のライン数の倍数となり、圧縮部４において正常に圧縮処理を行うことができる。また、復号後の画像についても劣化を抑えることができる。
【００４９】
なお、メモリＭＥＭ０に付加した画像は、メモリＭＥＭ１から切り取ってしまうわけではなく、コピーあるいは参照して利用するものである。復号後はこの注目ストライプの画像としては利用されずに捨てられる。この部分は、メモリＭＥＭ１に格納されているストライプを圧縮する際に圧縮される。
【００５０】
もちろん、注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数である場合には、そのまま、圧縮部４で所定の符号化方式によって圧縮処理単位ごとに圧縮すればよい。
【００５１】
上述の動作例及び具体例では、注目ストライプ長ｌ＿ｈが圧縮処理単位のライン数の倍数でない場合には、次のストライプから不足するライン数だけの画像を付加して圧縮した。しかしこれに限らず、例えば前のストライプから不足するライン数だけの画像を付加して圧縮することもできる。図１２は、注目ストライプに前のストライプの画像を付加する場合の説明図である。この場合には、メモリＭＥＭ１には、注目ストライプの前のストライプ画像が格納される。図１２（Ａ）の左側に示すように、メモリＭＥＭ０に格納されている注目ストライプの注目ストライプ長ｌ＿ｈと、圧縮処理単位のライン数の倍数が異なるとする。この場合、図１２（Ｂ）に示すように、メモリＭＥＭ１に格納されている前のストライプ画像の終端から不足ライン数分の画像データを、メモリＭＥＭ０の画像の先頭に一時的に付加する。これによって、注目ストライプ長ｌ＿ｈは圧縮処理単位のライン数の倍数となり、圧縮部４において正常に圧縮処理を行うことができる。また、復号後の画像についても劣化を抑えることができる。
【００５２】
このように、注目ストライプの前のストライプを記憶部６に格納しておき、不足ライン数分の画像データを注目ストライプに付加しても、上述の次のストライプの画像データを利用する場合と同様に、圧縮処理を行うことができる。
【００５３】
上述のように、この第２の実施の形態では、ストライプ分割後に各ストライプ内の画像データを圧縮する際に、ストライプ長が圧縮処理単位と合致しない場合には、ストライプ長が圧縮処理単位に合致するように、次のストライプの先頭ラインあるいは前の終端ラインから不足ライン数分の画素データを注目ストライプの画像データに一時的に付加し、符号化処理を行う。これによって、圧縮処理の際にライン数が一致せずにエラーを起こすなどの不具合を生じることがない。また、一般に圧縮処理単位に合致していない画像を自動で圧縮する際には、任意のデータを任意の位置に付加して行う場合が多く、復号後にストライプ境界部において不整合が生じ易い。しかし、この第２の実施の形態で示した方式を用いることによって、ストライプ境界における不整合を防ぐことができ、復号後の画質を維持することが可能である。さらに、上述のような簡単な構成で実現することができ、任意のストライプ長の画像データ、任意の圧縮方式にも対応可能である。
【００５４】
なお、この第２の実施の形態で示した手法を、上述の第１の実施の形態で示したオフセット処理を行う場合にも適用することができ、組み合わせて用いることができる。
【００５５】
上述の第１及び第２の実施の形態では、副走査方向に関してストライプ分割を行うことを想定しているが、主走査方向へストライプ分割を行う場合や、双方向へ分割を行う場合においても同様に処理を行うことが可能である。
【００５６】
【発明の効果】
以上の説明から明らかなように、本発明によれば、ストライプ分割された画像を圧縮する際に、圧縮すべきストライプ中の画像データが圧縮処理単位の倍数と合致しない場合に、圧縮処理単位に合致するように、オフセット位置を移動したり、あるいは適切なデータを適切な位置に付加し、圧縮を行う。これによって、正常に圧縮処理を行うことができるとともに、復号及びストライプ合成後にストライプ境界部分に不整合が生じることがなく、画質を維持することができるという効果がある。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態を示すブロック図である。
【図２】  画像の一例の説明図である。
【図３】  ストライプ分割の一例の説明図である。
【図４】  本発明の第１の実施の形態における動作の一例を示すフローチャートである。
【図５】  オフセット位置及び有効画像データ長の一例の説明図である。
【図６】  有効画像データ領域の終点位置とストライプ最終ライン位置が等しい場合のオフセット位置及び有効画像データ長の再決定の一例の説明図である。
【図７】  有効画像データ領域の終点位置とストライプ最終ライン位置が等しくない場合の有効画像データ長の再決定の一例の説明図である。
【図８】  本発明の第２の実施の形態を示すブロック図である。
【図９】  本発明の第２の実施の形態における動作の一例を示すフローチャートである。
【図１０】  記憶部６に記憶された画像データの一例の説明図である。
【図１１】  注目ストライプに次のストライプの画像を付加する場合の説明図である。
【図１２】  注目ストライプに前のストライプの画像を付加する場合の説明図である。
【符号の説明】
１…画像入力部、２…ストライプ分割部、３…オフセット処理部、４…圧縮部、５…ストライプ長計数部、６…記憶部、１１…背景部、１２…文字部、１３…写真部。
【図１】
0003758021.tif 000002
【図２】
0003758021.tif 000003
【図３】
0003758021.tif 000004
【図４】
0003758021.tif 000005
【図５】
0003758021.tif 000006
【図６】
0003758021.tif 000007
【図７】
0003758021.tif 000008
【図８】
0003758021.tif 000009
【図９】
0003758021.tif 000010
【図１０】
0003758021.tif 000011
【図１１】
0003758021.tif 000012
【図１２】
0003758021.tif 000013