(57)【要約】【課題】  ３２×３２の画像など、サイズの小さい画像データではタイルの先頭ラインにおける予測効率の低下が問題となる。【解決手段】  タイルの周囲に想定する画素値を画像のタイプ（輝度画像、濃度画像など）などにより変更することで、先頭ラインでの性能低下を抑制する。【選択図】  図１
2007166404.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象の画像データを複数画素からなるブロックに分割するブロック分割手段と、
符号化対象ブロックの周囲に相当する画素値を決定する周囲画素値決定手段と、
該周囲画素値決定手段により決定された画素値を用いて、前記符号化対象ブロックを符号化する符号化手段とを備え、
前記周囲画素値決定手段は、符号化対象ブロックの画像データが輝度で表されるか濃度で表されるかに基づいて、画素値を決定することを特徴とする画像処理装置。
【請求項２】
符号化対象の画像データを複数画素からなるブロックに分割するブロック分割手段と、
符号化対象ブロックの周囲に相当する画素値を決定する周囲画素値決定手段と、
該周囲画素値決定手段により決定された画素値を用いて、前記符号化対象ブロックを符号化する符号化手段とを備え、
前記周囲画素値決定手段は、前記符号化対象ブロックの内部の画素値から背景色を検出し、これを前記周囲に相当する画素値とすることを特徴とする画像処理装置。
【請求項３】
前記周囲画素値決定手段により検出される背景色は、各成分で最も出現頻度の高い値の組み合わせであることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記符号化手段は予測符号化を用いることを特徴とする請求項１〜３の何れかに記載の画像処理装置。
【請求項５】
前記符号化手段はランレングス符号化モードを備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
画像をブロックごとに符号化して得られた符号化データを、該ブロックごとに復号する画像処理装置であって、
復号対象ブロックの周囲に相当する画素値を決定する周囲画素値決定手段と、
該周囲画素値決定手段により決定された画素値を用いて、前記復号対象ブロックを復号する復号手段とを備え、
前記周囲画素値決定手段は、復号対象ブロックの画像データが輝度で表されるか濃度で表されるかに基づいて、画素値を決定することを特徴とする画像処理装置。
【請求項７】
画像をブロックごとに符号化して得られた符号化データを、該ブロックごとに復号する画像処理装置であって、
復号対象ブロックの周囲に相当する画素値を決定する周囲画素値決定手段と、
該周囲画素値決定手段により決定された画素値を用いて、前記復号対象ブロックを復号する復号手段とを備え、
前記周囲画素値決定手段は、各復号対象ブロックの符号化データに含まれる周囲想定画素値を取り出してそのまま出力することを特徴とする画像処理装置。
【請求項８】
各復号対象ブロックの符号化データに含まれる周囲想定画素値は、着目するブロックについて各成分で最も出現頻度の高い値を組み合わせたものであることを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記復号手段は予測符号化に対応する復号を行うことを特徴とする請求項６〜８の何れかに記載の画像処理装置。
【請求項１０】
前記復号手段はランレングス符号化モードを備えることを特徴とする請求項９記載の画像処理装置。
【請求項１１】
符号化対象の画像データを複数画素からなるブロックに分割するブロック分割ステップと、
符号化対象ブロックの周囲に相当する画素値を決定する周囲画素値決定ステップと、
該周囲画素値決定ステップにて決定された画素値を用いて、前記符号化対象ブロックを符号化する符号化ステップとを備え、
前記周囲画素値決定ステップでは、符号化対象ブロックの画像データが輝度で表されるか濃度で表されるかに基づいて、画素値を決定することを特徴とする画像処理方法。
【請求項１２】
符号化対象の画像データを複数画素からなるブロックに分割するブロック分割ステップと、
符号化対象ブロックの周囲に相当する画素値を決定する周囲画素値決定ステップと、
該周囲画素値決定ステップにて決定された画素値を用いて、前記符号化対象ブロックを符号化する符号化ステップとを備え、
前記周囲画素値決定ステップでは、前記符号化対象ブロックの内部の画素値から背景色を検出し、これを前記周囲に相当する画素値とすることを特徴とする画像処理方法。
【請求項１３】
画像をブロックごとに符号化して得られた符号化データを、該ブロックごとに復号する画像処理方法であって、
復号対象ブロックの周囲に相当する画素値を決定する周囲画素値決定ステップと、
該周囲画素値決定ステップにて決定された画素値を用いて、前記復号対象ブロックを復号する復号ステップとを備え、
前記周囲画素値決定ステップでは、復号対象ブロックの画像データが輝度で表されるか濃度で表されるかに基づいて、画素値を決定することを特徴とする画像処理方法。
【請求項１４】
画像をブロックごとに符号化して得られた符号化データを、該ブロックごとに復号する画像処理方法であって、
復号対象ブロックの周囲に相当する画素値を決定する周囲画素値決定ステップと、
該周囲画素値決定ステップにて決定された画素値を用いて、前記復号対象ブロックを復号する復号ステップとを備え、
前記周囲画素値決定ステップでは、各復号対象ブロックの符号化データに含まれる周囲想定画素値を取り出してそのまま出力することを特徴とする画像処理方法。
【請求項１５】
前記請求項１１〜１４の何れか１項に記載の各工程をコンピュータに実行させるべく、該コンピュータが読取り可能なコンピュータプログラム。
【請求項１６】
請求項１５に記載のコンピュータプログラムを、前記コンピュータが読取り可能な状態に記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データの符号化技術に関するものである。
【背景技術】
【０００２】
従来、画像をブロックごとに符号化する技術として、以下のものが知られている。
【０００３】
特許文献１に、画像の局所的性質に応じてブロックごとに適切な符号化方式を適用することにより、圧縮率の向上することが記載されている。
【特許文献１】特開平０９−００９２６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、ブロック単位に符号化または復号を行う場合において、符号化対象ブロックに適切な周囲の画素値を用いることにより、効率よく符号化または復号することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の画像処理装置によれば、符号化対象の画像データを複数画素からなるブロックに分割するブロック分割手段と、符号化対象ブロックの周囲に相当する画素値を決定する周囲画素値決定手段と、該周囲画素値決定手段により決定された画素値を用いて、前記符号化対象ブロックを符号化する符号化手段とを備え、前記周囲画素値決定手段は、符号化対象ブロックの画像データが輝度で表されるか濃度で表されるかに基づいて、画素値を決定することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ブロック単位に符号化または復号を行う場合において、符号化対象ブロックに適切な周囲の画素値を用いることにより、効率よく符号化または復号することができる。
【発明を実施するための最良の形態】
【０００７】
以下添付図面を参照して、本発明を好適な実施例に従って詳細に説明する。
【実施例１】
【０００８】
図１４は本実施例に係る画像処理装置の基本構成を示す図である。
【０００９】
１４０１はＣＰＵで、ＲＡＭ１４０２やＲＯＭ１４０３に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像符号化処理を実行する。
【００１０】
１４０２はＲＡＭで、外部記憶装置１４０７や記憶媒体ドライブ１４０８、若しくはＩ／Ｆ１４０９を介して外部装置からダウンロードされたプログラムやデータを記憶する為のエリアを備えると共に、ＣＰＵ１４０１が各種の処理を実行する際に使用するワークエリアも備える。
【００１１】
１４０３はＲＯＭで、ブートプログラムや本装置の設定プログラムやデータを格納する。
【００１２】
１４０４、１４０５は夫々キーボード、マウスで、ＣＰＵ１４０１に対して各種の指示を入力することができる。
【００１３】
１４０６は表示装置で、ＣＲＴや液晶画面などにより構成されており、画像や文字などの情報を表示することができる。
【００１４】
１４０７は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であって、ここにＯＳや後述する画像符号化処理の為のプログラム、符号化対象の画像データなどが保存されており、ＣＰＵ１４０１による制御によって、これらのプログラムやデータはＲＡＭ１４０２上の所定のエリアにロードされる。
【００１５】
１４０８は記憶媒体ドライブで、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されたプログラムやデータを読み出してＲＡＭ１４０２や外部記憶装置１４０７に出力するものである。なお、この記憶媒体に後述する画像符号化処理の為のプログラム、符号化対象画像を記録しておいても良く、その場合、記憶媒体ドライブ１４０８は、ＣＰＵ１４０１による制御によって、これらのプログラムやデータをＲＡＭ１４０２上の所定のエリアにロードする。
【００１６】
１４０９はＩ／Ｆで、このＩ／Ｆ１４０９によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。例えはＩ／Ｆ１４０９を介して符号化対象となる画像データを本装置の本装置のＲＡＭ１４０２や外部記憶装置１４０７に入力することや、逆に、本装置のＲＡＭ１４０２や外部記憶装置１４０７から生成した画像符号化データを装置外部に出力することができる。
【００１７】
１４１０は上述の各部を繋ぐバスである。
【００１８】
図１は本実施例に係る画像処理装置の機能構成を示すブロック図である。
【００１９】
図１に示すように、本実施例に係る画像処理装置は、画像入力部１０１、ラインバッファ１０２、ブロック分割部１０３、タイルバッファ１０４、可逆符号化部１０５、符号列形成部１０６、周辺画素値決定部１０７とを備える。
【００２０】
同図において１０８、１０９は信号線を示す。なお、図１に示す構成はハードウェアにより実現しても良いが、本実施例では図１に示す各部の機能をコンピュータに実現させるプログラムにより実現するものとし、このプログラムは上記外部記憶装置１４０７や記憶媒体ドライブ１４０８、もしくはＩ／Ｆ１４０９を介して外部装置からＲＡＭ１４０２にロードされるものとする。
【００２１】
以下、図１を参照して、本実施例に係る画像処理装置が行う画像符号化処理について説明する。 
本実施例に係る画像処理装置における符号化対象画像は、文字、線画、ＣＧなどが主たる構成要素となるオフィス文書画像が中心であるとする。
【００２２】
また、符号化対象画像の色空間はRGBまたはCMYKカラー画像データであり、各コンポーネント（色）8ビットで０〜２５５の範囲の輝度値または濃度値を表現した画素データにより構成されるものとする。
【００２３】
符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR,G,BまたはC,M,Y,Kの順番でデータを並べて構成されるものとする。画像は水平方向W画素、垂直方向H画素により構成されるものとする。
【００２４】
次に、本実施例の画像処理装置での各部の動作について説明する。
【００２５】
まず、符号化対象画像データの入力に先立ち、信号線１０８から画像の属性を示す情報が入力される。ここで注目する属性は画像の色空間であり、ＲＧＢ画像であれば属性情報として“0”が入力され、ＣＭＹＫ画像であれば“1”が入力されるとする。
【００２６】
周辺画素値決定部１０７は信号線１０８から入力される属性情報に応じて、各タイルの周囲に想定する画素の値を決定する。
【００２７】
ここで、属性情報が“０”である場合、すなわち符号化対象の画像がＲＧＢ画像である場合には（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）に、また、属性情報が“１”である場合、すなわちＣＭＹＫ画像である場合には（Ｃ，Ｍ，Ｙ，Ｋ）＝（０，０，０，０）を周囲想定画素値とする。
【００２８】
オフィス文書画像では無背景（白色）の画像が多く見られ、このように設定することにより、タイル境界での予測精度の低下をできるだけ小さくすることを目的とする。
【００２９】
続いて、符号化対象画像データが画像入力部１０１から、ラスタースキャン順に入力される。
【００３０】
ラインバッファ１０２は画像データを所定のライン数（Tｈ）分格納する領域を持ち、画像入力部１０１から入力される画像データを順次格納していく。以降、符号化対象画像データをThラインの幅で分割したデータをストライプと呼ぶ。ラインバッファ１０２に必要とされる容量、即ち１ストライプのデータ量はW×Tｈ×３（RGB分）バイトである。説明の便宜上、垂直方向画素数HはThの整数倍であるとし、画像の末尾で不完全なストライプが発生しないものとする。
【００３１】
ラインバッファ１０２に１ストライプの画像データ、即ち、Tｈライン分の画像データが格納されるとブロック分割部１０３はラインバッファ１０２に格納されるThライン分の画像データを水平方向Tw画素、垂直方向Th画素で構成される矩形ブロックに分割して、ブロック単位に読み出してタイルバッファ１０４へと格納する。
【００３２】
説明の便宜上、画像の水平方向画素数WはTwの整数倍であるとし、矩形ブロックに分割した場合に不完全なブロックが発生しないものとする。この水平方向Tｗ画素、垂直方向Th画素で構成される矩形ブロックをタイルと呼ぶ。
【００３３】
図８に符号化対象の画像データとストライプ、タイルの関係を図示する。図のように画像中、水平方向ｉ番目、垂直方向ｊ番目のタイルをＴ（ｉ，ｊ）と記す。
【００３４】
タイルバッファ１０４は１タイル分の画素データを格納する領域を持ち、ブロック分割部１０３から出力されるタイルデータを順次格納していく。タイルバッファ１０４に必要とされる容量はTw×Th×３（RGB分）バイトである。
【００３５】
タイルバッファ１０４に格納される１タイル分の画素データの水平方向画素位置ｘ、垂直方向画素位置ｙにある画素のコンポーネントｃの輝度値（または濃度値）をＰ（ｘ、ｙ、ｃ）と定義する。
【００３６】
ｘは０からＴｗ−１まで、ｙは０からＴｈ−１までの範囲であり、ｃはコンポーネントの識別子であり、RGB画像の場合は０から２まででそれぞれＲ，Ｇ，Ｂを表す。
【００３７】
同様にCMYK画像の場合には0から3までであり、それぞれ、C，M，Y，Kを表す。例えばRGB画像の場合に、タイル内水平方向画素位置８、垂直方向画素位置１４にある画素のG成分の輝度値はP(8,14,1)と表す。
【００３８】
可逆符号化部１０５はタイルバッファ１０４に格納されるタイルデータをタイル毎独立に可逆符号化してタイル符号化データを生成し、可逆符号化用バッファ１０６に格納する。
【００３９】
可逆符号化部１０５における可逆符号化処理としては様々な手法が適用可能である。
【００４０】
ここではその一例として予測符号化を適用する例について示すが、この他、国際標準方式としてＩＳＯとＩＴＵ−Ｔから勧告されるＪＰＥＧ（ＩＴＵ−Ｔ  Ｔ．８１｜ＩＳＯ／ＩＥＣ１０９１８−１）のロスレスモードや、ＪＰＥＧ−ＬＳ（ＩＴＵ−Ｔ  Ｔ．８７｜ＩＳＯ／ＩＥＣ１４４９５−１）などを用いても良い。
【００４１】
図２に可逆符号化部１０５の内部のブロック図を示す。同図に於いて２０１はバッファ、２０２は予測器、２０３は減算器、２０４はメモリ、２０５はハフマン符号化器、２０６，２０７は信号線である。
【００４２】
図２は、画像データを予測誤差に変換する系列変換の処理に周辺画素を用いた予測変換を用い、符号化処理にはハフマン符号化を用いる可逆符号化部の例である。
【００４３】
メモリ２０５には、予め幾つかの画像データを系列変換して得られた予測誤差の頻度分布に基づいて生成されたハフマンテーブルが格納される。
【００４４】
予測誤差の頻度分布の一般的性質として予測誤差0を中心として出現頻度が高く、予測誤差の絶対値が大きくなるにつれて出現頻度が下がっていく傾向にある。
【００４５】
よって、メモリ２０４に格納されるハフマン符号では予測誤差0近辺に短い符号語が割り当てられ、予測誤差の絶対値が大きい部分には長い符号語が割り当てられる。
【００４６】
以下、図２を参照して可逆符号化部１０５の動作について説明する。
【００４７】
最初に信号線２０６を介して着目するタイルの画素データが順に入力される。タイルデータはラスタースキャン順、かつ、各画素はR,G,BまたはC,M,Y,Kの順番で入力されるものとする。
【００４８】
可逆符号化部１０５における符号化処理は画素の各成分を単位として行われる。Ｒ，Ｇ，ＢまたはＣ，Ｍ，Ｙ，Ｋそれぞれに適用される処理は同様であるのでここではＲＧＢ画像のＲ成分を例に説明する。
【００４９】
バッファ２０１は信号線２０６から入力されるタイルデータを２ライン分格納する。
【００５０】
予測器２０２はバッファ２０１から着目画素の直前の画素のＲ成分の輝度値ａと，１ライン前の画素のＲ成分の輝度値ｂ（図３参照）を取り出し、ｐ＝（ａ＋ｂ）／２の演算を行う事により着目画素のＲ成分の輝度値に対する予測値ｐを生成する。
【００５１】
着目する画素のタイル内の位置を（ｘ、ｙ）とすると、R成分の輝度値はP(x,y,0)であり、a=P(x-1,y,0)、b=P(x,y-1,0)である。
【００５２】
このとき、タイルの最初のラインや、左端にある画素などで、予測値ｐの生成に用いる着目画素の周囲画素の同一成分値ａ，ｂが画像の外側にある場合には、周囲画素値決定部１０７から出力される周囲想定画素値をａ，ｂの値として用いる。すなわち、RGB画像の場合にはａ＝ｂ＝２５５、ＣＭＹＫ画像の場合にはａ＝ｂ＝０となる。
【００５３】
減算器２０３は符号化対象画素のＲ成分の輝度値ｘと予測値ｐとの差分値ｅとして出力する。ハフマン符号器２０５は、予めメモリ２０４に格納されるハフマンテーブルを参照して、差分値ｅに対応する符号化データを信号線２０７から出力する。
【００５４】
上述の処理をタイル内の全ての画素の成分に対して行い、可逆のタイル符号化データを生成、出力する。
【００５５】
符号列形成部１０６は可逆符号化部１０５から出力されるタイル符号化データを結合させ、必要な付加情報を加えて本画像処理装置の出力となる符号列を形成して信号線１０９より出力する。
【００５６】
図９は本画像処理装置の出力符号列の構成を示す図である。出力符号列の先頭には、画像を復号するために必要となる情報、例えば、画像の水平方向画素数、垂直方向画素数、色空間を表す属性情報、コンポーネント数、各コンポーネントのビット数やタイルの幅、高さなどの付加情報がヘッダとして付けられる。
【００５７】
また、このヘッダ部分には、画像データそのものについての情報のみでなく、各タイル共通に使用するハフマン符号化テーブルなど符号化に関する情報も含まれる。図１０は各タイルの出力符号列の構成を示す図である。各タイルの先頭にはタイルヘッダを付加し、各タイルの水平、垂直位置情報（ｉ，ｊ）などを含める。
【００５８】
なお、タイル符号化データ中に所定の値が発生しないように工夫を加えて特殊なマーカを設定し、各タイルデータの先頭、または末尾にマーカを置く、あるいは、各タイルの符号列の長さをタイルの先頭や、符号化データの先頭のヘッダ部分に含めるなどして管理することによりタイル単位のランダムアクセスを可能とすることができる。
【００５９】
図５は、本実施例に係る画像処理装置による符号化対象画像データの符号化処理の流れを示すフローチャートである。なお同図に従ったプログラムはＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、本実施例に係る画像処理装置は図５に示したフローチャートに従った処理を行うことができる。
【００６０】
以下、図５に示したフローチャートを参照して、本実施例に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。
【００６１】
まず、信号線１０８から属性情報が入力され、周辺画素値決定部１０７においてこの属性情報に応じて周囲想定画素値が決定される（ステップＳ５００）。
【００６２】
続いて、画像入力部１０１から画像データの入力が開始され、ラインバッファ１０２に符号化対象となる画像データの１ストライプ分のデータが格納される（ステップＳ５０１）。
【００６３】
次に、ラインバッファ１０２に格納されるストライプについて、ブロック分割部１０３により１つのタイルデータが取り出され、タイルバッファ１０４に格納される（ステップＳ５０２）。
【００６４】
続いて可逆符号化部１０５により、タイルバッファ１０４に格納されるタイルデータの可逆符号化が行われる（ステップＳ５０３）。可逆符号化部１０５から出力されるタイル符号化データを結合して所定のフォーマットで本画像処理装置の出力となる符号化データを生成し、順次装置外部へと出力する（ステップＳ５０４）。
【００６５】
符号化したタイルがストライプ内の最後のタイルであるか否か判断し（ステップＳ５０５）、最後のタイルでない場合（ＮＯ）は隣のタイルに処理の対象を移してＳ５０２から処理を継続し、最後のタイルである場合（ＹＥＳ）にはステップＳ５０６へと処理を移す。
【００６６】
ステップＳ５０６では符号化したストライプが画像の最後のストライプであるか否かを判断し、最後のストライプでない場合（ＮＯ）はステップ５０１に処理を移して次のストライプのデータを読み込んで処理を継続する。
【００６７】
最後のストライプである場合には対象とする画像データについての符号化処理を終了する。
【００６８】
以上の処理により、画像全体の符号化が行われる。なお、ここでは１タイルづつ順番に符号化する方法について述べたが、各タイルの符号化が他のタイルに全く依存していないため、複数のタイルを並列に符号化処理することもできる。
【００６９】
本実施例の画像処理装置で生成した符号化データを復号するにはヘッダに示される属性情報から、周辺画素値決定部１０７と同じく周囲想定画素値を決定し、符号化処理の逆の手順でそれぞれのタイルを復号していくようにすれば良い。
【００７０】
各タイルは独立に符号化されているので、先に述べたように、マーカを検出する、あるいは各タイルの符号化データの長さ情報などから復号したいタイルの符号化データにアクセスすることによって特定タイルのみを復号したり、複数のタイルを並列に復号したりすることができる。
【００７１】
以上の説明のように、本実施例に係る画像処理装置では、画像をタイルに分割し、タイルごとに独立に予測符号化をベースとする可逆符号化を行う符号化方式において、画像の色空間に応じてタイル周囲に想定する画素値を切り替えることにより、タイル境界における予測精度の低下を抑制して符号量を低減することができる。
【実施例２】
【００７２】
第１の実施例の画像処理装置では符号化対象の画像データの色空間によって選択された周囲想定画素値を全てのタイルで用いる構成としたが、タイル毎に周囲想定画素値を変えて設定することもできる。
【００７３】
本発明の第２の実施例として、このような例について説明する。
【００７４】
図６は、本実施例に係る画像処理装置の機能構成を示すブロック図である。第１の実施例で説明した図１と共通のブロックについては同じ番号を付し、説明を省略する。本実施例に係る画像処理装置は、画像入力部１０１、ラインバッファ１０２、ブロック分割部１０３、タイルバッファ１０４、背景色検出部６０１、可逆符号化部６０２、符号列形成部６０３とを備える。同図において１０９は信号線を示す。
【００７５】
なお、本実施例に係る画像処理装置の基本構成は、それぞれの機能を専用のハードウェアによって構成しても良いが、ここでは第１の実施例と同様に図１４に示す構成となっており、図６に示す各部の機能をコンピュータに実現させるプログラムにより実現するものとし、このプログラムは上記外部記憶装置１４０７や記憶媒体ドライブ１４０８、もしくはＩ／Ｆ１４０９を介して外部装置からＲＡＭ１４０２にロードされるものとする。
【００７６】
以下、図６を用いて本実施例に係る画像処理装置が行う処理について説明する。
【００７７】
本実施例に係る画像処理装置の符号化対象とする画像データは、RGBカラー画像データであり、各コンポーネント（色）8ビットで０〜２５５の範囲の輝度値を表現した画素データにより構成されるものとする。
【００７８】
符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR,G,Bの順番でデータを並べて構成されるものとする。画像は水平方向W画素、垂直方向H画素により構成されるものとする。
【００７９】
本実施例の画像処理装置においても第１の実施例の画像処理装置と同様に、画像入力部１０１から入力された画像データをラインバッファ１０２に格納し、ブロック分割部１０３によりタイル単位にデータが取り出されてタイルバッファ１０４に格納される。
【００８０】
背景色検出部６０１はタイルバッファ１０４に格納されるタイルデータについて、先頭ライン、および各ラインの両端の画素についてＲ、Ｇ、Ｂ各成分の輝度値の頻度分布を求め、それぞれに最も発生頻度の高い輝度値Ｍｒ，Ｍｇ，Ｍｂを求め、（Ｒ，Ｇ，Ｂ）＝（Ｍｒ，Ｍｇ，Ｍｂ）をタイルの周囲想定画素値として出力する。
【００８１】
図１３は一つのタイルについてR成分の頻度分布を作成し、その中から最も発生頻度の高い輝度値をMrとして選択する様子を示したものである。
【００８２】
可逆符号化部６０２はタイルバッファ１０４に格納されるタイルデータを国際標準方式ＪＰＥＧ−ＬＳを用いて符号化し、タイル符号化データを出力する。ＪＰＥＧ−ＬＳでは符号化対象画像の外部に位置する画素の各成分値を０として符号化するが、ここでは、背景色検出部６０１から出力される周囲想定画素値を用いるよう変更する。
【００８３】
可逆符号化部６０２から出力される符号化データには、全タイルで共通となるフレームヘッダや、スキャンヘッダ、各種テーブルなどについては含まれず、符号化データ部分のみを出力する。即ち、図７に示した一般的なＪＰＥＧ―ＬＳベースライン符号化データの構成のうち、スキャンヘッダの直後からＥＯＩマーカの直前までのエントロピ符号化データセグメントのみが格納される。なお、ここでは説明簡略化のため、ＤＲＩ、ＲＳＴマーカによるリスタートインターバルの定義や、ＤＮＬマーカによるライン数の定義などは行わないものとする。
【００８４】
符号列形成部６０３は可逆符号化部１０５から出力されるタイル符号化データを結合させ、必要な付加情報を加えて本画像処理装置の出力となる符号列を形成して信号線１０９より出力する。
【００８５】
本実施例の画像処理装置の出力符号列も、図９に示した第１の実施例の画像処理装置の出力符号列と同様の構成とすることができる。図１１は各タイルの出力符号列の構成を示す図である。各タイルの先頭にはタイルヘッダを付加し、各タイルの水平、垂直位置情報（ｉ，ｊ）などを含める。
【００８６】
本実施例ではそれぞれのタイルで周囲想定画素値が異なるため、これを非圧縮で含める。図１１では周囲想定画素値の存在を示すため、あえてタイルヘッダとは別に記しているが、タイルヘッダに含まれる情報としても良い。
【００８７】
なお、タイル符号化データ中に所定の値が発生しないように工夫を加えて特殊なマーカを設定し、各タイルデータの先頭、または末尾にマーカを置く、あるいは、各タイルの符号列の長さをタイルの先頭や、符号化データの先頭のヘッダ部分に含めるなどして管理することによりタイル単位のランダムアクセスを可能とすることができる。
【００８８】
図１２は、本実施例に係る画像処理装置による符号化対象画像データの符号化処理の流れを示すフローチャートである。なお同図に従ったプログラムはＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、本実施例に係る画像処理装置は図１２に示したフローチャートに従った処理を行うことができる。
【００８９】
図１２に示したフローチャートは、第１の実施例の画像処理装置のフローチャートとして説明した図５とほぼ同じであり、属性情報の入力と周囲想定画素値の決定を行うステップ（ステップＳ５００）が無い代わりに、背景色の決定を行うステップ（ステップＳ１２００）が追加されている。図５と同じ処理ステップについては同じ番号を付して説明を省略する。
【００９０】
ステップＳ１２００では、タイルバッファ１０４に格納されるタイルデータについて背景色検出部６０１により周囲想定画素が決定される。
【００９１】
続いて、タイルバッファ１０４に格納されるタイルデータを、可逆符号化部６０２により可逆符号化を行い、タイル符号化データを生成、出力する（ステップＳ１２０１）。このとき、画像の外部に位置する画素の値として、背景色検出部６０１から出力される周囲想定画素値を用いる。
【００９２】
その他、第１の実施例のフローチャートの説明と同様に処理することにより、画像全体の符号化が行われる。なお、ここでは１タイルづつ順番に符号化する方法について述べたが、各タイルの符号化が他のタイルに全く依存していないため、複数のタイルを並列に符号化処理することもできる。
【００９３】
本実施例の画像処理装置で生成した符号化データを復号するには各タイルの符号列内に示される周囲想定画素値を用いて、符号化処理の逆の手順でそれぞれのタイルを復号していくようにすれば良い。
【００９４】
各タイルは独立に符号化されているので、先に述べたように、マーカを検出する、あるいは各タイルの符号化データの長さ情報などから復号したいタイルの符号化データにアクセスすることによって特定タイルのみを復号したり、複数のタイルを並列に復号したりすることができる。
【００９５】
以上の説明のように、本実施例に係る画像処理装置では、画像をタイルに分割し、タイルごとに独立に予測符号化をベースとする可逆符号化を行う符号化方式において、タイル毎に背景色を検出して、周囲に想定する画素値として用いることにより、タイル境界における予測精度の低下を抑制して符号量を低減することができる。
【００９６】
また、本実施例のように着目画素の周囲画素の状態によって予測符号化とランレングス符号化を適応的に切り替える符号化方式の場合には、タイル毎に背景色を検出して周囲想定画素として用いることで、周囲画素の全てが同じ輝度値、または同じ画素値となる可能性が高くなり、ランレングス符号化の適用率が向上する。
【００９７】
文字、線画、ＣＧ画像など背景色の占める割合の高い画像では、符号量の低減につながる。
【実施例３】
【００９８】
本発明は上述した実施の形態に限定されるものではない。例えば、可逆符号化部１０５で用いる可逆符号化方式として固定の予測式により予測変換し、予測誤差をハフマン符号化する例を示したが、幾つかの予測式を用意して、動的に切り換えるような構成としても構わない。
【００９９】
また、ハフマン符号に代えてＧｏｌｏｍｂ符号や、算術符号などその他のエントロピ符号化を用いても良い。
【０１００】
また、各タイルごとに周囲想定画素を設定する場合に、周囲想定画素の決定方法として様々な手法を用いることができる。第２の実施例の画像処理装置では、背景色検出部６０１においてタイルデータの各成分について出現頻度の高い値を背景値として検出し、これを周囲想定画素として用いる構成について示した。
【０１０１】
より簡易な方法としてタイル内の特定位置にある画素値を周囲想定画素値として用いても良い。例えば左上隅の画素値を周囲想定画素値として用いることとし、各タイルの符号列にこの画素値を非圧縮で含めるようにしても良い。その他、タイルの各成分について平均値を求め、これを周囲想定画素値としても良い。
【実施例４】
【０１０２】
尚、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【０１０３】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１０４】
この場合、記録媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１０５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１０６】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１０７】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１０８】
【図１】第１の実施例に係る画像処理装置の機能構成を示すブロック図
【図２】可逆符号化部１０５の構成を示すブロック図
【図３】符号化対象画素ｘに対する周辺画素ａ，ｂ，ｃの位置を示す図
【図４】メモリ２０４に格納されるハフマンテーブルの例を示す図
【図５】符号化対象画像データの符号化処理の流れを示すフローチャート
【図６】第２の実施例に係る画像処理装置の機能構成を示すブロック図
【図７】ＪＰＥＧ―ＬＳ符号化データの基本構成を示す図
【図８】画像のタイル分割の様子を示す図
【図９】本画像処理装置の出力符号列の構成を示す図
【図１０】第１の実施例に係る画像処理装置の１つのタイルの符号列の構成を示す図
【図１１】第２の実施例に係る画像処理装置の１つのタイルの符号列の構成を示す図
【図１２】符号化対象画像データの符号化処理の流れを示すフローチャート
【図１３】背景色検出部６０１における周囲画素値設定の様子を示す図
【図１４】第１、第２の実施例に係る画像処理装置の基本構成を示す図
【図１】
2007166404.tif 000003
【図２】
2007166404.tif 000004
【図３】
2007166404.tif 000005
【図４】
2007166404.tif 000006
【図５】
2007166404.tif 000007
【図６】
2007166404.tif 000008
【図７】
2007166404.tif 000009
【図８】
2007166404.tif 000010
【図９】
2007166404.tif 000011
【図１０】
2007166404.tif 000012
【図１１】
2007166404.tif 000013
【図１２】
2007166404.tif 000014
【図１３】
2007166404.tif 000015
【図１４】
2007166404.tif 000016