(57)【要約】【課題】バッファを構成する最小単位であるモジュール単位毎にデータ管理することにより、ライト動作とリード動作の管理や制御を簡易にし、さらに、データの異常管理が発生したときに正常状態への復帰を容易にすること。【解決手段】撮像部、印刷部及び表示部を備えた画像形成装置に用いるデータバッファであって、データバッファは、画像処理で取り扱うデータを一時的に蓄える機能を有し、最小構成単位であるモジュールを縦続的に接続するように構成され、先頭のモジュールからデータを書き込みとともに後尾のモジュールからデータを読み出し、隣接するモジュール間でデータをシフト動作させるものであり、モジュール毎にデータが保持されているか否かをデータフラグで管理し、データフラグの管理によってデータバッファのシフト動作を制御する構成である。【選択図】図４
2005094677.tif 000002
【特許請求の範囲】
【請求項１】
撮像部、印刷部及び表示部を備えた画像形成装置に用いるデータバッファであって、
前記データバッファは、画像処理で取り扱うデータを一時的に蓄える機能を有し、最小構成単位であるモジュールを縦続的に接続するように構成され、
先頭のモジュールからデータを書き込みとともに後尾のモジュールからデータを読み出し、隣接するモジュール間でデータをシフト動作させるものであり、
前記モジュール毎にデータが保持されているか否かをデータフラグで管理し、
前記データフラグの管理によって前記データバッファの前記シフト動作を制御する
ことを特徴とするデータバッファ。
【請求項２】
請求項１に記載のデータバッファにおいて、
リード動作で前記後尾のモジュールからデータの読み出しが行われた場合、次のデータ書き込み時に前記後尾モジュールに保持されたデータを空にする
ことを特徴とするデータバッファ。
【請求項３】
請求項１に記載のデータバッファにおいて、
前記データのシフト動作は、後続するモジュールでデータ保持の無いことをデータフラグ管理で検知して実行する
ことを特徴とするデータバッファ。
【請求項４】
請求項１、２又は３に記載のデータバッファにおいて、
前記末尾のモジュールから前記先頭モジュールに向けて順にデータが保持されているとともに、前記データ保持のモジュールの次のモジュールから前記先頭モジュールに向けてデータ空のモジュールが存在する
ことを特徴とするデータバッファ。
【請求項５】
請求項４に記載のデータバッファにおいて、
前記データ保持のモジュールの次のモジュールから前記先頭モジュールまでデータ空のモジュールが存在する
ことを特徴とするデータバッファ。
【請求項６】
請求項４に記載のデータバッファにおいて、
前記末尾のモジュールから前記先頭モジュールの中間部のモジュールにデータ空のモジュールが存在する
ことを特徴とするデータバッファ。
【請求項７】
請求項１ないし６に記載のデータバッファを備えた画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばパーソナルコンピュータ（ＰＣ）に接続されて使用されるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）に代表されるような多機能画像処理装置に関し、特に、多機能画像処理装置に使用されるデバイス間のバッファにおけるデータ保持技術に関する。
【背景技術】
【０００２】
従来、画像形成装置はコピー、プリンタ、ＦＡＸ等の複合機能を有するデジタル複写機があり、このような複合複写機にはさまざまな加工処理やＨＤＤなどのローカルストレージからのデータを処理するためのバッファが数多く存在する。
【０００３】
このようなバッファは一時的にデータを処理し、処理後のデータを必要とする回路へ渡すもので、そのようなバッファとしてリングバッファを用いることが知られている（例えば、特許文献１を参照）。
【特許文献１】特開平０９−１９１３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来、引用文献１に開示されているように、デバイス間でデータの加工処理を行うために、データを一時的に蓄えておくものとしてリングバッファが知られている。このリングバッファは、デバイス間で速いデータ転送を行った場合にも転送に余裕がもてる程度の容量を持ち、且つシステムに依存した回路構成を取っている。
【０００５】
しかし、リングバッファはライトポインタの管理の元に順々にアクセスを行うので、一回データが書き込まれると自分の順番が来るまではそのデータを保持しなければならない。さらに、一回相手にデータが抜き取られても（データがリードされても）、次のライト要求が来るまでは、既に相手に抜き取られたデータを保持しなければならない（ライトポインタでデータ管理していて、次のライトポインタの位置からデータを書き込むから）。また、リングバッファはライトポインタとリードポインタで管理するシステムとなっているが、何らかの要因でポインタの位置がずれると、データの管理が不可能となってシステムを正常に復帰させることが困難である。
【０００６】
そこで、本発明の目的では、バッファを構成する最小単位（モジュール単位）毎にデータ管理する（ポインタ管理ではなくて）ことにより、ライト動作とリード動作の管理や制御を簡易にし、さらに、データの異常管理が発生したときに正常状態への復帰を容易にするデータバッファのデータ保持装置を提供することにある。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明は主として次のような構成を採用する。  
撮像部、印刷部及び表示部を備えた画像形成装置に用いるデータバッファであって、前記データバッファは、画像処理で取り扱うデータを一時的に蓄える機能を有し、最小構成単位であるモジュールを縦続的に接続するように構成され、先頭のモジュールからデータを書き込みとともに後尾のモジュールからデータを読み出し、隣接するモジュール間でデータをシフト動作させるものであり、前記モジュール毎にデータが保持されているか否かをデータフラグで管理し、前記データフラグの管理によって前記データバッファの前記シフト動作を制御する構成とする。
【０００８】
また、前記データバッファデータバッファにおいて、リード動作で前記後尾のモジュールからデータの読み出しが行われた場合、次のデータ書き込み時に前記後尾モジュールに保持されたデータを空にする構成とする。
【０００９】
また、前記データバッファにおいて、前記データのシフト動作は、後続するモジュールでデータ保持の無いことをデータフラグ管理で検知して実行する構成とする。
【００１０】
また、前記データバッファにおいて、前記末尾のモジュールから前記先頭モジュールに向けて順にデータが保持されているとともに、前記データ保持のモジュールの次のモジュールから前記先頭モジュールに向けてデータ空のモジュールが存在する構成とする。
【発明の効果】
【００１１】
本発明によれば、デバイス間におけるデータ処理のために必要とされるデータバッファにおいて、データ保持及びデータ保持のための管理に必要な記憶素子をを削減することが可能となる。さらに、この記憶素子の削減に伴って消費電力を削減することができる。
【００１２】
また、デバイス間の情報転送に支障を来たしたときでも正常状態に容易に復帰させることができる。また、データが読み出されるまでは、バッファの各モジュールのデータは新規の有効なデータであるので、効率良くデータ保持することができる。
【発明を実施するための最良の形態】
【００１３】
本発明の実施形態に係る画像形成装置について、図面を参照しながら以下詳細に説明する。図１は本発明の実施形態に係る画像形成装置の一例であるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）の全体構成の外観を示す図である。図２は画像形成装置におけるデバイス間のデータバッファとしてのリングバッファを説明する図であり、図３はリングバッファの機能を説明する図である。図４は本実施形態に係る画像形成装置に使用されるデータバッファとしてのＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）の機能を説明する図である。図５は本実施形態に関するデータバッファとしてのＦＩＦＯにおけるモジュール毎のデータ転送状況を示す図である。図６は本実施形態に関するＦＩＦＯのデータ保持状態をリングバッファと対比して説明する図である。図７は本実施形態に関するＦＩＦＯのモジュールに空きができた場合のデータ転送状態を示す図である。
【００１４】
図１に示すＭＦＰに適用される本発明の実施形態に関するデバイス間データバッファとして、まず、リングバッファを取り上げてデータバッファの保持状態の背景技術を説明する。図２はリングバッファの機能的な概略を示す図である。
【００１５】
リングバッファはどこまでバッファに書き込んだを示すライトポインタとバッファのどこまでを読み出したかを示すリードポインタを備えている。各ポインタを用いて次にどこへ書き込むか、また、どこを読み出しに行けばよいかを指示することができ、さらに、各ポインタの位置関係から有効なデータ（未だ読み出されていないデータ）がいくつ存在するかを管理しており、このような管理をポインタ管理部で実行する。データはライトポインタとリードポインタの位置に応じて書き込みや読み出しを行う。
【００１６】
図３はリングバッファをＭＦＰ内のＡＳＩＣ回路内に組み込んだ場合の一例である。図３において、デバイスＡ（１）とデバイスＢ（２）の間では高速な転送を行うものとし、各デバイス間でのデータ受け渡しにはデータ抜けなどの無駄がないように組み込みを行う。図３においてリングバッファを構成する各最小単位（モジュール３と称する）は、ライト動作において、まだデータが読み取られていないかどうかやライト動作の対象は自分かどうかということをポインタ管理部５による管理にしたがってデータを受け取る。リード動作も同様で、ポインタ管理部が次に読み取るバッファを指示する。ただし、ポインタ管理を行う場合、各モジュールの状態を把握する必要があるので全モジュール数分のデータを記憶するだけのデータ管理上におけるフリップフロップが必要となってしまう。
【００１７】
図４は本発明の実施形態に関するデータバッファとしてのＦＩＦＯをＭＦＰ内のＡＳＩＣ回路内に組み込んだ場合の構成例を示した図である。図４に示す回路では、各モジュール３がそれぞれ独立した構成となるＦＩＦＯ型の構成を取る。本実施形態に関する図４に示す回路は、最小単位であるモジュール３毎に有効なデータが保持されているかどうかを示すデータフラグ４を持つものである。
【００１８】
各モジュールは、モジュール自身にデータが有るか無いか、リード要求かライト要求か、ＷＡＩＴ動作にはいるか、等の情報によりデータの出し入れ、データの保持を決定する。次の動作を決定する上で保持しておくべき情報はデータの有無を保持するフリップフロップを要するだけで済み、回路全体を把握するための複数のフリップフロップを削除することができる。
【００１９】
なお、ＦＩＦＯは先に入ったものから順に取り出す方式であるが、慣用のデータ取り出し手法としては、ライトポインタとリードポインタを用い、これらのポインタをモジュール配列の順にシフトさせることによって、データの取り出しを行っている。そして、全てのモジュールからなるＦＩＦＯとして、ＦＩＦＯ内にデータが空の場合には、ＥＭＰＴＹ：１（データ無し）、ＦＵＬＬ：０（データ満杯以外の状態）、ＦＩＦＯ内にデータが１つ又は複数存在の場合には、ＥＭＰＴＹ：０（データの書き込み余裕有り）、ＦＵＬＬ：０（データ満杯でない）、ＦＩＦＯ内にデータが全て存在の場合には、ＥＭＰＴＹ：０（データ無し以外の状態）、ＦＵＬＬ：１（データ満杯）として管理し、ライトポインタもリードポインタも１つづつモジュールをシフトするものである。
【００２０】
再度、本発明の実施形態に係るＦＩＦＯ型のバッファの管理、制御を説明すると、本実施形態では、ライトポインタとリードポインタを用いてデータ書き込みとデータ読み出しを行うものではなくて、バッファのモジュール毎に有効データの有る無しを管理してフラグを付し、更に、有効データが無いモジュールに対しては有効データが順にシフトするように制御して、バッファの端部からリード要求に応じてデータを読み出すことを特徴としている。
【００２１】
これに対して、図２と図３に示すリングバッファではデータ保持サイズが大きくなるにつれて、バッファを管理するポインタ管理部のサイズ（フリップフロップの数）は大きくなる。一方、大きいデータ量を取り扱うデバイス間で図４に示す構成の回路を組み込めば、その取り扱うデータ量が大きいほど、フリップフロップの削減効果は効いてくる。
【００２２】
図５は図４に示す各デバイスＡ（１），（２）間のＦＩＦＯの動作を示したものである。図４のデバイスＡからデバイスＢへデータの転送を行うものとすると、図５においてデバイスＡからのライトデータは一番左側のモジュールへと書き込まれ、次のクロックでデバイスＢ側の隣のモジュールへデータを受け渡す。各モジュールがこのシフト動作をそれぞれ行うことにより最終的にデバイスＢ手前のモジュールへデータを渡す。このモジュールは次のリード要求が来るまでは保持する必要があるので他のモジュールもデータが抜き取られるまで保持する。
【００２３】
なお、図５の２段目において、リード動作によって最右端のモジュールのデータ０が例えばデバイスＢ（図４参照）にデータアウトする。その際、データ０が読み出されてもＦＩＦＯ最右端のモジュールにはデータ０が残っているが、このデータ０は次に新たなデータＮが最左端モジュールに書き込まれるときに、モジュール間での順次のデータシフト動作にょって上書き消去されることとなる。
【００２４】
図６は本発明の実施形態に関するバッファ（一例としてのＦＩＦＯ）のデータの保持状態を、リングバッファとの対比で示したものである。リングバッファを示す図６（１）において、リングバッファのデータはライトポインタの位置に基づいて一回書き込まれた後、当該のモジュールへのリード要求があるまでは同じ値を保持し続けなければならない。この保持する期間はデータを保持するモジュール数が増えれば増えるほど、１個のモジュールがデータを保持する期間は長くなってしまう。さらに、リードポインタとライトポインタの動作を管理するポインタ管理部が何等かの要因で位置づれを起こしてしまうと、有効なデータを正しく制御することができなくなってしまう（例えば、何等かの要因でポインタの位置ずれをおこして、ライトポインタがリードポインタを追い越した場合には、ライトポインタが位置するモジュールではまだ読み出してもいないのに上書きされるという不都合を生じる）。
【００２５】
図６（１）において、リードポインタはデータ０のモジュールに位置してデータ０を読み出し、順次にリードポインタがずれていって順にデータ１、データ２、データ３、データ４を読み出す。一方、ライトポインタはデータ５のモジュールに位置してこれに新たなデータを書き込んでいく。このような、読み出しと書き込みにおいて、ライトポインタが位置するモジュールで新たなデータを書き込んで上書きするまで、当該モジュールのデータは例え読み出しが完了していてもそのままのデータを保持しているように制御されている。このような旧データの保持のために、フリップフロップを動作させ続ける必要がある。
【００２６】
これに対して、本実施形態に係るＦＩＦＯのデータバッファでは、図４にも示すように、モジュール３毎に有効データが有るか無いかを管理していて、モジュール毎にフラグを立てて有効データの有無を管理しており、さらに、有効データ有りのフラグを付したモジュールにはデータを書き込めないように管理している。そこで、ＦＩＦＯのデータバッファでは、ライトデータの要求が次々に来ても全モジュールの中で有効データ無しのフラグを付したモジュールのみにデータを毎クロックずつ保持することができるのであって、有効データ有りのモジュールには上書きされることはない。
【００２７】
また、ＦＩＦＯのデータバッファは、各モジュールがデータの有無のみで管理していて、モジュール間のデータ転送は隣接モジュール間で順次に送り込めるようになっているのでデータ転送の制御が乱れるおそれはない。
【００２８】
このようなＦＩＦＯのデータバッファにおける動作を図６（２）の例示で説明すると、１段目は全てのモジュールに有効データが存在する場合であり、２段目でデータ０が読み出されたことに伴ってデータが順送りされて左端のモジュールがエンプティとなる（有効データ無しフラグが立つ）。データが順次に読み出された状況が３〜５段目に図示されている。
【００２９】
いま、４段目では左端から３つのモジュールでエンプティとなっている。この状態で書き込みデータがくると、左端のモジュールはエンプティ（有効データ無しのフラグ）であるので、このモジュールに新たなデータ７が書き込まれる。そして、データの読み出しがなければ、全モジュールは、左からデータ７、エンプティ、エンプティ、データ６、データ５、データ４、データ３の配列となる。次に、クロックのタイミングで、データ７は、その右隣がエンプティであるので書き込み可であるから、右隣に転送される。さらに次のクロックタイミングでも同様にして順に右送りされて、元のモジュールはエンプティとして管理される。さらに次のクロックタイミングでは、その右隣のモジュールにはデータ６が存在して有効データ有りのフラグが立っているので新たなデータの書き込みは禁止されて、この状態、即ち、左からエンプティ、エンプティ、データ７、データ６、データ５、データ４、データ３の配列となって待機状態となる。
【００３０】
ＦＩＦＯを一例とするデータバッファにおいて、上述したように、データ転送が順次に送られずにモジュールの途中に空きができた場合の各モジュールの経過状況を図７に示す。
【００３１】
このように、ＦＩＦＯのデータバッファでは、モジュール毎に有効データの有り無しでデータの書き込みの可否を管理しており、データの新たな書き込みはＦＩＦＯの例えば左端から書き込み始めて順送りされる。モジュールからデータが隣のモジュールに送り出されれば、送り出したモジュールはエンプティとなり有効データ無しとして管理されるものである。また、有効データ有る無しの管理はフラグでなされて、具体的にはフリップフロップを使用する。なお、データの保持用としてもフリップフロップを使用する。
【００３２】
一般的に云って、フリップフロップの数が多いほど消費電力は大となるが、本発明の実施形態に係るＦＩＦＯバッファでは、リングバッファに比べて、データを保持するためのフリップフロップが少なくて済む（リングバッファでは、読み出されたモジュールのデータでもポインタ管理によって次のライトポインタが当該モジュールに指定されて新たなデータの上書きされるまでは当該モジュールのデータは保持しておくという管理となっている。これに対して、ＦＩＦＯバッファでは図６（２）から分かるように読み出されたデータの存するモジュールからはデータは無くなる）とともに、相互モジュール間の管理を行うためのフリップフロップが必要ない（モジュール毎に管理するのみ）ので消費電力を抑えることができる。
【００３３】
以上のことから、従来ＭＦＰなどの多機能な画像形成装置では各デバイス間のデータ保持回路の規模が大きいためにデータを保持するための電力節約が課題となっていた。本発明では上述したＦＩＦＯのデータ保持回路を用いることでデータ保持回路の規模を抑えることができ、その結果消費電力を軽減することができるものである。また、データ管理構成を簡易化しているため障害などの異常状態からの復帰を容易に行うことができる。
【００３４】
また、上述したデバイス間のバッファは、表示部、印刷部および撮像部などの機能を有し、プリンタ、コピーまたはファクシミリなどの複合サービスを行う複合複写装置に使用されるものである。また、ＦＩＦＯを例示して説明したが、デバイス間のデータ保持に際して、ポインタを用いことなく、先にライトしたものから順にリードするものあってモジュール間でシフト動作し、最終端モジュールからデータが読み出されれば当該モジュールは空になりその後順次データが入り込んでくるようなデータ保持装置であればＦＩＦＯに限らない。そして、モジュール毎の有効データの有無を管理することでデータ管理の制御を簡易にするものであれば良い。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施形態に係る画像形成装置の一例であるＭＦＰの全体構成の外観を示す図である。
【図２】画像形成装置におけるデバイス間のデータバッファとしてのリングバッファを説明する図である。
【図３】リングバッファの機能を説明する図である。
【図４】本実施形態に係る画像形成装置に使用されるデータバッファとしてのＦＩＦＯの機能を説明する図である。
【図５】本実施形態に関するデータバッファとしてのＦＩＦＯにおけるモジュール毎のデータ転送状況を示す図である。
【図６】本実施形態に関するＦＩＦＯのデータ保持状態をリングバッファと対比して説明する図である。
【図７】本実施形態に関するＦＩＦＯのモジュールに空きができた場合のデータ転送状態を示す図である。
【符号の説明】
【００３６】
１  デバイスＡ
２  デバイスＢ
３  ＦＩＦＯモジュール
４  データフラグ
５  ポインタ管理部
【図１】
2005094677.tif 000003
【図２】
2005094677.tif 000004
【図３】
2005094677.tif 000005
【図４】
2005094677.tif 000006
【図５】
2005094677.tif 000007
【図６】
2005094677.tif 000008
【図７】
2005094677.tif 000009