(57)【要約】【課題】データ圧縮・書込処理時における処理時間の軽減およびリソースの有効活用を実現するデータ処理システムを提供する。【解決手段】メモリコントローラ８は、入力データをメモリ１４へ転送する。圧縮回路１１は、メモリ１４に格納されているデータを圧縮する。圧縮されたデータは、メモリ５に格納される。プロセッサ１は、圧縮前のデータ量と圧縮後のデータ量を比較し、データ量の小さいデータを選択して、ＨＤＤ１５への転送設定を行う。【選択図】        図１
2005005903.tif 000002
【特許請求の範囲】
【請求項１】
データを圧縮し、圧縮前および圧縮後のデータ量を検出し、該検出結果に基づいて前記圧縮前および圧縮後のデータのうちいずれかを格納することを特徴とするデータ処理システム。
【請求項２】
データを入力する入力手段と、
前記入力手段により入力されたデータを一時記憶する第１の記憶手段と、
前記第１の記憶手段により記憶されたデータの圧縮処理を行う圧縮手段と、
前記圧縮手段により圧縮されたデータを一時記憶する第２の記憶手段と、
前記データのデータ量を検出する検出手段と、
前記検出された圧縮後のデータのデータ量に基づいて、前記第１の記憶手段に記憶されている圧縮前のデータおよび前記第２の記憶手段に記憶されている圧縮後のデータのうちのいずれかを選択する選択手段と、
前記選択手段により選択されたデータを格納する格納手段と、
を有することを特徴とするデータ処理システム。
【請求項３】
データを入力する入力手段と、
前記入力手段により入力されたデータを一時記憶する記憶手段と、
前記入力手段により入力されたデータの圧縮処理を行う圧縮手段と、
前記データのデータ量を検出する検出手段と、
前記検出手段によりデータ量が検出された圧縮後のデータを消去する消去手段と、
前記検出された圧縮後のデータのデータ量に基づいて、前記記憶手段に記憶されている圧縮前のデータおよび前記圧縮手段により圧縮された圧縮後のデータのうちのいずれかを選択する選択手段と、
前記選択手段により前記圧縮後のデータが選択された場合、データを再度圧縮し、圧縮後のデータを生成する再圧縮手段と、
前記選択手段により選択されたデータを格納する格納手段と、
を有することを特徴とするデータ処理システム。
【請求項４】
データを入力する入力手段と、
前記入力手段により入力されたデータに対してデータ加工が指示されているか否かを判定する加工指示判定手段と、
前記加工指示判定手段によりデータ加工が指示されていると判定された場合、前記入力されたデータを加工するデータ加工手段と、
前記入力されたデータの圧縮処理を行う圧縮手段と、
前記圧縮手段により圧縮されたデータを消去する消去手段と、
前記入力された圧縮前のデータを一時記憶する第１の記憶手段と、
前記圧縮手段により圧縮された圧縮後のデータを一時記憶する第２の記憶手段と、
前記データのデータ量を検出する検出手段と、
前記検出された圧縮後のデータのデータ量に基づいて、前記圧縮前のデータおよび前記圧縮後のデータのうちのいずれかを選択する選択手段と、
前記選択手段により選択されたデータを格納する格納手段と、
を有することを特徴とするデータ処理システム。
【請求項５】
前記第１の記憶手段は、
前記加工指示判定手段によりデータ加工が指示されていると判定された場合、前記加工手段により加工されたデータを一時記憶し、
前記圧縮手段は、
前記第１の記憶手段により記憶されたデータの圧縮処理を行い、
前記第２の記憶手段は、
前記圧縮手段により圧縮されたデータを一時記憶することを特徴とする請求項４記載のデータ処理システム。
【請求項６】
前記圧縮手段は、
前記加工指示判定手段によりデータ加工が指示されていないと判定された場合、前記入力されたデータを圧縮し、
前記消去手段は、
前記検出手段によりデータ量が検出された圧縮後のデータを消去し、
前記格納手段は、
前記選択手段により前記圧縮後のデータが選択された場合、前記圧縮手段により再度圧縮された圧縮後のデータを格納することを特徴とする請求項４記載のデータ処理システム。
【請求項７】
前記検出手段は、
前記圧縮後のデータ量を検出し、
前記選択手段は、
前記圧縮後のデータ量と所定値とを比較し、前記圧縮後のデータ量が前記所定値以上であった場合に前記圧縮前のデータを選択し、前記圧縮後のデータ量が前記所定値未満であった場合に前記圧縮後のデータを選択することを特徴とする請求項２から６のいずれか１項に記載のデータ処理システム。
【請求項８】
前記検出手段は、
前記圧縮前および圧縮後のデータ量を検出し、
前記選択手段は、
前記圧縮前のデータ量と前記圧縮後のデータ量とを比較し、前記圧縮後のデータ量が前記圧縮前のデータ量以上であった場合に前記圧縮前のデータを選択し、前記圧縮後のデータ量が前記圧縮前のデータ量未満であった場合に前記圧縮後のデータを選択することを特徴とする請求項２から７のいずれかに１項に記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理システムに関し、特に、データ圧縮回路を備えたデータ処理システムに関する。
【０００２】
【従来の技術】
従来、コピーやプリンタ、スキャナ機能等を備えたマルチファンクションプリンタ（通称ＭＦＰ）による入力データ圧縮フローの一般的な例として、下記のようなものがあった。
▲１▼入力インタフェースを介してデータをメモリに置く。
▲２▼上記データを圧縮回路に読み込ませて圧縮し、その結果をメモリに戻す。
▲３▼圧縮されたデータを何らかの記憶装置に書き込む。
【０００３】
また、データ圧縮手法には実に様々な手法が考案されており、例えば、圧縮後のデータ量が確定されている固定長圧縮方式やデータによって圧縮量が影響する可変長圧縮方式などがあった。
【０００４】
また、データ圧縮に関する従来技術として、特許文献１が開示するところの統合判断生成方法、符号化方法、統合判断生成装置、記録媒体、及び、統合確率推定値生成装置があった。
【０００５】
【特許文献１】
特開２０００−３１８３３号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、可変長圧縮方式の場合、データによっては固定長に比べ、より効果的な圧縮が期待できる半面、圧縮量の予測が困難であるため、圧縮処理後、逆にデータ量が増えてしまう可能性があった。
圧縮後のデータをバックアップとしてハードディスクなどに格納する場合、データ量が増えてしまった圧縮データを格納する可能性があり、結果として不必要なデータ圧縮処理のために処理時間およびリソースの浪費が生じてしまうことがあった。
【０００７】
本発明は、上記問題点に鑑みてなされたものであり、データ圧縮・書込処理時における処理時間の軽減およびリソースの有効活用を実現するデータ処理システムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
かかる目的を達成するため、本発明は、データを圧縮し、圧縮前および圧縮後のデータ量を検出し、検出結果に基づいて圧縮前および圧縮後のデータのうちいずれかを格納することを特徴とする。
【０００９】
また、本発明によれば、データを入力する入力手段と、入力手段により入力されたデータを一時記憶する第１の記憶手段と、第１の記憶手段により記憶されたデータの圧縮処理を行う圧縮手段と、圧縮手段により圧縮されたデータを一時記憶する第２の記憶手段と、データのデータ量を検出する検出手段と、検出された圧縮後のデータのデータ量に基づいて、第１の記憶手段に記憶されている圧縮前のデータおよび第２の記憶手段に記憶されている圧縮後のデータのうちのいずれかを選択する選択手段と、選択手段により選択されたデータを格納する格納手段と、を有することを特徴とする。
【００１０】
また、本発明によれば、データを入力する入力手段と、入力手段により入力されたデータを一時記憶する記憶手段と、入力手段により入力されたデータの圧縮処理を行う圧縮手段と、データのデータ量を検出する検出手段と、検出手段によりデータ量が検出された圧縮後のデータを消去する消去手段と、検出された圧縮後のデータのデータ量に基づいて、記憶手段に記憶されている圧縮前のデータおよび圧縮手段により圧縮された圧縮後のデータのうちのいずれかを選択する選択手段と、選択手段により圧縮後のデータが選択された場合、データを再度圧縮し、圧縮後のデータを生成する再圧縮手段と、選択手段により選択されたデータを格納する格納手段と、を有することを特徴とする。
【００１１】
また、本発明によれば、データを入力する入力手段と、入力手段により入力されたデータに対してデータ加工が指示されているか否かを判定する加工指示判定手段と、加工指示判定手段によりデータ加工が指示されていると判定された場合、入力されたデータを加工するデータ加工手段と、入力されたデータの圧縮処理を行う圧縮手段と、圧縮手段により圧縮されたデータを消去する消去手段と、入力された圧縮前のデータを一時記憶する第１の記憶手段と、圧縮手段により圧縮された圧縮後のデータを一時記憶する第２の記憶手段と、データのデータ量を検出する検出手段と、検出された圧縮後のデータのデータ量に基づいて、圧縮前のデータおよび圧縮後のデータのうちのいずれかを選択する選択手段と、選択手段により選択されたデータを格納する格納手段と、を有することを特徴とする。
【００１２】
また、本発明によれば、第１の記憶手段は、加工指示判定手段によりデータ加工が指示されていると判定された場合、加工手段により加工されたデータを一時記憶し、圧縮手段は、第１の記憶手段により記憶されたデータの圧縮処理を行い、第２の記憶手段は、圧縮手段により圧縮されたデータを一時記憶することを特徴とする。
【００１３】
また、本発明によれば、圧縮手段は、加工指示判定手段によりデータ加工が指示されていないと判定された場合、入力されたデータを圧縮し、消去手段は、検出手段によりデータ量が検出された圧縮後のデータを消去し、格納手段は、選択手段により圧縮後のデータが選択された場合、圧縮手段により再度圧縮された圧縮後のデータを格納することを特徴とする。
【００１４】
また、本発明によれば、検出手段は、圧縮後のデータ量を検出し、選択手段は、圧縮後のデータ量と所定値とを比較し、圧縮後のデータ量が所定値以上であった場合に圧縮前のデータを選択し、圧縮後のデータ量が所定値未満であった場合に圧縮後のデータを選択することを特徴とする。
【００１５】
また、本発明によれば、検出手段は、圧縮前および圧縮後のデータ量を検出し、選択手段は、圧縮前のデータ量と圧縮後のデータ量とを比較し、圧縮後のデータ量が圧縮前のデータ量以上であった場合に圧縮前のデータを選択し、圧縮後のデータ量が圧縮前のデータ量未満であった場合に圧縮後のデータを選択することを特徴とする。
【００１６】
【発明の実施の形態】
（第１の実施形態）
本実施形態における第１のデータ圧縮方式では、圧縮データを単にメモリへ戻さずに、別系統のメモリへ書き込むことでメモリに対するリスク分散を行う。
圧縮の結果、圧縮効果（データ圧縮率）が高い場合、ＣＰＵは、書き込まれた別系統のメモリから読み出して圧縮されたデータを記憶装置に書き込む。一方、圧縮効果がなかった場合（圧縮の結果データ量が増加した場合）、ＣＰＵは、メモリから圧縮前のデータを読み出して、圧縮されたデータを記憶装置に書き込む。
このことにより、圧縮効果の有無が不明である場合においても、圧縮回路からメモリにライトバックされるといった不必要なメモリアクセスを回避することが可能となる。
【００１７】
図１は、本発明の第１の実施形態におけるデータ処理システムの概略構成を示す図である。以下、図１を用いて、本実施形態におけるデータ処理システムの構成について説明する。
【００１８】
図１に示されているように、データ処理システムは、マザーボードＢ１と、コントローラＢ２と、エンジンコントローラＢ３と、ＨＤＤ（Ｈａｒｄ  ＤｉｓｋＤｒｉｖｅ）１５とを有する。
コントローラＢ２は、マザーボードＢ１、エンジンコントローラＢ３、およびＨＤＤ１５とそれぞれ接続されている。
【００１９】
マザーボードＢ１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）に備えられている一般的なマザーボードと同様の構成を有する。
マザーボードＢ１は、プロセッサ（ＣＰＵ）１と、ノースブリッジ２と、サウスブリッジ３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）系デバイス４と、メモリ５と、ＢＩＯＳ（ＲＯＭ）６とを有する。
プロセッサ１は、データ処理システム全体の制御を行う。
ノースブリッジ２は、ＦＳＢ（Ｆｒｏｎｔ  Ｓｉｄｅ  Ｂｕｓ）、メモリ５、サウスブリッジ３、およびＡＧＰインタフェース１０（ビデオカード）とのインタフェースを有する。
サウスブリッジ３は、主に低速インタフェースを受け持つ。
Ｉ／Ｏ系デバイス４は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  ＣｏｍｐｏｎｅｎｔＩｎｔｅｒｃｏｎｎｅｃｔ）バスでサウスブリッジ３と接続する。
メモリ５は、ノースブリッジ３に接続される（プロセッサ１に接続されるのもある）記憶装置である。
ＢＩＯＳ６は、ブートに使用されるＢＩＯＳが格納されているＲＯＭである。
【００２０】
コントローラＢ２は、データの入出力などのデータハンドリングを行う部位である。
コントローラＢ２は、ＰＣＩインタフェース７と、メモリコントローラ８と、ＨＤＣ（Ｈａｒｄ  Ｄｉｓｋ  Ｃｏｎｔｒｏｌｌｅｒ）９と、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）１０と、圧縮回路１１と、伸長回路１２と、回転回路１３と、メモリ１４とを有する。
ＰＣＩインタフェース７は、エンジンコントローラＢ３との入出力インタフェースである。
メモリコントローラ８は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）アービタやメモリインタフェースを司る制御部位である。メモリコントローラ８は、ＰＣＩインタフェース７、ＨＤＣ９、ＡＧＰインタフェース１０、圧縮回路１１、伸長回路１２、および回転回路１３と接続されている。
ＨＤＣ９は、ＨＤＤ１５とのインタフェースを備えたＨＤＤ１５の制御装置である。
ＡＧＰインタフェース１０は、ビデオカード専用のインタフェースであって、ノースブリッジ２とのインタフェースを有する。
圧縮回路１１は、データの圧縮処理を行う。圧縮回路１１は、ＡＧＰインタフェース１０と直接接続されている。
伸長回路１２は、データの伸長処理を行う。
回転回路１３は、画像の回転処理を行う。
メモリ１４は、メモリコントローラ８に接続される記憶装置である。
【００２１】
エンジンコントローラＢ３は、主にスキャナやプリンタのデータおよび本体制御を司る制御装置である。
【００２２】
ＨＤＤ１５は、ＨＤＣ９と接続されるハードディスクであり、データの蓄積、ページソート、本体管理などに利用される。
【００２３】
基本的には、マザーボードＢ１は、プリンタ描画を中心に処理し、コントローラＢ２は、データ加工、圧縮伸長、各インタフェースにおけるデータの入出力などを中心に処理する。
【００２４】
ここで、図１を用いて、従来のプリンタ、コピー機能を備えた画像形成装置によるデータ書込処理の一例について説明する。
まず、スキャナから読み込んだデータは、エンジンコントローラＢ３により画像処理が施され、ＰＣＩインタフェース７を通ってメモリ１４に格納される。次に、メモリコントローラ８は、メモリ１４からエンジンコントローラＢ３へ適宜なタイミング出力し、プリントする。
さらに、印刷ジャムに応じたデータ（画像データ）のバックアップを行う場合には、メモリコントローラ８は、読み取ったデータをＨＤＤ１５へ蓄積する。このとき、読み取られたデータは、圧縮回路１１によりデータ圧縮されてからＨＤＤ１５へ蓄積される。これは、メモリコントローラ８は、メモリ１４から圧縮回路１４へＤＭＡ転送して、圧縮回路１１にてデータ圧縮を行い、メモリ１４に再格納し、これをＤＭＡ転送でＨＤＣ９を介してＨＤＤ１５へ転送すればよい。
【００２５】
図２および図３は、本発明の第１の実施形態におけるデータ処理システムによるデータ書込処理の流れを示すフローチャートである。以下、図１を用い、図２または図３に沿って、本実施形態におけるデータ書込処理について説明する。ここでは、スキャナにより読み込まれた画像データをプリンタにより印刷出力するコピー動作を一例として説明する。
なお、図２には、圧縮前のデータをＨＤＤ１５に書き込む場合の処理の流れが矢印の太線で示されており、図３には、圧縮後のデータをＨＤＤ１５に書き込む場合の処理の流れが矢印の太線で示されている。
【００２６】
まず、スキャナなどによりデータ（画像データ）が入力されると、エンジンコントローラＢ３は、その入力データをＰＣＩインタフェース７へ出力する。このとき、ＰＣＩインタフェース７は、入力データのデータ量（圧縮前のデータ量Ｓ０）を検出して保持する。
メモリコントローラ８は、ＰＣＩインタフェース７からデータを読み出して、メモリ１４に転送し、一時格納させる（ステップＳ１０１）。
【００２７】
次に、メモリコントローラ８は、メモリ１４へのデータ転送が完了したか否かを判断する（ステップＳ１０２）。
データのメモリ１４への転送が完了していないと判断された場合（ステップＳ１０２／Ｎｏ）、ステップＳ１０２の処理が繰り返される。
【００２８】
データのメモリ１４への転送が完了したと判断された場合（ステップＳ１０２／Ｙｅｓ）、メモリコントローラ８は、メモリ１４に格納されたデータをＤＭＡ転送にて圧縮回路１１へ転送する。圧縮回路１１は、転送されたデータの圧縮処理を行う。このとき、圧縮回路１１は、圧縮後のデータ量Ｓ１を検出して保持（レジスト）する。
メモリコントローラ８は、ＡＧＰインタフェース１０、ノースブリッジ２を介してメモリ５へ連動転送し、ノースブリッジ２に対してＡＧＰインタフェース１０から割り込み出力する（ステップＳ１０３）。
【００２９】
次に、メモリコントローラ８は、メモリ５へのデータ転送が完了したか否かを判断する（ステップＳ１０４）。
データのメモリ５への転送が完了していないと判断された場合（ステップＳ１０４／Ｎｏ）、ステップＳ１０４の処理が繰り返される。
【００３０】
メモリ５へのデータ転送が完了したと判断された場合（ステップＳ１０４／Ｙｅｓ）、メモリコントローラ８は、ノースブリッジ２を介してプロセッサ１へ割り込み信号を出力する。プロセッサ１は、割り込み信号入力に応じて、圧縮回路１１に格納されている圧縮後のデータ量Ｓ１と、ＰＣＩインタフェース７に格納されている圧縮前のデータ量Ｓ０とを読み出して（ステップＳ１０５）、圧縮後のデータ量Ｓ１が、圧縮前のデータ量Ｓ０以上であるか否かを判断する（ステップＳ１０６）。
【００３１】
圧縮後のデータ量Ｓ１が圧縮前のデータ量Ｓ０以上であると判断された場合（ステップＳ１０６／Ｙｅｓ）、プロセッサ１は、圧縮前のデータをＨＤＤ１５へ書き込むようにＤＭＡ転送の設定を行う。
メモリコントローラ８は、上記のＤＭＡ転送設定に基づいてメモリ１４から圧縮前のデータを読み出し、ＨＤＣ９へ出力する。ＨＤＣ９は、入力された圧縮前のデータをＨＤＤ１５へ書き込む（ステップＳ１０７）。
【００３２】
圧縮後のデータ量Ｓ１が圧縮前のデータ量Ｓ０未満であると判断された場合（ステップＳ１０６／Ｎｏ）、プロセッサ１は、圧縮後のデータをＨＤＤ１５へ書き込むようにＤＭＡ転送の設定を行う。
メモリコントローラ８は、上記のＤＭＡ転送設定に基づいて、ノースブリッジ２、ＡＧＰインタフェース１０を介してメモリ５から圧縮後のデータを読み出し、ＨＤＣ９へ出力する。ＨＤＣ９は、入力された圧縮前のデータをＨＤＤ１５へ書き込む（ステップＳ１０８）。
以上で、本実施形態におけるデータ処理システムによるデータ書込処理を終了する。
【００３３】
以上説明したように、本実施形態によれば、プロセッサ１は、圧縮前のデータ量と圧縮後のデータ量とを比較し、データ量の小さいデータをＨＤＤ１５に書き込む。
従って、データ量の小さなデータがバックアップとしてＨＤＤ１５に格納されるため、データ書込時における処理時間の短縮およびＨＤＤ１５などの記憶領域のリソースの有効利用を実現することが可能となる。
【００３４】
また、本実施形態によれば、圧縮したデータは、メモリ１４に戻さずに他のメモリ（メモリ５）へ転送される。
従って、データ圧縮効果がないにもかかわらず、圧縮後のデータが、圧縮前のデータが格納されているメモリ１４へライトバックされる無駄な処理を回避することが可能となる。また、メモリ不良が生じた場合におけるリスクを分散することが可能となる。
【００３５】
（第２の実施形態）
本実施形態における第２のデータ圧縮方式では、入力インタフェースから入力されるデータをメモリへ書き込むと同時に、試験用の圧縮回路において圧縮処理を行う。ただし、圧縮したデータをメモリに書き込まずに、データ圧縮量の計算のみを実行する。
ＣＰＵは、計算された結果に基づいて圧縮／比圧縮を判断する。圧縮しないと方が良いと判断された場合、ＣＰＵは、メモリからそのまま記憶装置に書き込む。圧縮した方が良いと判断された場合、ＣＰＵは、メモリから圧縮回路に読み込ませて圧縮し、その結果をメモリに戻し、圧縮後のデータを記憶装置に書き込む。
このように、本実施形態では、データ入力時に試験的に圧縮してその圧縮効果を判断するため、圧縮処理後にデータ量が増加してしまったデータの書込処理を回避することができ、データ書込時における処理時間の短縮、およびハードディスク、メモリなどの記憶領域のリソースの有効利用を実現することが可能となる。
【００３６】
以下、特記しない限り、本実施形態における構成および動作は、本発明の第１の実施形態と同様であるとして説明を進める。
【００３７】
図４は、本発明の第２の実施形態におけるデータ処理システムの概略構成を示す図である。以下、図４を用いて、本実施形態におけるデータ処理システムの構成について説明する。
【００３８】
なお、図４において、図１と同符号のものは、第１の実施形態と同様の構成および機能を有し、同様の動作を行うものとして説明を省略する。
【００３９】
図４に示されているように、本実施形態におけるコントローラＢ２は、さらに圧縮回路１６を有する。
圧縮回路１６は、ＰＣＩインタフェース７およびメモリコントローラ８とそれぞれ接続されている。圧縮回路１６は、ＰＣＩインタフェース７に入力されたデータの圧縮処理を行う。また、圧縮回路１６は、圧縮後のデータ量Ｓ２を検出し、保持する。
【００４０】
また、ＡＧＰインタフェース１０と圧縮回路１１とは、直接接続されておらず、メモリコントローラ８を介して接続されている。
【００４１】
図５および図６は、本発明の第２の実施形態におけるデータ処理システムによるデータ書込処理の流れを示すフローチャートである。以下、図４を用い、図５または図６に沿って、本実施形態におけるデータ書込処理について説明する。ここでは、スキャナにより読み込まれた画像データをプリンタにより印刷出力するコピー動作を一例として説明する。
なお、図５には、圧縮前のデータをＨＤＤ１５に書き込む場合の処理の流れが矢印の太線で示されており、図６には、圧縮後のデータをＨＤＤ１５に書き込む場合の処理の流れが矢印の太線で示されている。
【００４２】
まず、スキャナなどによりデータ（画像データ）が入力されると、エンジンコントローラＢ３は、その入力データをＰＣＩインタフェース７へ出力する。このとき、ＰＣＩインタフェース７は、入力データのデータ量（圧縮前のデータ量Ｓ０）を検出して保持する。
メモリコントローラ８は、ＰＣＩインタフェース７からデータを読み出して、メモリ１４に転送し、一時格納させる。
上記の処理と並行して、圧縮回路１６は、ＰＣＩインタフェース７から入力データを読み出し、圧縮処理を行う。圧縮回路１１は、その圧縮後のデータ量Ｓ２を検出し、保持する。圧縮回路１１は、データ量検出後の圧縮後のデータをどこにも出力せずに、消去（廃棄）する（ステップＳ２０１）。
【００４３】
次に、メモリコントローラ８は、メモリ１４へのデータ転送が完了したか否かを判断する（ステップＳ２０２）。
データのメモリ１４への転送が完了していないと判断された場合（ステップＳ２０２／Ｎｏ）、ステップＳ２０２の処理が繰り返される。
【００４４】
データのメモリ１４への転送が完了したと判断された場合（ステップＳ２０２／Ｙｅｓ）、メモリコントローラ８は、ノースブリッジ２を介してプロセッサ１へ割り込み信号を出力する。プロセッサ１は、割り込み信号入力に応じて、圧縮回路１６に格納されている圧縮後のデータ量Ｓ２と、ＰＣＩインタフェース７に格納されている圧縮前のデータ量Ｓ０とを読み出して（ステップＳ２０３）、圧縮後のデータ量Ｓ２が、圧縮前のデータ量Ｓ０以上であるか否かを判断する（ステップＳ２０４）。
【００４５】
圧縮後のデータ量Ｓ２が圧縮前のデータ量Ｓ０以上であると判断された場合（ステップＳ２０４／Ｙｅｓ）、プロセッサ１は、圧縮前のデータをＨＤＤ１５へ書き込むようにＤＭＡ転送の設定を行う。
メモリコントローラ８は、上記のＤＭＡ転送設定に基づいてメモリ１４から圧縮前のデータを読み出し、ＨＤＣ９へ出力する。ＨＤＣ９は、入力された圧縮前のデータをＨＤＤ１５へ書き込む（ステップＳ２０５）。
【００４６】
圧縮後のデータ量Ｓ２が圧縮前のデータ量Ｓ０未満であると判断された場合（ステップＳ２０４／Ｎｏ）、プロセッサ１は、圧縮後のデータをＨＤＤ１５へ書き込むようにＤＭＡ転送の設定を行う。
メモリコントローラ８は、上記のＤＭＡ転送設定に基づいて、メモリ１４からデータを読み出して、圧縮回路１１へＤＭＡ転送する。圧縮回路１１は、転送されたデータを圧縮する。メモリコントローラ８は、その圧縮後のデータをメモリ１４へ書き込む（ステップＳ２０６）。
【００４７】
次に、メモリコントローラ８は、メモリ１４へのデータ転送が完了したか否かを判断する（ステップＳ２０７）。
データのメモリ１４への転送が完了していないと判断された場合（ステップＳ２０７／Ｎｏ）、ステップＳ２０７の処理が繰り返される。
【００４８】
データのメモリ１４への転送が完了したと判断された場合（ステップＳ２０７／Ｙｅｓ）、メモリコントローラ８は、上記のＤＭＡ転送設定に基づいて、メモリ１４から圧縮後のデータを読み出し、ＨＤＣ９へ出力する。ＨＤＣ９は、入力された圧縮前のデータをＨＤＤ１５へ書き込む（ステップＳ２０８）。
以上で、本実施形態におけるデータ処理システムによるデータ書込処理を終了する。
【００４９】
以上説明したように、本実施形態によれば、入力データのメモリ１４への書込処理と並行して、データ圧縮処理および圧縮量検出処理が行われ、圧縮量が検出された圧縮後のデータは廃棄される。圧縮後のデータをＨＤＤ１５に書き込むと判断されたされた場合のみ、再度圧縮処理を行う。
従って、圧縮されることによりデータ量が増加してしまった圧縮後のデータを格納するといった不要な処理を削減することにより、データ書込時における処理時間の短縮と、ＨＤＤ１５、メモリ５、１４などの記憶領域および圧縮回路１１のリソースと、に対する有効利用を実現することが可能となる。
【００５０】
（第３の実施形態）
本実施形態における第３のデータ圧縮方式は、第１のデータ圧縮方式と第２のデータ圧縮方式とを組み合わせたものである。入力時の圧縮処理を実行してもよいデータの場合は第２のデータ圧縮方式を使えばより効果的であるし、入力されてからデータを加工（例えば回転など）してから圧縮する場合は第１のデータ圧縮方式を使えばよい。
このことにより、データに対する加工指示の有無に応じたデータ圧縮・書込処理を実現する柔軟なデータ処理システムを構築できる。
【００５１】
以下、特記しない限り、本実施形態における構成および動作は、本発明の第１の実施形態と同様であるとして説明を進める。
【００５２】
図７は、本発明の第３の実施形態におけるデータ処理システムの概略構成を示す図である。以下、図７を用いて、本実施形態におけるデータ処理システムの構成について説明する。
【００５３】
なお、図７において、図１と同符号のものは、第１の実施形態と同様の構成および機能を有し、同様の動作を行うものとして説明を省略する。
【００５４】
図７に示されているように、本実施形態におけるコントローラＢ２は、さらに圧縮回路１６を有する。
圧縮回路１６は、ＰＣＩインタフェース７およびメモリコントローラ８とそれぞれ接続されている。圧縮回路１６は、ＰＣＩインタフェース７に入力されたデータの圧縮処理を行う。また、圧縮回路１６は、圧縮後のデータ量Ｓ２を検出し、保持する。
【００５５】
図８は、本発明の第３の実施形態におけるデータ処理システムによるデータ書込処理の流れを示すフローチャートである。以下、図７を用い、図８に沿って、本実施形態におけるデータ書込処理について説明する。ここでは、スキャナにより読み込まれた画像データをプリンタにより印刷出力するコピー動作を一例として説明する。
【００５６】
まず、ＰＣＩインタフェース７は、エンジンコントローラＢ３からデータを受け取ると、そのデータに対する回転などのデータ加工の指示の有無を示す加工指示情報を検出して保持する（ステップＳ３０１）。
【００５７】
次に、メモリコントローラ８は、ＰＣＩインタフェース７から加工指示情報を読み出して、ＰＣＩインタフェース７に入力されたデータに対して加工が指示されているか否かを判断する（ステップＳ３０２）。
【００５８】
入力データに対して加工が指示されていると判断された場合（ステップＳ３０２／Ｙｅｓ）、図２または図３のステップＳ１０１へ移行する。
【００５９】
また、入力データに対して加工が指示されていないと判断された場合（ステップＳ３０２／Ｎｏ）、図５または図６のステップＳ２０１へ移行する。
【００６０】
以上説明したように、本実施形態によれば、エンジンコントローラＢ３からの入力データに対して何も加工しないと判断された場合、第２の実施形態の処理系によりデータ圧縮・書込を行う。
このことにより、圧縮されることによりデータ量が増加してしまった圧縮後のデータを格納するといった不要な処理を削減することにより、データ書込時における処理時間の短縮と、ＨＤＤ１５、メモリ５、１４などの記憶領域および圧縮回路１１のリソースと、に対する有効利用を実現することが可能となる。
【００６１】
また、本実施形態によれば、エンジンコントローラＢ３からの入力データに対して例えば回転などの加工を行うと判断された場合、第１の実施形態の処理系を使ってデータ圧縮・書込を行う。
このことにより、圧縮後のデータをメモリ１４に戻さすに他のメモリ（ここではメモリ５）へ転送することでメモリ１４へのリスク回避が可能となる。
【００６２】
（実施形態のまとめ）
なお、上記第１乃至第３の実施形態では、プロセッサ１は、メモリ１４に蓄積されている圧縮前データか、メモリ５に蓄積されている圧縮後データのうち、データ量の少ないデータを選択していたが、圧縮後のデータ量が所定値以上の場合に圧縮前のデータを選択し、所定値未満の場合に圧縮後のデータを選択するとしてもよい。また、プロセッサ１は、他の選択基準に基づいてＨＤＤ１５に書き込むデータを選択するとしてもよい。
【００６３】
また、上記の処理は、データ処理システムが有するコンピュータプログラムにより実行されるが、上記のプログラムは、光記録媒体、磁気記録媒体、光磁気記録媒体、または半導体等の記録媒体に記録され、上記の記録媒体からロードされるようにしてもよいし、所定のネットワークを介して接続されている外部機器からロードされるようにしてもよい。
【００６４】
なお、上記の実施形態は本発明の好適な実施の一例であり、本発明の実施形態は、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形して実施することが可能となる。
【００６５】
【発明の効果】
以上説明したように、本発明によれば、データ圧縮・書込処理時における処理時間の軽減およびリソースの有効活用を実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態におけるデータ処理システムの概略構成を示す図である。
【図２】本発明の第１の実施形態におけるデータ処理システムによるデータ書込処理の流れを示すフローチャートである。
【図３】本発明の第１の実施形態におけるデータ処理システムによるデータ書込処理の流れを示すフローチャートである。
【図４】本発明の第２の実施形態におけるデータ処理システムの概略構成を示す図である。
【図５】本発明の第２の実施形態におけるデータ処理システムによるデータ書込処理の流れを示すフローチャートである。
【図６】本発明の第２の実施形態におけるデータ処理システムによるデータ書込処理の流れを示すフローチャートである。
【図７】本発明の第３の実施形態におけるデータ処理システムの概略構成を示す図である。
【図８】本発明の第３の実施形態におけるデータ処理システムによるデータ書込処理の流れを示すフローチャートである。
【符号の説明】
１  プロセッサ（ＣＰＵ）
２  ノースブリッジ
３  サウスブリッジ
４  Ｉ／Ｏ系デバイス
５、１４  メモリ
６  ＢＩＯＳ
７  ＰＣＩインタフェース
８  メモリコントローラ
９  ＨＤＣ
１０  ＡＧＰインタフェース
１１、１６  圧縮回路
１２  伸長回路
１３  回転回路
１５  ＨＤＤ
Ｂ１  マザーボード
Ｂ２  コントローラ
Ｂ３  エンジンコントローラ
Ｓ０  圧縮前のデータ量
Ｓ１、Ｓ２  圧縮後のデータ量
【図１】
2005005903.tif 000003
【図２】
2005005903.tif 000004
【図３】
2005005903.tif 000005
【図４】
2005005903.tif 000006
【図５】
2005005903.tif 000007
【図６】
2005005903.tif 000008
【図７】
2005005903.tif 000009
【図８】
2005005903.tif 000010