JP4148680B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP4148680B2 JP4148680B2 JP2001396251A JP2001396251A JP4148680B2 JP 4148680 B2 JP4148680 B2 JP 4148680B2 JP 2001396251 A JP2001396251 A JP 2001396251A JP 2001396251 A JP2001396251 A JP 2001396251A JP 4148680 B2 JP4148680 B2 JP 4148680B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- transfer
- data
- memory
- descriptor
- 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
Links
Images
Landscapes
- Image Input (AREA)
- Storing Facsimile Image Data (AREA)
Description
【発明の属する技術分野】
本発明は、ディジタル複写機、ファクシミリ、プリンタ、イメージスキャナ、ネットワークファイルサーバ等の画像入出力機器、又はこれらのうちの複数の機能を備えたデジタル複合機等の画像処理装置に関し、入出力デジタル画像を扱う、主に作業用として装備される比較的小容量の画像記憶部(半導体メモリ)とこの記憶部と相互にデータ転送を可能にしたハードディスクドライブ(HDD)等の大容量の記憶装置(画像データ保存用)との間で行われるデータ転送の制御技術に関する。
【0002】
【従来の技術】
近年、複写機のデジタル化が進むと共に画像メモリを応用した、加工、編集が盛んとなってきている。その中で、読取った原稿複数枚分の画像データを画像メモリ(通常、半導体メモリが用いられている)に記憶することで、指定部数まとめてコピー出力し、仕分けの作業をなくす電子ソートという機能がある。全原稿の画像データを保持するため、そのままの画像データを半導体メモリに蓄積するには読取った原稿枚数分のデータ量に相当するメモリが必要になり、メモリコストが膨大になるという理由から、下記1.〜3.の方式が一般的に用いられる。
1. 半導体メモリ+蓄積(保存)用メモリの構成とし、蓄積用メモリとして半導体メモリより安価なハードディスク等の二次記憶装置を使用する。
2. 半導体メモリ+蓄積用メモリの構成とし、蓄積用メモリとして半導体メモリを使用し、圧縮処理を用いて画像データを圧縮し、1枚あたりのデータ量を減らすことでトータルのメモリ量を減らす。
3. デジタル複合機では、複数の画像入出力手段(イメージスキャナ、プリンタコントローラ、ファイルサーバ、FAXコントローラ等)が同一の画像メモリを共有する。
【0003】
上記のような各種の画像メモリ(記憶手段)に対し、画像データの入出力を実行するためにはDMA(Direct Memory Access)データ転送方式を用いたメモリ制御コントローラ(以下「DMAコントローラ」或いは[DMAC」と記す)が使用されることが多い。DMAコントローラは、ディスクリプタと呼ばれるメモリ領域管理情報を基に画像メモリの特定の領域に対してデータの転送を行う。1画像が格納されるメモリ領域を複数のディスクリプタに分割してデータ転送を行うことも可能であり、例えば、画像メモリをリングバッファの形態で利用することにより、画像データの容量よりも少ないメモリ容量で画像データの入出力を行うことも可能にしている。
DMAコントローラを用いたメモリ制御では、各ディスクリプタにより指定されたデータ転送の進行状況(開始、終了)や、データ転送の実行タイミング制御(画像メモリ領域の途中でデータ転送を中断したり、再開する等)も可能であるため、DMAコントローラに接続された一次記憶部としての半導体メモリや、大容量の二次記憶装置のデータ転送のタイミング制御の自由度が高く、応用範囲が広い。
上述のように蓄積(保存用)メモリとして半導体メモリより安価なハードディスク等の二次記憶装置を使用する場合、この種の記憶装置では、通常単一の装置に対して複数のデータ転送(データ書込み、読み出し動作)を行うことはできないため、DMAコントローラのディスクリプタを用いて二次記憶装置へのデータ転送単位を分割し、これを時分割に実行することで、複数のデータ転送動作をあたかも並行して実行しているようにすることが一般的である。
【0004】
しかしながら、このような時分割処理を用いる場合、データ転送に要する時間が短くなることはないため、複写機やプリンタ等の画像形成装置のように画像データの入出力に要する時間を最短にすることが装置の生産性に影響を及ぼす場合には、時分割処理を行うことが逆に生産性の低下を招くところもある。
このようなことから、画像データを圧縮し、データ転送量を小さくしたり、データ転送速度の速い二次記憶装置を搭載して、二次記憶装置へのデータ転送に要する時間を短くするような構成を採っていた。また、従来では、メモリ制御の簡素化を図る理由からも積極的に時分割転送を行わずに、画像入出力手段を用いて行われる画像データ入出力動作と略同期して二次記憶装置をリソースとして占有してデータ転送を行う手段を用いていた。
ところで、従来用いられていた二次記憶装置は、画像入出力手段から半導体メモリへの画像データ転送速度に比較して、半導体メモリの画像データを二次記憶装置へ転送する速度が遅く、画像データの圧縮を行って二次記憶装置のデータ処理容量を小さくしても、画像入出力手段−半導体メモリ間のデータ処理速度との差がなかったために、半導体メモリへの転送(データ圧縮等のデータ変換処理も含む)と、二次記憶装置へのデータ転送処理の転送タイミングの制御を独立にかつ最適に制御することによる画像形成装置の生産性の向上度はあまり高くなかった。
【0005】
【発明が解決しようとする課題】
しかしながら、最近の技術の進歩に伴い、ハードディスク等の二次記憶装置のデータ転送速度の向上やデータ圧縮手段のデータ圧縮率および処理速度の向上が著しく、さらに画像形成装置に接続する画像入出力手段も多様を極めている状況では、従来のようなメモリ制御では記憶装置やデータ圧縮手段の能力を最大限に利用して生産性を確保することが難しくなっている。
本発明は、このような従来技術の状況に鑑みてなされたもので、その目的は、入出力画像を扱う、主に作業用に用いる一次記憶部(例えば半導体メモリ)とこの記憶部と相互にデータ転送を可能にした圧縮データ保存用(大容量)の二次記憶装置(例えばHDD)を装備する記憶部に、DMAを用いたメモリ制御方式を適用し、記憶装置の処理能力に応じて最大の利用効率を得るためのリソースの取得、開放を管理し、データ転送動作の開始タイミングを制御することにより記憶領域の利用率の向上、転送時間の短縮化を可能にした転送制御手段を備え、高い生産性の確保を図ることが可能な画像処理装置を提供することにある。
【0006】
また、上記目的の下に、一次記憶部及び二次記憶装置の相互間で行われるデータ転送において、発生する転送要求が単一であるか、複数であるかによって、それぞれに適応した効率の良い転送を行うための制御を可能にすることを解決すべき課題としている。
【0007】
【課題を解決するための手段】
請求項1の発明は、入出力画像を記憶する一次記憶手段と、二次記憶手段と、一次記憶手段及び二次記憶手段の相互間において、圧縮された一画像分の画像データを一括転送するか、若しくは、一画像分の画像データを分割し、分割転送するか、いずれかの動作で転送を行うように制御する転送制御手段を有する画像処理装置であって、前記転送制御手段は、単一の転送要求を受信した際に、圧縮された一画像分の画像データの領域を前記一次記憶手段にバッファ領域として確保し、一括転送を行い、一括転送中に他の新たな転送要求を受信した場合は、所定量の領域を前記一次記憶手段にバッファ領域として確保し、分割転送に切替え、一括転送中に他の新たな転送要求を受信しなかった場合は、一括転送を継続することを特徴とする。
【0011】
【発明の実施の形態】
本発明の画像処理装置を添付する図面を参照して示す以下の実施例に基づき説明する。
図1は、本発明の画像処理装置をデジタル複写機に実施した例を示す概略構成図である。図1を参照して、読み取り部20の読み取りプロセス、像形成部30の像形成プロセスを説明する。
読み取りプロセスでは、原稿を原稿台21に沿って可動な露光ランプ22によってスキャン露光し、その反射光をCCD(イメージセンサー)23によって光電変換を行い、光の強弱に応じた電気信号とする。IPU(イメージプロセッシングユニット)24により、その電気信号をシェーディング補正等の処理を行いA/D変換し、8ビットのデジタル信号とし、さらに変倍処理、MTF補正、空間フィルタ処理、γ補正処理、ディザ処理等の画像処理を行い、画像同期信号と共に画像信号を像形成部30に送る。
図2は、原稿台を上方から見た図である。同図中の走査方向に示すように、CCD23により主走査、スキャナーの移動により副走査が行われ原稿をラスタ形式で読み取る。スキャナー制御部25は、上記読み取りプロセスを実行するために、各種センサーの検知、スキャン駆動モータ等の制御を行い、また、IPU24に各種パラメータの設定を行う。
【0012】
像形成プロセスでは、帯電チャージャ32によって一様に帯電された一定回転する感光体33を、書込部31からの画像データによって変調されたレーザー光により露光する。感光体33には静電潜像ができ、それを現像装置34によりトナーで現像することにより顕像化したトナー像となる。あらかじめ給紙コロ15によって給紙トレイ16より給紙搬送されレジストローラ14で待機していた転写紙を、感光体33とタイミングを図って搬送し、転写チャージャ35によって感光体33上のトナーを転写紙に静電転写し、分離チャージャー36によって転写紙を感光体33より分離する。その後、転写紙上のトナー像を定着装置13により加熱定着し、排紙ローラ12により排紙トレイ11に排紙する。一方、静電転写後の感光体33に残留したトナー像は、クリーニング装置37が感光体33に圧接、除去し、感光体33は除電チャージャ38により除電される。プロッタ制御部39は以上のプロセスを実行するために、各種センサーの検知、駆動モータ等の制御を行う。
【0013】
ここで、読み取り部20のIPU24より出力される画像同期信号の様子を示す図3を参照して、各画像同期信号とその関係を説明する。
フレームゲート信号(/FGATE)は副走査方向の画像エリアに対しての画像有効範囲を表す信号でこの信号がローレベル(ローアクティブ)の間の画像データが有効とされる。また、この/FGATEは、ライン同期信号(/LSYNC)の立ち下がりエッジでアサート、あるいはネゲートされる。
/LSYNCは、画素同期信号(PCLK)の立ち上がりエッジで所定クロック数(この例では、8CLK)だけアサートされ、この信号の立ち上がり後、所定クロック数(この例では、8CLK)後に、主走査方向の画像データが有効とされる。送られてくる画像データは、PCLKの1周期に対して1つであり、図2の矢印部分より400DPI相当に分割されたものである。画像データは矢印部分を先頭にラスタ形式のデータとして送出される。また、画像データの副走査有効範囲は、通常、転写紙サイズによって決まる。
【0014】
システム制御部1は、複写機全体を制御するためのシステムを構成し、オペレータによる操作部7への入力状態を検知し、読み取り部20、記憶部4、像形成部30、FAX部9への各種パラメータの設定、プロセス実行指示等を、通信にて行う。
また、システム全体の状態を操作部7にて表示する。システム制御部1への指示はオペレータの操作部7へのキー入力にてなされる。
FAX部9は、システム制御部1からの指示により、送られてきた画像データをG3、G4FAXのデータ転送規定に基づき2値圧縮を行い、電話回線へ転送する。また、電話回線よりFAX部9に転送されたデータは復元されて2値の画像データとされ、像形成部30の書込部31へ送られ顕像化される。
セレクタ部5は、システム制御部1からの指示により、セレクタの状態を変化させ、像形成を行う画像データのソースを読み取り部20、記憶部4、FAX部9の何れかより選択する。
記憶部4は、通常はIPU24から入力される原稿の画像データを記憶することで、リピートコピー、回転コピー等の複写アプリケーションに使用される。また、FAX部9からの2値画像データを一時記憶させるバッファメモリとしても使用する。これらデータ記憶の指示は、システム制御部1によってなされる。
【0015】
記憶部4について、その構成をブロック図にて示す図4を参照して、詳細に説明する。以下に、図4に示す各ブロック毎にその機能説明を行う。
<メモリ制御部43>
メモリ制御部43はCPU及びロジックで構成され、システム制御部1と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、記憶部4の状態を知らせるためステータス情報をシステム制御部1に送信する。
システム制御部1からの動作コマンドには、画像入力、画像出力、圧縮、伸長等があり、画像入力、画像出力のコマンドは、画像入出力DMAC41(後述)に、圧縮関連のコマンドは画像転送DMAC44(後述)、符号転送DMAC45(後述)、圧縮伸長器46(後述)に送信される。
<画像入出力DMAC41>
画像入出力DMAC41は、CPU及びロジックで構成され、メモリ制御部43(後述)と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、画像入出力DMAC41の状態を知らせるためのステータス情報をメモリ制御部43に送信する。画像入力のコマンドを受けた場合、入力画像データを入力画像同期信号に従って8画素単位のメモリデータとしてパッキングして、メモリ制御部43にメモリアクセス信号と共に随時出力する。画像出力のコマンドを受けた場合、メモリ制御部43からの画像データを出力画像同期信号に同期させて出力する。
<画像メモリ42>
画像メモリ42は画像データを記憶するところで、DRAM等の半導体記憶素子で構成され、メモリ量の合計は、例えば、600DPI、2値画像データのA3サイズ、2面分の18Mバイトと、データ圧縮用メモリ9Mバイトの合計27MBとしている。メモリ制御部43から読み出し、書込の制御を行なう。
【0016】
<画像転送DMAC44>
画像転送DMAC44はCPU及びロジックで構成され、メモリ制御部43と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、画像転送DMAC44の状態を知らせるためのステータス情報をメモリ制御部43に送信する。圧縮のコマンドを受けた場合、メモリ制御部43にメモリアクセス要求信号を出力し、メモリアクセス許可信号がアクティブの場合に画像データを受け取って圧縮伸長器46(後述)に転送する。また、メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵し、変換された画像データが一時格納される格納場所を示す22ビットのメモリアドレスを出力する。
<符号転送DMAC45>
符号転送DMAC45はCPU及びロジックで構成され、メモリ制御部43と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、符号転送DMAC45の状態を知らせるためステータス情報をメモリ制御部43に送信する。伸長のコマンドを受けた場合、メモリ制御部43にメモリアクセス要求信号を出力し、メモリアクセス許可信号がアクティブの場合に画像データを受け取って圧縮伸長器46(後述)に転送する。また、メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵し、変換された画像データが一時格納される格納場所を示す22ビットのメモリアドレスを出力する。なお、DMACのディスクリプタアクセス動作については後述する。
<圧縮伸長器46>
CPU及びロジックで構成され、メモリ制御部43と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、圧縮伸長器46の状態を知らせるためステータス情報をメモリ制御部43に送信する。2値データをMH(Modified Huffman)符号化方法にて処理する。
<HDDコントローラ47>
CPU及びロジックで構成され、メモリ制御部43と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、HDDコントローラ47の状態を知らせるためステータス情報をメモリ制御部43に送信する。HDD48のステータス情報のリード、データ転送を行なう。
このHDDコントローラ47は、ディスクリプタ方式を用い、圧縮変換後の符号データをHDD48へ送信することもできる。
<HDD48>
二次記憶装置でハードディスクである。このHDDは、圧縮変換された符号データ(画像メモリ42内の変換データを格納するバッファ領域から転送される)を保存するための大容量記憶装置であり、HDDコントローラ47からの指示により、符号(画像)データを内部のハードディスク(HD)に書き込んで保存させる動作と、保存した符号データを読み出してHDDコントローラ47へ送出する動作とを行う。
【0017】
記憶部4が構成要素とするメモリ制御部43の内部構成をブロック図にて示す図5を参照して、詳細に説明する。以下に、図5に示す各ブロック毎にその機能説明を行う。
<入出力画像アドレスカウンタ435>
画像入出力DMAC41からの入出力メモリアクセス要求信号に応じてカウントアップするアドレスカウンタで、入出力画像データが格納される格納場所を示す22ビットのメモリアドレスを出力する。メモリアクセス開始時にアドレスはいったん初期化される。
<転送画像アドレスカウンタ437>
転送メモリアクセス許可信号に応じてカウントアップするアドレスカウンタで、転送画像データが一時格納される格納場所を示す22ビットのメモリアドレスを出力する。メモリアクセス開始時にいったんアドレスは初期化される。
<ライン設定部431>
画像入力時のバッファとして画像(半導体)メモリ42を使用する場合、差分比較部432(後述)で差分算出部430(後述)から出力された入力処理ラインと転送ラインの差分結果と比較する値を設定する。システム制御部1から任意の値が設定される。
<差分算出部430>
画像入力時には、圧縮伸張器46が出力する転送処理ライン数から画像入出力部が出力する入出力処理ライン数を減算し、結果を差分比較部432に出力する。
<差分比較部432>
画像入力時には、差分算出部430が出力する差分ライン数と、ライン設定部が出力する設定値とを大小比較し、差分ライン数=設定値となったならばエラー信号を出力し、また、差分ライン数が0となったならばアービタ434(後述)に出力する比較結果の転送要求マスク信号をアクティブとする。それ以外、または入出力画像が動作中でない状態では、アクティブを出力しない。
【0018】
<アドレスセレクタ436>
アービタ434により選択されるセレクタで、入出力画像または転送画像のアドレスのどちらが選択される。
<アービタ434>
画像入出力DMAC41、画像転送DMAC44、符号転送DMAC45からのメモリアクセス要求信号を調停し、アクセス許可信号を出力する。リフレッシュ制御回路を内蔵し、優先順位はリフレッシュ、画像入出力DMAC、画像転送DMAC、符号転送DMACの順で、メモリアクセスが非アクティブの条件で許可先にはメモリアクセス許可信号をアクティブ出力する。また、許可信号を出力すると共に画像メモリ42のアドレスをセレクトし、アクセス制御回路438(後述)にメモリアクセスのスタートを示すトリガ信号を出力する。
<要求マスク433>
差分比較部432からの比較結果にて圧縮伸張部46のアクセスのための転送メモリアクセス要求信号をマスク(ディスイネーブル状態とすること)し、転送処理を停止させる。
<アクセス制御回路438>
入力される物理アドレスをアクセス制御回路438からの信号により半導体メモリであるDRAMに対応したロウアドレス、カラムアドレスに分割し11ビットのアドレスバスに出力する。また、アービタ434からのアクセス開始信号に従い、DRAM制御信号(RAS、CAS、WE)を出力する。
【0019】
記憶部4全体の動作としては、画像入力、及びデータ蓄積に際しては、システム制御部1からの画像入力指示により、メモリ制御部43は初期化され、画像データの待ち状態となり、読み取り部20のスキャナが動作することにより記憶部4に画像データが入力される。入力された画像データは一旦画像(半導体)メモリ42に書き込まれる。また、書き込まれた画像データの処理ライン数は画像入出力DMAC41で計数され、メモリ制御部43へと入力される。圧縮伸長器46は、画像転送のコマンドを受けて転送メモリアクセス要求信号を出力しているが、メモリ制御部43の要求マスク部433により要求信号がマスクされ、実際のメモリアクセスは行われていない。画像入出力部からの入力データが1ライン終了することで、転送メモリアクセス要求信号のマスクが解除され、半導体メモリ42の読み出しが行われ画像データの圧縮伸張器46への転送動作が開始される。また、動作中も差分算出部430で2つの処理ライン数の差を算出し、0となればアドレスの追い越しがない様に転送メモリアクセス要求信号にマスクをかけている。以上の動作により、画像メモリ42に対する書き込み・読み出しに応じた転送制御が行われる。
【0020】
ここで、画像(ビデオ)入力DMAC41の画像(半導体)メモリ42に対するディスクリプタアクセス動作、及びデータ転送動作を説明する。
図6は、ディスクリプタの形式とディスクリプタによる転送動作を説明するための模式図である。図6を参照すると、図中の画像データは、バンド1〜4の4つのバンドに分割されており、各バンドで設定されているライン数の画像データを各々のディスクリプタ1〜4の指示に従って転送する。
1画像中の総転送ライン数を加算する手順を説明すると、まず、ビデオ入力DMAC41が転送コマンドを受けるとDMAが起動し、あらかじめ内部のディスクリプタ格納レジスタにCPUによって設定されたチェーン先アドレス(a)にディスクリプタ1をリードアクセスし、半導体メモリ42中のディスクリプタ1の内容をディスクリプタ格納レジスタにロードする。そのロードされた内容には、4ワードで構成されており、次のディスクリプタの格納アドレスを示すチェーン先アドレス、転送するデータの先頭アドレスを示すデータ格納先アドレス、転送するデータのデータ量をライン数で示すデータ転送ライン数、及び設定されたライン数転送が終了した場合、CPU割り込みを発生するか否かのフォーマット情報がある。フォーマット情報の最下位ビットには、設定されたライン数転送終了の場合にCPU割り込みを発生させるかさせないかを表わすビットが配置されている。“1”でCPU割り込みを発生、“0”でCPU割り込みをマスクする。
図6の例では、1画像を4つのバンドに分割して、4つのディスクリプタのこのフォーマット情報の最下位ビットには1から4まで順に、“1、1、1、1”となっている。各バンドの画像データ転送が終了するとCPU割り込みが発生し、その割り込み発生により、各ディスクリプタに設定されているライン数を加算することにより転送終了タイミング、及びライン数を検出しながら一次記憶手段としての画像メモリ42に画像の転送を行う。なお、一次記憶部としての画像メモリ42は、画像(ビデオ)入力DMAC41により転送される入力画像のバッファ領域の外に、下記のように、符号転送DMAC46により圧縮伸長器46を通して転送されるデータ圧縮された変換データの格納領域としても用いる。
【0021】
上記のようにして、画像(ビデオ)入力DMAC41により入力画像を一旦一次記憶部としての画像(半導体)メモリ42に格納した後、この画像は、二次記憶装置としてのHDD48に蓄積するために転送される。本実施例では、入力画像に対して圧縮処理を施し、圧縮後のデータを二次記憶装置に保存する。そのために、画像メモリ42に保持されている入力画像を画像転送DMAC44に設定したディスクリプタにより(既知の1画像分のデータ転送ライン数を設定して1ディスクリプタで)圧縮伸長器46に送り込み、そこで圧縮処理が施される。圧縮処理された後の符号化された変換データ(中間画像データ)は、符号転送DMAC45に設定したディスクリプタにより画像メモリ42に設けた変換データを格納するバッファ領域に転送する。圧縮変換後のデータについては、符号転送DMAC45でカウントした符号量により認識することができる。
この後、画像メモリ42に設けた圧縮変換データを格納するために確保したバッファ領域に転送されたデータは、HDDコントローラ47がメモリ制御部43と通信を行ってコマンドを受信し、バッファ領域からさらにHDD48へ転送し、データをそこに保存する。
このとき、画像メモリ42に確保したバッファメモリに圧縮後転送されたデータ量によりHDD48の記憶領域の確保を行う。
【0022】
次に、画像入力からHDD48へ保存するまでの上記した一連のデータ転送動作を制御する手段に係わる実施例を詳細に説明する。
先ず、一次記憶部への転送に係わる実施例について説明する。
一次記憶部への転送は、二次記憶装置であるHDD48に蓄積する前に行われる圧縮処理によりデータ変換された画像データを一時的に保持するために確保したバッファ領域への転送である。確保するバッファ領域のサイズは、基本的には任意に設定することが可能で、例えば、1画像分の領域を取得し、HDD48に確保された連続領域に対して連続転送することも可能であるし、分割転送するための領域を取得し、HDD48に確保された分断領域に対して転送することも可能である。
こうした一次記憶部(画像メモリ42)の記憶領域の取得および開放を管理するために、以下に示す「画像IDテーブル」「ディスクリプタテーブル」「ブロックテーブル」の3つの管理テーブルを用いる。
まず、「画像IDテーブル」について説明する。
図7は、メモリ制御部43によって画像メモリ42の記憶領域の取得および解放を行うために必要な画像IDテーブルの構成例を示すメモリマップ図である。
この画像IDテーブルは、0〜nからなるテーブルIDの下に、1テーブルを画像IDと、開始ディスクリプタテーブルIDとによって構成する。
画像IDは、画像メモリ(一次記憶部)42,HDD(二次記憶装置)48でユニーク(特有)なID(識別情報)であり、各記憶部の異なる画像データで重複したIDが存在してはならない。また、画像IDは、0(NULL)を画像IDテーブル上の初期状態とするために、システム予約IDとして使用できないものとする。
開始ディスクリプタテーブルIDは、最初に取得したディスクリプタテーブルのIDを示す。画像IDテーブルの初期状態は、画像IDをNULLに、開始ディスクリプタテーブルIDをEOD(End Of Discriptor)にしておく。
【0023】
次に、「ディスクリプタテーブル」について説明する。
図8は、メモリ制御部43によって画像メモリ42の記憶領域の取得,解放を行うために必要なディスクリプタテーブルの構成例を示すメモリマップ図である。
このディスクリプタテーブルは、“0〜n”からなるテーブルIDの下に、1テーブルを開始ブロックIDと、使用ブロック数と、次ディスクリプタテーブルIDとによって構成する。
開始ブロックIDは、最初に取得したブロックのIDを示す。
使用ブロック数は、開始ブロックから連続的に取得しているブロック数を意味する。
次ディスクリプタテーブルIDは、HDD48の記憶領域を連続的に取得(使用)できない場合に、チェーン構造にして、その記憶領域を不連続的に取得して管理可能にするためのものである。
開始ブロックIDとして、EOB(End Of Block)コードが挿入されていると、未使用ディスクリプタと判定できる。
次ディスクリプタテーブルIDは、EOT(End Of Table)コードが挿入されている場合、チェーンの最後と判定できる。
ディスクリプタテーブルの初期状態も同様に、開始ブロックをEOBに、使用ブロック数を“0”に、そして次ディスクリプタテーブルIDをEOTにしておく。
【0024】
次に、「ブロックテーブル」について説明する。
図9は、メモリ制御部43によって画像メモリ42の蓄積領域の取得,解放を行うために必要なブロックテーブルの構成例を示すメモリマップ図である。
このブロックテーブルは、HDD48の蓄積領域を固定長サイズに細分化し(細分化した単位領域を、以降「ブロック」と呼ぶ)、1ブロックの使用状態を1ビットで表し、“0”を未使用ブロック、“1”を使用ブロックと定義し、圧縮画像記憶領域の使用状態を管理する。
例えば、図4の画像メモリ42として、上記したように、データ圧縮用の9MBを記憶領域にした場合に固定長のブロックサイズを4KBとした場合、
9216(KB)÷4(KB)=2304(ブロック)
となり、1ブロックは1ビットなので2304ビットのビットテーブルが必要になる。ブロックテーブルの初期状態は全て“0”(未使用状態)にしておく。
また、1画像データにつき最小で1画像IDテーブル+1ディスクリプタテーブル+1ブロックになるため、画像IDテーブルとディスクリプタテーブルの各テーブルの最大数はブロック数分確保しておけば良いことになる。
【0025】
ここで、上記した「画像IDテーブル」「ディスクリプタテーブル」「ブロックテーブル」により管理された画像メモリ42の記憶領域において、連続した領域、分断された領域を確保し、一次的に入力画像データ(圧縮後の変換データを含む)を格納するための記憶領域を取得する処理に係わる実施例を示す。
画像メモリ42へのデータ記憶領域を連続して取得するか、不連続で(分断して)取得しても良いかの設定は、操作部7よりキー操作により設定することが可能である。
図10〜12は、連続/分断の設定に従いメモリ制御部43が実行する画像メモリ42の記憶領域の取得処理に係わるフローチャートを示す。次に、図10〜12を参照して、本実施例を説明する。
記憶領域の取得要求が発生すると、本フローが開始され、先ず、入力値に画像IDと、取得するブロックの連続性を指示する連続ブロック数と、該連続ブロック数を複数取得指示可能にするディスクリプタテーブル個数が必要なため、この入力値を示すパラメータに異常がないか評価する(S1002)。入力値を示すパラメータに異常があれば(S1002-NO)、“入力パラメータ異常”を返し(S1003)、処理を抜ける。
次いで、今回の保存対象画像に対する処理フローの始めに、画像IDテーブル取得処理時に必要なテーブルIDカウンタ(画像IDテーブルを指示するカウンタ)と取得済ブロックテーブルカウンタの変数を“0”とする、初期化を行い(S1004)、画像IDテーブル取得を試みる(S1005)。
画像IDテーブル取得は、画像IDがNULL値になっているテーブルを画像IDテーブルの先頭からループ検索する。ループ検索でテーブルIDカウンタが最終テーブルID値になった場合には、全て使用されているため、テーブルIDカウントがFULLであるか否かをチェックし(S1006)、FULLである場合、画像IDテーブル取得不能と判定し、“画像IDテーブルFULL”であるを返す、異常処理を行い(S1007)、処理を抜ける。
ステップS1006でテーブルIDカウントがFULLではない(即ち画像IDが存在した)場合は、テーブルIDカウントがNULL値になり、つまり空き画像IDテーブルが存在する(S1008-YES)まで、テーブルIDカウンタを加算し(S1009)、画像IDテーブルをループ検索する。この結果、空き画像IDテーブルが存在した場合は(S1008-YES)、対象画像IDテーブルの画像IDに要求画像IDを設定する(S1010)。
【0026】
次に、ディスクリプタテーブル取得を試みる。最初にディスクリプタ取得処理に必要なテーブルIDカウンタ(ディスクリプタテーブルを指示するカウンタ)の変数を“0”とし、前ディスクリプタテーブルID(変数)をEODにして、初期化を行う(S1012)。
ディスクリプタテーブルの取得は、開始ブロックがEOBになっているテーブルをディスクリプタテーブルの先頭からループ検索する。ループ検索でテーブルIDカウンタが最終テーブルID値になった場合には、全て使用されているため、テーブルIDカウントがFULLであるか否かをチェックし(S1013)、FULLである場合、ディスクリプタテーブル取得不能と判定し、“ディスクリプタテーブルFULL”であるを返し、異常処理を行い(S1014)、処理を抜ける。
ステップS1013でテーブルIDカウントがFULLではない(即ちディスクリプタテーブルIDが存在した)場合は、開始ブロックがEOBになり、つまり空きディスクリプタテーブルが存在する(S1015-YES)まで、テーブルIDカウンタを加算し(S1016)、ディスクリプタテーブルをループ検索する。
この結果、空きディスクリプタテーブルが存在した場合(S1015-YES)、前ディスクリプタテーブルIDがEOTであるか否かにより処理を分け、EOTである場合は(S1017-YES)、最初のディスクリプタテーブルと判定し、取得済の画像IDテーブル(S1010、参照)の開始ディスクリプタテーブルIDに検索したディスクリプタテーブルID(カウンタ値)を設定する(S1018)。他方、前ディスクリプタテーブルIDにEOT以外の値が代入されている場合は(S1017-NO)、前ディスクリプタテーブルIDに設定されているディスクリプタテーブルの次ディスクリプタテーブルIDに検索したディスクリプタテーブルID(カウンタ値)を設定する(S1019)。
ディスクリプタテーブルを取得できたことで、前ディスクリプタテーブルID(変数)に前ステップで取得したテーブルIDカウンタ(カウンタ値)を設定し、取得済ディスクリプタテーブルカウンタをカウントアップする(S1020)。
【0027】
最後にブロックテーブル取得を試みる。最初に、ブロック取得処理に必要なブロックIDカウンタ、開始ブロックIDと未使用ブロックカウンタの変数をそれぞれ“0”にして、初期化を行う(S1022)。
ブロックテーブルの取得は“0”(未使用)になっているビットをブロックテーブルの先頭からループ検索する。ループ検索でブロックIDカウンタが最終ブロックID値になった場合、全て使用されているため、テーブルIDカウントがFULLであるか否かをチェックし(S1023)、FULLである場合、ブロック取得不能と判定し、“ブロックテーブルFULL”を返し(S1024)、処理を抜ける。
対象ブロックが存在し(S1023-NO)、ブロックテーブルを検索した結果、その対象ブロックがビットが“1”(使用)の場合は(S1025-YES)、連続ブロック数が途切れるので、未使用ブロックカウンタをリセットし(S1026)、ブロックIDカウンタを加算させ(S1027)、ステップS1023へ戻り、次のブロックの検索を続ける。
検索の結果、空きブロックが存在した場合は(S1025-NO)、未使用ブロックカウンタが初期化されているか、即ち“0”であるか判定し(S1028)、“0”である場合には、連続ブロックの最初であるから、連続取得の開始ブロックと判断し、開始ブロックIDにブロックIDカウンタ値(現対象ブロックを示す)を保持させる(S1029)。その後、未使用ブロックカウンタを1加算する(S1030)。なお、対象ブロックが連続取得の開始ブロックではない場合(S1028-NO)、ステップS1029を飛ばす。
未使用ブロックカウンタを加算した後、このカウンタ値が連続ブロック数として設定された値に達したか、即ち要求されたブロック数分取得できたかを判定し、取得していない場合は(S1031-NO)、ブロックIDカウンタを加算させ(S1027)、ステップS1023へ戻り、次ブロックの検索を続ける。
【0028】
要求されたブロック数分取得できた場合は(S1031-YES)、現在取得中のディスクリプタテーブルの開始ブロックに開始ブロックIDと使用ブロック数には未使用ブロックカウンタのカウント値を設定する。また、ブロックテーブルの今回取得分のブロックに対し、使用を指示する“1”を設定する(S1032)。
この後、入力パラメータ中に設定されている要求ディスクリプタテーブル個数と取得済ディスクリプタテーブルカウンタのカウント値を比較し(S1033)、一致した場合は取得完了と判断して、“取得完了”を返し(S1034)、処理を抜ける。
他方、要求ディスクリプタテーブル個数と取得数が一致しない場合は、次ディスクリプタテーブルを取得するため、ステップS1012に戻し、ディスクリプタテーブルの取得から始まる記憶領域(ブロック)の取得シーケンスを行う。
【0029】
次いで、一次記憶部の解放処理について説明する。上記では、圧縮後の画像データを一次的に格納するために転送される画像データの記憶領域を取得する処理を説明したが、一次記憶部(画像メモリ42)に確保された領域はバッファとして機能するものであり、次の転送先である二次記憶装置への転送を終えると、取得していた記憶領域を開放し、次データのためのバッファ領域として使用できるようにする。このための処理手順を示すものである。
図13,14はメモリ制御部43が実行する画像メモリ42の記憶領域の解放処理に係わるフローチャートを示す。
図13,14に示すように、記憶領域の開放要求が発生すると、本フローが開始され、先ず、入力値として画像IDが必要なため、この入力値を示すパラメータに異常がないか評価する(S1302)。入力値を示すパラメータに異常があれば(S1302-NO)、“入力パラメータ異常”を返し(S1303)、処理を抜ける。
今回の対象画像に対する開放処理の始めに、画像IDテーブル検索処理時に必要なテーブルIDカウンタ(画像IDテーブルを指示するカウンタ)の変数を“0”とする、初期化を行い(S1304)、画像IDテーブル検索を試みる(S1305)。
画像IDテーブルの検索は、画像IDテーブルの画像IDが入力パラメータの対象画像IDと一致するまで画像IDテーブルの先頭からループ検索する。ループ検索でテーブルIDカウンタが最終テーブルID値になった場合には、検索できなかったため、テーブルIDカウントがFULLであるか否かをチェックし(S1306)、FULLである場合、該当する画像IDテーブル取得不能と判定し、“該当画像IDテーブルなし”を返す終了処理を行い(S1307)、処理を抜ける。
ステップS1306でテーブルIDカウントがFULLではない(即ち検索画像が存在する)場合は、テーブルIDカウントが対象画像IDと一致する値になる(S1308-YES)まで、テーブルIDカウンタを加算し(S1309)、画像IDテーブルをループ検索する。この結果、対象画像IDと一致する画像IDテーブルが存在した場合は(S1308-YES)、ディスクリプタテーブルの解放、ブロックテーブルの解放を試みるために、次ステップに移行させる。
【0030】
ディスクリプタテーブル解放では、検索した画像IDテーブルの開始ディスクリプタテーブルIDをもとに解放対象の画像IDが使用している最終ディスクリプタテーブルを検索していく。最終ディスクリプタはディスクリプタテーブルの次ディスクリプタテーブルIDがEOTになっていることで判定できる。ディスクリプタテーブルの解放順はチェーン構造(図8、参照)上、最後のテーブルから解放するようにしなければならない。
そこで、まず、画像IDテーブルに入力されている開始ディスクリプタテーブルIDをディスクリプタテーブルIDカウンタに、前ディスクリプタテーブルIDをEOTに設定する初期化を行う(S1311)。ディスクリプタテーブルIDカウンタからディスクリプタテーブルをループ検索する。ディスクリプタテーブルIDカウンタが最終テーブルID値(FULL)になっても、目的のテーブル(下記のS1314においてチェックする)が検索できない場合は(S1312-YES)、ディスクリプタ管理テーブルに何らかの異常が生じていると判定し、“ディスクリプタテーブル異常”を返し(S1313)、処理を抜ける。
ディスクリプタテーブルを検索した結果、テーブルIDカウンタ値のIDを持つディスクリプタテーブルに記載した次ディスクリプタテーブルIDがEOT以外の場合(S1314-NO)、前ディスクリプタテーブルIDとして現テーブルIDカウンタが示す値を設定してから、テーブルIDカウンタに次ディスクリプタテーブルIDを再設定し(S1315)、ステップS1312→S1314へ戻す。
【0031】
ステップS1314で、テーブルIDカウンタ値のIDを持つディスクリプタテーブルに記載した次ディスクリプタテーブルIDがEOTの場合は、前ディスクリプタテーブルIDのディスクリプタテーブルに記載した次ディスクリプタテーブルIDをEOTに設定する(S1316)。
解放対象ディスクリプタテーブルIDが上記のステップで決定されるので、ここで、決定したブロックテーブルの解放を実行する(S1317)。ブロックの解放は、開放対象ディスクリプタテーブル中に示されている開始ブロックID及び使用ブロック数から開始ブロックと使用ブロック数分のビットを未使用を示す“0”に設定することにより実行する。
これで、対象ディスクリプタテーブルの開放処理が完了する。ただし、1テーブルづつ処理するので、チェーンで複数テーブルがつながっている場合には、次のテーブルの開放処理を行う必要があり、そのために前ディスクリプタテーブルIDを参照し、EOTが設定されているかをチェックする(S1318)。 チェックの結果、EOTが設定されている場合は、対象画像全てのディスクリプタテーブルとブロックテーブルの解放が完了したと判定し処理を抜ける(S1318-YES)。他方、EOTが設定されていない場合は、次のテーブルの開放を行うために、テーブルIDカウンタに前ディスクリプタテーブルIDを設定して(S1319)、ステップS1312に戻し、解放処理を行い、EOTが設定されているテーブルに至るまで最後のテーブルから順に解放処理を継続する。
【0032】
上記で一次記憶部への転送操作の一環として行う記憶領域の取得・開放処理に関して説明したが、次に、二次記憶装置(HDD48)における記憶領域の取得・開放処理について説明する。
HDD48では、画像メモリ42に確保したデータ変換用のバッファ領域に圧縮後転送されたデータをさらにHDD48に転送、データ蓄積を行う。このために、HDD48に確保される記憶領域は、画像メモリ42に確保されるバッファ領域との関係により決められる。例えば、1画像分のバッファ領域を取得し、HDD48に連続領域を確保し、連続転送することを可能としたり、分割分のバッファ領域を取得し、HDD48の分断領域に分割転送することを可能とする。
二次記憶装置の記憶領域の取得、解放処理は、一次記憶部の取得、解放処理におけると共通の構造に従い実施し得る。即ち図7〜9により示したと同様のメモリマップによるデータ構造を用いる。従って、図7〜9に関する上記説明を参照して、ここでは説明を省略する。
ただし、ブロックテーブルは一次記憶部に比べ記憶領域の容量が大きいため固定長サイズにブロック化する際の単位を、論理アドレス上連続する複数のセクタ(ディスク状の記憶媒体における記憶単位を「セクタ」と言い、セクタ単位でデータの書き込み・読み出しが行われる)の固まりで管理する。
【0033】
次の実施例は、一次記憶部及び二次記憶装置の相互間で行われるデータ転送において、発生する転送要求が単一であるか、複数であるかによって、それぞれに適応した転送を行う転送制御に係わる。この実施例において、上記転送制御手段は、単一の転送要求を受信した際に、圧縮された一画像分の画像データの領域を一次記憶部にバッファ領域として確保し、二次記憶装置への転送を一括して行い、また、この一括転送中に他の転送要求を受信した際に、一画像の一部分に当たる所定量の領域を一次記憶部にバッファ領域として確保し、二次記憶装置への転送を分割して行う。
図15は、画像データの入力時における転送要求、及び二次記憶装置に保存された画像データの読み出し時における転送要求、それぞれに応じて、分割(複数回)/一括(一回)いずれかの転送操作を選択する本実施例の動作フローを示す。図15を参照し本例の動作を説明すると、操作部7の設定に応じて、データの入出力を行う際、システム制御部1がメモリ制御部43に対しデータの転送要求を行い、その要求に従ってメモリ制御部43がその画像データの転送処理を開始するが、受信した要求の転送処理前もしくは転送処理中に、さらにデータの転送要求がある場合、即ち複数の転送処理要求を受信する場合がある。ここでは、複数の転送要求があったか否かにより処理を分岐するので、先ず、複数の転送要求を受信したか否かをチェックする(S1501)。
【0034】
ここで、複数の転送要求を受信した場合は(S1501-YES)、転送対象となる一画像を複数回に分割して画像メモリ42(一次記憶部)のバッファ領域を通してHDD48(二次記憶装置)へ分割データ転送を行う(S1502)。
複数の転送要求を受信しなかった場合は(S1501-NO)、転送対象となる一画像を一回のデータ転送で画像メモリ42のバッファ領域を通してHDD48へ一括して転送する(S1502)。
いずれの転送操作を行ったときも、データ転送終了まで複数のデータ転送要求の受信がないか、即ち転送処理を実行中にも続けて新たな転送要求が受信されたかを所定のタイミングでチェックをするためにデータ転送が終了しているか否かを確認し(S1504)、データ転送が終了していない場合は(S1504-NO)、複数の転送要求を受信しているかをチェックするステップS1501に戻し、再びデータ転送操作の選択を行う。他方、ステップS1504でデータ転送が終了している場合は(S1504-YES)、この処理を抜ける。
【0035】
ここで、上記の動作フロー(図15)に示した、複数のデータ転送要求があるか否かにより、選択される分割/一括の各転送操作による転送処理に係わる実施例を示す。
これらの処理は、画像メモリ42及びHDD48への画像転送の際に行われる各記憶手段における記憶領域の取得及び開放処理に、上記した取得・開放処理手段を用い、入力画像に対してデータ圧縮(データ変換)を施した後、圧縮処理後の画像データを一次記憶部(画像メモリ42)のバッファ領域を通して二次記憶装置(HDD48)に保存する一連の処理を行う。
上記した取得・開放処理手段によれば、転送先の記憶領域を任意の容量で取得可能となるので、画像メモリ42→HDD48のデータ転送を分割/一括それぞれの動作で行うことが可能になる。一画像を分割して転送する場合は、画像メモリ42にバッファ領域として固定容量の記憶領域を確保してから、圧縮伸張器46を通し圧縮変換後のデータをこのバッファ領域に格納し、次に圧縮後のデータサイズ分の容量(最大値は固定容量)でHDD48に記憶領域を確保し、バッファ領域からHDD48に圧縮後のデータを転送する、という操作を繰り返すことで分割転送ができる。こうした転送処理を行うにあたり、一括転送の際に連続した記憶領域を確保することにより、或いは、分割転送の際に取得する容量を適正化することにより、画像メモリ42及びHDD48の効率的な利用を図ることが可能になる。
【0036】
以下に、一画像のメモリ42→HDD48のデータ転送を一括して行う場合と、分割して行う場合、それぞれの転送制御に係わる実施例を示す。
図16は、画像メモリ42を経由するHDD48へのデータ保存をそれぞれ一回の転送操作で行う一括転送の制御フローを示す。
図16を参照して動作を説明すると、まず、メモリ制御部43はシステム制御部1からの指示に従い、データ圧縮後の一画像分のデータ量が全て保持可能な容量を持つバッファ領域を画像メモリ42に確保する(S1601)。このとき、圧縮伸長器46の特性によりデータ圧縮前の容量を越えてしまう可能性がある時は、その分も考慮して領域を確保する必要がある。
次に、圧縮伸長器46を用いデータ圧縮を行い(S1602)、圧縮した一画像分の画像データをステップS1601で確保した画像メモリ42のバッファ領域に格納する(S1603)。このときのデータの転送処理動作について述べると、本実施例では、先ず、画像メモリ42に保持されている入力画像を画像転送DMAC44に設定したディスクリプタにより圧縮伸長器46に送り、そこで圧縮処理を施す。次いで、圧縮伸長器46により圧縮処理された後の符号化された変換データを符号転送DMAC45に設定したディスクリプタにより画像メモリ42に設けた変換データを格納するバッファ領域に転送する。なお、ディスクリプタによるDMA転送については、図6を参照して説明したデータ転送手段におけると同様に実施することが可能である。
バッファ領域への変換データの格納完了後、HDDコントローラ47がメモリ制御部43からのコマンドに従い、HDD48の記憶領域にこの変換データ分の容量を確保する(S1604)。この場合、バッファ領域に保持された一画像分の変換データ量は圧縮処理時にカウントされ、既知であるから、この量を一回の転送操作により転送先であるHDD4に確保すべき容量として設定することにより、記憶領域を過不足無く確保することができる。HDD48への転送も一回の操作よって転送を完了させるので、HDD48に取得する記憶領域は連続領域で確保することになり、操作部7からの設定によりその指示を行う。
HDD48に連続領域を確保した後、画像メモリ42のバッファ領域のデータをHDD48の確保した記憶領域に転送する(S1605)。転送終了後、画像メモリ42に確保したバッファ領域を解放し(S1606)、フローを終了させる。
【0037】
図17は、画像メモリ42を経由するHDD48への一画像データの保存を複数回の転送操作で行う分割転送の制御フローを示す。
図17を参照して動作を説明すると、まず、データ圧縮後の一画像データを分割格納するバッファ領域として固定容量を画像メモリ42に確保する(S1701)。このときに確保する画像メモリ42のバッファ領域は、予め使用状況によって決めることができる適当な分割データ量(分割数)となるように一画像を分割転送するデータ量に相当する容量を確保するが、固定容量で確保するため、圧縮変換後のデータサイズと関係無く決められる。
この後、圧縮伸長器46によりデータ圧縮を行い(S1702)、圧縮した画像データをステップS1701で確保した画像メモリ42の固定容量のバッファ領域に格納する(S1703)。
このとき、確保した固定容量のバッファ領域は、一画像を複数回で転送することを前提としている、即ち固定容量分だけでデータ圧縮が完了しない場合があるので、圧縮伸長器46の終了応答の有無によりループ処理を繰り返すか否か判断し、処理手順を変える必要がある。そのために、まず画像メモリ42に確保した固定容量のバッファ領域中に一時格納された変換データ量分に相当する容量でHDD48に領域を確保し(S1704)、確保した領域へバッファ領域の変換データを転送する(S1705)。即ち、バッファ領域へ分割分の変換データの格納を完了した後、HDDコントローラ47がメモリ制御部43からのコマンドに従い、HDD48の記憶領域にこの変換データ分の容量を確保し、転送を行う。このときのデータの転送動作は、基本的に上記実施例(図16)と同様に実行することが可能である。
この転送が完了した後、圧縮伸長器46の終了応答の有無により、データ圧縮の完了/未完了を判断するために、終了応答の有無を確認して(S1706)、圧縮未完了の場合は(S1706-NO)、データ圧縮を完了させるまで、ステップS1702の圧縮処理からのループ処理を繰り返す。ここで、未完了の圧縮処理を継続する場合、データ圧縮した次変換データは、前に使用したと同じ固定容量のバッファ領域に上書きされる。
転送終了後、画像メモリ42に確保したバッファ領域を解放し(S1707)、フローを終了させる。
この実施例において、HDD48へのデータ転送速度からデータ転送能力を推測することが可能であるから、推測したデータ転送能力により圧縮伸長器46、画像メモリ42を選択すること、或いは一次記憶部(画像メモリ42)のバッファ領域や二次記憶装置(HDD48)の保存領域の占有率を選択することにより使用効率を向上させることが可能となる。
【0038】
上記のように、一次記憶部及び二次記憶装置の相互間で行われるデータ転送において、発生する転送要求が単一であるか、複数であるかに応じて、転送操作回数を複数回に分割するか、一括するかを選択するようにしたので、複数の場合には、複数画像の転送処理を時分割に並行して行うことによって、個々の画像信号の入出力に対する二次記憶装置(HDD48)の占有時間を分散させ、複数の画像信号を並行して効率良く実行させることが可能になる。
さらに、画像入力から一次記憶部(画像メモリ42)を経由してデータ圧縮後の画像を二次記憶装置へ保存するまでの一連のデータ転送動作を行う際に、二次記憶装置へのデータ転送の容量に応じて、データ変換後のバッファ領域の容量を最適に確保、制御することが可能になり、冗長な記憶領域の占有を防止し、複数の画像の処理を効率的に行うことが可能になり、一次記憶部に接続される入出力手段の構成に応じて、最適な記憶部の制御を実現することができる。
【0039】
【発明の効果】
本発明により、入出力画像を一次的に格納する一次記憶手段のバッファ領域及び二次記憶手段の相互間で行われる圧縮データの転送において、発生する転送要求が単一であるか、複数であるかに応じて、転送操作回数を複数回に分割するか、一括するかを選択するようにしたので、転送要求が複数発生した場合に、複数画像の転送処理を時分割に並行して実行することにより、個々の画像信号の入出力に対する二次記憶手段(例えばHDD)の占有時間を分散し、複数の画像信号を並行して効率良く実行させ、最短時間で転送を完了することを可能にする。
また、転送要求が単一である場合に、一次記憶手段のバッファ領域として、二次記憶手段に一画像を一括転送するデータ量に相当する容量を確保するようにしたので、一画像に対する最適な転送動作を可能にする。
また、分割転送の際に、一次記憶手段のバッファ領域とし、二次記憶手段に分割転送するデータ量に相当する容量を確保するようにしたので、複数回の転送操作により一画像に対する転送を実行するときの最適動作を可能にする。
【図面の簡単な説明】
【図1】 本発明の画像処理装置に係わる一実施例としてのデジタル複写機を示す概略構成図である。
【図2】 図1のデジタル複写機における原稿台を上方から見た図である。
【図3】 図1のデジタル複写機における読み取り部のIPUより出力される画像同期信号の様子を示す図である。
【図4】 図1のデジタル複写機における記憶部の構成を示すブロック図である。
【図5】 記憶部の構成要素であるメモリ制御部の内部構成を示すブロック図である。
【図6】 ディスクリプタの形式とディスクリプタによる転送動作を説明するための模式図である。
【図7】 HDDの記憶領域の取得および解放を行うために必要な画像IDテーブルの構成例を示すメモリマップ図である。
【図8】 HDDの記憶領域の取得,解放を行うために必要なディスクリプタテーブルの構成例を示すメモリマップ図である。
【図9】 HDDの蓄積領域の取得,解放を行うために必要なブロックテーブルの構成例を示すメモリマップ図である。
【図10】 連続/分断の設定に従い実行される記憶領域の取得処理のフローチャート(その1)を示す。
【図11】 連続/分断の設定に従い実行される記憶領域の取得処理のフローチャート(その2)を示す。
【図12】 連続/分断の設定に従い実行される記憶領域の取得処理のフローチャート(その3)を示す。
【図13】 メモリ制御部が実行する記憶領域の解放処理に係わるフローチャート(その1)を示す。
【図14】 メモリ制御部が実行する記憶領域の解放処理に係わるフローチャート(その2)を示す。
【図15】 複数のデータ転送要求の受信有無に応じて、分割/一括いずれかの転送操作を選択する転送動作のフローチャートを示す。
【図16】 画像メモリを経由してHDDへのデータ保存をそれぞれ1回の転送操作で行う場合の制御動作のフローを示す。
【図17】 画像メモリを経由してHDDへのデータ保存を複数の分割転送により行う場合の制御動作フローを示す。
【符号の説明】
1…システム制御部、 4…記憶部、
5…セレクタ部、 7…操作部、
9…FAX部、 20…読み取り部、
21…原稿台、 23…CCD、
24…画像処理部(IPU:イメージプロセッシングユニット)、
25…スキャナ制御部、 30…像形成部、
39…プロッタ制御部、 41…画像入出力DMAC、
42…画像メモリ、 43…メモリ制御部、
44…画像転送DMAC、 45…符号転送DMAC、
46…圧縮伸長器、 47…HDDコントローラ、
48…HDD(ハードディスクドライブ)。
Claims (1)
- 入出力画像を記憶する一次記憶手段と、
二次記憶手段と、
一次記憶手段及び二次記憶手段の相互間において、圧縮された一画像分の画像データを一括転送するか、若しくは、一画像分の画像データを分割し、分割転送するか、いずれかの動作で転送を行うように制御する転送制御手段を有する画像処理装置であって、
前記転送制御手段は、単一の転送要求を受信した際に、圧縮された一画像分の画像データの領域を前記一次記憶手段にバッファ領域として確保し、一括転送を行い、一括転送中に他の新たな転送要求を受信した場合は、所定量の領域を前記一次記憶手段にバッファ領域として確保し、分割転送に切替え、一括転送中に他の新たな転送要求を受信しなかった場合は、一括転送を継続することを特徴とする画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001396251A JP4148680B2 (ja) | 2001-12-27 | 2001-12-27 | 画像処理装置 |
US10/327,908 US7034838B2 (en) | 2001-12-27 | 2002-12-26 | Information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001396251A JP4148680B2 (ja) | 2001-12-27 | 2001-12-27 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003198817A JP2003198817A (ja) | 2003-07-11 |
JP4148680B2 true JP4148680B2 (ja) | 2008-09-10 |
Family
ID=27602393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001396251A Expired - Fee Related JP4148680B2 (ja) | 2001-12-27 | 2001-12-27 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4148680B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4456490B2 (ja) | 2005-01-14 | 2010-04-28 | 富士通株式会社 | Dma装置 |
JP5932571B2 (ja) * | 2012-08-28 | 2016-06-08 | ルネサスエレクトロニクス株式会社 | 転送制御装置、転送制御方法及び転送制御プログラム |
JP2015179949A (ja) | 2014-03-19 | 2015-10-08 | コニカミノルタ株式会社 | 画像形成装置、制御方法、および制御プログラム |
-
2001
- 2001-12-27 JP JP2001396251A patent/JP4148680B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003198817A (ja) | 2003-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7034838B2 (en) | Information processing apparatus | |
US7185151B2 (en) | Data processing device characterized in its data transfer method, program for executing on a computer to perform functions of the device, and computer readable recording medium storing such a program | |
JP4148680B2 (ja) | 画像処理装置 | |
JP2003198818A (ja) | 画像処理装置 | |
JP2003018376A (ja) | 画像形成装置 | |
JP2003198815A (ja) | 画像処理装置 | |
JP4133394B2 (ja) | 画像形成装置 | |
JP2003198816A (ja) | 画像処理装置 | |
JP2003179732A (ja) | 画像処理装置 | |
JP2003178295A (ja) | 画像処理装置 | |
JP2003186712A (ja) | 画像処理装置 | |
JP3903464B2 (ja) | 画像形成装置、並びに画像信号の入力処理方法及び出力処理方法 | |
JP2003186713A (ja) | 画像処理装置 | |
JP4076224B2 (ja) | 画像形成装置 | |
JP4359047B2 (ja) | 画像形成装置 | |
JP4253138B2 (ja) | 画像形成装置 | |
JP2005079646A (ja) | 画像形成装置 | |
JP3932275B2 (ja) | 画像入出力装置 | |
JP4061200B2 (ja) | 画像形成システム及び画像形成装置 | |
JP2004104447A (ja) | 画像形成装置 | |
JP2003298820A (ja) | 画像形成装置 | |
JP2005067004A (ja) | 画像形成装置 | |
JP2005050004A (ja) | カラー画像形成装置、方法、プログラム及び記録媒体 | |
JP2004040585A (ja) | 画像処理装置及び画像形成装置 | |
JP2000069257A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061017 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061218 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070119 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070510 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070525 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080624 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
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: 20120704 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130704 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |