JP2018049363A - プログラム及び情報処理装置 - Google Patents

プログラム及び情報処理装置 Download PDF

Info

Publication number
JP2018049363A
JP2018049363A JP2016183150A JP2016183150A JP2018049363A JP 2018049363 A JP2018049363 A JP 2018049363A JP 2016183150 A JP2016183150 A JP 2016183150A JP 2016183150 A JP2016183150 A JP 2016183150A JP 2018049363 A JP2018049363 A JP 2018049363A
Authority
JP
Japan
Prior art keywords
data
transfer
size
frame
memory
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.)
Pending
Application number
JP2016183150A
Other languages
English (en)
Inventor
十三次 小関
Tomiji Koseki
十三次 小関
征史郎 加藤
Seishiro Kato
征史郎 加藤
晴信 宮下
Harunobu Miyashita
晴信 宮下
佐藤 英樹
Hideki Sato
英樹 佐藤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2016183150A priority Critical patent/JP2018049363A/ja
Publication of JP2018049363A publication Critical patent/JP2018049363A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

【課題】受け取った転送単位をそのままメモリに書き込む方式と比べて、全体データを保持するのに必要なメモリ容量を削減する。【解決手段】転送I/Fは、データ生成装置から転送されて来るフレームを受け取る。各フレームには、1ページの画像を分割したバンドと無効データとが含まれている。DMACは、システムにより設定されたディスクリプタに従い、各フレーム内のバンドを、画像データ領域28に対して連続したアドレスで転送すると共に、各フレーム内の無効データは、同じ無効データ領域30に転送する。【選択図】図3

Description

本発明は、プログラム及び情報処理装置に関する。
従来、画像形成システム内のデータ発生源(スキャナ等)からデータ利用側(プリンタ制御部等)への画像データの転送には、例えばPCI Express等のインターフェースを用い、指定したバンドサイズ単位ごとに転送を行う転送コントローラを用いている。転送コントローラには、画像形成システムのメーカーが設計したカスタム品を用いている。
一方、コスト削減のために、画像形成システムのデータ転送機構に汎用品を用いる必要性が高まっている。例えば、モバイル機器内のカメラやディスプレイとの間のデータ転送インターフェースの規格であるMIPI(Mobile Industry Processor Interface)は広く普及しており、MIPI準拠のインターフェスコントローラを採用することで、カスタム品を用いる場合よりも大幅なコスト削減が可能になる。
MIPIはカメラで撮像した静止画や動画、及びディスプレイに表示する画像のデータ転送のためのインターフェース規格であり、転送を動画や静止画のフレームサイズ単位で行う。動画等のフレームサイズは、印刷分野でのページの画素数とはまったく独立したものである。どの用紙サイズであれどの解像度であれ、1ページの画素数と、動画等のフレームサイズの画素数とは、実質的に互いに素な関係にある。1ページの画像を複数のバンドに分割したとしても同様である。1バンドのサイズは、転送されて来る画像データを利用する装置(例えばプリントエンジン)やその他のシステムの要件によって決まる等の理由から、1バンドが1フレームにぴったり収まることは通常ない。したがって、1バンドの画像データをMIPIの1フレームで転送する場合、各フレームには、画像データ以外に無効データが含まれることになる。
特許文献1に開示された画像処理装置は、ワークエリアと蓄積エリアの書き込みスタートアドレスと使用容量を管理し、ワークエリア最下位アドレスと蓄積エリア最上位アドレスの差から使用可能メモリ容量を監視して、動作モード毎に実行、停止を制御する。不要メモリが発生した場合、ワークの最上位アドレスをスタートアドレスに指定して、別領域に待避させることなく、直接データを移動することにより、メモリ制御を高速、且つスタートアドレス管理を容易にする。
特開2002−117399公報
全体データ(例えば1ページの画像データ)を複数の分割データ(例えばバンド)に分割して転送する場合、分割データのサイズを1回あたりの転送単位(例えばフレーム)のサイズに一致させられない場合がある。この場合、転送単位には分割データ以外の無効データが含まれることになる。転送を受ける装置は、全体データを構成するすべての分割データを取得できるまで、転送単位を繰り返し受信してメモリに書き込んでいく。このとき、転送単位をそのままメモリに書き込む方式では、後の利用のために全体データをメモリに保持させるためには、メモリには各転送単位内の無効データも含む記憶領域を確保する必要があった。
本発明は、受け取った転送単位をそのままメモリに書き込む方式と比べて、全体データを保持するのに必要なメモリ容量を削減することを目的とする。
請求項1に係る発明は、コンピュータを、転送対象の全体データを複数に分割した分割データのサイズと、前記分割データを含んで転送元から順次転送されて来る転送単位のサイズと、の情報を取得する取得手段、前記転送元から順次転送されて来る転送単位をメモリ内の設定されたアドレスに出力する出力手段に対して、転送単位の出力先とする前記メモリ内のアドレスを、その転送単位の前に転送されてきた転送単位内の前記分割データ以外の無効データ部分の前記メモリ内での先頭アドレスに設定する設定手段、として機能させるためのプログラムである。
請求項2に係る発明は、前記設定手段は、前記全体データのうちの最後の前記分割データを含む転送単位については、その分割データの出力先を、その転送単位の前に転送されてきた転送単位内の前記無効データ部分の前記メモリ内での先頭アドレスに設定すると共に、その転送単位内の前記無効データ部分の出力先を無効データ受入回路のアドレスに設定する、ことを特徴とする請求項1に記載のプログラムである。
請求項3に係る発明は、転送対象の全体データを複数に分割した分割データのサイズと、前記分割データを含んで転送元から順次転送されて来る転送単位のサイズと、の情報を取得する取得手段と、前記転送元から順次転送されて来る転送単位をメモリ内の設定されたアドレスに出力する出力手段に対して、転送単位の出力先とする前記メモリ内のアドレスを、その転送単位の前に転送されてきた転送単位内の前記分割データ以外の無効データ部分の前記メモリ内での先頭アドレスに設定する設定手段と、を含む情報処理装置である。
請求項1又は3に係る発明によれば、受け取った転送単位をそのままメモリに書き込む方式と比べて、全体データを保持するのに必要なメモリ容量を削減することができる。
請求項2に係る発明によれば、最後の分割データ内の無効データ部分をメモリに出力する場合よりも、全体データを保持するのに必要なメモリ容量を削減することができる。
実施形態のシステム構成の一例を示す図である。 比較例のDMA転送方式でのメモリ上の画像データの記憶状況を示す図である。 実施形態のDMA転送方式で第1フレームが転送されたときのメモリ上の画像データの記憶状況を示す図である。 実施形態のDMA転送方式で第2フレームが転送されたときのメモリ上の画像データの記憶状況を示す図である。 実施形態のDMA転送方式で第N(最終)フレームが転送されたときのメモリ上の画像データの記憶状況を示す図である。 システムが実行する処理手順の例を示す図である。 DMACが参照するディスクリプタテーブルの例を示す図である。 DMACが参照するディスクリプタテーブルの別の例を示す図である。
図1を参照して、本実施形態のシステム構成の一例を説明する。このシステムは、データ生成装置10とデータ利用装置20とを含む。
データ生成装置10は、画像データを生成する装置である。一例として、データ生成装置10は、例えば、デジタル印刷業界で定められたサイズ及び解像度の画像データを生成する装置である。この場合、データ生成装置10は、例えばA4、A3、B4、レターサイズ等の複数の用紙サイズと、200、400、600dpi等の複数の解像度とに対応したものであってよい。単体のスキャナ装置、複合機(プリンタ、スキャナ、コピー機、ファクシミリ等の機能を併せ持つ装置)に内蔵されるスキャナ機構、ページ記述言語で記述された印刷データをラスター画像に変換する装置、等がその一例である。
データ利用装置20は、データ生成装置10が生成した画像データを利用する装置である。データ利用装置20が行う画像データの利用には、画像データの印刷、ファクシミリ回線を通じた送信、送信する電子メールへの添付、ネットワーク上のデータベースへの登録など様々な形態があり得る。データ利用装置20は、それら利用形態のうちの1以上で画像データを利用した処理を行う機構を有する。
データ生成装置10が生成した画像データは、あるデータ転送インターフェース規格(以下、転送規格と呼ぶ)に準拠した転送経路40を介してデータ利用装置20に転送される。データ生成装置10のコントローラ12に内蔵されたインターフェース回路(図示省略)と、データ利用装置20の転送I/F(インターフェース回路)34は、その転送規格に準拠した転送制御回路であり、前者から後者へ、転送経路40経由で、その転送規格に従って画像データが転送される。この転送規格では、指定されたフレームサイズ(画像の縦横の画素数)の画像データを、指定されたフレームレート(1秒あたりに転送するフレーム数)で繰り返し転送する。この転送規格でのフレームサイズは、データ生成装置10が生成する画像のサイズや解像度(例えば印刷業界で定められたもの)とは無関係に定められたものである。このような転送規格の一例として、例えばMIPI(例えばそのうちのCSI:Camera Serial Interface)を用いてもよい。
図1では、データ生成装置10がスキャナ装置として構成されている場合を例示している。このデータ生成装置10は、コントローラ12、スキャナ14、メモリ16を有する。
コントローラ12は、データ生成装置10の動作を制御する装置であり、例えばその制御のためのプログラムを実行するプロセッサを含んでいる。そのプログラムは、例えば図示省略したROM(リードオンリーメモリ)や不揮発性メモリに記憶されている。
スキャナ14は、原稿の面上の画像を光学的に読み取ることで、その画像を表す画像データを生成する。
メモリ16は、コントローラ12が制御プログラムの実行の際の作業領域として用いる一次記憶である。スキャンが行われる場合、メモリ16内にバッファ領域が確保され、スキャナ14が生成した画像データはそのバッファ領域に一時的に保持される。
またコントローラ12は、ページメモリ領域に保持された画像データを上述の転送規格に従ってデータ利用装置20側の転送I/F34に転送するインターフェース回路を備える。
データ利用装置20は、バスを介して相互接続されたCPU(中央演算装置)22、ROM24、メモリ26、転送I/F34、DMAC38を有している。
CPU22は、ROM24や図示省略した不揮発性メモリ等に記憶されている制御プログラムを実行することで、データ利用装置20の動作を制御する。ROM24には、制御プログラムが記憶されている。メモリ26は、CPU22が制御プログラムの実行の際の作業領域として用いる一次記憶である。CPU22は、データ生成装置10から画像データの転送を受ける場合、その画像データを記憶するのに必要なサイズを持つ画像データ領域28をメモリ26内に確保する。またこのときCPU22は、その転送のためにDMAC38が参照するディスクリプタテーブル32をメモリ26に書き込む。
転送I/F34は、上述の転送規格に従ったデータ転送を行う転送制御回路である。転送I/F34としては、例えば、MIPIのCSIに準拠した市販のインターフェースチップを用いればよい。
DMAC(Direct Memory Access Controller)38は、CPU22からの指示に従い、転送I/F34がデータ生成装置10の転送インターフェースから受信したデータを、メモリ26にDMA転送する。DMAC38は、ディスクリプタテーブル32を参照して、このDMA転送を行う。ディスクリプタテーブル32を参照してDMA転送を行う機能は、一般的なDMAC38が通常持っている機能である。したがって、DMAC38としてカスタム品を用意する必要はなく、通常の汎用品を用いればよい。
なお、転送I/F34とDMAC38との間に、ISP(イメージ・シグナル・プロセッサ)36を設けてもよい。ISP36は、転送I/F34が受信した画像データに対して、あらかじめ定められた画像処理を実行する。ISPを設ける場合、DMAC38は、ISP36による画像処理後の画像データを画像データ領域28に転送する。以下では、説明を完結するために、ISP36が含まれない装置構成を説明する。
さて、前述のようにデータ生成装置10が生成する画像データ(例えばA4原稿1ページの画像)のサイズと、データ生成装置10とデータ利用装置20との間の画像データの転送経路40の転送単位であるフレームのサイズとは、互いに独立に定められたものである。したがって、画像データ全体、あるいはその画像データをいくつかに分割した分割データが、フレームにぴったり収まる(すなわち画像データ又は分割データのサイズと、フレームのサイズが等しくなる)ことは、一般に期待できない。
例えば、データ生成装置10が原稿ページの画像を読み取るスキャナ装置であり、転送経路40がモバイル機器のカメラと制御システムとの間の画像の転送規格であるMIPI(例えばそのうちのCSI)に準拠したものである場合を考える。この場合、例えばA4サイズのページのスキャン画像(例えば600dpi程度の解像度)は、MIPIがサポートしているフレームサイズの1つであるフルHD(1920×1080)のフレームには収まらない。例えば、A4サイズの600dpiの画像データは、現状のMIPIの仕様でサポートしている8K(7680×4320)のフレームに収まらず、1200dpiの場合はなおさらである。そこで、A4ページのスキャン画像を複数に分割して複数のフレームで転送することを考える。デジタル印刷技術ではページの画像を分割する場合、その画像を副走査方向に均等幅の複数の帯状領域(バンドと呼ばれる)に分割することが一般的である。1バンドはmライン(主走査線)(mは正の整数)の幅を持つ(ただし、1ページの最終バンドは、余りの部分なのでライン数はm未満となる場合もある)。このようにバンドに含まれる画素数(ひいてはデータのバイト数)は1ラインの画素数×mであり、1バンドのライン数mを様々に調整したとしても、1ラインの画素数ごとにしか変化しないので、フレームのサイズにぴったり合わせることは一般的にできない。したがって、転送されるフレーム内には、どうしても画像データ以外の無効データが含まれることになる。また、バンドのライン数mは、データ利用装置20で画像データを用いるプログラム(例えば印刷制御プログラム)の都合により決まるので、ライン数mの選択肢は限られており、フレーム中の無効データが最小となるライン数mを選ぶことができるとは限らない。いずれにしても、転送されるフレーム内には、ある程度の量の無効データが含まれることになる。
転送I/F34がこのように無効データを含んだフレームをデータ生成装置10から受け取った場合、何の工夫もしなければ、DMAC38は、単純にそのフレームのデータをメモリ26に転送していくことになる。この単純な方式でのメモリ26への画像データの転送(書き込み)の様子を、本実施形態の方式に対する比較例として図2に示す。
図2の例では、1ページの画像データは、N個のバンドに分割されて転送される。各バンド1、2、・・・Nを転送する第1、第2、・・・第Nフレームには、それぞれ末尾に無効データが含まれる。転送I/F34は、このように無効データを含むフレームを受信する。DMAC38は、まず転送I/F34が受信した第1フレームのデータを、CPU22(転送されて来る画像データを受け取るプログラム)が確保した画像データ領域28の先頭のアドレスに対して、フレームサイズ分だけ転送する。次にDMAC38は転送I/F34が受信した第2フレームのデータを、画像データ領域28の第1フレームのデータの末尾の次のアドレスに対して転送する。同様の処理を、残りのフレームの分だけ繰り返す。これにより、画像データ領域28には、1ページ分の画像データが保持された状態となる。
この比較例の方式では、画像データ領域28には無効データも格納される。したがって、画像データ領域28として、1ページの画像データのデータサイズ(例えばRGBの各原色について1バイトのデータを割り当てる場合は、1ページの画素サイズ×3バイト)に、Nフレーム分の無効データのサイズを足した分のアドレス空間をメモリ26内に確保する必要がある。
また、この方式では、画像データ領域28内の個々のバンドの画像データは、間に無効データの領域を挟んだ飛び飛びのアドレスに格納される。このため、CPU22で実行されるその画像データを利用するプログラムは、各バンドの画像データがそのように飛び飛びのアドレスにあることを想定したものである必要がある。従来のカスタム品の転送インターフェースを用いる方式では、無効データを含まないバンドのみを転送することができたため、DMACは転送されて来る各バンドをメモリ上に単に連続アドレスで書き込んでいけば、メモリ上に1ページ分の連続した画像データが形成された。このため、プログラムも、単にその1ページの連続した画像データを扱えばよかった。これに対し、比較例の方式を採用した場合、このような従来のプログラムに対し、各バンドが飛び飛びのアドレスに格納されていることに対応する修正を加える必要がある。
なお、データ生成装置10のコントローラ12が、(例えばデジタル印刷分野でのバンド分割を取りやめて)各フレームに対して画像データを詰め込んで(この場合フレーム内に無効データは含まれない)転送を行えば、上述した無効データに起因する問題の大部分は解決される。しかし、従来からバンド分割を取りやめてまでそのような詰め込みを行うことには、コスト(バンド分割の取りやめ、画像データを新しい方法で分割すること)に見合うメリットがあまりない。これは、転送経路40(例えばMIPIインターフェース)の転送速度が、印刷やスキャン目的の画像データの転送にとって十分すぎるほど高速であるためである。
例えばMIPI CSIの場合、フルHDや4K等の高解像度の画像を、毎秒30フレーム程度の動画として転送することができる。A4サイズ600dpiの1ページの画像データは、4K解像度のフレームだと数フレーム程度のデータサイズである。したがって、4Kのフレームに画像データを一杯に詰めて、数フレームで転送することも考えられる。
その一方、データ利用装置20側の印刷機構は、A4サイズを1秒間に1ページ印刷できれば、非常に高速な部類に属する。したがって、A4サイズ600dpiの画像を1秒間に1ページ転送できれば、印刷目的には現状十分といえる。毎秒約30フレームのMIPIを用いれば、A4サイズ600dpiの画像を例えば30バンドに分けて1秒間30フレームで転送しても印刷に間に合う。
4Kのフレームに一杯に画像データを詰めて数フレームで1ページを転送すれば高速に転送できるように思える。しかし、その1ページの画像データの生成(例えばスキャン処理)にある程度の時間(例えば1秒程度)がかかるのであれば、1フレームのデータが生成されるのに待ちが生じ、数フレームで転送することによる高速さが打ち消されることになる。
その一方、4Kのフレームサイズに画像データを一杯に詰めて転送するには、転送元(コントローラ12)も転送先(転送I/F34)も4Kサイズを保持できるサイズのバッファ(ピンポンバッファ方式を用いる場合はその2倍のサイズ)を容易する必要がある。このことはインターフェース回路のコスト上昇を招く。
これに対して、フレーム内に無効データが含まれるのを前提としてしまえば、転送元及び転送先は1バンド分のバッファを用意すれば足り、このバッファのサイズは、例えば4Kサイズのフレームを保持するためのバッファに比べてかなり小さい。1フレームあたりの有効な転送データ(バンド)の量は少なくても、前述の通り十分高速なフレームレートで繰り返し転送すれば利用側(例えば印刷機構)の速度要件を満たせる。したがって、この目的では、従来のバンド分割をやめてフレームに一杯データを詰め込んで転送する方式よりも、フレームに無効データを含め、より多数回の転送で同じ量のデータを転送する方式の方が、転送に必要なバッファが少ないという点でメリットがある。
次に、本実施形態での、転送されて来るフレームのデータのメモリ26への転送の方式を、図3〜図5を参照して説明する。
本実施形態では、DMAC38は、転送I/F34が受信したフレームを、画像データ領域28内に書き込んだ前のフレームのバンドの次のアドレス(すなわち前のフレームの無効データ部分の先頭アドレス)から書き込む。
すなわち、まず、DMAC38は、画像データ領域28の先頭アドレスPSに対して、ページの最初のバンド(バンド1)を含んだ第1フレームを転送する。図3はこの時点の状態を示す。次に、DMAC38は、第2フレームを、画像データ領域28内の、第1フレームのバンド1を書き込んだ領域の次のアドレス(PS+Bd)から第2フレームのデータを書き込む。この場合、画像データ領域28内の第1フレームの無効データは、第2フレームのバンド2によって上書きされることになる。図4はこのときの状態を示す。
DMAC38は、第3フレーム以降も同様のDMA転送を繰り返す。この結果、1ページの最後のバンドNを転送する第NフレームのDMA転送が完了した時点では、画像データ領域28内は、図5に示すように、バンド1、2、・・・、Nが連続して並んだ後に、第Nフレームの無効データが並んだ状態となる。
このように連続したアドレスで並んだバンド1〜Nのデータは、バンド分割する前の1ページの画像データと等しい。画像データ領域28の各バンドのデータの間には無効データが挟まれていないので、画像データ領域28内の画像データを扱うプログラムは、無効データの介在を想定する必要なく、単にその画像データ領域28の先頭から画像データサイズ分のデータを、処理対象の画像データとして扱えばよい。
またこの方式では、画像データ領域28は、バンド分割前の元の画像データのサイズに、最後のバンドのサイズとフレームサイズの差のサイズ(すなわち最後の無効データのサイズ)を足したサイズで足りる。このサイズは、すべてのフレームの無効データを格納する比較例(図2)の画像データ領域よりも小さくてよい。
次に図6を参照して、CPU22が実行する、画像データの転送を受けるプログラムの処理手順の一例を説明する。このプログラムをCPU22が実行することで実現される処理装置を、以下の手順の説明では「システム」と呼ぶ。
この手順では、まずシステムは、転送される1ページの画像データのサイズ、バンドサイズ、フレームサイズ等を含んだ転送条件の情報を取得する(S10)。画像データのサイズは、データ生成装置10から取得すればよい。バンドサイズは、システム自身が決定してもよいし、システムにデータ転送管理を依頼したアプリケーション(例えば転送された画像データを利用する印刷制御プログラム等)が決定してもよい。この決定においてデータ生成装置10とネゴシエーションを行ってもよい。またフレームサイズは、システムが起動した転送I/F34がデータ生成装置10のコントローラ12の転送インターフェースとネゴシエーションすることにより決定し、システムはこの決定されたフレームサイズを取得する。1つの例では、画像データを利用するアプリケーションの要求に従ってバンドサイズを決めてから、そのバンドサイズを収容可能なフレームサイズの選択肢の中から、ネゴシエーションによって使用するフレームサイズを決定する。また別の例として、フレームサイズを先に決定し、そのフレームサイズに収まるバンドサイズの選択肢の中から、システム又はアプリケーションが使用するバンドサイズを選択してもよい。
なお、1ページの最後のバンドのサイズは他のバンドのサイズより小さい場合があるが、システムは、この最終バンドのサイズを取得してもよいし、画像データのサイズとバンドサイズから最終バンドのサイズを計算してもよい。また、システムは、1ページを構成するバンド数Nを計算してもよいし、バンドサイズを決定したアプリケーション等から取得してもよい。
次にシステムは、メモリ26のアドレス空間内に、画像データ領域28を確保する(S12)。このとき確保する画像データ領域28のサイズは、S10で取得した画像データのサイズに対して、最終(第N)バンドのサイズとフレームサイズとの差分(すなわち第Nフレームの無効データのサイズ)を足したサイズである。
次にシステムは、DMA転送のためのディスクリプタテーブル32を作成する(S14)。このときシステムが作成するディスクリプタテーブル32のデータ内容の例を図7に示す。
図7の例では、1ページ分の転送の最初のディスクリプタには、転送先として画像データ領域28の先頭アドレスPSが設定され、転送サイズとしてフレームのサイズFrが設定される。これに続く2番目のディスクリプタには、転送先として画像データ領域28の先頭アドレスPSに1バンド分のサイズを足した(PS+Bd)が設定され、転送サイズにはフレームのサイズFrが設定される。3番目からN番目のフレームについても、同様に、転送先が前のフレームのバンドの領域の次のアドレス、転送サイズがFrに設定される。
図6の手順の説明に戻ると、ディスクリプタテーブル32の作成が完了すると、システムは、ディスクリプタテーブル32のアドレスをDMAC38に渡して、DMA転送の開始を指示する(S16)。この指示を受けたDMAC38は、ディスクリプタテーブル32に従って、転送I/F34が受信したフレームのデータをメモリ26に転送していく。
すなわち、DMAC38は、転送I/F34が受信しはじめたデータを、まずディスクリプタテーブル32の最初のディスクリプタ(左上)に従って、画像データ領域28の先頭アドレスPSへと転送する。1フレームのサイズFr分のデータ転送が完了すると、2番目のディスクリプタに従って、転送I/F34が続いて受信する2番目のフレームのデータを、画像データ領域28内のバンド1の次のアドレスPS+Bdに転送する。2フレームの転送が完了すると、3番目のディスクリプタ(図示省略)に従って、転送I/F34が続いて受信する3番目のフレームのデータを、画像データ領域28内のバンド2の次のアドレスPS+2Bdに転送する。同様の処理を、1ページの最後のバンドを含むフレーム(第Nフレーム)をメモリ26に転送し終わるまで繰り返す。最後の第Nフレームは、画像データ領域28内のアドレスPS+(N−1)dに転送される。
DMAC38は、ディスクリプタテーブル32に規定されたデータ転送が終了すると、システムに対して終了割り込みを行う。システムは、DMAC38から終了割り込みが来るのを待ち(S18)、終了割り込みが来ると、図6に示した処理を終了する。
以上に説明した実施形態はあくまで一例に過ぎず、本発明の範囲内で様々な変形が可能である。
例えば、上記実施形態では、1ページの最終バンドを転送するフレーム(最終フレームと呼ぶ)内の無効データをメモリ26内の画像データ領域28に書き込んだが、これは一例に過ぎない。この代わりに、バスにSRAM(Static RAM)、FIFO(First In, First Out)回路、その他の擬似的にデータを受け取る受取回路が接続されていれば、最終フレームの無効データをそれらSRAM等にDMA転送してもよい。例えばメモリマップドI/O(入出力)方式を用いている場合、システムは、その無効データの転送処理を規定するディスクリプタに、転送先としてSRAM等の回路に割り当てられたアドレスを設定すればよい。SRAM、FIFO回路等は、メモリ26よりも一般に応答が速いので、DMAC38からの無効データの出力も、メモリ26上の無効データ領域30に書き込むより早く終わる。
図8は、この方式において、システムが作成するディスクリプタテーブル32の例である。図8に例示したディスクリプタテーブルのうち1番目から(N−1)番目までのディスクリプタは、図7に示した実施形態のディスクリプタテーブルと同じである。図8の例のN番目のディスクリプタは、転送サイズだけが図7の例のN番目のディスクリプタと異なる。すなわち、図7の例では、転送サイズがフレームサイズFrであるのに対し、図8の例では、転送サイズは最終(第N)フレームに含まれるバンドのサイズBdeである。また図8の例では、N番目のディスクリプタの次にもう1つディスクリプタがある。この最後のディスクリプタは、最後のフレーム内の無効データの転送を規定するものである。このディスクリプタには、転送先アドレスには、無効データを受け取る受取回路(SRAM等)に割り当てられたアドレスが設定され、転送サイズにはその無効データのサイズが設定されている。
10 データ生成装置、12 コントローラ、14 スキャナ、16 メモリ、20 データ利用装置、22 CPU、24 ROM、26 メモリ、28 画像データ領域、32 ディスクリプタテーブル、34 転送I/F、36 ISP、38 DMAC、40 転送経路。

Claims (3)

  1. コンピュータを、
    転送対象の全体データを複数に分割した分割データのサイズと、前記分割データを含んで転送元から順次転送されて来る転送単位のサイズと、の情報を取得する取得手段、
    前記転送元から順次転送されて来る転送単位をメモリ内の設定されたアドレスに出力する出力手段に対して、転送単位の出力先とする前記メモリ内のアドレスを、その転送単位の前に転送されてきた転送単位内の前記分割データ以外の無効データ部分の前記メモリ内での先頭アドレスに設定する設定手段、
    として機能させるためのプログラム。
  2. 前記設定手段は、前記全体データのうちの最後の前記分割データを含む転送単位については、その分割データの出力先を、その転送単位の前に転送されてきた転送単位内の前記無効データ部分の前記メモリ内での先頭アドレスに設定すると共に、その転送単位内の前記無効データ部分の出力先を無効データ受入回路のアドレスに設定する、ことを特徴とする請求項1に記載のプログラム。
  3. 転送対象の全体データを複数に分割した分割データのサイズと、前記分割データを含んで転送元から順次転送されて来る転送単位のサイズと、の情報を取得する取得手段と、
    前記転送元から順次転送されて来る転送単位をメモリ内の設定されたアドレスに出力する出力手段に対して、転送単位の出力先とする前記メモリ内のアドレスを、その転送単位の前に転送されてきた転送単位内の前記分割データ以外の無効データ部分の前記メモリ内での先頭アドレスに設定する設定手段と、
    を含む情報処理装置。

JP2016183150A 2016-09-20 2016-09-20 プログラム及び情報処理装置 Pending JP2018049363A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016183150A JP2018049363A (ja) 2016-09-20 2016-09-20 プログラム及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016183150A JP2018049363A (ja) 2016-09-20 2016-09-20 プログラム及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2018049363A true JP2018049363A (ja) 2018-03-29

Family

ID=61767625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016183150A Pending JP2018049363A (ja) 2016-09-20 2016-09-20 プログラム及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2018049363A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422765A (zh) * 2019-08-20 2021-02-26 富士施乐株式会社 图像处理装置
JP7019879B1 (ja) * 2021-05-27 2022-02-15 三菱電機株式会社 情報ビット列分配装置、情報ビット列変換回路、情報ビット列分配方法、情報ビット列復号装置、情報ビット列逆変換回路及び光通信システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422765A (zh) * 2019-08-20 2021-02-26 富士施乐株式会社 图像处理装置
JP7019879B1 (ja) * 2021-05-27 2022-02-15 三菱電機株式会社 情報ビット列分配装置、情報ビット列変換回路、情報ビット列分配方法、情報ビット列復号装置、情報ビット列逆変換回路及び光通信システム
WO2022249382A1 (ja) * 2021-05-27 2022-12-01 三菱電機株式会社 情報ビット列分配装置、情報ビット列変換回路、情報ビット列分配方法、情報ビット列復号装置、情報ビット列逆変換回路及び光通信システム

Similar Documents

Publication Publication Date Title
JP6736881B2 (ja) 画像処理装置、画像形成装置、画像処理方法及びプログラム
US9531911B2 (en) Data processing apparatus, data processing method and storage medium for storing image data
JP2010282429A (ja) 画像処理装置及びその制御方法
US9569703B2 (en) Data transfer apparatus and method thereof
US20170294176A1 (en) Image processing apparatus, image processing method, and storage medium
JP2018049363A (ja) プログラム及び情報処理装置
JP6904697B2 (ja) 情報処理装置及び通信制御方法
US20180357751A1 (en) Electronic apparatus and non-transitory computer readable medium storing program
JP2018049362A (ja) プログラム及び情報処理装置
JP6463437B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
US11093150B2 (en) Image processing apparatus
JP5567790B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
US20120206737A1 (en) Image forming apparatus and image forming method for correcting registration deviation
JP7194009B2 (ja) データ処理装置および方法
US10853005B2 (en) Image processing apparatus and image processing method
JP6833491B2 (ja) 情報処理装置
JP2008282135A (ja) 画像処理装置、画像読取り装置、画像形成装置および画像処理方法
JP6225202B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP2013098627A (ja) 画像処理制御回路、画像処理装置及び画像処理制御方法
JP5885780B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP5671635B2 (ja) 画像処理装置及びその制御方法
JP3785295B2 (ja) 画像処理装置
JP2019165351A (ja) 処理装置及び電子機器
JP2022049520A (ja) データ転送装置、複合機、データ転送装置の制御方法およびプログラム
JP2006092506A (ja) 画像処理装置