(57)【特許請求の範囲】
【請求項１】
符号化対象である画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像を変換する変換手段と、
前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、
前記分離手段によって分離された画素同期情報を符号化する第１の符号化手段と、
前記分離手段によって分離された画素非同期情報を符号化する第２の符号化手段と、
前記第１の符号化手段によって符号化された符号を復号し、画素同期情報を生成する第１の復号手段と、
前記第２の符号化手段によって符号化された符号を復号し、画素非同期情報を生成する第２の復号手段と、
前記第１の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第２の復号手段によって復号された画素非同期情報を合成する合成手段と、
前記合成手段によって合成された情報を前記変換手段による変換処理とは逆の変換処理を行う逆変換手段と、
前記逆変換手段による変換によって生成された画像を出力する出力手段
を具備し、
前記第１の符号化手段は、前記分離手段によって分離された画素同期情報をブロックにまたがった情報源拡大した後に、符号化し、
前記第１の復号手段は、前記復号した符号を情報源拡大の逆処理をした後に、画素同期情報を生成する
ことを特徴とする画像処理装置。
【請求項２】
符号化対象である画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像を変換する変換手段と、
前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、
前記分離手段によって分離された画素同期情報を符号化する第１の符号化手段と、
前記分離手段によって分離された画素非同期情報を符号化する第２の符号化手段と、
前記第１の符号化手段によって符号化された符号を出力する第１の出力手段と、
前記第２の符号化手段によって符号化された符号を出力する第２の出力手段
を具備し、
前記第１の符号化手段は、前記分離手段によって分離された画素同期情報をブロックにまたがった情報源拡大した後に、符号化する
ことを特徴とする画像処理装置。
【請求項３】
前記変換手段は、ＪＰＥＧにおける周波数変換を行い、
前記分離手段は、ゼロ／非ゼロパターンを画素同期情報として分離し、非ゼロ係数を画素非同期情報として分離する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記変換手段は、予測符号化による変換を行い、
前記分離手段は、ゼロ／非ゼロパターンを画素同期情報として分離し、非ゼロ予測誤差値を画素非同期情報として分離する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記変換手段は、ＬＺ符号化による変換を行い、
前記分離手段は、一致／非一致情報を画素同期情報として分離し、出現位置及び画素値を画素非同期情報として分離し、
前記一致／非一致情報は、一致長と非一致長を有している
ことを特徴とする請求項２に記載の画像処理装置。
【請求項６】
符号化対象である画像が変換され、該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、該画素同期情報をブロックにまたがった情報源拡大した後に符号化された符号を受け付ける第１の受付手段と、
前記画素非同期情報が符号化された符号を受け付ける第２の受付手段と、
前記第１の受付手段によって受け付けられた符号を復号し、画素同期情報を生成する第１の復号手段と、
前記第２の受付手段によって受け付けられた符号を復号し、画素非同期情報を生成する第２の復号手段と、
前記第１の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第２の復号手段によって復号された画素非同期情報を合成する合成手段と、
前記合成手段によって合成された情報を、前記画像に対して行われた変換処理とは逆の変換処理を行う逆変換手段と、
前記逆変換手段による変換によって生成された画像を出力する出力手段
を具備し、
前記第１の復号手段は、前記復号した符号を情報源拡大の逆処理をした後に、画素同期情報を生成する
ことを特徴とする画像処理装置。
【請求項７】
前記第１の受付手段は、画像がＪＰＥＧにおける周波数変換され、ゼロ／非ゼロパターンを画素同期情報として符号化した符号を受け付け、
前記第２の受付手段は、画像がＪＰＥＧにおける周波数変換され、非ゼロ係数を画素非同期情報として符号化した符号を受け付け、
前記逆変換手段は、ＪＰＥＧにおける周波数変換の逆変換処理を行う
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第１の受付手段は、画像が予測符号化され、ゼロ／非ゼロパターンを画素同期情報として符号化した符号を受け付け、
前記第２の受付手段は、画像が予測符号化され、非ゼロ予測誤差を画素非同期情報として符号化した符号を受け付け、
前記逆変換手段は、予測符号化の逆変換処理を行う
ことを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記第１の受付手段は、画像がＬＺ符号化され、一致／非一致情報を画素同期情報として符号化した符号を受け付け、
前記第２の受付手段は、画像がＬＺ符号化され、出現位置及び画素値を画素非同期情報として符号化した符号を受け付け、
前記逆変換手段は、ＬＺ符号化の逆変換処理を行い、
前記一致／非一致情報は、一致長と非一致長を有している
ことを特徴とする請求項６に記載の画像処理装置。
【請求項１０】
コンピュータを、
符号化対象である画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像を変換する変換手段と、
前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、
前記分離手段によって分離された画素同期情報を符号化する第１の符号化手段と、
前記分離手段によって分離された画素非同期情報を符号化する第２の符号化手段と、
前記第１の符号化手段によって符号化された符号を出力する第１の出力手段と、
前記第２の符号化手段によって符号化された符号を出力する第２の出力手段
として機能させ、
前記第１の符号化手段は、前記分離手段によって分離された画素同期情報をブロックにまたがった情報源拡大した後に、符号化する
ことを特徴とする画像処理プログラム。
【請求項１１】
コンピュータを、
符号化対象である画像が変換され、該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、該画素同期情報をブロックにまたがった情報源拡大した後に符号化された符号を受け付ける第１の受付手段と、
前記画素非同期情報が符号化された符号を受け付ける第２の受付手段と、
前記第１の受付手段によって受け付けられた符号を復号し、画素同期情報を生成する第１の復号手段と、
前記第２の受付手段によって受け付けられた符号を復号し、画素非同期情報を生成する第２の復号手段と、
前記第１の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第２の復号手段によって復号された画素非同期情報を合成する合成手段と、
前記合成手段によって合成された情報を、前記画像に対して行われた変換処理とは逆の変換処理を行う逆変換手段と、
前記逆変換手段による変換によって生成された画像を出力する出力手段
として機能させ、
前記第１の復号手段は、前記復号した符号を情報源拡大の逆処理をした後に、画素同期情報を生成する
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
情報の符号化、復号に関する技術がある。
これに関連する技術として、例えば、特許文献１には、高解像度映像信号を、低解像度映像信号（第１映像信号）と高解像度成分信号（第２映像信号）とに分割して、別々に符号化して伝送するような映像信号伝送システムの受信側に設けられ、第１映像信号及び第２映像信号を互いに独立して復号し、かつ復号後の第１映像信号及び復号後の第２映像信号から元の高解像度映像信号を合成することができる映像信号受信装置を提供することを課題とし、第２復号器へは、第１復号器において発生された垂直同期信号が渡され、第２復号器は、その垂直同期信号に基づいて、第２映像信号の復号タイミング及び出力タイミングを調節し、第１復号器から第２復号器へと渡される垂直同期信号は画素精度を持っており、そのため、復号後の第１映像信号と復号後の第２映像信号とを、フレーム内の画素を単位として互いに同期（すなわちフレーム内同期）させることができることが開示されている。
【０００３】
また、例えば、特許文献２、特許文献３には、より効率的な符号化処理を実現する符号化装置を提供することを課題とし、画像処理装置は、ソースコーダで生成されたシンボルを、既定数のシンボルからなるブロックにまとめ、ブロック毎に符号語を割り振り、ブロックに対しては１対１の符号であるが、シンボルから見ると多対１の符号を構成し、これにより、可変長符号の処理に起因する分岐処理又はフィードバックループは、シンボル単位で発生することがなくなり、処理速度の向上が期待できることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１１９７０２号公報
【特許文献２】特開２００８−０６７３５１号公報
【特許文献３】特開２００８−０６７３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、画像を符号化して復号する場合において、本構成を有していない場合に比較して、符号量を削減するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、符号化対象である画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像を変換する変換手段と、前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、前記分離手段によって分離された画素同期情報を符号化する第１の符号化手段と、前記分離手段によって分離された画素非同期情報を符号化する第２の符号化手段と、前記第１の符号化手段によって符号化された符号を復号し、画素同期情報を生成する第１の復号手段と、前記第２の符号化手段によって符号化された符号を復号し、画素非同期情報を生成する第２の復号手段と、前記第１の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第２の復号手段によって復号された画素非同期情報を合成する合成手段と、前記合成手段によって合成された情報を前記変換手段による変換処理とは逆の変換処理を行う逆変換手段と、前記逆変換手段による変換によって生成された画像を出力する出力手段を具備し、前記第１の符号化手段は、前記分離手段によって分離された画素同期情報をブロックにまたがった情報源拡大した後に、符号化し、前記第１の復号手段は、前記復号した符号を情報源拡大の逆処理をした後に、画素同期情報を生成することを特徴とする画像処理装置である。
【０００７】
請求項２の発明は、符号化対象である画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像を変換する変換手段と、前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、前記分離手段によって分離された画素同期情報を符号化する第１の符号化手段と、前記分離手段によって分離された画素非同期情報を符号化する第２の符号化手段と、前記第１の符号化手段によって符号化された符号を出力する第１の出力手段と、前記第２の符号化手段によって符号化された符号を出力する第２の出力手段を具備し、前記第１の符号化手段は、前記分離手段によって分離された画素同期情報をブロックにまたがった情報源拡大した後に、符号化することを特徴とする画像処理装置である。
【０００８】
請求項３の発明は、前記変換手段は、ＪＰＥＧにおける周波数変換を行い、前記分離手段は、ゼロ／非ゼロパターンを画素同期情報として分離し、非ゼロ係数を画素非同期情報として分離することを特徴とする請求項２に記載の画像処理装置である。
【０００９】
請求項４の発明は、前記変換手段は、予測符号化による変換を行い、前記分離手段は、ゼロ／非ゼロパターンを画素同期情報として分離し、非ゼロ予測誤差値を画素非同期情報として分離することを特徴とする請求項２に記載の画像処理装置である。
【００１０】
請求項５の発明は、前記変換手段は、ＬＺ符号化による変換を行い、前記分離手段は、一致／非一致情報を画素同期情報として分離し、出現位置及び画素値を画素非同期情報として分離し、前記一致／非一致情報は、一致長と非一致長を有していることを特徴とする請求項２に記載の画像処理装置である。
【００１１】
請求項６の発明は、符号化対象である画像が変換され、該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、該画素同期情報をブロックにまたがった情報源拡大した後に符号化された符号を受け付ける第１の受付手段と、前記画素非同期情報が符号化された符号を受け付ける第２の受付手段と、前記第１の受付手段によって受け付けられた符号を復号し、画素同期情報を生成する第１の復号手段と、前記第２の受付手段によって受け付けられた符号を復号し、画素非同期情報を生成する第２の復号手段と、前記第１の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第２の復号手段によって復号された画素非同期情報を合成する合成手段と、前記合成手段によって合成された情報を、前記画像に対して行われた変換処理とは逆の変換処理を行う逆変換手段と、前記逆変換手段による変換によって生成された画像を出力する出力手段を具備し、前記第１の復号手段は、前記復号した符号を情報源拡大の逆処理をした後に、画素同期情報を生成することを特徴とする画像処理装置である。
【００１２】
請求項７の発明は、前記第１の受付手段は、画像がＪＰＥＧにおける周波数変換され、ゼロ／非ゼロパターンを画素同期情報として符号化した符号を受け付け、前記第２の受付手段は、画像がＪＰＥＧにおける周波数変換され、非ゼロ係数を画素非同期情報として符号化した符号を受け付け、前記逆変換手段は、ＪＰＥＧにおける周波数変換の逆変換処理を行うことを特徴とする請求項６に記載の画像処理装置である。
【００１３】
請求項８の発明は、前記第１の受付手段は、画像が予測符号化され、ゼロ／非ゼロパターンを画素同期情報として符号化した符号を受け付け、前記第２の受付手段は、画像が予測符号化され、非ゼロ予測誤差を画素非同期情報として符号化した符号を受け付け、前記逆変換手段は、予測符号化の逆変換処理を行うことを特徴とする請求項６に記載の画像処理装置である。
【００１４】
請求項９の発明は、前記第１の受付手段は、画像がＬＺ符号化され、一致／非一致情報を画素同期情報として符号化した符号を受け付け、前記第２の受付手段は、画像がＬＺ符号化され、出現位置及び画素値を画素非同期情報として符号化した符号を受け付け、前記逆変換手段は、ＬＺ符号化の逆変換処理を行い、前記一致／非一致情報は、一致長と非一致長を有していることを特徴とする請求項６に記載の画像処理装置である。
【００１５】
請求項１０の発明は、コンピュータを、符号化対象である画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像を変換する変換手段と、前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、前記分離手段によって分離された画素同期情報を符号化する第１の符号化手段と、前記分離手段によって分離された画素非同期情報を符号化する第２の符号化手段と、前記第１の符号化手段によって符号化された符号を出力する第１の出力手段と、前記第２の符号化手段によって符号化された符号を出力する第２の出力手段として機能させ、前記第１の符号化手段は、前記分離手段によって分離された画素同期情報をブロックにまたがった情報源拡大した後に、符号化することを特徴とする画像処理プログラムである。
【００１６】
請求項１１の発明は、コンピュータを、符号化対象である画像が変換され、該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、該画素同期情報をブロックにまたがった情報源拡大した後に符号化された符号を受け付ける第１の受付手段と、前記画素非同期情報が符号化された符号を受け付ける第２の受付手段と、前記第１の受付手段によって受け付けられた符号を復号し、画素同期情報を生成する第１の復号手段と、前記第２の受付手段によって受け付けられた符号を復号し、画素非同期情報を生成する第２の復号手段と、前記第１の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第２の復号手段によって復号された画素非同期情報を合成する合成手段と、前記合成手段によって合成された情報を、前記画像に対して行われた変換処理とは逆の変換処理を行う逆変換手段と、前記逆変換手段による変換によって生成された画像を出力する出力手段として機能させ、前記第１の復号手段は、前記復号した符号を情報源拡大の逆処理をした後に、画素同期情報を生成することを特徴とする画像処理プログラムである。
【発明の効果】
【００１７】
請求項１の画像処理装置によれば、画像を符号化して復号する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【００１８】
請求項２の画像処理装置によれば、画像を符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【００１９】
請求項３の画像処理装置によれば、画像をＪＰＥＧ符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【００２０】
請求項４の画像処理装置によれば、画像を予測符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【００２１】
請求項５の画像処理装置によれば、画像をＬＺ符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【００２２】
請求項６の画像処理装置によれば、符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【００２３】
請求項７の画像処理装置によれば、ＪＰＥＧ符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【００２４】
請求項８の画像処理装置によれば、予測符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【００２５】
請求項９の画像処理装置によれば、ＬＺ符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【００２６】
請求項１０の画像処理プログラムによれば、画像を符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【００２７】
請求項１１の画像処理プログラムによれば、符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【図面の簡単な説明】
【００２８】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図３】先行技術による符号化処理、復号処理の例を示す説明図である。
【図４】２次元ハフマン符号の例を示す説明図である。
【図５】情報源の拡大と２次元ハフマン符号化の例を示す説明図である。
【図６】第１の実施の形態による処理例を示すフローチャートである。
【図７】第２の実施の形態による処理例を示すフローチャートである。
【図８】ゼロ／非ゼロパターンの例を示す説明図である。
【図９】８次の情報源拡大の例を示す説明図である。
【図１０】符号化処理におけるデータ概念の例を示す説明図である。
【図１１】ゼロ／非ゼロパターンのラン表現の例を示す説明図である。
【図１２】情報源拡大の例を示す説明図である。
【図１３】ＬＺ符号の概念例を示す説明図である。
【図１４】ＬＺ符号の具体的処理例を示す説明図である。
【図１５】ＬＺ符号の具体的処理例を示す説明図である。
【図１６】本実施の形態と先行技術による処理結果の例を比較するグラフを示す説明図である。
【図１７】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２９】
まず、実施の形態の理解を助けるために、その基本となる技術等を説明する。
＜ＪＰＥＧ＞
ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）におけるＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）方式では、１次元情報となったＤＣＴ係数を、非ゼロ係数とゼロランに分解して符号化対象とする。非ゼロ係数は画素単位の情報であるが、ゼロランは複数画素をまとめたラン単位の情報であり、処理単位が異なる。
ＪＰＥＧでは、この処理単位の異なる２つの情報を、２次元ハフマン（Ｈｕｆｆｍａｎ）符号化と呼ばれる符号化で圧縮する。２次元ハフマン符号化とは、ゼロランと非ゼロ係数のペアを被符号化シンボルとして可変長符号化を行う技術である。これによって２つの情報は、１出力の符号に統合されることとなる。
【００３０】
＜特許文献１に記載の技術＞
画像（映像）を低解像度信号と高解像度信号に分離し（図３（ａ）に例示する高解像度信号と図３（ｂ）に例示する低解像度信号）、それぞれを別個に符号化する。復号処理では、図３の例に示すように、この両信号を画素精度で同期して復号し、合成したものを復号画像とする。
【００３１】
＜複合的表現による圧縮＞
画像圧縮では複数の異なる表現方法を使った情報群で画像を表現することがある。ＪＰＥＧにおける、非ゼロ係数とゼロランがこの例にあたる。各画素は非ゼロ又はゼロ係数に変換されるが、非ゼロ係数がそのままスカラ表現されるのに対し、ゼロ係数はラン表現される。
このような複合的表現に対して、ＪＰＥＧでは２次元ハフマン符号化によって１次元化した符号を生成している。
しかし、ＪＰＥＧでは、両情報をペアにしなければいけないため、例えば非ゼロ係数が連続する場合、ダミーのゼロラン（長さ０）を符号化する必要が生じ、オーバーヘッドが発生する。これは本来交互に発生するわけではない非ゼロ係数とゼロランという２つの情報を、１次元にまとめることに起因するものである。
これを図４の例を用いて示すと、ＤＣＴ係数４００は、ゼロラン４０１、非ゼロ係数４０２、ゼロラン４０３、非ゼロ係数４０４、非ゼロ係数４０６、非ゼロ係数４０８、ゼロラン４０９、非ゼロ係数４１０の順に発生するが、ゼロランと非ゼロ係数をペアにしてハフマン符号を割り当てるようにするため、非ゼロ係数が連続している非ゼロ係数４０４、４０６、４０８があるため、ラン０のゼロラン（ダミー）４０５を非ゼロ係数４０６の前に挿入し、ラン０のゼロラン（ダミー）４０７を非ゼロ係数４０８の前に挿入している。これによって、ＤＣＴ係数４００は、ゼロランと非ゼロ係数のペア（ゼロラン４０１と非ゼロ係数４０２、ゼロラン４０３と非ゼロ係数４０４、ラン０のゼロラン（ダミー）４０５と非ゼロ係数４０６、ラン０のゼロラン（ダミー）４０７と非ゼロ係数４０８、ゼロラン４０９と非ゼロ係数４１０の各ペア）となる。
【００３２】
＜情報源拡大＞
また、符号化のテクニックとして複数のシンボルをまとめることで情報量を削減する、情報源の拡大という理論がある。例えば、ゼロランを２つまとめて符号化することにより、符号量が削減できる。ちなみに、このときまとめる個数を次数という。例えば２つまとめる場合は、２次の拡大という。
しかし、ＪＰＥＧの場合、ゼロランと非ゼロは１個ずつペアにする必要があるため、情報源の拡大を実現できない。無理に拡大するとシンボル数が爆発し、実装はもちろん、符号の設計も原理的に困難になる。
これを図５の例を用いて示すと、図５（ａ）に示す例は、一般的な符号化（情報源の拡大を使用していない符号化）を示しているものであり、シンボル（図では、ゼロラン５０１、５０３）と符号（図では、符号５０２、５０４）が１対１に対応している。情報源の拡大を用いると、図５（ｂ）に示す例のように、シンボル（図では、ゼロラン５１１とゼロラン５１２）と符号（図では、符号５１３）がＮ対１に対応していることになる。ここで、図５（ｃ）に示す例のように、ＪＰＥＧのＤＣＴ係数５２０は、ゼロラン５２１、非ゼロ係数５２２、ゼロラン５２３、非ゼロ係数５２４、ラン０のゼロラン（ダミー）５２５、非ゼロ係数５２６、ラン０のゼロラン（ダミー）５２７、非ゼロ係数５２８を有している。空間的にゼロランの次に非ゼロ係数が来ることが前提なので、ゼロランと次のゼロランを組み合わせることが困難である。これを無理に拡大しようとすると、図５（ｄ）に示す例のように、ゼロランと非ゼロ係数のペアを拡大（図では、ゼロラン５２１と非ゼロ係数５２２のペア、ゼロラン５２３と非ゼロ係数５２４のペアによる拡大）すると、１６０×１６０＝２５６００エントリの符号表が必要で規模的、原理的に実現が困難である。
【００３３】
＜特許文献１に記載の技術への適用＞
前述のように、ＪＰＥＧの場合、１次元符号を生成するための制限（非ゼロ係数が連続した場合に、ダミーを挿入すること）によって、オーバーヘッドを生じたり、情報源拡大の適用を阻害したりすることとなる。
これに対して特許文献１に記載の技術の場合、複数の情報を並行して符号化する。この構成の場合、ＪＰＥＧのように１次元化する工程がなく、符号構成の制限もない。
しかし、特許文献１に記載の技術は同質な２つの情報（低解像度信号と高解像度信号）を並列に符号化、復号する技術であり、両情報を同じ順序、同じ単位で符号化することを前提としている。このため、前述の（ＪＰＥＧにおける非ゼロ係数とゼロランのような）複合的表現がそもそも扱えないものである。
【００３４】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
＜第１の実施の形態＞
図１は、第１の実施の形態（符号化装置）の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に１対１に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（１対１対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００３５】
用語の定義として、画像変換モジュール１２０による処理結果のうち、画素毎に出力する情報を画素同期情報と呼び、そうでない情報を画素非同期情報と呼ぶことにする。画素同期情報は画素数分生成することになるが、画素非同期情報は画素によって存在する場合と無い場合がある。
本実施の形態（符号化処理）では、符号化にあたって、画像を複数種類の情報によって複合的に表現する。このとき第１の情報として画素同期情報を用い、第２の情報として画素非同期情報を用いる。第２の実施の形態による復号処理では、この２種類の符号を復号しながら同期制御を行い、必要な情報を正しい順番で生成する。
本実施の形態は、画素同期情報と画素非同期情報を分離した。画素同期情報と画素非同期情報の処理を行うモジュールの双方に独立性を高めている。つまり、双方に自由な構成がとれるようになっている。また、ＪＰＥＧにおけるダミーのようなオーバーヘッドが不要となる。そして、２種類の情報を独立に扱うために符号表が小さくなり、情報源拡大も行えるようになる。このために符号化効率が向上することになる。さらに、処理性能を向上させるために、符号化モジュール、復号モジュールを並列動作させるようにしてもよい。
【００３６】
第１の実施の形態である画像処理装置は、画像を符号化するものであって、図１の例に示すように、画像受付モジュール１１０、画像変換モジュール１２０、分離モジュール１３０、第１の符号化モジュール１４０、第１の出力モジュール１５０、第２の符号化モジュール１６０、第２の出力モジュール１７０を有している。
【００３７】
画像受付モジュール１１０は、画像変換モジュール１２０と接続されており、符号化対象である画像１０５を受け付ける。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）等で映像を撮影すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。画像は、２値画像、多値画像（カラー画像を含む）であってもよい。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【００３８】
画像変換モジュール１２０は、画像受付モジュール１１０、分離モジュール１３０と接続されている。画像変換モジュール１２０は、画像受付モジュール１１０によって受け付けられた画像を変換する。
分離モジュール１３０は、画像変換モジュール１２０、第１の符号化モジュール１４０、第２の符号化モジュール１６０と接続されている。分離モジュール１３０は、画像変換モジュール１２０によって変換された画像をその画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する。そして、画素同期情報は第１の符号化モジュール１４０へ渡し、画素非同期情報を第２の符号化モジュール１６０へ渡す。
【００３９】
画像変換モジュール１２０、分離モジュール１３０については、例えば、次のようにしてもよい。
画像変換モジュール１２０は、ＪＰＥＧにおける周波数変換を行い、分離モジュール１３０は、ゼロ／非ゼロパターンを画素同期情報として分離し、非ゼロ係数を画素非同期情報として分離するようにしてもよい。
画像変換モジュール１２０は、予測符号化による変換を行い、分離モジュール１３０は、ゼロ／非ゼロパターンを画素同期情報として分離し、非ゼロ予測誤差値を画素非同期情報として分離するようにしてもよい。
画像変換モジュール１２０は、ＬＺ符号化による変換を行い、分離モジュール１３０は、一致／非一致情報を画素同期情報として分離し、出現位置及び画素値を画素非同期情報として分離するようにしてもよい。
これらの例については、後に詳述する。
【００４０】
第１の符号化モジュール１４０は、分離モジュール１３０、第１の出力モジュール１５０と接続されている。第１の符号化モジュール１４０は、分離モジュール１３０によって分離された画素同期情報を符号化する。ここでの符号化方法は問わないが、画素同期信号の性質に即した符号化方法が適している。
第１の出力モジュール１５０は、第１の符号化モジュール１４０と接続されている。第１の出力モジュール１５０は、第１の符号化モジュール１４０によって符号化された第１の符号１５５を出力する。なお、第２の出力モジュール１７０による出力結果である第２の符号１７５と第１の符号１５５を合わせて、画像１０５の符号化結果として出力する。ここでの出力とは、例えば、後述する第２の画像処理装置（復号装置）へ出力することの他に、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【００４１】
第２の符号化モジュール１６０は、分離モジュール１３０、第２の出力モジュール１７０と接続されている。第２の符号化モジュール１６０は、分離モジュール１３０によって分離された画素非同期情報を符号化する。なお、画素によっては、第２の符号化モジュール１６０は、動作したり、動作が不要な場合がある。ここでの符号化方法は問わないが、画素非同期情報の性質に即した符号化方法が適している。そして、第１の符号化モジュール１４０とは異なる符号化方法であればよい。
第２の出力モジュール１７０は、第２の符号化モジュール１６０と接続されている。第２の出力モジュール１７０は、第２の符号化モジュール１６０によって符号化された第２の符号１７５を出力する。なお、第１の出力モジュール１５０による出力結果である第１の符号１５５と第２の符号１７５を合わせて、画像１０５の符号化結果として出力する。ここでの出力とは、例えば、後述する第２の画像処理装置（復号装置）へ出力することの他に、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【００４２】
図６は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ６０２では、画像受付モジュール１１０が、画像を受け付ける。
ステップＳ６０４では、画像変換モジュール１２０が、画像に対して変換処理を行う。
ステップＳ６０６では、分離モジュール１３０が、画素同期情報と画素非同期情報に分離する。画素同期情報に対してはステップＳ６０８以下の処理を行い、画素非同期情報に対してはステップＳ６１２以下の処理を行う。
ステップＳ６０８では、第１の符号化モジュール１４０が、画素同期情報の第１の符号化処理を行う。
ステップＳ６１０では、第１の出力モジュール１５０が、第１の符号１５５を出力する。
ステップＳ６１２では、第２の符号化モジュール１６０が、画素非同期情報の第２の符号化処理を行う。
ステップＳ６１４では、第２の出力モジュール１７０が、第２の符号１７５を出力する。
ステップＳ６１６では、対象とする画像内の画素の符号化処理が終了したか否かを判断し、終了の場合は処理を終了し（ステップＳ６９９）、それ以外の場合はステップＳ６０４からの処理を行う。
ステップＳ６１０、ステップＳ６１４での出力結果を合わせたものが、画像の最終的な符号化結果となる。
【００４３】
＜第２の実施の形態＞
図２は、第２の実施の形態（復号装置）の構成例についての概念的なモジュール構成図を示している。
第２の実施の形態である画像処理装置は、画像を復号するものであって、図２の例に示すように、第１の符号受付モジュール２１０、第１の復号モジュール２２０、第２の符号受付モジュール２３０、第２の復号モジュール２４０、合成モジュール２５０、逆変換モジュール２６０、出力モジュール２７０を有している。
【００４４】
第１の符号受付モジュール２１０は、第１の復号モジュール２２０と接続されており、第１の符号１５５を受け付ける。第１の符号１５５は、第１の実施の形態の第１の出力モジュール１５０によって出力されたものである。つまり、符号化対象である画像が変換され、その画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、画素同期情報が符号化された符号を受け付ける。
第２の符号受付モジュール２３０は、第２の復号モジュール２４０と接続されており、第２の符号１７５を受け付ける。第２の符号１７５は、第１の実施の形態の第２の出力モジュール１７０によって出力されたものである。つまり、符号化対象である画像が変換され、その画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、画素非同期情報が符号化された符号を受け付ける。もちろんのことながら、受け付ける第２の符号１７５は、第１の符号受付モジュール２１０が受け付ける第１の符号１５５に対応しているものである。
ここで、第１の符号１５５及び第２の符号１７５を受け付けるとは、第１の実施の形態によって出力されたものを直接受け付けることの他に、第１の符号１５５及び第２の符号１７５を記憶している画像データベース等の画像記憶装置、メモリーカード等の記憶媒体（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）から符号を読み出すようにしてもよい。
【００４５】
第１の復号モジュール２２０は、第１の符号受付モジュール２１０、合成モジュール２５０と接続されている。第１の復号モジュール２２０は、第１の符号受付モジュール２１０によって受け付けられた第１の符号１５５を復号し、画素同期情報を生成する。つまり、第１の実施の形態の第１の符号化モジュール１４０の逆処理を行う。
第２の復号モジュール２４０は、第２の符号受付モジュール２３０、合成モジュール２５０と接続されている。第２の復号モジュール２４０は、第２の符号受付モジュール２３０によって受け付けられた第２の符号１７５を復号し、画素非同期情報を生成する。つまり、第１の実施の形態の第２の符号化モジュール１６０の逆処理を行う。
【００４６】
合成モジュール２５０は、第１の復号モジュール２２０、第２の復号モジュール２４０、逆変換モジュール２６０と接続されている。合成モジュール２５０は、第１の復号モジュール２２０によって復号された画素同期情報に基づいて、その画素同期情報と第２の復号モジュール２４０によって復号された画素非同期情報を合成する。つまり、合成モジュール２５０は、合成の際に復号における同期制御も行うものであり、第１の復号モジュール２２０が出力する画素同期情報を受け付け、その内容に応じて第２の復号モジュール２４０を制御し画素非同期情報を受け付ける。そして、この２つの情報を合成した結果を逆変換モジュール２６０へ渡す。「画素同期情報に基づいて」とは、第１の実施の形態の画像変換モジュール１２０による変換方法によって異なるものであるが、例えば、第１の復号モジュール２２０によって復号された画素同期情報のうち、非ゼロがあった場合は、第２の復号モジュール２４０に復号処理を行わせて画素非同期情報を受け付けるように制御することである。そして、「合成」とは、例えば、その非ゼロがあった画素同期情報内の箇所に画素非同期情報を埋め込むことである。
【００４７】
逆変換モジュール２６０は、合成モジュール２５０、出力モジュール２７０と接続されている。逆変換モジュール２６０は、合成モジュール２５０によって合成された情報を、画像１０５に対して行われた変換処理（第１の実施の形態の画像変換モジュール１２０による変換処理）とは逆の変換処理を行う。
【００４８】
第１の符号受付モジュール２１０、第２の符号受付モジュール２３０、逆変換モジュール２６０については、例えば、次のようにしてもよい。
第１の符号受付モジュール２１０は、画像がＪＰＥＧにおける周波数変換され、ゼロ／非ゼロパターンを画素同期情報として符号化した符号を受け付け、第２の符号受付モジュール２３０は、画像がＪＰＥＧにおける周波数変換され、非ゼロ係数を画素非同期情報として符号化した符号を受け付け、逆変換モジュール２６０は、ＪＰＥＧにおける周波数変換の逆変換処理を行うようにしてもよい。
第１の符号受付モジュール２１０は、画像が予測符号化され、ゼロ／非ゼロパターンを画素同期情報として符号化した符号を受け付け、第２の符号受付モジュール２３０は、画像が予測符号化され、非ゼロ予測誤差を画素非同期情報として符号化した符号を受け付け、逆変換モジュール２６０は、予測符号化の逆変換処理を行うようにしてもよい。
第１の符号受付モジュール２１０は、画像がＬＺ符号化され、一致／非一致情報を画素同期情報として符号化した符号を受け付け、第２の符号受付モジュール２３０は、画像がＬＺ符号化され、出現位置及び画素値を画素非同期情報として符号化した符号を受け付け、逆変換モジュール２６０は、ＬＺ符号化の逆変換処理を行うようにしてもよい。
これらの例については、後に詳述する。
【００４９】
出力モジュール２７０は、逆変換モジュール２６０と接続されており、画像２７５を出力する。出力モジュール２７０は、逆変換モジュール２６０による変換によって生成された画像を出力する。ここで画像を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【００５０】
図７は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ７０２では、第１の符号受付モジュール２１０が、第１の符号１５５を受け付ける。
ステップＳ７０４では、第２の符号受付モジュール２３０が、第２の符号１７５を受け付ける。
ステップＳ７０６では、第１の復号モジュール２２０が、第１の符号１５５を復号して画素同期情報を生成する。
ステップＳ７０８では、合成モジュール２５０が、画素非同期情報が必要であるか否かを判断し、必要である場合はステップＳ７１０へ進み、それ以外の場合はステップＳ７１４へ進む。
ステップＳ７１０では、第２の復号モジュール２４０が、第２の符号１７５を復号して画素非同期情報を生成する。
ステップＳ７１２では、合成モジュール２５０が、画素同期情報と画素非同期情報を合成する。
ステップＳ７１４では、逆変換モジュール２６０が、逆変換を行う。
ステップＳ７１６では、出力モジュール２７０が、復号した画素を出力する。
ステップＳ７１８では、終了か否かを判断し、終了の場合は処理を終了し（ステップＳ７９９）、それ以外の場合はステップＳ７０６からの処理を行う。
ステップＳ７１６での出力結果が、復号された画像となる。
復号動作は第１の復号モジュール２２０と第２の復号モジュール２４０による処理をシーケンシャルに行ってもよいし、第１の復号モジュール２２０と第２の復号モジュール２４０による復号処理の並列動作で行うようにしてもよい。並列動作の処理として、例えば、先読み処理のように、前もって第２の復号モジュール２４０による処理を行っておき、その結果をバッファリングしておくような動作でも、シーケンシャル処理と本質的には同値である。
【００５１】
以下、第１の実施の形態の画像変換モジュール１２０、分離モジュール１３０、第１の符号化モジュール１４０、第２の符号化モジュール１６０による処理、第２の実施の形態の第１の符号受付モジュール２１０、第２の符号受付モジュール２３０、合成モジュール２５０、逆変換モジュール２６０による処理の具体例を示す。
＜ＪＰＥＧにおける周波数変換による変換例＞
本例では、画像変換モジュール１２０にＪＰＥＧの周波数変換を用い、画素同期情報としてゼロランの代わりとなるゼロ／非ゼロパターンを、また画素非同期情報として非ゼロ係数を使用する。
ゼロランとゼロ／非ゼロパターンの違いを以下に示す。ゼロランはゼロ係数に対してのみ生成されるため、画素同期情報ではない。図８は、ゼロ／非ゼロパターンの例を示す説明図である。
【００５２】
図８（ａ）の例に示すＤＣＴ係数８００のゼロラン表現は、ゼロラン８０１、非ゼロ係数８０２、ゼロラン８０３、非ゼロ係数８０４、ラン０のゼロラン（ダミー）８０５、非ゼロ係数８０６、ラン０のゼロラン（ダミー）８０７、非ゼロ係数８０８、ゼロラン８０９、非ゼロ係数８１０となる。この代わりに、画像変換モジュール１２０は、図８（ｂ）の例に示すゼロ／非ゼロパターン表現としたＤＣＴ係数８５０を出力する。具体的には、ゼロラン８０１を４個の「０」（ゼロ／非ゼロ情報８５１〜８５４）、非ゼロ係数８０２を１個の「１」（ゼロ／非ゼロ情報８５５）、ゼロラン８０３を２個の「０」（ゼロ／非ゼロ情報８５６、８５７）、非ゼロ係数８０４、ラン０のゼロラン（ダミー）８０５を１個の「１」（ゼロ／非ゼロ情報８５８）、非ゼロ係数８０６、ラン０のゼロラン（ダミー）８０７を１個の「１」（ゼロ／非ゼロ情報８５９）、非ゼロ係数８０８を１個の「１」（ゼロ／非ゼロ情報８６０）、ゼロラン８０９を３個の「０」（ゼロ／非ゼロ情報８６１〜８６３）、非ゼロ係数８１０を１個の「１」（ゼロ／非ゼロ情報８６４）とする。つまり、ラン０のゼロラン（ダミー）８０５、ラン０のゼロラン（ダミー）８０７のようなダミーを不要としている。
【００５３】
本例では、ゼロ／非ゼロパターンを画素同期情報とし、非ゼロ係数を画素非同期情報としている。ゼロ／非ゼロパターンは値域が［０，１］と狭いので、情報源拡大を行って符号化するのが好ましい。例えば、８次の拡大を行う場合、２５６エントリの符号表を用意する。
図９は、８次の情報源拡大の例を示す説明図である。ゼロ／非ゼロパターン表現のＤＣＴ係数９００は、ゼロ／非ゼロ情報９０１〜９１６を有している。これに対して８次の情報源拡大を行った場合、ゼロ／非ゼロパターン表現の情報源拡大パターン９５０は、「００００１０００」の情報源拡大パターン情報９５１と「１１１０００１０」の情報源拡大パターン情報９５２となる。第１の符号化モジュール１４０は、この８ｂｉｔのデータを符号化する。つまり、２＾８＝２５６個のエントリの符号表を必要とする。
【００５４】
以下、データの概念について説明する。図１０は、符号化処理におけるデータ概念の例を示す説明図である。
図１０（ａ）に示す例は、画像変換モジュール１２０による処理結果である変換結果１０００（ＤＣＴ係数）である。これには、ゼロ係数（１００１〜１００４、１００６〜１００８、１０１２〜１０１４）、非ゼロ係数（１００５、１００９〜１０１１、１０１５）が含まれている。また、非ゼロ係数が連続していてもよく、ゼロ係数と非ゼロ係数とのペアは必ずしも発生させる必要はない。
図１０（ｂ）に示す例は、分離モジュール１３０による処理である。図１０（ｂ−１）に示す例は、第１の符号化モジュール１４０に渡す分離結果１０２０であり、画素同期信号であるゼロ／非ゼロパターンである。つまり、変換結果１０００の非ゼロ係数を１ｂｉｔで表せる「１」としている。そして、図１０（ｂ−２）に示す例は、第２の符号化モジュール１６０に渡す分離結果１０４０であり、画素非同期信号である非ゼロ係数値である。
図１０（ｃ）に示す例は、第１の符号化モジュール１４０による処理結果である符号列１０５０であり、情報源拡大パターン情報１０５１、１０５２を有している。これは、第１の符号１５５に該当し、８次の情報源拡大を行った符号である。
図１０（ｄ）に示す例は、第２の符号化モジュール１６０による処理結果である符号列１０６０であり、分離結果１０４０を符号化した符号化情報１０６１〜１０６５を有している。これは、第２の符号１７５に該当する。
【００５５】
第２の実施の形態である画像処理装置（復号装置）では、この逆の処理を行う。つまり、合成モジュール２５０では、画素同期情報と画素非同期情報から画像変換モジュール１２０の出力に相当する情報を生成し、逆変換モジュール２６０ではこの情報を画素値に戻す。具体的な合成モジュール２５０の動作としては、第１の復号モジュール２２０から渡されたゼロ／非ゼロパターンによって、第２の復号モジュール２４０における非ゼロ係数値の復号を制御する。つまり、ゼロ／非ゼロパターンが０のときは０を、１のときは第２の復号モジュール２４０で復号した非ゼロ係数値を出力するように動作する。
なお、第１の復号モジュール２２０は、（情報源拡大分をまとめて復号する点を除けば）原理的には画素毎に動作するが、第２の復号モジュール２４０は、画素に応じて間欠的に（ゼロ／非ゼロパターン内で１が発生した場合に）動作する。
【００５６】
以下、変形例について説明する。
前述の構成で、第１の符号化モジュール１４０が行うゼロ／非ゼロパターンの符号化は、第２の出力モジュール１７０が行う非ゼロ係数値とは異なる符号化手法、例えば算術符号化を用いるようにしてもよい。算術符号化は入力と出力が１対１に対応しないため、いわば全入力数の次数に情報源を拡大したのと同じような処理になるが、本実施の形態では、ゼロ／非ゼロパターンが符号中に連続するように構成しているので適用可能である。
このとき非ゼロ係数は、ゼロ／非ゼロパターンとは独立に情報源拡大するといった変更も可能である。ＪＰＥＧの例によれば非ゼロ係数は１０エントリなので、２次の拡大をしても１０×１０＝１００エントリの符号表で収められる。
また、情報源拡大がブロックにまたがっていても構わない。例えば、８×８ブロックの係数は６４個であるが、これと関係なく符号表の大きさや圧縮率の要請からゼロ／非ゼロパターンを１０個単位で拡大するなどしてもよい。
【００５７】
また、ゼロ／非ゼロパターンは情報源拡大ではなく、ラン表現としてもよい。この場合もランはブロックにまたがっても構わない。この表現はゼロランではなく非ゼロ係数がどこに入るかという情報を含んでいるため、ゼロ／非ゼロパターンと同様にダミーのゼロランを挿入する必要がない。
図１１は、ゼロ／非ゼロパターンのラン表現の例を示す説明図である。図１１（ａ）に示す例は、ゼロ／非ゼロパターン表現のＤＣＴ係数１１００であり、第１の符号化モジュール１４０による符号化対象である。これには、ダミーは不要である。図１１（ｂ）に示す例のラン１１２０は、第１の符号化モジュール１４０による符号化処理の結果であって、ＤＣＴ係数１１００をラン表現（ラン符号化）したものである。「０」と「１」のランは交互に出現するので、どちらのラン（０か１のラン）であるという情報は、ラン表現に含めなくてもよい。
【００５８】
この例ではゼロ／非ゼロパターンを使うため、１出力の符号でも情報源を拡大できるが、処理が複雑化する。これは２つの符号の間で、符号を生成する順番と復号に必要な符号の順番が異なるためである。
本実施の形態では、出力の分割により、各符号内の順番だけを保持するため、このような問題が生じない。図１２を用いて説明する。図１２は、情報源拡大の例を示す説明図である。
図１２（ａ）に示す例は、画像変換モジュール１２０による処理結果である変換結果１２００である。
図１２（ｂ）に示す例は、分離モジュール１３０による処理結果を示している。図１２（ｂ−１）に示す例は、第１の符号化モジュール１４０に渡すゼロ／非ゼロパターンの分離結果１２２０であり、図１２（ｂ−２）に示す例は、第２の符号化モジュール１６０に渡す非ゼロ係数１２４１、１２４２である。２つの非ゼロ係数が揃ったときに符号を生成させるようにしている。２つ目の非ゼロ（ゼロ／非ゼロ情報１２２９）が発生した場合に、変換結果１２００内の非ゼロ係数１２０５と非ゼロ係数１２０９を符号化するため非ゼロ係数１２４１を第２の符号化モジュール１６０に渡す。そして、次の２つ目の非ゼロ（ゼロ／非ゼロ情報１２３２）が発生した場合に、変換結果１２００内の非ゼロ係数１２１０と非ゼロ係数１２１２を符号化するため非ゼロ係数１２４２を第２の符号化モジュール１６０に渡す。
図１２（ｃ）に示す例は、先行技術によって符号化された符号列１２５０を示すものである。この符号を復号（伸張）する場合は、左の符号から順番に行うため、符号１２５５と符号１２５９の間のゼロラン（符号１２５６〜１２５８）を伸張してから、符号１２６０の「ａ、ｂ」を伸張しなければならないことになる。
図１２（ｄ）に示す例は、本実施の形態の第１の符号化モジュール１４０による処理結果と第２の符号化モジュール１６０による処理結果を示すものである。この符号を第２の実施の形態である画像処理装置（復号装置）で復号する場合、第２の復号モジュール２４０が符号列１２９０の符号１２９１を復号し、「ａ，ｂ」を得る。そして、合成モジュール２５０が第１の復号モジュール２２０から渡された符号列１２７０内の「１」（符号１２７５、１２７９）が出てきたときに、復号された非ゼロ係数である「ａ」、「ｂ」を出力すればよい。
【００５９】
＜予測符号化による変換例＞
画像変換モジュール１２０による変換を予測符号化としてもよい。予測符号化に適用する場合、例えば予測結果の予測誤差値を使ってゼロラン、又は誤差値がゼロか非ゼロかを表すゼロ／非ゼロパターンを生成し、非ゼロ係数の代わりに非ゼロ予測誤差値を符号とすればよい。これ以外は前述の例と同様である。
ゼロ／非ゼロパターンを多値としてもよい。例えば、複数の予測式を用意し、予測誤差が０となった予測式があれば、その予測式を識別する値を非ゼロの位置に入れればよい。
【００６０】
＜ＬＺ符号化による変換例＞
公知の圧縮技術としてＬＺ符号化がある。ＬＺ符号化は、バリエーションが多く存在するが、原理的には、（１）過去に出現した情報列の出現位置（ＩＤの場合もある）、（２）一致しない場合の正値（リテラル、画素値そのもの）情報の２種類の情報による複合的な表現を行うものである。
図１３は、ＬＺ符号の概念例を示す説明図である。ＬＺ符号１３００内は、一致情報１３１０等の一致情報と、リテラル１３３０等のリテラルがある。そして、一致情報１３１０は、一致長１３１２、出現位置１３１４を有している。また、一致情報１３１０、１３２０のように、一致情報は連続し得るものであり、リテラル１３３０、１３４０、１３５０のように、リテラルはシンボル単位の情報であって、連続し得るものである。
【００６１】
符号の構成に着目すれば、複数シンボルをまとめて扱う一致情報とシンボル単位のリテラル情報は、各々ＪＰＥＧのゼロランと非ゼロ係数に類似している。ただし、一致情報は連続することがある。このためＪＰＥＧのペアリングを行うのではなく、一致情報の一致長とリテラルの非一致長（連続するリテラルの個数）に対して、同一符号表の異なる符号を割り振って識別するといった方法がとられることがある。
図１４は、ＬＺ符号の具体的処理例を示す説明図である。ＬＺ符号１４００は、一致情報１４１０、一致情報１４２０、リテラル情報１４３０、一致情報１４４０、リテラル情報１４５０を有している。例えば、一致情報１４１０は、一致長１４１２、出現位置１４１４を有している。そして、リテラル情報１４３０は、非一致長１４３２、リテラル１４３４、１４３６、１４３８を有している。なお、非一致長１４３２は、リテラル１４３４、１４３６、１４３８であることから、３である。一致長と非一致長は、同一の符号表内で別の符号を割り振る。これにより、先頭の符号で一致情報かリテラル情報であるかを判定するようにしてもよい。
【００６２】
本実施の形態である画像処理装置に、ＬＺ符号化を適用する場合、ＪＰＥＧの周波数変換の例ではゼロランの代わりにゼロ／非ゼロパターンを導入したが、ここでは画素同期情報として一致情報の代わりに一致／非一致情報を導入する。一致／非一致情報は前述の一致長と非一致長を有している。なお、一致長と非一致長は、ラン表現と同様に画素をまとめた表現なので、画素数より少なくなるが、画素毎の情報であることには変わりないため、本実施の形態における画素同期情報の定義にあてはまる。また、画素非同期情報は、出現位置、リテラルを有している。この２つは、インターリーブしてもよいし、さらに別の符号列としてもよい。
図１５は、ＬＺ符号の具体的処理例を示す説明図である。
図１５（ａ）に示す例は、画像変換モジュール１２０による処理結果であり、一致／非一致情報である画素同期情報１５００は、一致長情報１５０１、一致長情報１５０２、非一致長情報１５０３、一致長情報１５０４、非一致長情報１５０５を有している。
図１５（ｂ）に示す例は、画素非同期情報がインターリーブする場合を示しているものであり、出願位置とリテラルにより構成されている画素非同期情報１５１０は、出現位置１５１１、１５１２、リテラル１５１３、１５１４、１５１５、出現位置１５１６、リテラル１５１７を有している。
図１５（ｃ）、（ｄ）に示す例は、画素非同期情報を別符号にする場合を示しているものであり、出現位置によって構成されている画素非同期情報１５２０は、出現位置１５２１、１５２２、１５２３を有している。そして、これとは別にリテラル列１５３０は、リテラル１５３１、１５３２、１５３３、１５３４を有している。
構成や動作については周波数変換の例と同等である。
【００６３】
＜実験結果＞
図１６は、本実施の形態と先行技術による処理結果の例を比較するグラフを示す説明図である。このグラフにおける横軸はチャート（画像１０５）を示しており、縦軸は符号量（ｂｉｔ／画素）を示している。本実施の形態１６０２のプロットは、従来技術１６０１のプロットよりも下回る結果となっている。なお、ここでの従来技術１６０１は、直左差分（左隣画素との差分）による予測符号化において、予測誤差情報をゼロ／非ゼロパターンと非ゼロ予測誤差値で表現した例であって、ゼロ／非ゼロパターンと非ゼロ予測誤差値のそれぞれを独立に、情報源拡大を行った。
【００６４】
なお、予測符号化を適用した場合の第１の実施の形態の画像変換モジュール１２０として、以下の符号化モジュールを用いてもよい。
（１）複数の符号化対象情報をまとめて、符号化対象情報のグループを生成するグループ生成モジュールと、前記グループ生成モジュールにより生成されたグループに対して、符号を割り当てる符号割当モジュールと、それぞれのグループに属する符号化対象情報を、各グループに割り当てられた符号を用いて符号化する符号化対象情報符号化モジュールを有する符号化モジュール。
（２）前記グループ生成モジュールは、複数の符号化対象情報をまとめて、符号化対象情報の下位グループを生成し、前記グループ生成モジュールにより生成された下位グループを、上位グループに分類するグループ分類モジュールをさらに有し、前記符号割当モジュールは、前記上位グループに対して、符号を割り当て、前記符号化対象情報符号化モジュールは、同一の前記上位グループに属する下位グループの符号化対象情報を、この上位グループに割り当てられた可変長符号を用いて符号化する（１）に記載の符号化モジュール。
（３）前記グループ生成モジュールは、入力された複数の符号化対象情報を入力順に既定数ずつまとめて、既定数の符号化対象情報が含まれた下位グループを生成し、前記グループ分類モジュールは、前記下位グループに属する符号化対象情報を表現するためのビット数に基づいて、下位グループを上位グループに分類する（２）に記載の符号化モジュール。
（４）前記符号割当モジュールは、各グループの出現確率に応じて、それぞれのグループにエントロピー符号を割り当てる（１）に記載の符号化モジュール。
（５）入力された符号化対象情報に基づいて、この符号化対象情報よりも少ないビット数で表現されたビット列に変換する符号化対象情報変換モジュールをさらに有し、前記符号化対象情報符号化モジュールは、それぞれのグループに属する符号化対象情報について前記符号化対象情報変換モジュールにより変換されたビット列と、このグループに割り当てられた符号とを用いて、符号化する（１）に記載の符号化モジュール。
（６）グループに含まれうる複数の符号化対象情報をこれらの符号化対象情報の符号データに対応付ける符号テーブルを用いて、符号化対象情報のグループを符号化するテーブル利用符号化モジュールと、前記グループ生成モジュールにより生成された符号化対象情報のグループを、前記符号割当モジュールと前記符号化対象情報符号化モジュールとの組、又は、前記テーブル利用符号化モジュールに割り振る割振りモジュールとをさらに有し、前記符号割当モジュールは、前記割振りモジュールにより割り振られたグループについて、符号を割り当て、前記符号化対象情報符号化モジュールは、前記割振りモジュールにより割り振られたグループの符号化対象情報を符号化する（１）に記載の符号化モジュール。
【００６５】
また、（１）〜（６）の符号化モジュールに対応する逆変換モジュール２６０は以下（７）に示す構成である。
（７）複数の符号化対象情報からなるグループに割り当てられた符号に基づいて、このグループに属する符号化対象情報の符号長を特定する符号長特定モジュールと、前記符号長特定モジュールにより特定された各符号化対象情報の符号長に基づいて、前記グループに属する符号化対象情報を復号する符号化対象情報復号モジュールを有する復号モジュール。
【００６６】
図１７を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図１７に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１７１７と、プリンタなどのデータ出力部１７１８を備えたハードウェア構成例を示している。
【００６７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７０１は、前述の実施の形態において説明した各種のモジュール、すなわち、画像変換モジュール１２０、分離モジュール１３０、第１の符号化モジュール１４０、第２の符号化モジュール１６０、第１の復号モジュール２２０、第２の復号モジュール２４０、合成モジュール２５０、逆変換モジュール２６０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００６８】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１７０２は、ＣＰＵ１７０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１７０３は、ＣＰＵ１７０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１７０４により相互に接続されている。
【００６９】
ホストバス１７０４は、ブリッジ１７０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１７０６に接続されている。
【００７０】
キーボード１７０８、マウス等のポインティングデバイス１７０９は、操作者により操作される入力デバイスである。ディスプレイ１７１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００７１】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１７１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１７０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、符号化処理の結果である符号、復号した画像などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００７２】
ドライブ１７１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１７１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１７０７、外部バス１７０６、ブリッジ１７０５、及びホストバス１７０４を介して接続されているＲＡＭ１７０３に供給する。リムーバブル記録媒体１７１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００７３】
接続ポート１７１４は、外部接続機器１７１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１７１４は、インタフェース１７０７、及び外部バス１７０６、ブリッジ１７０５、ホストバス１７０４等を介してＣＰＵ１７０１等に接続されている。通信部１７１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１７１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１７１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００７４】
なお、図１７に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１７に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１７に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００７５】
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む）、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。第１の実施の形態と第２の実施の形態の組み合わせとは、第１の出力モジュール１５０による出力結果である第１の符号１５５を第１の符号受付モジュール２１０が受け付け、第２の出力モジュール１７０による出力結果である第２の符号１７５を第２の符号受付モジュール２３０が受け付けるようにすることの他に、第１の符号化モジュール１４０による符号化結果を第１の復号モジュール２２０が復号し、第２の符号化モジュール１６０による符号化結果を第２の復号モジュール２４０が復号するようにしてもよい。
【００７６】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７７】
１０５…画像
１１０…画像受付モジュール
１２０…画像変換モジュール
１３０…分離モジュール
１４０…第１の符号化モジュール
１５０…第１の出力モジュール
１５５…第１の符号
１６０…第２の符号化モジュール
１７０…第２の出力モジュール
１７５…第２の符号
２１０…第１の符号受付モジュール
２２０…第１の復号モジュール
２３０…第２の符号受付モジュール
２４０…第２の復号モジュール
２５０…合成モジュール
２６０…逆変換モジュール
２７０…出力モジュール
２７５…画像
【図１】
0005842357.tif 000002
【図２】
0005842357.tif 000003
【図３】
0005842357.tif 000004
【図４】
0005842357.tif 000005
【図５】
0005842357.tif 000006
【図６】
0005842357.tif 000007
【図７】
0005842357.tif 000008
【図８】
0005842357.tif 000009
【図９】
0005842357.tif 000010
【図１０】
0005842357.tif 000011
【図１１】
0005842357.tif 000012
【図１２】
0005842357.tif 000013
【図１３】
0005842357.tif 000014
【図１４】
0005842357.tif 000015
【図１５】
0005842357.tif 000016
【図１６】
0005842357.tif 000017
【図１７】
0005842357.tif 000018