(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の一実施形態について説明する。
【0010】
〔第1実施形態〕
第1実施形態では、画像処理ASIC(Application Specific Integrated Circuit)100と、汎用SoC(System on a Chip)200を用いることにより、多機能な画像形成装置10Aを構成する例を説明する。
【0011】
(画像形成装置10Aのハードウェア構成)
図1は、本発明の第1実施形態に係る画像形成装置10Aのハードウェア構成を示す図である。
図1に示すように、画像形成装置10Aは、スキャナ12、プロッタ14、画像処理ASIC100、汎用SoC200、メモリ302、およびHDD304を備えている。
【0012】
スキャナ12は、読取媒体(例えば、原稿用紙)を光学的に読み取ることにより、読取媒体の画像を形成し、当該画像を表す画像データを生成する装置である。
【0013】
プロッタ14は、画像データに応じて、印刷媒体(例えば、印刷用紙)に対して画像の印刷を行う装置である。
【0014】
画像処理ASIC100は、「ASIC」の一例である。画像処理ASIC100は、スキャナ12によって生成された画像データに対して、各種画像処理を行う専用のIC(Integrated Circuit)である。画像処理ASIC100は、スキャナ側回路110、アービタ120、PCIe(Peripheral Component Interconnect Express)I/F回路130、およびプロッタ側回路140を備えている。
【0015】
スキャナ側回路110は、スキャナ12から入力された画像データに対して、各種処理を行う回路である。スキャナ側回路110は、スキャナI/F111、スキャナ画像処理部112、多値固定長圧縮器113、階調処理部114、およびMUX115を備えている。
【0016】
スキャナI/F111は、スキャナ12によって生成された画像データを受信する。
【0017】
スキャナ画像処理部112は、スキャナI/F111によって受信された画像データに対して、スキャナ12特有の画像処理(例えば、シェーディング補正処理、FL補正処理、γ変換処理、空間フィルタ処理、色補正処理等)を行う。
【0018】
多値固定長圧縮器113は、「多値固定長圧縮手段」の一例である。多値固定長圧縮器113は、スキャナ画像処理部112によってスキャナ12特有の画像処理が行われた画像データを、多値データのまま固定長圧縮する。
【0019】
階調処理部114は、「階調処理手段」の一例である。階調処理部114は、スキャナ画像処理部112によってスキャナ12特有の画像処理が行われた画像データを、階調処理によって少値化する。
【0020】
MUX115は、「第1の選択手段」の一例である。多値固定長圧縮器113から出力された画像データ(固定長圧縮された画像データ)と、階調処理部114から出力された画像データ(少値化された画像データ)とのうち、いずれか一方を、汎用SoC200へ送信される画像データとして選択する。例えば、MUX115は、画像データが蓄積される蓄積手段の容量に応じて、多値固定長圧縮器113から出力された画像データ、または、階調処理部114から出力された画像データを選択するように設定される。具体的には、MUX115は、蓄積手段の容量が比較的大きい場合には、多値固定長圧縮器113から出力された画像データを選択するように設定され得る。一方、MUX115は、蓄積手段の容量が比較的小さい場合には、階調処理部114から出力された画像データを選択するように設定され得る。この第1実施形態では、画像処理ASIC100に汎用SoC200が接続されるのに応じて、MUX115は、多値固定長圧縮器113から出力された画像データ(固定長圧縮された画像データ)を、汎用SoC200へ送信される画像データとして選択するように、その設定が切り替えられる。
【0021】
アービタ120は、「調停手段」の一例である。アービタ120は、画像処理ASIC100と汎用SoC200との間における画像データの転送をアービトレーション(調停)する。例えば、アービタ120は、スキャナ側回路110からの送信リクエストと、プロッタ側回路140からの受信リクエストとのうち、いずれか一方が優先されるように、画像処理ASIC100と汎用SoC200との間における画像データの転送をアービトレーションする。
【0022】
PCIeI/F回路130は、「第1の通信手段」の一例である。PCIeI/F回路130は、PCIeバスを介して、汎用SoC200と通信を行う。例えば、PCIeI/F回路130は、MUX115によって選択された画像データ(固定長圧縮された画像データまたは少値化された画像データ)を、汎用SoC200へ送信する。また、例えば、PCIeI/F回路130は、汎用SoC200から送信された画像データ(固定長圧縮された画像データまたは少値化された画像データ)を受信する。
【0023】
プロッタ側回路140は、プロッタ14へ出力される画像データに対して、各種処理を行う回路である。プロッタ側回路140は、多値固定長伸張器141、MUX142、プロッタ画像処理部143、およびプロッタI/F144を備えている。
【0024】
多値固定長伸張器141は、「多値固定長伸張手段」の一例である。多値固定長伸張器141は、PCIeI/F回路130によって汎用SoC200から受信された画像データ(固定長圧縮された画像データ)を、固定長伸張する。
【0025】
MUX142は、「第2の選択手段」の一例である。MUX142は、多値固定長伸張器141から出力された画像データ(固定長伸張された画像データ)と、汎用SoC200から受信された画像データ(少値化された画像データ)とのうち、いずれか一方を、プロッタ14へ出力される画像データとして選択する。例えば、MUX142は、画像データが蓄積される蓄積手段の容量に応じて、多値固定長伸張器141から出力された画像データ、または、汎用SoC200から受信された画像データを選択するように設定される。具体的には、MUX142は、蓄積手段の容量が比較的大きい場合には、多値固定長伸張器141から出力された画像データを選択するように設定され得る。一方、MUX142は、蓄積手段の容量が比較的小さい場合には、汎用SoC200から受信された画像データを選択するように設定され得る。この第1実施形態では、画像処理ASIC100に汎用SoC200が接続されるのに応じて、MUX142は、多値固定長伸張器141から出力された画像データ(固定長伸張された画像データ)を、プロッタ14へ出力される画像データとして選択するように、その設定が切り替えられる。
【0026】
プロッタ画像処理部143は、MUX142によって選択された画像データ(固定長伸張された画像データまたは少値化された画像データ)に対して、プロッタ14特有の画像処理(例えば、γ変換処理、階調処理等)を行う。
【0027】
プロッタI/F144は、プロッタ画像処理部143によってプロッタ14特有の画像処理が行われた画像データを、プロッタ14へ送信する。
【0028】
汎用SoC200は、「制御手段」の一例である。汎用SoC200は、CPU(Central Processing Unit)201、PCIeI/F回路202、アービタ203、メモリコントローラ204、およびHDDコントローラ205を備えている。
【0029】
CPU201は、汎用SoC200における各種処理を実行する。例えば、CPU201は、ユーザの操作に応じて、HDD304に蓄積された画像データ(固定長圧縮された画像データ)に対して、回転、加工等の画像処理を行うことができる。
【0030】
PCIeI/F回路202は、「第2の通信手段」の一例である。PCIeI/F回路202は、PCIeバスを介して、画像処理ASIC100と通信を行う。例えば、PCIeI/F回路202は、HDD304に蓄積された画像データ(固定長圧縮された画像データ)を、画像処理ASIC100へ送信する。また、例えば、PCIeI/F回路202は、画像処理ASIC100から送信された画像データ(固定長圧縮された画像データ)を受信する。
【0031】
アービタ203は、画像処理ASIC100と汎用SoC200との間における画像データの転送をアービトレーション(調停)する。
【0032】
メモリコントローラ204は、メモリ302に対する各種データの書込みおよび読出しを制御する。例えば、メモリコントローラ204は、画像処理ASIC100から受信した画像データ(固定長圧縮された画像データ)を一時的にメモリ302に格納する。
【0033】
HDDコントローラ205は、HDD304に対する各種データの書込みおよび読出しを制御する。HDDコントローラ205は、「蓄積制御手段」の一例である。すなわち、HDDコントローラ205は、HDD304に対する画像データ(固定長圧縮された画像データ)の書込みおよび読出しを制御することができる。
【0034】
メモリ302およびHDD304は、汎用SoC200における各種データを記憶する。例えば、メモリ302は、画像処理ASIC100から受信した画像データ(固定長圧縮された画像データ)を一時的に格納する。HDD304は、「蓄積手段」の一例である。すなわち、HDD304は、画像データ(固定長圧縮された画像データ)を蓄積することができる。
【0035】
このように構成された、第1実施形態に係る画像形成装置10Aは、例えば、ユーザの操作に応じて、HDD304に蓄積された画像データ(固定長圧縮された画像データ)に対して、回転、加工等の画像処理を行うことができる。したがって、第1実施形態に係る画像形成装置10Aは、画像処理ASIC100および汎用SoC200を組み合わせて用いたことにより、比較的多機能な画像形成装置を実現することができる。
【0036】
(画像形成装置10Aの動作手順)
図2は、本発明の第1実施形態に係る画像形成装置10Aの動作手順を示すシーケンス図である。
【0037】
まず、画像処理ASIC100において、MUX115,142を、固定長圧縮される画像データ側に切り替えておく(ステップS201)。具体的には、MUX115を、多値固定長圧縮器113から出力された画像データ(固定長圧縮された画像データ)を選択するように、その設定を切り替えておく。また、MUX142を、多値固定長伸張器141から出力された画像データ(固定長伸張された画像データ)を選択するように、その設定を切り替えておく。
【0038】
そして、スキャナI/F111が、スキャナ12から画像データを受信すると(ステップS202)、スキャナ画像処理部112が、ステップS202で受信された画像データに対して、スキャナ12特有の画像処理を行う(ステップS203)。また、多値固定長圧縮器113が、ステップS203でスキャナ12特有の画像処理が行われた画像データを、多値データのまま固定長圧縮する(ステップS204)。固定長圧縮された画像データは、MUX115を介して、アービタ120へ供給される。
【0039】
アービタ120は、供給された画像データをアービトレーションした後(ステップS205)、当該画像データを、PCIeI/F回路130を介して、汎用SoC200へ送信する(ステップS206)。
【0040】
汎用SoC200において、PCIeI/F回路202が、画像処理ASIC100から送信された画像データ(固定長圧縮された画像データ)を受信すると(ステップS207)、メモリコントローラ204が、ステップS207で受信された画像データを、メモリ302に一旦格納する(ステップS208)。その後、HDDコントローラ205が、メモリ302に格納された画像データを、HDD304へ蓄積させる(ステップS209)。
【0041】
その後、ユーザの操作に応じて、CPU201が、HDD304に蓄積された画像データ(固定長圧縮された画像データ)に対して、回転、加工等の画像処理を行うと(ステップS210)、アービタ203が、当該画像データを、PCIeI/F回路202を介して、画像処理ASIC100へ送信する(ステップS211)。
【0042】
画像処理ASIC100において、PCIeI/F回路130が、汎用SoC200から送信された画像データ(固定長圧縮された画像データ)を受信すると(ステップS212)、多値固定長伸張器141が、ステップS212で受信された画像データ(固定長圧縮された画像データ)を、固定長伸張する(ステップS213)。固定長伸張された画像データは、MUX142を介して、プロッタ画像処理部143へ供給される。
【0043】
プロッタ画像処理部143は、供給された画像データに対して、プロッタ14特有の画像処理を行う(ステップS214)。そして、プロッタI/F144が、ステップS214でプロッタ14特有の画像処理が行われた画像データを、プロッタ14へ送信する(ステップS215)。これにより、プロッタ14による画像の印刷が行われることとなる。
【0044】
〔第2実施形態〕
第2実施形態では、第1実施形態と共通の画像処理ASIC100と、汎用SoC250を用いることにより、低コストな画像形成装置10Bを構成する例を説明する。
【0045】
(画像形成装置10Bのハードウェア構成)
図3は、本発明の第2実施形態に係る画像形成装置10Bのハードウェア構成を示す図である。
図3に示すように、画像形成装置10Bは、汎用SoC200の代わりに、汎用SoC250を備えている点、および、HDD304を備えていない点で、第1実施形態の画像形成装置10Aと異なる。
【0046】
汎用SoC250は、「制御手段」の一例である。汎用SoC250は、CPU251、PCIeI/F回路252、アービタ253、メモリコントローラ254、およびJBIG圧縮/伸張器255を備えている。
【0047】
CPU251は、汎用SoC250における各種処理を実行する。
【0048】
PCIeI/F回路252は、「第2の通信手段」の一例である。PCIeI/F回路252は、画像処理ASIC100と通信を行う。例えば、PCIeI/F回路252は、メモリ302に蓄積された画像データ(少値化された画像データ)を、画像処理ASIC100へ送信する。また、例えば、PCIeI/F回路252は、画像処理ASIC100から送信された画像データ(少値化された画像データ)を受信する。
【0049】
アービタ253は、画像処理ASIC100と汎用SoC250との間における画像データの転送をアービトレーション(調停)する。
【0050】
メモリコントローラ254は、メモリ302に対する各種データの書込みおよび読出しを制御する。メモリコントローラ254は、「蓄積制御手段」の一例である。すなわち、メモリコントローラ254は、メモリ302に対する画像データ(少値化された画像データ)の書込みおよび読出しを制御することができる。
【0051】
JBIG圧縮/伸張器255は、「少値圧縮手段」および「少値伸張手段」の一例である。JBIG圧縮/伸張器255は、メモリ302に蓄積された画像データ(少値化された画像データ)に対して、JBIG方式による、圧縮処理および伸張処理を行う。
【0052】
第2実施形態では、メモリ302が、「蓄積手段」として機能する。すなわち、メモリ302は、画像データ(少値化された画像データ)を蓄積することができる。
【0053】
また、第2実施形態では、画像処理ASIC100に汎用SoC250が接続されるのに応じて、MUX115は、階調処理部114から出力された画像データ(少値化された画像データ)を、汎用SoC250へ送信される画像データとして選択するように、その設定が切り替えられる。
【0054】
また、第2実施形態では、画像処理ASIC100に汎用SoC250が接続されるのに応じて、MUX142は、汎用SoC250から受信された画像データ(少値化された画像データ)を、プロッタ14へ出力される画像データとして選択するように、その設定が切り替えられる。
【0055】
このように構成された、第2実施形態に係る画像形成装置10Bは、例えば、メモリ302に蓄積された画像データ(少値化された画像データ)に対して、回転、加工等の画像処理を行うことは困難であるが、画像データの蓄積に必要な蓄積手段の容量を小さくすることができる。したがって、第2実施形態に係る画像形成装置10Bは、画像処理ASIC100および汎用SoC250を組み合わせて用いたことにより、比較的低コストな画像形成装置を実現することができる。
【0056】
(画像形成装置10Bの動作手順)
図4は、本発明の第2実施形態に係る画像形成装置10Bの動作手順を示すシーケンス図である。
【0057】
まず、画像処理ASIC100において、MUX115,142を、少値化される画像データ側に切り替えておく(ステップS401)。具体的には、MUX115を、階調処理部114から出力された画像データ(少値化された画像データ)を選択するように、その設定を切り替えておく。また、MUX142を、汎用SoC250から受信された画像データ(少値化された画像データ)を選択するように、その設定を切り替えておく。
【0058】
そして、スキャナI/F111が、スキャナ12から画像データを受信すると(ステップS402)、スキャナ画像処理部112が、ステップS402で受信された画像データに対して、スキャナ12特有の画像処理を行う(ステップS403)。また、階調処理部114が、スキャナ画像処理部112によってスキャナ12特有の画像処理が行われた画像データを、階調処理によって少値化する(ステップS404)。少値化された画像データは、MUX115を介して、アービタ120へ供給される。
【0059】
アービタ120は、供給された画像データをアービトレーションした後(ステップS405)、当該画像データを、PCIeI/F回路130を介して、汎用SoC250へ送信する(ステップS406)。
【0060】
汎用SoC250において、PCIeI/F回路252が、画像処理ASIC100から送信された画像データ(少値化された画像データ)を受信すると(ステップS407)、メモリコントローラ254が、ステップS407で受信された画像データを、メモリ302へ一旦格納する(ステップS408)。
【0061】
その後、JBIG圧縮/伸張器255が、メモリ302に格納された画像データ(少値化された画像データ)に対して、JBIG方式による、圧縮処理を行う(ステップS409)。そして、メモリコントローラ254が、ステップS409で圧縮された画像データを、メモリ302へ蓄積する(ステップS410)。
【0062】
その後、ユーザの操作に応じて、JBIG圧縮/伸張器255が、メモリ302に蓄積された画像データ(少値化された画像データ)に対して、JBIG方式による、伸張処理を行うと(ステップS411)、アービタ253が、当該画像データを、PCIeI/F回路252を介して、画像処理ASIC100へ送信する(ステップS412)。
【0063】
画像処理ASIC100において、PCIeI/F回路130が、汎用SoC250から送信された画像データ(少値化された画像データ)を受信すると(ステップS413)、当該画像データは、MUX142を介して、プロッタ画像処理部143へ供給される。
【0064】
プロッタ画像処理部143は、供給された画像データに対して、プロッタ14特有の画像処理を行う(ステップS414)。そして、プロッタI/F144が、ステップS414でプロッタ14特有の画像処理が行われた画像データを、プロッタ14へ送信する(ステップS415)。これにより、プロッタ14による画像の印刷が行われることとなる。
【0065】
(アービタ120によるアービトレーションの一例)
図5は、本発明の第1,2実施形態に係るアービタ120によるアービトレーションの一例を説明するための図である。
【0066】
画像形成装置に用いられる汎用SoCの中には、I/F部が1つだけしか設けられていないものもある。また、画像形成装置において、スキャナおよびプロッタは、その性能(線速)に依存して、一定の期間内に所定の画像データを転送する必要がある。例えば、1ラインごとに画像処理を行う画像形成装置においては、ライン周期とよばれる期間内に、1ライン分の画像データを転送する必要がある。この所定の期間内に画像転送が間に合わない場合、画像データが崩れる、白紙を出力する等の不具合が発生する虞がある。
【0067】
そこで、
図5に示すように、第1,第2実施形態の画像処理ASIC100は、アービタ120により、汎用SoC200,250との間における画像データの転送をアービトレーション(調停)する構成を採用している。具体的には、第1,第2実施形態の画像処理ASIC100は、アービタ120により、プロッタ側回路140からのリードリクエストを常に優先し、プロッタ側回路140からのリードリクエストが無い場合にのみ、スキャナ側回路110からのライトリクエストを許可するように調停を行うようにしている。これにより、第1,第2実施形態の画像処理ASIC100は、I/F部を1つだけしか持たない汎用SoCであっても、上記のような障害を発生させることなく、接続ができるようになっている。但し、これに限らず、例えば、アービタ120は、スキャナ側回路110からのライトリクエストを常に優先し、スキャナ側回路110からのライトリクエストが無い場合にのみ、プロッタ側回路140からのリードリクエストを許可するように調停を行うようにしてもよい。
【0068】
以上説明したように、第1,第2実施形態に係る画像処理ASIC100は、多値固定長圧縮器113から出力された画像データと、階調処理部114から出力された画像データとのうち、いずれか一方を、PCIeI/F回路130によって汎用SoC200へ送信される画像データとして選択するMUX115と、多値固定長伸張器141から出力された画像データと、PCIeI/F回路130によって汎用SoC200から受信された画像データとのうち、いずれか一方を、プロッタ14へ出力される画像データとして選択するMUX142とを備える。
【0069】
これにより、第1,第2実施形態に係る画像処理ASIC100は、例えば、第1実施形態で説明したように、汎用SoC200と組み合わせて、固定長圧縮処理を行うことが可能な画像形成装置10Aを構成することにより、比較的多機能な画像形成装置を実現することができる。また、第2実施形態で説明したように、汎用SoC250と組み合わせて、階調処理を行うことが可能な画像形成装置10Bを構成することにより、比較的低コストな画像形成装置を実現することができる。
【0070】
したがって、第1,第2実施形態に係る画像処理ASIC100によれば、固定長圧縮処理を行うことができる画像形成装置と、階調処理を行うことができる画像形成装置との双方を、同一のASICを用いて実現できる。
【0071】
以上、本発明の好ましい実施形態および実施例について詳述したが、本発明はこれらの実施形態および実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。