JP5600517B2 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP5600517B2
JP5600517B2 JP2010183386A JP2010183386A JP5600517B2 JP 5600517 B2 JP5600517 B2 JP 5600517B2 JP 2010183386 A JP2010183386 A JP 2010183386A JP 2010183386 A JP2010183386 A JP 2010183386A JP 5600517 B2 JP5600517 B2 JP 5600517B2
Authority
JP
Japan
Prior art keywords
data
information
storage means
address
processing
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
JP2010183386A
Other languages
English (en)
Other versions
JP2012043153A (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 JP2010183386A priority Critical patent/JP5600517B2/ja
Priority to US13/175,556 priority patent/US8707132B2/en
Publication of JP2012043153A publication Critical patent/JP2012043153A/ja
Priority to US14/157,262 priority patent/US9292777B2/en
Application granted granted Critical
Publication of JP5600517B2 publication Critical patent/JP5600517B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/408Handling exceptions, e.g. faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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/32561Circuits 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 a programmed control device, e.g. a microprocessor
    • 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/32561Circuits 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 a programmed control device, e.g. a microprocessor
    • H04N1/32593Using a plurality of controllers, e.g. for controlling different interfaces
    • 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
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • 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
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)
  • Memory System (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
従来技術として、データ交換の観点では、内部メモリが不足している際にどのデータをスワップするかを調停する方法がある。
また、リードモディファイライト等の複数のアクセス要求に対して不可分なアクセスを保証するために、スレーブ装置に対して独占的なアクセスを許容するロック信号を発行する方法がある。
また、複数のデータフロープロセッサシステムにおいて、各メモリと共有メモリとの間でデータ移送がある場合のアクセス競合を防ぐために、2ポート独立入出力可能なメモリ構成、通信パケットフォーマットが提案されている(特許文献1参照)。
また、複数のプロセッシングエレメントのレジスタを直列接続してシフトレジスタ方式の転送路を形成し、アクセス要求パケット方式で転送する際に、リードアクセス要求のデータ領域にダミーデータを格納して送出する方法が提案されている(特許文献2参照)。
また、エラーチェックの観点では、送信側レジスタから受信側レジスタへ転送したデータが、受信側レジスタから送信側レジスタへ再度転送される。そして、送信側内部で保持される1回前の転送データとそのデータとを比較することで効率的にエラーチェックを行う方法が提案されている(特許文献3参照)。
一方で、デジタル複写機等の画像処理における誤差拡散処理では、走査範囲が分割される場合の境界にスジが生じるという問題に対して実際の2値化出力領域より多いライン数画素をオーバーラップして誤差拡散を行う方法が提案されている(特許文献4参照)。
特公平6−42266号公報 特登4359490号公報 特公平4−39929号公報 特開昭63−309456号公報
例えば、誤差拡散処理では、特許文献4に示されるように画質向上のために周辺画素の誤差を引き継ぐことが重要となる。色毎に分離または独立したパラメータ空間を複数保持するシステムに対して、少ないメモリ資源でこのような画像処理を実現するためには、誤差データの退避と復旧を複数のメモリ領域に対して行うことになる。しかしながら、従来技術のメモリのデータ交換方式では、読出し元領域と書込み先領域とを異なる用途には使用できないという課題がある。また、リード要求時のダミーデータ入力に伴って発生する冗長なデータ転送により、または、リード要求およびライト要求の多発に伴うメモリ帯域の圧迫により、システムの効率が低下するという課題がある。
上記の課題に鑑み、本発明は、データ交換のパフォーマンスを向上させることを目的とする。
上記の目的を達成する本発明に係る情報処理装置は、
データを記憶可能な記憶手段と、
前記記憶手段に記憶させる第1データと、前記記憶手段における第2データ保持されているアドレス及び前記第1データを前記記憶手段に書き込むアドレスを示すアドレス情報と、を含むコマンド情報を受信する受信手段と、
前記記憶手段における前記アドレス情報示す前記第2データ保持されているアドレスから前記記憶手段の保持する第2データを読み出し、前記記憶手段における前記アドレス情報示す前記第1データを前記記憶手段に書き込むアドレスに前記第1データを書き込むアクセス手段と、
前記受信手段受信したコマンド情報に含まれる第1データを前記アクセス手段読み出した第2データに置き換えて送信する送信手段と
を有することを特徴とする。
本発明によれば、データ交換のパフォーマンスを向上させることができる。
(a)画像処理装置のハードウェア構成の例を示す図、(b)画像処理装置の機能構成を示す図。 設定コマンド構成のフォーマットを示す図。 画像処理部の機能構成を示す図。 画像処理部での設定コマンド受信時の流れを示すフローチャート。 データ交換処理に伴うデータ遷移を示す図。 画像処理装置の機能構成を示す図。 (a)書込み(W)アクセス時のアクセス部シーケンスを示す図、(b)読み出し(R)アクセス時のアクセス部シーケンスを示す図、(c)入替え(Ex)アクセス時のアクセス部シーケンスを示す図。 画像処理サブシステム(誤差拡散処理)でのコマンド設定の流れを示すフローチャート。 データ交換処理に伴うデータ遷移の別の例を示す図。
(第1実施形態)
以下では、個々の構成部位、周辺部位との相互関係、及びデータ処理の流れに関する基本説明を行う。
まず、図1(b)を参照して、第1実施形態に係る画像処理装置10の機能構成について説明する。画像処理装置10は、データ入力部101と、画像処理部102と、データ出力部103と、外部データ格納部104と、外部データ格納部105とを備える。なお、外部データ格納部104と、外部データ格納部105とは、同一の構成としてもよい。
データ入力部101は、画像データを入力する。
画像処理部102は、データ入力部101を介して入力された画像データと設定コマンドとを入力情報として画像処理を実行する。なお、データ入力部101としてスキャナで読み取った画像を受け付ける外部デバイスインターフェースや、外部メモリから送信される画像データを受け付ける外部メモリコントローラなどを有していてもよい。しかし本発明では画像データの入出力方法は限定されず、画像処理部102での画像処理時に画像データが準備できていればよい。設定コマンドに関しては、データ入力部101とデータ出力部103とを設定する。これにより外部データ格納部104と、外部データ格納部105との間で入出力を行うことが可能となる。制御部106はデータ入力部101にデータ転送元アドレスおよび転送サイズを設定する。データ転送元アドレス(第1アドレス)は、画像処理部102に入力する設定コマンドを読み出す元となる外部データ格納部104のアドレスを示す。同様に、制御部106はデータ出力部103にデータ転送先アドレスおよび転送サイズを設定する。データ転送先アドレス(第2アドレス)は、画像処理部102から出力する設定コマンドを書き込む先となる外部データ格納部105のアドレスを示す。
データ出力部103は、画像データを出力する。
外部データ格納部104および外部データ格納部105は、外部のデータを格納する。
制御部106は、設定コマンド(コマンド情報)を外部データ格納部104へ出力する。また、制御部106は、データ転送元アドレスと転送サイズとをデータ入力部101へ指示する。さらに、制御部106は、データ転送先アドレスと転送サイズとをデータ出力部103へ指示する。そして、制御部106は、それらの起動を指示する。画像処理部102は、制御部106により起動された処理の範囲内で、データ入力部101から送信された外部データ格納部104に保持されるデータによって設定され、処理を実行する。
なお、データ入力部101に設定される転送元アドレスと、データ出力部103に設定される転送先アドレスとは、同一アドレスを指定することも可能である。ここで外部データ格納部104と外部データ格納部105とを一つの外部メモリと捉えることは、一連の動作によって画像処理部102の内部メモリと外部メモリとの間でデータが入れ替わることを示している。
図2を参照して、設定コマンドの構成例について説明する。設定コマンドは、ヘッダ部200と、rawデータフィールド201とを備える。さらに、ヘッダ部200は、アドレスフィールド202と、アクセスモードフィールド203と、IDフィールド204とを備える。
ここでrawデータフィールド201とは、サブシステムレベルでの情報伝送や識別のための情報ではなく、画像処理部102の中核で実行する、画像処理で用いられるデータを示す。例えば、誤差拡散処理における、誤差値や、色変換処理におけるルックアップテーブルなどがrawデータとして挙げられる。
ここで外部データ格納部104および外部データ格納部105上のデータは、必ずしも上述の設定コマンド形式である必要はなく、ヘッダ部200を排除したrawデータとする構成であってもよい。その場合、データ入力部101の設定項目として、ヘッダ部200の設定を追加し、データ入力部101にヘッダ部200を付加する機能と、データ出力部103にヘッダ部200を除去する機能を持たせればよい。
次に、ヘッダ部200の詳細について説明する。
アドレスフィールド202により画像処理部102内のレジスタ、メモリアドレスが指定される。また、アクセスモードフィールド203により、書込み(W)、読出し(R)、入替え(Ex)のいずれかアクセスモードが指定される。
アクセスモードフィールド203により書込み(W)が指定されている時は、画像処理部102において、アドレスフィールド202により指定されるアドレスに対して、rawデータフィールド201の値を書き込む処理が実行される。アクセスモードフィールド203により読出し(R)が指定されている時は、画像処理部102において、アドレスフィールド202により指定されるアドレスに対して、データの読出しを行う処理が実行される。アクセスモードフィールド203により入替え(Ex)が指定されている時は、画像処理部102において、アドレスフィールド202により指定されるアドレスに対して、まずデータの読出しを行う。そして、その後にrawデータフィールド201の値を書き込む処理が実行される。
IDフィールド204は、画像処理部102の内部に複数の独立したサブ画像処理部を包含するような構成の場合には、個々のサブ画像処理部を識別するように用いてもよい。従って、画像処理部102が単一の処理部から構成される場合や、複数のサブ画像処理部を一律にアドレスで識別できる場合などには、アドレスのみによってアクセス先を決定すればよく、IDを使用、設定、または参照しない構成としてもよい。複数のサブ画像処理部はリングバスやクロスバースイッチなどにより処理対象のデータや設定コマンドを順に読み込むことができればよい。
次に図3を参照して、画像処理部102の内部構成について説明する。画像処理部102は、コマンド入力部301と、コマンド出力部302と、解析部303と、シーケンス部304と、内部メモリ・レジスタ305と、アルゴリズム処理部306とを備える。なお、複数のサブ画像処理部を有する場合は、図3に示す構成はサブ画像処理部の1つであり、コマンド入力部/出力部は他のサブ画像処理部のコマンド出力部/入力部と接続されていてもよい。
コマンド入力部301およびコマンド出力部302は、画像処理部102の内外をつなぐインタフェースとして機能する。解析部303は、設定コマンドのアクセスモードフィールド203を解析する。そして、解析部303は、書込み(W)、読出し(R)、入替え(Ex)のいずれかのアクセスモードをシーケンス部304へ通知する。シーケンス部304は、解析部303から通知されたアクセスモードに応じた処理を内部メモリ・レジスタ305に対して実行する。内部メモリ・レジスタ305は、rawデータとして授受した各種情報を格納する。アルゴリズム処理部306は、内部メモリ・レジスタ305の各種設定情報に基づいて、入力画像に対して画像処理アルゴリズム処理を実行する。またアルゴリズム処理部306は、画像処理アルゴリズムの処理結果に応じた値を内部メモリ・レジスタ305に書き込む。
誤差拡散処理は、先に処理を行った画素に対する誤差値を後の画素の処理において参照するアルゴリズム処理である。従って、このような処理では処理前に内部メモリ・レジスタから読み込まれた誤差値を処理した後に、更新された誤差値を書き戻すことが一般的である。書き戻された誤差値は、同一画像プレーンの中で後に位置する画素の処理において参照される。
ところが、画像処理装置の実現に当たってはコストや実装技術の制約から、一定以上の規模の処理を実装し難い場合がある。特にハードウェアによって本発明を実施する場合には回路規模などの制約により、本来処理した画像プレーン数に対して十分なハードウェア資源を実現することが困難な場合がある。
例えば、A、B、C、D、Eで表される5色(5次元色空間)の画像データをバンド(部分画像)単位で順次処理する場合を考える。ハードウェア資源(後述のアルゴリズム処理部306)が一度に2色のバンド画像データしか処理できない場合、5色の画像データを処理するためには処理を3回繰り返す。すなわち、A、Bの処理⇒C、Dの処理⇒Eの処理といったように、2色以下のバンド画像データの処理を順に実行させる。ここで、誤差拡散等の処理においては着目する位置のバント(部分画像)について、A〜Eの5色で誤差拡散処理し、そして着目する位置を次のバンドへ移す。これは、誤差拡散処理の次に色変換処理や印刷処理など、同じ位置の画素について5色の値が同期して(又はリアルタイムに)必要な処理が待っていることが考えられるためである。また、誤差値は、A、B、C、D、Eそれぞれの画像の内容によって異なるため、各バンド画像データを処理しようとする度に内部メモリ・レジスタ305の保持する誤差データを、(A、B)⇒(C、D)⇒(E)のように順に切り替える必要がある。誤差拡散処理では、同じ画像内容(ここでは同じ色)について前に処理したバンドの誤差値を用いて処理する必要があるためである。しかし、内部メモリ・レジスタ305が保持できる誤差値が2色の場合は(A、B)の誤差値を保持したままでは次の2色(C、D)の処理が実行できない。
このような場合には、制御部106は、まずA、Bの処理を実行した後に、内部メモリ・レジスタ305に保持されているA、Bに対する更新された誤差データを一度外部データ格納部104、外部データ格納部105に退避する。そして、次の色(C、D)の処理のために、予め保持されていた誤差データをロードする処理を行う。このような場合に、従来の技術では、まず、読出し(R)コマンドによって内部メモリ・レジスタ305の内容を外部データ格納部105に読み出した後に、外部データ格納部105のアドレスを切り替えて、書込み(W)コマンドによって予め外部データ格納部105に退避してあった色Cのための誤差値をロードする処理を行う。
本発明を用いれば、C、Dの誤差値を画像処理部102にロードすると同時に、内部に保持されているA、Bの誤差値を退避することを簡便に実行でき、処理するプレーン切り替えにおける内部データの入れ替えを高速に実行できる。
図4を参照して、画像処理部102を構成する各処理部における処理の流れを説明する。
ステップS401において、コマンド入力部301は、設定コマンドを受信する。設定コマンドは、内部メモリ・レジスタ305への第1データの書込みを指示する書込み指示、内部メモリ・レジスタ305からの第2データの読み出しを指示する読み出し指示、または内部メモリ・レジスタ305からの第2データの読み出しの指示の後に内部メモリ・レジスタ305への第1データの書込みを指示する入れ替え指示、の何れかの指示を示す指示情報と、内部メモリ・レジスタ305における記憶領域を指定するアドレス情報と、第1データと、を含むコマンド情報である。
ステップS402において、コマンド入力部301は、ステップS401で受信された設定コマンドのIDフィールド204をチェックし、設定コマンドはコマンド入力部301宛か否かを判別する。コマンド入力部301宛であると判別された場合は(ステップS402;YES)、ステップS403へ進む。一方、コマンド入力部301宛でないと判別された場合は(ステップS402;NO)、ステップS404へ進む。
ステップS403において、解析部303は、アクセスモードを解析する。その後、ステップS405へ進む。アクセスモードの解析結果に応じて後述の第1乃至第3処理の何れかが実行される。
ステップS404において、受信された設定コマンドをそのままコマンド出力部302から外部へ出力する。その後、処理は終了する。
ステップS405において、解析部303は、アクセスモードが入替え(Ex)であるか否かを判定する。アクセスモードが入替え(Ex)であると判定された場合は(ステップS405;YES)、ステップS406へ進む。一方、アクセスモードが入替え(Ex)でないと判定された場合は(ステップS405;NO)、ステップS407へ進む。
ステップS406において、シーケンス部304は、内部メモリ・レジスタ305へリードアクセスを行う。そして、取得データ(rawデータ)をコマンド出力部302へ送信する。すなわち、コマンド情報に含まれる指示情報が入れ替え指示であると解析された場合、内部メモリ・レジスタ305から第2データを読み出して出力部に転送する(第2処理)。その後、ステップS410へ進む。
ステップS407において、解析部303は、アクセスモードが読出し(R)であるか否かを判定する。アクセスモードが読出し(R)であると判定された場合は(ステップS407;YES)、ステップS408へ進む。一方、アクセスモードが読出し(R)でないと判定された場合は(ステップS407;NO)、ステップS409へ進む。
ステップS408において、シーケンス部304は、内部メモリ・レジスタ305へリードアクセスを実行する。そしてシーケンス部304は取得データ(rawデータ)をコマンド出力部302へ送信する(第3処理)。その後、ステップS411へ進む。
ステップS409において、シーケンス部304は、内部メモリ・レジスタ305へライトアクセスを行い、設定コマンドのrawデータフィールド201を書き込んだ後、ステップS412へ進む。すなわち、コマンド情報に含まれる指示情報が書込み指示であると解析された場合、内部メモリ・レジスタ305に第1データを書き込む(第1処理)。
ステップS410において、シーケンス部304は、内部メモリ・レジスタ305へライトアクセスを行う。そして、設定コマンドのrawデータフィールド201を書き込む。すなわち、内部メモリ・レジスタ305に第1データを書き込む(第2処理)。その後、ステップS411へ進む。
ステップS411において、コマンド出力部302は、設定コマンドのrawデータフィールド201は、シーケンス部304から受信したもの(内部メモリ・レジスタ305から読出したもの)を外部へ出力する。その後、処理は終了する。
ステップS412において、コマンド出力部302は、設定コマンドのrawデータフィールド201が受信時のまま(すなわち、内部メモリ・レジスタ305へ書き込んだものと同じもの)外部へコマンドを出力する。その後、処理は終了する。
このように、第1処理の後では、コマンド情報が含む第1データをそのまま送信し、第2処理または第3処理の後では、コマンド情報が含む第1データを、内部メモリ・レジスタ305から読み出された第2データにより置き換えてからコマンド情報を送信する。
なお、この説明においてコマンドのアクセスモードは書込み(W)、読出し(R)、入替え(Ex)の3モードしかないことを前提にしているため、書込み(W)モードの確認分岐を行っていない。アクセスモードが、読出し(R)でも入替え(Ex)でもない場合はステップS409へ進むが、その場合アクセスモードは、残った書込み(W)であると断定でき、さらに書込み(W)モードであるか否かの確認は不要だからである。しかしながら、もちろん書込み(W)モードであるか否かの判定処理をさらに追加してもよい。その場合には、例えば、ステップS407の処理の後に、書込み(W)モードであるか否かの判定をさらに行う。書込み(W)モードであると判定された場合は、ステップS409へ進み、書込み(W)モードでないと判定された場合は、何も処理を実行しないように構成してもよい。なお、アクセスモードの判定の順序は、必ずしも入替え(Ex)、読出し(R)、書込み(W)、の順に行う必要はなく、その順序は任意に変更可能である。
次に、図5(a)−(c)を参照して、各アクセスモードにおけるシーケンス部304と内部メモリ・レジスタ305との間のクロックシーケンスについて説明する。なお、図5はアクセスモード毎の差異の概要を示すものであるため、クロック500の他は、付随的な信号であるチップセレクト信号(CE)やライトイネーブル信号(WE)等の記載は省略する。
図5(a)は、アクセスモードが書込み(W)である場合のクロックシーケンスである。この時、書込み先アドレス501とデータ502とを、シーケンス部304から内部メモリ・レジスタ305へ同タイミングで通知することができる。
図5(b)は、アクセスモードが読出し(R)である場合のクロックシーケンスである。この時、読出し元アドレス503をシーケンス部304から内部メモリ・レジスタ305へ通知した後、次のクロックでデータ504が内部メモリ・レジスタ305からシーケンス部304へ渡される。
図5(c)は、アクセスモードが入替え(Ex)である場合のクロックシーケンスである。この時、読出し(R)と書込み(W)との複合になる。すなわち最初のクロックにおいて、読出し元アドレス505をシーケンス部304から内部メモリ・レジスタ305へ通知する。次のクロックにおいて、データ506が内部メモリ・レジスタ305からシーケンス部304へ渡される。最後のクロックにおいて、書込み先アドレス507とデータ508とをシーケンス部304から内部メモリ・レジスタ305へ同タイミングで通知することができる。
結局、入替え(Ex)を実行することで、外部データ格納部104にあるデータを画像処理部102に移し、それと入れ替わりで画像処理部102にあったデータを外部データ格納部105に移すという動作を一度の指示で行うことができる。これにより書込み(W)や読出し(R)を実行する場合と比べ、外部データ格納部104、外部データ格納部105への設定コマンドの展開サイズやアクセス回数を半減できるため、メモリサイズの削減やアクセス競合の低減が可能となる。
(第2実施形態)
ところで、上述したように、2色の処理しか実行できない画像処理部102に対して5色の処理を行わせる場合には、内部メモリ・レジスタ305に保持されている更新データを退避する処理が必要となる。
このような場合、本発明に係る画像処理装置を用いずに単純な制御を実行する場合、2色の処理ずつ、必要なデータをロードしつつ、更新されたデータを読み出す処理を実行しなければならない。しかしながら、後述するように、2色しか同時に処理できない場合に2の倍数以外の色数で処理を行う場合には、無駄な入れ替えが生じてしまう。
例えば、(A、B)、(C、D)、Eのように、2色―2色−1色のパターンで処理をする場合、最後のEを処理する際には1色のみの入れ替えでよい。しかしながら、上のような単純な制御では、Eを処理する際に、C、Dを退避してEをロードする必要があるため、C、Dの退避と対になるように、Eと、ダミーデータXとをロードするように構成することになる。そのため、ダミーデータXXのロード処理が無駄となる。
以下では、このような場合にも、効率よくデータを転送する制御方法を説明する。A、B、C、D、Eの5色に対する誤差拡散処理の適用例を説明する。誤差拡散処理とは、多値画像を2値化する際に、各画素で発生する誤差データを周囲の画素に拡散しながら2値化した値を算出する処理である。周囲からの誤差データを受けた画素は、その誤差データに基づいて2値化を実行し、新たに発生した誤差データは同様に周囲の画素に拡散する。
まず、図6を参照して、第2実施形態に係る画像処理装置60の機能構成について説明する。画像処理装置60は、データ入力部601と、誤差拡散処理部602と、データ出力部603と、外部メモリ605と、制御部606とを備える。また、外部メモリ605は、各色の領域として、A用データ格納部606と、B用データ格納部607と、C用データ格納部608と、D用データ格納部609と、E用データ格納部610とを備える。データ入力部601と、データ出力部603と、制御部606とは、それぞれ図1(b)における、データ入力部101と、データ出力部103と、制御部106とに対応するため、詳細な説明は省略する。
誤差拡散処理部602は、図1(b)における画像処理部102の一形態であり、内部メモリに誤差データを保持する。誤差データはrawデータの一形態である。また、誤差データは、A、B、C、D、Eの色毎に独立している。ここでは、5色の場合を考えているが、k色(kは自然数)の場合であってもよい。
また本実施形態では、内部メモリに最大2色分の誤差データを格納可能であると仮定する。そして、2色に対応するために、内部メモリは、論理的に内部メモリ611(第1内部メモリ)と、内部メモリ612(第2内部メモリ)とに2分割されたものとして扱われる。なお、第1乃至第n内部メモリに最大n色分の誤差データを格納可能であってもよい。
データ入力部601と、データ出力部603とのそれぞれの基本設定は、上述のように、図1(b)のデータ入力部101と、データ出力部103との基本設定と同様である。ただし、最大2色の誤差データが格納できるため、データ転送元アドレスと、データ転送先アドレスとは、格納でいる色毎の設定を保持する必要があるのでそれぞれ2組設定できるものとする。また、データ入力部601には、図2で説明したヘッダ部200を設定する。そして、外部メモリ605が備えるA用データ格納部606乃至E用データ格納部610には、それぞれの色に対応した誤差データのみを配置することとする。なおk色(kは自然数)の場合、外部メモリ605は第1乃至第k外部メモリとして機能することになる。
第1実施形態で説明したように、内部メモリが処理対象の色の全てに対応する誤差値を保持できない場合は、内部メモリ611または内部メモリ612の誤差データを外部メモリ605へ退避する必要があると同時に、前バンド処理時に外部メモリ605へと退避した誤差データを内部メモリ611または内部メモリ612に書き戻す必要が生じる。
以下の説明では第2実施形態に係る具体的な制御手順と処理の流れを示す。各バンドを処理するタイミングで各内部メモリ611、612および外部メモリの保持するデータの遷移を図7に示す。
なお、制御部106は内部メモリ611または内部メモリ612に現在格納されているデータが、それぞれA〜Eに対応する外部メモリ606乃至外部メモリ610のどのデータ格納部のデータのものかを判別するために、内部メモリ現格納データ種別(現格納情報)を保持する。同様に、制御部106は内部メモリ611または内部メモリ612に次に格納するデータが、それぞれA〜Eに対応する外部メモリ606乃至外部メモリ610どのデータ格納部のデータのものかを判別するために、内部メモリ次格納データ種別(次格納情報)を保持する。
まず初期設定として、制御部106は、A〜Eの誤差データの初期値をA用データ格納部606〜E用データ格納部610に設定する。
次に制御部106は、1組目の処理色としてABの設定を行う。前述のレジスタから次格納データ種別(次格納情報)を参照し、データ入力部601の1番目のデータ転送元アドレスにA用データ格納部606を設定し、2番目のデータ転送元アドレスにB用データ格納部607を設定する。
また、制御部106はデータ出力部603の1番目のデータ転送先アドレスにA用データ格納部606を設定し、2番目のデータ転送先アドレスにB用データ格納部607を設定する。
そして、制御部106は設定コマンドのヘッダ部200について、アドレスフィールド202に書込みアドレスを設定し、アクセスモードフィールド203に入替え(Ex)を設定する。
ここで、制御部106は内部メモリ現格納データ種別を内部メモリ次格納データ種別からコピーして更新する。このように内部メモリへどの色の誤差データを転送する設定を行ったかについての情報を保持しておくことにより、次組の設定時におけるデータ転送先アドレスの設定に利用する。
続いて2組目の設定を行う。2組目の設定は、1組目の設定が実際に誤差拡散処理部602に対して転送されて誤差拡散処理が行われた後に、誤差拡散処理部602に対して転送される設定である。そのため、2組目の設定の前に、仮に1組目の設定が誤差拡散処理部602に転送されるとメモリの内容はどのように遷移するかを説明しておく。
仮に、ここで誤差データ転送処理を起動した場合、A用データ格納部606に格納されている誤差データは内部メモリ611へ書き込まれる。それと入れ替わりで、内部メモリ611に格納されている誤差データはA用データ格納部606へ書き込まれる。同様に、B用データ格納部607に格納されている誤差データは内部メモリ612へ書き込まれる。それと入れ替わりで、内部メモリ612に格納されている誤差データはA用データ格納部606へ書き込まれる。
しかしながら、この時点でA用データ格納部606にあるデータは元々内部メモリ611の初期値であり、特に有用なものではないため、データ転送先アドレスにA用データ格納部606を指定することは、A用データ格納部606を単なるワーク領域として使用することに過ぎない。この時点では内部メモリ611へ初期値を設定することが必須であって、内部メモリ611の内容を読み出すことは必須ではないため、アクセスモードフィールド203には書込み(W)を設定することもできる。
しかしながら、次組の設定以降では内部メモリ611の内容を読み出す必要が生じる。アクセスモードフィールド203は入替え(Ex)となるため、前もって本組でアクセスモードフィールド203を入替え(Ex)としておくことにより、以降、設定コマンドのヘッダ部200に関しては全く変更せずバンド処理を進めることが可能となり、制御上簡略化できる。以上のことから、本実施形態では誤差データの転送に用いるコマンド情報はアクセスモードフィールド203に入替え(Ex)を示す値を有するものとする。
また、以上の処理が同様に適用される内部メモリ612とB用データ格納部607に関しては、詳細な説明を省略する。
誤差データ転送も済み、誤差拡散処理部602により誤差拡散処理が行われると、内部メモリ611、内部メモリ612はそれぞれ最新のA用誤差データ、B用誤差データに更新される。2組目の設定内容が実際に誤差拡散処理部602へ転送されるのはその更新の後になる。
ここで説明を2組目の設定に戻す。制御部106は、2組目の処理色としてCの設定を行う。制御部はデータ入力部601の1番目のデータ転送元アドレスにC用データ格納部608を設定する。このとき、2色の処理を行える画像処理装置60であり、A、B両方の入れ替えを行うのが通常である。しかし、処理するのがC1色のみであることから、ここでは例えばAの誤差データのみの入れ替えを行い、2番目のデータ転送元アドレスには何も設定しない。これにより、不要なデータ転送による通信負荷を抑えられる。
また、制御部106は内部メモリ現格納データ種別を参照し、データ出力部603の1番目のデータ転送先アドレスとしてA用データ格納部606を示すアドレスを設定する。2番目のデータ転送先アドレスには何も設定しない。さらに、内部メモリ現格納データ種別を内部メモリ次格納データ種別からコピーして更新する。
仮に、ここで誤差データ転送処理を起動した場合、C用データ格納部608の内容はデータ入力部601によって内部メモリ611へ書き込まれる。それと入れ替わりで、内部メモリ611の内容はデータ出力部603によってA用データ格納部606へ書き込まれる。これにより内部メモリ611にあった最新のA用誤差データをA用データ格納部606へ退避することができる。ただし、最新版のB用誤差データはまだ内部メモリ612に残留する。第2組においてはC1色のみの処理となるため、2色目であるBについての処理は抑制されるように実施されることが望ましい。これにより、更新されたBの誤差データが、Cのみの処理によって不要に変更されることを防ぐことができる。また、この時点で入れ替えが必須でないBの誤差データの転送を行わないようにすることができ、転送データ量を抑制できる。
この転送によりCの誤差データの転送・設定も済み、誤差拡散処理部602により誤差拡散処理が行われると、内部メモリ611は最新のC用誤差データに更新される。3組目の設定内容が実際に誤差拡散処理部602へ転送されるのはその後になる。
次に3組目の設定に進む。制御部106は3組目の処理色としてDEの設定を行う。制御部106は転送元設定処理として、データ入力部601の1番目のデータ転送元アドレスにD用データ格納部609を設定し、2番目のデータ転送元アドレスにE用データ格納部610を設定する。また、制御部106は転送先設定処理として、内部メモリ現格納データ種別を参照し、データ出力部603の1番目のデータ転送先アドレスにC用データ格納部608、2番目のデータ転送先アドレスにB用データ格納部607を設定する。特に内部メモリ612に関しては前組での設定がないため、前々組の設定情報が保持されている。さらに、内部メモリ現格納データ種別を内部メモリ次格納データ種別からコピーして更新する。
仮に、ここで誤差データ転送処理を起動した場合、D用データ格納部609の内容はデータ入力部601によって内部メモリ611へ書き込まれる。それと入れ替わりで、内部メモリ611の内容はデータ出力部603によってC用データ格納部608へ書き込まれる。
また、E用データ格納部610の内容はデータ入力部601によって内部メモリ612へ書き込まれる。それと入れ替わりで、内部メモリ612の内容はデータ出力部603によってC用データ格納部608へ書き込まれる。これにより内部メモリ611に格納されていた最新版のC用誤差データをC用データ格納部608へ退避することができる。同様に、内部メモリ612に格納されていた最新版のB用誤差データをB用データ格納部607へ退避することができる。これにより各種データが置換される。
誤差データ転送も済み、誤差拡散処理部602により誤差拡散処理が行われると、内部メモリ611の保持する誤差データは、誤差拡散処理部602の処理結果により最新のD用誤差データに更新される。
以上で3組分、1バンド目の処理が終了する。次以降のバンド処理も同様に3組分の実行の繰り返しになる。
図8を参照して、上記制御のフローチャートを説明する。
ステップS801において、制御部106が外部メモリ605の備えるA〜E用データ格納部に誤差データの初期値設定を行う。
ステップS802において、制御部106がアドレスの設定や、ヘッダ部200の設定を行う。
ステップS803において、制御部106が内部メモリ現格納データ種別を不定値(初期化)とする。
ステップS804において、制御部106が内部メモリ次格納データ種別を取得する。
ステップS805において、制御部106が内部メモリ現格納データ種別と内部メモリ次格納データ種別とを比較して一致するか否かを判定する。一致すると判定された場合は(ステップS805;YES)、ステップS811に進む。一方、一致しないと判定された場合は(ステップS805;NO)、ステップS806に進む。
ステップS806において、制御部106が内部メモリ次格納データ種別に対応した外部メモリ605が備えるA〜E用データ格納部のアドレスをデータ転送元アドレスに設定する。
ステップS807において、制御部106が内部メモリ現格納データ種別は不定値(初期値)であるか否かを判定する。不定値(初期値)であると判定された場合は(ステップS807;YES)、ステップS808に進む。一方、不定値(初期値)でないと判定された場合は(ステップS807;NO)、ステップS809に進む。
ステップS808において、制御部106が内部メモリ次格納データ種別に対応した外部メモリ605が備えるA〜E用データ格納部のアドレスをデータ転送先アドレスに設定する。その後、ステップS810に進む。
ステップS809において、制御部106が内部メモリ現格納データ種別に対応した外部メモリ605が備えるA〜E用データ格納部のアドレスをデータ転送先アドレスに設定する。その後、ステップS810に進む。
ステップS810において、制御部106が内部メモリ次格納データ種別を内部メモリ現格納データ種別にコピーする。その後、ステップS811に進む。
ステップS811において、制御部106が全ての組の設定が終了しているか否かを判定する。全ての組の設定が終了していないと判定された場合は(ステップS811;NO)、ステップS812に進む。全ての組の設定が終了していると判定された場合は(ステップS811;YES)、ステップS813に進む。
ステップS812において、制御部106が次の設定情報に切り替える。その後、ステップS804に戻る。
ステップS813において、制御部106が画像処理部102に入替え(Ex)によるデータ転送と画像処理とを1バンド分実行させる。
ステップS814において、制御部106が全ての組の実行が終了したか否かを判定する。全ての組の実行が終了していないと判定された場合は(ステップS814;NO)、ステップS813に進む。一方、全ての組の実行が終了したと判定された場合は(ステップS814;YES)ステップS815に進む。
ステップS815において、制御部106が全バンドの処理が終了したか否かを判定する。全バンドの処理が終了していないと判定された場合は(ステップS815;NO)、ステップS816に進む。一方、全バンドの処理が終了したと判定された場合は(ステップS815;YES)、処理は終了する。
ステップS816において、制御部106が最初の組の設定情報に切り替える。その後、ステップS804に戻る。
このように入替え(Ex)を用いて誤差データの入れ替えを行う際に、内部に保持されているデータの種別と、これからロードしようとするデータの種別とを管理することにより、効率的にデータの入れ替えを制御することが可能となる。
特に、ステップS805において、内部に保持されているデータの種別とこれから投入するデータの種別とが同一である場合には、入替え(Ex)の指示を行わない。これにより、入替え処理における不要なデータ転送を回避することができ、性能の向上につながる。
図9を参照して、効率化の例を説明する。図8を参照して説明した制御手順によれば、3色A、B、CをA、Bの組とCのみの組とに分けて実行する際の入替えは、図9のようになる。まず、初期値としてのA、Bをロードした後は、例えばAとCのみを入れ替えて処理を継続すればよく、Bを何かと入れ替える必要はない。このような判断が、図8のステップS805およびステップS811において行われている。すなわち、第1バンド目の第1組においては、初期値と異なるためにA、Bともにロードされる。そして、内部メモリ611、内部メモリ612にもともと保持されていた不定値が、それぞれA用データ格納部606、B用データ格納部607に退避される。
次に、第1バンド目の第2組においては、Cのみが対象となるため、ステップS811において内部メモリ612についての処理が行われない。そして、Bの誤差値は内部メモリに保持されたまま、その転送は行われない。
さらに、第2番バンド目の第1組においては、ステップS805において、Bは内部の現格納データ種別と外部の次格納データ種別が一致する(ともにBを意味している)ため、やはり入替えの指示が行われない。
このように、本来、AB、Cと繰り返し実行する場合には入れ替える必要がないBの誤差データが、本処理手順によって効果的に据え置かれ、その転送が無駄に行われないように制御される。
なお、上述の実施形態では5次元色空間の画像を扱って説明したため、外部メモリに割り当てる領域を5つ(第1乃至第k外部メモリにおいて、k=5)としたが、色空間は何次元でもよいし次元数に応じた領域をメモリに割り当てればよい。なお、色空間の次元数に応じた個数の外部メモリを割り当ててもよい。内部メモリ・レジスタはアルゴリズム処理部が1バンドについて一度に処理できる色空間の次元数に応じた数の領域を割り当てればよい。
なお、内部メモリ現格納データ種別(現格納情報)や、内部メモリ次格納データ種別(次格納情報)は制御部106が参照できるレジスタ(不図示)に保存すればよく、現在処理中の色と次に処理する色を判断できる情報であればよい。単純に、次に処理する色の組みを示すステートに対応する値をカウントアップするカウンタであってもよい。その場合はカウンタの値から外部メモリのアドレスへ変換するテーブルを制御部106が解釈して、データ入力部601及びデータ出力部603にアドレスを設定すればよい。
なお、上述の実施形態では画像データをバンドという帯状領域に分割する例を説明したが、部分画像としては1ラインやタイル(m×n画素)を扱う場合についても本発明を同様に適用することができる。
なお本発明は、上述の画像処理部102を一般的なコンピュータに適用したシステムにおいても実施できる。図1(a)を参照して、本発明に係る情報処理装置としての、画像処理装置のハードウェア構成の一例について説明する。CPU1は装置全体の動作、および前述の画像処理部102の動作を制御する。メモリ2は、データおよび画像処理部102で処理する画像データと処理に用いる誤差値などの値とを格納し、CPU1の作業領域でもあるRAMと、画像処理部102およびCPU1が実行するプログラムを格納するROMとを有する。バス3は各処理部間でのデータ転送を司る。インタフェース4はバス3と各種装置とのインタフェースである。また、外部記憶装置5は、CPU1に読み込むためのプログラムやデータを格納する外部記憶装置である。キーボード6およびマウス7はプログラムを起動したり、プログラムの動作を指定したりするための入力装置を構成する。表示部8はプロセスの動作結果を表示する。このような構成に前述の処理を適用することで、メモリ102のRAMと画像処理部102との間で前述の実施例のように効率よく画像処理に用いるデータを交換することができる。

Claims (12)

  1. データを記憶可能な記憶手段と、
    前記記憶手段に記憶させる第1データと、前記記憶手段における第2データ保持されているアドレス及び前記第1データを前記記憶手段に書き込むアドレスを示すアドレス情報と、を含むコマンド情報を受信する受信手段と、
    前記記憶手段における前記アドレス情報示す前記第2データ保持されているアドレスから前記記憶手段の保持する第2データを読み出し、前記記憶手段における前記アドレス情報示す前記第1データを前記記憶手段に書き込むアドレスに前記第1データを書き込むアクセス手段と、
    前記受信手段受信したコマンド情報に含まれる第1データを前記アクセス手段読み出した第2データに置き換えて送信する送信手段と
    を有することを特徴とする情報処理装置。
  2. 外部メモリの第1領域に保持されてい前記第1データを読み出して前記コマンド情報を生成する入力手段と、前記外部メモリの第2領域に前記アクセス手段の読み出した第2データを書き込む出力手段とを更に有し、
    前記受信手段は、前記入力手段が生成したコマンド情報を受信することを特徴とする請求項1に記載の情報処理装置。
  3. 前記記憶手段が保持する第2データに基づいて、前記受信手段の受信する画像データを処理する処理手段を更に有することを特徴とする請求項2に記載の情報処理装置。
  4. 前記第2データは誤差値であって、前記処理手段は前記誤差値に基づいて誤差拡散処理をすることを特徴とする請求項3に記載の情報処理装置。
  5. 前記処理手段は前記画像データの部分画像について多次元色空間の基軸ごとに誤差拡散処理を実行し、
    前記出力手段は前記内部メモリに保持している誤差値を前記外部メモリに書き出し、
    前記入力手段は、前記処理手段の処理する多次元色空間の基軸に対応する誤差値を前記内部メモリに書き込むコマンド情報を生成することを特徴とする請求項4に記載の情報処理装置。
  6. 前記外部メモリの第1領域と前記外部メモリの第2領域とを異なるアドレス領域にすることを特徴とする請求項に記載の情報処理装置
  7. 記憶手段への第1データの書込みを指示する書込み指示、前記記憶手段からの第2データの読み出しを指示する読み出し指示、または前記記憶手段からの第2データの読み出しの指示の後に前記記憶手段への前記第1データの書込みを指示する入れ替え指示、の何れかの指示を示す指示情報と、前記記憶手段における記憶領域を指定するアドレス情報と、前記第1データと、を含むコマンド情報を受信する受信手段と、
    前記コマンド情報を送信する送信手段と、
    前記受信手段により受信された前記コマンド情報を解析する解析手段と、
    前記解析手段により前記コマンド情報に含まれる前記指示情報が前記書込み指示であると解析された場合、前記記憶手段に前記第1データを書き込む第1処理手段と、
    前記解析手段により前記コマンド情報に含まれる前記指示情報が前記入れ替え指示であると解析された場合、前記記憶手段から前記第2データを読み出して前記送信手段に転送し、前記記憶手段に前記第1データを書き込む第2処理手段と、
    前記解析手段により前記コマンド情報が含む前記指示情報が前記読み出し指示であると解析された場合、前記記憶手段から前記第2データを読み出して前記送信手段に転送する第3処理手段と、を備え、
    前記送信手段は、前記第1処理手段による処理の後では、前記コマンド情報をそのまま送信し、前記第2処理手段または前記第3処理手段による処理の後では、前記コマンド情報が含む前記第1データを、前記記憶手段から読み出された前記第2データにより置き換えてから前記コマンド情報を送信することを特徴とする情報処理装置。
  8. データを記憶可能な記憶手段と、
    書込み、読出し、入替のいずれかを指定するアクセスモード情報と前記記憶手段におけるアドレスを指定するアドレス指定情報とを含み、データを保持する領域を有するコマンド情報を受信する受信手段と、
    前記コマンド情報が示すアクセスモード情報に応じて、前記記憶手段にアクセスするアクセス手段と、
    前記アクセス手段によるアクセスの結果得られるコマンド情報を送信する送信手段とを有し、
    前記受信手段が、前記アクセスモードが入替えを示し、第1データを前記領域に保持するコマンド情報を受信した場合、
    前記アクセス手段は、前記アドレス指定情報が示す前記記憶手段において第2データが保持されているアドレスから、前記記憶手段の保持する前記第2データを読出し、かつ、前記記憶手段における前記アドレス指定情報が示す前記第1データを前記記憶手段に書込みアドレスに前記第1のデータを書き込み、
    前記送信手段は、前記受信手段が受信したコマンド情報に含まれる第1データを、前記アクセス手段が読みだした第2データに置き換えて送信することを特徴とする情報処理装置。
  9. データを記憶可能な記憶手段を備える情報処理装置における情報処理方法であって、
    受信手段が、前記記憶手段に記憶させる第1データと、前記記憶手段における第2データ保持されているアドレス及び前記第1データを前記記憶手段に書き込むアドレスを示すアドレス情報と、を含むコマンド情報を受信する受信工程と、
    アクセス手段が、前記記憶手段における前記アドレス情報示す前記第2データ保持されているアドレスから前記記憶手段の保持する第2データを読み出し、前記記憶手段における前記アドレス情報示す前記第1データを前記記憶手段に書き込むアドレスに前記第1データを書き込むアクセス工程と、
    送信手段が、前記受信手段受信したコマンド情報に含まれる第1データを前記アクセス手段読み出した第2データに置き換えて送信する送信工程と、
    を有することを特徴とする情報処理方法。
  10. 受信手段が、記憶手段への第1データの書込みを指示する書込み指示、前記記憶手段からの第2データの読み出しを指示する読み出し指示、または前記記憶手段からの第2データの読み出しの指示の後に前記記憶手段への前記第1データの書込みを指示する入れ替え指示、の何れかの指示を示す指示情報と、前記記憶手段における記憶領域を指定するアドレス情報と、前記第1データと、を含むコマンド情報を受信する受信工程と、
    送信手段が、前記コマンド情報を送信する送信工程と、
    解析手段が、前記受信工程により受信された前記コマンド情報を解析する解析工程と、第1処理手段が、前記解析工程により前記コマンド情報に含まれる前記指示情報が前記書込み指示であると解析された場合、前記記憶手段に前記第1データを書き込む第1処理工程と、
    第2処理手段が、前記解析工程により前記コマンド情報に含まれる前記指示情報が前記入れ替え指示であると解析された場合、前記記憶手段から前記第2データを読み出して前記送信手段に転送し、前記記憶手段に前記第1データを書き込む第2処理工程と、
    第3処理手段が、前記解析手段により前記コマンド情報が含む前記指示情報が前記読み出し指示であると解析された場合、前記記憶手段から前記第2データを読み出して前記送信手段に転送する第3処理工程と、を備え、
    前記送信工程では、前記第1処理工程による処理の後では、前記コマンド情報をそのまま送信し、前記第2処理工程または前記第3処理工程による処理の後では、前記コマンド情報が含む前記第1データを、前記記憶手段から読み出された前記第2データにより置き換えてから前記コマンド情報を送信する、ことを特徴とする情報処理方法。
  11. データを記憶可能な記憶手段を備える情報処理装置における情報処理方法であって、
    受信手段が、書込み、読出し、入替のいずれかを指定するアクセスモード情報と前記記憶手段におけるアドレスを指定するアドレス指定情報とを含み、データを保持する領域を有するコマンド情報を受信する受信工程と、
    アクセス手段が、前記コマンド情報が示すアクセスモード情報に応じて、前記記憶手段にアクセスするアクセス工程と、
    送信手段が、前記アクセス手段によるアクセスの結果得られるコマンド情報を送信する送信工程とを有し、
    前記受信工程で、前記アクセスモードが入替えを示し、第1データを前記領域に保持するコマンド情報を受信した場合、
    前記アクセス工程で、前記アドレス指定情報が示す前記記憶手段において第2データが保持されているアドレスから、前記記憶手段の保持する前記第2データを読出し、かつ、前記記憶手段における前記アドレス指定情報が示す前記第1データを前記記憶手段に書込みアドレスに前記第1のデータを書き込み、
    前記送信工程で、前記受信工程で受信したコマンド情報に含まれる第1データを、前記アクセス工程で読みだした第2データに置き換えて送信することを特徴とする情報処理方法。
  12. 請求項乃至11のいずれか1項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
JP2010183386A 2010-08-18 2010-08-18 情報処理装置、情報処理方法、およびプログラム Expired - Fee Related JP5600517B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010183386A JP5600517B2 (ja) 2010-08-18 2010-08-18 情報処理装置、情報処理方法、およびプログラム
US13/175,556 US8707132B2 (en) 2010-08-18 2011-07-01 Information processing apparatus, information processing method, and storage medium
US14/157,262 US9292777B2 (en) 2010-08-18 2014-01-16 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010183386A JP5600517B2 (ja) 2010-08-18 2010-08-18 情報処理装置、情報処理方法、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014163927A Division JP5889372B2 (ja) 2014-08-11 2014-08-11 情報処理装置、情報処理システム、情報処理方法、制御装置および制御方法

Publications (2)

Publication Number Publication Date
JP2012043153A JP2012043153A (ja) 2012-03-01
JP5600517B2 true JP5600517B2 (ja) 2014-10-01

Family

ID=45595028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010183386A Expired - Fee Related JP5600517B2 (ja) 2010-08-18 2010-08-18 情報処理装置、情報処理方法、およびプログラム

Country Status (2)

Country Link
US (2) US8707132B2 (ja)
JP (1) JP5600517B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5932242B2 (ja) 2011-05-20 2016-06-08 キヤノン株式会社 情報処理装置、通信方法、及びプログラム
JP5810734B2 (ja) * 2011-08-12 2015-11-11 株式会社リコー 画像処理装置、プログラム、画像形成装置、画像処理方法
TWI550627B (zh) * 2013-11-28 2016-09-21 旺宏電子股份有限公司 儲存裝置及其操作方法
KR101914260B1 (ko) * 2014-04-22 2019-01-14 후아웨이 테크놀러지 컴퍼니 리미티드 파일 관리 방법 및 파일 시스템
US10216572B2 (en) * 2014-07-22 2019-02-26 Ngd Systems, Inc. Flash channel calibration with multiple lookup tables
US10795765B2 (en) 2014-07-22 2020-10-06 Ngd Systems, Inc. SSD for long term data retention
US10417087B2 (en) 2014-07-22 2019-09-17 Ngd Systems, Inc. System and method for adaptive multiple read of NAND flash
WO2017129254A1 (en) * 2016-01-29 2017-08-03 Hewlett-Packard Development Company, L P Error diffusion
US10831637B2 (en) * 2016-04-23 2020-11-10 International Business Machines Corporation Warning data management with respect to an execution phase
US10977017B2 (en) * 2016-04-23 2021-04-13 International Business Machines Corporation Warning data management for distributed application development
US10926962B2 (en) * 2019-03-07 2021-02-23 Raytheon Company Flexible feeding tray and system for singulating bulk objects
JP2020180996A (ja) * 2019-04-23 2020-11-05 セイコーエプソン株式会社 制御回路、駆動回路、電気光学装置、電気光学装置を含む電子機器、及び電子機器を含む移動体、並びにエラー検出方法

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62122432A (ja) 1985-11-22 1987-06-03 Sharp Corp 直列データ転送におけるエラーチェック装置
JPH0642266B2 (ja) 1986-05-21 1994-06-01 日本電気株式会社 メモリアクセス回路
JPS63309456A (ja) 1987-06-11 1988-12-16 Canon Inc 画像処理方法
US5117499A (en) * 1988-01-22 1992-05-26 Sharp Kabushiki Kaisha Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs
US4903124A (en) 1988-03-17 1990-02-20 Canon Kabushiki Kaisha Image information signal transmission apparatus
US5107519A (en) 1988-11-17 1992-04-21 Canon Kabushiki Kaisha Coding device and a decoding device
US4982400A (en) * 1988-12-29 1991-01-01 Intel Corporation Ring bus hub for a star local area network
DE69130495T2 (de) * 1990-06-29 1999-06-24 Digital Equipment Corp Umwandlung der Befehle von internen Prozessorregistern in I/O-Adressraum
EP0463966B1 (en) * 1990-06-29 1998-11-25 Digital Equipment Corporation High-performance multi-processor having floating point unit and operation method
EP0463965B1 (en) * 1990-06-29 1998-09-09 Digital Equipment Corporation Branch prediction unit for high-performance processor
US5404553A (en) * 1991-01-09 1995-04-04 Mitsubishi Denki Kabushiki Kaisha Microprocessor and data flow microprocessor having vector operation function
JP2905640B2 (ja) * 1992-03-30 1999-06-14 シャープ株式会社 メモリインタフェイス装置
US5337160A (en) * 1992-07-01 1994-08-09 Hewlett-Packard Error diffusion processor and method for converting a grey scale pixel image to a binary value pixel image
US5542058A (en) * 1992-07-06 1996-07-30 Digital Equipment Corporation Pipelined computer with operand context queue to simplify context-dependent execution flow
JPH06105160A (ja) * 1992-08-04 1994-04-15 Matsushita Electric Ind Co Ltd イメージコントローラ
KR960005016B1 (ko) * 1992-11-26 1996-04-18 삼성전자주식회사 칼라 프린터에 있어서 적응칼라 에러 확산방법 및 회로
US5699460A (en) * 1993-04-27 1997-12-16 Array Microsystems Image compression coprocessor with data flow control and multiple processing units
US5448703A (en) * 1993-05-28 1995-09-05 International Business Machines Corporation Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
JP3230898B2 (ja) * 1993-06-02 2001-11-19 シャープ株式会社 データ駆動型情報処理システム
JP3579461B2 (ja) * 1993-10-15 2004-10-20 株式会社ルネサステクノロジ データ処理システム及びデータ処理装置
JP3017002B2 (ja) * 1993-12-03 2000-03-06 シャープ株式会社 ディジタル画像形成装置
US5854640A (en) * 1996-01-02 1998-12-29 Intel Corporation Method and apparatus for byte alignment of video data in a memory of a host system
AUPN741396A0 (en) * 1996-01-05 1996-01-25 Canon Aptex Inc Geometrically reducing mask error diffusion
US6088774A (en) * 1996-09-20 2000-07-11 Advanced Memory International, Inc. Read/write timing for maximum utilization of bidirectional read/write bus
US5974228A (en) * 1997-01-28 1999-10-26 Hewlett-Packard Company Image rendition by plural-row error diffusion, for faster operation and smaller integrated circuits
JPH10228445A (ja) * 1997-02-13 1998-08-25 Mitsubishi Electric Corp リングバス入出力制御装置
JP3413344B2 (ja) * 1997-05-16 2003-06-03 シャープ株式会社 画像演算処理装置およびその動作方法
JPH11284855A (ja) * 1998-01-27 1999-10-15 Canon Inc 画像処理方法と装置及び画像形成装置
WO2000065567A1 (en) * 1999-04-23 2000-11-02 Opti, Inc. Multi-dimensional error diffusion with horizontal, vertical and temporal values
US6833926B1 (en) * 1999-09-28 2004-12-21 Kabushiki Kaisha Toshiba Image processing apparatus
US7139901B2 (en) * 2000-02-08 2006-11-21 Mips Technologies, Inc. Extended instruction set for packet processing applications
US7085006B2 (en) * 2000-12-28 2006-08-01 Seiko Epson Corporation Apparatus for generating two color printing data, a method for generating two color printing data and recording media
JP3775487B2 (ja) * 2001-08-01 2006-05-17 日本電気株式会社 デジタル波形データ記録回路及びデジタル波形データの記録方法
JP3594082B2 (ja) * 2001-08-07 2004-11-24 日本電気株式会社 仮想アドレス間データ転送方式
US7266254B2 (en) * 2002-02-13 2007-09-04 Canon Kabushiki Kaisha Data processing apparatus, image processing apparatus, and method therefor
GB2388929B (en) * 2002-05-23 2005-05-18 Advanced Risc Mach Ltd Handling of a multi-access instruction in a data processing apparatus
KR100441528B1 (ko) * 2002-07-08 2004-07-23 삼성에스디아이 주식회사 계조 및 색 표현력 향상을 위한 플라즈마 디스플레이패널의 구동 장치 및 그 방법
US7573603B2 (en) * 2002-10-11 2009-08-11 Avago Technologies Fiber Ip (Singapore) Pte. Ltd. Image data processing
KR100561462B1 (ko) * 2003-07-09 2006-03-16 삼성전자주식회사 화상형성시스템에 있어서 영상처리방법 및 장치
TWI227403B (en) * 2003-11-14 2005-02-01 Ind Tech Res Inst Method for implementing error diffusion process with memory management
JP4359490B2 (ja) 2003-11-28 2009-11-04 アイピーフレックス株式会社 データ伝送方法
US7210008B2 (en) * 2003-12-18 2007-04-24 Intel Corporation Memory controller for padding and stripping data in response to read and write commands
US20050225806A1 (en) * 2004-03-17 2005-10-13 Niranjan Damera-Venkata Error diffusion using sub-pixel modulation
JP4003762B2 (ja) * 2004-07-05 2007-11-07 セイコーエプソン株式会社 表示コントローラ、電子機器及び画像データ供給方法
JP4810090B2 (ja) 2004-12-20 2011-11-09 キヤノン株式会社 データ処理装置
US8159720B2 (en) * 2005-04-08 2012-04-17 Xerox Corporation Color error diffusion
US20060232821A1 (en) * 2005-04-15 2006-10-19 Sridharan Ranganathan Parallel architecture for vector color error diffusion
US7480078B2 (en) * 2005-04-28 2009-01-20 Xerox Corporation Method and system for performing multi-pixel parallel error diffusion enabling high-speed diffusion processing without increasing the system clock rate
JP4075914B2 (ja) * 2005-06-30 2008-04-16 ブラザー工業株式会社 データ処理装置
US8145874B2 (en) * 2008-02-26 2012-03-27 Qualcomm Incorporated System and method of data forwarding within an execution unit
JP2011040970A (ja) * 2009-08-10 2011-02-24 Canon Inc データ処理装置、および、データ処理方法
JP5539101B2 (ja) 2010-08-18 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
US9292777B2 (en) 2016-03-22
US20120047418A1 (en) 2012-02-23
US20140132979A1 (en) 2014-05-15
JP2012043153A (ja) 2012-03-01
US8707132B2 (en) 2014-04-22

Similar Documents

Publication Publication Date Title
JP5600517B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US8547453B2 (en) Image processing apparatus and camera system
JP3573614B2 (ja) 画像処理装置及び画像処理システム
JP5411530B2 (ja) 並列処理プロセッサシステム
US20130257882A1 (en) Image processing device, image processing method, and recording medium on which an image processing program is recorded
US7760205B2 (en) Information processing apparatus for efficient image processing
JP5438371B2 (ja) 画像処理装置および画像処理方法
JP2013504800A (ja) ダイレクトメモリアクセスコントローラ、その方法およびコンピュータプログラム
US9172839B2 (en) Image forming apparatus, control method and storage medium
JP2001084229A (ja) Simd型プロセッサ
US8386725B2 (en) USB host controller and controlling method for USB host controller
EP1647887A2 (en) Apparatus for efficient image processing
JP2003271574A (ja) 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法
JP5889372B2 (ja) 情報処理装置、情報処理システム、情報処理方法、制御装置および制御方法
JP4446968B2 (ja) データ処理装置
JP2017016285A (ja) 複数のデータ処理部でバッファを共有するデータ制御装置、制御方法
JP5112386B2 (ja) 画像処理装置及び画像処理方法
US20050135402A1 (en) Data transfer apparatus
JP2006094400A (ja) 画像処理装置および画像処理方法
JP3959407B2 (ja) 画像処理装置及び画像処理システム
JP4292218B2 (ja) 画像処理装置及び画像処理システム
JP4516336B2 (ja) 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
JP2015034891A (ja) レジスタ設定制御装置
JP2000311249A (ja) グラフィック処理装置とそのグラフィックコマンド処理方法
JP2006164072A (ja) 画像処理装置およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140818

R151 Written notification of patent or utility model registration

Ref document number: 5600517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees