(57)【要約】【課題】画像データのデータ量が変化する場合でも、インタフェースを介して処理モジュールに画像データを転送することが可能なデータ転送装置を提供する。【解決手段】本開示の一態様にかかるデータ転送装置（307）は、画像データのデータ量が変化する画像処理を行う画像処理手段（306）で画像処理を行った画像データを、インタフェース（310）を介して処理モジュール（302）に転送する転送手段と、１ライン分の画像データを転送するときの転送周期を設定する設定手段と、を有して構成する。【選択図】図３
2014092872.tif 000002
【特許請求の範囲】
【請求項１】
画像データのデータ量が変化する画像処理を行う画像処理手段で画像処理を行った画像データを、インタフェースを介して処理モジュールに転送する転送手段と、
１ライン分の前記画像データを転送するときの転送周期を設定する設定手段と、を有し、
前記設定手段は、前記インタフェースのデータ転送レートと、前記画像処理手段で画像処理を行う際に前記画像データのデータ量が変化する要因となる要素と、に応じた前記転送周期を設定し、
前記転送手段は、前記設定手段で設定した前記転送周期で前記画像データを転送する、ことを特徴とするデータ転送装置。
【請求項２】
前記インタフェースを介して１ライン分の画像データを転送する際に必要な転送レートである基本ライン周期を設定する基本ライン周期設定手段を有し、
前記設定手段は、前記基本ライン周期設定手段で設定された基本ライン周期と、前記要素と、に応じた前記転送周期を設定する、ことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記インタフェースを介して１ライン分の画像データを転送する際に最低限必要な転送レートである最小ライン周期を設定する最小ライン周期設定手段を有し、
前記設定手段は、前記転送周期が前記最小ライン周期よりも小さい場合は、前記最小ライン周期を転送周期として設定する、ことを特徴とする請求項１または請求項２記載のデータ転送装置。
【請求項４】
前記転送手段は、
前記設定手段で設定した前記転送周期で１ライン分の画像データのデータ転送が完了しない場合は、その１ライン分の画像データのデータ転送が完了するまで、次の１ライン分の画像データのデータ転送を行わず、１ライン分の画像データのデータ転送が完了したのを契機に、前記設定手段で設定した前記転送周期で次の１ライン分の画像データのデータ転送を開始する、ことを特徴とする請求項１から請求項３の何れか１項に記載のデータ転送装置。
【請求項５】
画像データのデータ量が変化する画像処理を行う画像処理手段と、
前記画像処理手段で画像処理を行った画像データを、インタフェースを介して処理モジュールに転送する転送手段と、
１ライン分の前記画像データを転送するときの転送周期を設定する設定手段と、を有し、
前記設定手段は、前記インタフェースのデータ転送レートと、前記画像処理手段で画像処理を行う際に前記画像データのデータ量が変化する要因となる要素と、に応じた前記転送周期を設定し、
前記転送手段は、前記設定手段で設定した前記転送周期で前記画像データを転送する、ことを特徴とする画像処理装置。
【請求項６】
画像データのデータ量が変化する画像処理を行う画像処理手段で画像処理を行った画像データを、インタフェースを介して処理モジュールに転送する転送処理と、
１ライン分の前記画像データを転送するときの転送周期を設定する設定処理と、を、コンピュータに実行させ、
前記設定処理は、前記インタフェースのデータ転送レートと、前記画像処理手段で画像処理を行う際に前記画像データのデータ量が変化する要因となる要素と、に応じた前記転送周期を設定し、
前記転送処理は、前記設定処理で設定した前記転送周期で前記画像データを転送する、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像データを転送する技術に関する。
【背景技術】
【０００２】
デジタル複写機、複合機などの画像処理装置としては、例えば、１回の原稿走査で、原稿の表面と裏面との両面を同時に読み取ることが可能な画像読取手段であるスキャナを有する画像処理装置がある。
【０００３】
スキャナを有する画像処理装置の場合は、スキャナで原稿を読み取って得られた画像データを受け付ける前段の処理モジュールであるエンジンユニット側に、ローカル・メモリを有し、このローカル・メモリに、一旦、原稿の表面及び裏面の両面分の画像データを記憶する。そして、最初に表面の画像データをローカル・メモリから読み出し、後段の処理モジュールであるコントロールユニット側に転送する。その後、裏面の画像データをローカル・メモリから読み出し、コントロールユニット側に転送する。これにより、コントロールユニット側は、エンジンユニット側から転送されてきた原稿の画像データが、原稿の両面を同時に読み取って得られた画像データであるか、または、原稿の片面ずつを読み取って得られた画像データであるかを意識することなく、原稿の両面を同時に読み取って得られた画像データに対し、原稿の片面ずつを読み取って得られた画像データと同様な処理を行うことができる。
【０００４】
上記の処理を行う場合は、コントロールユニット側で画像データを受け取ることが可能なデータ転送能力を考慮して、エンジンユニット側からコントロールユニット側に画像データを転送する必要がある。
【０００５】
例えば、エンジンユニット側と、コントローラユニット側と、の間をPCI Expressを介して接続している場合は、クリティカル・パスとなるPCI Expressのデータ転送能力を超えないように、ローカル・メモリからのデータの読み出しレートを設定する必要がある。PCI Expressは、エンジンユニット側とコントローラユニット側との間でデータ転送を行うシリアル転送インタフェースである。
【０００６】
しかし、スキャナで読み取って得られた画像データは、モノクロ２値モードの画像データ、グレースケールモードの画像データ、フルカラーモードの画像データなど原稿１ページあたりのデータ量が異なる様々なデータ・モードの画像データとなる。データ・モードとは、スキャナで原稿を読み取る際のモードであり、モノクロ２値モード、グレースケールモード、フルカラーモードなどがあげられる。このため、スキャナで読み取って得られた画像データは、データ・モードに応じてデータ量が変化することになる。
【０００７】
また、ローカル・メモリから読み出した画像データに電気変倍を行う場合は、その画像データのデータ量が変化する。電気変倍とは、ローカル・メモリから読み出した画像データを任意の縮小、拡大画像データに変換することを意味する。電気変倍で画像データを縮小、拡大する場合は、画像データのデータ量が変化する。
【０００８】
画像データのデータ量が変化すると、その画像データを転送する際に必要となるデータ転送レートも変化する。このため、クリティカル・パスとなるPCI Expressのデータ転送能力を超えないように、ローカル・メモリからのデータの読み出しレートを最適に設定することが難しく、効率的に画像データを転送することができないのが現状である。
【０００９】
例えば、特許文献１（特開2011-55214号公報）には、メモリに格納された画像データを読み出して拡大処理する際に、拡大された画像データを出力する時間をなるべく短縮する技術について開示されている。
【００１０】
特許文献１では、拡大処理を行う場合に、同一のラインデータを複数回利用して拡大処理を実施することにしている。拡大処理を行う拡大処理部の入出力の関係は、常に、入力ライン数に対して、整数倍のライン数となるわけではないため、ローカル・メモリから、一定の周期で１ライン分の画像データを読み出しても、拡大後のライン間隔がばらついてしまう。このため、ローカル・メモリからの読み出し周期は、ライン間隔のばらつきが最も厳しい状態でも後段の処理モジュールが対応できることを前提に決定しなければならない。そこで、特許文献１では、拡大処理部の入出力特性にあわせた周期で、ローカル・メモリから画像拡大前データを読み出すことで、拡大後のライン間隔のばらつきを抑えることにしている。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、画像データのデータ量は、拡大率のみではなく、画像データの種類（例えば、モノクロ２値モード、グレースケールモード、フルカラーモードなど）、解像度など他の要素によっても変化するが、特許文献１では、その部分については考慮されておらず、拡大率以外の要素によるライン間隔のばらつきを抑えるための調整が必要になる。
【００１２】
本開示の目的は、画像データのデータ量が変化する場合でも、インタフェースを介して処理モジュールに画像データを転送することが可能なデータ転送装置を提供することにある。
【課題を解決するための手段】
【００１３】
本開示の一態様にかかるデータ転送装置は、
画像データのデータ量が変化する画像処理を行う画像処理手段で画像処理を行った画像データを、インタフェースを介して処理モジュールに転送する転送手段と、
１ライン分の前記画像データを転送するときの転送周期を設定する設定手段と、を有し、
前記設定手段は、前記インタフェースのデータ転送レートと、前記画像処理手段で画像処理を行う際に前記画像データのデータ量が変化する要因となる要素と、に応じた前記転送周期を設定し、
前記転送手段は、前記設定手段で設定した前記転送周期で前記画像データを転送する、ことを特徴とする。
【発明の効果】
【００１４】
本開示の一態様によれば、画像データのデータ量が変化する場合でも、インタフェースを介して処理モジュールに画像データを転送することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の複合機100の概略構成例を示す図である。
【図２】両面読取ユニットの構成例を示す図である。
【図３】画像処理部150の構成例を示す図である。
【図４】画像I/F部307の構成例を示す図である。
【図５】制御レジスタ401の構成例を示す図である。
【図６】画像データの転送タイミングを説明するための第１の図である。
【図７】画像データの転送タイミングを説明するための第２の図である。
【図８】画像データの転送タイミングを説明するための第３の図である。
【発明を実施するための形態】
【００１６】
（本開示の一態様にかかるデータ転送装置の実施形態の概要）
まず、図３、図４を参照しながら、本開示の一態様にかかるデータ転送装置の実施形態の概要について説明する。図３は、本開示の一態様にかかるデータ転送装置の一実施形態である画像I/F部307を示す図であり、図４は、データ転送装置307の構成例を示す図である。
【００１７】
本開示の一態様にかかるデータ転送装置307は、転送手段405,403と、設定手段401,404,308と、を有して構成する。転送手段405,403としては、例えば、図４に示す画像I/F制御部405、PCIコントローラ403が機能する。設定手段401,404,308としては、例えば、図３に示すCPU（Central Processing Unit ）308、図４に示す制御レジスタ401、周期カウンタ404が機能する。転送手段405,403は、画像データのデータ量が変化する画像処理を行う画像処理手段306で画像処理を行った画像データを、インタフェース310を介して処理モジュール302に転送する。設定手段401,404,308は、１ライン分の画像データを転送するときの転送周期を設定する。画像処理手段306としては、例えば、図３に示す画像処理部306が機能する。また、インタフェース310としては、例えば、図３に示すPCI Express310が機能する。処理モジュール302としては、例えば、コントローラユニット302が機能する。
【００１８】
本開示の一態様にかかるデータ転送装置307は、設定手段401,404,308が、インタフェース310のデータ転送レートと、画像処理手段306で画像処理を行う際に画像データのデータ量が変化する要因となる要素と、に応じた転送周期を設定する。そして、転送手段405,403が、設定手段401,404,308で設定した転送周期で画像データを転送する。
【００１９】
本開示の一態様にかかるデータ転送装置307は、インタフェース310のデータ転送レートと、画像処理手段306で画像処理を行う際に画像データのデータ量が変化する要因となる要素と、に応じた転送周期を設定する設定処理を行う。そして、その設定した転送周期で画像データを転送する転送処理を行う。このため、画像データのデータ量が変化する場合でも、インタフェース310を介して処理モジュール302に画像データを転送することができる。以下、添付図面を参照しながら、本開示の一態様にかかるデータ転送装置307の実施形態について詳細に説明する。なお、以下の実施形態では、データ転送装置307の一実施形態である画像I/F部307を搭載した複合機100を例に説明する。
【００２０】
＜複合機100の構成例＞
まず、図１を参照しながら、本実施形態の複合機100の概略構成例について説明する。図１は、本実施形態の複合機100の概略構成例を示す図である。
【００２１】
本実施形態の複合機100は、自動原稿送り機110、操作ボード120、スキャナ130、プリンタ140、画像処理部150、給紙バンク160を有して構成している。
【００２２】
自動原稿送り装置110は、原稿トレイにセットされた原稿を搬送路に導き、スキャナ130で原稿を読み取らせる。操作ボード120は、複合機100に対する指示入力などを促す画面を表示し、操作者による入力を受け付ける。スキャナ130は、原稿を読み取り、原稿の画像データを得る。プリンタ140は、記録媒体上に画像を形成する。給紙バンク160は、プリンタ140で画像を形成する記録媒体を格納する。
【００２３】
また、複合機100は、パソコン200と接続している。また、PBX（Private Branch eXchange）300を介してファクシミリ電話回線に接続している。
【００２４】
次に、図２を参照しながら、両面読取ユニットの構成例について説明する。図２は、両面読取ユニットの構成例を示す図である。両面読取ユニットは、図１に示す自動原稿送り装置110とスキャナ130とを有して構成する。そして、原稿トレイにセットされた原稿が搬送路を所定順に１回通過して排紙トレイに排紙されるまでに、その原稿の表面と裏面との両面を読み取り、原稿の両面の画像データを得る。
【００２５】
図２の構成例では、コンタクト・イメージ・センサ111、スキャン・ユニット131の２つの画像読取部を有している。コンタクト・イメージ・センサ111は、裏面画像読取部であり、自動原稿送り装置110の中に設けられ、原稿の裏面側を読み取り、原稿の裏面の画像データを得る。スキャン・ユニット131は、表面画像読取部であり、原稿の表面側を読み取り、原稿の表面の画像データを得る。スキャン・ユニット131は、ミラーm1、ミラーm2、ミラーm3により導かれる光源からの反射光をCCD（Charge Coupled Device）で読み取ることで原稿の表面の画像データを得る。コンタクト・イメージ・センサ111、スキャン・ユニット131で読み取って得られた画像データには、モノクロ２値モード、グレースケールモード、フルカラーモードなど原稿１ページあたりのデータ量が異なる様々なデータ・モードの画像データがある。データ・モードとは、スキャナで原稿を読み取る際のモードであり、モノクロ２値モード、グレースケールモード、フルカラーモードなどがあげられる。このため、スキャナで読み取って得られた画像データは、データ・モードに応じてデータ量が変化することになる。
【００２６】
次に、図３を参照しながら、画像処理装置として機能する画像処理部150の構成例について説明する。図３は、画像処理部150の構成例を示す。画像処理部150は、例えば、図１に示す複合機100本体の背面側付近に設けられている。画像処理部150は、表面画像読取部であるスキャン・ユニット131で得られた原稿の表面の画像データや、裏面画像読取部であるコンタクト・イメージ・センサ111で得られた原稿の裏面の画像データを受け付ける。また、画像形成部であるプリンタ140に画像データを出力し、その画像データを基にプリンタ140で記録媒体上に画像を形成する。
【００２７】
本実施形態の画像処理部150は、前段の処理モジュールであるエンジンユニット301と、後段の処理モジュールであるコントローラユニット302と、を有して構成している。また、画像処理部150は、エンジンユニット301と、コントローラユニット302と、がPCI Express310を介して接続して構成している。PCI Express310は、エンジンユニット301とコントローラユニット302との間でデータ転送を行うシリアル転送インタフェースである。308は、エンジンユニット301を制御するためのCPUである。
【００２８】
エンジンユニット301は、表面画像読取部であるスキャン・ユニット131で得られた原稿の表面の画像データや、裏面画像読取部であるコンタクト・イメージセンサ111で得られた原稿の裏面の画像データを受け付ける部分である。エンジンユニット301は、ローカル・メモリ305、ローカル・メモリ・コントローラ309、画像処理部306、画像I/F部307を有して構成する。
【００２９】
ローカル・メモリ305は、表面画像読取部131で得られた原稿の表面の画像データや、裏面画像読取部111で得られた原稿の裏面の画像データを一時的に記憶する。ローカル・メモリ・コントローラ309は、ローカル・メモリ305を制御し、ローカル・メモリ305に画像データを記憶したり、ローカル・メモリ305から画像データを読み出したりする。
【００３０】
画像処理部306は、ローカル・メモリ・コントローラ309がローカル・メモリ305から読み出した画像データに対して電気変倍などの画像処理を行う。電気変倍とは、例えば、２次元のデジタルデータになっている画像データを任意の縮小、拡大画像データに変換することを意味する。電気変倍で画像データを縮小、拡大する場合は、画像データのデータ量が変化するため、その画像データを転送する際に必要となるデータ転送レートも変化する。
【００３１】
画像I/F部307は、画像処理部306で画像処理を行った画像データをPCI Express310を介してコントローラユニット302側に転送する。
【００３２】
本実施形態のエンジンユニット301においては、表面画像読取部131で得られた原稿の表面の画像データや、裏面画像読取部111で得られた原稿の裏面の画像データを、ローカル・メモリ・コントローラ309が一旦、ローカル・メモリ305に記憶する。そして、ローカル・メモリ・コントローラ309は、最初に表面の画像データをローカル・メモリ305から読み出し、画像処理部306で電気変倍などの画像処理を行う。そして、画像I/F部307は、画像処理部306で画像処理を行った画像データをPCI Express310を介してコントローラユニット302に転送する。次に、ローカル・メモリ・コントローラ309は、裏面の画像データをローカル・メモリ305から読み出し、画像処理部306で電気変倍などの画像処理を行う。そして、画像I/F部307は、画像処理部306で画像処理を行った画像データをPCI Express310を介してコントローラユニット302に転送する。これにより、表面の画像データと裏面の画像データとを順次コントローラユニット302側に転送することになる。コントローラユニット302は、エンジンユニット301から転送されてきた画像データを受け付け、その画像データをメイン・メモリ352に記憶する。
【００３３】
コントローラユニット302は、エンジンユニット301から転送されてきた画像データをメイン・メモリ352に記憶する部分である。コントローラユニット302は、画像I/F部350、CPU351、メイン・メモリ352、メモリ・コントローラ353、圧縮/伸張部354、ネットワーク・コントローラ355、編集部356、操作制御部357を有して構成する。
【００３４】
画像I/F部350は、エンジンユニット301とのI/Fを行い、エンジンユニット301から転送されてくる画像データを受信したりする。CPU351は、コントローラユニット302全体の制御を行うと共に、メイン・メモリ352に画像データを記憶したり、メイン・メモリ352に記憶されている画像データに加工処理を実行したりする。
【００３５】
メモリ・コントローラ353は、メイン・メモリ352に画像データを記憶したり、メイン・メモリ352から画像を読み出したりする。圧縮/伸張部354は、画像データのデータ量を削減するために画像データに圧縮処理を行ったり、圧縮された画像データに伸張処理を行ったりする。ネットワーク・コントローラ355は、画像データをネットワーク回線を経由してパソコン200に送信したり、パソコン200から画像データを受信したりする。
【００３６】
編集部356は、メイン・メモリ352に記憶されている画像データに編集処理を行う。操作制御部357は、ユーザI/Fである操作ボード120の制御を実施し、ユーザからの入力を受け取ったり、ユーザに対しメッセージを表示したりする。
【００３７】
次に、図４を参照しながら、エンジンユニット301の画像I/F部307の構成例について説明する。図４は、データ転送装置として機能する画像I/F部307の構成例を示す図である。
【００３８】
画像I/F部307は、エンジンユニット301側で電気変倍などの画像処理を行った画像データを、PCI Express310を介してコントローラユニット302側に転送する部分であり、データ転送装置として機能する。画像I/F部307は、制御レジスタ401、I/F制御部402、PCIコントローラ403、周期カウンタ404、画像I/F制御部405、ライン転送監視部406を有して構成する。
【００３９】
制御レジスタ401には、基本ライン周期、最小ライン周期、主走査解像度、階調数、版数が設定される。
【００４０】
基本ライン周期は、PCI Express310を介してコントローラユニット302側に１ライン分の画像データを転送する際に必要な転送レートであり、主走査解像度＝100dpi、階調数＝1bit、版数＝1の時の１ライン周期を設定する。
最小ライン周期は、１ライン分の画像データを転送する際に最低限必要な転送レートである最小周期を設定する。
最小周期の設定は、特に限定せず、例えば、１ライン分の画像データをPCI Express310を介してコントローラユニット302に転送する際に最低限必要な周期を設定する。また、画像処理部306で電気変倍を行う際に、電気変倍の制約で階調数や版数には依存せず、１画素の処理に必要な処理時間に応じた周期を設定する。
【００４１】
制御レジスタ401に設定する基本ライン周期、最小ライン周期は、図３のCPU308が設定する。このため、制御レジスタ401、CPU308は、１ライン分の画像データを転送する際に必要な転送レートである基本ライン周期を設定する基本ライン周期設定手段として機能する。また、１ライン分の画像データを転送する際に最低限必要な転送レートである最小ライン周期を設定する最小ライン周期設定手段として機能する。但し、制御レジスタ401に設定する値は、図３に示す画像処理部150を構成する各部のハード構成により一意に決まるため、制御レジスタ401に予め設定されているデフォルト値のままで使用することができる。
【００４２】
主走査解像度は、画像処理部306に設定される主走査解像度である。
階調数は、画像処理部306に設定される１画素あたりの階調数である。
版数は、画像処理部306に設定される色版数である。
制御レジスタ401に設定する主走査解像度、階調数、版数は、図３のCPU308が設定する。
【００４３】
本実施形態の制御レジスタ401には、電気変倍など画像データのデータ量が変化する画像処理を行う画像処理部306に設定される主走査解像度、階調数、版数が設定される。このため、画像I/F制御部405は、制御レジスタ401に設定されている主走査解像度、階調数、版数を基に、後段の処理モジュールであるコントローラユニット302側に１ライン分の画像データを転送する際の転送周期を設定する。そして、その設定した転送周期でPCI Express310を介してコントローラユニット302側に１ライン分の画像データを転送する。主走査解像度、階調数、版数は、画像処理部306で画像処理を行う際に画像データのデータ量が変化する要因となる要素である。
【００４４】
I/F制御部402は、画像処理部306とのインタフェースを制御する。PCIコントローラ403は、コントローラユニット302側とデータ転送を行うPCI Express310を制御する。周期カウンタ404は、１ライン分の画像データを転送する転送周期を算出する。周期カウンタ404は、以下の式で求まる転送周期でカウント動作を行う。
転送周期＝基本ライン周期×（主走査解像度/100）×階調数×版数
但し、上記で求まる転送周期が最小ライン周期よりも小さい場合には、最小ライン周期を転送周期として使用する。
【００４５】
画像I/F制御部405は、エンジンユニット301側のインタフェース全体を制御する。ライン転送監視部406は、周期カウンタ404のカウント動作と、画像I/F制御部405での１ライン単位での画像データのデータ転送完了状況と、を監視する。そして、その監視結果に応じて、PCI コントローラ403、周期カウンタ404、画像I/F制御部405に出力スタートパルスを出力し、１ライン分の画像データのデータ転送を制御する。
【００４６】
＜基本ライン周期のデフォルト値の設定例＞
次に、PCI Express310の転送レートを基に、基本ライン周期のデフォルト値を設定する例について説明する。
【００４７】
PCI Express310が、例えば、4レーンで構成する場合は、2.5Gbit/ｓの転送レートでシリアル・データを転送し、8b/10bエンコーディングを行う。この場合、転送レートの理論値としては、2.5 Gbit/s×8/10×1/8(Byte/bit)×4＝1GByte/ｓとなる。レーンは、PCI Express310で用いられる最小構成の伝送路を意味する。上記算出した値からマージン分として約４割を差し引いて、必要転送レートを600MByte/sとする。マージン分は、予め決められた値であり、任意に設定することが可能である。8b/10bエンコーディングは、8ビットのデータを連続した“0”や“1”の少ない10ビットのデータに変換する技術であり、画像データ中に埋め込んだクロック再生を容易にするために実施する。
【００４８】
基本ライン周期には、主走査解像度＝100dpi、階調数＝1bit、版数＝1の時の１ライン周期を設定するため、主走査長＝297mm、クロック周波数＝100MHzの場合は、以下のようにデフォルト設定値を計算する。
297/25.4*100*1*1/8/(600*1024*1024)*1000*1000*1000＝232.3nsec
【００４９】
本実施形態では、１クロック周期が10nsecであるため、基本ライン周期として、10進数の24をデフォルト値とすればよい。
【００５０】
なお、主走査解像度＝100dpi、階調数＝1bit、版数＝1の場合に、必要転送レートが600MByte/sとなるライン周期は、（１ラインのデータ量）/（転送レート＝600MByte/s）から算出する。
１ラインのデータ量：297(mm)/25.4(mm/inch)*100(dot/inch)*1(bit/dot)*1/8(Byte/bit)＝297/25.4*100*1*1/8(Byte)
転送レート：600*1024*1024(Byte/s)
ライン周期（s）＝297/25.4*100*1*1/8/(600*1024*1024)
ライン周期の単位をnsecにするため、1000*1000*1000倍している。
【００５１】
また、最小ライン周期は、画像処理部150を構成する各部のハード構成において、支障をきたすことがない最小限の１ライン周期を設定する。
例えば、ハード構成上、１ライン分の画像データのデータ転送の処理に8000 nsecが必要であれば、最小ライン周期のデフォルト値として、10進数の800を設定する。
【００５２】
図５は、制御レジスタ401の設定例を示す。
図５では、基本ライン周期＝24CLK、最小ライン周期＝800CLKが設定されている。また、主走査解像度＝300dpi、階調数＝8bit、版数＝3が設定されている。
【００５３】
図５に示す制御レジスタ401に設定された値を基に画像データの転送を行うと、図６（a）に示すタイミングで画像データのデータ転送が行われることになる。図６（a）は、図５に示す制御レジスタ401に設定された値での画像データの転送タイミングを示す。
【００５４】
周期カウンタ404は、以下の式で求まる転送周期でカウント動作を行う。
転送周期＝基本ライン周期×（主走査解像度/100）×階調数×版数
但し、上記で求まる転送周期が最小ライン周期よりも小さい場合には、最小ライン周期を転送周期として使用する。
【００５５】
このため、図５に示す制御レジスタ401の設定値の場合は、
転送周期は、24*(300/100）*8*3＝1728CLKとなる。
また、１ラインのデータ量は、
297(mm)/25.4(mm/inch)*300(dot/inch)*8(bit/dot)*1/8(Byte/bit)*3＝10523.6 Byteとなる。
また、転送レートは、
10523.6/(1728*10/1000000000)/(1024*1024)＝580.8MByte/sとなり、600MByte/ｓ以下に抑えることができている。
【００５６】
なお、図５の制御レジスタ401の設定において主走査解像度を300dpiから600dpiに変更した値を基に画像データのデータ転送を行うと、図６（b）に示すタイミングで画像データのデータ転送が行われることになる。図６（b）は、図５に示す主走査解像度を300dpiから600dpiに変更した場合の画像データの転送タイミングを示す。
【００５７】
主走査解像度を300dpiから600dpiに変更した場合は、
転送周期は、24*(600/100)*8*3＝3456CLKとなる。
また、１ラインのデータ量は、
297(mm)/25.4(mm/inch)*600(dot/inch)*8(bit/dot)*1/8(Byte/bit)*3＝21047.2 Byteとなる。
また、転送レートは、
21047.2/(3456*10/1000000000)/(1024*1024)＝580.8MByte/sとなる。このため、図６（b）は、図６（a）に対し、１ラインのデータ量と１ライン周期とが共に２倍になっているため、単位時間あたりの画像データのデータ転送量は、図６（a）と同じになる。
【００５８】
また、図５に示す制御レジスタ401の設定において主走査解像度を100dpiに変更し、版数を1に変更した値を基に画像データのデータ転送を行うと、図７に示すタイミングで画像データのデータ転送が行われることになる。図７は、図５に示す主走査解像度を300dpiから100dpiに変更し、版数を3から1に変更した場合の画像データの転送タイミングを示す。
【００５９】
主走査解像度を300dpiから100dpiに変更し、版数を3から1に変更した場合は、
転送周期は、24*(100/100)*8*1＝192CLKとなる。
最小ライン周期は、800CLKであるため、上記の転送周期は、最小ライン周期よりも小さいため、転送周期は、最小ライン周期を使用し、800CLKとなる。
このように、求めた転送周期が最小ライン周期よりも小さい場合は、最小ライン周期を転送周期として使用することになる。
【００６０】
画像I/F制御部405は、PCIコントローラ403を制御し、上記設定した転送周期で１ライン分の画像データをPCI Express310を介してコントローラユニット302に転送することになる。但し、上記設定した転送周期の範囲内で１ライン分の画像データのデータ転送が完了しない場合は、その１ライン分の画像データのデータ転送が完了するまで、次の１ライン分の画像データのデータ転送を待機する。そして、１ライン分の画像データのデータ転送が完了したのを契機に、次の１ライン分の画像データのデータ転送を開始するようにする。
【００６１】
本実施形態のライン転送監視部406は、周期カウンタ404のカウント動作と、画像I/F制御部405での１ライン単位での画像データのデータ転送完了状況と、を監視する。ライン転送監視部406は、周期カウンタ404のカウント動作が完了し、かつ、画像I/F制御部405で１ライン分の画像データのデータ転送が完了したことを検知した場合に、出力スタートパルスを出力する。出力スタートパルスは、PCI コントローラ403、周期カウンタ404、画像I/F制御部405に入力される。これにより、次の１ライン分の画像データのデータ転送を開始することができる。この状態を図８に示す。
【００６２】
図８では、最初の１ライン分の画像データは、周期カウンタ404のカウント動作の範囲内にデータ転送が完了しない状態を示している。周期カウンタ404がカウント動作を完了をしているが、画像I/F制御部405で１ライン分の画像データのデータ転送が完了していない。この場合、ライン転送監視部406は、その１ライン分の画像データのデータ転送が完了するまで、出力開始パルスを出力しない。これにより、転送周期の範囲内で１ライン分の画像データのデータ転送が完了しない場合は、その１ライン分の画像データのデータ転送が完了するまで、次の１ライン分の画像データのデータ転送を待機することになる。ライン転送監視部406は、画像I/F制御部405で１ライン分の画像データのデータ転送が完了したことを検知した場合に、PCI コントローラ403、周期カウンタ404、画像I/F制御部405に出力スタートパルスを出力する。これにより、次の１ラインの画像データのデータ転送が開始される。
【００６３】
次の１ライン分の画像データは、周期カウンタ404のカウント動作の範囲内にデータ転送が完了する状態を示している。画像I/F制御部405で１ライン分の画像データのデータ転送が完了しているが、周期カウンタ404のカウント動作が完了していない。この場合、ライン転送監視部406は、周期カウンタ404のカウント動作が完了するまで、出力開始パルスを出力しない。これにより、周期カウンタ404のカウント動作が完了していない場合は、その周期カウンタ404のカウント動作が完了するまで、次の１ライン分の画像データのデータ転送を待機することになる。ライン転送監視部406は、周期カウンタ4041のカウント動作が完了したことを検知した場合に、PCI コントローラ403、周期カウンタ404、画像I/F制御部405に出力スタートパルスを出力する。これにより、次の１ライン分の画像データのデータ転送が開始される。
【００６４】
＜本実施形態の複合機100の作用・効果＞
本実施形態の複合機100は、基本ライン周期と、最小ライン周期と、を制御レジスタ401に設定する。基本ライン周期は、PCI Express310を介して１ライン分の画像データを転送する際に必要な転送レートである。最小ライン周期は、１ライン分の画像データを転送する際に最低限必要な転送レートである。また、画像処理部306で画像処理を行う際に画像データのデータ量が変化する要因となる要素である主走査解像度、階調数、版数を制御レジスタ401に設定する。カウンタ404は、まず、制御レジスタ401に設定されている基本ライン周期、主走査解像度、階調数、版数を用いてコントローラユニット302側に１ライン分の画像データを転送する際の転送周期を算出する。その算出した転送周期が最小ライン周期よりも大きい場合は、その算出した転送周期でPCI Express310を介してコントローラユニット302側に１ライン分の画像データを転送する。また、上記算出した転送周期が最小ライン周期よりも小さい場合は、最小ライン周期を転送周期とし、その転送周期でPCI Express310を介してコントローラユニット302側に１ライン分の画像データを転送する。
【００６５】
本実施形態の複合機100は、上記処理を行うことで、単位時間あたりのデータ量を一定に保ちながら、コントローラユニット302側にPCI Express310を介してデータ転送を行うことができる。その結果、コントローラユニット302に対する転送レートのばらつきを抑えることができるため、画像処理部150のハードウェア性能を最大限に使用することができる。
【００６６】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００６７】
上記実施形態の画像処理部150を構成する各装置における制御動作は、ハードウェア、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【００６８】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータ内のメモリにインストールして実行させることが可能である。
【００６９】
例えば、プログラムは、記録媒体としてのハードディスクやROM（Read Only Memory）に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に一時的、あるいは、永続的に格納（記録）しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。リムーバブル記録媒体は、磁気ディスク、半導体メモリなどの各種記録媒体があげられる。
【００７０】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトからコンピュータに無線転送することになる。また、ネットワークを介してコンピュータに有線で転送することになる。
【００７１】
また、上記実施形態の画像処理部150は、上記実施形態で説明した処理動作に従って時系列的に処理を実行するだけでなく、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に処理を実行するように構築することも可能である。
【符号の説明】
【００７２】
１００    複合機
１１０    自動原稿送り機
１２０    操作ボード
１３０    スキャナ
１４０    プリンタ（画像形成部）
１５０    画像処理部
１６０    給紙バンク
１１１    コンタクト・イメージ・センサ（裏面画像読取部）
１３１    スキャン・ユニット（表面画像読取部）
３０１    エンジンユニット
３０５    ローカル・メモリ
３０９    ローカル・メモリ・コントローラ
３０６    画像処理部
３０７    画像I/F部
３１０    PCI Express
３０２    コントロールユニット
４０１    制御レジスタ
４０２    I/F制御部
４０３    PCIコントローラ
４０４    周期カウンタ
４０５    画像I/F制御部
４０６    ライン転送監視部
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特開２０１１-５５２１４号公報
【図１】
2014092872.tif 000003
【図２】
2014092872.tif 000004
【図３】
2014092872.tif 000005
【図４】
2014092872.tif 000006
【図５】
2014092872.tif 000007
【図６】
2014092872.tif 000008
【図７】
2014092872.tif 000009
【図８】
2014092872.tif 000010