説明

画像処理装置及び画像処理プログラム

【課題】画像を符号化する場合において、本構成を有していない場合に比較して、符号量を削減するようにした画像処理装置を提供する。
【解決手段】画像処理装置の画像受付手段は、符号化対象である画像を受け付け、変換手段は、前記画像受付手段によって受け付けられた画像を変換し、分離手段は、前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離し、第1の符号化手段は、前記分離手段によって分離された画素同期情報を符号化し、第2の符号化手段は、前記分離手段によって分離された画素非同期情報を符号化し、第1の出力手段は、前記第1の符号化手段によって符号化された符号を出力し、第2の出力手段は、前記第2の符号化手段によって符号化された符号を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
情報の符号化、復号に関する技術がある。
これに関連する技術として、例えば、特許文献1には、高解像度映像信号を、低解像度映像信号(第1映像信号)と高解像度成分信号(第2映像信号)とに分割して、別々に符号化して伝送するような映像信号伝送システムの受信側に設けられ、第1映像信号及び第2映像信号を互いに独立して復号し、かつ復号後の第1映像信号及び復号後の第2映像信号から元の高解像度映像信号を合成することができる映像信号受信装置を提供することを課題とし、第2復号器へは、第1復号器において発生された垂直同期信号が渡され、第2復号器は、その垂直同期信号に基づいて、第2映像信号の復号タイミング及び出力タイミングを調節し、第1復号器から第2復号器へと渡される垂直同期信号は画素精度を持っており、そのため、復号後の第1映像信号と復号後の第2映像信号とを、フレーム内の画素を単位として互いに同期(すなわちフレーム内同期)させることができることが開示されている。
【0003】
また、例えば、特許文献2、特許文献3には、より効率的な符号化処理を実現する符号化装置を提供することを課題とし、画像処理装置は、ソースコーダで生成されたシンボルを、既定数のシンボルからなるブロックにまとめ、ブロック毎に符号語を割り振り、ブロックに対しては1対1の符号であるが、シンボルから見ると多対1の符号を構成し、これにより、可変長符号の処理に起因する分岐処理又はフィードバックループは、シンボル単位で発生することがなくなり、処理速度の向上が期待できることが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−119702号公報
【特許文献2】特開2008−067351号公報
【特許文献3】特開2008−067361号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、画像を符号化して復号する場合において、本構成を有していない場合に比較して、符号量を削減するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、符号化対象である画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像を変換する変換手段と、前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、前記分離手段によって分離された画素同期情報を符号化する第1の符号化手段と、前記分離手段によって分離された画素非同期情報を符号化する第2の符号化手段と、前記第1の符号化手段によって符号化された符号を復号し、画素同期情報を生成する第1の復号手段と、前記第2の符号化手段によって符号化された符号を復号し、画素非同期情報を生成する第2の復号手段と、前記第1の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第2の復号手段によって復号された画素非同期情報を合成する合成手段と、前記合成手段によって合成された情報を前記変換手段による変換処理とは逆の変換処理を行う逆変換手段と、前記逆変換手段による変換によって生成された画像を出力する出力手段を具備することを特徴とする画像処理装置である。
【0007】
請求項2の発明は、符号化対象である画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像を変換する変換手段と、前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、前記分離手段によって分離された画素同期情報を符号化する第1の符号化手段と、前記分離手段によって分離された画素非同期情報を符号化する第2の符号化手段と、前記第1の符号化手段によって符号化された符号を出力する第1の出力手段と、前記第2の符号化手段によって符号化された符号を出力する第2の出力手段を具備することを特徴とする画像処理装置である。
【0008】
請求項3の発明は、前記変換手段は、JPEGにおける周波数変換を行い、前記分離手段は、ゼロ/非ゼロパターンを画素同期情報として分離し、非ゼロ係数を画素非同期情報として分離することを特徴とする請求項2に記載の画像処理装置である。
【0009】
請求項4の発明は、前記変換手段は、予測符号化による変換を行い、前記分離手段は、ゼロ/非ゼロパターンを画素同期情報として分離し、非ゼロ予測誤差値を画素非同期情報として分離することを特徴とする請求項2に記載の画像処理装置である。
【0010】
請求項5の発明は、前記変換手段は、LZ符号化による変換を行い、前記分離手段は、一致/非一致情報を画素同期情報として分離し、出現位置及び画素値を画素非同期情報として分離することを特徴とする請求項2に記載の画像処理装置である。
【0011】
請求項6の発明は、符号化対象である画像が変換され、該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、該画素同期情報が符号化された符号を受け付ける第1の受付手段と、前記画素非同期情報が符号化された符号を受け付ける第2の受付手段と、前記第1の受付手段によって受け付けられた符号を復号し、画素同期情報を生成する第1の復号手段と、前記第2の受付手段によって受け付けられた符号を復号し、画素非同期情報を生成する第2の復号手段と、前記第1の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第2の復号手段によって復号された画素非同期情報を合成する合成手段と、前記合成手段によって合成された情報を、前記画像に対して行われた変換処理とは逆の変換処理を行う逆変換手段と、前記逆変換手段による変換によって生成された画像を出力する出力手段を具備することを特徴とする画像処理装置である。
【0012】
請求項7の発明は、前記第1の受付手段は、画像がJPEGにおける周波数変換され、ゼロ/非ゼロパターンを画素同期情報として符号化した符号を受け付け、前記第2の受付手段は、画像がJPEGにおける周波数変換され、非ゼロ係数を画素非同期情報として符号化した符号を受け付け、前記逆変換手段は、JPEGにおける周波数変換の逆変換処理を行うことを特徴とする請求項6に記載の画像処理装置である。
【0013】
請求項8の発明は、前記第1の受付手段は、画像が予測符号化され、ゼロ/非ゼロパターンを画素同期情報として符号化した符号を受け付け、前記第2の受付手段は、画像が予測符号化され、非ゼロ予測誤差を画素同期情報として符号化した符号を受け付け、前記逆変換手段は、予測符号化の逆変換処理を行うことを特徴とする請求項6に記載の画像処理装置である。
【0014】
請求項9の発明は、前記第1の受付手段は、画像がLZ符号化され、一致/非一致情報を画素同期情報として符号化した符号を受け付け、前記第2の受付手段は、画像がLZ符号化され、出現位置及び画素値を画素同期情報として符号化した符号を受け付け、前記逆変換手段は、LZ符号化の逆変換処理を行うことを特徴とする請求項6に記載の画像処理装置である。
【0015】
請求項10の発明は、コンピュータを、符号化対象である画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像を変換する変換手段と、前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、前記分離手段によって分離された画素同期情報を符号化する第1の符号化手段と、前記分離手段によって分離された画素非同期情報を符号化する第2の符号化手段と、前記第1の符号化手段によって符号化された符号を出力する第1の出力手段と、前記第2の符号化手段によって符号化された符号を出力する第2の出力手段として機能させるための画像処理プログラムである。
【0016】
請求項11の発明は、コンピュータを、符号化対象である画像が変換され、該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、該画素同期情報が符号化された符号を受け付ける第1の受付手段と、前記画素非同期情報が符号化された符号を受け付ける第2の受付手段と、前記第1の受付手段によって受け付けられた符号を復号し、画素同期情報を生成する第1の復号手段と、前記第2の受付手段によって受け付けられた符号を復号し、画素非同期情報を生成する第2の復号手段と、前記第1の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第2の復号手段によって復号された画素非同期情報を合成する合成手段と、前記合成手段によって合成された情報を、前記画像に対して行われた変換処理とは逆の変換処理を行う逆変換手段と、前記逆変換手段による変換によって生成された画像を出力する出力手段として機能させるための画像処理プログラムである。
【発明の効果】
【0017】
請求項1の画像処理装置によれば、画像を符号化して復号する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【0018】
請求項2の画像処理装置によれば、画像を符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【0019】
請求項3の画像処理装置によれば、画像をJPEG符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【0020】
請求項4の画像処理装置によれば、画像を予測符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【0021】
請求項5の画像処理装置によれば、画像をLZ符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【0022】
請求項6の画像処理装置によれば、符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【0023】
請求項7の画像処理装置によれば、JPEG符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【0024】
請求項8の画像処理装置によれば、予測符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【0025】
請求項9の画像処理装置によれば、LZ符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【0026】
請求項10の画像処理プログラムによれば、画像を符号化する場合において、本構成を有していない場合に比較して、符号量を削減することができる。
【0027】
請求項11の画像処理プログラムによれば、符号化された画像を復号するにあたって、画素同期情報と画素非同期情報の符号化によって符号量が削減された場合に、その符号を復号することができる。
【図面の簡単な説明】
【0028】
【図1】第1の実施の形態の構成例についての概念的なモジュール構成図である。
【図2】第2の実施の形態の構成例についての概念的なモジュール構成図である。
【図3】先行技術による符号化処理、復号処理の例を示す説明図である。
【図4】2次元ハフマン符号の例を示す説明図である。
【図5】情報源の拡大と2次元ハフマン符号化の例を示す説明図である。
【図6】第1の実施の形態による処理例を示すフローチャートである。
【図7】第2の実施の形態による処理例を示すフローチャートである。
【図8】ゼロ/非ゼロパターンの例を示す説明図である。
【図9】8次の情報源拡大の例を示す説明図である。
【図10】符号化処理におけるデータ概念の例を示す説明図である。
【図11】ゼロ/非ゼロパターンのラン表現の例を示す説明図である。
【図12】情報源拡大の例を示す説明図である。
【図13】LZ符号の概念例を示す説明図である。
【図14】LZ符号の具体的処理例を示す説明図である。
【図15】LZ符号の具体的処理例を示す説明図である。
【図16】本実施の形態と先行技術による処理結果の例を比較するグラフを示す説明図である。
【図17】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0029】
まず、実施の形態の理解を助けるために、その基本となる技術等を説明する。
<JPEG>
JPEG(Joint Photographic Experts Group)におけるDCT(Discrete Cosine Transform)方式では、1次元情報となったDCT係数を、非ゼロ係数とゼロランに分解して符号化対象とする。非ゼロ係数は画素単位の情報であるが、ゼロランは複数画素をまとめたラン単位の情報であり、処理単位が異なる。
JPEGでは、この処理単位の異なる2つの情報を、2次元ハフマン(Huffman)符号化と呼ばれる符号化で圧縮する。2次元ハフマン符号化とは、ゼロランと非ゼロ係数のペアを被符号化シンボルとして可変長符号化を行う技術である。これによって2つの情報は、1出力の符号に統合されることとなる。
【0030】
<特許文献1に記載の技術>
画像(映像)を低解像度信号と高解像度信号に分離し(図3(a)に例示する高解像度信号と図3(b)に例示する低解像度信号)、それぞれを別個に符号化する。復号処理では、図3の例に示すように、この両信号を画素精度で同期して復号し、合成したものを復号画像とする。
【0031】
<複合的表現による圧縮>
画像圧縮では複数の異なる表現方法を使った情報群で画像を表現することがある。JPEGにおける、非ゼロ係数とゼロランがこの例にあたる。各画素は非ゼロ又はゼロ係数に変換されるが、非ゼロ係数がそのままスカラ表現されるのに対し、ゼロ係数はラン表現される。
このような複合的表現に対して、JPEGでは2次元ハフマン符号化によって1次元化した符号を生成している。
しかし、JPEGでは、両情報をペアにしなければいけないため、例えば非ゼロ係数が連続する場合、ダミーのゼロラン(長さ0)を符号化する必要が生じ、オーバーヘッドが発生する。これは本来交互に発生するわけではない非ゼロ係数とゼロランという2つの情報を、1次元にまとめることに起因するものである。
これを図4の例を用いて示すと、DCT係数400は、ゼロラン401、非ゼロ係数402、ゼロラン403、非ゼロ係数404、非ゼロ係数406、非ゼロ係数408、ゼロラン409、非ゼロ係数410の順に発生するが、ゼロランと非ゼロ係数をペアにしてハフマン符号を割り当てるようにするため、非ゼロ係数が連続している非ゼロ係数404、406、408があるため、ラン0のゼロラン(ダミー)405を非ゼロ係数406の前に挿入し、ラン0のゼロラン(ダミー)407を非ゼロ係数408の前に挿入している。これによって、DCT係数400は、ゼロランと非ゼロ係数のペア(ゼロラン401と非ゼロ係数402、ゼロラン403と非ゼロ係数404、ラン0のゼロラン(ダミー)405と非ゼロ係数406、ラン0のゼロラン(ダミー)407と非ゼロ係数408、ゼロラン409と非ゼロ係数410の各ペア)となる。
【0032】
<情報源拡大>
また、符号化のテクニックとして複数のシンボルをまとめることで情報量を削減する、情報源の拡大という理論がある。例えば、ゼロランを2つまとめて符号化することにより、符号量が削減できる。ちなみに、このときまとめる個数を次数という。例えば2つまとめる場合は、2次の拡大という。
しかし、JPEGの場合、ゼロランと非ゼロは1個ずつペアにする必要があるため、情報源の拡大を実現できない。無理に拡大するとシンボル数が爆発し、実装はもちろん、符号の設計も原理的に困難になる。
これを図5の例を用いて示すと、図5(a)に示す例は、一般的な符号化(情報源の拡大を使用していない符号化)を示しているものであり、シンボル(図では、ゼロラン501、503)と符号(図では、符号502、504)が1対1に対応している。情報源の拡大を用いると、図5(b)に示す例のように、シンボル(図では、ゼロラン511とゼロラン512)と符号(図では、符号513)がN対1に対応していることになる。ここで、図5(c)に示す例のように、JPEGのDCT係数520は、ゼロラン521、非ゼロ係数522、ゼロラン523、非ゼロ係数524、ラン0のゼロラン(ダミー)525、非ゼロ係数526、ラン0のゼロラン(ダミー)527、非ゼロ係数528を有している。空間的にゼロランの次に非ゼロ係数が来ることが前提なので、ゼロランと次のゼロランを組み合わせることが困難である。これを無理に拡大しようとすると、図5(d)に示す例のように、ゼロランと非ゼロ係数のペアを拡大(図では、ゼロラン521と非ゼロ係数522のペア、ゼロラン523と非ゼロ係数524のペアによる拡大)すると、160×160=25600エントリの符号表が必要で規模的、原理的に実現が困難である。
【0033】
<特許文献1に記載の技術への適用>
前述のように、JPEGの場合、1次元符号を生成するための制限(非ゼロ係数が連続した場合に、ダミーを挿入すること)によって、オーバーヘッドを生じたり、情報源拡大の適用を阻害したりすることとなる。
これに対して特許文献1に記載の技術の場合、複数の情報を並行して符号化する。この構成の場合、JPEGのように1次元化する工程がなく、符号構成の制限もない。
しかし、特許文献1に記載の技術は同質な2つの情報(低解像度信号と高解像度信号)を並列に符号化、復号する技術であり、両情報を同じ順序、同じ単位で符号化することを前提としている。このため、前述の(JPEGにおける非ゼロ係数とゼロランのような)複合的表現がそもそも扱えないものである。
【0034】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<第1の実施の形態>
図1は、第1の実施の形態(符号化装置)の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に1対1に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(1対1対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0035】
用語の定義として、画像変換モジュール120による処理結果のうち、画素毎に出力する情報を画素同期情報と呼び、そうでない情報を画素非同期情報と呼ぶことにする。画素同期情報は画素数分生成することになるが、画素非同期情報は画素によって存在する場合と無い場合がある。
本実施の形態(符号化処理)では、符号化にあたって、画像を複数種類の情報によって複合的に表現する。このとき第1の情報として画素同期情報を用い、第2の情報として画素非同期情報を用いる。第2の実施の形態による復号処理では、この2種類の符号を復号しながら同期制御を行い、必要な情報を正しい順番で生成する。
本実施の形態は、画素同期情報と画素非同期情報を分離した。画素同期情報と画素非同期情報の処理を行うモジュールの双方に独立性を高めている。つまり、双方に自由な構成がとれるようになっている。また、JPEGにおけるダミーのようなオーバーヘッドが不要となる。そして、2種類の情報を独立に扱うために符号表が小さくなり、情報源拡大も行えるようになる。このために符号化効率が向上することになる。さらに、処理性能を向上させるために、符号化モジュール、復号モジュールを並列動作させるようにしてもよい。
【0036】
第1の実施の形態である画像処理装置は、画像を符号化するものであって、図1の例に示すように、画像受付モジュール110、画像変換モジュール120、分離モジュール130、第1の符号化モジュール140、第1の出力モジュール150、第2の符号化モジュール160、第2の出力モジュール170を有している。
【0037】
画像受付モジュール110は、画像変換モジュール120と接続されており、符号化対象である画像105を受け付ける。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、CCD(Charge−Coupled Device)等で映像を撮影すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【0038】
画像変換モジュール120は、画像受付モジュール110、分離モジュール130と接続されている。画像変換モジュール120は、画像受付モジュール110によって受け付けられた画像を変換する。
分離モジュール130は、画像変換モジュール120、第1の符号化モジュール140、第2の符号化モジュール160と接続されている。分離モジュール130は、画像変換モジュール120によって変換された画像をその画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する。そして、画素同期情報は第1の符号化モジュール140へ渡し、画素非同期情報を第2の符号化モジュール160へ渡す。
【0039】
画像変換モジュール120、分離モジュール130については、例えば、次のようにしてもよい。
画像変換モジュール120は、JPEGにおける周波数変換を行い、分離モジュール130は、ゼロ/非ゼロパターンを画素同期情報として分離し、非ゼロ係数を画素非同期情報として分離するようにしてもよい。
画像変換モジュール120は、予測符号化による変換を行い、分離モジュール130は、ゼロ/非ゼロパターンを画素同期情報として分離し、非ゼロ予測誤差値を画素非同期情報として分離するようにしてもよい。
画像変換モジュール120は、LZ符号化による変換を行い、分離モジュール130は、一致/非一致情報を画素同期情報として分離し、出現位置及び画素値を画素非同期情報として分離するようにしてもよい。
これらの例については、後に詳述する。
【0040】
第1の符号化モジュール140は、分離モジュール130、第1の出力モジュール150と接続されている。第1の符号化モジュール140は、分離モジュール130によって分離された画素同期情報を符号化する。ここでの符号化方法は問わないが、画素同期信号の性質に即した符号化方法が適している。
第1の出力モジュール150は、第1の符号化モジュール140と接続されている。第1の出力モジュール150は、第1の符号化モジュール140によって符号化された第1の符号155を出力する。なお、第2の出力モジュール170による出力結果である第2の符号175と第1の符号155を合わせて、画像105の符号化結果として出力する。ここでの出力とは、例えば、後述する第2の画像処理装置(復号装置)へ出力することの他に、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【0041】
第2の符号化モジュール160は、分離モジュール130、第2の出力モジュール170と接続されている。第2の符号化モジュール160は、分離モジュール130によって分離された画素非同期情報を符号化する。なお、画素によっては、第2の符号化モジュール160は、動作したり、動作が不要な場合がある。ここでの符号化方法は問わないが、画素非同期情報の性質に即した符号化方法が適している。そして、第1の符号化モジュール140とは異なる符号化方法であればよい。
第2の出力モジュール170は、第2の符号化モジュール160と接続されている。第2の出力モジュール170は、第2の符号化モジュール160によって符号化された第2の符号175を出力する。なお、第1の出力モジュール150による出力結果である第1の符号155と第2の符号175を合わせて、画像105の符号化結果として出力する。ここでの出力とは、例えば、後述する第2の画像処理装置(復号装置)へ出力することの他に、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【0042】
図6は、第1の実施の形態による処理例を示すフローチャートである。
ステップS602では、画像受付モジュール110が、画像を受け付ける。
ステップS604では、画像変換モジュール120が、画像に対して変換処理を行う。
ステップS606では、分離モジュール130が、画素同期情報と画素非同期情報に分離する。画素同期情報に対してはステップS608以下の処理を行い、画素非同期情報に対してはステップS612以下の処理を行う。
ステップS608では、第1の符号化モジュール140が、画素同期情報の第1の符号化処理を行う。
ステップS610では、第1の出力モジュール150が、第1の符号155を出力する。
ステップS612では、第2の符号化モジュール160が、画素非同期情報の第2の符号化処理を行う。
ステップS614では、第2の出力モジュール170が、第2の符号175を出力する。
ステップS616では、対象とする画像内の画素の符号化処理が終了したか否かを判断し、終了の場合は処理を終了し(ステップS699)、それ以外の場合はステップS604からの処理を行う。
ステップS610、ステップS614での出力結果を合わせたものが、画像の最終的な符号化結果となる。
【0043】
<第2の実施の形態>
図2は、第2の実施の形態(復号装置)の構成例についての概念的なモジュール構成図を示している。
第2の実施の形態である画像処理装置は、画像を復号するものであって、図2の例に示すように、第1の符号受付モジュール210、第1の復号モジュール220、第2の符号受付モジュール230、第2の復号モジュール240、合成モジュール250、逆変換モジュール260、出力モジュール270を有している。
【0044】
第1の符号受付モジュール210は、第1の復号モジュール220と接続されており、第1の符号155を受け付ける。第1の符号155は、第1の実施の形態の第1の出力モジュール150によって出力されたものである。つまり、符号化対象である画像が変換され、その画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、画素同期情報が符号化された符号を受け付ける。
第2の符号受付モジュール230は、第2の復号モジュール240と接続されており、第2の符号175を受け付ける。第2の符号175は、第1の実施の形態の第2の出力モジュール170によって出力されたものである。つまり、符号化対象である画像が変換され、その画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、画素非同期情報が符号化された符号を受け付ける。もちろんのことながら、受け付ける第2の符号175は、第1の符号受付モジュール210が受け付ける第1の符号155に対応しているものである。
ここで、第1の符号155及び第2の符号175を受け付けるとは、第1の実施の形態によって出力されたものを直接受け付けることの他に、第1の符号155及び第2の符号175を記憶している画像データベース等の画像記憶装置、メモリーカード等の記憶媒体(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)から符号を読み出すようにしてもよい。
【0045】
第1の復号モジュール220は、第1の符号受付モジュール210、合成モジュール250と接続されている。第1の復号モジュール220は、第1の符号受付モジュール210によって受け付けられた第1の符号155を復号し、画素同期情報を生成する。つまり、第1の実施の形態の第1の符号化モジュール140の逆処理を行う。
第2の復号モジュール240は、第2の符号受付モジュール230、合成モジュール250と接続されている。第2の復号モジュール240は、第2の符号受付モジュール230によって受け付けられた第2の符号175を復号し、画素非同期情報を生成する。つまり、第1の実施の形態の第2の符号化モジュール160の逆処理を行う。
【0046】
合成モジュール250は、第1の復号モジュール220、第2の復号モジュール240、逆変換モジュール260と接続されている。合成モジュール250は、第1の復号モジュール220によって復号された画素同期情報に基づいて、その画素同期情報と第2の復号モジュール240によって復号された画素非同期情報を合成する。つまり、合成モジュール250は、合成の際に復号における同期制御も行うものであり、第1の復号モジュール220が出力する画素同期情報を受け付け、その内容に応じて第2の復号モジュール240を制御し画素非同期情報を受け付ける。そして、この2つの情報を合成した結果を逆変換モジュール260へ渡す。「画素同期情報に基づいて」とは、第1の実施の形態の画像変換モジュール120による変換方法によって異なるものであるが、例えば、第1の復号モジュール220によって復号された画素同期情報のうち、非ゼロがあった場合は、第2の復号モジュール240に復号処理を行わせて画素非同期情報を受け付けるように制御することである。そして、「合成」とは、例えば、その非ゼロがあった画素同期情報内の箇所に画素非同期情報を埋め込むことである。
【0047】
逆変換モジュール260は、合成モジュール250、出力モジュール270と接続されている。逆変換モジュール260は、合成モジュール250によって合成された情報を、画像105に対して行われた変換処理(第1の実施の形態の画像変換モジュール120による変換処理)とは逆の変換処理を行う。
【0048】
第1の符号受付モジュール210、第2の符号受付モジュール230、逆変換モジュール260については、例えば、次のようにしてもよい。
第1の符号受付モジュール210は、画像がJPEGにおける周波数変換され、ゼロ/非ゼロパターンを画素同期情報として符号化した符号を受け付け、第2の符号受付モジュール230は、画像がJPEGにおける周波数変換され、非ゼロ係数を画素非同期情報として符号化した符号を受け付け、逆変換モジュール260は、JPEGにおける周波数変換の逆変換処理を行うようにしてもよい。
第1の符号受付モジュール210は、画像が予測符号化され、ゼロ/非ゼロパターンを画素同期情報として符号化した符号を受け付け、第2の符号受付モジュール230は、画像が予測符号化され、非ゼロ予測誤差を画素非同期情報として符号化した符号を受け付け、逆変換モジュール260は、予測符号化の逆変換処理を行うようにしてもよい。
第1の符号受付モジュール210は、画像がLZ符号化され、一致/非一致情報を画素同期情報として符号化した符号を受け付け、第2の符号受付モジュール230は、画像がLZ符号化され、出現位置及び画素値を画素非同期情報として符号化した符号を受け付け、逆変換モジュール260は、LZ符号化の逆変換処理を行うようにしてもよい。
これらの例については、後に詳述する。
【0049】
出力モジュール270は、逆変換モジュール260と接続されており、画像275を出力する。出力モジュール270は、逆変換モジュール260による変換によって生成された画像を出力する。ここで画像を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【0050】
図7は、第2の実施の形態による処理例を示すフローチャートである。
ステップS702では、第1の符号受付モジュール210が、第1の符号155を受け付ける。
ステップS704では、第2の符号受付モジュール230が、第2の符号175を受け付ける。
ステップS706では、第1の復号モジュール220が、第1の符号155を復号して画素同期情報を生成する。
ステップS708では、合成モジュール250が、画素非同期情報が必要であるか否かを判断し、必要である場合はステップS710へ進み、それ以外の場合はステップS714へ進む。
ステップS710では、第2の復号モジュール240が、第2の符号175を復号して画素非同期情報を生成する。
ステップS712では、合成モジュール250が、画素同期情報と画素非同期情報を合成する。
ステップS714では、逆変換モジュール260が、逆変換を行う。
ステップS716では、出力モジュール270が、復号した画素を出力する。
ステップS718では、終了か否かを判断し、終了の場合は処理を終了し(ステップS799)、それ以外の場合はステップS706からの処理を行う。
ステップS716での出力結果が、復号された画像となる。
復号動作は第1の復号モジュール220と第2の復号モジュール240による処理をシーケンシャルに行ってもよいし、第1の復号モジュール220と第2の復号モジュール240による復号処理の並列動作で行うようにしてもよい。並列動作の処理として、例えば、先読み処理のように、前もって第2の復号モジュール240による処理を行っておき、その結果をバッファリングしておくような動作でも、シーケンシャル処理と本質的には同値である。
【0051】
以下、第1の実施の形態の画像変換モジュール120、分離モジュール130、第1の符号化モジュール140、第2の符号化モジュール160による処理、第2の実施の形態の第1の符号受付モジュール210、第2の符号受付モジュール230、合成モジュール250、逆変換モジュール260による処理の具体例を示す。
<JPEGにおける周波数変換による変換例>
本例では、画像変換モジュール120にJPEGの周波数変換を用い、画素同期情報としてゼロランの代わりとなるゼロ/非ゼロパターンを、また画素非同期情報として非ゼロ係数を使用する。
ゼロランとゼロ/非ゼロパターンの違いを以下に示す。ゼロランはゼロ係数に対してのみ生成されるため、画素同期情報ではない。図8は、ゼロ/非ゼロパターンの例を示す説明図である。
【0052】
図8(a)の例に示すDCT係数800のゼロラン表現は、ゼロラン801、非ゼロ係数802、ゼロラン803、非ゼロ係数804、ラン0のゼロラン(ダミー)805、非ゼロ係数806、ラン0のゼロラン(ダミー)807、非ゼロ係数808、ゼロラン809、非ゼロ係数810となる。この代わりに、画像変換モジュール120は、図8(b)の例に示すゼロ/非ゼロパターン表現としたDCT係数850を出力する。具体的には、ゼロラン801を4個の「0」(ゼロ/非ゼロ情報851〜854)、非ゼロ係数802を1個の「1」(ゼロ/非ゼロ情報855)、ゼロラン803を2個の「0」(ゼロ/非ゼロ情報856、857)、非ゼロ係数804、ラン0のゼロラン(ダミー)805を1個の「1」(ゼロ/非ゼロ情報858)、非ゼロ係数806、ラン0のゼロラン(ダミー)807を1個の「1」(ゼロ/非ゼロ情報859)、非ゼロ係数808を1個の「1」(ゼロ/非ゼロ情報860)、ゼロラン809を3個の「0」(ゼロ/非ゼロ情報861〜863)、非ゼロ係数810を1個の「1」(ゼロ/非ゼロ情報864)とする。つまり、ラン0のゼロラン(ダミー)805、ラン0のゼロラン(ダミー)807のようなダミーを不要としている。
【0053】
本例では、ゼロ/非ゼロパターンを画素同期情報とし、非ゼロ係数を画素非同期情報としている。ゼロ/非ゼロパターンは値域が[0,1]と狭いので、情報源拡大を行って符号化するのが好ましい。例えば、8次の拡大を行う場合、256エントリの符号表を用意する。
図9は、8次の情報源拡大の例を示す説明図である。ゼロ/非ゼロパターン表現のDCT係数900は、ゼロ/非ゼロ情報901〜916を有している。これに対して8次の情報源拡大を行った場合、ゼロ/非ゼロパターン表現の情報源拡大パターン950は、「00001000」の情報源拡大パターン情報951と「11100010」の情報源拡大パターン情報952となる。第1の符号化モジュール140は、この8bitのデータを符号化する。つまり、2^8=256個のエントリの符号表を必要とする。
【0054】
以下、データの概念について説明する。図10は、符号化処理におけるデータ概念の例を示す説明図である。
図10(a)に示す例は、画像変換モジュール120による処理結果である変換結果1000(DCT係数)である。これには、ゼロ係数(1001〜1004、1006〜1008、1012〜1014)、非ゼロ係数(1005、1009〜1011、1015)が含まれている。また、非ゼロ係数が連続していてもよく、ゼロ係数と非ゼロ係数とのペアは必ずしも発生させる必要はない。
図10(b)に示す例は、分離モジュール130による処理である。図10(b−1)に示す例は、第1の符号化モジュール140に渡す分離結果1020であり、画素同期信号であるゼロ/非ゼロパターンである。つまり、変換結果1000の非ゼロ係数を1bitで表せる「1」としている。そして、図10(b−2)に示す例は、第2の符号化モジュール160に渡す分離結果1040であり、画素非同期信号である非ゼロ係数値である。
図10(c)に示す例は、第1の符号化モジュール140による処理結果である符号列1050であり、情報源拡大パターン情報1051、1052を有している。これは、第1の符号155に該当し、8次の情報源拡大を行った符号である。
図10(d)に示す例は、第2の符号化モジュール160による処理結果である符号列1060であり、分離結果1040を符号化した符号化情報1061〜1065を有している。これは、第2の符号175に該当する。
【0055】
第2の実施の形態である画像処理装置(復号装置)では、この逆の処理を行う。つまり、合成モジュール250では、画素同期情報と画素非同期情報から画像変換モジュール120の出力に相当する情報を生成し、逆変換モジュール260ではこの情報を画素値に戻す。具体的な合成モジュール250の動作としては、第1の復号モジュール220から渡されたゼロ/非ゼロパターンによって、第2の復号モジュール240における非ゼロ係数値の復号を制御する。つまり、ゼロ/非ゼロパターンが0のときは0を、1のときは第2の復号モジュール240で復号した非ゼロ係数値を出力するように動作する。
なお、第1の復号モジュール220は、(情報源拡大分をまとめて復号する点を除けば)原理的には画素毎に動作するが、第2の復号モジュール240は、画素に応じて間欠的に(ゼロ/非ゼロパターン内で1が発生した場合に)動作する。
【0056】
以下、変形例について説明する。
前述の構成で、第1の符号化モジュール140が行うゼロ/非ゼロパターンの符号化は、第2の出力モジュール170が行う非ゼロ係数値とは異なる符号化手法、例えば算術符号化を用いるようにしてもよい。算術符号化は入力と出力が1対1に対応しないため、いわば全入力数の次数に情報源を拡大したのと同じような処理になるが、本実施の形態では、ゼロ/非ゼロパターンが符号中に連続するように構成しているので適用可能である。
このとき非ゼロ係数は、ゼロ/非ゼロパターンとは独立に情報源拡大するといった変更も可能である。JPEGの例によれば非ゼロ係数は10エントリなので、2次の拡大をしても10×10=100エントリの符号表で収められる。
また、情報源拡大がブロックにまたがっていても構わない。例えば、8×8ブロックの係数は64個であるが、これと関係なく符号表の大きさや圧縮率の要請からゼロ/非ゼロパターンを10個単位で拡大するなどしてもよい。
【0057】
また、ゼロ/非ゼロパターンは情報源拡大ではなく、ラン表現としてもよい。この場合もランはブロックにまたがっても構わない。この表現はゼロランではなく非ゼロ係数がどこに入るかという情報を含んでいるため、ゼロ/非ゼロパターンと同様にダミーのゼロランを挿入する必要がない。
図11は、ゼロ/非ゼロパターンのラン表現の例を示す説明図である。図11(a)に示す例は、ゼロ/非ゼロパターン表現のDCT係数1100であり、第1の符号化モジュール140による符号化対象である。これには、ダミーは不要である。図11(b)に示す例のラン1120は、第1の符号化モジュール140による符号化処理の結果であって、DCT係数1100をラン表現(ラン符号化)したものである。「0」と「1」のランは交互に出現するので、どちらのラン(0か1のラン)であるという情報は、ラン表現に含めなくてもよい。
【0058】
この例ではゼロ/非ゼロパターンを使うため、1出力の符号でも情報源を拡大できるが、処理が複雑化する。これは2つの符号の間で、符号を生成する順番と復号に必要な符号の順番が異なるためである。
本実施の形態では、出力の分割により、各符号内の順番だけを保持するため、このような問題が生じない。図12を用いて説明する。図12は、情報源拡大の例を示す説明図である。
図12(a)に示す例は、画像変換モジュール120による処理結果である変換結果1200である。
図12(b)に示す例は、分離モジュール130による処理結果を示している。図12(b−1)に示す例は、第1の符号化モジュール140に渡すゼロ/非ゼロパターンの分離結果1220であり、図12(b−2)に示す例は、第2の符号化モジュール160に渡す非ゼロ係数1241、1242である。2つの非ゼロ係数が揃ったときに符号を生成させるようにしている。2つ目の非ゼロ(ゼロ/非ゼロ情報1229)が発生した場合に、変換結果1200内の非ゼロ係数1205と非ゼロ係数1209を符号化するため非ゼロ係数1241を第2の符号化モジュール160に渡す。そして、次の2つ目の非ゼロ(ゼロ/非ゼロ情報1232)が発生した場合に、変換結果1200内の非ゼロ係数1210と非ゼロ係数1212を符号化するため非ゼロ係数1242を第2の符号化モジュール160に渡す。
図12(c)に示す例は、先行技術によって符号化された符号列1250を示すものである。この符号を復号(伸張)する場合は、左の符号から順番に行うため、符号1255と符号1259の間のゼロラン(符号1256〜1258)を伸張してから、符号1260の「a、b」を伸張しなければならないことになる。
図12(d)に示す例は、本実施の形態の第1の符号化モジュール140による処理結果と第2の符号化モジュール160による処理結果を示すものである。この符号を第2の実施の形態である画像処理装置(復号装置)で復号する場合、第2の復号モジュール240が符号列1290の符号1291を復号し、「a,b」を得る。そして、合成モジュール250が第1の復号モジュール220から渡された符号列1270内の「1」(符号1275、1279)が出てきたときに、復号された非ゼロ係数である「a」、「b」を出力すればよい。
【0059】
<予測符号化による変換例>
画像変換モジュール120による変換を予測符号化としてもよい。予測符号化に適用する場合、例えば予測結果の予測誤差値を使ってゼロラン、又は誤差値がゼロか非ゼロかを表すゼロ/非ゼロパターンを生成し、非ゼロ係数の代わりに非ゼロ予測誤差値を符号とすればよい。これ以外は前述の例と同様である。
ゼロ/非ゼロパターンを多値としてもよい。例えば、複数の予測式を用意し、予測誤差が0となった予測式があれば、その予測式を識別する値を非ゼロの位置に入れればよい。
【0060】
<LZ符号化による変換例>
公知の圧縮技術としてLZ符号化がある。LZ符号化は、バリエーションが多く存在するが、原理的には、(1)過去に出現した情報列の出現位置(IDの場合もある)、(2)一致しない場合の正値(リテラル、画素値そのもの)情報の2種類の情報による複合的な表現を行うものである。
図13は、LZ符号の概念例を示す説明図である。LZ符号1300内は、一致情報1310等の一致情報と、リテラル1330等のリテラルがある。そして、一致情報1310は、一致長1312、出現位置1314を有している。また、一致情報1310、1320のように、一致情報は連続し得るものであり、リテラル1330、1340、1350のように、リテラルはシンボル単位の情報であって、連続し得るものである。
【0061】
符号の構成に着目すれば、複数シンボルをまとめて扱う一致情報とシンボル単位のリテラル情報は、各々JPEGのゼロランと非ゼロ係数に類似している。ただし、一致情報は連続することがある。このためJPEGのペアリングを行うのではなく、一致情報の一致長とリテラルの非一致長(連続するリテラルの個数)に対して、同一符号表の異なる符号を割り振って識別するといった方法がとられることがある。
図14は、LZ符号の具体的処理例を示す説明図である。LZ符号1400は、一致情報1410、一致情報1420、リテラル情報1430、一致情報1440、リテラル情報1450を有している。例えば、一致情報1410は、一致長1412、出現位置1414を有している。そして、リテラル情報1430は、非一致長1432、リテラル1434、1436、1438を有している。なお、非一致長1432は、リテラル1434、1436、1438であることから、3である。一致長と非一致長は、同一の符号表内で別の符号を割り振る。これにより、先頭の符号で一致情報かリテラル情報であるかを判定するようにしてもよい。
【0062】
本実施の形態である画像処理装置に、LZ符号化を適用する場合、JPEGの周波数変換の例ではゼロランの代わりにゼロ/非ゼロパターンを導入したが、ここでは画素同期情報として一致情報の代わりに一致/非一致情報を導入する。一致/非一致情報は前述の一致長と非一致長を有している。なお、一致長と非一致長は、ラン表現と同様に画素をまとめた表現なので、画素数より少なくなるが、画素毎の情報であることには変わりないため、本実施の形態における画素同期情報の定義にあてはまる。また、画素非同期情報は、出現位置、リテラルを有している。この2つは、インターリーブしてもよいし、さらに別の符号列としてもよい。
図15は、LZ符号の具体的処理例を示す説明図である。
図15(a)に示す例は、画像変換モジュール120による処理結果であり、一致/非一致情報である画素同期情報1500は、一致長情報1501、一致長情報1502、非一致長情報1503、一致長情報1504、非一致長情報1505を有している。
図15(b)に示す例は、画素非同期情報がインターリーブする場合を示しているものであり、出願位置とリテラルにより構成されている画素非同期情報1510は、出現位置1511、1512、リテラル1513、1514、1515、出現位置1516、リテラル1517を有している。
図15(c)、(d)に示す例は、画素非同期情報を別符号にする場合を示しているものであり、出現位置によって構成されている画素非同期情報1520は、出現位置1521、1522、1523を有している。そして、これとは別にリテラル列1530は、リテラル1531、1532、1533、1534を有している。
構成や動作については周波数変換の例と同等である。
【0063】
<実験結果>
図16は、本実施の形態と先行技術による処理結果の例を比較するグラフを示す説明図である。このグラフにおける横軸はチャート(画像105)を示しており、縦軸は符号量(bit/画素)を示している。本実施の形態1602のプロットは、従来技術1601のプロットよりも下回る結果となっている。なお、ここでの従来技術1601は、直左差分(左隣画素との差分)による予測符号化において、予測誤差情報をゼロ/非ゼロパターンと非ゼロ予測誤差値で表現した例であって、ゼロ/非ゼロパターンと非ゼロ予測誤差値のそれぞれを独立に、情報源拡大を行った。
【0064】
なお、予測符号化を適用した場合の第1の実施の形態の画像変換モジュール120として、以下の符号化モジュールを用いてもよい。
(1)複数の符号化対象情報をまとめて、符号化対象情報のグループを生成するグループ生成モジュールと、前記グループ生成モジュールにより生成されたグループに対して、符号を割り当てる符号割当モジュールと、それぞれのグループに属する符号化対象情報を、各グループに割り当てられた符号を用いて符号化する符号化対象情報符号化モジュールを有する符号化モジュール。
(2)前記グループ生成モジュールは、複数の符号化対象情報をまとめて、符号化対象情報の下位グループを生成し、前記グループ生成モジュールにより生成された下位グループを、上位グループに分類するグループ分類モジュールをさらに有し、前記符号割当モジュールは、前記上位グループに対して、符号を割り当て、前記符号化対象情報符号化モジュールは、同一の前記上位グループに属する下位グループの符号化対象情報を、この上位グループに割り当てられた可変長符号を用いて符号化する(1)に記載の符号化モジュール。
(3)前記グループ生成モジュールは、入力された複数の符号化対象情報を入力順に既定数ずつまとめて、既定数の符号化対象情報が含まれた下位グループを生成し、前記グループ分類モジュールは、前記下位グループに属する符号化対象情報を表現するためのビット数に基づいて、下位グループを上位グループに分類する(2)に記載の符号化モジュール。
(4)前記符号割当モジュールは、各グループの出現確率に応じて、それぞれのグループにエントロピー符号を割り当てる(1)に記載の符号化モジュール。
(5)入力された符号化対象情報に基づいて、この符号化対象情報よりも少ないビット数で表現されたビット列に変換する符号化対象情報変換モジュールをさらに有し、前記符号化対象情報符号化モジュールは、それぞれのグループに属する符号化対象情報について前記符号化対象情報変換モジュールにより変換されたビット列と、このグループに割り当てられた符号とを用いて、符号化する(1)に記載の符号化モジュール。
(6)グループに含まれうる複数の符号化対象情報をこれらの符号化対象情報の符号データに対応付ける符号テーブルを用いて、符号化対象情報のグループを符号化するテーブル利用符号化モジュールと、前記グループ生成モジュールにより生成された符号化対象情報のグループを、前記符号割当モジュールと前記符号化対象情報符号化モジュールとの組、又は、前記テーブル利用符号化モジュールに割り振る割振りモジュールとをさらに有し、前記符号割当モジュールは、前記割振りモジュールにより割り振られたグループについて、符号を割り当て、前記符号化対象情報符号化モジュールは、前記割振りモジュールにより割り振られたグループの符号化対象情報を符号化する(1)に記載の符号化モジュール。
【0065】
また、(1)〜(6)の符号化モジュールに対応する逆変換モジュール260は以下(7)に示す構成である。
(7)複数の符号化対象情報からなるグループに割り当てられた符号に基づいて、このグループに属する符号化対象情報の符号長を特定する符号長特定モジュールと、前記符号長特定モジュールにより特定された各符号化対象情報の符号長に基づいて、前記グループに属する符号化対象情報を復号する符号化対象情報復号モジュールを有する復号モジュール。
【0066】
図17を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図17に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1717と、プリンタなどのデータ出力部1718を備えたハードウェア構成例を示している。
【0067】
CPU(Central Processing Unit)1701は、前述の実施の形態において説明した各種のモジュール、すなわち、画像変換モジュール120、分離モジュール130、第1の符号化モジュール140、第2の符号化モジュール160、第1の復号モジュール220、第2の復号モジュール240、合成モジュール250、逆変換モジュール260等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0068】
ROM(Read Only Memory)1702は、CPU1701が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1703は、CPU1701の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1704により相互に接続されている。
【0069】
ホストバス1704は、ブリッジ1705を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1706に接続されている。
【0070】
キーボード1708、マウス等のポインティングデバイス1709は、操作者により操作される入力デバイスである。ディスプレイ1710は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0071】
HDD(Hard Disk Drive)1711は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1701によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、符号化処理の結果である符号、復号した画像などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0072】
ドライブ1712は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1713に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1707、外部バス1706、ブリッジ1705、及びホストバス1704を介して接続されているRAM1703に供給する。リムーバブル記録媒体1713も、ハードディスクと同様のデータ記録領域として利用可能である。
【0073】
接続ポート1714は、外部接続機器1715を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1714は、インタフェース1707、及び外部バス1706、ブリッジ1705、ホストバス1704等を介してCPU1701等に接続されている。通信部1716は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1717は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1718は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0074】
なお、図17に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図17に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図17に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0075】
なお、前述の各種の実施の形態を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む)、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。第1の実施の形態と第2の実施の形態の組み合わせとは、第1の出力モジュール150による出力結果である第1の符号155を第1の符号受付モジュール210が受け付け、第2の出力モジュール170による出力結果である第2の符号175を第2の符号受付モジュール230が受け付けるようにすることの他に、第1の符号化モジュール140による符号化結果を第1の復号モジュール220が復号し、第2の符号化モジュール160による符号化結果を第2の復号モジュール240が復号するようにしてもよい。
【0076】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0077】
105…画像
110…画像受付モジュール
120…画像変換モジュール
130…分離モジュール
140…第1の符号化モジュール
150…第1の出力モジュール
155…第1の符号
160…第2の符号化モジュール
170…第2の出力モジュール
175…第2の符号
210…第1の符号受付モジュール
220…第1の復号モジュール
230…第2の符号受付モジュール
240…第2の復号モジュール
250…合成モジュール
260…逆変換モジュール
270…出力モジュール
275…画像

【特許請求の範囲】
【請求項1】
符号化対象である画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像を変換する変換手段と、
前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、
前記分離手段によって分離された画素同期情報を符号化する第1の符号化手段と、
前記分離手段によって分離された画素非同期情報を符号化する第2の符号化手段と、
前記第1の符号化手段によって符号化された符号を復号し、画素同期情報を生成する第1の復号手段と、
前記第2の符号化手段によって符号化された符号を復号し、画素非同期情報を生成する第2の復号手段と、
前記第1の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第2の復号手段によって復号された画素非同期情報を合成する合成手段と、
前記合成手段によって合成された情報を前記変換手段による変換処理とは逆の変換処理を行う逆変換手段と、
前記逆変換手段による変換によって生成された画像を出力する出力手段
を具備することを特徴とする画像処理装置。
【請求項2】
符号化対象である画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像を変換する変換手段と、
前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、
前記分離手段によって分離された画素同期情報を符号化する第1の符号化手段と、
前記分離手段によって分離された画素非同期情報を符号化する第2の符号化手段と、
前記第1の符号化手段によって符号化された符号を出力する第1の出力手段と、
前記第2の符号化手段によって符号化された符号を出力する第2の出力手段
を具備することを特徴とする画像処理装置。
【請求項3】
前記変換手段は、JPEGにおける周波数変換を行い、
前記分離手段は、ゼロ/非ゼロパターンを画素同期情報として分離し、非ゼロ係数を画素非同期情報として分離する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記変換手段は、予測符号化による変換を行い、
前記分離手段は、ゼロ/非ゼロパターンを画素同期情報として分離し、非ゼロ予測誤差値を画素非同期情報として分離する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記変換手段は、LZ符号化による変換を行い、
前記分離手段は、一致/非一致情報を画素同期情報として分離し、出現位置及び画素値を画素非同期情報として分離する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項6】
符号化対象である画像が変換され、該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、該画素同期情報が符号化された符号を受け付ける第1の受付手段と、
前記画素非同期情報が符号化された符号を受け付ける第2の受付手段と、
前記第1の受付手段によって受け付けられた符号を復号し、画素同期情報を生成する第1の復号手段と、
前記第2の受付手段によって受け付けられた符号を復号し、画素非同期情報を生成する第2の復号手段と、
前記第1の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第2の復号手段によって復号された画素非同期情報を合成する合成手段と、
前記合成手段によって合成された情報を、前記画像に対して行われた変換処理とは逆の変換処理を行う逆変換手段と、
前記逆変換手段による変換によって生成された画像を出力する出力手段
を具備することを特徴とする画像処理装置。
【請求項7】
前記第1の受付手段は、画像がJPEGにおける周波数変換され、ゼロ/非ゼロパターンを画素同期情報として符号化した符号を受け付け、
前記第2の受付手段は、画像がJPEGにおける周波数変換され、非ゼロ係数を画素非同期情報として符号化した符号を受け付け、
前記逆変換手段は、JPEGにおける周波数変換の逆変換処理を行う
ことを特徴とする請求項6に記載の画像処理装置。
【請求項8】
前記第1の受付手段は、画像が予測符号化され、ゼロ/非ゼロパターンを画素同期情報として符号化した符号を受け付け、
前記第2の受付手段は、画像が予測符号化され、非ゼロ予測誤差を画素同期情報として符号化した符号を受け付け、
前記逆変換手段は、予測符号化の逆変換処理を行う
ことを特徴とする請求項6に記載の画像処理装置。
【請求項9】
前記第1の受付手段は、画像がLZ符号化され、一致/非一致情報を画素同期情報として符号化した符号を受け付け、
前記第2の受付手段は、画像がLZ符号化され、出現位置及び画素値を画素同期情報として符号化した符号を受け付け、
前記逆変換手段は、LZ符号化の逆変換処理を行う
ことを特徴とする請求項6に記載の画像処理装置。
【請求項10】
コンピュータを、
符号化対象である画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像を変換する変換手段と、
前記変換手段によって変換された画像を該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離する分離手段と、
前記分離手段によって分離された画素同期情報を符号化する第1の符号化手段と、
前記分離手段によって分離された画素非同期情報を符号化する第2の符号化手段と、
前記第1の符号化手段によって符号化された符号を出力する第1の出力手段と、
前記第2の符号化手段によって符号化された符号を出力する第2の出力手段
として機能させるための画像処理プログラム。
【請求項11】
コンピュータを、
符号化対象である画像が変換され、該画像を構成する画素と同期して発生する画素同期情報と、それ以外の情報である画素非同期情報に分離され、該画素同期情報が符号化された符号を受け付ける第1の受付手段と、
前記画素非同期情報が符号化された符号を受け付ける第2の受付手段と、
前記第1の受付手段によって受け付けられた符号を復号し、画素同期情報を生成する第1の復号手段と、
前記第2の受付手段によって受け付けられた符号を復号し、画素非同期情報を生成する第2の復号手段と、
前記第1の復号手段によって復号された画素同期情報に基づいて、該画素同期情報と前記第2の復号手段によって復号された画素非同期情報を合成する合成手段と、
前記合成手段によって合成された情報を、前記画像に対して行われた変換処理とは逆の変換処理を行う逆変換手段と、
前記逆変換手段による変換によって生成された画像を出力する出力手段
として機能させるための画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate