(57)【要約】【課題】  文字、線画、ＣＧ画像や、単純拡大を用いて変倍された画像など、同一画素値の連続の多い画像に対しても効率良く符号化することを可能にする。【解決手段】  画像入力部より入力した画像データは、タイルに分割され、タイル単位にタイルバッファ１０４に格納される。縮小タイル生成部１０７は、タイルバッファ１０４から水平、垂直とも２画素置きにサブサンプリングして、縮小タイルバッファ１０８に格納する。このとき、縮小タイル生成部１０７は、縮小タイルバッファ１０８に格納される画像データから、タイルバッファ１０４に格納されている画像データに可逆復元可能か否かを判定し、その判定結果をスイッチ１０９に出力する。可逆符号化部１０５は、スイッチ１０９を介して入力した画像データを可逆符号化し、符号化データを生成する。符号列形成部１０６は、符号化データがタイルバッファ１０４、縮小タイルバッファ１０８のいずれであったのかを示す信号を符号化データと関連付けて出力する。【選択図】  図１
2008078826.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像処理装置であって、
画像データを、複数の画素から構成されるブロックに分割する分割手段と、
前記ブロックの画像データから、当該ブロックより小さいサイズの縮小ブロックの画像データを生成する縮小ブロック生成手段と、
該縮小ブロックの画像データを、前記縮小ブロックの画像データを生成する際に用いたアルゴリズムに従って元のサイズのブロックの画像データに可逆復元可能か否かを判定する判定手段と、
該判定手段が可逆復元可と判定した場合には前記縮小ブロックの画像データを選択し、前記判定手段が可逆復元不可と判定した場合には前記分割手段で得られたブロックの画像データを選択する選択手段と、
該選択手段で選択された画像データを可逆符号化する符号化手段と、
該符号化手段で生成された符号化データと、当該符号化データから元のブロックのサイズまで復元するためのパラメータとを関連付けて出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記縮小ブロック生成手段は、互いに異なるサイズの複数の縮小ブロックの画像データを生成し、
前記判定手段は、各サイズの縮小ブロックの画像データについて可逆復元可能か否かを判定し、
前記選択手段は、前記判定手段が可逆復元可と判定した中で、最もサイズの小さい縮小ブロックから優先して選択し、
前記出力手段は、選択した縮小ブロックのサイズ情報を前記パラメータとして出力する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、互いに異なる複数のアルゴリズムに従って可逆復元可能か否かの判定し、
前記出力手段は、前記判定手段が複数のアルゴリズムの中のいずれかで可逆復元可と判定された場合、当該アルゴリズムを特定する情報を前記パラメータとして出力する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
画像データを符号化する画像処理装置の制御方法であって、
画像データを、複数の画素から構成されるブロックに分割する分割工程と、
前記ブロックの画像データから、当該ブロックより小さいサイズの縮小ブロックの画像データを生成する縮小ブロック生成工程と、
該縮小ブロックの画像データを、前記縮小ブロックの画像データを生成する際に用いたアルゴリズムに従って元のサイズのブロックの画像データに可逆復元可能か否かを判定する判定工程と、
該判定工程が可逆復元可と判定した場合には前記縮小ブロックの画像データを選択し、前記判定工程が可逆復元不可と判定した場合には前記分割工程で得られたブロックの画像データを選択する選択工程と、
該選択工程で選択された画像データを可逆符号化する符号化工程と、
該符号化工程で生成された符号化データと、当該符号化データから元のブロックのサイズまで復元するためのパラメータとを関連付けて出力する出力工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項５】
前記縮小ブロック生成工程は、互いに異なるサイズの複数の縮小ブロックの画像データを生成し、
前記判定工程は、各サイズの縮小ブロックの画像データについて可逆復元可能か否かを判定し、
前記選択工程は、前記判定工程が可逆復元可と判定した中で、最もサイズの小さい縮小ブロックから優先して選択し、
前記出力工程は、選択した縮小ブロックのサイズ情報を前記パラメータとして出力する
ことを特徴とする請求項４に記載の画像処理装置の制御方法。
【請求項６】
前記判定工程は、互いに異なる複数のアルゴリズムに従って可逆復元可能か否かの判定し、
前記出力工程は、前記判定工程が複数のアルゴリズムの中のいずれかで可逆復元可と判定された場合、当該アルゴリズムを特定する情報を前記パラメータとして出力する
ことを特徴とする請求項４に記載の画像処理装置の制御方法。
【請求項７】
コンピュータが読込み実行することで、請求項１乃至３のいずれか１項に記載の画像処理装置として機能することを特徴とするコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの符号化技術に関するものである。
【背景技術】
【０００２】
従来、画像の符号化、復号を行う画像処理装置を構成する一手法として予測符号化をベースとするものがある。予測符号化は、画像データを予測変換によって予測誤差へと変換する系列変換部と、系列変換部から出力される予測誤差を、ハフマン符号化等を用いてエントロピー符号化する符号化部によって構成される。
【０００３】
国際標準の静止画像符号化方式として勧告されるＪＰＥＧに関する非特許文献１では、Ｌｏｓｓｌｅｓｓ Processとして予測符号化をベースとした可逆符号化方式が規定されている。以下、これをＪＰＥＧ可逆符号化モードと呼ぶ。ＪＰＥＧ可逆符号化モードでは、近傍画素から着目画素の値を予測する方法として７つの予測式を規定しており、画像に応じて予測方法を選択できるようになっている。ＪＰＥＧ可逆モードでは符号化対象の画像データをラスタースキャン順に符号化する。各画素を符号化する場合には、定められた予測方式により予測値を求める。そして、その予測値と実際の画素の値との差である予測誤差をハフマン符号、または算術符号により順次符号化していく。ハフマン符号化を用いる場合、必ず１つの予測誤差に対して１ビット以上の符号語が出力される。このため、文字、線画、ＣＧ画像など人工的で、同一画素や同一パターンの連続が多く見られる画像に対しては高い圧縮性能を得ることができない。
【０００４】
一方、ＪＰＥＧ標準化の後、ＩＳＯとＩＴＵ−Ｔから新たに国際標準勧告された可逆符号化方式ＪＰＥＧ−ＬＳ  Ｂａｓｅｌｉｎｅ（非特許文献２）では、予測符号化とランレングス符号化とを組み合わせて符号化システムを構成している。周囲画素の状態によって予測方法、確率モデルを変えるなどの工夫により、自然画像での圧縮性能を向上している。また、ランレングス符号化の採用により、複数画素を一纏めにして符号化することができ、上述のような文字、線画、ＣＧ画像などに対しても、ＪＰＥＧ可逆符号化モードよりも高い符号化性能を得ることができる。
【非特許文献１】ＩＴＵ−Ｔ  Ｔ．８１  ｜  ＩＳＯ／ＩＥＣ１０９１８−１
【非特許文献２】ＩＴＵ−Ｔ  Ｔ．８７  ｜  ＩＳＯ／ＩＥＣ１４４９５−１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のＪＰＥＧ−ＬＳを用いた従来方式による画像処理装置では、水平方向の画素値の連続に対しては効率良い圧縮性能を提供できる。しかしながら、垂直方向の画素値の連続性については考慮されていないため、改善の余地がある。
【０００６】
また、高解像度の文書画像中に単純拡大（画素繰り返し）によって変倍して貼り付けられた画像など、本来の情報量としてはあまり大きくないものであっても、効率良い圧縮性能を得ることは困難であるのが現状である。
【０００７】
本願発明は、上述の問題点に鑑みてなされたものであり、文字、線画、ＣＧ画像や、単純拡大を用いて変倍された画像など、同一画素値の連続の多い画像に対しても効率良く符号化する技術を提供する。
【課題を解決するための手段】
【０００８】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
画像データを符号化する画像処理装置であって、
画像データを、複数の画素から構成されるブロックに分割する分割手段と、
前記ブロックの画像データから、当該ブロックより小さいサイズの縮小ブロックの画像データを生成する縮小ブロック生成手段と、
該縮小ブロックの画像データを、前記縮小ブロックの画像データを生成する際に用いたアルゴリズムに従って元のサイズのブロックの画像データに可逆復元可能か否かを判定する判定手段と、
該判定手段が可逆復元可と判定した場合には前記縮小ブロックの画像データを選択し、前記判定手段が可逆復元不可と判定した場合には前記分割手段で得られたブロックの画像データを選択する選択手段と、
該選択手段で選択された画像データを可逆符号化する符号化手段と、
該符号化手段で生成された符号化データと、当該符号化データから元のブロックのサイズまで復元するためのパラメータとを関連付けて出力する出力手段とを備える。
【発明の効果】
【０００９】
本願発明によれば、文字、線画、ＣＧ画像や、単純拡大を用いて変倍された画像など、同一画素値の連続の多い画像に対しても効率良く符号化することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１１】
［第１の実施形態］
図１は本実施形態に係る画像処理装置のブロック構成図である。
【００１２】
本実施形態に係る画像処理装置は、画像入力部１０１、ラインバッファ１０２、ブロック分割部１０３、タイルバッファ１０４、可逆符号化部１０５、符号列形成部１０６、縮小タイル生成部１０７、縮小タイルバッファ１０８、スイッチ１０９とを備える。同図において１１０、１１１は信号線を示す。画像入力部１０１の符号化対象の画像データを入力する入力源は、印刷データに基づいて印刷イメージデータをレンダリングするレンダラとする。しかしながら、無圧縮の画像データファイルを格納している記憶装置、或いは、イメージスキャナ等の原稿読み取り装置等を入力源としても構わないし、その種類は問わない。
【００１３】
また、本実施形態に係る画像処理装置の符号化対象の画像データはＲＧＢカラー画像データであり、各コンポーネント（色）は８ビット（２５６階調）でより構成されるものとする。また、符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素が並び、１つの画素データはＲ、Ｇ、Ｂの順番のデータで構成されるものとする。また、画像データは水平方向Ｗ画素、垂直方向Ｈ画素により構成されるものとする。また、以下の説明において、画像の左上隅の画素を原点とし、水平右方向をｘ軸の正方向、垂直下方向をｙ軸の正方向として説明する。
【００１４】
以下、図１の構成の本実施形態に係る画像処理装置が行う画像符号化処理について説明する。
【００１５】
画像入力部１０１は、画像入力源から、符号化対象の画像データをラスタースキャン順に入力し、ラインバッファ１０２に格納する。このラインバッファ１０２は、画像データを所定のライン数（Ｔｈ）分格納する。以降、符号化対象画像データのＴｈラインの幅で分割した画像データをストライプと呼ぶ。ラインバッファ１０２に必要とされる容量、即ち１ストライプのデータ量はＷ×Ｔｈ×３バイトとなる（Ｒ、Ｇ、Ｂの３コンポーネントのため）。符号化対象の画像データのライン数がＴｈの整数倍でないとき、画像の最終ストライプにはダミーのラインデータを付加すれば良い。但し、実施形態では、説明の便宜上、符号化対象の画像の垂直方向画素数ＨはＴｈ整数倍であるとし、画像の下端で不完全なストライプが発生しないものとする。
【００１６】
ラインバッファ１０２に１ストライプの画像データ、即ち、Ｔｈライン分の画像データが格納されたとする。ブロック分割部１０３はラインバッファ１０２に格納されるＴｈライン分の画像データから、水平方向Ｔｗ画素分の矩形ブロックを単位に読み出してタイルバッファ１０４へと格納する。この水平方向Ｔｗ画素、垂直方向Ｔｈ画素で構成される矩形ブロックを、これ以降「タイル」と呼ぶ。符号化対象の画像データの水平方向の画素数がＴｗの整数倍でないとき、各ストライプの最後のタイルにはダミーのデータを付加すれば良い。但し、実施形態では、説明の便宜上、画像の水平方向画素数ＷはＴｗの整数倍であるとし、タイルに分割した場合に不完全なタイルが発生しないものとする。
【００１７】
図８に符号化対象の画像データとストライプ、タイルの関係を図示する。図のように画像中、水平方向ｉ番目、垂直方向ｊ番目のタイルをＴ（ｉ，ｊ）と表現する。
【００１８】
タイルバッファ１０４は１タイル分の画素データを格納する領域を持ち、ブロック分割部１０３から出力されるタイルデータを順次格納していく。タイルバッファ１０４に必要とされる容量はＴｗ×Ｔｈ×３バイトである。
【００１９】
タイルバッファ１０４内の水平方向画素位置ｘ、垂直方向画素位置ｙの画素データをＰ（ｘ，ｙ）と定義する。また、１つの画素はＲ、Ｇ、Ｂの３つのコンポーネントで構成される。今、コンポーネントＲをｃ＝０、コンポーネントＧをｃ＝１、コンポーネントＢをｃ＝２とする。そして、タイルバッファ１０４に格納される１タイル分の画素データの水平方向画素位置ｘ、垂直方向画素位置ｙにある画素のコンポーネントｃの輝度値をＩ（ｘ，ｙ，ｃ）と定義する。例えば、タイル内の水平方向画素位置“８”、垂直方向画素位置“１４”にある画素のＧ成分の輝度値は“Ｉ（８，１４，１）”と表す。なお、上記において、ｘは“０”から“Ｔｗ−１”までの範囲であり、ｙは“０”から“Ｔｈ−１”までの範囲である。
【００２０】
従って、画素データＰ（ｘ、ｙ）とＰ（ｘ＋１、ｙ）が等しいか否かの判定は、Ｉ（ｘ，ｙ，０）＝Ｉ（ｘ＋１，ｙ，０）、且つ、Ｉ（ｘ，ｙ，１）＝Ｉ（ｘ＋１，ｙ，１）、且つ、Ｉ（ｘ，ｙ，２）＝Ｉ（ｘ＋１，ｙ，２）を満たすか否かを判定することと等価である。
【００２１】
図１の説明に戻る。縮小タイル生成部１０７は、タイルバッファ１０４に格納されるタイルデータから、水平、垂直方向１／２の大きさの縮小タイルを生成し、縮小タイルバッファ１０８に格納する。縮小タイル生成部１０７では単純サブサンプリング（間引き）により縮小タイルを生成する。具体的にはタイルバッファ１０４に格納される画像データのＰ（２ｉ，２ｊ）（０≦i＜Ｔｗ／２、０≦ｊ＜Ｔｈ／２）を取り出して縮小タイルバッファ１０８へと格納していく。
【００２２】
このとき、縮小タイル生成部１０７は、縮小タイルバッファ１０８に格納することになった画素Ｐ（２ｉ，２ｊ）と、タイルバッファ１０４内のＰ（２ｉ＋１，２ｊ）、Ｐ（２ｉ，２ｊ＋１）、Ｐ（２ｉ＋１，２ｊ＋１）とを比較する。そして、縮小タイル生成部１０７は、全てのＰ（２ｉ，２ｊ）について、
条件：Ｐ（２ｉ，２ｊ）＝Ｐ（２ｉ＋１，２ｊ）＝Ｐ（２ｉ，２ｊ＋１）＝Ｐ（２ｉ＋１，２ｊ＋１）
を満たすとき、信号線１１０に可逆性判定結果として”１”を出力する。また、上記条件を満たさない場合、縮小タイル生成部１０７は、可逆性判定結果として”０”を出力する。
【００２３】
ここで誤解を招かないように敢えて、上記条件について説明する。タイルバッファ１０４のデータ格納状態の模式図を図１５に示す。画素Ｐ（２ｉ，２ｊ）は、タイルバッファ１０４内の水平、垂直方向について必ず偶数の位置にある。従って、上記条件を満たすか否かの判定は、先ず、２×２画素の画素領域１０４ａ内の画素の色が同じであるか否かを判定する。その次に、２×２画素の画素領域１０４ｂ内の画素の色が同じであるか否かを判定するというように、タイル内の重なり合わない２×２画素が同じ色であるか否かを順次判定していく。タイル内の全ての２×２画素が同じ色である場合には、上記条件を満たすと判定する。画素領域１０４ａと画素領域１０４ｂとが同じ色であるか否かについては問わないことに注意されたい。
【００２４】
スイッチ１０９は縮小タイル生成部１０７から信号線１１０を介して入力される可逆性判定結果に基づいて、接続を端子ａ側か端子ｂ側のいずれかに切り替える。可逆性判定結果が“０”である場合、スイッチを端子ａ側に接続し、可逆性判定結果が“１”である場合には端子ｂ側に接続する。
【００２５】
可逆符号化部１０５はスイッチ１０９を介して接続されるタイルバッファ１０４、又は、縮小タイルバッファ１０８に格納される縮小タイルデータをタイル毎独立に可逆符号化してタイル符号化データを生成し、符号列形成部１０６に出力する。
【００２６】
可逆符号化部１０５における可逆符号化処理としては様々な手法が適用可能である。ここではその一例として簡単な予測符号化を適用する例について示す。但し、国際標準方式としてＩＳＯとＩＴＵ−Ｔから勧告されるＪＰＥＧ（ＩＴＵ−Ｔ  Ｔ．８１｜ＩＳＯ／ＩＥＣ１０９１８−１）のＪＰＥＧ可逆符号化モードやＪＰＥＧ−ＬＳ（ＩＴＵ−Ｔ  Ｔ．８７｜ＩＳＯ／ＩＥＣ１４４９５−１）などを用いても良い。つまり、可逆符号化であれば、その種類は問わない。
【００２７】
図２に可逆符号化部１０５の内部のブロック図を示す。同図に於いて２０１はバッファ、２０２は予測器、２０３は減算器、２０４はメモリ、２０５はハフマン符号化器、２０６，２０７は信号線である。図２は、画像データをよりエントロピーの低いデータに変換する系列変換の処理として周辺画素を用いた予測変換を用い、エントロピ符号化処理にはハフマン符号化を用いる可逆符号化部の例である。
【００２８】
メモリ２０５には、予め幾つかの画像データを系列変換して得られた予測誤差の頻度分布に基づいて生成されたハフマンテーブルが格納される。予測誤差の頻度分布の一般的性質として予測誤差０を中心として出現頻度が高く、予測誤差の絶対値が大きくなるにつれて出現頻度が下がっていく傾向にある。そのため、メモリ２０４に格納されるハフマン符号では予測誤差０近辺に短い符号語が割り当てられ、予測誤差の絶対値が大きい部分には長い符号語が割り当てられる。図４は、実施形態におけるメモリ２０５に格納されるハフマンテーブルを示している。
【００２９】
以下、図２を参照して可逆符号化部１０５の動作について説明する。
【００３０】
最初に信号線２０６を介して、スイッチ１０９から着目するタイルの画素データが順に入力される。タイルデータはラスタースキャン順、かつ、各画素はＲ、Ｇ、Ｂの順番で入力されるものとする。なお、ここで言う「タイルデータ」は、タイルバッファ１０４に格納されていたタイルデータ、縮小タイルバッファ１０８に格納されていた縮小タイルデータのいずれかである点に注意されたい。可逆符号化部１０５における符号化処理は入力される順序で各成分について行われる。Ｒ，Ｇ，Ｂそれぞれに適用される処理は同様であるのでここではＲＧＢ画像のＲ成分を例に説明する。
【００３１】
バッファ２０１は信号線２０６から入力されるタイルデータを２ライン分格納する。
【００３２】
予測器２０２はバッファ２０１から着目画素の直前の画素のＲ成分の輝度値ａと，１ライン前の画素のＲ成分の輝度値ｂ（図３参照）を取り出し、ｐ＝（ａ＋ｂ）／２の演算を行う事により着目画素のＲ成分の輝度値に対する予測値ｐを生成する。着目する画素のタイル内の位置を（ｘ、ｙ）とすると、Ｒ成分の輝度値はＩ（ｘ，ｙ，０）、ａ＝Ｉ(ｘ−１，ｙ，０）、ｂ＝（ｘ，ｙ−１，０）である。このとき、注目画素がタイルの最初のラインや、左端にあるとき、予測値ｐの生成に用いる着目画素の周囲画素の同一成分値ａ，ｂはタイル外にある。このような場合、符号化側と復号側で共通して利用できる値としておけばよい。ここでは、注目画素がタイルの最初のラインや左端にあるとき、(ｘ−１，ｙ，０）＝（ｘ，ｙ−１，０）＝１２８とする。
【００３３】
減算器２０３は符号化対象画素のＲ成分の輝度値ｘと予測値ｐとの差分値ｅとして出力する。ハフマン符号器２０５は、予めメモリ２０４に格納されるハフマンテーブル（図４）を参照して、差分値ｅに対応する符号化データを信号線２０７から出力する。
【００３４】
可逆符号化部１０５は、上述の処理をタイル内の全ての画素の成分に対して行い、可逆のタイル符号化データを生成、出力する。
【００３５】
符号列形成部１０６は縮小タイル生成部１０７から信号線１１０へと出力される可逆性判定結果と、可逆符号化部１０５から出力されるタイル符号化データを結合させる処理、さらに復号に必要な付加情報を加える処理を行い、符号列を形成する。そして、符号列形成部１０６はその符号列を信号線１１１より出力する。可逆性判定結果は、タイル符号化データが、タイルバッファ１０４、縮小タイルバッファ１０８のいずれに格納されたタイルデータから生成された符号化データであるのかを識別できれば良いので、１ビットで十分である。以下、この情報を、注目タイルのＴｗ×Ｔｈであるのか、（Ｔｗ／２）×（Ｔｈ／２）であるのかを示すサイズ信号とも言う。
【００３６】
図９は本画像処理装置の出力符号列の構成を示す図である。出力符号列の先頭には、画像を復号するために必要となる情報、例えば、画像の水平方向画素数、垂直方向画素数、色空間を表す属性情報、コンポーネント数、各コンポーネントのビット数やタイルの幅、高さなどの付加情報がヘッダとして付けられる。また、このヘッダ部分には、画像データそのものについての情報のみでなく、各タイル共通に使用するハフマン符号化テーブルなど符号化に関する情報も含まれる。ヘッダ部に後続して、各タイルの符号化データが配置される。
【００３７】
図１０（ａ）、（ｂ）は各タイルの出力符号列の構成を示す図である。各タイルの先頭にはタイルヘッダを付加し、各タイルの水平、垂直位置情報（ｉ，ｊ）などを含める。
【００３８】
また、各タイルについての可逆性判定結果（サイズ信号）を含める。タイルヘッダに続くタイル符号化データは、可逆性判定結果（サイズ信号）によって異なり、可逆性判定結果が“０”である場合にはタイルそのものを符号化して得られた符号化データがとなる。また、“１”である場合には、ヘッダに続く符号化データは、縮小タイルを符号化して得られた符号化データとなる。なお、タイル符号化データ中に所定の値が発生しないように工夫を加えて特殊なマーカを設定し、各タイルデータの先頭、または末尾にマーカを置く。あるいは、各タイルの符号列の長さをタイルの先頭や、符号化データの先頭のヘッダ部分に含めるなどして管理することによりタイル単位のランダムアクセスを可能とすることができる。
【００３９】
以上の処理により、画像全体の符号化が行われる。なお、ここでは１タイルづつ順番に符号化する方法について述べたが、各タイルの符号化が他のタイルに全く依存していない。そこで、複数のタイルの符号化処理を並列に処理することも可能である。
【００４０】
本実施形態の画像処理装置で生成した符号化データを復号するには、各タイルヘッダに示される可逆性判定結果（サイズ信号）から復号すべきタイルのサイズを取得し、符号化処理の逆の手順でそれぞれのタイルを復号していくようにすれば良い。可逆性判定結果が“１”であるタイルについては水平方向Ｔｗ／２画素、垂直方向Ｔｈ／２画素の縮小タイルが復号される。そこで、復号して得られた１つの画素データを、２×２画素分として繰り返し出力することで、最終的にＴｗ×Ｔｈ画素のブロックを生成すれば良い。また、実施形態からも容易に理解できるように各タイルは独立に符号化されている。従って、先に述べたように、マーカを検出する、あるいは各タイルの符号化データの長さ情報などから復号したいタイルの符号化データにアクセスすることによって特定タイルのみを復号したり、複数のタイルを並列に復号することも可能である。
【００４１】
以上の説明のように、本実施形態に係る画像処理装置では、タイルを縮小して可逆性が保てる場合には縮小画像を可逆符号化することで、符号量を低減することができ、かつ、符号化する画素数の削減によって符号化処理の付加を軽減することができる。特に、画像中に同一色領域が多く存在する文字、線画、ＣＧ画像や、高解像度の文書画像中に低解像度の写真画像を単純拡大によって貼り付けた部分など、可逆性を保ったまま縮小できる部分がある画像について高い圧縮性能を得ることができる。
【００４２】
また、実施形態によれば、文章及び写真、ＣＧ等が混在した画像を符号化する場合、文章が縦書き、横書きを問わず、行間等の空白部分等では、サイズの小さいブロックが選択されるように作用することにより、高い圧縮率を得ることが可能になる。
【００４３】
なお、縮小タイル生成部１０７が１つの縮小タイルデータを生成中、或るタイミングにてタイルバッファ１０４から読込んだ４つの画素データＰ（２ｉ，２ｊ）、Ｐ（２ｉ＋１，２ｊ）、Ｐ（２ｉ，２ｊ＋１）、Ｐ（２ｉ＋１，２ｊ＋１）がすべて同じ色ではないと判定した場合、その縮小タイルの生成の完了を待たずに、直ちにその生成処理を中断し、可逆性無しとしての判定信号を出力しても良い。
【００４４】
［第１の実施形態の変形例］
上記第１の実施形態は、ソフトウェアによっても実現できる。以下、その例を第１の実施形態の変形例として説明する。
【００４５】
図１４は本変形例における装置（パーソナルコンピュータ等の情報処理装置）の基本構成図である。
【００４６】
図中、１４０１は装置全体の制御を司るＣＰＵである。１４０２は実行するプログラムを格納したり、ＣＰＵ１４０１のワークエリアとして使用するＲＡＭである。１４０３は、ＢＩＯＳやブートプログラムを格納しているＲＯＭである。１４０４はキーボード、１４０５はポインティングデバイスとしてのマウスである。１４０６は表示装置、１４０７はハードディスク等の外部記憶装置である。この外部記憶装置１４０７には、ＯＳ（オペレーティングシステム）や、本変形例における符号化処理を行なうためのアプリケーションプログラムが格納されている。また、外部記憶装置１４０７は、符号化して生成された圧縮画像ファイルを格納するためにも用いられる。１４０８は、ＣＤ−ＲＯＭ等の可搬性のコンピュータ可読記憶媒体の読取りを行なう記憶媒体ドライブである。１４０９は、外部装置と接続するためのインタフェース（Ｉ／Ｆ）である。例えはＩ／Ｆ１４０９を介して外部装置としてのイメージスキャナ等から符号化対象となる画像データを本装置の本装置のＲＡＭ１４０２や外部記憶装置１４０７に入力する。また、逆に、本装置のＲＡＭ１４０２や外部記憶装置１４０７から生成した画像符号化データを装置外部に出力することができる。１４１０は上述の各部を繋ぐバスである。
【００４７】
上記構成において、不図示の電源スイッチがＯＮになると、バス１４１０に接続されている要素にも電力が供給される。ＣＰＵ１４０１は、ＲＯＭ１４０３のブートプログラムに従って外部記憶装置１４０７からＯＳをＲＡＭ１４０２に読込み、実行することで本装置が情報処理装置として機能することになる。また、ユーザがキーボード１４０４やマウス１４０５を操作し、外部記憶装置１４０７に格納されている画像符号化アプリケーションプログラムの実行する指示すると、ＣＰＵ１４０１はそのアプリケーションをＲＡＭ１４０２にロードし、実行する。これにより、本装置が画像符号化装置として機能することになる。
【００４８】
説明を簡単なものとするため、画像符号化アプリケーションは、外部装置からインタフェース１４０９を介して入力した画像データを符号化し、その結果を外部記憶装置１４０７にファイルとして保存する例を説明する。入力する符号化対象の画像データは、第１の実施形態と同様、水平方向の画素数がＷ、垂直方向の画素数がＨとする。また、色コンポーネントもＲ、Ｇ、Ｂの３つとし、それぞれが８ビットで表わされるものとする。
【００４９】
また、本アプリケーションを実行した際、図１のラインバッファ１０２、タイルバッファ１０４、縮小タイルバッファ１０８は、ＲＡＭ１４０２に確保されるものとして説明する。また、ラインバッファ１０２にはラスタースキャン順に画像データが格納されるものとする。
【００５０】
図５は、本変形例におけるアプリケーションの符号化処理の流れを示すフローチャートである。なお同図に従ったプログラムは、上記の通り、ＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、本変形例に係る画像処理装置は図５に示したフローチャートに従った処理を行う。以下、図５に示したフローチャートを参照して、本変形例に係る装置が行う画像符号化処理の全体的な流れについて説明する。
【００５１】
まず、インタフェース１４０９を介してＴｈライン分の画像データをラインバッファ１０２に格納する（ステップＳ５０１）。すなわち、ラインバッファ１０２に１ストライプ分の画像データを格納する。
【００５２】
次いで、ステップＳ５０２に処理を進め、ラインバッファ１０２に格納されるストライプから、１タイル分のデータ（Ｔｗ×Ｔｈ画素データ）を読出し、タイルバッファ１０４に格納する。続いてステップＳ５０３にて、タイルバッファ１０４に格納されたタイルデータをサブサンプリングすることで、縮小タイルデータを生成し、それを縮小タイルバッファ１０８に格納する。このとき、先に説明した第１の実施形態の条件を満たすか否かの判定も行う。
【００５３】
ステップＳ５０４では、第１の実施形態の条件を満たすか否か、すなわち、注目タイルを縮小したとしても、元のタイルのサイズへの戻す際の可逆性が保証されるか否かを判定する。
【００５４】
可逆性無しと判定された場合、処理はステップＳ５０５に進み、タイルバッファ１０４に格納されたタイルデータを可逆符号化し、符号化データを生成する。また、この際、その先頭に、タイルサイズがＴｗ×Ｔｈであることを示す識別情報を付加する。
【００５５】
一方、ステップＳ５０４にて、可逆性有りと判断した場合には、ステップＳ５０６に進み、縮小タイルバッファ１０８に格納されたタイルデータを可逆符号化し、符号化データを生成する。また、この際、その先頭に、タイルサイズがＴｗ／２×Ｔｈ／２であることを示す識別情報を付加する。
【００５６】
ステップＳ５０７では、ステップＳ５０５又はＳ５０６で生成された符号化データにヘッダ等を付加し、符号化データファイル形式のデータを形成する。
【００５７】
次に、ステップＳ５０８では、符号化しようとするタイルが注目ストライプ内の最後のタイルであるか否か判断し、否の場合にはステップＳ５０２に戻る。
【００５８】
また、ストライプの最後のタイルであると判断した場合には、ステップＳ５０９に進み、注目ストライプが画像の最後のストライプであるか否かを判断する。最後のストライプでない場合（ＮＯ）は、ステップＳ５０１に処理を移して次のストライプのデータを読み込んで処理を継続する。そして、最後のストライプである場合には対象とする画像データについての符号化処理を終了する。
【００５９】
以上の処理により、第１の実施形態と同様の作用効果を奏することが可能になる。なお、ここでは１タイルづつ順番に符号化する方法について述べたが、各タイルの符号化が他のタイルに全く依存していないため、マルチスレッドとして複数のタイルを並列に符号化処理することもできる。
【００６０】
［第２の実施形態］
第１の実施形態の画像処理装置では、タイルデータとその１／２の大きさの縮小タイルデータのいずれかを可逆性判定結果に従って選択して符号化する構成とした。縮小処理を複数段設けて、可逆性が保てる最小のタイルを符号化することもできる。本発明の第２の実施形態では、このような例について説明する。
【００６１】
図６は、本第２の実施形態に係る画像処理装置のブロック構成図である。第１の実施形態で説明した図１と共通のブロックについては同じ番号を付し、説明を省略する。
【００６２】
本第２の実施形態に係る画像処理装置は、画像入力部１０１、ラインバッファ１０２、ブロック分割部１０３、タイルバッファ１０４、可逆符号化部６０２、符号列形成部６１０を備える。また、縮小タイル生成部１０７と６０３、縮小タイルバッファ１０８と６０４、サイズ選択信号生成部６０１、３入力１出力のスイッチ６０５を備える。同図において６０６，６０７、６０８、６０９は信号線を示す。
【００６３】
以下、図６を用いて本実施形態に係る画像処理装置が行う処理について説明する。
【００６４】
本実施形態に係る画像処理装置の符号化対象とする画像データは、第１の実施形態と同じく、ＲＧＢカラー画像データであり、各コンポーネント（色）は８ビット（２５６階調）である。符号化対象の画像データの画素の並びは点順次、即ち、ラスタースキャン順に各画素が並ぶ。また、各画素はＲ、Ｇ、Ｂの順番のデータで構成されるものとする。画像は水平方向Ｗ画素、垂直方向Ｈ画素とする。
【００６５】
本第２の実施形態の画像処理装置においても第１の実施形態の画像処理装置と同様に、画像入力部１０１は入力された画像データをストライプとしてラインバッファ１０２に格納し、ブロック分割部１０３はランバッファ１０２からタイル単位にデータを取り出し、タイルバッファ１０４に格納する。
【００６６】
縮小タイル生成部１０７は第１の実施の形態と同様にして、Ｔｗ／２×Ｔｈ／２の大きさの縮小タイルを生成し、縮小タイルバッファ１０８へと格納する。また、同時に可逆性判定結果を信号線６０６として出力する。
【００６７】
縮小タイル生成部６０３は縮小タイル生成部１０７と同様の動作により、縮小タイルバッファ１０８に格納されたタイルデータから、水平、垂直とも１／２のサイズにした縮小サイズのタイルデータを生成し、縮小タイルバッファ６０４に格納する。また、この際、、縮小タイル生成部６０３は可逆性判定結果を信号線６０７として出力する。因に、縮小タイルバッファ６０４に格納されるタイルのサイズは、結局のところ、Ｔｗ／４×Ｔｈ／４となる。
【００６８】
サイズ選択信号生成部６０１は、信号線６０６と信号線６０７から入力される２つの可逆性判定結果から符号化すべきタイルのサイズを決定し、サイズ選択信号を出力する。信号線６０６からの信号を判定結果１とし、信号線６０７からの信号を判定結果２とする。判定結果１が“０”である場合、判定結果２によらず、タイルバッファ１０４内に格納された元のサイズのタイツデータを符号化をするようサイズ選択信号“０”を信号線６０８に出力する。
【００６９】
また、判定結果１が“１”、判定結果２が“０”である場合、サイズ選択信号生成部６０１は、縮小タイルバッファ１０８内のタイルデータを符号化するようサイズ選択信号“１”を信号線６０８に出力する。
【００７０】
そして、判定結果１と判定結果２がともに“１”である場合、サイズ選択信号生成部６０１は、縮小タイルバッファ６０４内のタイルデータを符号化するように、サイズ選択信号“２”を信号線６０８に出力する。
【００７１】
スイッチ６０５は、信号線６０８から入力されるサイズ選択信号に応じて、入力源として端子ａ、端子ｂ、端子ｃの何れかに接続する。すなわち、スイッチ６０５は、サイズ選択信号が“０”である場合、端子ａに接続する。“１”である場合には端子ｂに接続する。“２”である場合には端子ｃに接続する。つまり、複数の縮小サイズにおいて、可逆性有りを判定された場合、サイズの小さい方を優先して選択することになる。
【００７２】
可逆符号化部６０２はスイッチ６０５を介して接続されるタイルバッファ１０４、縮小タイルバッファ１０８、縮小タイルバッファ６０４の何れかに格納されるタイルデータを国際標準方式ＪＰＥＧ−ＬＳを用いて符号化し、タイル符号化データを出力する。可逆符号化部６０２から出力される符号化データには、全タイルで共通となるフレームヘッダや、スキャンヘッダ、各種テーブルなどについては含まれず、符号化データ部分のみを出力する。即ち、図７に示した一般的なＪＰＥＧ―ＬＳベースライン符号化データの構成のうち、スキャンヘッダの直後からＥＯＩマーカの直前までのエントロピ符号化データセグメントのみが格納される。なお、ここでは説明簡略化のため、ＤＲＩ、ＲＳＴマーカによるリスタートインターバルの定義や、ＤＮＬマーカによるライン数の定義などは行わないものとする。
【００７３】
符号列形成部６１０は可逆符号化部６０２から出力されるタイル符号化データを結合させ、必要な付加情報を加えて本画像処理装置の出力となる符号列を形成して信号線６０９より出力する。
【００７４】
本第２の実施形態の画像処理装置の出力符号列も、図９に示した第１の実施形態の画像処理装置の出力符号列と同様の構成とすることができる。図１１は各タイルの出力符号列の構成を示す図である。各タイルの先頭にはタイルヘッダを付加し、各タイルの水平、垂直位置情報（ｉ，ｊ）などを含める。本第２の実施形態ではそれぞれのタイルで実際に符号化される大きさが異なるため、これを特定するための情報としてサイズ選択信号を含める。図１１はタイルの符号化データの構成を示す図であるが、ここではサイズ選択信号の存在を示すため、あえてタイルヘッダとは別に記している。実際にはタイルヘッダに含まれる情報としても良い。なお、タイル符号化データ中に所定の値が発生しないように工夫を加えて特殊なマーカを設定し、各タイルデータの先頭、または末尾にマーカを置いても構わない。あるいは、各タイルの符号列の長さをタイルの先頭や、符号化データの先頭のヘッダ部分に含めるなどして管理することによりタイル単位のランダムアクセスを可能とするようにしても構わない。
【００７５】
以上の処理により、画像全体の符号化が行われる。なお、ここでは１タイルづつ順番に符号化する方法について述べたが、各タイルの符号化が他のタイルに全く依存していないため、複数のタイルを並列に符号化処理することもできる。
【００７６】
また、本第２の実施形態の画像処理装置で生成した符号化データを復号するには、各タイルヘッダに示されるサイズ選択信号から復号すべきタイルのサイズを取得し、可逆符号化部６０２で行った符号化処理の逆の処理でそれぞれのタイルを復号していけばよい。サイズ選択信号が“０”のタイルについては、復号した結果をそのまま出力すればよい。また、サイズ選択信号が“１”である場合、復号結果は水平方向Ｔｗ／２画素、垂直方向Ｔｈ／２の縮小タイルであるので、復号した１画素データを繰り返し出力することで２×２画素データを生成し、出力すればよい。同様に、サイズ選択信号が“２”である場合、復号結果は水平方向Ｔｗ／４、垂直方向Ｔｈ／４画素の縮小タイルであるので、復号した１画素データを繰り返し出力することで４×４画素データを生成し、出力すればよい。
【００７７】
また、実施形態によれば、各タイルは独立に符号化されている。従って、先に述べたように、マーカを検出する、あるいは各タイルの符号化データの長さ情報などから復号したいタイルの符号化データにアクセスすることによって特定タイルのみを復号したり、複数のタイルを並列に復号したりすることができる。
【００７８】
以上の説明のように、本第２の実施形態によれば、タイルを縮小して可逆性が保てる場合には１／２、または１／４の縮小画像を可逆符号化することで、符号量を低減することができ、かつ、符号化する画素数の削減によって符号化処理の付加を軽減することができる。
【００７９】
また、上記第２の実施形態では、縮小タイル生成部を２つ設ける例を説明したが、より多段階に設けるようにしても構わない。また、複数の縮小タイル生成部を直列に接続するのではなく並列にすることで、或る縮小タイル生成部は水平、垂直とも１／２に縮小し、或る縮小タイル生成部は水平、垂直とも１／３に縮小するということも可能になる。
【００８０】
［第２の実施形態の変形例］
上記第２の実施形態は、コンピュータソフトウェアでも実現できる。装置構成は、第１の実施形態の変形例（図１４）と同じとする。但し、本第２の実施形態では、ＣＰＵ１４０１は、縮小タイルバッファ６０４もＲＡＭ１４０２に確保することになる。
【００８１】
ＣＰＵ１４０１が実行する画像符号化アプリケーションの処理手順を、図１２のフローチャートに従って説明する。
【００８２】
まず、インタフェース１４０９を介してＴｈライン分の画像データをラインバッファ１０２に格納する（ステップＳ１２０１）。すなわち、ラインバッファ１０２に１ストライプ分の画像データを格納する。
【００８３】
次いで、ステップＳ１２０２に処理を進め、ラインバッファ１０２に格納されるストライプから、１タイル分のデータ（Ｔｗ×Ｔｈ画素データ）を読出し、タイルバッファ１０４に格納する。続いてステップＳ１２０３にて、タイルバッファ１０４に格納されたタイルデータをサブサンプリングすることで、縮小タイルデータを生成し、それを縮小タイルバッファ１０８に格納する。このとき、先に説明した第１の実施形態の条件を満たすか否かを判定し、それをサイズ選択信号１として記憶する。
【００８４】
続くステップＳ１２０４では、縮小タイルバッファ１０８に格納されたタイルデータをサブサンプリングすることで、更なる縮小タイルデータを生成し、それを縮小タイルバッファ６０４に格納する。このとき、先に説明した第１の実施形態の条件を満たすか否かを判定を行ない、それをサイズ選択信号２として記憶する。
【００８５】
ステップＳ１２０５では、サイズ選択信号１、２から、符号化対象となるタイルデータを選択するための選択信号を生成する。そして、ステップＳ１２０６にて、その選択信号に基づき、タイルバッファ１０４、縮小タイルバッファ１０８、縮小タイルバッファ６０４の１つのタイルデータを選択する。次いで、ステップＳ１２０７にて、選択したタイルデータを逆符号化し、符号化データを生成する。また、この際、その先頭には、選択信号（２ビットあれば十分）を付加する。
【００８６】
ステップＳ１２０８では、ステップＳ１２０７で生成された符号化データにヘッダ等を付加し、符号化データファイル形式のデータを形成する。
【００８７】
次に、ステップＳ１２０９では、符号化しようとするタイルが注目ストライプ内の最後のタイルであるか否か判断し、否の場合にはステップＳ１２０２に戻る。
【００８８】
また、ストライプの最後のタイルであると判断した場合には、ステップＳ１２１０に進み、注目ストライプが画像の最後のストライプであるか否かを判断する。最後のストライプでない場合（ＮＯ）は、ステップＳ１２０１に処理を移して次のストライプのデータを読み込んで処理を継続する。そして、最後のストライプである場合には対象とする画像データについての符号化処理を終了する。
【００８９】
以上の処理により、第２の実施形態と同様の作用効果を奏することが可能になる。なお、ここでは１タイルづつ順番に符号化する方法について述べたが、各タイルの符号化が他のタイルに全く依存していないため、マルチスレッドとして複数のタイルを並列に符号化処理することもできる。
【００９０】
［第３の実施形態］
第１、第２の実施形態の画像処理装置では、縮小画像を単純拡大によって元のサイズに戻した場合に可逆性が保てるか否かによって可逆性判定を行った。しかしながら、可逆性の判定についてはこれに限定されるものではない。例えば、規則性のある勾配、具体的な例では、１画素毎に輝度が１レベルづつ変化するような部分などにおいては中間値で補間した場合に可逆性が保てる。第３の実施形態として、単純拡大に加え、中間値による補間を考慮して可逆性を判定する例について説明する。
【００９１】
本第３の実施形態の画像処理装置は基本的に第１の実施形態と同じであり、図１に示した縮小タイル生成部１０７における可逆性判定結果の生成と、それを受けるスイッチ１０９の動きが異なるのみである。
【００９２】
第１の実施形態では、縮小タイルバッファ１０８に格納されるＰ（２ｉ，２ｊ）と、タイルバッファ１０４内のＰ（２ｉ＋１，２ｊ）、Ｐ（２ｉ，２ｊ＋１）、Ｐ（２ｉ＋１，２ｊ＋１）が同一画素値である場合に可逆性判定結果として“１”を出力した。そして、そうでない場合に“０”を出力した。本実施形態においても、前記４画素が同一である場合には可逆性判定結果として“１”を出力するが、同一でない場合、別の可逆性判定のアルゴリズムを適用して判定を行なう（同時に、別々のアルゴリズムで判定しても構わない）。なお、縮小バッファ１０８に格納されるデータは必ずしも２×２画素の左上隅の画素に限らず、別の位置の画素値を格納するようにしても良い。更には、２×２画素の平均値により縮小タイルデータを構成するなど、別の縮小アルゴリズムを用いても良い。
【００９３】
タイルバッファ１０４から縮小タイルバッファ１０８へと転送される画素Ｐ（２ｉ，２ｊ）について、以下の式により補間値Ｐ’（２ｉ＋１，２ｊ）、Ｐ’（２ｉ，２ｊ＋１）、Ｐ’（２ｉ＋１，２ｊ＋１）を生成する。
P'(2i+1, 2j  ) = { P (2i, 2j) + P(2i+2, 2j) }/2
P'(2i  , 2j+1) = { P (2i, 2j) + P(2i, 2j+2) }/2
P'(2i+1, 2j+1) = { P (2i, 2j) + P(2i+2, 2j+2) }/2
【００９４】
図１３に、３つの補間値Ｐ’（２ｉ＋１，２ｊ）、Ｐ’（２ｉ，２ｊ＋１）、Ｐ’（２ｉ＋１，２ｊ＋１）と、縮小タイルバッファ１０８へと転送される画素値Ｐ（２ｉ，２ｊ）の相対位置関係を示す。斜線を施した画素は、縮小タイルデータの画素値を示し、白抜きの画素は補間画素を表わしている。このようにして求めた３つの補間値Ｐ’（２ｉ＋１，２ｊ）、Ｐ’（２ｉ，２ｊ＋１）、Ｐ’（２ｉ＋１，２ｊ＋１）が、タイルバッファ１０４に格納されている実際の画素Ｐ（２ｉ＋１，２ｊ）、Ｐ（２ｉ，２ｊ＋１）、Ｐ（２ｉ＋１，２ｊ＋１）と同じであることが、縮小タイルバッファに格納する全てのＰ（２ｉ，２ｊ）について満たされるとき、可逆性判定結果として“２”を出力する。また、この条件を満たさない場合には“０”を出力する。
【００９５】
なお、補間値を生成する際、タイルの外側の値が必要となる場合には、補間値を外挿予測して生成する。例えば、タイルの水平方向画素数が３２であり、Ｐ’（３１，０）を求めたい場合、Ｐ（３２，０）はタイルの中に存在しない。しかし、Ｐ（３２，０）＝Ｐ（３０、０）＋｛ Ｐ（３０、０）−Ｐ（２８，０）｝として、画素Ｐ（２８，０）からＰ（３０，０）への輝度変化分をＰ（３０，０）の輝度値に加えることで仮想的に生成するすればよい。
【００９６】
さて、本第３の実施形態のスイッチ１０９では信号線１１０から入力される可逆性判定結果が“０”であるか否かを判定し、“０”である場合には端子ａ側への接続する。“０”でない場合、即ち、“１”または“２”である場合、端子ｂ側へと接続する。
【００９７】
また、タイルの可逆符号化データの先頭には、可逆性判定結果である０乃至２のいずれかを格納するようにする。
【００９８】
これ以外の本第３の実施形態における符号化処理の流れは、第１の実施形態と同じであるので、ここでは説明を省略する。
【００９９】
本第３の実施形態の画像処理装置で生成した符号化データを復号するには、各タイルヘッダに示される可逆性判定結果から復号すべきタイルのサイズを取得し、符号化処理の逆の手順でそれぞれのタイルを復号していくようにすれば良い。可逆性判定結果が”１”または“２”である場合、復号結果の画像データは水平方向Ｔｗ／２画素、垂直方向Ｔｈ／２画素の縮小タイルとなる。そして、可逆性判定結果が“１”であれば、第１の実施形態と同様に単純拡大処理を行なう。そして、可逆性判定結果が“２”である場合には、中間値による補間を行う。これにより、符号化対象となった画像データを劣化なく、復号することができる。
【０１００】
以上第３の実施形態を説明したが、これまでの説明からも明らかなように、本第３の実施形態と同様の作用効果を、コンピュータソフトウェアでもっても実現できることは明らかである。
【０１０１】
［その他の実施形態］
上記実施形態及び変形例によって本発明が限定されるものではない。例えば、実施形態では、可逆符号化部１０５で用いる可逆符号化方式として、固定の予測式により予測変換し、予測誤差をハフマン符号化する例を示したが、幾つかの予測式を用意して、動的に切り換えるような構成としても構わない。また、ハフマン符号に代えてＧｏｌｏｍｂ符号や、算術符号などその他のエントロピ符号化を用いても勿論構わない。
【０１０２】
また、元のタイルデータと縮小タイルデータの間での可逆性の判定として、単純拡大による復号時に完全に元のタイルデータが復元できること、または、中間値による補間により完全復元ができること、の２つを用いる例を示した。しかしながら、これに限らず符号化側と復号で特定できる処理であれば良く、その他の変倍処理に基づく可逆性判定を用いることができる。
【０１０３】
尚、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、デジタルカメラ、ファクシミリ装置等）に適用してもよい。
【０１０４】
また、上記説明からもわかるように、本発明はコンピュータプログラムをその範疇している。通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されており、それをコンピュータの読取り装置（ＣＤ−ＲＯＭドライブ）にセットし、システムにコピーもしくはインストールすることで、そのプログラムが実行可能となる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇に入ることも明らかである。
【図面の簡単な説明】
【０１０５】
【図１】本発明の第１の実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図２】可逆符号化部１０５の構成を示すブロック図である。
【図３】符号化対象画素ｘに対する周辺画素ａ，ｂ，ｃの位置を示す図である。
【図４】メモリ２０４に格納されるハフマンテーブルの例を示す図である。
【図５】本発明の第１の実施形態に係る画像処理装置による符号化対象画像データの符号化処理の流れを示すフローチャートである。
【図６】本発明の第２の実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図７】ＪＰＥＧ―ＬＳ符号化データの基本構成を示す図である。
【図８】画像のタイル分割の様子を示す図である。
【図９】本画像処理装置の出力符号列の構成を示す図である。
【図１０】本発明の第１の実施形態に係る画像処理装置の１つのタイルの符号列の構成を示す図である。
【図１１】本発明の第２の実施形態に係る画像処理装置の１つのタイルの符号列の構成を示す図である。
【図１２】本発明の第２の実施形態に係る画像処理装置による符号化対象画像データの符号化処理の流れを示すフローチャートである。
【図１３】縮小タイルデータの画素値と補間画素との位置関係を示す図。
【図１４】本発明の第１、第２の実施形態に係る画像処理装置の基本構成を示す図である。
【図１５】第１の実施形態における可逆性判定処理の処理単位を示す図である。
【図１】
2008078826.tif 000003
【図２】
2008078826.tif 000004
【図３】
2008078826.tif 000005
【図４】
2008078826.tif 000006
【図５】
2008078826.tif 000007
【図６】
2008078826.tif 000008
【図７】
2008078826.tif 000009
【図８】
2008078826.tif 000010
【図９】
2008078826.tif 000011
【図１０】
2008078826.tif 000012
【図１１】
2008078826.tif 000013
【図１２】
2008078826.tif 000014
【図１３】
2008078826.tif 000015
【図１４】
2008078826.tif 000016
【図１５】
2008078826.tif 000017