(57)【要約】【課題】情報を圧縮処理する場合にあって、可逆圧縮処理を行って目標とする情報量にならないときに、非可逆処理によって目標とする情報量になるようにするようにした情報処理装置を提供する。【解決手段】情報処理装置の圧縮手段は、情報を可逆圧縮処理し、判定手段は、前記圧縮手段によって圧縮された結果である情報の情報量と予め定められた値を比較し、該比較結果によって非可逆処理を行うか否かを判定し、復号手段は、前記判定手段によって非可逆処理を行うと判定された場合は、前記圧縮手段によって圧縮された情報を復号し、非可逆処理手段は、前記復号手段によって復号された情報に対して、非可逆処理を行い、前記圧縮手段は、前記非可逆処理手段によって非可逆処理された情報を可逆圧縮処理する。【選択図】図１
2014093608.tif 000002
【特許請求の範囲】
【請求項１】
情報を可逆圧縮処理する圧縮手段と、
前記圧縮手段によって圧縮された結果である情報の情報量と予め定められた値を比較し、該比較結果によって非可逆処理を行うか否かを判定する判定手段と、
前記判定手段によって非可逆処理を行うと判定された場合は、前記圧縮手段によって圧縮された情報を復号する復号手段と、
前記復号手段によって復号された情報に対して、非可逆処理を行う非可逆処理手段
を具備し、
前記圧縮手段は、前記非可逆処理手段によって非可逆処理された情報を可逆圧縮処理する
ことを特徴とする情報処理装置。
【請求項２】
前記圧縮手段によって圧縮された結果である情報を記憶する第１の記憶手段と、
前記圧縮手段が、前記非可逆処理手段によって非可逆処理された情報を可逆圧縮処理し、情報量が削減された場合は、該削減されたことによって生じた空白領域の位置を記憶する第２の記憶手段と、
前記第２の記憶手段によって記憶されている空白領域の位置にしたがって、前記第１の記憶手段によって記憶されている情報を移動させることによって、連続した圧縮結果を生成する生成手段
をさらに具備することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記第２の記憶手段によって記憶されている内容に基づいて、前記圧縮手段によって圧縮された結果である情報の情報量を算出する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記圧縮手段と前記判定手段と前記復号手段と前記非可逆処理手段をそれぞれ複数有し、
前記圧縮手段と前記判定手段と前記復号手段と前記非可逆処理手段の複数の各手段に処理を平行して行わせるために、情報を振り分ける振分手段
をさらに具備することを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
コンピュータを、
情報を可逆圧縮処理する圧縮手段と、
前記圧縮手段によって圧縮された結果である情報の情報量と予め定められた値を比較し、該比較結果によって非可逆処理を行うか否かを判定する判定手段と、
前記判定手段によって非可逆処理を行うと判定された場合は、前記圧縮手段によって圧縮された情報を復号する復号手段と、
前記復号手段によって復号された情報に対して、非可逆処理を行う非可逆処理手段
として機能させ、
前記圧縮手段は、前記非可逆処理手段によって非可逆処理された情報を可逆圧縮処理する
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、ランレングス画像データ管理装置において画像データメモリにおける離散的未使用領域の発生頻度を抑えて資源利用効率・応答性を向上させることを目的とし、ＣＰＵは、更新データの上書きを行う際、発生した空き領域を解放せず、空き領域を当該画像データのデータ領域として確保したままにし、更新データのラン数と元データのラン数の比較処理では、元データのラン数として最大ラン数を使用し、最大ラン数は、ラン数の初期値であり、ＣＰＵは、更新データのラン数が元データの実ラン数よりも大きくても更新データのラン数が最大ラン数以下である場合は、上書きによる更新を選択することが開示されている。
【０００３】
特許文献２には、分割された画像処理を行う複数の手段から出力される圧縮符号の結合を高速に行う画像処理装置、画像処理方法、コンピュータ・プログラム、及び、情報記録媒体を提供することを課題とし、一以上のスレッドから出力される複数の圧縮符号を結合して符号データを生成する画像処理装置であって、分割された圧縮処理に対応づけられたスレッドにより画像データの圧縮処理を行う圧縮処理手段と、前記スレッドから出力される圧縮符号に識別情報を添付する識別情報添付手段と、前記識別情報添付手段により識別情報を添付された圧縮符号を含む符号データを生成する符号データ生成手段と、を有することが開示されている。
【０００４】
特許文献３には、圧縮された画像データを記憶する手段と、前記記憶手段に記憶された圧縮画像データの一部を伸長し、伸長された画像データの少なくとも一部とホストからのコマンドデータに応じて変換された画像データに置換し、再度圧縮して前記記憶手段に記憶させる処理手段とを有することを特徴とする画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０６−１３１４３８号公報
【特許文献２】特開２００９−２７８１６３号公報
【特許文献３】特開平０４−０８８７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、情報を圧縮処理する場合にあって、可逆圧縮処理を行って目標とする情報量にならないときに、非可逆処理によって目標とする情報量になるようにするようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、情報を可逆圧縮処理する圧縮手段と、前記圧縮手段によって圧縮された結果である情報の情報量と予め定められた値を比較し、該比較結果によって非可逆処理を行うか否かを判定する判定手段と、前記判定手段によって非可逆処理を行うと判定された場合は、前記圧縮手段によって圧縮された情報を復号する復号手段と、前記復号手段によって復号された情報に対して、非可逆処理を行う非可逆処理手段を具備し、前記圧縮手段は、前記非可逆処理手段によって非可逆処理された情報を可逆圧縮処理することを特徴とする情報処理装置である。
【０００８】
請求項２の発明は、前記圧縮手段によって圧縮された結果である情報を記憶する第１の記憶手段と、前記圧縮手段が、前記非可逆処理手段によって非可逆処理された情報を可逆圧縮処理し、情報量が削減された場合は、該削減されたことによって生じた空白領域の位置を記憶する第２の記憶手段と、前記第２の記憶手段によって記憶されている空白領域の位置にしたがって、前記第１の記憶手段によって記憶されている情報を移動させることによって、連続した圧縮結果を生成する生成手段をさらに具備することを特徴とする請求項１に記載の情報処理装置である。
【０００９】
請求項３の発明は、前記判定手段は、前記第２の記憶手段によって記憶されている内容に基づいて、前記圧縮手段によって圧縮された結果である情報の情報量を算出することを特徴とする請求項２に記載の情報処理装置である。
【００１０】
請求項４の発明は、前記圧縮手段と前記判定手段と前記復号手段と前記非可逆処理手段をそれぞれ複数有し、前記圧縮手段と前記判定手段と前記復号手段と前記非可逆処理手段の複数の各手段に処理を平行して行わせるために、情報を振り分ける振分手段をさらに具備することを特徴とする請求項１から３のいずれか一項に記載の情報処理装置である。
【００１１】
請求項５の発明は、コンピュータを、情報を可逆圧縮処理する圧縮手段と、前記圧縮手段によって圧縮された結果である情報の情報量と予め定められた値を比較し、該比較結果によって非可逆処理を行うか否かを判定する判定手段と、前記判定手段によって非可逆処理を行うと判定された場合は、前記圧縮手段によって圧縮された情報を復号する復号手段と、前記復号手段によって復号された情報に対して、非可逆処理を行う非可逆処理手段として機能させ、前記圧縮手段は、前記非可逆処理手段によって非可逆処理された情報を可逆圧縮処理することを特徴とする情報処理プログラムである。
【発明の効果】
【００１２】
請求項１の情報処理装置によれば、情報を圧縮処理する場合にあって、可逆圧縮処理を行って目標とする情報量にならないときに、非可逆処理によって目標とする情報量になるようにすることができる。
【００１３】
請求項２の情報処理装置によれば、連続した圧縮結果を生成するのに、情報の移動を１回で行うことができる。
【００１４】
請求項３の情報処理装置によれば、本構成を有していない場合に比較して、情報量の算出を高速に行うことができる。
【００１５】
請求項４の情報処理装置によれば、並列して処理を行わせることができる。
【００１６】
請求項５の情報処理プログラムによれば、情報を圧縮処理する場合にあって、可逆圧縮処理を行って目標とする情報量にならないときに、非可逆処理によって目標とする情報量になるようにすることができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示すフローチャートである。
【図３】第１の実施の形態による処理例を示す説明図である。
【図４】第１の実施の形態による処理例を示す説明図である。
【図５】第１の実施の形態による処理例を示すフローチャートである。
【図６】第１の実施の形態による処理例を示す説明図である。
【図７】第１の実施の形態による処理例を示す説明図である。
【図８】非可逆処理モジュール内の構成例についての概念的なモジュール構成図である。
【図９】第１の実施の形態による処理（非可逆処理）例を示す説明図である。
【図１０】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１１】第２の実施の形態による処理例を示すフローチャートである。
【図１２】第２の実施の形態による処理例を示す説明図である。
【図１３】第２の実施の形態による処理例を示す説明図である。
【図１４】第２の実施の形態による処理例を示す説明図である。
【図１５】削減箇所管理テーブルのデータ構造例を示す説明図である。
【図１６】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００１９】
以下、圧縮の対象として画像を主に例示して説明する。
第１の実施の形態である画像処理装置は、画像を圧縮するものであって、図１の例に示すように、可逆符号化処理モジュール１１０、符号量判定処理モジュール１２０、符号データ復号処理モジュール１３０、非可逆処理モジュール１４０を有している。
【００２０】
可逆符号化処理モジュール１１０は、符号量判定処理モジュール１２０、非可逆処理モジュール１４０と接続されている。可逆符号化処理モジュール１１０は、ラスター画像１０５を受け付け、ラスター画像１０５を可逆圧縮処理する。ここでの圧縮処理は、可逆可能な圧縮処理であればどのような圧縮処理であってもよい。ラスター画像１０５を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。ラスター画像１０５は、２値画像、多値画像（カラー画像を含む）であってもよい。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
また、可逆符号化処理モジュール１１０は、非可逆処理モジュール１４０によって非可逆処理された情報を可逆圧縮処理する。なお、この処理は、符号量判定処理モジュール１２０による判定結果によって行う場合と行われない場合がある。
そして、可逆符号化処理モジュール１１０は、ラスター画像１０５又は非可逆処理モジュール１４０によって非可逆処理された情報を可逆圧縮処理した結果である符号データ１２５を符号量判定処理モジュール１２０に渡す。
【００２１】
符号量判定処理モジュール１２０は、可逆符号化処理モジュール１１０、符号データ復号処理モジュール１３０と接続されている。符号量判定処理モジュール１２０は、可逆符号化処理モジュール１１０によって圧縮された結果である情報の情報量（以下、符号量ともいう）と予め定められた値（以下、目標値ともいう）を比較し、その比較結果によって非可逆処理を行うか否かを判定する。例えば、比較結果が圧縮結果の情報量が目標値より大である場合（「符号量＞目標値」１５５）は、非可逆処理を行うと判定する。そして、比較結果が圧縮結果の情報量が目標値以下（「符号量≦目標値」１５０）である場合は、非可逆処理は不要と判定する。そして、符号データ１２５を符号データ復号処理モジュール１３０へ渡すこと又は出力することを行う。符号データ１２５を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【００２２】
符号データ復号処理モジュール１３０は、符号量判定処理モジュール１２０、非可逆処理モジュール１４０と接続されている。符号データ復号処理モジュール１３０は、符号量判定処理モジュール１２０によって非可逆処理を行うと判定された場合は、可逆符号化処理モジュール１１０によって圧縮された情報を復号する。ここでの復号処理は、可逆符号化処理モジュール１１０による圧縮処理に対応する復号処理であればよい。
非可逆処理モジュール１４０は、符号データ復号処理モジュール１３０、可逆符号化処理モジュール１１０と接続されている。非可逆処理モジュール１４０は、符号データ復号処理モジュール１３０によって復号された情報に対して、非可逆処理を行う。この非可逆処理については、図８、９を用いて後述する。
【００２３】
なお、各モジュールにおける処理対象は、画像の部分領域単位（以下、ブロックともいう）であってもよい。例えば、可逆符号化処理モジュール１１０における可逆圧縮処理は、ブロック毎に行うようにしてもよい。また、可逆符号化処理モジュール１１０が行う可逆圧縮処理は、部分復号可能な方式であってもよい。つまり、ラスター画像１０５全体に対して圧縮処理を行うが、符号データ復号処理モジュール１３０で復号する場合はブロック毎に行うようにしてもよい。もちろんのことながら、復号対象のブロックは、符号量判定処理モジュール１２０によって非可逆処理を行うと判定されたブロックである。符号量判定処理モジュール１２０における判定処理は、ブロック毎に行ってもよいし、予め定められた数のブロック毎に行うようにしてもよい。したがって目標値は、ブロック単位における目標値であってもよいし、予め定められた複数のブロックの目標値の合計値であってもよい。
なお、非可逆処理を実施したブロックの符号量は、非可逆処理前以下となるので、符号量が削減された分だけ詰めて符号データを更新する必要がある。つまり、非可逆処理されたブロック以降の符号データは、前に詰める（移動）処理が必要となる。この処理は、非可逆処理を行った後に、可逆圧縮処理を行う都度に必要である。
【００２４】
図２は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、可逆符号化処理モジュール１１０が、ブロック毎に順次ブロック符号化処理を行う。
ステップＳ２０４では、符号量判定処理モジュール１２０が、符号量と目標値との比較を行って、非可逆処理対象であるか否かを判断し、Ｙｅｓすなわち「符号量＞目標値」１５５の場合はステップＳ２０６へ進み、Ｎｏすなわち「符号量≦目標値」１５０の場合はステップＳ２１２へ進む。
ステップＳ２０６では、符号データ復号処理モジュール１３０が、ブロック符号データの復号を行う。
ステップＳ２０８では、非可逆処理モジュール１４０が、非可逆処理を行う。
ステップＳ２１０では、可逆符号化処理モジュール１１０が、非可逆処理されたブロックに対して再符号化を行う。
ステップＳ２１２では、符号量判定処理モジュール１２０が、目標値をクリアした現在のブロック符号データを出力用のメモリにコピー（移動）する。
ステップＳ２１４では、符号量判定処理モジュール１２０が、メモリ内の符号データを更新する。
ステップＳ２１６では、符号量判定処理モジュール１２０が、対象とする画像内の全ブロックが終了したか否かを判断し、終了した場合は処理を終了し（ステップＳ２９９）、それ以外の場合はステップＳ２０２へ戻る。
【００２５】
図３は、第１の実施の形態による処理例を示す説明図である。
ラスター画像１０５の各ラインをブロック分割し、ブロック毎に符号データを生成する圧縮方式の場合について説明する。なお、ここでブロックは、高さ１で予め定められた幅のものとする。ブロックは複数画素で構成される。
例えば、図３の例に示す符号化前データ（ライン０）３００、符号化前データ（ライン１）３１０をそれぞれ画像ブロック３０１〜３０６、画像ブロック３１１〜３１６のブロックに分割する。そして、ブロック毎に可逆符号化処理モジュール１１０による１回目の可逆圧縮処理による結果をメモリに記憶させた結果が符号データ３２０である。符号データは、画像の所定箇所（例えば左上）に相当する符号データからメモリに順次詰めて記憶する。
【００２６】
図４は、第１の実施の形態による処理例を示す説明図である。図５は、第１の実施の形態による処理例を示すフローチャートである。このフローチャートは、可逆圧縮処理と非可逆処理の関係を簡潔に示したものである。
ステップＳ５０２では、圧縮符号化を行う。
ステップＳ５０４では、符号量がＯＫ（符号量が目標値以下）であるか否かを判断し、ＯＫである場合は処理を終了し（ステップＳ５９９）、それ以外の場合はステップＳ５０６へ進む。
ステップＳ５０６では、非可逆処理を行い、ステップＳ５０２へ戻る。
【００２７】
図４の例に示す符号化前データ（ライン０）３００の１，２ブロック目（画像ブロック３０１、３０２）は、目標値以下の符号量（符号化後ブロック３２１、３２２）であるので非可逆処理は不要であると符号量判定処理モジュール１２０によって判定される。したがって、符号データをそのまま流用して、符号データを更新することになる。
符号化前データ（ライン０）３００の３ブロック目（画像ブロック３０３）は、目標値より大である符号量（符号化後ブロック３２３）なので、非可逆処理を行う必要があると符号量判定処理モジュール１２０によって判定される。したがって、符号データを復号し、非可逆処理を行い、再度の可逆符号化処理モジュール１１０による可逆圧縮処理を行う。そして、目標値以下の符号量であれば、符号データを更新することになる。
符号化前データ（ライン０）３００の４ブロック目〜６ブロック目（画像ブロック３０４〜３０６）は、目標値以下の符号量（符号化後ブロック３２４〜３２６）であるので非可逆処理は不要であると符号量判定処理モジュール１２０によって判定される。したがって、符号データをそのまま流用して、符号データを更新することになる。
非可逆処理が必要になった場合は、非可逆処理を各ブロックに対して順次実施する必要がある。
【００２８】
したがって、非可逆処理を不要とするブロックに対しても、非可逆処理を必要とするブロックの後は、その非可逆処理を施したブロックの符号データを生成する都度に、移動処理が発生することとなる。図４の例をもって示すと、非可逆処理を必要とする符号化後ブロック３２３からその非可逆処理を施したブロックの符号データ（符号化後ブロック（非可逆処理後）４２３）を生成した後は、符号化後ブロック３２４〜３３６までを左に詰める移動処理を行い、非可逆処理を必要とする符号化後ブロック３３２からその非可逆処理を施したブロックの符号データ（符号化後ブロック（非可逆処理後）４３２）を生成した後は、符号化後ブロック３３３〜３３６までを左に詰める移動処理を行う。つまり、符号化後ブロック３３３〜３３６に対しては、２回の移動処理が行われている。
【００２９】
図６は、第１の実施の形態による処理例を示す説明図である。つまり、第１の実施の形態において、並列処理を行う場合についての説明図である。
図６（ａ）の例に示す元画像６００を対象とする。そして、第１の実施の形態は、可逆符号化処理モジュール１１０、符号量判定処理モジュール１２０、符号データ復号処理モジュール１３０、非可逆処理モジュール１４０をそれぞれ複数有している。そして、図６（ｂ）の例に示すように、これらの可逆符号化処理モジュール１１０、符号量判定処理モジュール１２０、符号データ復号処理モジュール１３０、非可逆処理モジュール１４０の複数の各モジュールに処理を平行して行わせるために、元画像６００内のブロック群を振り分けることを行う。例えば、元画像６００をライン群６１０〜６４０の４つに分けて、それぞれを可逆符号化処理モジュール１１０、符号量判定処理モジュール１２０、符号データ復号処理モジュール１３０、非可逆処理モジュール１４０の組に処理させる。
そして、各処理結果をつなぎ合わせて（マージ処理して）処理後画像６９０を生成する。この処理後画像６９０を生成する際に、前述した移動処理が必要となる。
【００３０】
図７は、第１の実施の形態による処理例を示す説明図である。対象の画像によっては、非可逆対象のブロックの分布は一様ではなく、一部に偏る場合がある。そのため、ライン群単位で並列処理を行っても、順次処理する必要が生じて、並列化ができない場合が生じる。
画像７００は、写真領域７１０、文字領域７２０、文字領域７３０、図形領域７４０を有している。この画像７００を対象とした場合について説明する。この中で写真領域７１０は、非可逆処理の対象となりやすい。一方、文字領域７２０、文字領域７３０、図形領域７４０は、非可逆処理は不要となりやすい。写真領域７１０を含むブロック７２５は、非可逆処理の対象となるブロックの密度が高い。したがって、ブロック７２５の処理時間が律速（全体の処理速度を決定する要素）となる。
【００３１】
図８は、非可逆処理モジュール１４０内の構成例についての概念的なモジュール構成図である。図９は、第１の実施の形態による処理（非可逆処理）例を示す説明図である。
図８の例に示すように非可逆処理モジュール１４０は、非可逆パラメータ決定処理モジュール１４２、量子化処理モジュール１４４を有している。非可逆パラメータ決定処理モジュール１４２は、非可逆処理の対象とするブロック内の画素数又は画素を示すパラメータを決定する。非可逆処理とは、例えば、ブロック内の画素値を平均値化すること等をいう。量子化処理モジュール１４４は、非可逆パラメータ決定処理モジュール１４２によって決定されたパラメータにしたがって対象としている画素の画素値を非可逆処理する。
図９（ａ）の例では、対象ブロック９１０内の２×２の画素群を対象としており、これら４画素の平均値（１２）に変更して量子化処理後ブロック９２０を生成している。図９（ｂ）の例では、対象ブロック９３０内の２×２の画素群を対象としており、これら４画素の平均値（４７）に変更して量子化処理後ブロック９４０を生成している例と、対象ブロック９３０内の上行の２×１の画素群と下行の２×１の画素群とに分けて対象としており、それぞれ２画素の平均値（８１、１３）に変更して量子化処理後ブロック９５０を生成している例を示している。非可逆パラメータ決定処理モジュール１４２は、対象としている画素分布を参照して、パラメータを決定するようにしてもよい。例えば、ブロック内の最大値と最小値の差が予め定められた値以上である場合は、量子化処理後ブロック９５０のように２つ以上にクラスタリングしてもよい。非可逆処理は、前述した平均値化の他に圧縮率を高めるような画像の変換であればよく、例えば、ブロック内の画素値の中央値、最頻値等を採用してもよい。
【００３２】
図１０は、第２の実施の形態の構成例についての概念的なモジュール構成図である。第２の実施の形態である画像処理装置は、画像を圧縮するものであって、図１０の例に示すように、ブロック符号データ取得モジュール１０１０、圧縮率向上処理必要判定モジュール１０２０、圧縮率向上処理モジュール１０３０、ブロック再符号化モジュール１０４０、符号データ格納モジュール１０５０、削減領域管理モジュール１０６０、全体符号データ生成モジュール１０７０を有している。
また、第２の実施の形態も、第１の実施の形態と同様の並列化処理を行うようにするために、ブロック符号データ取得モジュール１０１０（可逆符号化処理モジュール１１０を含めてもよい）、圧縮率向上処理必要判定モジュール１０２０、圧縮率向上処理モジュール１０３０、ブロック再符号化モジュール１０４０をそれぞれ複数有し、それらのブロック符号データ取得モジュール１０１０、圧縮率向上処理必要判定モジュール１０２０、圧縮率向上処理モジュール１０３０、ブロック再符号化モジュール１０４０の複数の各モジュールに処理を平行して行わせるようにしてもよい。
【００３３】
ブロック符号データ取得モジュール１０１０は、圧縮率向上処理必要判定モジュール１０２０と接続されている。ブロック符号データ取得モジュール１０１０は、符号データから、画像の部分領域であるブロックに相当する符号データを取得する。取得する符号データは、前述の可逆符号化処理モジュール１１０によって可逆圧縮処理された符号データである。また、部分複合が可能な圧縮符号化処理が行われた符号データであってもよい。
圧縮率向上処理必要判定モジュール１０２０は、ブロック符号データ取得モジュール１０１０、圧縮率向上処理モジュール１０３０と接続されている。圧縮率向上処理必要判定モジュール１０２０は、取得した各ブロックの符号データに基づき、圧縮率向上処理を適用する必要の有無を判定する。圧縮率向上処理必要判定モジュール１０２０は、第１の実施の形態の符号量判定処理モジュール１２０に該当する。また、圧縮率向上処理必要判定モジュール１０２０は、削減領域管理モジュール１０６０によって記憶されている内容に基づいて、ブロック再符号化モジュール１０４０によって圧縮された結果である情報の情報量を算出するようにしてもよい。
圧縮率向上処理モジュール１０３０は、圧縮率向上処理必要判定モジュール１０２０、ブロック再符号化モジュール１０４０と接続されている。圧縮率向上処理モジュール１０３０は、圧縮率向上処理が必要と判定されたブロックに対して、圧縮率向上処理を実施する。圧縮率向上処理モジュール１０３０は、第１の実施の形態の符号データ復号処理モジュール１３０、非可逆処理モジュール１４０に該当する。
ブロック再符号化モジュール１０４０は、圧縮率向上処理モジュール１０３０、符号データ格納モジュール１０５０と接続されている。ブロック再符号化モジュール１０４０は、圧縮率向上処理を実施したブロックを再符号化する。ブロック再符号化モジュール１０４０は、第１の実施の形態の可逆符号化処理モジュール１１０（非可逆処理モジュール１４０の処理結果を対象とする可逆符号化処理モジュール１１０）に該当する。
【００３４】
符号データ格納モジュール１０５０は、ブロック再符号化モジュール１０４０、削減領域管理モジュール１０６０と接続されている。符号データ格納モジュール１０５０は、ブロック再符号化モジュール１０４０によって圧縮された結果である情報を記憶する。具体的には、再符号化したデータを、再符号化前のブロック符号データを格納したメモリ領域に上書きする。
符号データ格納モジュール１０５０は、同じブロックに対する２回目以降の可逆圧縮処理の場合は、前回の可逆圧縮処理によって記憶されている情報の上に、今回の可逆圧縮処理の結果を記憶させる。例えば、第２回目の可逆圧縮処理された結果の情報は、第１回目の可逆圧縮処理によって記憶されている情報に上書きされることになる。この場合、記憶する情報の先頭の位置を、前回の可逆圧縮処理の結果を記憶している情報の先頭の位置と同じにすると、後部に空白領域（以下、削減領域ともいう）が生じることになる。もちろんのことながら、記憶する情報の後尾の位置を、前回の可逆圧縮処理の結果を記憶している情報の後尾の位置と同じにすると、前部に空白領域が生じることになる。
【００３５】
削減領域管理モジュール１０６０は、符号データ格納モジュール１０５０、全体符号データ生成モジュール１０７０と接続されている。削減領域管理モジュール１０６０は、ブロック再符号化モジュール１０４０が、圧縮率向上処理モジュール１０３０によって非可逆処理された情報を可逆圧縮処理し、情報量が削減された場合は、その削減されたことによって生じた空白領域の位置を記憶する。つまり、再符号化前後で削減されたメモリ領域を管理する。図１５を用いて後述する。
全体符号データ生成モジュール１０７０は、削減領域管理モジュール１０６０と接続されている。全体符号データ生成モジュール１０７０は、削減領域管理モジュール１０６０によって記憶されている空白領域の位置にしたがって、符号データ格納モジュール１０５０によって記憶されている情報を移動させることによって、連続した圧縮結果を生成する。つまり、画像全体の符号データを生成する。
【００３６】
図１１は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ１１０２では、ブロック符号データ取得モジュール１０１０が、ブロック符号データを取得する。
ステップＳ１１０４では、圧縮率向上処理必要判定モジュール１０２０が、非可逆処理対象であるか否か（ブロック符号データの情報量が目標値より大であるか否か）を判断し、非可逆処理対象である場合はステップＳ１１０６へ進み、それ以外の場合はステップＳ１１１４へ進む。
ステップＳ１１０６では、圧縮率向上処理モジュール１０３０が、非可逆処理を行う。
ステップＳ１１０８では、ブロック再符号化モジュール１０４０が、ブロック再符号化を行う。
ステップＳ１１１０では、符号データ格納モジュール１０５０が、符号データの上書きを行う。
ステップＳ１１１２では、削減領域管理モジュール１０６０が、削除領域を管理する。
ステップＳ１１１４では、ブロック符号データ取得モジュール１０１０が、全ブロックが終了したか否かを判断し、終了した場合はステップＳ１１１６へ進み、それ以外の場合はステップＳ１１０２へ戻る。
ステップＳ１１１６では、全体符号データ生成モジュール１０７０が、全体符号データを生成する。
【００３７】
図１２〜１４は、第２の実施の形態による処理例を示す説明図である。
図１２（ａ）の例は、可逆符号化処理モジュール１１０による１回目の可逆圧縮処理の結果（ブロック符号データ取得モジュール１０１０が取得した符号データ）を示している。
図１２（ｂ）の例は、圧縮率向上処理必要判定モジュール１０２０による判定処理の結果を示している。可逆圧縮処理後の符号量が目標値より大であるため非可逆処理が必要を判定したブロック（符号化後データ（ライン０）１２１０の２、３ブロック目の画像ブロック１２１２、画像ブロック１２１３等）を斜線で示している。
【００３８】
図１３（ｂ）の例は、図１２（ｂ）と同じものである。
図１３（ｃ）の例は、圧縮率向上処理モジュール１０３０、ブロック再符号化モジュール１０４０、符号データ格納モジュール１０５０による処理結果を示している。つまり、非可逆処理されたブロックを可逆圧縮処理した結果の符号量は、前回の可逆圧縮処理した結果の符号量以下となる。したがって、符号化後データ（ライン０）１２１０を記憶しているメモリ領域内に削減領域が発生する。削減領域は、図ではクロス領域で示しており、符号化後データ（ライン０）１２１０においては、アドレスＳ０からＥ０までの領域、アドレスＳ１からＥ１までの領域が削減領域である。削減領域管理モジュール１０６０は、例えば削減箇所管理テーブル１５００を生成する。図１５は、削減箇所管理テーブル１５００のデータ構造例を示す説明図である。削減箇所管理テーブル１５００は、ＩＤ欄１５１０、開始位置欄１５２０、終了位置欄１５３０を有している。ＩＤ欄１５１０は、本実施の形態において削減領域を一意に識別する情報（ＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）を記憶している。開始位置欄１５２０は、削減領域の開始アドレスを記憶している。終了位置欄１５３０は、削減領域の終了アドレスを記憶している。
なお、この図１３（ｃ）の状態で、圧縮率向上処理必要判定モジュール１０２０による判定処理を行ってもよい。その結果、可逆圧縮処理後の符号量が目標値より大であるため非可逆処理が必要と判定したブロックがある場合は、圧縮率向上処理モジュール１０３０、ブロック再符号化モジュール１０４０、符号データ格納モジュール１０５０の処理を繰り返して行う。その結果、削減領域のアドレス（例えば、アドレスＳ０等の削減領域の開始位置アドレス）が変更される。
また、繰り返し処理において、圧縮率向上処理必要判定モジュール１０２０は、削減箇所管理テーブル１５００に基づいて、ブロック再符号化モジュール１０４０による処理結果である符号データの符号量を算出するようにしてもよい。具体的には、非可逆処理される前の符号量から削減領域の容量を減算すればよい。
【００３９】
図１４（ｃ）の例は、図１３（ｃ）と同じものである。
図１４（ｄ）の例は、全体符号データ生成モジュール１０７０が、削減箇所管理テーブル１５００に基づいて、圧縮処理後の画像を生成したものである。なお、図１４（ｃ）の例に示す符号化後データ（ライン０）１２１０と図１４（ｄ）の例に示す符号化後データ（ライン０）１４１０は、同じメモリ領域である。したがって、画像ブロック１２１３の先頭をアドレスＳ０に合わせて移動し、画像ブロック１２１４〜１２１６を２つの削減領域分だけ前方（左側）へ詰める移動を行う。つまり、移動対象の符号データよりも前にある削減領域の容量だけ前方に詰める移動を行う。この移動処理は、可逆圧縮処理を行う都度に行う必要はなく、圧縮後のデータを生成するときの１回だけでよい。
可逆処理が必要なブロックが前になく、非可逆処理が不要なブロックに対しては、符号データの移動処理をしないことになる。なお、第１の実施の形態では、図４の例の上の状態から下の状態にするために、メモリ領域が異なるため符号化後ブロック３２１等の移動処理が必要となっていた。
そして、非可逆処理の対象となったブロックの位置関係に依存せず、非可逆処理を実施可能になる。このことは、圧縮率向上処理モジュール１０３０による非可逆処理、ブロック再符号化モジュール１０４０による再符号化処理、ブロック再符号化モジュール１０４０による符号データ更新処理の対象となるブロック順序に制約が無くなることを意味する。つまり、ブロックの処理順に関わらず、同じ結果を得られる。したがって、非可逆処理対象ブロックを最小単位として、並列処理を実施することが可能になる。
【００４０】
図１６を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図１６に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１６１７と、プリンタなどのデータ出力部１６１８を備えたハードウェア構成例を示している。
【００４１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１６０１は、前述の実施の形態において説明した各種のモジュール、すなわち、可逆符号化処理モジュール１１０、符号量判定処理モジュール１２０、符号データ復号処理モジュール１３０、非可逆処理モジュール１４０、非可逆パラメータ決定処理モジュール１４２、量子化処理モジュール１４４、ブロック符号データ取得モジュール１０１０、圧縮率向上処理必要判定モジュール１０２０、圧縮率向上処理モジュール１０３０、ブロック再符号化モジュール１０４０、符号データ格納モジュール１０５０、削減領域管理モジュール１０６０、全体符号データ生成モジュール１０７０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００４２】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１６０２は、ＣＰＵ１６０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６０３は、ＣＰＵ１６０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１６０４により相互に接続されている。
【００４３】
ホストバス１６０４は、ブリッジ１６０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１６０６に接続されている。
【００４４】
キーボード１６０８、マウス等のポインティングデバイス１６０９は、操作者により操作される入力デバイスである。ディスプレイ１６１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００４５】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１６１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１６０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、圧縮後の符号データ、削減箇所管理テーブル１５００などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００４６】
ドライブ１６１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１６１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１６０７、外部バス１６０６、ブリッジ１６０５、及びホストバス１６０４を介して接続されているＲＡＭ１６０３に供給する。リムーバブル記録媒体１６１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００４７】
接続ポート１６１４は、外部接続機器１６１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１６１４は、インタフェース１６０７、及び外部バス１６０６、ブリッジ１６０５、ホストバス１６０４等を介してＣＰＵ１６０１等に接続されている。通信部１６１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部１６１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１６１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００４８】
なお、図１６に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１６に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１６に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００４９】
前述の実施の形態においては、圧縮の対象を画像とした画像処理装置の例を示したが、非可逆圧縮となってもよい他の情報、例えば、音声情報、動画情報等を対象とした情報処理装置としてもよい。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい（未満）」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい（未満）」、「以上」、「以下」としてもよい。
前述の実施の形態では、１行のブロックを示したが、複数行のブロックであってもよい。
【００５０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５１】
１１０…可逆符号化処理モジュール
１２０…符号量判定処理モジュール
１３０…符号データ復号処理モジュール
１４０…非可逆処理モジュール
１４２…非可逆パラメータ決定処理モジュール
１４４…量子化処理モジュール
１０１０…ブロック符号データ取得モジュール
１０２０…圧縮率向上処理必要判定モジュール
１０３０…圧縮率向上処理モジュール
１０４０…ブロック再符号化モジュール
１０５０…符号データ格納モジュール
１０６０…削減領域管理モジュール
１０７０…全体符号データ生成モジュール
【図１】
2014093608.tif 000003
【図２】
2014093608.tif 000004
【図３】
2014093608.tif 000005
【図４】
2014093608.tif 000006
【図５】
2014093608.tif 000007
【図６】
2014093608.tif 000008
【図７】
2014093608.tif 000009
【図８】
2014093608.tif 000010
【図９】
2014093608.tif 000011
【図１０】
2014093608.tif 000012
【図１１】
2014093608.tif 000013
【図１２】
2014093608.tif 000014
【図１３】
2014093608.tif 000015
【図１４】
2014093608.tif 000016
【図１５】
2014093608.tif 000017
【図１６】
2014093608.tif 000018