JP6904697B2 - 情報処理装置及び通信制御方法 - Google Patents

情報処理装置及び通信制御方法 Download PDF

Info

Publication number
JP6904697B2
JP6904697B2 JP2016248960A JP2016248960A JP6904697B2 JP 6904697 B2 JP6904697 B2 JP 6904697B2 JP 2016248960 A JP2016248960 A JP 2016248960A JP 2016248960 A JP2016248960 A JP 2016248960A JP 6904697 B2 JP6904697 B2 JP 6904697B2
Authority
JP
Japan
Prior art keywords
processor
memory
data
program
request
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.)
Active
Application number
JP2016248960A
Other languages
English (en)
Other versions
JP2018106222A (ja
JP2018106222A5 (ja
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 JP2016248960A priority Critical patent/JP6904697B2/ja
Priority to US15/843,635 priority patent/US20180182059A1/en
Publication of JP2018106222A publication Critical patent/JP2018106222A/ja
Publication of JP2018106222A5 publication Critical patent/JP2018106222A5/ja
Application granted granted Critical
Publication of JP6904697B2 publication Critical patent/JP6904697B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0083Arrangements for transferring signals between different components of the apparatus, e.g. arrangements of signal lines or cables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)
  • Image Input (AREA)
  • Bus Control (AREA)

Description

本発明は、情報処理装置及び通信制御方法に関する。
複数のプロセッサを用いて単一機能を実現する場合、プロセッサ間に配置したFIFOバッファを経由してプロセッサ間でコマンドを送受信しながら、各プロセッサが単一機能の部分処理を並列に実行することで、システム性能を向上する方法が知られている。FIFOバッファは、ファーストインファーストアウト(First In First Out)バッファである。更に、これらの複数のプロセッサに割り当てるプログラムを時分割で切り替えることで、複数のプロセッサを用いて複数の機能を多重化して実現する方法も知られている。
この時、前段のプロセッサがコマンドを送信するまでに要する時間と後段のプロセッサがコマンドを受信するまでに要する時間の大小関係は、処理対象データに対して各プロセッサに割り当てられた部分処理を実行するプログラムの処理時間に依存して変化する。例えば、前段のプロセッサの処理時間が後段のプロセッサの処理時間よりも短い場合、プロセッサ間のFIFOバッファがフル(Full)状態になり、前段のプロセッサに処理待ち時間(ストール)が発生する。逆に、前段のプロセッサの処理時間が後段のプロセッサの処理時間よりも長い場合、プロセッサ間のFIFOバッファが空(Empty)状態になり、後段のプロセッサに処理待ち時間(ストール)が発生する。これらの課題によって、複数のプロセッサのパイプライン構成を有する情報処理装置のシステム性能を十分に引き出せていない。
これらの課題に対処するために、特許文献1は、プロセッサ間のFIFOバッファの状態に応じて、FIFOバッファに記憶したデータをDMAコントローラ経由でシステムメモリに転送する技術を開示している。DMAコントローラは、ダイレクトメモリアクセス(Direct Memory Access)コントローラである。すなわち、FIFOバッファがフル状態になると、DMAコントローラ経由でFIFOバッファからシステムメモリにデータ転送するようにデータパスを切り替える。一方で、FIFOバッファが空状態になると、DMAコントローラ経由でシステムメモリからFIFOバッファにデータ転送するようにデータパスを切り替える。
特開2011−56703号公報
しかしながら、特許文献1は、FIFOバッファのフル状態/空状態を回避できる局所最適の制御方法ではあるが、必ずしも複数のプロセッサのシステム性能を向上できる全体最適の制御方法ではない。すなわち、FIFOバッファのDMAコントローラによるメモリアクセスと複数のプロセッサによるメモリアクセスが互いに競合し、メモリ帯域を圧迫してメモリアクセス待ち時間(レイテンシ)を増加させるため、システム性能を低下させる場合がある。また、特許文献1は、パイプライン内部で自律的にデータパスを切り替える制御方法を提供しているが、パイプライン外部から前述したシステムバス上のメモリ帯域を考慮してデータパスを切り替える制御方法を提供していない。
本発明の目的は、複数のプロセッサの間の通信を適切に制御することができる情報処理装置及び通信制御方法を提供することである。
本発明の情報処理装置は、第1プロセッサと、第2プロセッサと、メモリと、前記第1プロセッサからデータを受信し、前記メモリにデータを送信し、前記第2プロセッサにデータを送信するメモリコントローラと、第1リクエストを受信し、前記第1リクエストを処理する第1プログラムを前記第1プロセッサのためにロードし、前記第1リクエストを処理する第2プログラムを前記第2プロセッサのためにロードし、第2リクエストを受信し、前記第2リクエストを処理する第3プログラムを前記第1プロセッサのためにロードし、前記第2リクエストを処理する第4プログラムを前記第2プロセッサのためにロードし、受信したリクエストの内容に基づいて、前記メモリコントローラを前記第1プロセッサから受信したデータを前記メモリに送信し前記メモリに記憶された前記データを前記第2プロセッサに送信するよう設定する、又は、前記メモリコントローラを前記第1プロセッサから受信したデータを前記メモリに送信せずに前記第2プロセッサに送信するよう設定する、制御手段と、を備える。
本発明によれば、複数のプロセッサの間の通信を適切に制御することができる。
画像処理装置のコントローラの構成例を示すブロック図である。 汎用画像処理部の内部構成例を示すブロック図である。 制御部の機能実行制御を示すフローチャートである。 汎用画像処理部の処理プログラムの実行を示すフローチャートである。 機能Aの機能実行制御を説明する概念図である。 機能Bの機能実行制御を説明する概念図である。 機能Cの機能実行制御を説明する概念図である。 制御部の機能実行制御を示すフローチャートである。 汎用画像処理部の処理プログラムの実行を示すフローチャートである。 機能A〜Cの処理プログラムと通信部制御方法の対応を示す図である。
(第1の実施形態)
図1は、本発明の第1の実施形態による画像処理システムの構成例を示すブロック図である。画像処理システムは、画像処理装置10と、ネットワーク20と、ホストコンピュータ30と、サーバ40とを有する。画像処理装置10は、情報処理装置であり、例えば、スキャン、プリント、コピーなどの複数の機能を有するデジタル複合機(MFP:Multi Function Peripheral)である。
画像処理装置10は、コントローラ100、操作部200、スキャンエンジン300、及びプリントエンジン400を有し、ネットワーク20を介して、ホストコンピュータ30及びサーバ40に接続される。ネットワーク20は、LANやWANなどであり、ホストコンピュータ30又はサーバ40などの外部装置と画像処理装置10との間で画像データやデバイス情報を送受信する通信部である。ホストコンピュータ30は、ネットワーク20上の端末であって、アプリケーションソフトで作成した文書データを基に画像処理装置10でプリント出力可能なPDL(Page Description Language)データを生成して送信する。サーバ40は、ホストコンピュータ30で生成して送信したPDLデータを受信して一時格納する端末であって、画像処理装置10の操作部200からのPDLプリント実行などの指示に従って画像処理装置10にPDLデータを送信する。
コントローラ100は、ネットワーク20、操作部200、スキャンエンジン300、及びプリントエンジン400に接続され、画像処理装置10全体の制御を行う制御部である。コントローラ100は、ROM101、RAM102、HDD103、操作部I/F104、及びネットワークI/F105がシステムバス110を介して互いに接続されている。また、コントローラ100は、CPU106、及び汎用画像処理部107、スキャン画像処理部108、及びプリント画像処理部109がシステムバス110を介して互いに接続されている。
ROM101(不揮発性メモリ)101は、CPU106がシステムを起動するためのブートプログラムが格納されている記憶部である。RAM102(揮発性メモリ)102は、DRAMなどであり、CPU106がシステム上で動作するためのワーク領域として使用されたり、画像データやコマンドデータを一次記憶するためのバッファ領域として使用されたりする記憶部である。HDD103は、ハードディスクドライブであって、主に画像処理装置10の内部の画像データを格納しておくための大容量記憶部である。操作部I/F104は、操作部200とコントローラ100の間で入出力データを送受信するインタフェース部である。操作部I/F104は、操作部200からの操作入力をコントローラ100内部に転送したり、コントローラ100内部から操作部200への表示出力を転送したりする。ネットワークI/F105は、例えばLANカードなどであり、ネットワーク20を介してホストコンピュータ30やサーバ40などの外部装置と画像処理装置10との間で画像データやデバイス情報を送受信するインタフェース部である。
CPU(制御部)106は、画像処理装置10のコントローラ100全体を制御する制御部である。CPU106は、例えば、カラーのPDLプリント処理時に、ネットワーク20を介して受信したPDLデータを解釈して、ページを構成する描画データ(DL:Display List)に変換して、RAM102に格納するように制御する。また、CPU106は、例えば、モノクロのコピー処理時に、スキャン画像処理部108を介してスキャンエンジン300から受信した画像データを、RAM102に格納するように制御する。汎用画像処理部107は、CPU106の指示に基づいて実行するプログラムを切り替えることで、時分割で複数の異なる機能を実現可能な汎用の画像処理部である。汎用画像処理部107は、例えば、カラーのPDLプリント処理時に、描画(RIP:Raster Image Processing)機能を実現するプログラムを実行するように制御される。この時、汎用画像処理部107は、CPU106が生成したベクタ形式の描画データ(DL)を、ラスタ形式の画像データに展開する。また、汎用画像処理部107は、例えば、モノクロのコピー処理時に、画像編集処理を実現するプログラムを実行するように制御される。この時、汎用画像処理部107は、RAM102上のラスタ形式の画像データを取得して画像フィルタや画素カウントなどの画像編集処理を実行する。スキャン画像処理部108は、スキャンエンジン300に接続され、スキャンエンジン300から入力された画像データに対して、スキャンエンジン300のデバイス特性に合わせた補正のための画像処理を行う画像処理部である。プリント画像処理部109は、プリントエンジン400に接続され、プリントエンジン400のデバイス特性に合わせた補正のための画像処理を行った後に、プリントエンジン400に対して画像データを出力する画像処理部である。システムバス110は、コントローラ100を構成する各処理部を互いに接続し、各処理部の間で画像データやコマンドデータの送受信を行う処理部である。スキャンエンジン300は、スキャンにより画像データを生成する。プリントエンジン400は、画像データをプリントする。
図2は、図1に示した汎用画像処理部107の内部構成例を示すブロック図である。図2に示すように、汎用画像処理部107は、パイプラインを形成する複数のプロセッサ501〜504を有する。図2の例では、汎用画像処理部107は、Sub−CPU1(501)、Sub−CPU2(502)、Sub−CPU3(503)、Sub−CPU4(504)の4つのSub−CPUを有する。Sub−CPU1(501)、Sub−CPU2(502)、Sub−CPU3(503)、及びSub−CPU4(504)は、それぞれ、プロセッサである。複数のDMA付きFIFO(601〜603)は、複数の通信部であり、複数のSub−CPU(501〜504)の間のデータの通信を行う。Sub−CPU1(501)とSub−CPU2(502)は、DMA付きFIFO1(601)によって接続されている。また、Sub−CPU2(502)とSub−CPU3(503)は、DMA付きFIFO2(602)によって接続されている。また、Sub−CPU3(503)とSub−CPU4(504)は、DMA付きFIFO3(603)によって接続されている。これらのDMA付きFIFO(601〜603)は、上記のパイプラインの上流のSub−CPUと下流のSub−CPUとの間で転送されたプロセッサ間の通信データを一時的に内部のFIFO式のバッファに記憶する通信部として機能する。また、Sub−CPU1〜Sub−CPU4(501〜504)、及び、DMA付きFIFO1〜DMA付きFIFO3(601〜603)のそれぞれは、システムバス110への入出力が可能な構成になっている。すなわち、これらのブロックから発行されたバストランザクションは、汎用画像処理部107の内部でバスアービター701によって調停された後に、システムバス110を介して接続されたRAM102へのメモリアクセスとして発行される。
Sub−CPU(501〜504)のそれぞれは、RAM102のシステムメモリに格納された複数のプログラム(機能)801aや801bを時分割で切り替えて実行することで、機能Aや機能Bの各機能の部分処理を実行する。この時、Sub−CPU(501〜504)のそれぞれは、RAM102のシステムメモリに格納された入力データ802aや802bを取得することで、機能Aや機能Bの各機能を実行する際の入力データとする。同様に、Sub−CPU(501〜504)のそれぞれは、機能Aや機能Bの各機能を実行して得られた結果の出力データを、RAM102のシステムメモリ上にデータ803aや803bとして格納する。
DMA付きFIFO1(601)は、FIFO1(601a)及びDMA1(601b)を有する。DMA付きFIFO2(602)は、FIFO2(602a)及びDMA2(602b)を有する。DMA付きFIFO3(603)は、FIFO3(603a)及びDMA3(603b)を有する。FIFO(601a〜603a)は、FIFOバッファであり、ファーストインファーストアウト(First In First Out)バッファである。DMA(601b〜603b)は、DMAコントローラであり、ダイレクトメモリアクセス(Direct Memory Access)コントローラである。FIFO(601a〜603a)は、それぞれ、複数のSub−CPU(501〜504)の間に設けられる。DMA(601b〜603b)は、それぞれ、RAM102に対してダイレクトメモリアクセスする。
バスアービター701は、第1のバスであり、複数のSub−CPU(501〜504)、DMA(601b〜603b)、及びシステムバス110に接続される。システムバス110は、第2のバスであり、バスアービター701及びCPU106に接続される。RAM102は、システムバス110に接続される。
DMA付きFIFO(601〜603)のそれぞれは、CPU106の指示に従い、上流のプロセッサから受信した通信データをFIFO(601a〜603a)経由で下流のプロセッサに送信する。また、DMA付きFIFO(601〜603)のそれぞれは、CPU106の指示に従い、上流のプロセッサからFIFOインタフェースで受信した通信データをDMA(601b〜603b)経由でRAM102のシステムメモリ上のバッファ領域に一時保持する。更に、DMA付きFIFO(601〜603)のそれぞれは、RAM102のシステムメモリ上のバッファ領域に一時保持した通信データを、再びDMA(601b〜603b)経由で下流のプロセッサにFIFOインタフェースで送信する。ここで、FIFO経由のデータパスで用いられるFIFO(601a〜603a)内部のバッファ領域は、一般に、比較的小さいサイズのSRAMなどで構成され、固定サイズ(例:64ビット×32段FIFO)で用いることが多い。また、DMA経由のデータパスで用いられるRAM102内部のバッファ領域は、一般に、比較的大きいサイズのDRAMなどで構成され、その一部の領域を可変サイズ(例:64ビット×4096段FIFO相当)で確保して用いることが多い。なお、図2に示した構成は、パイプラインを形成する複数のプロセッサを用いたサブシステムの一例であって、プロセッサ数や接続構成を制限するものではない。
図3は、本発明の第1の実施形態において、CPU106が汎用画像処理部107の機能実行を制御する流れを説明するためのフローチャートである。なお、図3のフローチャートに記載のステップS301〜S315のプログラムは、画像処理装置100の起動時にRAM102に展開され、CPU106によって実行されるものである。また、図10は、本実施形態において、汎用画像処理部107が実現可能な複数の機能に対するSub−CPUの処理プログラムとDMA付きFIFO制御方法を管理するテーブルである。図3の各ステップS301〜S315では、必要に応じて図10の例を参照しながら説明する。
まず、ステップS301では、CPU106は、画像処理装置10で受信したジョブ毎に、汎用画像処理部107に対する機能要求を取得する。例えば、CPU106は、カラーのPDLプリント処理のジョブ実行を要求された場合、汎用画像処理部107に対して予め定めた機能Aとしてのカラー描画(RIP)機能を実現するプログラムを実行するように制御する。また、例えば、CPU106は、モノクロのコピー処理のジョブ実行を要求された場合、汎用画像処理部107に対して予め定めた機能Bとしてのモノクロ編集機能を実現するプログラムを実行するように制御する。
次に、ステップS302では、CPU106は、ステップS301で対応付けされた各機能のプログラムをSub−CPU(501〜504)にロードする。すなわち、CPU106は、機能Aのカラー描画(RIP)機能が選択されたならば、これに対応する処理プログラム801aのA1〜A4をロードする。また、CPU106は、機能Bのモノクロ編集機能が選択されたならば、これに対応する処理プログラム801bのB1〜B4をロードする。CPU106は、上記のロードにより、複数のSub−CPU(501〜504)に機能を割り当てる。
次に、ステップS303では、CPU106は、汎用画像処理部107で実現する機能に対応したプログラムを識別するための機能IDを取得する。例えば、CPU106は、図10に示した機能Aのカラー描画(RIP)機能が選択され、S302で機能Aに対応するSub−CPUプログラムA1〜A4をSub−CPU(501〜504)にロードしたならば、これを示す機能ID=0x1を取得する。また、例えば、CPU106は、図10に示した機能Bのモノクロ編集機能が選択され、S302で機能Bに対応するSub−CPUプログラムB1〜B4をSub−CPU(501〜504)にロードしたならば、これを示す機能ID=0x2を取得する。
次に、ステップS304では、CPU106は、プロセッサ間のデータ通信があるか否かを判断する。単一機能がパイプライン接続された2つ以上のプロセッサによる部分処理で実現され、かつ、プロセッサ間で画像データや制御コマンドなどの通信データを転送しながら並列処理を実行する場合(S304でYES)は、CPU106は、S306に遷移する。一方で、単一機能が単一のプロセッサで完結した処理で実現したり、プロセッサ間で画像データや制御コマンドなどの通信データを転送せずに並列処理を実現したりする場合(S304でNO)は、CPU106は、S305に遷移する。
ステップS305では、CPU106は、当該プロセッサ間のDMA付きFIFOに対してデータ通信を必要としないため、プロセッサ間の通信部であるDMA付きFIFOのリセット制御を実行し、ステップS311に遷移する。
ステップS306では、CPU106は、プロセッサ間の通信部であるDMA付きFIFOのそれぞれに対して、ステップS303で取得した機能IDに対応した通信モードを選択(設定)する。通信モードは、DMA転送の通信モード(第1の通信モード)と、FIFO直結の通信モード(第2の通信モード)とを有する。次に、ステップS307では、CPU106は、ステップS306で選択した通信モードがFIFO直結の通信モードであるか否かを判断する。CPU106は、通信モードがFIFO直結の通信モードであると判断した場合(S307でYES)には、ステップS308に遷移する。また、CPU106は、通信モードがDMA転送の通信モードであると判断した場合(S307でNO)には、ステップS309に遷移する。
ステップS308では、CPU106は、FIFO直結の通信モードを設定し、ステップS310に遷移する。具体的には、CPU106は、固定サイズで比較的小さいサイズのSRAM(例:64ビット×32段FIFO)などで構成されるFIFO経由で、上流のプロセッサから下流のプロセッサへのデータパスを確立する。すなわち、FIFO直結の通信モードにおいて、CPU106は、図2で説明したFIFO(601a〜603a)内部のバッファ領域を用いて、プロセッサ間のデータ通信を行うように制御する。
ステップS309では、CPU106は、DMA転送の通信モードを設定し、ステップS310に遷移する。具体的には、CPU106は、可変サイズで比較的大きいサイズのDRAMなどで構成されるDMA経由で、上流のプロセッサから下流のプロセッサへのデータパスを確立する。すなわち、DMA転送の通信モードにおいて、CPU106は、図2で説明したRAM102内部で確保した一部の領域をバッファ領域として用いて、プロセッサ間のデータ通信を行うように制御する。
例えば、CPU106は、S303で図10に示した機能ID=0x1を取得したならば、図2に示したDMA付きFIFO1及び2(601、602)をDMA転送の通信モードに設定し、DMA付きFIFO3(603)をFIFO直結の通信モードに設定する。また、例えば、CPU106は、S303で図10に示した機能ID=0x2を取得したならば、図2に示したDMA付きFIFO1〜DMA付きFIFO3(601〜603)をFIFO直結の通信モードに設定する。
ステップS309では、CPU106は、DMA付きFIFO(601〜603)のそれぞれに対して、DMA転送先アドレス、及び、DMA転送先バッファサイズを設定することで、システムメモリのRAM102のバッファ領域を確保する。なお、DMA転送の通信モードの場合、CPU106は、DRAM上に確保するバッファ領域のサイズを併せて設定することで、バッファサイズそのものも任意の可変サイズに設定可能である。すなわち、例えば、図10に示した機能ID=0x1の場合、CPU106は、Sub−CPU1(501)とSub−CPU2(502)の間のバッファ領域を64ビット×4096段FIFO相当に設定可能である。その一方で、例えば、図10に示した機能ID=0x1の場合、CPU106は、Sub−CPU2(502)とSub−CPU3(503)の間のバッファ領域を64ビット×512段FIFO相当に設定可能である。
ステップS310では、CPU106は、通信部である当該DMA付きFIFOに対してリセット解除し、汎用画像処理部107のSub−CPUによるプログラム実行待ち状態となるようにスタンバイ制御する。
次に、ステップS311では、CPU106は、汎用画像処理部107を構成する全ての通信部のDMA付きFIFOに対して設定したか否かを判断する。CPU106は、全ての通信部に対して設定したと判断した場合にはステップS312に遷移し、全ての通信部に対して設定していないと判断した場合にはステップS304に戻る。すなわち、CPU106は、全てのDMA付きFIFOが設定完了するまで(S311でNO)、ステップS304〜S310を繰り返し、全ての通信部のDMA付きFIFOが設定完了後(S311でYES)、ステップS312に遷移する。
ステップS312では、CPU106は、Sub−CPU(501〜504)に対してリセット解除し、汎用画像処理部107のSub−CPU(501〜504)がRAM102上のプログラムの命令をフェッチし、それぞれに割り当てられた部分処理を実行する。次に、ステップS313では、CPU106は、汎用画像処理部107から、機能実行完了を示す割り込み通知を受信するまで待機し(S313でNO)、割り込み通知を受信後に(S313でYES)、ステップS314に遷移する。
ステップS314では、CPU106は、汎用画像処理部107を構成するSub−CPU(501〜504)に対して、リセット実行し、プログラム実行を停止する。最後に、ステップS315では、CPU106は、汎用画像処理部107を構成するプロセッサ間の通信部のDMA付きFIFO(601〜603)に対して、リセット実行し、汎用画像処理部107による機能実行時に使用したバッファ領域を初期化する。なお、機能ID毎のFIFO直結とDMA転送のデータ転送については、後に図5及び図6を用いて説明する。
図4は、本発明の第1の実施形態において、汎用画像処理部107がCPU106の指示に従い機能実行する流れを説明するためのフローチャートである。なお、図4のフローチャートに記載のステップS401〜S403のプログラムは、画像処理装置100の起動時にRAM102に展開され、Sub−CPU(501〜504)によって実行されるものである。また、図10は、本実施形態において、汎用画像処理部107が実現可能な複数の機能に対するSub−CPUの処理プログラムとDMA付きFIFO制御方法を管理するテーブルである。図4の各ステップS401〜S403では、必要に応じて図10の例を参照しながら説明する。
まず、ステップS401では、Sub−CPU(501〜504)は、ステップS302でCPU106によってRAM102上にロードされたプログラムで実行すべき機能IDを取得する。このプログラムは、複数の機能のそれぞれに対して複数のプログラムを用意しても良いし、予め複数のモードを実装した単一のプログラム内で、機能ID毎に分岐するようにしても良い。ここで、複数のプログラムを用意する場合は、RAM102上の異なるメモリ領域(例えば、801aと801b)に予め複数のプログラムを格納した上で、Sub−CPU(501〜504)の参照先アドレスをCPU106が機能ID毎に切り替え制御しても良い。また、複数のプログラムを用意する場合は、RAM102上の固定のメモリ領域(例えば、801a)をSub−CPU(501〜504)の参照先アドレスとした上で、格納するプログラムをCPU106が機能ID毎に書き換え制御しても良い。また、CPU106は、各Sub−CPU(501〜504)に予め複数のモードを実装したプログラム内で動作モードを切り替えることで、各Sub−CPU(501〜504)に割り当てるプログラムを時分割で切り替え制御しても良い。一方で、機能ID毎に分岐する場合は、Sub−CPU(501〜504)は、汎用画像処理部107の内部レジスタ(不図示)、あるいは、RAM102上の所定アドレス領域にCPU106によって設定された機能IDを取得する。
次に、ステップS402では、Sub−CPU(501〜504)のそれぞれは、機能毎に割り当てられた部分処理のプログラムを実行する。すなわち、例えば、Sub−CPU(501〜504)のそれぞれは、機能ID=0x1であれば、機能Aのカラー描画(RIP)機能を実行し、機能ID=0x2であれば、機能Bのモノクロ編集機能を実行する。
次に、ステップS403では、Sub−CPU(501〜504)のそれぞれは、機能毎に割り当てられた部分処理のプログラムが終了後、CPU106に対して割り込み通知する。ここで、Sub−CPU(501〜504)からCPU106への割り込み通知は、Sub−CPUの使用プロセッサ数だけ割り込み通知するようにしても良いし、Sub−CPU(501〜504)の代表プロセッサのみから割り込み通知するようにしても良い。その後、ステップS403のSub−CPU(501〜504)による割り込み通知が、ステップS313のCPU106によって検知される。
図5及び図6は、本発明の第1の実施形態において、機能A及び機能Bを実行制御する場合のDMA付きFIFOの通信制御方法を説明する概念図である。図5に示すように、機能Aのカラー描画(RIP)機能の例では、パイプライン接続されたプロセッサ間でのデータ転送において、DMA転送の通信モードとFIFO直結の通信モードを組み合わせた通信モードに設定するように制御すると良い。すなわち、CPU106は、DMA付きFIFO1及び2(601、602)をDMA転送の通信モードに設定し、DMA付きFIFO3(603)をFIFO直結の通信モードに設定する。その理由は、PDLデータの描画処理が、ベクタ形式の画像データを入力データとし、ラスタ形式の画像データを出力データとして扱うためである。すなわち、ベクタ形式の画像データは、文字、写真、グラフィックスなどの描画オブジェクトのそれぞれが、ページ内の描画位置座標とオブジェクト間の重ね合わせ情報を持つため、扱うデータによって特徴量の相対的な大小関係が変化する。具体的には、例えば、プロセッサ501〜504のそれぞれに対して、エッジ処理、レベル処理、フィル処理、コンポジット処理のように、特性の異なる処理を割り当てた場合に、エッジやレベルなどの特徴量が増大する傾向がある。そこで、各プロセッサ処理時に必要なバッファ容量を考慮して、比較的大きなバッファのDMA転送と比較的小さなバッファのFIFO転送を組み合わせることで、単位領域(例えば、1ライン)当たりの処理中に必要となるバッファ容量の変化に対応できる。すなわち、特に、プロセッサ間で比較的大きなバッファ容量が必要な場合に、各プロセッサ間で受け渡すデータ量に応じてバッファ容量が最適なバランスとなるように、RAM102内部のバッファ領域(901、902)を確保すれば良い。
RAM102のバッファ領域(901、902)のサイズは、FIFO(601a〜603a)のサイズより大きい。CPU106は、複数のSub−CPU(501〜504)の間の通信データ量に応じて、通信モードを設定する。例えば、CPU106は、複数のSub−CPU(501〜504)の間の通信データ量が閾値より多い場合には、DMA転送の通信モードを設定する。また、CPU106は、複数のSub−CPU(501〜504)の間の通信データ量が閾値より少ない場合には、FIFO直結の通信モードを設定する。
まず、DMA付きFIFO1(601)のDMA転送の通信モードについて説明する。FIFO1(601a)は、上流のSub−CPU1(501)から通信データを受信する。DMA1(601b)は、FIFO1(601a)が受信した通信データをRAM102のDMAバッファ領域1(901)に一時保持する。更に、DMA1(601b)は、RAM102のDMAバッファ領域1(901)に一時保持した通信データを、再び、FIFO1(601a)に書き込む。FIFO1(601a)は、書き込まれた通信データを下流のSub−CPU2(502)に送信する。
次に、DMA付きFIFO2(602)のDMA転送の通信モードについて説明する。FIFO2(602a)は、上流のSub−CPU2(502)から通信データを受信する。DMA2(602b)は、FIFO2(602a)が受信した通信データをRAM102のDMAバッファ領域2(902)に一時保持する。更に、DMA2(602b)は、RAM102のDMAバッファ領域2(902)に一時保持した通信データを、再び、FIFO2(602a)に書き込む。FIFO2(602a)は、書き込まれた通信データを下流のSub−CPU3(503)に送信する。
次に、DMA付きFIFO3(603)のFIFO直結の通信モードについて説明する。FIFO3(603a)は、上流のSub−CPU3(503)から通信データを受信し、その受信した通信データを、ファーストインファーストアウトで、下流のSub−CPU4(504)に送信する。
図6に示すように、機能Bのモノクロ編集機能の例では、パイプライン接続されたプロセッサ間でのデータ転送において、FIFO直結の通信モードのみの通信モードに設定するように制御すると良い。すなわち、CPU106は、DMA付きFIFO1〜3(601〜603)をFIFO直結の通信モードに設定する。その理由は、フィルタ処理やカウント処理などの一般的な編集処理が、ラスタ形式の画像データを入出力データとして扱うためである。すなわち、ラスタ形式の画像データは、画素値の異なる複数の画素でページを構成した画像データであるため、画像データの中身によってプロセッサの処理内容が変化しないことが多い。具体的には、例えば、プロセッサ501〜504のそれぞれに対して、ページ内の部分領域として分割した領域1処理、領域2処理、領域3処理、領域4処理のように、特性が同じ処理を割り当てた場合に、いずれも処理速度が均一になる傾向がある。そこで、各プロセッサ処理時に必要なバッファ容量を考慮して、比較的小さなバッファのFIFO直結の通信モードのみを設定することで、不必要にシステムバス110のメモリ帯域を消費するDMA転送を行わないように制御することができる。
まず、DMA付きFIFO1(601)のFIFO直結の通信モードについて説明する。FIFO1(601a)は、上流のSub−CPU1(501)から通信データを受信し、その受信した通信データを、ファーストインファーストアウトで、下流のSub−CPU2(502)に送信する。
次に、DMA付きFIFO2(602)のFIFO直結の通信モードについて説明する。FIFO2(602a)は、上流のSub−CPU2(502)から通信データを受信し、その受信した通信データを、ファーストインファーストアウトで、下流のSub−CPU3(503)に送信する。
次に、DMA付きFIFO3(603)のFIFO直結の通信モードについて説明する。FIFO3(603a)は、上流のSub−CPU3(503)から通信データを受信し、その受信した通信データを、ファーストインファーストアウトで、下流のSub−CPU4(504)に送信する。
以上述べたように、DMA付きFIFO(601〜603)のそれぞれは、通信モードに応じて、異なるバッファ領域にデータをバッファリングし、複数のSub−CPU(501〜504)の間のデータの通信を行う。具体的には、DMA付きFIFO(601〜603)のそれぞれは、DMA転送の通信モードでは、DMA(601b〜603b)によりRAM102のDMAバッファ領域(901〜902)にデータをバッファリングする。また、DMA付きFIFO(601〜603)のそれぞれは、FIFO直結の通信モードでは、FIFO(601a〜603a)にデータをバッファリングする。
本実施形態によれば、複数のプロセッサ501〜504で実現する機能毎に割り当てられた部分処理に応じてプロセッサ501〜504間のデータ転送方式を切り替えて制御することで、システム性能を向上できる。特に、本実施形態によれば、複数のプロセッサ501〜504で複数の機能のプログラムを切り替えて実行する場合であっても、各機能のシステム性能を向上できる。
(第2の実施形態)
以下、本発明の第2の実施形態について、図7及び図10を用いて説明する。図7は、第2の実施形態において、機能Cを実行制御する場合のDMA付きFIFO(601〜603)の通信制御方法を説明する概念図である。以下、第2の実施形態が第1の実施形態と異なる点を説明する。図7に示すように、第2の実施形態では、図2を用いて説明した汎用画像処理部107は、更に、ローカルRAM(揮発性メモリ)702をバスアービター701に接続した構成になっている。この構成において、Sub−CPU(501〜504)及びDMA付きFIFO(601〜603)のそれぞれは、ローカルRAM702にアクセスすることもできるし、システムバス110を介してシステムメモリのRAM102にアクセスすることもできる。図10の機能Cのモノクロ描画(RIP)機能の例では、システムメモリのRAM102の代わりに、ローカルRAM702を用いて、DMA付きFIFO(601及び602)は、DMA転送によってプロセッサ501〜503間の通信データを一時保持する。ここで、ローカルRAM702を用いたDMA転送方法は、図3を用いて説明したフローチャートと同様のため、説明を省略する。ステップS309では、CPU106は、DMA付きFIFO(601〜603)に対して、DMA転送先アドレス、及び、DMA転送先バッファサイズを設定する際に、ローカルRAM702内部のバッファ領域(911、912)に対してこれを設定すれば良い。なお、DMA転送のデータパスで用いられるローカルRAM702内部のバッファ領域は、FIFO(601a〜603c)よりも大きくRAM102よりも小さいサイズのSRAMなどで構成され、その一部の領域を可変サイズで確保して用いることが多い。
DMA付きFIFO1(601)は、CPU106により、DMA転送の通信モードに設定される。FIFO1(601a)は、上流のSub−CPU1(501)から通信データを受信する。DMA1(601b)は、FIFO1(601a)が受信した通信データをローカルRAM702のDMAバッファ領域1(911)に一時保持する。更に、DMA1(601b)は、ローカルRAM702のDMAバッファ領域1(911)に一時保持した通信データを、再び、FIFO1(601a)に書き込む。FIFO1(601a)は、書き込まれた通信データを下流のSub−CPU2(502)に送信する。
DMA付きFIFO2(602)は、CPU106により、DMA転送の通信モードに設定される。FIFO2(602a)は、上流のSub−CPU2(502)から通信データを受信する。DMA2(602b)は、FIFO2(602a)が受信した通信データをローカルRAM702のDMAバッファ領域2(912)に一時保持する。更に、DMA2(602b)は、ローカルRAM702のDMAバッファ領域2(912)に一時保持した通信データを、再び、FIFO2(602a)に書き込む。FIFO2(602a)は、書き込まれた通信データを下流のSub−CPU3(503)に送信する。
DMA付きFIFO3(603)は、CPU106により、FIFO直結の通信モードに設定される。FIFO3(603a)は、上流のSub−CPU3(503)から通信データを受信し、その受信した通信データを、ファーストインファーストアウトで、下流のSub−CPU4(504)に送信する。
以上述べたように、本発明の第2の実施形態によれば、RAM102の代わりにローカルRAM702を用いたプロセッサ501〜504間のDMA転送の通信モードを提供する。これにより、システムバス110のメモリ帯域を圧迫することなく、システム性能を向上できる。
(第3の実施形態)
以下、本発明の第3の実施形態について、図8及び図9を用いて説明する。本発明の第3の実施形態では、CPU106が汎用画像処理部107の機能実行を制御する際に、Sub−CPU(501〜504)がCPU106の代わりにDMA付きFIFO(601〜603)を制御するものである。以下、本実施形態が第1及び第2の実施形態と異なる点を説明する。図8及び図9のそれぞれは、図3及び図4のフローチャートに対応した変形例である。
図8は、本発明の第3の実施形態において、CPU106が汎用画像処理部107の機能実行を制御する流れを説明するためのフローチャートである。なお、図8のフローチャートに記載のステップS801〜S805のプログラムは、画像処理装置100の起動時にRAM102に展開され、CPU106によって実行されるものである。まず、CPU106は、ステップS801及びS802の処理を行う。ステップS801及びS802は、図3のステップS301及びS302と同じなので、説明を省略する。次に、CPU106は、ステップS803〜S805の処理を行う。ステップS803〜S805は、図3のステップS312〜S314と同じなので、説明を省略する。すなわち、図8のフローチャートは、図3のフローチャートに含まれていたS303〜S311を除いたフローチャートになっている。
図9は、本発明の第3の実施形態において、汎用画像処理部107がCPU106の指示に従い機能実行する流れを説明するためのフローチャートである。なお、図9のフローチャートに記載のステップS901〜S912のプログラムは、画像処理装置100の起動時にRAM102に展開され、Sub−CPU(501〜504)によって実行されるものである。ステップS901〜S909では、Sub−CPU(501〜504)は、図3を用いて説明したCPU106のステップS303〜S311と同じステップを実行する。すなわち、これらのステップS901〜S909によって、Sub−CPU(501〜504)は、CPU106の代わりに、DMA付きFIFO(601〜603)の通信モードを機能ID毎に設定した後に、リセット解除する。次に、ステップS910では、Sub−CPU(501〜504)のそれぞれは、図4のステップS402と同様に、機能毎に割り当てられた部分処理のプログラムを実行する。次に、ステップS911では、Sub−CPU(501〜504)のそれぞれは、図3のステップS315と同様に、DMA付きFIFO(601〜603)に対して、リセット実行し、汎用画像処理部107による機能実行時に使用したバッファ領域を初期化する。最後に、ステップS912では、Sub−CPU(501〜504)のそれぞれは、図4のステップS403と同様に、機能毎に割り当てられた部分処理のプログラムが終了後、CPU106に対して割り込み通知する。
以上述べたように、本発明の第3の実施形態によれば、CPU106の代わりにSub−CPU(501〜504)がプロセッサ501〜504間の通信モードを制御する手段を提供する。これにより、CPU106の制御に関わる処理負荷を軽減しながら、システム性能を向上できる。
第1〜第3の実施形態によれば、複数のSub−CPU(501〜504)で実現する機能毎に割り当てられた部分処理に応じて、Sub−CPU(501〜504)間のデータ転送方式を切り替えて制御することで、システム性能を向上できる。特に、複数のSub−CPU(501〜504)で複数の機能のプログラムを切り替えて実行する場合であっても、各機能のシステム性能を向上できる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
10 画像処理装置、102 RAM、106 制御部(メインCPU)、107 汎用画像処理部、501〜504 プロセッサ(サブCPU)、601〜603 DMA付きFIFO、702 ローカルRAM

Claims (22)

  1. 第1プロセッサと、
    第2プロセッサと、
    メモリと、
    前記第1プロセッサからデータを受信し、前記メモリにデータを送信し、前記第2プロセッサにデータを送信するメモリコントローラと、
    第1リクエストを受信し、前記第1リクエストを処理する第1プログラムを前記第1プロセッサのためにロードし、前記第1リクエストを処理する第2プログラムを前記第2プロセッサのためにロードし、
    第2リクエストを受信し、前記第2リクエストを処理する第3プログラムを前記第1プロセッサのためにロードし、前記第2リクエストを処理する第4プログラムを前記第2プロセッサのためにロードし、
    受信したリクエストの内容に基づいて、前記メモリコントローラを前記第1プロセッサから受信したデータを前記メモリに送信し前記メモリに記憶された前記データを前記第2プロセッサに送信するよう設定する、又は、前記メモリコントローラを前記第1プロセッサから受信したデータを前記メモリに送信せずに前記第2プロセッサに送信するよう設定する、制御手段と、を備えることを特徴とする情報処理装置。
  2. 前記メモリコントローラは、前記メモリにダイレクトにアクセスするダイレクトメモリアクセス(DMA)コントローラを含む、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1プロセッサ、前記第2プロセッサ、前記メモリ、前記メモリコントローラ、及び、前記制御手段が接続されるバスを備える、ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記制御手段は、前記メモリにバッファ領域を確保する、ことを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記第1プロセッサは、前記第1プログラム及び前記第2プログラムを時分割で実行し、
    前記第2プロセッサは、前記第3プログラム及び前記第4プログラムを時分割で実行する、ことを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記制御手段は、前記第1プロセッサと前記第2プロセッサとの間のデータ通信がなければ、前記メモリコントローラをリセットする、ことを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記制御手段は、前記メモリコントローラを設定した後に、前記第1プロセッサ及び前記第2プロセッサのリセットを解除する、ことを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8. 前記制御手段は、受信したリクエストに対応する識別情報に基づいて、前記メモリコントローラを設定する、ことを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  9. 原稿の画像をスキャンするスキャナをさらに備える、ことを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
  10. 記録媒体に画像をプリントするプリンタをさらに備える、ことを特徴とする請求項1乃至9の何れか1項に記載の情報処理装置。
  11. 第3プロセッサと、
    前記第2プロセッサからデータを受信し、前記メモリにデータを送信し、前記第3プロセッサにデータを送信する他のメモリコントローラと、をさらに備え、
    前記制御手段は、
    前記第1リクエストを処理する第5プログラムを前記第3プロセッサのためにロードし、
    前記第2リクエストを処理する第6プログラムを前記第3プロセッサのためにロードし、
    受信したリクエストの内容に基づいて、前記他のメモリコントローラを前記第2プロセッサから受信したデータを前記メモリに送信し前記メモリに記憶された前記データを前記第3プロセッサに送信するよう設定する、又は、前記他のメモリコントローラを前記第2プロセッサから受信したデータを前記メモリに送信せずに前記第3プロセッサに送信するよう設定する、ことを特徴とする請求項1乃至10の何れか1項に記載の情報処理装置。
  12. 第1プロセッサと、
    第2プロセッサと、
    メモリと、
    前記第1プロセッサからデータを受信し、前記メモリにデータを送信し、前記第2プロセッサにデータを送信するメモリコントローラと、を備える情報処理装置の通信制御方法であって、
    制御手段が、第1リクエストを受信し、前記第1リクエストを処理する第1プログラムを前記第1プロセッサのためにロードし、前記第1リクエストを処理する第2プログラムを前記第2プロセッサのためにロードし、
    前記制御手段が、第2リクエストを受信し、前記第2リクエストを処理する第3プログラムを前記第1プロセッサのためにロードし、前記第2リクエストを処理する第4プログラムを前記第2プロセッサのためにロードし、
    前記制御手段が、受信したリクエストの内容に基づいて、前記メモリコントローラを前記第1プロセッサから受信したデータを前記メモリに送信し前記メモリに記憶された前記データを前記第2プロセッサに送信するよう設定する、又は、前記メモリコントローラを前記第1プロセッサから受信したデータを前記メモリに送信せずに前記第2プロセッサに送信するよう設定する、ことを特徴とする通信制御方法。
  13. 前記メモリコントローラは、前記メモリにダイレクトにアクセスするダイレクトメモリアクセス(DMA)コントローラを含む、ことを特徴とする請求項12に記載の通信制御方法。
  14. 前記情報処理装置は、前記第1プロセッサ、前記第2プロセッサ、前記メモリ、前記メモリコントローラ、及び、前記制御手段が接続されるバスを備える、ことを特徴とする請求項12又は13に記載の通信制御方法。
  15. 前記制御手段が、前記メモリにバッファ領域を確保する、ことを特徴とする請求項12乃至14の何れか1項に記載の通信制御方法。
  16. 前記第1プロセッサが、前記第1プログラム及び前記第2プログラムを時分割で実行し、
    前記第2プロセッサが、前記第3プログラム及び前記第4プログラムを時分割で実行する、ことを特徴とする請求項12乃至15の何れか1項に記載の通信制御方法。
  17. 前記制御手段が、前記第1プロセッサと前記第2プロセッサとの間のデータ通信がなければ、前記メモリコントローラをリセットする、ことを特徴とする請求項12乃至16の何れか1項に記載の通信制御方法。
  18. 前記制御手段が、前記メモリコントローラを設定した後に、前記第1プロセッサ及び前記第2プロセッサのリセットを解除する、ことを特徴とする請求項12乃至17の何れか1項に記載の通信制御方法。
  19. 前記制御手段が、受信したリクエストに対応する識別情報に基づいて、前記メモリコントローラを設定する、ことを特徴とする請求項12乃至18の何れか1項に記載の通信制御方法。
  20. 前記情報処理装置は、原稿の画像をスキャンするスキャナをさらに備える、ことを特徴とする請求項12乃至19の何れか1項に記載の通信制御方法。
  21. 前記情報処理装置は、記録媒体に画像をプリントするプリンタをさらに備える、ことを特徴とする請求項12乃至20の何れか1項に記載の通信制御方法。
  22. 前記情報処理装置は、
    第3プロセッサと、
    前記第2プロセッサからデータを受信し、前記メモリにデータを送信し、前記第3プロセッサにデータを送信する他のメモリコントローラと、をさらに備え、
    前記制御手段が、前記第1リクエストを処理する第5プログラムを前記第3プロセッサのためにロードし、
    前記制御手段が、前記第2リクエストを処理する第6プログラムを前記第3プロセッサのためにロードし、
    前記制御手段が、受信したリクエストの内容に基づいて、前記他のメモリコントローラを前記第2プロセッサから受信したデータを前記メモリに送信し前記メモリに記憶された前記データを前記第3プロセッサに送信するよう設定する、又は、前記他のメモリコントローラを前記第2プロセッサから受信したデータを前記メモリに送信せずに前記第3プロセッサに送信するよう設定する、ことを特徴とする請求項12乃至21の何れか1項に記載の通信制御方法。
JP2016248960A 2016-12-22 2016-12-22 情報処理装置及び通信制御方法 Active JP6904697B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016248960A JP6904697B2 (ja) 2016-12-22 2016-12-22 情報処理装置及び通信制御方法
US15/843,635 US20180182059A1 (en) 2016-12-22 2017-12-15 Information processing apparatus and communication control method having communication mode based on function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016248960A JP6904697B2 (ja) 2016-12-22 2016-12-22 情報処理装置及び通信制御方法

Publications (3)

Publication Number Publication Date
JP2018106222A JP2018106222A (ja) 2018-07-05
JP2018106222A5 JP2018106222A5 (ja) 2020-01-23
JP6904697B2 true JP6904697B2 (ja) 2021-07-21

Family

ID=62624999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016248960A Active JP6904697B2 (ja) 2016-12-22 2016-12-22 情報処理装置及び通信制御方法

Country Status (2)

Country Link
US (1) US20180182059A1 (ja)
JP (1) JP6904697B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021013149A (ja) * 2019-07-09 2021-02-04 キヤノン株式会社 画像処理システム、画像処理装置とその制御方法、及びプログラム
US10977531B1 (en) * 2019-11-29 2021-04-13 Kyocera Document Solutions Inc. Image processing apparatus, image forming apparatus, and image processing method for improving performance of reading data of RIP process
CN114328322B (zh) * 2022-03-17 2022-08-05 之江实验室 一种可配置功能模式的dma控制器运行方法
US20250307190A1 (en) * 2024-03-28 2025-10-02 Advanced Micro Devices, Inc. On-chip collective operations

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917502A (en) * 1995-12-06 1999-06-29 Intergraph Corporation Peer-to-peer parallel processing graphics accelerator
US6738158B1 (en) * 1999-12-02 2004-05-18 Xerox Corporation Digital scanner for capturing and processing images
JP3504210B2 (ja) * 2000-03-31 2004-03-08 理想科学工業株式会社 画像処理装置
JP2004118252A (ja) * 2002-09-24 2004-04-15 Renesas Technology Corp 半導体データ処理装置
JP2008276407A (ja) * 2007-04-26 2008-11-13 Canon Inc 画像処理装置及びその方法
JP4669557B2 (ja) * 2008-08-29 2011-04-13 株式会社沖データ 画像形成装置
JP5571977B2 (ja) * 2010-03-01 2014-08-13 キヤノン株式会社 画像処理装置
JP5555116B2 (ja) * 2010-09-29 2014-07-23 キヤノン株式会社 情報処理装置、及び、プロセッサ間通信制御方法
JP5641570B2 (ja) * 2011-01-31 2014-12-17 株式会社オー・エフ・ネットワークス 子局通信装置及び電力制御方法
US9201601B2 (en) * 2013-05-30 2015-12-01 Hitachi, Ltd. Reducing required battery capacity for data backup in a storage system with multiple controllers
JP5729445B2 (ja) * 2013-10-10 2015-06-03 富士通株式会社 マルチプロセッサシステム、制御方法、および制御プログラム

Also Published As

Publication number Publication date
JP2018106222A (ja) 2018-07-05
US20180182059A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
US8661209B2 (en) Data processing apparatus, data processing method, and computer-readable recording medium for writing and reading data to and from a storage
JP2009146251A (ja) 画像処理装置および画像形成システムとプログラム
JP6904697B2 (ja) 情報処理装置及び通信制御方法
JP2000156830A (ja) プリンタ及び該プリンタにおける画像デ―タの処理方法
US8578071B2 (en) Information processing apparatus and inter-processor communication control method
US9172839B2 (en) Image forming apparatus, control method and storage medium
US20070247466A1 (en) Image processing apparatus and program
US10089561B2 (en) Generating a raster image region by rendering in parallel plural regions of smaller height and segmenting the generated raster image region into plural regions of smaller width
US7595900B2 (en) Information processing method and information processing apparatus
JP2018058295A (ja) 画像処理装置、画像処理方法、及びプログラム
US20120320423A1 (en) Printing apparatus provided with plural processing systems for generating print data, printing method and recording medium
JP5340058B2 (ja) 画像処理装置、その制御方法及びプログラム
US9667531B2 (en) Image processing apparatus and control method
JP2018049363A (ja) プログラム及び情報処理装置
JP2020110926A (ja) 画像形成装置、画像形成装置の制御方法、画像形成システム、及びプログラム
US20110205591A1 (en) Image processing device and image processing method
US8514441B2 (en) Image processing apparatus and control method thereof, in which an address for image data depends on whether the image data is input via a detachable image processing device
JP5097788B2 (ja) データ処理装置およびデータ処理プログラム
US10579316B2 (en) Image processing apparatus that performs rendering processing, method of rendering processing, and storage medium
JP6833491B2 (ja) 情報処理装置
US6870635B1 (en) System and method for managing print objects using stacked objects queue
JP5780768B2 (ja) 情報処理装置、その制御方法、およびプログラム
US6804411B1 (en) Method, system, and program for decompressing and aligning line work data from multiple objects
US7394568B1 (en) Method, system, and logic for selecting pixel data from multiple objects
JP2001243028A (ja) 印刷制御プログラムを記録した媒体、印刷制御装置および印刷制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201222

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: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210624

R151 Written notification of patent or utility model registration

Ref document number: 6904697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151