IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特許-情報処理装置 図1
  • 特許-情報処理装置 図2
  • 特許-情報処理装置 図3
  • 特許-情報処理装置 図4
  • 特許-情報処理装置 図5
  • 特許-情報処理装置 図6
  • 特許-情報処理装置 図7
  • 特許-情報処理装置 図8
  • 特許-情報処理装置 図9
  • 特許-情報処理装置 図10
  • 特許-情報処理装置 図11
  • 特許-情報処理装置 図12
  • 特許-情報処理装置 図13
  • 特許-情報処理装置 図14
  • 特許-情報処理装置 図15
  • 特許-情報処理装置 図16
  • 特許-情報処理装置 図17
  • 特許-情報処理装置 図18
  • 特許-情報処理装置 図19
  • 特許-情報処理装置 図20
  • 特許-情報処理装置 図21
  • 特許-情報処理装置 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-01
(45)【発行日】2024-04-09
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06F 13/28 20060101AFI20240402BHJP
   B41J 29/38 20060101ALI20240402BHJP
   H04N 1/00 20060101ALI20240402BHJP
【FI】
G06F13/28 310A
G06F13/28 310Y
B41J29/38 501
B41J29/38 301
H04N1/00 Z
【請求項の数】 10
(21)【出願番号】P 2020047935
(22)【出願日】2020-03-18
(65)【公開番号】P2021149429
(43)【公開日】2021-09-27
【審査請求日】2023-02-24
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
(74)【代理人】
【識別番号】100125346
【弁理士】
【氏名又は名称】尾形 文雄
(74)【代理人】
【識別番号】100166981
【弁理士】
【氏名又は名称】砂田 岳彦
(72)【発明者】
【氏名】平山 雄也
(72)【発明者】
【氏名】中港 努
(72)【発明者】
【氏名】黒石 健児
【審査官】田中 啓介
(56)【参考文献】
【文献】特開2005-202767(JP,A)
【文献】特開2006-157580(JP,A)
【文献】特開2010-263328(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B41J2/00-2/005
B41J2/22-2/23、2/255
B41J2/30、2/31
B41J2/485-2/495
B41J2/505-2/515
B41J3/00、3/60
B41J5/00-5/52
B41J21/00-21/18
B41J29/00-29/70
G06F3/09-3/12
G06F11/07、11/28-11/36
G06F13/10-13/14
G06F13/20-13/42
H04N1/00
(57)【特許請求の範囲】
【請求項1】
データを処理するプロセッサと、DMAコントローラを含む処理回路と、DMA転送の経路を管理する管理部と、当該プロセッサ、当該処理回路及び当該管理部が接続されるネットワークスイッチとを有し、
前記管理部は、
前記プロセッサから通知されるジョブの内容に応じ、前記ネットワークスイッチを介するDMA転送の経路を設定し、
設定された前記経路に従い、前記ジョブに対応するDMA転送の進捗を管理し、
管理の対象とする全てのDMA転送が完了するたび、当該管理の対象とする全てのDMA転送の完了を、前記ネットワークスイッチを介して前記プロセッサに通知する
情報処理装置。
【請求項2】
前記管理部は、前記ジョブを識別する情報を、前記処理回路へのDMA転送の実行の指示に付加する、請求項1に記載の情報処理装置。
【請求項3】
前記管理部は、設定された前記経路と前記処理回路から通知される処理の状況に関する情報とに基づいて、DMA転送の実行の指示の通知先を特定する、請求項2に記載の情報処理装置。
【請求項4】
前記管理部は、前記処理の状況に関する情報がエラーの発生である場合、前記プロセッサに対し、前記ジョブを識別する情報とエラーの発生を通知する、請求項3に記載の情報処理装置。
【請求項5】
エラーがデータの取得に関する場合、前記管理部は、全ての前記処理回路に対し、該当する前記ジョブを識別する情報が付されているデータの破棄を指示する、請求項4に記載の情報処理装置。
【請求項6】
エラーが経路上の最後尾に位置する前記処理回路で発生した場合、前記管理部は、最後尾から1つ前までのDMA転送を継続させ、エラーの原因が解消した後、エラーが発生した当該処理回路に対して処理の再開を指示する、請求項5に記載の情報処理装置。
【請求項7】
データを処理するプロセッサと、DMAコントローラを含む処理回路と、DMA転送の経路を管理する管理部と、当該プロセッサ、当該処理回路及び当該管理部が接続されるネットワークスイッチとを有し、
前記管理部は、
前記プロセッサから通知されるジョブの内容に応じ、前記ネットワークスイッチを介するDMA転送の経路を設定し、
設定された前記経路に従い、前記ジョブに対応するDMA転送の進捗を管理し、
前記経路上の最後尾に位置する前記処理回路へのDMA転送完了するたび、管理の対象とする処理の完了を、前記ネットワークスイッチを介して前記プロセッサに通知する
情報処理装置。
【請求項8】
前記プロセッサは、前記管理部からの前記管理の対象とする処理の完了の通知を、前記ジョブに対応付けて管理する、請求項7に記載の情報処理装置。
【請求項9】
前記処理回路は、前記ジョブを識別する情報を付して、データのDMA転送を実行する、請求項2に記載の情報処理装置。
【請求項10】
請求項1に記載の情報処理装置は、ジョブの内容に応じて画像データをDMA転送する経路が変化する画像処理装置である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関する。
【背景技術】
【0002】
製品のコストを下げる目的で、より演算の速度が遅いCPU(=Central Processing Unit)への変更が求められることがある。演算の速度が遅いCPUを用いて画像を処理する場合、バスを介して、複数のDMA(=Direct Memory Access)転送が同時に実行されると、データの衝突を回避する必要から通信の帯域が制限される。
そこで、システムを構成する全ての機能ブロック(以下「ノード」ともいう)をネットワークスイッチ経由で接続し、通信の帯域を広げる試みがある。ネットワークスイッチを用いるネットワークトポロジーは、スイッチドファブリックとも呼ばれている。この場合、個々のノードには、DMAコントローラが設けられ、ノード間でデータがDMA転送される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2007-52501号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ネットワークスイッチの採用により、CPUは、ユーザインタフェース画面に関する処理等のCPUにしか出来ない処理を優先的に実行できる。一方で、CPUは、データの転送に関与しないため、管理の対象とするデータ単位における処理の進捗を管理できない。
【0005】
本発明は、プロセッサがDMA転送の開始を指示した後はデータの転送を監視しない場合と比較して、プロセッサの負荷の軽減とデータ処理の進捗の管理とを両立させることを目的とする。
【課題を解決するための手段】
【0006】
請求項1に記載の発明は、データを処理するプロセッサと、DMAコントローラを含む処理回路と、DMA転送の経路を管理する管理部と、当該プロセッサ、当該処理回路及び当該管理部が接続されるネットワークスイッチとを有し、前記管理部は、前記プロセッサから通知されるジョブの内容に応じ、前記ネットワークスイッチを介するDMA転送の経路を設定し、設定された前記経路に従い、前記ジョブに対応するDMA転送の進捗を管理し、管理の対象とする全てのDMA転送が完了するたび、当該管理の対象とする全てのDMA転送の完了を、前記ネットワークスイッチを介して前記プロセッサに通知する情報処理装置である。
請求項2に記載の発明は、前記管理部は、前記ジョブを識別する情報を、前記処理回路へのDMA転送の実行の指示に付加する、請求項1に記載の情報処理装置である。
請求項3に記載の発明は、前記管理部は、設定された前記経路と前記処理回路から通知される処理の状況に関する情報とに基づいて、DMA転送の実行の指示の通知先を特定する、請求項2に記載の情報処理装置である。
請求項4に記載の発明は、前記管理部は、前記処理の状況に関する情報がエラーの発生である場合、前記プロセッサに対し、前記ジョブを識別する情報とエラーの発生を通知する、請求項3に記載の情報処理装置である。
請求項5に記載の発明は、エラーがデータの取得に関する場合、前記管理部は、全ての前記処理回路に対し、該当する前記ジョブを識別する情報が付されているデータの破棄を指示する、請求項4に記載の情報処理装置である。
請求項6に記載の発明は、エラーが経路上の最後尾に位置する前記処理回路で発生した場合、前記管理部は、最後尾から1つ前までのDMA転送を継続させ、エラーの原因が解消した後、エラーが発生した当該処理回路に対して処理の再開を指示する、請求項5に記載の情報処理装置である。
請求項7に記載の発明は、データを処理するプロセッサと、DMAコントローラを含む処理回路と、DMA転送の経路を管理する管理部と、当該プロセッサ、当該処理回路及び当該管理部が接続されるネットワークスイッチとを有し、前記管理部は、前記プロセッサから通知されるジョブの内容に応じ、前記ネットワークスイッチを介するDMA転送の経路を設定し、設定された前記経路に従い、前記ジョブに対応するDMA転送の進捗を管理し、前記経路上の最後尾に位置する前記処理回路へのDMA転送完了するたび、管理の対象とする処理の完了を、前記ネットワークスイッチを介して前記プロセッサに通知する情報処理装置である。
請求項8に記載の発明は、前記プロセッサは、前記管理部からの前記管理の対象とする処理の完了の通知を、前記ジョブに対応付けて管理する、請求項7に記載の情報処理装置である。
請求項9に記載の発明は、前記処理回路は、前記ジョブを識別する情報を付して、データのDMA転送を実行する、請求項2に記載の情報処理装置である。
請求項10に記載の発明は、請求項1に記載の情報処理装置は、ジョブの内容に応じて画像データをDMA転送する経路が変化する画像処理装置である。
【発明の効果】
【0007】
請求項1記載の発明によれば、プロセッサがDMA転送の開始を指示した後はデータの転送を監視しない場合とは異なり、プロセッサの負荷の軽減とデータ処理の進捗の管理とを両立できる。
請求項2記載の発明によれば、ジョブ毎にデータ処理の進捗を管理できる。
請求項3記載の発明によれば、処理回路間におけるDMA転送の進捗を管理できる。
請求項4記載の発明によれば、プロセッサにおいて、エラーの発生したジョブを管理できる。
請求項5記載の発明によれば、誤ったデータ処理の完了が記録されないようにできる。
請求項6記載の発明によれば、エラーの発生が最後尾の処理回路で発生した場合には、最後尾の処理回路からデータ処理を再開できる。
請求項7記載の発明によれば、プロセッサには、管理の対象とする処理の完了だけを通知できる。
請求項8記載の発明によれば、管理の対象とする処理の完了をジョブ毎に管理できる。
請求項9記載の発明によれば、DMA転送を実行する処理回路間でジョブを識別する情報を引き継ぐことができる。
請求項10記載の発明によれば、画像データをDMA転送する画像処理装置でデータ処理の進捗の管理を実現できる。
【図面の簡単な説明】
【0008】
図1】実施の形態で使用する画像形成装置の外観構造の一例を説明する図である。
図2】装置本体に設けられるデータ処理ユニットの構成例を説明する図である。
図3】原稿から情報を読み取って画像形成装置内のハードディスク装置に保存するジョブで実行される処理動作の一例を説明する図である。
図4】ステップ1における指示の経路を説明する図である。
図5】ステップ3における通知の経路を説明する図である。
図6】DMA経路の計算例を説明する図である。
図7】ステップ5における通知の経路を説明する図である。
図8】ステップ7の指示とステップ8の通知の経路を説明する図である。
図9】ステップ10のDMA転送とステップ11の通知の経路を説明する図である。
図10】ステップ13の指示の経路を説明する図である。
図11】ステップ14における画像データのDMA転送の経路を説明する図である。
図12】ステップ15における通知の経路を説明する図である。
図13】スキャン画像処理ブロックのDMAコントローラによる画像データのDMA転送の経路を説明する図である。
図14】スキャン画像処理ブロックのDMAコントローラによるDMA完了割り込みの通知を説明する図である。
図15】スキャン画像圧縮ブロックのDMAコントローラによる画像データのDMA転送の経路を説明する図である。
図16】スキャン画像処理ブロックのDMAコントローラによるDMA完了割り込みの通知を説明する図である。
図17】DMA経路計算モジュールによる1ページ処理完了割り込みの通知を説明する図である。
図18】パケットの破棄の指示が送信される経路を説明する図である。
図19】原稿のコピー印刷ジョブで実行される処理動作の一例を説明する図である。
図20】DMA経路の他の計算例を説明する図である。
図21】印刷データの印刷ジョブで実行される処理動作の一例を説明する図である。
図22】DMA経路の他の計算例を説明する図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の実施の形態を説明する。
【0010】
<実施の形態>
<外観構成>
図1は、実施の形態で使用する画像形成装置1の外観構造の一例を説明する図である。
図1に示す画像形成装置1は、画像読取装置10と、操作パネル20と、装置本体30と、給紙トレイ40を備えている。
画像読取装置10は、原稿を光学的に読み取り、読み取った情報を画像データとして出力する装置である。図1に示す画像読取装置10は、原稿を読み取り面に置き、読み取りヘッドを相対的に移動させる読み取り方式と、読み取りヘッドを固定し、原稿を相対的に移動させる読み取り方式の両方に対応している。以下では、画像読取装置10をスキャナともいう。
【0011】
操作パネル20は、操作に用いるボタン、状態の通知に用いるランプ、タッチパネルディスプレイを有している。操作パネル20は、画像読取装置10の手前側に取り付けられている。操作パネル20は、ユーザに対する情報の提供とユーザからの指示の受付に用いられる。以下では、操作パネル20をユーザインタフェース(=UI: User Interface)ともいう。
装置本体30は、データを処理するデータ処理ユニットと印刷ユニットを有している。データ処理ユニットは、情報処理装置の一例である。
この他、装置本体30は、給紙トレイ40から印刷ユニットまで用紙を搬送する給紙機構、印刷された用紙を排出する排出機構も有している。本実施の形態における印刷ユニットは、記録材にトナーを用いる印刷方式を採用する。もっとも、記録材にインクを用いる印刷方式を採用してもよい。
本実施の形態における画像形成装置1は、画像処理装置の一例である。
【0012】
<データ処理ユニットの構成>
図2は、装置本体30に設けられるデータ処理ユニットの構成例を説明する図である。
本実施の形態で使用するデータ処理ユニットは、ネットワークスイッチ301と複数の機能ブロックとで構成されている。
ネットワークスイッチ301には、例えばクロスバースイッチを使用する。
機能ブロックの1つは、データを処理するCPU302である。
CPU302は、ファームウェアプログラムやアプリケーションプログラムの実行を通じ、各種のデータ処理を実現する。例えばCPU302は、ページ記述言語(=PDL:Page Description Language)で構成された印刷データを解析し、ビットマップデータに変換する処理を実行する。なお、CPU302には、不図示のシステムメモリとの間でデータを読み書きするメモリコントローラ302Aが接続されている。
本実施の形態におけるCPU302は、プロセッサの一例である。
【0013】
機能ブロックの他の1つは、DMA経路計算モジュール303である。
本実施の形態におけるDMA経路計算モジュール303は、ジョブの通知を受けるたびに、ジョブの内容に応じた画像データの転送の経路(以下「転送経路」という)を計算する。なお、計算された転送経路は、ジョブが終わるまで、DMA経路計算モジュール303に保持される。
もっとも、ジョブの内容に応じた画像データの転送経路の情報を記憶したテーブルが用意されている場合には、ジョブに応じた転送経路の計算は不要である。テーブルが用意されている場合、DMA経路計算モジュール303は、ジョブに応じた転送経路をテーブルから読み出す。
【0014】
DMA経路計算モジュール303は、DMAコントローラ間における画像データのDMA転送の進捗を管理する機能も実行する。
本実施の形態の場合、画像データのDMA転送は、ページ単位で実行される。ページは、DMA転送の管理の対象の一例である。
本実施の形態の場合、DMA転送される画像データには、ジョブを識別する情報(以下「ジョブID」という)が付加される。このため、DMA転送の進捗は、ジョブID(=IDentifier)とページを識別する情報とで管理される。
本実施の形態におけるDMA経路計算モジュール303は、管理部の一例である。
【0015】
機能ブロックの他の1つは、スキャン系画像処理モジュール304である。
本実施の形態におけるスキャン系画像処理モジュール304は、スキャン画像処理ブロック304Aと、スキャン画像圧縮ブロック304Bと、スキャン画像回転ブロック304Cを有している。
スキャン画像処理ブロック304A、スキャン画像圧縮ブロック304B、スキャン画像回転ブロック304Cは、それぞれ独立したブロックである。従って、スキャン系画像処理モジュール304を構成する各ブロック間における画像データのDMA転送もネットワークスイッチ301を介して実行される。
スキャン画像処理ブロック304A、スキャン画像圧縮ブロック304B、スキャン画像回転ブロック304Cには、画像データのDMA転送を実行するDMAコントローラが設けられている。従って、スキャン画像処理ブロック304A、スキャン画像圧縮ブロック304B、スキャン画像回転ブロック304Cは、DMAコントローラを含む処理回路の一例である。
【0016】
機能ブロックの他の1つは、スキャナIF305である。
スキャナIF305には、画像読取装置10が接続されている。スキャナIF305にも、DMAコントローラが設けられている。従って、スキャナIF305は、DMAコントローラを含む処理回路の一例である。スキャナIF305は、画像読取装置10から読み取った画像データのDMA転送を実行する。
機能ブロックの他の1つは、メモリコントローラ306である。
メモリコントローラ306は、不図示の共用RAM(=Random Access Memory)やページバッファとの間でデータの読み書きを実行する。メモリコントローラ306にも、DMAコントローラが設けられている。従って、メモリコントローラ306は、DMAコントローラを含む処理回路の一例である。
【0017】
機能ブロックの他の1つは、外部IF307である。
本実施の形態における外部IF307は、不図示のネットワークやUSB(=Universal Serial Bus)等を介して外部の装置とデータを送受信する。外部の装置には、記憶媒体も含まれる。
機能ブロックの他の1つは、ストレージIF308である。
実施の形態におけるストレージIF308は、不図示のハードディスク装置に接続されている。ハードディスク装置は、ストレージの一例である。ストレージIF308にも、DMAコントローラが設けられている。従って、ストレージIF308は、DMAコントローラを含む処理回路の一例である。
【0018】
機能ブロックの他の1つは、プリント系画像処理モジュール309である。
本実施の形態におけるプリント系画像処理モジュール309は、ビデオ画像処理ブロック309Aと、ビデオ画像圧縮ブロック309Bと、ビデオ画像伸長ブロック309Cを有している。
ビデオ画像処理ブロック309A、ビデオ画像圧縮ブロック309B、ビデオ画像伸長ブロック309Cは、それぞれ独立したブロックである。従って、プリント系画像処理モジュール309を構成する各ブロック間における画像データのDMA転送もネットワークスイッチ301を介して実行される。
ビデオ画像処理ブロック309A、ビデオ画像圧縮ブロック309B、ビデオ画像伸長ブロック309Cには、画像データのDMA転送を実行するDMAコントローラが設けられている。従って、ビデオ画像処理ブロック309A、ビデオ画像圧縮ブロック309B、ビデオ画像伸長ブロック309Cは、DMAコントローラを含む処理回路の一例である。
【0019】
機能ブロックの他の1つは、プリンタIF310である。
プリンタIF310には、装置本体30に設けられている不図示の印刷ユニットが接続されている。プリンタIF310にも、DMAコントローラが設けられている。従って、プリンタIF310は、DMAコントローラを含む処理回路の一例である。プリンタIF310は、DMA転送により受信した画像データを印刷ユニットに出力する。
機能ブロックの他の1つは、ユーザインタフェースIF311である。
ユーザインタフェースIF311には、不図示の操作パネル20(図1参照)が接続されている。ユーザインタフェースIF311は、操作パネル20を介して入力されたユーザの指示をCPU302に送信する一方、CPU302からの受信した情報を操作パネル20に出力する。
【0020】
<処理動作>
以下では、ユーザが指示したジョブの内容別に、画像形成装置1(図1参照)で実行される処理動作について説明する。
ジョブの1つは、原稿から情報を読み取って画像形成装置1内のハードディスク装置への保存である。換言すると、このジョブは、スキャナから出力される画像データを、ハードディスク装置に記憶する処理動作に対応する。
ジョブの他の1つは、原稿のコピー印刷である。換言すると、このジョブは、スキャナから出力される画像データを、印刷ユニットに出力する処理動作に対応する。
ジョブの他の1つは、印刷データの印刷である。換言すると、このジョブは、外部の装置から受信した印刷データに対応する画像データを、印刷ユニットに出力する処理動作に対応する。
【0021】
<原稿から情報を読み取って画像形成装置1内のハードディスク装置に保存するジョブ>
図3は、原稿から情報を読み取って画像形成装置1内のハードディスク装置に保存するジョブで実行される処理動作の一例を説明する図である。図中に示す記号のSはステップを意味する。
以下では、図3図18を使用して一連の処理動作を説明する。
【0022】
図3に示す処理動作は、CPU302が、スキャン画像の保存の指示を受け付けることで開始される(ステップ1)。この指示は、操作パネル20(図1参照)からネットワークスイッチ301を介してCPU302に通知される。図4は、ステップ1における指示の経路を説明する図である。
通知を受信したCPU302は、ページバッファに領域を確保する。ページバッファは、例えばDRAM(=Dynamic Random Access Memory)であり、メモリコントローラ306に接続されている。
【0023】
指示を受け付けたCPU302は、ジョブの管理タスクを開始する(ステップ2)。管理タスクでは、新たなジョブに対するジョブIDが割り付けられる。
この後、CPU302は、割り付けられたジョブIDと各種の設定を含むジョブ情報をDMA経路計算モジュール303に通知する(ステップ3)。ジョブ情報は、CPU302からネットワークスイッチ301を介してDMA経路計算モジュール303に通知される。図5は、ステップ3における通知の経路を説明する図である。
【0024】
新たなジョブ情報の通知を受け付けたDMA経路計算モジュール303は、受け付けたジョブ情報からDMA経路を計算して保持する(ステップ4)。図6は、DMA経路の計算例を説明する図である。図中の矢印は、DMA転送の向きを示している。図6の場合、DMA経路は、スキャナIF305→メモリコントローラ306→スキャン画像処理ブロック304A→スキャン画像圧縮ブロック304B→ストレージIF308で与えられる。
DMA経路の計算が終わると、DMA経路計算モジュール303は、DMA経路をCPU302へ通知する(ステップ5)。通知されるDMA経路には、ジョブIDが付加されている。ここでのDMA経路は、ジョブIDとともに、DMA経路計算モジュール303からネットワークスイッチ301を介してCPU302に通知される。図7は、ステップ5における通知の経路を説明する図である。
【0025】
DMA経路の通知を受けたCPU302は、DMA経路に関連する機能ブロックを設定する(ステップ6)。ここでの設定もジョブIDにより管理される。
次に、CPU302は、設定したDMA経路の先頭に位置する画像読取装置10に対してスキャンの開始を指示する(ステップ7)。
続いて、CPU302は、DMA経路計算モジュール303に対してスキャンが開始されたことを通知する(ステップ8)。ここでの指示と通知は、いずれもネットワークスイッチ301を介して、相手先に送信される。図8は、ステップ7の指示とステップ8の通知の経路を説明する図である。勿論、ステップ7の指示とステップ8の通知には、ジョブIDが付加されている。
【0026】
スキャンの開始の指示を受け付けた画像読取装置10は、スキャナIF305(図2参照)内のDMAコントローラを起動する(ステップ9)。起動の指示には、ジョブIDが付加されている。
スキャナIF305内のDMAコントローラは、画像読取装置10から入力される画像データをページバッファにDMA転送する(ステップ10)。具体的には、スキャナIF305内のDMAコントローラは、メモリコントローラ306(図2参照)に画像データをDMA転送する。画像データには、ジョブIDも付加されている。
本実施の形態の場合、画像データのDMA転送はページ単位で行われる。従って、1ページ分の画像データのDMA転送が完了するたび、スキャナIF305内のDMAコントローラは、DMA経路計算モジュール303に対してDMA完了割り込みを通知する(ステップ11)。図9は、ステップ10のDMA転送とステップ11の通知の経路を説明する図である。図9では、画像データがDMA転送される経路を実線で示している。この通知にも、ジョブIDが含まれている。このため、DMA経路計算モジュール303によるジョブの進捗の管理が実現される。
【0027】
DMA完了割り込みを受け付けたDMA経路計算モジュール303は、ステップ4で計算したDMA経路に従い、次に起動するDMAコントローラを特定する(ステップ12)。次に起動するDMAコントローラは、通知先の一例である。この処理動作では、メモリコントローラ306内のDMAコントローラが特定される。
次に、DMA経路計算モジュール303は、メモリコントローラ306内のDMAコントローラに対し、ジョブIDとアドレス情報を含むDMA転送の開始を指示する(ステップ13)。この指示にもジョブIDが付加されている。
アドレス情報には、送信元アドレスと送信先アドレスが含まれている。この処理動作の場合、送信先アドレスとして、スキャン画像処理ブロック304Aのアドレスが与えられる。送信元アドレスは、メモリコントローラ306である。図10は、ステップ13の指示の経路を説明する図である。
ここでは、指示を受け付けたメモリコントローラ306内のDMAコントローラが、スキャン画像処理ブロック304Aを宛先として、ジョブIDを含む画像データのDMA転送を実行する(ステップ14)。図11は、ステップ14における画像データのDMA転送の経路を説明する図である。ここでのDMA転送もページ単位で実行される。
【0028】
DMA転送が完了すると、メモリコントローラ306内のDMAコントローラは、DMA完了割り込みをDMA経路計算モジュール303に通知する(ステップ15)。ここでの通知にもジョブIDが含まれる。図12は、ステップ15における通知の経路を説明する図である。
DMA完了割り込みの通知を受け付けたDMA経路計算モジュール303は、受け付けた通知がDMA転送を実行する最後尾のDMAコントローラからの割り込みか否かを判定する(ステップ16)。この判定は、ジョブIDを用いて実行される。
この処理動作の場合、DMA転送を実行する最後尾のDMAコントローラは、スキャン画像圧縮ブロック304B(図2参照)である。このため、今回の判定では、ステップ16で否定結果が得られる。
ステップ16で否定結果が得られた場合、DMA経路計算モジュール303は、ステップ12に戻り、次に起動するDMAコントローラを特定する。因みに、次に起動するDMAコントローラとして、スキャン画像処理ブロック304AのDMAコントローラが特定される。
【0029】
以下、ステップ4で計算されたDMA経路に従い、画像データのDMA転送が実行される。
図13は、スキャン画像処理ブロック304AのDMAコントローラによる画像データのDMA転送の経路を説明する図である。ここでの画像データは、DMA経路に従い、スキャン画像圧縮ブロック304BにDMA転送されている。ここでのDMA転送はステップ14に対応する。勿論、DMA転送の対象である画像データにはジョブIDが付加されている。図14は、スキャン画像処理ブロック304AのDMAコントローラによるDMA完了割り込みの通知を説明する図である。この通知はステップ15に対応する。
【0030】
図15は、スキャン画像圧縮ブロック304BのDMAコントローラによる画像データのDMA転送の経路を説明する図である。ここでの画像データは、DMA経路に従い、ストレージIF308にDMA転送されている。ここでのDMA転送はステップ14に対応する。勿論、DMA転送の対象である画像データにはジョブIDが付加されている。図16は、スキャン画像処理ブロック304AのDMAコントローラによるDMA完了割り込みの通知を説明する図である。この通知はステップ15に対応する。
スキャン画像圧縮ブロック304B内のDMAコントローラは、DMA転送を実行する最後尾のDMAコントローラであるので、ステップ16で肯定結果が得られる。
【0031】
ステップ16で肯定結果が得られると、DMA経路計算モジュール303は、DMA経路の最後尾はプリンタIFであるか否かを判定する(ステップ17)。この判定にもジョブIDが用いられる。今回の場合、DMA経路の最後尾は、ストレージIF308である。このため、ステップ17では、否定結果が得られる。この場合、DMA経路計算モジュール303は、ステップ19に進む。
なお、ステップ17で肯定結果が得られた場合、DMA経路計算モジュール303は、用紙の後端が通過したとの通知の受信を待機する(ステップ18)。この判定にもジョブIDが用いられる。用紙の後端の通過により該当ページの印刷の終了が確定するためである。
印刷中にエラーが発生した場合には、対応するジョブIDとエラーの発生を通知する信号とが、エラーの発生を検知したデバイスから、ネットワークスイッチ301を介してDMA経路計算モジュール303に通知される。
【0032】
ステップ18で通知が受信された場合、又は、ステップ17で否定結果が得られた場合、DMA経路計算モジュール303は、1ページ処理完了割込みのCPU302への通知を決定し(ステップ19)、CPU302に対して1ページ処理完了割り込みをCPU302に通知する(ステップ20)。図17は、DMA経路計算モジュール303による1ページ処理完了割り込みの通知を説明する図である。この通知はステップ20に対応する。
この通知を受け付けたCPU302は、1ページ分の課金処理を実行する(ステップ21)。本実施の形態における画像形成装置1は、1ページ単位で課金する業務用の装置であるためである。
【0033】
従って、ページ単位での課金を行わない画像形成装置1の場合には、ステップ21の実行は不要である。もっとも、1ページ処理完了割り込みの通知により、CPU302は、ページ単位でのジョブの進捗の状況を管理する。
以上の処理動作は、1つのジョブに関連する全てのページの情報の読み取りが完了するまで繰り返し実行される。この場合、複数のページに対応する画像データのネットワークスイッチ301を介したDMA転送が、複数の機能ブロック間で並列的に実行される。
【0034】
ところで、処理動作中にエラーが発生して処理動作が中断又は中止される場合がある。例えば読み取りヘッドに対して原稿を相対的に移動させる読み取り方式の実行中に、原稿の搬送が異常停止することがある。原稿からの情報の読み取りに関するエラーは、データの取得に関するエラーの一例である。
エラーの発生を通知する信号は、エラーの発生を検知した画像読取装置10からスキャナIF305に与えられる。エラーの発生を通知する信号は、スキャナIF305からDMA経路計算モジュール303に通知される。DMA経路計算モジュール303は、画像読取装置10におけるエラーの発生を、CPU302に通知する。前述したように、この通知にもジョブIDが含まれている。
【0035】
エラーの通知を受け付けたCPU302は、実行中のジョブに関する課金処理を中止し、ユーザインタフェースIF311にエラーメッセージを送信する。エラーメッセージは、操作パネル20のタッチパネルディスプレイに表示される。
エラーメッセージの送信後、CPU302は、装置本体30内に存在する全てのDMAコントローラに対し、エラーが発生した処理と同じジョブIDが付されているパケットの破棄を指示する。図18は、パケットの破棄の指示が送信される経路を説明する図である。図18の例では、DMAコントローラを含む全ての機能ブロックが指示の宛先となる。
【0036】
もっとも、パケットの破棄の指示の宛先は、DMA経路を構成するDMAコントローラを含む機能ブロックに限ってもよい。
エラーの原因が解消され、原稿の読み取りが先頭ページから再開されると、前述した一連の動作が実行される。
なお、発生したエラーが復旧された後の原稿の読み取りの再開の方法について、エラーが発生したページからの情報の読み取りがユーザにより指示されている場合には、ストレージIF308へのDMA転送が完了しているページ数分の課金の情報が保持される。いずれにしても、二重課金が生じないようにする。
【0037】
<原稿のコピー印刷ジョブ>
図19は、原稿のコピー印刷ジョブで実行される処理動作の一例を説明する図である。図19には、図13との対応部分に対応する符号を付して示している。
図19図13の相違点は、ステップ1Aに示すように、処理動作が、コピー印刷の指示を受け付けることで開始される点である。
その他の処理動作は、ステップ17において肯定結果が得られる以外、図3に示す処理動作と基本的に同じである。
なお、ステップ4で計算されるDMA経路は、コピー印刷ジョブに特有のDMA経路が計算される。
【0038】
図20は、DMA経路の他の計算例を説明する図である。図20の場合、DMA経路は、スキャナIF305→メモリコントローラ306→スキャン画像処理ブロック304A→スキャン画像回転ブロック304C→スキャン画像圧縮ブロック304B→ストレージIF308→メモリコントローラ306→ビデオ画像処理ブロック309A→プリンタIF310で与えられる。
【0039】
ところで、原稿のコピー印刷の実行中に、印刷ユニットによる印刷中に紙詰まり等のエラーが発生した場合、各機能ブロックにおける処理や画像データのDMA転送は、DMA転送を実行する最後尾の機能ブロックまで実行される。この処理動作の場合、ビデオ画像処理ブロック309Aまでは、画像データに対するデータ処理やDMA転送が実行される。
この場合、ビデオ画像処理ブロック309Aは、処理が完了した画像データに対応するジョブIDを付してページバッファに記憶する。この画像データの記憶は、DMA経路計算モジュール303からの指示に基づき、DMA転送により実行される。
【0040】
ただし、ページバッファの領域が確保されない場合には、ページバッファではなく、ハードディスク装置が記憶領域として指定される。
印刷ユニットにおける紙詰まりが解消すると、DMA経路計算モジュール303は、ジョブIDを指定してメモリコントローラ306を起動し、ページバッファに記憶されている画像データをプリンタIF310へのDMA転送の開始を指示する。これにより、原稿を先頭から読み直さなくても、紙詰まりが発生した用紙のページから印刷が再開される。
【0041】
<印刷データの印刷ジョブ>
図21は、印刷データの印刷ジョブで実行される処理動作の一例を説明する図である。図21には、図3との対応部分に対応する符号を付して示している。
図21の場合、CPU302が、外部IF307(図2参照)から印刷データを受信することで、処理動作が開始される(ステップ1B)。印刷データは、ページ記述言語で記述されている。
印刷データを受信したCPU302は、ジョブの管理タスクを開始する(ステップ2)。管理タスクでは、新たなジョブに対するジョブIDが割り付けられる。
【0042】
次に、CPU302は、ページ記述言語で記述されている印刷データをビットマップデータに変換した後、ページバッファに記憶する(ステップ2A)。ステップ2Aにおける画像データの記憶は,DMA転送ではない。CPU302が、ネットワークスイッチ301を介してページバッファに書き込む。
ビットマップデータに変換された画像データがページバッファに記憶されると、CPU302は、ジョブIDと各種の設定を含むジョブ情報をDMA経路計算モジュール303に通知する(ステップ3)。
ジョブ情報の通知を受けたDMA経路計算モジュール303は、他の処理動作と同様、DMA経路を計算する(ステップ4)。
【0043】
ステップ4で計算されるDMA経路は、印刷データの印刷ジョブに特有のDMA経路が計算される。
図22は、DMA経路の他の計算例を説明する図である。図22の場合、DMA経路は、メモリコントローラ306→ビデオ画像圧縮ブロック309B→メモリコントローラ306→ビデオ画像伸長ブロック309C→メモリコントローラ306→ビデオ画像処理ブロック309A→プリンタIF310で与えられる。
DMA経路が計算されると、他の処理動作と同じく、DMA経路計算モジュール303は、計算されたDMA経路をCPU302に通知する(ステップ5)。
【0044】
この後、CPU302は、DMA経路に関連する機能ブロックを設定する(ステップ6)。ここでの設定もジョブIDにより管理される。
この後、CPU302は、メモリコントローラ306内のDMAコントローラを起動する(ステップ7A)。この処理動作の場合、画像処理の対象である画像データは、ページバッファに記憶されているためである。DMAコントローラの起動を指示したCPU302は、DMA経路計算モジュール303に対してDMA転送が開始されたことを通知する(ステップ8A)。
この後、メモリコントローラ306内のDMAコントローラは、ページバッファに記憶されている画像データをビデオ画像圧縮ブロック309BへDMA転送する(ステップ10A)。
この後の処理動作は、原稿のコピー印刷の場合と同じである。
【0045】
なお、印刷データの印刷の場合も、印刷ユニットによる印刷中に紙詰まり等のエラーが発生することが起こり得る。この場合も、各機能ブロックにおける処理や画像データのDMA転送は、DMA転送を実行する最後尾の機能ブロックまで実行される。この処理動作の場合、ビデオ画像処理ブロック309Aまでは、画像データに対するデータ処理やDMA転送が実行される。
この場合、ビデオ画像処理ブロック309Aは、処理が完了した画像データに対応するジョブIDを付してページバッファに記憶する。この画像データの記憶は、DMA経路計算モジュール303からの指示に基づき、DMA転送により実行される。
ただし、ページバッファの領域が確保されない場合には、ページバッファではなく、ハードディスク装置が記憶領域として指定される。
印刷ユニットにおける紙詰まりが解消すると、DMA経路計算モジュール303は、ジョブIDを指定してメモリコントローラ306を起動し、ページバッファに記憶されている画像データをプリンタIF310へのDMA転送の開始を指示する。これにより、原稿を先頭から読み直さなくても、紙詰まりが発生した用紙のページから印刷が再開される。
【0046】
<他の実施の形態>
以上、本発明の実施の形態について説明したが、本発明の技術的範囲は前述した実施の形態に記載の範囲に限定されない。前述した実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【0047】
例えば前述した実施の形態の場合には、オフィス等で使用される画像形成装置1の外観を例示したが、プロダクション系の画像形成装置でもよい。
また、前述した実施の形態の場合には、印刷ユニットを備える画像形成装置1について説明したが、ジョブの内容に応じてDMA転送の経路が変化する可能性がある装置であれば、スマートフォン、タブレット端末、ノート型のコンピュータ等の情報処理端末、カメラ等の撮像装置、動画像データを処理の対象とする画像処理装置でもよい。
【0048】
前述した各実施の形態におけるプロセッサは、広義的な意味でのプロセッサを指し、汎用的なプロセッサ(例えばCPU等)の他、専用的なプロセッサ(例えばGPU、ASIC(=Application Specific Integrated Circuit)、FPGA、プログラム論理デバイス等)を含む。
また、前述した各実施の形態におけるプロセッサの動作は、1つのプロセッサが単独で実行してもよいが、物理的に離れた位置に存在する複数のプロセッサが協働して実行してもよい。また、プロセッサにおける各動作の実行の順序は、前述した各実施の形態に記載した順序のみに限定されるものでなく、個別に変更してもよい。
【符号の説明】
【0049】
1…画像形成装置、10…画像読取装置、20…操作パネル、30…装置本体、40…給紙トレイ、301…ネットワークスイッチ、302…CPU、302A、306…メモリコントローラ、303…DMA経路計算モジュール、304…スキャン系画像処理モジュール、304A…スキャン画像処理ブロック、304B…スキャン画像圧縮ブロック、304C…スキャン画像回転ブロック、305…スキャナIF、307…外部IF、308…ストレージIF、309…プリント系画像処理モジュール、309A…ビデオ画像処理ブロック、309B…ビデオ画像圧縮ブロック、309C…ビデオ画像伸長ブロック
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22