Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3581582B2 - Encoding / decoding device and image forming system - Google Patents
[go: Go Back, main page]

JP3581582B2 - Encoding / decoding device and image forming system - Google Patents

Encoding / decoding device and image forming system Download PDF

Info

Publication number
JP3581582B2
JP3581582B2 JP28304498A JP28304498A JP3581582B2 JP 3581582 B2 JP3581582 B2 JP 3581582B2 JP 28304498 A JP28304498 A JP 28304498A JP 28304498 A JP28304498 A JP 28304498A JP 3581582 B2 JP3581582 B2 JP 3581582B2
Authority
JP
Japan
Prior art keywords
image
bus
encoding
codec
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP28304498A
Other languages
Japanese (ja)
Other versions
JP2000115277A (en
Inventor
博之 矢口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP28304498A priority Critical patent/JP3581582B2/en
Publication of JP2000115277A publication Critical patent/JP2000115277A/en
Application granted granted Critical
Publication of JP3581582B2 publication Critical patent/JP3581582B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は画像データ等の入力データに所定の符号化・復号化処理を施して出力する符号化復号化装置に関し、特に複数の処理を高速に行うことの出来る符号化復号化装置に関する。
【0002】
【従来の技術】
ネットワーク技術の普及に伴い、ネットワーク上で画像、音声、プログラム等のデータのやり取りが頻繁に行われるようになってきた。多くの場合、ネットワーク負荷を減らし、高速にデータ伝送を行うためデータ圧縮(符号化)技術が用いられている。符号化・復号化は符号化復号化器(コーデック)を用いて行うが、コーデックは専用LSIなどのハードウェア(ハードウェアコーデック)によっても、汎用プロセッサによりソフトウェアを実行すること(ソフトウェアコーデック)によっても実現できる。一般には高速な圧縮を行う必要性があればハードウェアコーデック、処理速度がそれほど重要でない場合やコストを安価に抑える必要がある場合にはソフトウェアコーデックというように、ハードウェアコーデックあるいはソフトウェアコーデックのどちらか一方を用いている。
【0003】
【発明が解決しようとする課題】
しかしながら、例えばスキャナ機能とプリンタ機能を有する複写機(複合機)においては、各機能を容易にかつ任意に付加、削除または増設することができるよう、例えばPCIバスなどの共通バスに接続するように構成されていることが多い。すなわち、ネットワークインタフェースやスキャナ、プリンタへのインタフェース、コーデックが同一のバスに接続される構成である。共通バスを使用することで柔軟な設定が可能な上、コストを抑られる反面、バスの同時使用者(デバイス)が多いと各機器の性能が十分発揮できないという問題がある。例えば、高速な処理を行うためにハードウェアコーデックを接続しても、他のデバイスの処理によっては、符号化復号化処理に時間がかかる場合がある。特に前述の構成の場合、スキャナを用いて読みとった原稿の画像データを符号化してネットワーク上に接続された他の機器へ出力する処理と、他の機器から受信した画像データを復号化してプリンタ機能を用いて出力する処理が重複して発生したような場合においては、バス使用要求が重複し、符号化復号化処理に時間がかかることになる。
【0004】
一方、最近では汎用プロセッサ(CPU)の性能も向上し、ソフトウェアコーデックでもある程度高速な処理が実現できるようになってきた。
【0005】
【課題を解決するための手段】
本発明の目的は、外部から供給されるデータを高速に符号化復号化処理することのできる符号化復号化装置を提供することにある。
【0006】
すなわち、本発明の要旨は、外部から供給される原データに所定の符号化処理又は復号化処理を施して出力する符号化復号化手段を有する符号化復号化装置であって、符号化復号化手段として、ハードウェアによって構成され、少なくとも1つ以上の資源が接続されている第1のバスに接続される第1のコーデックと、ソフトウェアを実行することによって符号化復号化を行う第2のコーデックと、原データの符号化又は復号化処理に使用する符号化復号化手段を選択する選択手段と、を有し、選択手段は、第1のコーデックが接続された第1のバスの使用状況を監視し、使用状況に基づく値が所定の値を超えた場合に第2のコーデックを選択することを特徴とする符号化復号化装置に存する。
【0007】
また本発明の別の要旨は、画像データを発生する手段と、受信した画像データをもとに画像を被記録材上に形成して出力する画像形成手段とが上述の符号化復号化装置を介して通信可能に接続された画像形成システムに存する。
また、本発明の別の要旨は、外部から供給される原データに所定の符号化処理又は復号化処理を施して出力する符号化復号化装置であって、少なくとも1つ以上の資源が接続されている第1のバスに接続された第1のコーデックと、少なくとも1つ以上の資源が接続されている第2のバスに接続された第2のコーデックと、原データの符号化又は復号化処理を、第1のコーデックで実行するか、第2のコーデックで実行するかを選択する選択手段と、を有し、選択手段は、第1のバス及び第2のバスを使用する各資源によるバスの使用状況に基づいて、使用するコーデックを選択することを特徴とする符号化復号化装置に存する。
【0008】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施例について詳細に説明する。以下の実施例においては、本発明の符号化復号化装置をネットワーク接続可能な複合機に適用した例を示すが、上述の通り符号化復号化の対象は画像データに限定されるものではない。
【0009】
[ハードウェア]
複合機システムの全体構成を図1に示す。コントローラ2000は画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095と接続し、一方ではLAN2011や公衆回線(WAN)2051に接続することで、画像情報やデバイス情報の入出力を行う為のコントローラである。CPU2001は複合機全体を制御する汎用プロセッサである。RAM2002はCPU2001が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ROM2003はブートROMであり、複合機のブートプログラムが格納されている。HDD2004はハードディスクドライブで、システムソフトウェア、画像データを格納する。操作部I/F2006は操作部(UI)2012とのインターフェース部で、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から本システム使用者が入力した情報を、CPU2001に伝える役割をする。Modem2050は公衆回線2051に接続し、情報の入出力を行う。以上のデバイスがシステムバス2007上に配置される。
【0010】
画像バスI/F2005はシステムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するバスブリッジである。画像バス2008は、PCIバスまたはIEEE1394で構成される。画像バス2008上には以下のデバイスが配置される。ネットワークI/F2010は画像バス2008をLAN2011に接続し、情報の入出力を行う。ラスターイメージプロセッサ(RIP)2060はPDL(ページ記述言語)コードをビットマップイメージに展開する。デバイスI/F部2020は、画像入出力デバイスであるスキャナ2070やプリンタ2095とコントローラ2000を接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部は、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。画像回転部2030は画像データの回転を行う。コーデック2040は、多値画像データはJPEG、2値画像画像データはJBIG、MMR、MHの圧縮伸張処理を行う。
【0011】
以上説明したような構成は画像処理部分の拡張性を考慮してシステムバス2007部、及び画像バス2008部が分離されるような構成となっており、一般的なコンピュータの構成を応用したものである。上記構成では画像バスI/Fを汎用I/Fにすることで、画像処理を任意に組み合わせることが可能な自由度、また将来性を考慮し拡張性をもたせている。特にコーデック部分は将来様々な規格が提案される可能性もあり、容易に交換できるよう画像バス側に接続される。
【0012】
複合機システムの正面外観例を図2に示す。画像入力デバイスであるスキャナ部2070は、原稿を照明し、CCDラインセンサ(図示せず)を走査することで、ラスターイメージデータとして電気信号に変換する。原稿は原稿フィーダ2072のトレイ2073にセットし、装置使用者が操作部2012から読み取り起動指示することにより、コントローラCPU2001がスキャナ2070に指示を与え、フィーダ2072は原稿を1枚ずつフィードし原稿画像の読み取り動作を行う。
【0013】
画像出力デバイスであるプリンタ部2095は、ラスターイメージデータ2096を紙などの被記録材上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微小ノズルアレイからインクを吐出して用紙上に直接画像を形成するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、コントローラCPU2001からの指示によって開始する。プリンタ部2095には、異なる被記録材サイズまたは異なる被記録材の向きを選択できるように複数の供給段を持ち、それに対応したカセット2101,2102,2103,2104がある。また、排出トレイ2111は印字し終った被記録材を受けるものである。
【0014】
・操作部
操作部2012の外観例を図3に示す。LCD表示部2013は、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報をコントローラCPU2001に伝える。スタートキー2014は原稿画像の読み取り動作を開始する時などに用いる。スタートキー2014中央部には、緑と赤の2色LED2018があり、その色によってスタートキー2014が使える状態にあるかどうかを示す。ストップキー2015は稼働中の動作を止める働きをする。IDキー2016は、使用者のユーザーIDを入力する時に用いる。リセットキー2017は操作部からの設定を初期化する時に用いる。
【0015】
・スキャナ画像処理部
スキャナ画像処理部2080の構成を図4に示す。画像バスI/Fコントローラ2081は、画像バス2008と接続し、そのバスアクセスシーケンスを制御する働きと、スキャナ画像処理部2080内の各デバイスの制御及びタイミングを発生させる。フィルタ処理部2082は、空間フィルタでコンボリューション演算を行う。編集部2083は、例えば入力画像データからマーカーペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、影つけ、網掛け、ネガボジ反転等の画像加工処理を行う。変倍処理部2084は、読み取り画像の解像度を変える場合にラスターイメージの主走査方向について補間演算を行い拡大、縮小を行う。副走査方向の変倍については、画像読み取りラインセンサ(図示せず)を走査する速度を変えることで行う。テーブル変換部2085は、読み取った輝度データである画像データを濃度データに変換するのテーブル変換を行う。2値化処理部2086は、多値のグレースケール画像データを、誤差拡散処理やスクリーン処理によって2値化する。
【0016】
処理が終了した画像データは、再び画像バスコントローラ2081を介して、画像バス上に転送される。
【0017】
・プリンタ画像処理部
プリンタ画像処理部2090の構成を図5に示す。画像バスI/Fコントローラ2091は、画像バス2008と接続し、そのバスアクセスシーケンスを制御する働きと、スキャナ画像処理部2090内の各デバイスの制御及びタイミングを発生させる。解像度変換部2092は、LAN2011あるいはWAN2051から受信した画像データを、プリンタ2095の解像度に変換するための解像度変換を行う。スムージング処理部2093は、解像度変換後の画像データのジャギー(斜め線等の白黒境界部に現れる画像のがさつき)を滑らかにする処理を行う。
【0018】
・コーデック
コーデック2040の構成を図6に示す。画像バスI/Fコントローラ2041は、画像バス2008と接続し、そのバスアクセスシーケンスを制御する働き、入力バッファ2042・出力バッファ2045とのデータのやりとりを行うためのタイミング制御及び、画像圧縮伸長部2043に対するモード設定などの制御を行う。本発明においては、データの圧縮を符号化、伸長を復号化として取り扱う。以下にコーデックの処理手順を示す。
【0019】
画像バス2008を介して、CPU2001から画像バスI/Fコントローラ2041に画像圧縮制御のための設定を行う。この設定により画像バスI/Fコントローラ2041は画像圧縮伸長部2043に対して画像圧縮に必要な設定(たとえばMMR圧縮・JBIG伸長等の)を行う。必要な設定を行った後に、再度CPU2001から画像バスI/Fコントローラ2041に対して画像データ転送の許可を行う。この許可に従い、画像バスI/Fコントローラ2041はRAM2002もしくは画像バス2008上の各デバイスから画像データの転送を開始する。受け取った画像データは入力バッファ2042に一時格納され、画像圧縮伸長部2043の画像データ要求に応じて一定のスピードで画像を転送する。この際、入力バッファは画像バスI/Fコントローラ2041と、画像圧縮伸長部2043両者の間で、画像データを転送できるかどうかを判断し、画像バス2008からの画像データの読み込み及び、画像圧縮伸長部2043への画像の書き込みが不可能である場合は、データの転送を行わないような制御を行う(以後このような制御をハンドシェークと呼称する)。
【0020】
画像圧縮伸長部2043は受け取った画像データを、一旦RAM2044に格納する。これは画像圧縮を行う際には行う画像圧縮処理の種類によって、数ライン分のデータを要するためであり、最初の1ライン分の圧縮を行うためには数ライン分の画像データを用意してからでないと画像圧縮が行えないためである。画像圧縮を施された画像データは直ちに出力バッファ2045に送られる。出力バッファ2045では、画像バスI/Fコントローラ2041及び画像圧縮伸長部2043とのハンドシェークを行い、画像データを画像バスI/Fコントローラ2041に転送する。画像バスI/Fコントローラ2041では転送された圧縮(もしくは伸長)された画像データをRAM2002もしくは画像バス2008上の各デバイスにデータを転送する。こうした一連の処理は、CPU2001からの処理要求が無くなるまで(必要なページ数の処理が終わったとき)、もしくはこの画像圧縮伸長部から停止要求が出るまで(圧縮及び伸長時のエラー発生時等)繰り返される。
【0021】
・画像回転部
画像回転部2030の構成を図7に示す。画像バスI/Fコントローラ2031は、画像バス2008と接続し、そのバスシーケンスを制御する働き、画像回転部2032にモード等を設定する制御及び、画像回転部2032に画像データを転送するためのタイミング制御を行う。以下に画像回転部の処理手順を示す。
【0022】
画像バス2008を介して、CPU2001から画像バスI/Fコントローラ2031に画像回転制御のための設定を行う。この設定により画像バスI/Fコントローラ2041は画像回転部2032に対して画像回転に必要な設定(たとえば画像サイズや回転方向・角度等)を行う。必要な設定を行った後に、再度CPU2001から画像バスI/Fコントローラ2041に対して画像データ転送の許可を行う。この許可に従い、画像バスI/Fコントローラ2031はRAM2002もしくは画像バス2008上のデバイスから画像データの転送を開始する。尚、ここでは画像バス2008の幅を32bitとし回転を行う画像サイズを32×32(bit)とし、又、画像バス2008上に画像データを転送させる際に32bitを単位とする画像転送を行うものとする(扱う画像は2値を想定する)。
【0023】
上述のように、32×32(bit)の画像を得るためには、上述の単位データ転送を32回行う必要があり、且つ不連続なアドレスから画像データを転送する必要がある(図8参照)。不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、RAM2033に書き込まれる。例えば、90度反時計方向回転であれば、最初に転送された32bitの画像データを、図9のようにY方向に書き込んでいく。読み出し時にX方向に読み出すことで、画像が回転される。
【0024】
32×32(bit)の画像回転(RAM2033への書き込み)が完了した後、画像回転部2032はRAM2033から上述した読み出し方法で画像データを読み出し、画像バスI/Fコントローラ2031に画像を転送する。
【0025】
回転処理された画像データを受け取った画像バスI/Fコントローラ2031は、連続アドレッシングを以て、RAM2002もしくは画像バス2008上の各デバイスにデータを転送する。こうした一連の処理は、CPU2001からの処理要求が無くなるまで(必要なページ数の処理が終わったとき)繰り返される。
【0026】
・デバイスI/F部
デバイスI/F部2020の構成を図10に示す。画像バスI/Fコントローラ2021は、画像バス2008と接続し、そのバスアクセスシーケンスを制御する働きと、デバイスI/F部2020内の各デバイスの制御及びタイミングを発生させる。また、外部のスキャナ2070及びプリンタ2095への制御信号を発生させる。スキャンバッファ2022は、スキャナ2070から送られてくる画像データを一時保存し、画像バス2008に同期させて画像データを出力する。シリアルパラレル・パラレルシリアル変換部2023は、スキャンバッファ2022に保存された画像データを順番に並べて、あるいは分解して、画像バス2008に転送できる画像データのデータ幅に変換する。パラレルシリアル・シリアルパラレル変換部2024は、画像バス2008から転送された画像データを分解して、あるいは順番に並べて、プリントバッファ2025に保存できる画像データのデータ幅に変換する。プリントバッファ2025は、画像バス2008から送られてくる画像データを一時保存し、プリンタ2095に同期させて画像データを出力する。
【0027】
画像スキャン時の処理手順を以下に示す。スキャナ2070から送られてくる画像データをスキャナ2070から送られてくるタイミング信号に同期させて、スキャンバッファ2022に保存する。そして、画像バス2008がPCIバスの場合には、バッファ内に画像データが32ビット以上入ったときに、画像データを先入れ先出しで32ビット分、バッファからシリアルパラレル・パラレルシリアル変換2023に送り、32ビットの画像データに変換し、画像バスI/Fコントローラ2021を通して画像バス2008上に転送する。また、画像バス2008がIEEE1394の場合には、バッファ内の画像データを先入れ先出しで、バッファからシリアルパラレル・パラレルシリアル変換部2023に送り、シリアル画像データに変換し、画像バスI/Fコントローラ2021を通して画像バス2008上に転送する。
【0028】
画像プリント時の処理手順を以下に示す。画像バス2008がPCIバスの場合には、画像バスから送られてくる32ビットの画像データを画像バスI/Fコントローラで受け取り、パラレルシリアル・シリアルパラレル変換部2024に送り、プリンタ2095の入力データビット数の画像データに分解し、プリントバッファ2025に保存する。また、画像バス2008がIEEE1394の場合には、画像バスからおくられてくるシリアル画像データを画像バスI/Fコントローラで受け取り、パラレルシリアル・シリアルパラレル変換2024に送り、プリンタ2095の入力データビット数の画像データに変換し、プリントバッファ2025に保存する。そして、プリンタ2095から送られてくるタイミング信号に同期させて、バッファ内の画像データを先入れ先出しで、プリンタ2095に送る。
【0029】
・ネットワークシステム
本発明のコーデックを適用した複合機をネットワークに接続した場合のシステム構成例を図11に示す。1001は本発明のコーデックを適用した複合機で、後述するスキャナとプリンタから構成され、スキャナから読み込んだ画像をローカルエリアネットワーク1010(以下LAN)に流したり、LANから受信した画像をプリンタによりプリントアウトできる。また、スキャナから読んだ画像を図示しないFAX送信手段により、PSTNまたはISDN(1030)に送信したり、PSTNまたはISDNから受信した画像をプリンタによりプリントアウトできる。1002は、データベースサーバで、複合機1001により読み込んだ2値画像及び多値画像をデータベースとして管理する。1003は、データベースサーバ1002のデータベースクライアントで、データベース1002に保存されている画像データを閲覧/検索等できる。
【0030】
1004は、電子メールサーバで、複合機1001により読み取った画像を電子メールの添付として受け取ることができる。1005は、電子メールのクライアントで、電子メールサーバ1004の受け取ったメールを受信し閲覧したり、電子メールを送信したり、可能である。1006がHTML文書をLANに提供するWWWサーバで、複合機1001によりWWWサーバで提供されるHTML文書をプリントアウトできる。1011は、ルータでLAN1010をインターネット/イントラネット1012と連結する。インターネット/イントラネットに、前述したデータベースサーバ(1002)、WWWサーバ(1006)、電子メールサーバ(1004)、複合機(1001)と同様の装置が、それぞれ1020,1021,1022,1023として連結している。一方、複合機1001は、PSTNまたはISDN(1030)を介して、FAX装置1031と送受信可能になっている。また、LAN上にプリンタ1040も連結されており、複合機1001により読み取った画像をプリントアウト可能なように構成されている。
【0031】
[ソフトウェア]
図12は、図1に示した複合機のソフトウェアのモジュール構成を示すブロック図である。
1501はUI即ちユーザインターフェイスを司るものであり、オペレータが本複合機の各種操作・設定を行う際、機器との仲介を行うモジュールである。本モジュールは、オペレータの操作に従い、後述の各種モジュールに入力情報を転送し処理の依頼、或いはデータの設定等を行う。
【0032】
1502はAddress−BooK即ちデータの送付先、通信先等を管理するデータベースモジュールである。Address−BooKの内容は、UI1501からの操作によりデータの追加、削除、取得が行われ、オペレータの操作により後述の各モジュールにデータの送付・通信先情報を与えるものとして使用されるものである。
【0033】
1503はWeb−Serverモジュールであり、図外のWebクライアントからの要求により、本複合機の管理情報を通知するために使用される。管理情報は、後述のControl−API1518を介して読み取られ、後述のHTTP1512、TCP/IP1516、Network−Driver1517を介してWebクライアントに通知される。
【0034】
1504はUniversal−Send即ち、データの配信を司るモジュールであり、UI1501によりオペレータに指示されたデータを、同様に指示された通信(出力)先に配布するものである。また、オペレータにより、本機器のスキャナ機能を使用し配布データの生成が指示された場合は、後述のControl−API1518を介して機器を動作させ、データの生成を行う。
【0035】
1505はUniversla−Send1504内で出力先にプリンタが指定された際に実行されるモジュールである。
1506はUniversla−Send1504内で通信先にE−mailアドレスが指定された際に実行されるモジュールである。
1507はUniversla−Send1504内で出力先にデータベースが指定された際に実行されるモジュールである。
1508はUniversla−Send1504内で出力先に本機器と同様の複合機が指定された際に実行されるモジュールである。
【0036】
1509はRemote−Copy−Scanモジュールであり、本複合機のスキャナ機能を使用し、ネットワーク等で接続された他の複合機を出力先とし、本複合機単体で実現しているCopy機能と同等の処理を行うモジュールである。
1510はRemote−Copy−Printモジュールであり、本複合機のプリンタ機能を使用し、ネットワーク等で接続された他の複合機を入力先とし、本複合機単体で実現しているCopy機能と同等の処理を行うモジュールである。
【0037】
1511はWeb−Pull−Print即ちインターネットまたはイントラネット上の各種ホームページの情報を読み出し、印刷するモジュールである。
1512は本複合機がHTTPにより通信する際に使用されるモジュールであり、後述のTCP/IP1516モジュールにより前述のWeb−Server1503、Web−Pull−Print1511モジュールに通信を提供するものである。
1513はlprモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal−Send1504内のプリンタモジュール1505に通信を提供するものである。
【0038】
1514はSMTPモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal−Send1504内のE−mailモジュール1506に通信を提供するものである。
【0039】
1515はSLM即ちSalutation−Managerモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal−Send1504内のデータベースモジュール1517、DPモジュール1518、及びRemote−Copy−Scan1509モジュール、Remote−Copy−Print1510モジュールに通信を提供するものである。
1516はTCP/IP通信モジュールであり、前述の各種モジュールに後述のNetwork−Driverによりネットワーク通信を提供するものである。
1517はネットワークドライバであり、ネットワークに物理的に接続される部分を制御するものである。
【0040】
1518はControl−APIであり、Universal−Send1504等の上流モジュールに対し、後述のJob−Manager1519等の下流モジュールとのインターフェイスを提供するものであり、上流、及び下流のモジュール間の依存関係を軽減しそれぞれの流用性を高めるものである。
1519はJob−Managerであり、前述の各種モジュールよりControl−API1518を介して指示される処理を解釈し、後述の各モジュールに指示を与えるものである。また、本モジュールは、本複合機内で実行されるハード的な処理を一元管理するものである。
【0041】
1520はCODEC−Managerであり、Job−Manager1519が指示する処理の中でデータの各種圧縮・伸長を管理・制御するものである。
1521はFBE−En Coderであり、Job−Manager1519、Scan−Manager1524により実行されるスキャン処理により読み込まれたデータをFBEフォーマットにより圧縮するものである。
【0042】
1522はJPEG−CODECであり、Job−Manager1519、Scan−Manager1524により実行されるスキャン処理、及びPrint−Manager1526により実行される印刷処理において、読み込まれたデータのJPEG圧縮及び印刷データのJPEG展開処理を行うものである。
【0043】
1523はMMR−CODECであり、Job−Manager1519、Scan−Manager1524により実行されるスキャン処理、及びPrint−Manager1526により実行される印刷処理において、読み込まれたデータのMMR圧縮及び印刷データのMMR伸長処理を行うものである。
【0044】
1524はScan−Managerであり、Job−Manager1519が指示するスキャン処理を管理・制御するものである。
1525はスキャナドライバであり、Scan−Manager1524と本複合機が内部的に接続しているスキャナ部との通信を行うものである。
1526はPrint−Managerであり、Job−Manager1519が指示する印刷処理を管理・制御するものである。
【0045】
1527はプリンタドライバであり、Print−Manager1526と印刷部とのI/Fを提供するものである。
1528はパラレルポートドライバであり、Web−Pull−Print1511がパラレルポートを介して図外の出力機器にデータを出力する際のI/Fを提供するものである。
【0046】
・アプリケーション
以下、本発明の組み込みアプリケーションの実施の形態について図面を用いて説明する。
図13は、図1に示す複合機における、画像データ配信に関する組み込みアプリケーションブロックを表す図である。
【0047】
4050は、前記3000で説明した本発明の操作部アプリケーションを示すブロックである。
4100は、リモートコピーアプリケーションの送信側を示すブロックである。
4150は、同報配信の送信側を示すブロックである。
4200は、Web Pull Printモジュールを示すブロックである。
【0048】
4250は、Web Serverモジュールを示すブロックである。
4300は、リモートコピーの受信側(プリント側)を示すブロックである。
4350は、同報配信で送信されてきたイメージを汎用のプリンタで受信・プリントするブロックである。
4400は、リモートプリントの受信側(プリント側)を示すブロックである。
【0049】
4450は、同報配信で送信されてきたイメージを公知のNotes(商標) Serverで受信・格納するブロックである。
4500は、同報配信で送信されてきたイメージを2値のイメージを受信・格納するブロックである。
4550は、同報配信で送信されてきたイメージを公知のMail Serverで受信・格納するブロックである。
【0050】
4600は、同報配信で送信されてきたイメージを多値のイメージを受信・格納するブロックである。
4650は、情報コンテンツを含んだ、公知のWeb Serverである。
4700は、本発明のWeb Serverなどにアクセスする公知のWeb Browserである。
【0051】
以下、それぞれのブロックに照らし合わせながら、アプリケーション群の説明を詳細に行う。
・User Interfaceアプリケーション
ブロック4050に示したUser Interface(以下、UI)の詳細は、前記したとおりであるが、ここでは、4051のAddress Bookについて説明する。このAddress Bookは、本発明の機器内の不揮発性の記憶装置(不揮発性メモリやハードディスクなど)に保存されており、この中には、ネットワークに接続された機器の特徴が記載されている。例えば、以下に列挙するようなものが含まれている。
機器の正式名やエイリアス名
機器のネットワークアドレス
機器の処理可能なネットワークプロトコル
機器の処理可能なドキュメントフォーマット
機器の処理可能な圧縮タイプ
機器の処理可能なイメージ解像度
プリンター機器の場合の給紙可能な紙サイズ、給紙段情報
サーバー(コンピューター)機器の場合のドキュメントを格納可能なフォルダ名
【0052】
以下に説明する各アプリケーションは、上記Adderss Book4051に記載された情報により配信先の特徴を判別することが可能となる。
また、このAdderss Bookは、編集可能であると共に、ネットワーク内のサーバーコンピュータなどに保存されているものをダウンロードして使用する、または、直接参照することも可能である。
【0053】
・リモートコピーアプリケーション
リモートコピーアプリケーション4041は、配信先に指定された機器の処理可能な解像度情報を前記Adderss Book4051より判別し、それに従い、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、SLM4103に通して、ネットワーク上のプリンター機器に送信する。SLM4103とは、詳細には説明しないが、公知のSalutation Manager(または、Smart Link Manager)と呼ばれる機器制御情報などを含んだネットワークプロトコルの一種である。
【0054】
・同報配信アプリケーション
同報配信アプリケーション4150は、前記リモートコピーアプリケーションと違い、一度の画像走査で複数の配信宛先に画像を送信する事が可能である。また、配信先もプリンターのような画像出力機器にとどまらず、いわゆるサーバーコンピューターにも直接配信可能である。
【0055】
以下、配信先に従って順に説明する。
配信先の機器が公知のネットワークプリンタプロトコルであるLPD(Line プリンタ Daemon)、プリンタ制御コマンドとして公知のLIPSを処理可能だとAdderss Book4051より判別した場合、同様にAdderss Book4051より判別した画像解像度に従って画像読み取りを行い、画像自体は、本実施例では、公知のFBE(First Binari Encoding)を用いて圧縮し、さらにLIPSコード化して、公知のネットワークプリンタプロトコルであるLPRで相手機器に送信する。
【0056】
配信先の機器が前記SLMで通信可能で、サーバー機器の場合、Adderss Book4051より、サーバーアドレス、サーバー内のフォルダの指定を判別し、リモートコピーアプリケーションと同様に、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、SLMを通して、ネットワーク上のサーバー機器の特定のフォルダに格納する事が可能である。
【0057】
また、本実施例の機器では、相手機器であるサーバーが公知のJPEG圧縮された多値画像を処理可能だと判別した場合、前記の2値画像と同様に多値読み取りした画像を公知のJPEG圧縮を用いて、やはり公知のJFIF化し、SLMを通して、ネットワーク上のサーバー機器の特定のフォルダに格納する事が可能である。
【0058】
配信先の機器が公知のE−Mailサーバーである場合、Adderss Book4051に記載されたメールアドレスを判別し、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)し、公知のSMTP(Simple Mail Transfer Protcol)4153を使用して、E−Mailサーバーに送信する。その後の配信は、Mail Server4550に従って実行される。
【0059】
・Web Pull Printアプリケーション
Web Pull Printアプリケーション4200は、本実施例と直接関係しないので、説明は省略する。
【0060】
・Web Serverアプリケーション
Web Serverアプリケーションは4250、本実施例と直接関係しないので、説明は省略する。
【0061】
以下、操作部の画面について簡単に説明する。
・操作画面
図3に示した操作部2012のLCD表示部2013の表示例を図14に示す。図は、コピー機能の表示例を示している。
【0062】
本発明の装置が提供する機能は、Copy/Send/Retrieve/Tasks/Management/Configurationの6つの大きなカテゴリーに分かれており、これらは操作画面(3010)上の上部に表示される6つのメインタブ(COPY/SEND/RETREIVE/TASKS/MGMT/CONFIG)(3011〜3016)に対応している。これらのメインタブを押すことにより、各カテゴリーの画面への切り替えが行われる。他カテゴリーへの切り換えが許可されない場合は、メインタブの表示色が変わり、メインタブを押しても反応しない。
【0063】
Copyは自機が有するスキャナとプリンタを使用して通常のドキュメント複写を行う機能と、自機が有するスキャナとネットワークで接続されたプリンタを使用してドキュメントの複写を行う機能(リモートコピー)を含む。Sendは自機が有するスキャナに置かれたドキュメントを、電子メール、リモートプリンタ、ファックス、ファイル転送(FTP)およびデータベースに転送する機能であり、宛先を複数指定することが可能である。Retrieveは外部にあるドキュメントを取得し、自機が有するプリンタで印刷する機能である。ドキュメントの取得手段としてWWW、電子メール、ファイル転送およびファックスの使用が可能である。Tasksはファックスやインターネットプリントなどの外部から送られるドキュメントを自動処理し、定期的にRetrieveを行うためのタスクの生成、管理を行う。Managementはジョブ・アドレス帳・ブックマーク・ドキュメント・アカウント情報などの管理を行う。Configurationでは自機に関しての設定(ネットワーク、時計など)を行う。
【0064】
・Device Information Service(DIS)
コントローラ内でジョブに対する設定値、デバイス(スキャナ、プリンタなど)の機能、ステータス、課金情報等をControl APIに準拠したデータ形態で保持するデータベースと、そのデータベースとのI/FをDevice Information Service(以下、DISと呼称する)として定義している。図15にDIS7102とJob Manager1519、及びScan、Printの各Manager1524,1526との関係を示す。
【0065】
基本的に、ジョブの開始命令など動的な情報はJob Manager1519から各Managerに直接指示され、デバイスの機能やジョブの内容など静的な情報はDIS7102を参照する。各Managerからの静的、動的情報、イベントはDIS7102を介してJob Manager1519に伝えられる。
【0066】
各ManagerからDISのデータベースにデータの設定、取得を行う場合、DISの内部データ形式がControl API準拠であることから、Control APIに準拠したデータ形式と各Managerが理解できるデータ形式との相互の変換処理を行う。例えば、各Managerからステータスデータの設定を行う場合、デバイス固有のデータを解釈し、Control APIで定義される対応するデータに変換し、DISのデータベースヘ書き込みを行う。
【0067】
Job ManagerからDISのデータベースにデータの設定、取得を行う場合には、Job ManagerとDISの間でデータの変換は生じない。
【0068】
またDISには、Managerから通知される各種イベント情報に基づき、イベントデータの更新が行われる。
【0069】
図16にDIS内部に保持される各種データベース(以下、DBと呼称する)を示し、それぞれのDBについて説明する。
【0070】
7201はSupervisor DBであり、機器全体についてのステータスやユーザ情報を保持しているDBであり、ユーザIDやパスワード等、バックアップが必要な情報はHD装置、あるいはバックアップメモリなどの不揮発性の記憶装置に保持される。
【0071】
7202はScan Component DB、7203はPrint Component DBであり、これらComponent DBは存在するComponent毎に対応して保持される。例えば、プリンタのみからなる機器の場合はPrint Component DBのみが存在し、また例えば、FAXを備えた機器の場合はFAX Component DBが保持される。各Component DBには初期化時に、それぞれ対応するManagerがComponentの機能やステータスを設定する。
【0072】
7204はScan Job Service DB、7205はPrint Job Service DBであり、これらのJob Service DBもComponent DB同様、初期化時にそれぞれ対応するManagerが機器で使用できる機能や、それらのサポート状況を設定する。
【0073】
次にJob DB、Document DBについて説明する。7206はScan Job DB、7207はPrint Job DBの各Job DB、7208はScan Document DB、7209はPrint Document DBである。
【0074】
Job DB、Document DBはJobとそれに付随するDocumentが生成される度にJob Managerにより動的に確保、初期化が行われ、必要な項目の設定が行われる。各ManagerはJobの処理開始前にJob DB、およびDocument DBから処理に必要な項目を読み出し、Jobを開始する。その後、Jobが終了するとこれらのJob、及びそれに付随していたDocumentのDBは解放される。Jobは1つ以上のDocumentを持つので、あるJobに対して複数のDocument DBが確保される場合がある。
【0075】
7211は各Managerから通知されるイベント情報を保持するデータベース、7210は装置のScan回数、Print回数を記録するためのカウンタテーブルである。
【0076】
Managerから通知されるイベントには、Scan ManagerからのComponentの状態遷移、Scan処理動作完了や各種のエラー、またPrint ManagerからのComponentの状態遷移、Print処理動作完了、紙詰まり、給紙カセットオープンなどがあり、それぞれのイベントを識別するためのイベントIDが予め定められている。
【0077】
Managerからイベントが発行された場合、DISはイベントデータベース7211に発行されたイベントIDと必要ならイベントに付随する詳細データを登録する。また、Managerからイベントの解除が通知された場合、解除指定されたイベントデータをイベントデータベース7211から削除する。
【0078】
Job Managerよりイベントのポーリングが行われた場合、DISはイベントデータベース7211を参照し、現在発生しているイベントIDと必要ならイベントに付随する詳細データをJob Managerへ返信し、現在イベントが発生していなければその旨を返信する。
【0079】
また、Scan処理動作完了、Print処理動作完了のイベントが通知された場合はScan、Printを行ったユーザのカウンタ値を更新する。このソフトウェアによるカウンタは不慮の電源遮断などでその値が失われないように、バックアップされたメモリ装置やHD装置の不揮発性記憶装置にその値が更新されるたびに書き戻す。
【0080】
・スキャン動作
図17はスキャン動作に関するソフトウェア構造を示したものである。Job Manager1519はアプリケーションレベルの要求を分類、保存する機能を持つ。DIS7102はアプリケーションレベルからのスキャン動作に必要なパラメータを保存する。アプリケーションからの要求はRAM2002に保存される。スキャン動作管理部8203はJob Manager1519とDIS7102からスキャンを行うのに必要な情報を取得する。スキャン動作管理部8203はJob Manager1519から図18に示すジョブ番号、ドキュメント番号のテーブルデータ8301を受け取り、ジョブ番号、ドキュメント番号のテーブルデータ8301を元に、DIS7102より図19に示すスキャンパラメータ8302を受け取る。これによりアプリケーションから要求されているスキャン条件を元にスキャンを行う。
【0081】
スキャン動作管理部8203はDIS7102から取得したスキャンパラメータ8302をドキュメント番号順にスキャンシーケンス制御部8204に渡す。スキャンパラメータ8302を受け取ったスキャンシーケンス制御部8204はスキャン画像属性8308の内容に従ってデバイスI/F制御部8207をコントロールする。これにより図1の画像バス2008に接続されたデバイスI/F2020を動作させることにより、ケーブル2071を介してスキャナ2070に制御コマンドを送ることによりスキャンが実行される。スキャンした画像はケーブル2071を介してデバイスI/F2020に渡り、さらにバス2008を介してRAM2002に格納される。
【0082】
スキャンシーケンス制御部8204はスキャンが終了し、バス2008を介してRAM2002に画像が格納された時点で、スキャンパラメータ8302のスキャン画像圧縮形式8309の内容にしたがって、RAM2002に格納されているスキャン画像を圧縮するために、CODEC Manager1520に対して要求を出す。要求を受け取ったCODEC Manager1520はバス2008に接続されているコーデック2040、あるいはMMR−CODEC1523内のソフトウェア圧縮モジュールを用いて、スキャンシーケンス制御部8204からのスキャン画像圧縮形式8309の指定で圧縮を行う。圧縮・伸長制御部8205は圧縮された画像をバス2008を介してRAM2002に格納する。
【0083】
スキャンシーケンス制御部8204はCODEC Manager1520がスキャン画像圧縮形式8309で指定された形式にスキャン画像を圧縮し、RAM2002に格納した時点で、スキャンパラメータ8302の画像ファイルタイプ8307にしたがってRAM2002に格納されている圧縮されたスキャン画像をファイル化する。スキャンシーケンス制御部8204はファイルシステム8206に対して、スキャンパラメータ8302の画像ファイルタイプ8307で指定されたファイル形式でファイル化することを要求する。ファイルシステム8206はスキャンシーケンス制御部8204からの画像ファイルタイプ8307にしたがって、RAM2002に格納されている圧縮された画像をファイル化し、バス2008を介してHDD2004に転送することによりスキャンされた圧縮画像をファイル化する。スキャンシーケンス制御部8204はファイルシステム8206がHDD2004にファイル化された画像を格納した時点で、スキャナ2070上の一枚の原稿の処理が終了したとして、スキャン動作管理部8203にスキャン終了通知を送り返す。
【0084】
この時点でスキャナ2070上にまだスキャンが行われていない原稿が存在し、Job Manager1519からスキャン要求が存在する場合には再度、DIS7102に格納されているスキャンパラメータ8302を用いてスキャンシーケンス制御部にスキャン動作を要求する。スキャナ2070上にスキャンされていない原稿が存在しない場合、またはJob Manager1519からのスキャン要求が存在しない場合には、スキャン動作が終了したものとしてJob Manager1519に対してスキャン終了通知を発行する。
【0085】
・プリント動件
以下、プリント動作について詳細に説明する。
【0086】
デバイスI/F2020は内部にDPRAMを持ち、このDPRAMを介してプリンタへのパラメータ設定及びプリンタの状態読み出しと、プリントの制御コマンドのやりとりを行う。またこのボードはVideoコントローラを持ち、プリンタからエンジンインターフェースケーブル経由で与えられるVCLK(Video Clock)とHSYNCに合わせて、バス2008上に展開されているイメージデータをエンジンインターフェースケーブルを介してプリンタに送信する。この送信のタイミングを図で表すと図20の様になる。VCLKは常に出続け、HSYNCがプリンタの1ラインの開始に同期して与えられる。Videoコントローラは設定された画像幅(WIDTH)分のデータを、RAM2002から読み出して、Video信号としてエンジンインターフェースケーブルに出力する。これを指定ライン分(LINES)繰り返した後、IMAGE_END割り込みを発生する。
【0087】
先に説明したとおり、CPU上のアプリケーションプログラムからControll APIにプリントジョブの指示が渡されると、Controll APIはこれをコントローラレベルのJob Manager1519にジョブとして渡す。さらにこのJob Manager1519はジョブの設定をDIS7102に格納し、Print Manager1526にジョブの開始を指示する。Print Manager1526はジョブを受け付けるとDISからジョブ実行に必要な情報を読み出しEngineI/Fボード及び、DPRAMを介してプリンタに設定する。画像が圧縮されている場合はCODEC Managerに展開を依頼し、CODEC Managerは依頼に従ってプリンタ Managerから指示された展開方法(JPEG、MMRなど)により画像ファイルからビットマップ画像へ展開する。展開された画像はRAM2002に格納される。
【0088】
デバイスI/F2020の設定項目を図21に、プリンタのDPRAMを介した設定項目及び制御コマンド、状態コマンドを図22に示す。
ビットマップ画像の印刷についてレター(11”x8.5”)サイズ2値画像の、2ページ1部プリント、プリンタが600dpiの性能を持つものとして、具体的に動作を説明する。
【0089】
画像の展開終了後、Print Managerはこの画像の幅(この場合8.5”の側とする)の画像バイト数を算出する。
WIDTH=8.5×600÷8≒630(Bytes)
次にライン数を演算する。
LINES=11×600=6600(Lines)
【0090】
これらの算出した値と、与えられた1ページ目の画像が格納されているRAM2002のSOURCEアドレスを図21に示したWIDTH,LINES,SOURCEに設定する。この時点でデバイスI/Fは画像出力の用意が完了しているが、プリンタからのHSYNC信号が来ていないため(VCLKは来ている)画像データを出力していない。
【0091】
次にPrint Managerは図22に示したDPRAMの所定のアドレス(Book No)に出力部数である1を書き込む。その後、1ページ目に対する出力用紙の給紙要求(FEED_REQ)を出し、プリンタからのIMAGE−REQを待つ。プリンタからIMAGE−REQが来たら、IMAGE_STARTを出す。これを受けてプリンタはHSYNCを出し始め、HSYNC待ちで、あったデバイスI/F2020は画像を出力する。プリンタは出力用紙の後端を検出すると、IMAGE_ENDを出力し、出力用紙が排出されるとSHEET_OUTを出力する。Print Managerは1ページ目のIMAGE_ENDを受けて、2ページ目のWIDTH,LINES,SOURCEをEngimeI/Fボードに設定し、FEED_REQを出して、IMAGE_REQを待つ。2ページ目のIMAGE_REQが来てからの動作は、1ページ目と同様である。
【0092】
[コーデックの選択]
以下に本発明の特徴であるソフトウェア(S/W)コーデック、ハードウェア(H/W)コーデックの選択について詳述する。
まず、スキャン、プリント時のデータの流れタイミングの説明をする。スキャンの一例としてUniversal Send機能の場合を説明する。スキャナによってスキャンされた画像はまずデバイスI/F2020からバス2008を介して、RAM2002に書き込まれる。次にRAM2002から読み出されハードウェア、あるいはソフトウェアにより符号化された後、再度RAM2002に格納される。ハードウェアによる符号化の場合バス2008を介してコーデック2040によって圧縮される。またソフトウェアによる圧縮の場合、RAM2002から読み出しCPU2001によって圧縮しRAM2002に格納される。RAM2002に格納された画像はTIFFファイルなどの汎用フォーマットに変換され、RAM2002、HDD2004に格納される。最後に、RAM2002、HDD2004から読み出されたファイルがバス2008、Network2010を介してネットワーク上の他の機器に転送される。図23は、この一連の動作を行ったときのバス2008の使用状況をタイムチャートとして示した図である。
【0093】
同様にプリント動作の一例としてRemote Copy Print機能を説明する。Network2010及びバス2008を介して送られてきた画像データ(TIFF化された圧縮画像)はまずRAM2002、HDD2004に格納される。次にTIFFなどの余分なヘッダーを除去した後、圧縮データがRAM2002に格納される。RAM2002から読み出したデータをハードウェア(バス2008−>コーデック2040−>バス2008)、あるいはソフトウェアにより復号化し、再度RAM2002に格納する。最後にビットマップ化された画像をRAM2002から読み出しバス2008、デバイスI/Fを介してプリント出力する。
【0094】
ここで上記Universal Send機能におけるスキャン(原稿2枚)要求と、Remote Copy Print機能によるプリント(1枚)要求が同時に発生した場合のタイミングを図24を用いて説明する。11001は1枚目のスキャン、11002は2枚目のスキャン、11003はプリントである。1枚目のスキャン動作時、H/W Codecとプリント動作のLANが同時にバス2008を使用するため、バスの競合が生じ処理時間が単独使用時よりも遅くなる。また1枚目のスキャンのLANと2枚目のスキャン画像転送、プリントのデコード動作の3つが重なる時間ではさらに遅くなってしまう。
【0095】
そこで本発明においては、スキャナ、プリンタ、LANなどバス2008を共有する資源のバス使用状況を調査し、バス使用率が所定値よりも大きいときはS/W Codecを使用する。S/W CodecはCPU2001が例えばROM2003に記憶された符号化・復号化処理用のソフトウェアを実行することにより実現されるため、システムバス2007のみの使用で処理が可能で、画像バス2008には影響を与えない。
【0096】
CODEC Manager1520周辺のソフトウェア構成を示す図25を用いて、バスの管理方法を以下に示す。Scan Manager1524、Print Manager1526、CODEC Manager1520はバスを使用する資源を持っている場合、DIS7102のSupervisor7201内のデータベースの、資源の有無を示す領域にフラグを立てる(1を書き込む)。そして実際にバスを使用する資源を使用する直前に、データベースの使用中であることを示す領域にフラグをたて、終了時にそのフラグをリセットする。図26にこのデータベースを示す。図26は、LAN、H/Wコーデック、Scan、Printがバス2008を使用する資源を有し、LANとスキャンがバスを使用中である場合のデータベースの状況を示している。
【0097】
実際のスキャナ動作を図27を用いて説明する。ジョブ発生時、Scan Manager1524はS14001でスキャナの初期化処理を行う。バスを使用する資源の調査もここで同時に行通信エラーなどによりスキャナが使用できなければUIで操作部にエラーを表示する。S14002でスキャン要求があればS14003でSupervisorデータベースに使用中を示すフラグを立てる。S14004でスキャナ2070にスキャンを指示し、スキャンデータをRAM2002へ転送させる。RAMへの転送が終了したらS14005で使用中フラグを0に戻し、S14006でCodec Manager1520にデータの圧縮を依頼する。
【0098】
同様に、プリンタの動作を図28を用いて説明する。ジョブ発生時、Print Manager1526はS15001でプリンタの初期化処理を行う。バスを使用する資源の調査もここで同時に行い、バスを使用する資源があれば上述のようにDIS7102のSupervisorデータベースにフラグを立てる。初期化処理中、通信エラーなどによりプリンタが使用できなければUIで操作部にエラーを表示する。S15002でスキャン要求があればS15003でCodec Managerに対して復号を要求し、復号が終わるまで待つ。S15004で復号終了後、Supervisorデータベースに使用中を示すフラグを立てる。S15005でプリンタにプリントを指示し、プリントデータをRAM2002から転送させる。RAMからの転送が終了したらS15006で使用中フラグをリセットする(0を書き込む)。
【0099】
図29にCodec Manager1520の動作をフローチャートとして示す。S16001でH/Wコーデック2040の初期化処理を行い、DIS7102のSupervisorデータベースにフラグを立てる。Codecチップの故障などによりが使用できなければUIで操作部にエラーを表示する。S16002でプリンタ/スキャナから符号化/復号化の要求があればS16003でバス2008の使用状況を調査する。具体的にはDIS内のSupervisorデータベースにアクセスし、バスを使用中である資源がいくつあるかを数える。そして、バス2008を使用中の資源が所定の数を超えている場合には、要求に対する符号化/復号化はソフトウェアコーデックを用いて行う。ここでは一例として2つ以上資源が使用している場合はソフトコーデックを使用するとあらかじめ決められているものとする。ただし、ソフトコーデックはCPUの処理能力や処理内容などによってコーデックとしての性能が変わるため、ソフトコーデックへの切り替えを判断する資源使用率はシステムにあった値を事前に設定しておく。
【0100】
S16004でバス使用率が所定値を超えなかった場合、S16005でH/Wコーデック使用中を示すフラグを立てる。S16006でコーデック2040に圧縮/復号化を指示し、データをRAM2002から転送し圧縮/復号してさらにRAM2002に転送させる。RAMへ転送が終了したらS16007でS16005で立てた使用中フラグをリセットする。
【0101】
一方、S16004でバス使用率が所定値を超えた場合、CPUによるS/Wコーデックを動作させる(S16008)。
【0102】
図30に図24で説明したジョブについて本特許を用いた場合のタイムチャートを示す。スキャン画像のネットワークへの出力完了時刻が図24に比べ早くなっていることがわかる。
【0103】
図31は、本発明を適用した画像形成装置の別の構成例を示すブロック図である。上述の実施例においては、ハードウェアコーデックもソフトウェアコーデックも処理データをRAM2002から読みだし、また記憶していた。そのため、画像バスの競合は無いが、システムバスの競合が発生する場合があった。本構成は、ハードウェアコーデックが用いる記憶装置2041と、ソフトウェアコーデックが用いる記憶装置(RAM2002)を別個に設けたものである。
【0104】
このように構成することにより、処理後のデータを記憶する際のシステムバス競合が無くなるほか、ハードウェアコーデックで処理する画像データを予めDMA転送等で記憶装置2041に記憶しておくことにより、原画像データの読み出しの際にもシステムバスの競合が生じないため、より一層効率の良い処理が可能となる。記憶装置2041としては、RAMをはじめとして、HDDなど一般的な記憶装置を用いることが出来る。
【0105】
また、上述の実施例においては画像バスの占有率を元にソフトウェアコーデックの使用を決定していたが、ソフトウェアコーデックとして動作するCPU2001が他の処理によって高い負荷状態にあった場合には、ハードウェアコーデックを使用した方が結果として処理が早いことも考えられる。そのため、CPU2001の負荷状態と画像バス2008の占有率とを組み合わせてソフトウェアコーデックの使用を決定するように構成しても良い。
【0106】
なお、実施例においては画像データを取り扱う装置に本発明の符号化復号化装置を適用した例を用いて説明したが、符号化、復号化を行う対象は限定されるものではなく、音声、文書、プログラムなど、任意のデータを取り扱う装置に適用できることはいうまでもない。
【0107】
なお、実施例においてはスキャナ機能及びプリンタ機能を一体化した複合機を例にして説明したが、本発明は、ネットワーク上で接続された複数の機器(例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0108】
【発明の効果】
【図面の簡単な説明】
【図1】本発明を適用した複合機の全体構成を示すブロック図である。
【図2】本発明を適用した複合機の正面外観を示す図である。
【図3】操作部外観を示す図である。
【図4】スキャナ画像処理部のブロック図である。
【図5】プリンタ画像処理部のブロック図である。
【図6】コーデックのブロック図である。
【図7】画像回転部のブロック図である。
【図8】画像回転処理の説明図である。
【図9】画像回転処理の説明図である。
【図10】デバイスI/F部のブロック図である。
【図11】本発明を適用した装置を接続したネットワークシステムの構成例を示す図である。
【図12】本発明を適用した複合機のソフトウェアの全体構成図である。
【図13】配信用組み込みアプリケーションを説明するブロック図である。
【図14】操作部の具体的表示例を示す図である。
【図15】DISとJob Manager、Print Manager、Scan Managerとの接続関係を示す図である。
【図16】DIS内部のデータベース、及びカウンタを示す図である。
【図17】スキャンにおけるソフトウェア制御のブロック図である。
【図18】スキャンにおけるパラメータテーブルの概略図である。
【図19】スキャンにおけるパラメータテーブルの概略図である。
【図20】プリント時のデータの転送タイミングを示す波形図である。
【図21】EngineI/Fボード内のプリントパラメータレジスタを示す図である。
【図22】プリンタとEngineI/Fボードとの通信コマンドを示す図である。
【図23】1ページスキャン時のタイムチャートである。
【図24】複数のジョブが同時発生した場合のタイムチャートである。
【図25】コーデックマネージャ周辺のソフトウェア構成を示す図である。
【図26】DIS内Supervisorデータベースの構成を示す図である。
【図27】スキャナの動作を示すフローチャートである。
【図28】プリンタの動作を示すフローチャートである。
【図29】コーデックの動作を示すフローチャートである。
【図30】図24において本発明によるコーデック切り替えを行った際のタイムチャートである。
【図31】本発明を適用した複合機の別の構成例を示すブロック図である。
【符号の説明】
2001 CPU
2002 RAM
2003 ROM
2004 HDD
2005 画像バスインタフェース
2006 操作部インタフェース
2007 システムバス
2008 画像バス
2010 ネットワークインタフェース
2020 デバイスインタフェース
2040 コーデック
2050 モデム
2060 ラスタイメージプロセッサ
2070 スキャナ
2095 プリンタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an encoding / decoding device for performing predetermined encoding / decoding processing on input data such as image data and outputting the same, and more particularly to an encoding / decoding device capable of performing a plurality of processes at high speed.
[0002]
[Prior art]
With the spread of network technology, data such as images, sounds, and programs have been frequently exchanged on a network. In many cases, data compression (encoding) technology is used to reduce network load and perform high-speed data transmission. Encoding / decoding is performed using an encoding / decoding device (codec). The codec is executed by hardware (hardware codec) such as a dedicated LSI or by executing software by a general-purpose processor (software codec). realizable. Generally, either a hardware codec or a software codec, such as a hardware codec if high-speed compression is required, or a software codec if processing speed is not so important or costs need to be kept low. One is used.
[0003]
[Problems to be solved by the invention]
However, for example, in a copier (multifunction peripheral) having a scanner function and a printer function, each function is connected to a common bus such as a PCI bus so that each function can be easily, arbitrarily added, deleted, or added. Often configured. That is, a network interface, an interface to a scanner and a printer, and a codec are connected to the same bus. The use of the common bus enables flexible setting and reduces costs, but there is a problem that if there are many simultaneous users (devices) of the bus, the performance of each device cannot be sufficiently exhibited. For example, even if a hardware codec is connected to perform high-speed processing, the encoding / decoding processing may take time depending on the processing of another device. In particular, in the case of the above-described configuration, a process of encoding image data of a document read using a scanner and outputting the encoded image data to another device connected to the network, and a process of decoding image data received from the other device to perform a printer function. In the case where the processes for outputting the data using the same method occur in duplicate, the bus use requests are duplicated, and the encoding / decoding process takes time.
[0004]
On the other hand, recently, the performance of a general-purpose processor (CPU) has been improved, and a software codec has been able to realize a somewhat high-speed processing.
[0005]
[Means for Solving the Problems]
An object of the present invention is to provide an encoding / decoding device capable of encoding / decoding data supplied from the outside at high speed.
[0006]
That is, the gist of the present invention is an encoding / decoding apparatus having an encoding / decoding means for performing predetermined encoding processing or decoding processing on original data supplied from the outside and outputting the result. Configured by hardware as a meansConnected to a first bus to which at least one or more resources are connectedIt has a first codec, a second codec that performs encoding and decoding by executing software, and a selecting unit that selects encoding and decoding means used for encoding or decoding of original data. AndThe selection unit monitors the usage status of the first bus to which the first codec is connected, and selects the second codec when a value based on the usage status exceeds a predetermined value.An encoding / decoding device is characterized in that:
[0007]
Further, another gist of the present invention resides in that the means for generating image data and the image forming means for forming and outputting an image on a recording material based on the received image data include the above-described encoding / decoding apparatus. And an image forming system communicably connected thereto.
Another aspect of the present invention is an encoding / decoding apparatus that performs predetermined encoding processing or decoding processing on original data supplied from the outside and outputs the result, wherein at least one or more resources are connected. A first codec connected to a first bus, a second codec connected to a second bus to which at least one or more resources are connected, and encoding or decoding of original data And a selecting means for selecting whether to execute the first codec or the second codec, the selecting means comprising a bus for each resource using the first bus and the second bus. And a codec to be used is selected based on the usage status of the codec.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the drawings. In the following embodiment, an example is shown in which the encoding / decoding device of the present invention is applied to a multifunction device that can be connected to a network. However, as described above, the encoding / decoding target is not limited to image data.
[0009]
[hardware]
FIG. 1 shows the overall configuration of the multifunction peripheral system. The controller 2000 is connected to a scanner 2070 which is an image input device and a printer 2095 which is an image output device, and is connected to a LAN 2011 or a public line (WAN) 2051 to input and output image information and device information. It is a controller. The CPU 2001 is a general-purpose processor that controls the entire MFP. A RAM 2002 is a system work memory for the operation of the CPU 2001, and is also an image memory for temporarily storing image data. A ROM 2003 is a boot ROM, and stores a boot program of the multifunction peripheral. An HDD 2004 is a hard disk drive that stores system software and image data. An operation unit I / F 2006 is an interface unit with an operation unit (UI) 2012 and outputs image data to be displayed on the operation unit 2012 to the operation unit 2012. In addition, it plays a role of transmitting information input by the user of the system from the operation unit 2012 to the CPU 2001. The Modem 2050 connects to the public line 2051 and inputs and outputs information. The above devices are arranged on the system bus 2007.
[0010]
The image bus I / F 2005 is a bus bridge that connects the system bus 2007 and the image bus 2008 that transfers image data at high speed, and converts a data structure. The image bus 2008 is configured by a PCI bus or IEEE1394. The following devices are arranged on the image bus 2008. A network I / F 2010 connects the image bus 2008 to the LAN 2011 and inputs and outputs information. A raster image processor (RIP) 2060 develops a PDL (Page Description Language) code into a bitmap image. The device I / F unit 2020 connects the scanner 20000 and the printer 2095, which are image input / output devices, to the controller 2000, and performs synchronous / asynchronous conversion of image data. The scanner image processing unit 2080 performs correction, processing, and editing on input image data. The printer image processing unit performs printer correction, resolution conversion, and the like on the print output image data. The image rotation unit 2030 rotates image data. The codec 2040 performs compression / expansion processing of JPEG for multi-valued image data and JBIG, MMR, and MH for binary image data.
[0011]
The configuration as described above has a configuration in which the system bus 2007 and the image bus 2008 are separated in consideration of the expandability of the image processing part, and is an application of a general computer configuration. is there. In the above configuration, the image bus I / F is a general-purpose I / F, so that the degree of freedom in which image processing can be arbitrarily combined and the expandability in consideration of the future are provided. In particular, the codec section is connected to the image bus side so that various standards may be proposed in the future.
[0012]
FIG. 2 shows an example of a front appearance of the multifunction peripheral system. A scanner unit 2070, which is an image input device, illuminates a document and scans a CCD line sensor (not shown) to convert the document into an electrical signal as raster image data. The original is set on a tray 2073 of an original feeder 2072, and when the apparatus user gives an instruction to start reading from the operation unit 2012, the controller CPU 2001 gives an instruction to the scanner 2070. Perform a read operation.
[0013]
A printer unit 2095, which is an image output device, is a unit that converts raster image data 2096 into an image on a recording material such as paper. The method is an electrophotographic method using a photosensitive drum or a photosensitive belt, and a fine nozzle. There is an ink jet system in which an image is formed directly on paper by discharging ink from an array, but any system may be used. The start of the printing operation is started by an instruction from the controller CPU 2001. The printer unit 2095 has a plurality of supply stages so that different recording material sizes or different recording material directions can be selected, and includes cassettes 2101, 1022, 2103, and 2104 corresponding thereto. The discharge tray 2111 receives a recording material on which printing has been completed.
[0014]
・ Operation unit
FIG. 3 shows an example of the appearance of the operation unit 2012. The LCD display unit 2013 has a touch panel sheet affixed on the LCD, displays an operation screen of the system, and transmits the position information to the controller CPU 2001 when a displayed key is pressed. A start key 2014 is used to start a reading operation of a document image. A two-color LED 2018 of green and red is provided at the center of the start key 2014, and the color indicates whether the start key 2014 is in a usable state. A stop key 2015 functions to stop an operation in operation. An ID key 2016 is used to input a user ID of a user. A reset key 2017 is used to initialize settings from the operation unit.
[0015]
・ Scanner image processing unit
FIG. 4 shows the configuration of the scanner image processing unit 2080. The image bus I / F controller 2081 is connected to the image bus 2008, controls the bus access sequence, and controls and timings of each device in the scanner image processing unit 2080. The filter processing unit 2082 performs a convolution operation using a spatial filter. The editing unit 2083 recognizes, for example, a closed area surrounded by the marker pen from the input image data, and performs image processing such as shadowing, shading, and inversion of the negative image on the image data in the closed area. When changing the resolution of the read image, the scaling unit 2084 performs interpolation calculation in the main scanning direction of the raster image to perform enlargement and reduction. Zooming in the sub-scanning direction is performed by changing the scanning speed of an image reading line sensor (not shown). The table conversion unit 2085 performs a table conversion for converting image data, which is read luminance data, into density data. The binarization processing unit 2086 binarizes the multi-value grayscale image data by error diffusion processing or screen processing.
[0016]
The processed image data is transferred to the image bus via the image bus controller 2081 again.
[0017]
・ Printer image processing unit
FIG. 5 shows the configuration of the printer image processing unit 2090. The image bus I / F controller 2091 is connected to the image bus 2008, controls the bus access sequence, and controls and timings of each device in the scanner image processing unit 2090. The resolution conversion unit 2092 performs resolution conversion for converting image data received from the LAN 2011 or the WAN 2051 into a resolution of the printer 2095. The smoothing processing unit 2093 performs a process of smoothing jaggies (roughness of an image appearing at a black-and-white boundary such as an oblique line) of the image data after resolution conversion.
[0018]
・ Codec
FIG. 6 shows the configuration of the codec 2040. An image bus I / F controller 2041 is connected to the image bus 2008, controls the bus access sequence, performs timing control for exchanging data with the input buffer 2042 and the output buffer 2045, and the image compression / decompression unit 2043. Control such as a mode setting for. In the present invention, data compression is treated as encoding, and decompression is treated as decoding. The processing procedure of the codec is shown below.
[0019]
Through the image bus 2008, the CPU 2001 makes settings for image compression control in the image bus I / F controller 2041. With this setting, the image bus I / F controller 2041 makes settings necessary for image compression (for example, MMR compression, JBIG expansion, etc.) to the image compression / expansion unit 2043. After the necessary settings are made, the CPU 2001 again permits the image bus I / F controller 2041 to transfer image data. In accordance with this permission, the image bus I / F controller 2041 starts transferring image data from the RAM 2002 or each device on the image bus 2008. The received image data is temporarily stored in the input buffer 2042, and the image is transferred at a constant speed in response to the image data request from the image compression / decompression unit 2043. At this time, the input buffer determines whether image data can be transferred between the image bus I / F controller 2041 and the image compression / decompression unit 2043, reads image data from the image bus 2008, and performs image compression / decompression. If it is impossible to write an image to the unit 2043, control is performed to prevent data transfer (hereinafter, such control is referred to as handshake).
[0020]
The image compression / decompression unit 2043 temporarily stores the received image data in the RAM 2044. This is because several lines of data are required depending on the type of image compression processing to be performed when performing image compression. To compress the first one line, several lines of image data must be prepared. This is because image compression cannot be performed unless the image is compressed. The image data subjected to the image compression is immediately sent to the output buffer 2045. The output buffer 2045 performs handshake with the image bus I / F controller 2041 and the image compression / decompression unit 2043, and transfers image data to the image bus I / F controller 2041. The image bus I / F controller 2041 transfers the transferred compressed (or decompressed) image data to the RAM 2002 or each device on the image bus 2008. Such a series of processing is performed until there is no processing request from the CPU 2001 (when processing of the required number of pages is completed) or until a stop request is issued from the image compression / expansion unit (such as when an error occurs during compression and expansion). Repeated.
[0021]
・ Image rotation unit
FIG. 7 shows the configuration of the image rotation unit 2030. The image bus I / F controller 2031 is connected to the image bus 2008, controls the bus sequence, controls the mode setting and the like in the image rotating unit 2032, and transfers the image data to the image rotating unit 2032. Perform control. The processing procedure of the image rotation unit will be described below.
[0022]
Through the image bus 2008, the CPU 2001 makes settings for image rotation control in the image bus I / F controller 2031. With this setting, the image bus I / F controller 2041 makes settings (for example, image size, rotation direction, angle, and the like) necessary for image rotation to the image rotation unit 2032. After the necessary settings are made, the CPU 2001 again permits the image bus I / F controller 2041 to transfer image data. According to this permission, the image bus I / F controller 2031 starts transfer of image data from the RAM 2002 or a device on the image bus 2008. Here, the width of the image bus 2008 is set to 32 bits, the image size to be rotated is set to 32 × 32 (bit), and image data is transferred in units of 32 bits when image data is transferred onto the image bus 2008. (The image to be handled is assumed to be binary).
[0023]
As described above, in order to obtain a 32 × 32 (bit) image, the above-described unit data transfer needs to be performed 32 times, and image data needs to be transferred from discontinuous addresses (see FIG. 8). ). The image data transferred by the discontinuous addressing is written to the RAM 2033 so that the image data is rotated to a desired angle at the time of reading. For example, if the rotation is 90 degrees counterclockwise, the 32-bit image data transferred first is written in the Y direction as shown in FIG. By reading in the X direction at the time of reading, the image is rotated.
[0024]
After the 32 × 32 (bit) image rotation (writing to the RAM 2033) is completed, the image rotation unit 2032 reads the image data from the RAM 2033 by the above-described reading method, and transfers the image to the image bus I / F controller 2031.
[0025]
The image bus I / F controller 2031 receiving the rotated image data transfers the data to the RAM 2002 or each device on the image bus 2008 by continuous addressing. Such a series of processing is repeated until there is no more processing request from the CPU 2001 (when processing of the required number of pages is completed).
[0026]
・ Device I / F
FIG. 10 shows the configuration of the device I / F unit 2020. The image bus I / F controller 2021 is connected to the image bus 2008, controls the bus access sequence, and generates control and timing of each device in the device I / F unit 2020. Further, it generates control signals to the external scanner 2070 and printer 2095. The scan buffer 2022 temporarily stores the image data sent from the scanner 2070 and outputs the image data in synchronization with the image bus 2008. The serial / parallel / parallel / serial conversion unit 2023 arranges or decomposes the image data stored in the scan buffer 2022 in order, and converts the image data into a data width of image data that can be transferred to the image bus 2008. The parallel-serial / serial / parallel conversion unit 2024 decomposes or arranges the image data transferred from the image bus 2008 and converts the image data into a data width of image data that can be stored in the print buffer 2025. The print buffer 2025 temporarily stores the image data sent from the image bus 2008, and outputs the image data in synchronization with the printer 2095.
[0027]
The processing procedure at the time of image scanning is shown below. The image data sent from the scanner 2070 is stored in the scan buffer 2022 in synchronization with the timing signal sent from the scanner 2070. In the case where the image bus 2008 is a PCI bus, when the image data has entered 32 bits or more in the buffer, the image data is sent to the serial / parallel / serial / serial converter 2023 from the buffer for 32 bits on a first-in / first-out basis. , And transfers the image data to the image bus 2008 via the image bus I / F controller 2021. If the image bus 2008 is IEEE1394, the image data in the buffer is sent to the serial / parallel / serial / serial conversion unit 2023 from the buffer on a first-in first-out basis, and is converted into serial image data. Transfer to the bus 2008.
[0028]
The processing procedure at the time of image printing is shown below. When the image bus 2008 is a PCI bus, 32-bit image data sent from the image bus is received by the image bus I / F controller, sent to the parallel-serial / serial / parallel conversion unit 2024, and the input data bit of the printer 2095 is input. The image data is decomposed into a number of image data and stored in the print buffer 2025. When the image bus 2008 is IEEE1394, serial image data sent from the image bus is received by the image bus I / F controller, sent to the parallel-serial / serial / parallel converter 2024, and the number of input data bits of the printer 2095 is calculated. The data is converted into image data and stored in the print buffer 2025. The image data in the buffer is sent to the printer 2095 on a first-in first-out basis in synchronization with the timing signal sent from the printer 2095.
[0029]
・ Network system
FIG. 11 shows an example of a system configuration when a multifunction peripheral to which the codec of the present invention is applied is connected to a network. Reference numeral 1001 denotes a multifunction peripheral to which the codec of the present invention is applied. The multifunction peripheral includes a scanner and a printer, which will be described later. it can. Further, the image read from the scanner can be transmitted to the PSTN or ISDN (1030) by a facsimile transmission unit (not shown), or the image received from the PSTN or ISDN can be printed out by a printer. A database server 1002 manages the binary image and the multi-value image read by the multifunction peripheral 1001 as a database. Reference numeral 1003 denotes a database client of the database server 1002, which can browse / search image data stored in the database 1002.
[0030]
An e-mail server 1004 can receive an image read by the multifunction peripheral 1001 as an e-mail attachment. Reference numeral 1005 denotes an e-mail client, which is capable of receiving and browsing the e-mail received by the e-mail server 1004 and transmitting the e-mail. Reference numeral 1006 denotes a WWW server that provides an HTML document to the LAN, and the MFP 1001 can print out an HTML document provided by the WWW server. A router 1011 connects the LAN 1010 with the Internet / intranet 1012 by a router. Devices similar to the database server (1002), WWW server (1006), e-mail server (1004), and multifunction device (1001) are connected to the Internet / intranet as 1020, 1021, 1022, and 1023, respectively. . On the other hand, the multifunction peripheral 1001 can transmit to and receive from the FAX device 1031 via the PSTN or ISDN (1030). A printer 1040 is also connected on the LAN, and is configured so that an image read by the multifunction peripheral 1001 can be printed out.
[0031]
[software]
FIG. 12 is a block diagram showing a module configuration of software of the multifunction peripheral shown in FIG.
Reference numeral 1501 denotes a UI, that is, a user interface, which is a module that mediates with a device when an operator performs various operations and settings of the MFP. This module transfers input information to various modules, which will be described later, and requests processing or sets data according to the operation of the operator.
[0032]
Reference numeral 1502 denotes a database module for managing an address-book, that is, a data transmission destination, a communication destination, and the like. The contents of the Address-Book are used to add, delete, and acquire data by an operation from the UI 1501 and to provide data transmission / communication destination information to each module described later by an operation of an operator.
[0033]
Reference numeral 1503 denotes a Web-Server module, which is used for notifying management information of the MFP in response to a request from a Web client (not shown). The management information is read via a later-described Control-API 1518, and is notified to a Web client via a later-described HTTP 1512, TCP / IP 1516, and Network-Driver 1517.
[0034]
Reference numeral 1504 denotes a Universal-Send, that is, a module that manages data distribution, and distributes data designated by the UI 1501 to the operator to a communication (output) destination designated in the same manner. When the operator instructs the generation of distribution data using the scanner function of the present apparatus, the apparatus is operated via a Control-API 1518 described later to generate data.
[0035]
Reference numeral 1505 denotes a module that is executed when a printer is designated as an output destination in the Universalsend-Send 1504.
A module 1506 is executed when an E-mail address is specified as a communication destination in the Universalsend-Send 1504.
Reference numeral 1507 denotes a module that is executed when a database is specified as an output destination in the Universalsla-Send 1504.
A module 1508 is executed when a multifunction peripheral similar to the present apparatus is designated as an output destination in the Universalsla-Send 1504.
[0036]
Reference numeral 1509 denotes a Remote-Copy-Scan module, which uses the scanner function of the multifunction peripheral, outputs to another multifunction peripheral connected via a network or the like, and has the same function as the Copy function realized by the multifunction peripheral alone. This is a module that performs processing.
Reference numeral 1510 denotes a Remote-Copy-Print module, which uses the printer function of the multifunction peripheral, sets another multifunction peripheral connected via a network or the like as an input destination, and is equivalent to the Copy function realized by the multifunction peripheral alone. This is a module that performs processing.
[0037]
Reference numeral 1511 denotes a module that reads and prints information of various homepages on the Web or Pull-Print, that is, the Internet or an intranet.
Reference numeral 1512 denotes a module used when the multifunction peripheral communicates by HTTP, and provides communication to the Web-Server 1503 and Web-Pull-Print 1511 modules by a TCP / IP 1516 module described later.
Reference numeral 1513 denotes an lpr module, which provides communication to the printer module 1505 in the above-mentioned Universal-Send 1504 by a TCP / IP 1516 module described later.
[0038]
Reference numeral 1514 denotes an SMTP module which provides communication to the E-mail module 1506 in the above-mentioned Universal-Send 1504 by a TCP / IP 1516 module described later.
[0039]
Reference numeral 1515 denotes an SLM, that is, a Salutation-Manager module, which communicates with a database module 1517, a DP module 1518, a Remote-Copy-Scan 1509 module, and a Remote-Copy-Print 1510 module in the above-described Universal-Send 1504 by a TCP / IP 1516 module described later. To provide.
Reference numeral 1516 denotes a TCP / IP communication module which provides network communication to the above-described various modules by using a Network-Driver described later.
Reference numeral 1517 denotes a network driver which controls a portion physically connected to the network.
[0040]
Reference numeral 1518 denotes a Control-API, which provides an interface to a downstream module such as a Job-Manager 1519 described later for an upstream module such as the Universal-Send 1504, and reduces dependency between upstream and downstream modules. This enhances their diversion.
Reference numeral 1519 denotes a Job-Manager, which interprets a process instructed by the above-described various modules via the Control-API 1518 and gives an instruction to each of the modules described later. Also, this module is for centrally managing hardware processing executed in the multifunction peripheral.
[0041]
Reference numeral 1520 denotes a CODEC-Manager, which manages and controls various types of data compression / decompression in the processing specified by the Job-Manager 1519.
Reference numeral 1521 denotes an FBE-En coder which compresses data read by a scan process executed by the Job-Manager 1519 and the Scan-Manager 1524 in the FBE format.
[0042]
Reference numeral 1522 denotes a JPEG-CODEC, which performs JPEG compression of read data and JPEG decompression of print data in a scan process executed by the Job-Manager 1519 and the Scan-Manager 1524 and a print process executed by the Print-Manager 1526. Things.
[0043]
Reference numeral 1523 denotes an MMR-CODEC, which performs MMR compression of read data and MMR decompression processing of print data in a scan process executed by the Job-Manager 1519 and the Scan-Manager 1524 and a print process executed by the Print-Manager 1526. Things.
[0044]
Reference numeral 1524 denotes a Scan-Manager, which manages and controls a scan process specified by the Job-Manager 1519.
Reference numeral 1525 denotes a scanner driver which communicates between the Scan-Manager 1524 and a scanner unit internally connected to the multifunction peripheral.
Reference numeral 1526 denotes a Print-Manager, which manages and controls print processing instructed by the Job-Manager 1519.
[0045]
Reference numeral 1527 denotes a printer driver, which provides an I / F between the Print-Manager 1526 and the printing unit.
Reference numeral 1528 denotes a parallel port driver, which provides an I / F when the Web-Pull-Print 1511 outputs data to an output device (not shown) via the parallel port.
[0046]
·application
Hereinafter, embodiments of an embedded application according to the present invention will be described with reference to the drawings.
FIG. 13 is a diagram illustrating embedded application blocks related to image data distribution in the multifunction peripheral illustrated in FIG. 1.
[0047]
Reference numeral 4050 denotes a block indicating the operation unit application of the present invention described in the above 3000.
Reference numeral 4100 denotes a block indicating the transmitting side of the remote copy application.
Reference numeral 4150 denotes a block indicating the transmitting side of the broadcast distribution.
Reference numeral 4200 denotes a block indicating a Web Pull Print module.
[0048]
Reference numeral 4250 denotes a block indicating a Web Server module.
Reference numeral 4300 denotes a block indicating the receiving side (printing side) of the remote copy.
Reference numeral 4350 denotes a block for receiving and printing the image transmitted by the broadcast distribution using a general-purpose printer.
Reference numeral 4400 denotes a block indicating a remote print receiving side (print side).
[0049]
Reference numeral 4450 denotes a block for receiving and storing the image transmitted by the broadcast distribution using a publicly known Notes (TM) Server.
Reference numeral 4500 denotes a block for receiving and storing a binary image of the image transmitted by the broadcast distribution.
Reference numeral 4550 denotes a block for receiving and storing the image transmitted by the broadcast distribution using a known Mail Server.
[0050]
Reference numeral 4600 denotes a block for receiving and storing a multi-valued image transmitted from the broadcast.
Reference numeral 4650 is a known Web Server including information contents.
Reference numeral 4700 denotes a known Web Browser for accessing the Web Server and the like of the present invention.
[0051]
Hereinafter, the application group will be described in detail with reference to each block.
・ User Interface application
The details of the User Interface (hereinafter, UI) shown in the block 4050 are as described above. Here, the Address Book of 4051 will be described. The Address Book is stored in a nonvolatile storage device (such as a nonvolatile memory or a hard disk) in the device of the present invention, and the features of the device connected to the network are described therein. For example, those listed below are included.
Device official name or alias name
Device network address
Network protocol that can be processed by the device
Document format that can be processed by the device
Compression type that can be processed by equipment
Image resolution that can be processed by the device
Paper size and paper source information for printer devices
Folder name where documents can be stored for server (computer) devices
[0052]
Each application described below can determine the characteristics of the distribution destination based on the information described in the above-mentioned Address Book 4051.
Further, the Address Book can be edited, and can also be used by downloading a file stored in a server computer or the like in a network, or can be directly referred to.
[0053]
・ Remote copy application
The remote copy application 4041 determines the resolution information that can be processed by the device designated as the distribution destination from the above-mentioned Address Book 4051, and compresses the image binary image read by the scanner using known MMR compression. Is converted into a known TIFF (Tagged Image File Format) and transmitted to a printer device on a network through the SLM 4103. Although not described in detail, the SLM 4103 is a type of a network protocol that includes device control information called a well-known Salutation Manager (or Smart Link Manager).
[0054]
・ Broadcast distribution application
Unlike the remote copy application, the broadcast distribution application 4150 can transmit images to a plurality of distribution destinations by one image scan. The distribution destination is not limited to an image output device such as a printer, and can be directly distributed to a so-called server computer.
[0055]
Hereinafter, description will be made in order according to the distribution destination.
If it is determined by the Addr- s Book 4051 that the device of the distribution destination can process the known network printer protocol, LPD (Line Printer Daemon), or the known LIPS as a printer control command, the image is read according to the image resolution similarly determined by the Add- er Book 4051. In this embodiment, the image itself is compressed using a known FBE (First Binary Encoding), further converted into an LIPS code, and transmitted to a partner device using an LPR which is a known network printer protocol.
[0056]
If the destination device can communicate with the SLM and is a server device, the address book 4051 determines the server address and the designation of the folder in the server from the Address Book 4051, and the image binary image read by the scanner is read in the same manner as the remote copy application. It is possible to compress using a known MMR compression, convert it to a known TIFF (Tagged Image File Format), and store it in a specific folder of a server device on the network through the SLM.
[0057]
Further, in the device of the present embodiment, when the server which is the partner device determines that the well-known JPEG-compressed multi-valued image can be processed, the multi-value read image is converted to the well-known JPEG-compressed image in the same manner as the binary image. By using compression, it is also possible to convert to JFIF which is also known, and store it in a specific folder of a server device on the network through SLM.
[0058]
If the device of the delivery destination is a known E-Mail server, the mail address described in the Address Book 4051 is determined, the image binary image read by the scanner is compressed using the known MMR compression, and it is compressed into the known MMR server. Tagged Image File Format (TIFF) is transmitted to the E-Mail server using the well-known Simple Mail Transfer Protocol (SMTP) 4153. Subsequent distribution is performed according to Mail Server 4550.
[0059]
・ Web Pull Print application
Since the Web Pull Print application 4200 is not directly related to the present embodiment, the description is omitted.
[0060]
・ Web Server application
The Web Server application 4250 is not directly related to the present embodiment, and a description thereof will be omitted.
[0061]
Hereinafter, the screen of the operation unit will be briefly described.
・ Operation screen
FIG. 14 shows a display example of the LCD display unit 2013 of the operation unit 2012 shown in FIG. The figure shows a display example of the copy function.
[0062]
The functions provided by the device of the present invention are divided into six major categories, Copy / Send / Retrieve / Tasks / Management / Configuration, and these are the six main tabs displayed at the top of the operation screen (3010). COPY / SEND / RETREIVE / TASKS / MGMT / CONFIG) (3011 to 3016). By pressing these main tabs, switching to a screen of each category is performed. When switching to another category is not permitted, the display color of the main tab changes, and there is no response even when the main tab is pressed.
[0063]
Copy includes a function of performing a normal document copy using a scanner and a printer of the own device and a function of copying a document using a printer connected to the scanner of the own device and a network (remote copy). . Send is a function for transferring a document placed in a scanner of the own device to an e-mail, a remote printer, a facsimile, a file transfer (FTP), and a database, and can designate a plurality of destinations. Retrieve is a function of acquiring an external document and printing the acquired document on its own printer. WWW, e-mail, file transfer and fax can be used as document acquisition means. Tasks automatically processes documents sent from outside such as fax and Internet print, and generates and manages tasks for periodically performing Retrieve. Management manages jobs, address books, bookmarks, documents, account information, and the like. In the configuration, the setting (network, clock, etc.) for the own device is performed.
[0064]
・ Device Information Service (DIS)
A database that holds setting values for jobs, functions of devices (scanners, printers, and the like), status, billing information, and the like in a data format conforming to the Control API, and an I / F with the database is a Device Information Service (hereinafter, referred to as “device information service”) , DIS). FIG. 15 shows the relationship between the DIS 7102 and the Job Manager 1519, and the Scan and Print Managers 1524 and 1526.
[0065]
Basically, dynamic information such as a job start command is directly instructed from the Job Manager 1519 to each Manager, and static information such as device functions and job contents refers to the DIS 7102. Static, dynamic information and events from each Manager are transmitted to the Job Manager 1519 via the DIS7102.
[0066]
When setting and acquiring data from each Manager to the DIS database, since the internal data format of DIS conforms to the Control API, the mutual conversion between the data format conforming to the Control API and the data format that each Manager can understand is performed. Perform processing. For example, when setting status data from each Manager, the device-specific data is interpreted, converted into the corresponding data defined by the Control API, and written to the DIS database.
[0067]
When data is set and obtained from the Job Manager to the DIS database, no data conversion occurs between the Job Manager and the DIS.
[0068]
In the DIS, the event data is updated based on various event information notified from the Manager.
[0069]
FIG. 16 shows various databases (hereinafter, referred to as DBs) held in the DIS, and each DB will be described.
[0070]
Reference numeral 7201 denotes a Supervisor DB, which stores status and user information of the entire device. Information that needs to be backed up, such as a user ID and a password, is stored in a non-volatile storage device such as an HD device or a backup memory. Will be retained.
[0071]
Reference numeral 7202 denotes a scan component DB, and reference numeral 7203 denotes a print component DB. These component DBs are stored in correspondence with each existing component. For example, in the case of a device including only a printer, only the Print Component DB exists. For example, in the case of a device having a FAX, the FAX Component DB is held. At initialization, the corresponding Manager sets the function and status of each Component DB in each Component DB.
[0072]
Reference numeral 7204 denotes a scan job service DB, and reference numeral 7205 denotes a print job service DB. Like the component DB, these job service DBs set the functions that can be used by the corresponding managers at the time of initialization and the support status of the respective devices at the time of initialization.
[0073]
Next, the Job DB and the Document DB will be described. Reference numeral 7206 denotes a scan job DB, reference numeral 7207 denotes a job DB of the print job DB, reference numeral 7208 denotes a scan document DB, and reference numeral 7209 denotes a print document DB.
[0074]
The Job DB and the Document DB are dynamically secured and initialized by the Job Manager every time a Job and a Document accompanying the Job are generated, and necessary items are set. Each Manager reads items necessary for processing from the Job DB and the Document DB before starting the Job processing, and starts the Job. Thereafter, when the Job ends, these Jobs and the DB of the Document attached thereto are released. Since a Job has one or more Documents, a plurality of Document DBs may be reserved for a certain Job.
[0075]
Reference numeral 7211 denotes a database holding event information notified from each manager, and reference numeral 7210 denotes a counter table for recording the number of times of scanning and the number of times of printing of the apparatus.
[0076]
Events notified from the Manager include: Component status transition from the Scan Manager, Scan processing operation completion and various errors, Component status transition from the Print Manager, Print processing operation completion, paper jam, paper feed cassette open, etc. And an event ID for identifying each event is predetermined.
[0077]
When an event is issued from the Manager, the DIS registers the issued event ID in the event database 7211 and, if necessary, detailed data accompanying the event. When the release of the event is notified from the Manager, the event data designated to be released is deleted from the event database 7211.
[0078]
When the event is polled by the job manager, the DIS refers to the event database 7211, returns the currently generated event ID and, if necessary, detailed data attached to the event to the job manager, and returns the event to the job manager. If not, reply to that effect.
[0079]
When the event of the completion of the scan processing and the print processing operation is notified, the counter value of the user who performed the scan and print is updated. This software counter is written back to the backed-up memory device or the non-volatile storage device of the HD device every time the value is updated so that the value is not lost due to accidental power-off or the like.
[0080]
・ Scan operation
FIG. 17 shows a software structure related to the scanning operation. The Job Manager 1519 has a function of classifying and storing application-level requests. The DIS 7102 stores parameters required for a scan operation from the application level. The request from the application is stored in the RAM 2002. The scan operation management unit 8203 acquires information necessary for performing a scan from the Job Manager 1519 and the DIS 7102. The scan operation management unit 8203 receives the job number and document number table data 8301 shown in FIG. 18 from the Job Manager 1519, and receives the scan parameters 8302 shown in FIG. 19 from the DIS 7102 based on the job number and document number table data 8301. As a result, scanning is performed based on the scanning conditions requested by the application.
[0081]
The scan operation management unit 8203 passes the scan parameters 8302 acquired from the DIS 7102 to the scan sequence control unit 8204 in document number order. The scan sequence control unit 8204 that has received the scan parameter 8302 controls the device I / F control unit 8207 according to the content of the scan image attribute 8308. By operating the device I / F 2020 connected to the image bus 2008 in FIG. 1, a scan is executed by sending a control command to the scanner 2070 via the cable 2071. The scanned image is transferred to a device I / F 2020 via a cable 2071 and further stored in a RAM 2002 via a bus 2008.
[0082]
When the scan is completed and the image is stored in the RAM 2002 via the bus 2008, the scan sequence control unit 8204 compresses the scan image stored in the RAM 2002 according to the content of the scan image compression format 8309 of the scan parameter 8302. In order to do so, a request is made to the CODEC Manager 1520. The CODEC Manager 1520 that has received the request performs compression according to the specification of the scan image compression format 8309 from the scan sequence control unit 8204 using the codec 2040 connected to the bus 2008 or the software compression module in the MMR-CODEC 1523. The compression / decompression control unit 8205 stores the compressed image in the RAM 2002 via the bus 2008.
[0083]
The scan sequence control unit 8204 compresses the scan image in the format specified by the scan image compression format 8309 by the CODEC Manager 1520 and stores the compressed image in the RAM 2002 according to the image file type 8307 of the scan parameter 8302 at the time when the scan image is stored in the RAM 2002. File the scanned image. The scan sequence control unit 8204 requests the file system 8206 to create a file in the file format specified by the image file type 8307 of the scan parameter 8302. The file system 8206 converts the compressed image stored in the RAM 2002 into a file according to the image file type 8307 from the scan sequence control unit 8204, and transfers the compressed image to the HDD 2004 via the bus 2008 to convert the scanned image into a file. Become When the file system 8206 stores the filed image in the HDD 2004, the scan sequence control unit 8204 sends back a scan end notification to the scan operation management unit 8203, assuming that the processing of one document on the scanner 2070 has been completed.
[0084]
At this point, if there is an unscanned document on the scanner 2070 and a scan request is issued from the Job Manager 1519, the scan sequence control unit scans again using the scan parameters 8302 stored in the DIS 7102. Request action. If there is no unscanned document on the scanner 2070, or if there is no scan request from the Job Manager 1519, a scan end notification is issued to the Job Manager 1519 assuming that the scanning operation has been completed.
[0085]
・ Print event
Hereinafter, the printing operation will be described in detail.
[0086]
The device I / F 2020 has a DPRAM inside, and performs parameter setting to the printer, printer status reading, and exchange of print control commands via the DPRAM. This board also has a video controller, and transmits image data developed on the bus 2008 to the printer via the engine interface cable in accordance with VCLK (Video Clock) and HSYNC given from the printer via the engine interface cable. . FIG. 20 shows the timing of this transmission. VCLK is always output, and HSYNC is provided in synchronization with the start of one line of the printer. The Video controller reads data for the set image width (WIDTH) from the RAM 2002 and outputs the data as a Video signal to the engine interface cable. After repeating this for a specified number of lines (LINES), an IMAGE_END interrupt is generated.
[0087]
As described above, when a print job instruction is passed from the application program on the CPU to the Control API, the Control API passes this as a job to the job manager 1519 at the controller level. Further, the Job Manager 1519 stores the job settings in the DIS 7102, and instructs the Print Manager 1526 to start the job. Upon receiving the job, the Print Manager 1526 reads information necessary for job execution from the DIS and sets the information in the printer via the Engine I / F board and the DPRAM. If the image is compressed, a request is made to the CODEC Manager for expansion, and the CODEC Manager expands the image file into a bitmap image according to the expansion method (JPEG, MMR, etc.) instructed by the printer manager according to the request. The developed image is stored in the RAM 2002.
[0088]
FIG. 21 shows setting items of the device I / F 2020, and FIG. 22 shows setting items, control commands, and status commands via the DPRAM of the printer.
A specific operation of printing a bitmap image will be described on the assumption that a letter (11 ″ × 8.5 ″) size binary image is printed on one page of one copy and the printer has a performance of 600 dpi.
[0089]
After the image has been developed, the Print Manager calculates the number of image bytes of the width of the image (in this case, the side of 8.5 ").
WIDTH = 8.5 × 600/8 ÷ 630 (Bytes)
Next, the number of lines is calculated.
LINES = 11 × 600 = 6600 (Lines)
[0090]
These calculated values and the SOURCE address of the RAM 2002 in which the given first page image is stored are set to WIDTH, LINES, and SOURCE shown in FIG. At this point, the device I / F has completed preparation for image output, but has not output image data because the HSYNC signal from the printer has not been received (VCLK has been received).
[0091]
Next, the Print Manager writes 1 as the number of output copies to a predetermined address (Book No) of the DPRAM shown in FIG. Thereafter, a request for feeding the output sheet for the first page (FEED_REQ) is issued, and an image-REQ from the printer is awaited. When IMAGE-REQ is received from the printer, IMAGE_START is issued. In response to this, the printer starts outputting HSYNC, and the device I / F 2020 that has been waiting for HSYNC outputs an image. The printer outputs IMAGE_END when detecting the rear end of the output sheet, and outputs SHET_OUT when the output sheet is discharged. The Print Manager receives IMAGE_END of the first page, sets WIDTH, LINES, and SOURCE of the second page on the Engime I / F board, issues FEED_REQ, and waits for IMAGE_REQ. The operation after IMAGE_REQ of the second page is the same as that of the first page.
[0092]
[Select Codec]
Hereinafter, selection of a software (S / W) codec and a hardware (H / W) codec, which are features of the present invention, will be described in detail.
First, the data flow timing at the time of scanning and printing will be described. A case of the Universal Send function will be described as an example of the scan. The image scanned by the scanner is first written into the RAM 2002 from the device I / F 2020 via the bus 2008. Next, after being read from the RAM 2002 and encoded by hardware or software, it is stored in the RAM 2002 again. In the case of encoding by hardware, it is compressed by the codec 2040 via the bus 2008. In the case of compression by software, the data is read from the RAM 2002, compressed by the CPU 2001, and stored in the RAM 2002. The image stored in the RAM 2002 is converted into a general-purpose format such as a TIFF file and stored in the RAM 2002 and the HDD 2004. Finally, the file read from the RAM 2002 and the HDD 2004 is transferred to another device on the network via the bus 2008 and the Network 2010. FIG. 23 is a diagram showing, as a time chart, a usage state of the bus 2008 when this series of operations is performed.
[0093]
Similarly, a Remote Copy Print function will be described as an example of a print operation. The image data (TIFF-compressed image) transmitted via the network 2010 and the bus 2008 is first stored in the RAM 2002 and the HDD 2004. Next, after removing an extra header such as TIFF, the compressed data is stored in the RAM 2002. The data read from the RAM 2002 is decoded by hardware (bus 2008 → codec 2040 → bus 2008) or software, and stored in the RAM 2002 again. Finally, the bit-mapped image is read from the RAM 2002 and printed out via the bus 2008 and the device I / F.
[0094]
The timing when a request for scanning (two documents) in the Universal Send function and a request for printing (one sheet) by the Remote Copy Print function occur simultaneously will be described with reference to FIG. 11001 denotes a first scan, 11002 denotes a second scan, and 11003 denotes a print. In the scanning operation of the first sheet, the H / W Codec and the LAN for the printing operation use the bus 2008 at the same time, so that a bus contention occurs and the processing time becomes longer than when using alone. Further, if the three times of the LAN of the first scan, the transfer of the scan image of the second scan, and the decoding operation of the print overlap, the operation is further delayed.
[0095]
Therefore, in the present invention, the bus usage status of resources sharing the bus 2008 such as a scanner, a printer, and a LAN is investigated, and when the bus usage rate is larger than a predetermined value, the S / W Codec is used. The S / W Codec is realized by the CPU 2001 executing, for example, encoding / decoding processing software stored in the ROM 2003. Therefore, the processing can be performed by using only the system bus 2007, and the image bus 2008 is affected. Do not give.
[0096]
The bus management method will be described below with reference to FIG. 25 showing the software configuration around the CODEC Manager 1520. When the Scan Manager 1524, the Print Manager 1526, and the CODEC Manager 1520 have a resource that uses the bus, a flag is set in the area of the database in the Supervisor 7201 of the DIS 7102 (1 is written). Immediately before using the resources that actually use the bus, a flag is set in an area indicating that the database is being used, and the flag is reset at the time of termination. FIG. 26 shows this database. FIG. 26 shows the state of the database when the LAN, H / W codec, Scan, and Print have resources using the bus 2008, and the LAN and the scan are using the bus.
[0097]
The actual scanner operation will be described with reference to FIG. When a job occurs, the Scan Manager 1524 performs a scanner initialization process in step S14001. At this time, if the scanner cannot be used due to a row communication error or the like, an error is displayed on the operation unit on the UI. If a scan request is issued in step S14002, a flag indicating busy is set in the Supervisor database in step S14003. In step S <b> 14004, the scanner 2070 is instructed to scan, and the scan data is transferred to the RAM 2002. Upon completion of the transfer to the RAM, the in-use flag is reset to 0 in S14005, and a code compression request is made to the Codec Manager 1520 in S14006.
[0098]
Similarly, the operation of the printer will be described with reference to FIG. When a job occurs, the print manager 1526 performs printer initialization processing in step S 15001. Investigation of resources using the bus is performed at the same time, and if there is a resource using the bus, a flag is set in the Supervisor database of the DIS 7102 as described above. During the initialization process, if the printer cannot be used due to a communication error or the like, an error is displayed on the operation unit on the UI. If there is a scan request in S15002, a decode request is made to the Codec Manager in S15003, and the process waits until decoding is completed. After the decoding is completed in S15004, a flag indicating that it is in use is set in the Supervisor database. In step S15005, the printer is instructed to print, and the print data is transferred from the RAM 2002. When the transfer from the RAM is completed, the in-use flag is reset (0 is written) in S15006.
[0099]
FIG. 29 is a flowchart showing the operation of the Codec Manager 1520. In step S16001, the H / W codec 2040 is initialized, and a flag is set in the Supervisor database of the DIS 7102. If the codec chip cannot be used due to a failure or the like, an error is displayed on the operation unit on the UI. If there is a request for encoding / decoding from the printer / scanner in S16002, the use status of the bus 2008 is checked in S16003. Specifically, it accesses the Supervisor database in the DIS and counts how many resources are using the bus. If the number of resources using the bus 2008 exceeds a predetermined number, encoding / decoding for the request is performed using a software codec. Here, as an example, it is assumed that the use of a soft codec is determined in advance when two or more resources are used. However, the performance of the soft codec as a codec changes depending on the processing capacity and processing content of the CPU, so that the resource usage rate for determining whether to switch to the soft codec is set in advance to a value appropriate for the system.
[0100]
If the bus usage rate does not exceed the predetermined value in S16004, a flag indicating that the H / W codec is being used is set in S16005. In S16006, the codec 2040 is instructed to perform compression / decoding, and the data is transferred from the RAM 2002, compressed / decoded, and further transferred to the RAM 2002. Upon completion of the transfer to the RAM, the in-use flag set in S16005 is reset in S16007.
[0101]
On the other hand, if the bus usage rate exceeds the predetermined value in S16004, the CPU operates the S / W codec (S16008).
[0102]
FIG. 30 shows a time chart when the present patent is used for the job described in FIG. It can be seen that the output completion time of the scan image to the network is earlier than in FIG.
[0103]
FIG. 31 is a block diagram showing another configuration example of the image forming apparatus to which the present invention is applied. In the above-described embodiment, both the hardware codec and the software codec read and store the processing data from the RAM 2002. Therefore, there is no conflict of the image bus, but there is a case where the conflict of the system bus occurs. In this configuration, a storage device 2041 used by a hardware codec and a storage device (RAM 2002) used by a software codec are separately provided.
[0104]
With this configuration, there is no system bus contention when storing the processed data. In addition, by storing the image data to be processed by the hardware codec in the storage device 2041 in advance by DMA transfer or the like, the original data can be stored. Even when image data is read out, contention of the system bus does not occur, so that more efficient processing can be performed. As the storage device 2041, a general storage device such as a HDD, such as a RAM, can be used.
[0105]
In the above-described embodiment, the use of the software codec is determined based on the occupancy of the image bus. However, if the CPU 2001 operating as the software codec is in a high load state by another process, the hardware It is also conceivable that the use of a codec results in faster processing. Therefore, the configuration may be such that the use of the software codec is determined by combining the load state of the CPU 2001 and the occupancy of the image bus 2008.
[0106]
Although the embodiment has been described using an example in which the encoding and decoding apparatus of the present invention is applied to an apparatus that handles image data, the encoding and decoding targets are not limited, and audio and document It is needless to say that the present invention can be applied to an apparatus that handles arbitrary data such as a program and a program.
[0107]
In the embodiment, the multifunction peripheral having the scanner function and the printer function integrated has been described as an example. However, the present invention relates to a plurality of devices (for example, a host computer, an interface device, a reader, and a printer) connected on a network. Etc.), or may be applied to an apparatus (e.g., copier, facsimile machine, etc.) composed of one device.
[0108]
【The invention's effect】
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an overall configuration of a multifunction peripheral to which the present invention is applied.
FIG. 2 is a diagram illustrating a front appearance of a multifunction peripheral to which the present invention is applied.
FIG. 3 is a diagram illustrating an external appearance of an operation unit.
FIG. 4 is a block diagram of a scanner image processing unit.
FIG. 5 is a block diagram of a printer image processing unit.
FIG. 6 is a block diagram of a codec.
FIG. 7 is a block diagram of an image rotation unit.
FIG. 8 is an explanatory diagram of an image rotation process.
FIG. 9 is an explanatory diagram of an image rotation process.
FIG. 10 is a block diagram of a device I / F unit.
FIG. 11 is a diagram illustrating a configuration example of a network system to which apparatuses to which the present invention is applied are connected.
FIG. 12 is an overall configuration diagram of software of a multifunction peripheral to which the present invention is applied.
FIG. 13 is a block diagram illustrating a distribution embedded application.
FIG. 14 is a diagram illustrating a specific display example of an operation unit.
FIG. 15 is a diagram illustrating a connection relationship between DIS and Job Manager, Print Manager, and Scan Manager.
FIG. 16 is a diagram showing a database and counters inside DIS.
FIG. 17 is a block diagram of software control in scanning.
FIG. 18 is a schematic diagram of a parameter table in scanning.
FIG. 19 is a schematic diagram of a parameter table in scanning.
FIG. 20 is a waveform chart showing data transfer timing during printing.
FIG. 21 is a diagram showing a print parameter register in the Engine I / F board.
FIG. 22 is a diagram illustrating a communication command between the printer and the Engine I / F board.
FIG. 23 is a time chart when scanning one page.
FIG. 24 is a time chart when a plurality of jobs occur simultaneously.
FIG. 25 is a diagram showing a software configuration around a codec manager.
FIG. 26 is a diagram showing a configuration of a Supervisor database in DIS.
FIG. 27 is a flowchart showing the operation of the scanner.
FIG. 28 is a flowchart illustrating an operation of the printer.
FIG. 29 is a flowchart showing an operation of the codec.
FIG. 30 is a time chart when codec switching according to the present invention is performed in FIG. 24;
FIG. 31 is a block diagram illustrating another configuration example of a multifunction peripheral to which the present invention has been applied.
[Explanation of symbols]
2001 CPU
2002 RAM
2003 ROM
2004 HDD
2005 Image bus interface
2006 Operation interface
2007 system bus
2008 Image Bus
2010 Network Interface
2020 Device Interface
2040 codec
2050 modem
2060 raster image processor
2070 Scanner
2095 Printer

Claims (9)

外部から供給される原データに所定の符号化処理又は復号化処理を施して出力する符号化復号化手段を有する符号化復号化装置であって、
前記符号化復号化手段として、ハードウェアによって構成され、少なくとも1つ以上の資源が接続されている第1のバスに接続される第1のコーデックと、ソフトウェアを実行することによって符号化復号化を行う第2のコーデックと、
前記原データの符号化又は復号化処理に使用する符号化復号化手段を選択する選択手段と、を有し、
前記選択手段は、前記第1のコーデックが接続された前記第1のバスの使用状況を監視し、前記使用状況に基づく値が所定の値を超えた場合に前記第2のコーデックを選択することを特徴とする符号化復号化装置。
An encoding / decoding device having encoding / decoding means for performing predetermined encoding processing or decoding processing on original data supplied from the outside and outputting the result,
As the encoding / decoding means, a first codec configured by hardware and connected to a first bus to which at least one or more resources are connected, and encoding / decoding by executing software, A second codec to perform;
Selecting means for selecting an encoding / decoding means used for encoding or decoding of the original data,
The selecting means monitors a use status of the first bus to which the first codec is connected, and selects the second codec when a value based on the use status exceeds a predetermined value. An encoding / decoding device characterized by the above-mentioned.
前記第1のバスの使用状況に基づく値は、前記第1のバスに接続され、前記第1のバスを使用可能な資源のうち、前記第1のバスを使用中の資源の数によって決定される値であることを特徴とする請求項1記載の符号化復号化装置。 The value based on the use status of the first bus is determined by the number of resources that are connected to the first bus and are using the first bus among resources that can use the first bus. 2. The encoding / decoding device according to claim 1, wherein the encoding / decoding device has the following values . 前記第2のコーデックは、前記第1のバスに接続された第2のバスに接続されていることを特徴とする請求項1記載の符号化復号化装置。The encoding / decoding device according to claim 1, wherein the second codec is connected to a second bus connected to the first bus. 前記第2のコーデック、前記ソフトウェアを記憶する記憶手段と、前記ソフトウェアを実行する処理手段とから構成されることを特徴とする請求項1記載の符号化復号化装置。2. The encoding / decoding apparatus according to claim 1, wherein the second codec includes a storage unit that stores the software, and a processing unit that executes the software. 前記選択手段は、前記処理手段の負荷を監視し、前記使用状況に基づく値と前記負荷を用いて前記第2のコーデックの選択を決定することを特徴とする請求項に記載の符号化復号化装置。 Said selection means monitors the load of the processing unit, the coding according to claim 4, wherein determining the selection of the second codec with said value based on the usage load Decryption device. 前記原データの供給源が複数あり、複数の前記所定の符号化又は復号化処理の要求が同時に発生しうることを特徴とする請求項1乃至5のいずれかに記載の符号化復号化装置。6. The encoding / decoding apparatus according to claim 1, wherein there are a plurality of sources of said original data, and a plurality of said predetermined encoding or decoding processing requests can be generated simultaneously. 前記第1のコーデックで処理されたデータを記憶する第1の記憶手段を前記第1のバスに接続して設け、前記第2のコーデックで処理されたデータを記憶する第2の記憶手段を前記第2のバスに接続して設けたことを特徴とする請求項1乃至6のいずれかに記載の符号化復号化装置。 First storage means for storing data processed by the first codec is connected to the first bus, and second storage means for storing data processed by the second codec is provided. 7. The encoding / decoding device according to claim 1, wherein the encoding / decoding device is connected to the second bus . 画像データを発生する手段と、受信した画像データをもとに画像を被記録材上に形成して出力する画像形成手段とが前記請求項1乃至のいずれかに記載の符号化復号化装置を介して通信可能に接続された画像形成システム。Means for generating image data, encoding and decoding apparatus according to an image based on the image data received in any one of the image forming means forms and outputs on the recording material the claims 1 to 7 An image forming system communicably connected via a computer. 外部から供給される原データに所定の符号化処理又は復号化処理を施して出力する符号化復号化装置であって、An encoding / decoding device that performs predetermined encoding processing or decoding processing on original data supplied from the outside and outputs the result.
少なくとも1つ以上の資源が接続されている第1のバスに接続された第1のコーデックと、  A first codec connected to a first bus to which at least one or more resources are connected;
少なくとも1つ以上の資源が接続されている第2のバスに接続された第2のコーデックと、  A second codec connected to a second bus to which at least one or more resources are connected;
前記原データの符号化又は復号化処理を、前記第1のコーデックで実行するか、前記第2のコーデックで実行するかを選択する選択手段と、を有し、  Selecting means for executing the encoding or decoding of the original data with the first codec or with the second codec,
前記選択手段は、前記第1のバス及び前記第2のバスを使用する各資源によるバスの使用状況に基づいて、使用するコーデックを選択することを特徴とする符号化復号化装置。  The encoding / decoding apparatus according to claim 1, wherein said selecting means selects a codec to be used based on a bus usage status of each resource using said first bus and said second bus.
JP28304498A 1998-10-05 1998-10-05 Encoding / decoding device and image forming system Expired - Fee Related JP3581582B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28304498A JP3581582B2 (en) 1998-10-05 1998-10-05 Encoding / decoding device and image forming system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28304498A JP3581582B2 (en) 1998-10-05 1998-10-05 Encoding / decoding device and image forming system

Publications (2)

Publication Number Publication Date
JP2000115277A JP2000115277A (en) 2000-04-21
JP3581582B2 true JP3581582B2 (en) 2004-10-27

Family

ID=17660494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28304498A Expired - Fee Related JP3581582B2 (en) 1998-10-05 1998-10-05 Encoding / decoding device and image forming system

Country Status (1)

Country Link
JP (1) JP3581582B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4886005B2 (en) * 2000-07-05 2012-02-29 株式会社リコー Image forming apparatus and image forming method
JP4908697B2 (en) * 2001-08-31 2012-04-04 キヤノン株式会社 Image processing apparatus, image processing control method, storage medium, and program
JP2008067002A (en) * 2006-09-06 2008-03-21 Seiko Epson Corp Image processing apparatus and printing apparatus including the same
JP4691062B2 (en) * 2007-03-30 2011-06-01 株式会社東芝 Information processing device
JP5233169B2 (en) 2007-05-31 2013-07-10 富士通モバイルコミュニケーションズ株式会社 Mobile device
JP2008299610A (en) 2007-05-31 2008-12-11 Toshiba Corp Multiprocessor
US8768078B2 (en) * 2010-04-07 2014-07-01 Apple Inc. Intelligent media decoding
CN116055715B (en) * 2022-05-30 2023-10-20 荣耀终端有限公司 Scheduling method of coder and decoder and electronic equipment

Also Published As

Publication number Publication date
JP2000115277A (en) 2000-04-21

Similar Documents

Publication Publication Date Title
US6587735B1 (en) Data processing apparatus and processor selection method
JP3880277B2 (en) Image processing apparatus and control method thereof
JP2001136352A (en) Image input device and control method thereof
JP3581582B2 (en) Encoding / decoding device and image forming system
JP2000151873A (en) Information processing system and information processing method
JP2000358144A (en) Image input / output system and control method thereof
JP4557778B2 (en) Image forming apparatus, archive system including the image forming apparatus, and control method thereof
JP4147097B2 (en) Image forming method, image forming system, and image forming apparatus
JP2004336431A (en) Image forming apparatus, image processing program, and recording medium
JP2006171297A (en) Composite image processing device
JP4027073B2 (en) Image processing system, image processing apparatus, and job management method
JP3814452B2 (en) Image input / output device and control method thereof
JP2006344128A (en) Image processing device
JP3990887B2 (en) Information processing apparatus, job processing method, and storage medium
JP3755867B2 (en) Image forming apparatus and recording medium
JP2003167705A (en) Image processing system, information processing device, image processing device, image output control method, storage medium, and program
JPH11331455A (en) Remote copy system and remote copy method
JPH11134236A (en) Image processing apparatus and control method thereof
JPH11328376A (en) Information input / output method and apparatus, and storage medium
JP2007066172A (en) Data processing method and data processing apparatus
JP2005192116A (en) Image transfer system
JPH11327376A (en) Remote copy system and remote copy method
JP4006197B2 (en) Printing system
JP2001313752A (en) Multi-function system and image data transfer method in the system
JP2003131837A (en) Job management method, job management system, program, and recording medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040723

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees