(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
ファイルを圧縮して書き込む技術においては、ファイルを圧縮して書き込む技術において、ファイル書き込み前に書き込みエラーとなるか否かを判断する正確性を上げることが望まれる。
【課題を解決するための手段】
【0005】
本開示の一形態に係る情報処理装置は、
書き込み対象のファイルを圧縮し、前記圧縮後のファイルを記憶領域に書き込む圧縮書込部と、
書き込み済みの1以上の圧縮後のファイルのファイルサイズの合計値である合計ファイルサイズを算出し、
前記書き込まれた圧縮後のファイルのファイルサイズである圧縮後ファイルサイズと、前記合計ファイルサイズとの加算値で、前記合計ファイルサイズを更新する
合計ファイルサイズ算出部と
を具備する。
【0006】
本形態によれば、(圧縮前ではなく)圧縮後のファイルの合計ファイルサイズを算出する。従って合計ファイルサイズ(の情報)と、記憶領域中で実際に書き込まれた領域との差異が小さい。
【0007】
本開示の一形態に係る情報処理方法は、
書き込み対象のファイルを圧縮し、前記圧縮後のファイルを記憶領域に書き込み、
書き込み済みの1以上の圧縮後のファイルのファイルサイズである合計ファイルサイズを算出し、
前記書き込まれた圧縮後のファイルのファイルサイズである圧縮後ファイルサイズと、前記合計ファイルサイズとの加算値で、前記合計ファイルサイズを更新する。
【発明の効果】
【0008】
本開示によれば、ファイルを圧縮して書き込む技術において、ファイル書き込み前に書き込みエラーとなるか否かを判断する正確性を上げることができる。
【0009】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本開示の実施形態を説明する。
【0012】
本実施形態では、情報処理装置として、画像形成装置(Multifunction Peripheral、以下単にMFPと呼ぶ)を一例に説明する。
【0013】
1.画像形成装置のハードウェア構成
図1は、本開示の一実施形態に係る画像形成装置のハードウェア構成を示す。
【0014】
MFP10は、制御部11を備える。制御部11は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)及び専用のハードウェア回路等から構成され、MFP10の全体的な動作制御を司る。MFP10を各機能部(後述)として機能させるコンピュータプログラムは、ROM等の非一過性のコンピューター読み取り可能な記憶媒体に記憶される。
【0015】
制御部11は、画像読取部12、画像処理部14、画像メモリー15、画像形成部16、操作部17、記憶部18、ネットワーク通信部13等と接続されている。制御部11は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。
【0016】
制御部11は、ユーザーから、操作部17またはネッワーク接続されたパーソナルコンピュータ(図示せず)等を通じて入力されるジョブの実行指示に従って、スキャナー機能、印刷機能及びコピー機能機能などの各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。
【0017】
画像読取部12は、原稿から画像を読み取る。
【0018】
画像処理部14は、画像読取部12で読み取られた画像の画像データを必要に応じて画像処理する。例えば、画像処理部14は、画像読取部12により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
【0019】
画像メモリー15は、画像読取部12による読み取りで得られた原稿画像のデータを一時的に記憶したり、画像形成部16での印刷対象となるデータを一時的に記憶したりする領域を有する。
【0020】
画像形成部16は、画像読取部12で読み取られた画像データ等の画像形成を行う。
【0021】
操作部17は、MFP10が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたLCD(Liquid Crystal Display)等の表示部17aを備えている。
【0022】
ネットワーク通信部13は、ネットワークに接続するためのインタフェースである。
【0023】
記憶部18は、画像読取部12によって読み取られた原稿画像等を記憶する、HDD(Hard Disk Drive)などの大容量の記憶装置である。
【0024】
2.画像形成装置の機能的構成
図2は、画像形成装置の機能的構成を示す。
【0025】
MFP10は、コンピューター読み取り可能な非一過性の記憶媒体の一例であるROMに記憶された情報処理プログラムをRAMにロードして実行することで、上限判断部101、合計ファイルサイズ算出部102、圧縮書込部103、圧縮率算出部104、予想圧縮率算出部105及び予想ファイルサイズ算出部106として機能する。
【0026】
合計ファイルサイズ算出部102は、書き込み済みの複数の圧縮後のファイルのファイルサイズの合計値(「合計ファイルサイズ」と呼ぶ)を算出し、書き込まれた圧縮後のファイルのファイルサイズ(「圧縮後ファイルサイズ」と呼ぶ)と、合計ファイルサイズとの加算値で、合計ファイルサイズを更新する。
【0027】
上限判断部101は、これから書き込まれる(書き込み対象の)圧縮前のファイルのファイルサイズ(「圧縮前ファイルサイズ」と呼ぶ)と、合計ファイルサイズとの加算値が、記憶領域の上限サイズより大きいか否かを判断する。
【0028】
圧縮書込部103は、書き込み対象のファイルを圧縮し、圧縮後のファイルを記憶領域に書き込む。
【0029】
圧縮率算出部104は、圧縮前ファイルサイズと圧縮後ファイルサイズとに基づき、圧縮後のファイルの圧縮率を算出する。
【0030】
予想圧縮率算出部105は、既に書き込み済みの複数の圧縮後のファイルの複数の圧縮率に基づき、圧縮前の書き込み対象のファイルの予想圧縮率を算出する。
【0031】
予想ファイルサイズ算出部106は、書き込み対象のファイルを、予想圧縮率算出部105が算出した予想圧縮率に基づき圧縮したときの圧縮後ファイルサイズ(「予想ファイルサイズ」と呼ぶ)を算出する。
【0032】
合計ファイルサイズ、記憶領域の上限サイズ、圧縮後のファイル、圧縮率及び予想圧縮率のうち、少なくとも、合計ファイルサイズ及び圧縮率は、不揮発性メモリーに記憶される。
【0033】
3.画像形成装置の動作フロー
図3は、画像形成装置の動作フローを示す。
【0034】
前提として、MFP10の記憶領域内で特定の種類のデータファイルを書き込み可能とする上限サイズが予め決まっている。MFP10のOS(Operating System)には、この特定の種類のデータファイルを書き込む際、書き込み対象のファイルを圧縮し、圧縮後のファイルを記憶領域に書き込む機能が組み込まれている。「特定の種類のデータファイル」は、例えば、アプリケーション実行ファイル等、ユーザーの設定により事後的に追加されるソフトウェアに関するファイルであり、常時記憶されているファームウェア情報等は除外する。
【0035】
また、前提として、合計ファイルサイズ算出部102は、既に書き込み済みの複数の圧縮後のファイルのファイルサイズの合計値(「合計ファイルサイズ」と呼ぶ)を算出済みである。具体的には、合計ファイルサイズ算出部102は、圧縮後のファイルが書き込まれる度に、書き込まれた圧縮後のファイルのファイルサイズ(「圧縮後ファイルサイズ」と呼ぶ)と、合計ファイルサイズとの加算値で、合計ファイルサイズを更新する。この合計ファイルサイズ算出部102による合計ファイルサイズを更新する方法は、後で詳細に説明する。
【0036】
ファイル(未圧縮)の書き込みが命令されると、上限判断部101は、これから書き込まれる(書き込み対象の)圧縮前のファイルのファイルサイズ(「圧縮前ファイルサイズ」と呼ぶ)と、合計ファイルサイズとの加算値が、記憶領域の上限サイズより大きいか否かを判断する(ステップS101)。
【0037】
上限判断部101が、圧縮前ファイルサイズと合計ファイルサイズとの加算値(第1の加算値)が、上限サイズ以下と判断すると(ステップS101、NO)、合計ファイルサイズ算出部102は、圧縮後のファイルを書き込む前に、圧縮前ファイルサイズと合計ファイルサイズとの加算値(第1の加算値)で、合計ファイルサイズを更新する(ステップS102)。これにより、圧縮前ファイルサイズと合計ファイルサイズとの加算値(第1の加算値)が合計ファイルサイズとして不揮発メモリーに記憶される。
【0038】
合計ファイルサイズを更新した後に、圧縮書込部103は、書き込み対象のファイルを圧縮し、圧縮後のファイルを記憶領域に書き込む(ステップS103)。
【0039】
圧縮後のファイルを書き込んだ後に、合計ファイルサイズ算出部102は、書き込み(ステップS103)により増加した記憶領域のサイズ(「増加サイズ」と呼ぶ)を算出する。合計ファイルサイズ算出部102は、増加サイズと現在の合計ファイルサイズ(すなわち、圧縮前ファイルサイズと合計ファイルサイズとの加算値(第1の加算値)で更新された合計ファイルサイズ)との加算値(第2の加算値)で、合計ファイルサイズを更新する。これにより、圧縮前ファイルサイズと合計ファイルサイズとの加算値(第1の加算値)で更新された合計ファイルサイズに増加サイズを加算した値(第2の加算値)が合計ファイルサイズとして不揮発メモリーに記憶される。次いで、合計ファイルサイズ算出部102は、更新後の合計ファイルサイズ(第2の加算値)から、圧縮前ファイルサイズ(ステップS102で加算した値)を減算することで、合計ファイルサイズを更新する(ステップS104)。
【0040】
要するに、合計ファイルサイズ算出部102は、(
図3に示す動作フローの開始時の合計ファイルサイズ+圧縮前ファイルサイズ+増加サイズ−圧縮前ファイルサイズ)を算出することで(ステップS102、S104)、結果として、(
図3に示す動作フローの開始時の合計ファイルサイズ+増加サイズ)を算出する。最終的に、合計ファイルサイズ算出部102は、算出した(
図3に示す動作フローの開始時の合計ファイルサイズ+増加サイズ)で、合計ファイルサイズを更新する。
【0041】
合計ファイルサイズを更新した後に、圧縮率算出部104は、圧縮前ファイルサイズと圧縮後ファイルサイズとに基づき、圧縮後のファイルの圧縮率を算出する(ステップS105)。
【0042】
一方、上限判断部101が、圧縮前ファイルサイズと合計ファイルサイズとの加算値(第1の加算値)が、上限サイズより大きいと判断すると(ステップS101、YES)、予想圧縮率算出部105は、既に書き込み済みの複数の圧縮後のファイルの複数の圧縮率に基づき、圧縮前の書き込み対象のファイルの予想圧縮率を算出する(ステップS106)。例えば、予想圧縮率算出部105は、既に書き込み済みの複数の圧縮後のファイルの複数の圧縮率のうち、最低圧縮率に基づき、圧縮前の書き込み対象のファイルの予想圧縮率を算出する。単に一例として、予想圧縮率算出部105は、最低圧縮率を予想圧縮率としてもよい。別の一例として、予想圧縮率算出部105は、バラツキを考慮して(最低圧縮率−標準偏差、平均圧縮率−3×標準偏差など)を予想圧縮率としてもよい。
【0043】
予想ファイルサイズ算出部106は、書き込み対象のファイルを、予想圧縮率算出部105が算出した予想圧縮率に基づき圧縮したときの圧縮後ファイルサイズ(「予想ファイルサイズ」と呼ぶ)を算出する(ステップS107)。
【0044】
上限判断部101は、予想ファイルサイズ算出部106が算出した予想ファイルサイズと合計ファイルサイズとの加算値(第3の加算値)が、上限サイズより大きいか否かを判断する(ステップS108)。
【0045】
上限判断部101が、予想ファイルサイズと合計ファイルサイズとの加算値(第3の加算値)が、上限サイズより大きいと判断すると(ステップS108、YES)、圧縮後のファイルを記憶領域に書き込むことが出来ない可能性が高く、サイズオーバーのためエラーとなる(ステップS109)。
【0046】
一方、上限判断部101が、予想ファイルサイズと合計ファイルサイズとの加算値(第3の加算値)が、上限サイズ以下と判断すると(ステップS108、NO)、合計ファイルサイズ算出部102は、圧縮後のファイルを書き込む前に、予想ファイルサイズと合計ファイルサイズとの加算値(第3の加算値)で、合計ファイルサイズを更新する(ステップS110)。これにより、予想ファイルサイズと合計ファイルサイズとの加算値(第3の加算値)が合計ファイルサイズとして不揮発メモリーに記憶される。
【0047】
合計ファイルサイズを更新した後に、圧縮書込部103は、書き込み対象のファイルを圧縮し、圧縮後のファイルを記憶領域に書き込む(ステップS111。ステップS103と完全同一)。
【0048】
圧縮後のファイルを書き込んだ後に、合計ファイルサイズ算出部102は、書き込み(ステップS111)により増加した記憶領域の増加サイズを算出する。合計ファイルサイズ算出部102は、増加サイズと現在の合計ファイルサイズ(すなわち、予想ファイルサイズと合計ファイルサイズとの加算値(第3の加算値)で更新された合計ファイルサイズ)との加算値(第4の加算値)で、合計ファイルサイズを更新する。これにより、予想ファイルサイズと合計ファイルサイズとの加算値(第3の加算値)で更新された合計ファイルサイズに増加サイズを加算した値(第4の加算値)が合計ファイルサイズとして不揮発メモリーに記憶される。次いで、合計ファイルサイズ算出部102は、更新後の合計ファイルサイズ(第4の加算値)から、予想ファイルサイズ(ステップS110で加算した値)を減算することで、合計ファイルサイズを更新する(ステップS112)。
【0049】
要するに、合計ファイルサイズ算出部102は、(
図3に示す動作フローの開始時の合計ファイルサイズ+予想ファイルサイズ+増加サイズ−予想ファイルサイズ)を算出することで(ステップS110、S112)、結果として、(
図3に示す動作フローの開始時の合計ファイルサイズ+増加サイズ)を算出する。最終的に、合計ファイルサイズ算出部102は、算出した(
図3に示す動作フローの開始時の合計ファイルサイズ+増加サイズ)で、合計ファイルサイズを更新する。
【0050】
合計ファイルサイズを更新した後に、圧縮率算出部104は、圧縮前ファイルサイズと圧縮後ファイルサイズとに基づき、圧縮後のファイルの圧縮率を算出する(ステップS113。ステップS105と完全同一)。
【0051】
4.まとめ
MFPの記憶領域内で特定の種類のデータファイルを書き込み可能とする上限サイズが予め決まっている。MFPのOSには、この特定の種類のデータファイルを書き込む際、書き込み対象のファイルを圧縮し、圧縮後のファイルを記憶領域に書き込む機能が組み込まれている。このような圧縮書込システムでは、ユーザーは、圧縮後のファイルサイズを把握できない。圧縮後のファイルサイズを把握できないと、圧縮後のファイルが記憶領域に収まる(書き込み可能)かどうかを、ユーザーは書き込み前に把握できない。圧縮後のファイルが記憶領域に収まる(書き込み可能)かどうかを把握することは、例えば、ユーザーが論理的に記憶領域を分割して記憶領域のサイズを管理する際の助けとなる。そこで、ファイルの圧縮書込前に、ユーザーが記憶領域の上限サイズに基づきファイルを書き込み可能か否かをチェックすることが考えられる。しかし、ユーザーは、ファイルの圧縮書込前に、圧縮後のファイルのファイルサイズを把握できない。このため、ユーザーは、圧縮前のファイルのファイルサイズが、ユーザーが記憶領域の上限サイズに収まるか否かをチェックするしかない。しかし、圧縮前のファイルのファイルサイズが記憶領域の上限サイズを超える場合、圧縮後のファイルが記憶領域に収まる(本来は書き込み可能)場合であっても、サイズオーバーによるエラーとして書き込みが出来ないおそれがある。
【0052】
そこで、本実施形態では、合計ファイルサイズ算出部102は、書き込み済みの複数の圧縮後のファイルのファイルサイズの合計値(合計ファイルサイズ)を算出し、書き込まれた圧縮後のファイルのファイルサイズ(圧縮後ファイルサイズ)と、合計ファイルサイズとの加算値で、合計ファイルサイズを更新する(ステップS102及びS104、ステップS110及びS112)。上限判断部101は、ファイルを書き込む前に、圧縮前の書き込み対象のファイルのファイルサイズ(圧縮前ファイルサイズ)と合計ファイルサイズとの加算値が、上限サイズより大きい場合(ステップS101、NO)、書き込み対象のファイルを予想圧縮率に基づき圧縮したときの圧縮後ファイルサイズ(予想ファイルサイズ)と合計ファイルサイズとの加算値が、上限サイズより大きいか否かを判断する(ステップS108)。
【0053】
また、本実施形態によれば、合計ファイルサイズ算出部102は、複数の圧縮後のファイルのファイルサイズの合計値(合計ファイルサイズ)を算出する。また、上限判断部101は、圧縮前ファイルサイズでは書き込み不可(サイズオーバーによる書き込みエラー)になる場合、圧縮後の予想ファイルサイズに基づき書き込み可能か否かを判断する。このように、(圧縮前ではなく)圧縮後のファイルの合計ファイルサイズ及び圧縮後の予想ファイルサイズに基づき上限を判断する。従って合計ファイルサイズ(の情報)と、記憶領域中で実際に書き込まれた領域との差異を小さくすることができる。これにより、書き込み不可(サイズオーバーによる書き込みエラー)を判断する正確性が増し、圧縮後のファイルを本来書き込みできるにも拘らず書き込み不可(サイズオーバーによる書き込みエラー)となる可能性を減らすことができる。
【0054】
本実施形態では、合計ファイルサイズ算出部102は、具体的には以下の様に、合計ファイルサイズを更新する。合計ファイルサイズ算出部102は、圧縮後のファイルを書き込む前に、圧縮前ファイルサイズ(又は予想ファイルサイズ)と合計ファイルサイズとの加算値で、合計ファイルサイズを更新する(ステップS102又はS110)。圧縮後のファイルを書き込んだ後に(ステップS103又はS111)、合計ファイルサイズ算出部102は、書き込みにより増加した前記記憶領域のサイズである増加サイズを算出し、増加サイズと合計ファイルサイズとの加算値で、合計ファイルサイズを更新し、更新後の合計ファイルサイズから圧縮前ファイルサイズ(又は予想ファイルサイズ)を減算することで、合計ファイルサイズを更新する(ステップS104又はS112)。
【0055】
ステップS102又はS110を行わずに、圧縮後のファイルを書き込んだ後に、単に、増加サイズと合計ファイルサイズとの加算値で、合計ファイルサイズを更新すると仮定する。この場合、例えば、圧縮後のファイルを書き込み中、又は、書き込み後であって合計ファイルサイズを更新する前に、MFPの電源が断たれ、結果として、合計ファイルサイズが更新されなかった(増加サイズが加算されなかった)とする。その場合、圧縮後のファイルの少なくとも一部が書き込まれたにも拘らず、合計ファイルサイズが更新されない(増加サイズが加算されない)ため、合計ファイルサイズ(の情報)と、記憶領域中で実際に書き込まれた領域との差異が大きくなる。このため、次にファイルを書き込む際に、実際の合計ファイルサイズよりも小さい合計ファイルサイズに基づき、上限サイズが判断されることとなる。その結果、実際には圧縮後のファイルを書き込めない(サイズオーバーによる書き込みエラー)にも拘らず、書き込みが開始されるおそれがある。
【0056】
これに対して、本実施形態によれば、圧縮後のファイルを書き込む前に、圧縮前ファイルサイズ(又は予想ファイルサイズ)と合計ファイルサイズとの加算値で、合計ファイルサイズを更新する(ステップS102又はS110)。圧縮後のファイルを書き込み中又は書き込み後に、MFPの電源が断たれ、結果として、合計ファイルサイズがさらに更新(ステップS104又はS112)されなかったとする。その場合でも、圧縮前ファイルサイズ(又は予想ファイルサイズ)が合計ファイルサイズに一応加算されているため、合計ファイルサイズ(の情報)と、記憶領域中で実際に書き込まれた領域との差異が小さくて済む。このため、次にファイルを書き込む際に、圧縮前ファイルサイズ(又は予想ファイルサイズ)が一応加算された合計ファイルサイズに基づき、上限サイズが判断されることとなる。その結果、実際には圧縮後のファイルを書き込めない(サイズオーバーによる書き込みエラー)にも拘らず、書き込みが開始されるおそれが減る。
【0057】
また、本実施形態によれば、圧縮率算出部104は、ファイルを書き込む度に、圧縮後のファイルの圧縮率を算出する(ステップS105又はS113)。予想圧縮率算出部105は、書き込み済みの複数の圧縮後のファイルの複数の圧縮率に基づき、予想圧縮率を算出する(ステップS106)。結果的に、書き込み済みの全ての圧縮後のファイルの全ての圧縮率に基づき、予想圧縮率を算出するので、正確な予想圧縮率を算出できる。具体的には、予想圧縮率算出部105は、全ての圧縮率のうち最低圧縮率に基づき、予想圧縮率を算出する。予想ファイルサイズ算出部106は、書き込み対象のファイルを、予想圧縮率(最低圧縮率に基づく)に基づき圧縮したときの、予想ファイルサイズを算出する(ステップS107)。最低圧縮率に基づくことにより、予想ファイルサイズは、予想できる最大のファイルサイズとなる。従って、実際には圧縮後のファイルを書き込めない(サイズオーバーによる書き込みエラー)にも拘らず、書き込みが開始されるおそれが減る。
【0058】
本技術の各実施形態及び各変形例について上に説明したが、本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。