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