JP4196299B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP4196299B2
JP4196299B2 JP2006138670A JP2006138670A JP4196299B2 JP 4196299 B2 JP4196299 B2 JP 4196299B2 JP 2006138670 A JP2006138670 A JP 2006138670A JP 2006138670 A JP2006138670 A JP 2006138670A JP 4196299 B2 JP4196299 B2 JP 4196299B2
Authority
JP
Japan
Prior art keywords
memory
image data
management table
image
unit
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
JP2006138670A
Other languages
English (en)
Other versions
JP2007312069A (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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies 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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2006138670A priority Critical patent/JP4196299B2/ja
Priority to US11/714,876 priority patent/US8107116B2/en
Publication of JP2007312069A publication Critical patent/JP2007312069A/ja
Application granted granted Critical
Publication of JP4196299B2 publication Critical patent/JP4196299B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、画像データを不連続な複数のメモリ領域に分割して保存する画像処理装置に係わり、特に、複数のメモリ領域とストレージ装置との間で画像データをDMA(Direct Memory Access)転送するための技術に関する。
画像データをページ単位に扱う複写機などの画像処理装置では、通常、処理の簡便性や処理速度などを考慮して、読み取った1ページ分の画像データを連続したメモリ領域に保存するように構成されている。
また、大量の画像データを保存するために、メモリに格納されている画像データを圧縮した後、ハードディスク装置などのストレージ装置へ転送して保存することが行なわれる。たとえば、圧縮器から出力される画像データを、一旦、メモリ内のバッファ領域に再格納した後、該バッファ領域からハードディスク装置へ画像データをDMA転送するような構成がとられる。
また、1ページ分の画像データを複数に分割し、メモリからハードディスク装置への画像データのDMA転送を分割単位毎に行なわせる画像処理装置(たとえば、特許文献1参照。)や、ハードディスク装置内に確保することのできる連続領域のサイズに応じて、1回当たりのDMA転送量や確保するバッファ領域のサイズを制御する画像処理装置(たとえば、特許文献2参照。)がある。
このように、複数回のDMA転送を行なわせる場合には、DMA転送終了毎の割り込み発生によるCPU(Central Processing Unit)の処理負担を軽減させるために、DMA用ディスクリプタテーブルが使用される。DMA用ディスクリプタテーブルは、DMA転送の開始アドレスと転送バイト数とを必要回数分だけ連ねて記述したものであり、CPUはDMA用ディスクリプタテーブルを作成し、DMAコントローラが該DMA用ディスクリプタテーブルを先頭から順に参照して複数回のDMA転送を順次自動実行するようになっている。
特開2003−179732号公報 特開2003−198815号公報
1ページ分の画像データを連続したメモリ領域に保存する方法では、空き領域を合算すれば必要サイズに足りる場合でも、連続領域として確保できるまで処理を待たなければならず、装置としての生産性が低下するという問題があった。たとえば、システムメモリをソフトウェア実行時のワークエリアと画像データの格納用エリアとに共用するような場合には、使用する領域サイズや開放タイミングの違いからメモリ領域が歯抜けになって断片化しやすく、画像データ格納用の大きな連続領域(たとえば、A4モノクロの場合、約4Mバイトの領域)を確保することが難しい。
一方、画像データの格納専用に連続領域を常時確保するような構成にすると、最大ページサイズかつ最低圧縮率の場合のメモリ領域を常時確保しておかなければならず、メモリの利用効率が低下してしまう。
そこで、システムメモリ内に飛び飛びに存在するメモリ領域に分散して画像データを格納することができれば都合がよいが、飛び飛びに存在する複数のメモリ領域に画像データを格納するためには、これら複数のメモリ領域の先頭アドレスやサイズなどの情報をまとめて管理する必要が生じる。
また、飛び飛びに存在する複数のメモリ領域に格納された画像データをハードディスク装置などへDMA転送するためには、転送動作を複数回に分けて実行しなければならないので、DMA用ディスクリプタテーブルを利用することが望ましい。
このため、CPUは、飛び飛びに存在する複数のメモリ領域を管理するための情報の作成に加えて、DMA用ディスクリプタテーブルを作成しなければならず、その作成に係わるCPUの処理負担が大きくなるばかりか、これらの情報を記憶するために必要なメモリ容量が増大し、メモリの利用効率が低下してしまう。
本発明は、上記の問題を解決しようとするものであり、飛び飛びに存在する複数のメモリ領域を利用して画像データを格納するための管理情報と、これら複数のメモリ領域とストレージ装置との間で画像データをDMA転送するための管理情報の作成に係わるCPUの処理負担やこれらの管理情報を記憶するためのメモリ容量を削減することのできる画像処理装置を提供することを目的としている。
上記の目的は、以下に示す各項の本発明により達成される。
(1)メモリと、
画像データを格納するためのメモリ領域として、連続した空き領域であるメモリユニットを前記メモリ内の1または2以上の空き領域から複数確保し、メモリユニットの先頭アドレスとサイズを含むユニット情報を前記確保したすべてのメモリユニットについて登録したメモリ管理テーブルを作成する領域確保手段と、
前記領域確保手段が作成した前記メモリ管理テーブルを参照して、該メモリ管理テーブルに登録されているユニット情報に対応する複数のメモリユニットに前記画像データを分割して格納する格納制御手段と、
画像データを記憶可能なストレージ装置と、
前記メモリと前記ストレージ装置との間での画像データのDMA転送を、複数回分のDMA転送の内容を記述可能なDMA転送用テーブルを参照して実行するDMA転送手段とを備え、
前記領域確保手段は、前記DMA転送手段が前記メモリ管理テーブルを前記DMA転送用テーブルとして参照できるように、前記メモリ管理テーブルをそれぞれのユニット情報が前記DMA転送用テーブルにおける1回分のDMA転送の内容を記述しかつユニット情報に含まれる先頭アドレスがDMA転送の開始アドレスをサイズが転送サイズを示すデータ構造で作成する
ことを特徴とする画像処理装置。
上記発明によれば、画像データを格納するために確保した複数のメモリユニットを管理するためのメモリ管理テーブル、該複数のメモリユニットに分割して格納された画像データをストレージ装置へDMA転送するためのDMA転送用テーブルとしてDMA転送手段が参照可能なデータ構造にしている。これにより、メモリ管理テーブルをDMA転送用テーブルとして兼用することができ、別々に作成する場合に比べて、テーブル作成に係わるCPUの処理負担やテーブルを記憶するためのメモリ容量を削減することができる。
なお、メモリ管理テーブルにはメモリユニットの開始アドレスと領域サイズとの登録を要し、DMA転送用テーブルには転送開始アドレスと転送サイズと転送フラグなどの登録を要する。また、メモリユニットに格納された画像データをストレージ装置へDMA転送する場合は、転送開始アドレスとメモリ領域の開始アドレスとが一致し、転送サイズと領域サイズとが一致する。したがって、メモリ管理テーブルに登録すべき情報はすべてDMA転送用テーブルに存在する。そこで、メモリ管理テーブルのデータ構造をDMA転送用テーブルのデータ構造に一致させることで、メモリ管理テーブルとDMA転送用テーブルとを兼用することができる。なお、メモリ管理テーブルに固有の情報を必要とする場合には、DMA転送用テーブルの中で不使用とされているビットなどを使用すればよい。
(2)メモリと、
画像データを格納するためのメモリ領域として、連続した空き領域であるメモリユニットを前記メモリ内の1または2以上の空き領域から複数確保し、メモリユニットの先頭アドレスとサイズを含むユニット情報を前記確保したすべてのメモリユニットについて登録したメモリ管理テーブルを作成する領域確保手段と、
前記領域確保手段が作成した前記メモリ管理テーブルを参照して、該メモリ管理テーブルに登録されているユニット情報に対応する複数のメモリユニットに前記画像データを分割して格納する格納制御手段と、
前記メモリと、画像データを記憶可能な外部のストレージ装置との間での画像データのDMA転送を、複数回分のDMA転送の内容を記述可能なDMA転送用テーブルを参照して実行するDMA転送手段とを備え、
前記領域確保手段は、前記DMA転送手段が前記メモリ管理テーブルを前記DMA転送用テーブルとして参照できるように、前記メモリ管理テーブルをそれぞれのユニット情報が前記DMA転送用テーブルにおける1回分のDMA転送の内容を記述しかつユニット情報に含まれる先頭アドレスがDMA転送の開始アドレスをサイズが転送サイズを示すデータ構造で作成する
ことを特徴とする画像処理装置。
(3)前記領域確保手段は、前記DMA転送手段が1回のDMA転送で処理可能な最大転送サイズより大きい空き領域については前記最大転送サイズ以下の複数のメモリユニットに分けて前記メモリ管理テーブルを作成する
ことを特徴とする(1)または(2)に記載の画像処理装置。
(4)前記ストレージ装置に記憶されている画像データを読み出して前記メモリに格納する場合に、
前記領域確保手段は、前記画像データを格納するためのメモリ領域として、前記メモリ内の1または2以上の空き領域から前記メモリユニットを複数確保し、該確保したすべてのメモリユニットについて前記ユニット情報を登録したメモリ管理テーブルを作成し、
前記DMA転送手段は、前記メモリ管理テーブルを前記DMA転送用テーブルとして参照して、前記ストレージ装置から前記メモリへの前記画像データのDMA転送を実行する
ことを特徴とする(1)乃至(3)のいずれか1つに記載の画像処理装置。
上記発明では、ストレージ装置に記憶されている画像データを読み出して前記メモリに格納する場合にも、メモリ管理テーブルがDMA転送用テーブルとして兼用される。
(5)前記格納制御手段が画像データを前記メモリに保存したとき、該保存された画像データに関する属性情報を画像管理テーブルに登録する画像管理情報登録手段をさらに有する
ことを特徴とする(1)乃至(4)のいずれか1つに記載の画像処理装置。
上記発明では、画像管理情報登録手段は、格納制御手段が画像データをメモリに保存したとき、その保存された画像データに関する属性情報を画像管理テーブルに登録する。たとえば、複数のメモリユニットに分割して格納された画像データを元の画像データに繋げるための情報などが属性情報として登録される。
(6)画像データを複数のブロックに分割する画像分割手段を備え、
前記格納制御手段は、前記画像分割手段で複数のブロックに分割された画像データを、前記メモリ管理テーブルに登録されている複数のユニット情報に対応する複数のメモリユニットに格納し、
前記複数のメモリユニットに格納されている画像データを、前記画像分割手段で複数のブロックに分割する前の一連の画像データにして前記ストレージ装置に記憶させると共に、該一連の画像データを前記画像処理部で分割されたときのブロック別に識別するためのブロック識別情報を前記一連の画像データに関連付けて記憶する
ことを特徴とする(1)乃至(5)のいずれか1つに記載の画像処理装置。
上記発明では、確保されるメモリユニットのサイズに係わらず、画像データが複数のブロックに分割され、分割された画像データが、メモリ管理テーブルに登録されている複数のメモリユニットに分散して格納される。たとえば、1つのブロックが複数のメモリユニットに分かれて格納される場合や、あるブロックを格納したメモリユニットに生じた余りの領域に他のブロックの画像データが格納される場合があってもよい。
さらに、複数のメモリユニットに分割して格納された画像データを、元の一連の画像データに繋げてストレージ装置に記憶すると共に、この一連の画像データを元のブロック別に識別するための情報が記憶される。たとえば、ブロック別に圧縮した画像データを一連の画像データに繋げてストレージ装置に記憶している場合でも、ブロック識別情報を参照することで、ブロックの境界を認識して、ブロック別に伸張することができる。
(7)前記ストレージ装置から前記一連の画像データを読み出す際に、該読み出された一連の画像データを分割して複数のメモリユニットに格納すると共に、前記ブロック識別情報に基づき、前記一連の画像データに含まれる各ブロックの画像データがどのメモリユニットに格納されたかを示す画像管理情報を作成する
ことを特徴とする(6)に記載の画像処理装置。
上記発明では、ストレージ装置から画像データを読み出して複数のメモリユニットに再格納した際に、どのブロックの画像データがどのメモリユニットに格納されたかを示す画像管理情報が作成される。複数のメモリユニットに格納された画像データを読み出す処理において該画像管理情報を参照することで、複数のメモリユニットに分散して格納されている画像データを元の状態に繋げてページを再現することができる。
(8)前記ブロックを単位に画像データを圧縮/伸張するようにし、
前記メモリに、圧縮後の画像データを保存する
ことを特徴とする(5)乃至(7)のいずれか1つに記載の画像処理装置。
(9)前記メモリは、メモリ領域の取得と開放とを行なうメモリ管理システムによって管理されている
ことを特徴とする(1)乃至(8)のいずれか1つに記載の画像処理装置。
本発明に係わる画像処理装置によれば、画像データの格納に使用する複数のメモリユニットを管理するためのメモリ管理テーブルを、これら複数のメモリユニットとストレージ装置との間で画像データをDMA転送するために使用するDMA転送用テーブルとしてDMA転送手段が参照可能なデータ構造にしたので、メモリ管理テーブルをDMA転送用テーブルとして兼用することができ、各テーブルを別々に作成する場合に比べて、テーブルの作成に係わるCPUの処理負担やテーブルを記憶するためのメモリ容量を削減でき、処理効率やメモリの利用効率を向上させることができる。
以下、図面に基づき本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係わる画像処理装置10の概略構成を示している。画像処理装置10は、原稿画像を読み取ってその複製画像を記録紙上に形成して出力するコピー機能などを備えた複写機等の装置であり、システム全体の動作を制御するシステム制御部11と、演算処理機能を果たすプロセッサ12と、各種周辺機能を制御する周辺制御部13とを主たる制御部として備えている。
システム制御部11には、プロセッサ12および周辺制御部13のほか、LCD(Liquid Crystal Display)パネル14、システムメモリ15、システム画像処理部16が接続されている。LCDパネル14は、ユーザからの各種操作の受け付けと各種操作画面や案内画面の表示を行なう。システムメモリ15は、プロセッサ12が実行する動作プログラムを格納するほか、プロセッサ12が動作プログラムを実行する際のワークメモリや画像データの格納領域などに共用される。
システム画像処理部16には、原稿画像の読み取り素子としてのCCD(Charge Coupled Device)17が読取画像処理部18を介して接続されると共に、レーザプリンタ方式の記録部をなすLD(Laser Diode)19が記録画像処理部21を介して接続されている。システム画像処理部16は、1ページの画像データを複数のブロックに分割する画像分割部16aと、画像データの圧縮と伸張を行なう圧縮/伸張部16bとを備えている。
原稿の読取動作では、CCD17から出力された画像データは読取画像処理部18で各種の画像補正を施された後、システム画像処理部16に入力される。システム画像処理部16に入力された画像データは、画像分割部16aで複数のブロックに分割され、さらに圧縮/伸張部16bでブロック毎に圧縮される。ブロック毎に圧縮された画像データは、システム制御部11を通じてシステムメモリ15に格納される。
記録紙への出力動作においては、システムメモリ15に格納されている画像データはシステム制御部11により読み出されてシステム画像処理部16に入力され、圧縮/伸張部16bで伸張され、さらに元の1ページとなるように合成された後、記録画像処理部21を経てLD19へ出力される。
周辺制御部13には、起動用プログラムなどが予め記憶されたROM(Read Only Memory)22、小容量ストレイジデバイス23、大容量ストレイジデバイス(HDD)24、不揮発メモリ25、外部インターフェイス部26が接続されている。
小容量ストレイジデバイス23は、制御プログラムや汎用オペレーティング・システムのプログラムの格納などに使用される。ここでは、小容量ストレイジデバイス23としてフラッシュメモリを使用する。装置の立ち上げ時にROM22内の起動プログラムを実行することで、小容量ストレイジデバイス23内のプログラムがシステムメモリ15に展開され、プロセッサ12が該プログラムに従って処理を行なうように構成されている。
外部記憶装置としての大容量ストレージデバイス(HDD)24は、入出力するデータをDMA転送するためのDMAコントローラ24aを備えたハードディスク装置などで構成されており、画像データの格納などに使用される。不揮発メモリ25は、装置固有の各種パラメータなどの記憶に使用される。外部インターフェイス部26は、各種の通信方式で外部装置と接続して通信の制御を行なう機能を果たす。たとえば、接続にはLAN(Local Area Network)、USB(Universal Serial Bus)、IEEE1394(Institute of Electrical and Electronic Engineers 1394)などが使用される。
なお、画像形成装置10は、システムメモリ15に対するメモリ領域の取得と開放を制御するメモリ管理システムを有している。該メモリ管理システムは、プロセッサ12が制御プログラム内のメモリ管理プログラムを実行することで実現される。メモリ管理システムは、他のプログラムからの要求に応じて、その要求されたサイズのメモリ領域をシステムメモリ15から確保して要求元のプログラムに提供する。また、確保済みの領域に対する開放指令を他のプログラムから受けると、該当するメモリ領域を未使用領域(空き領域)として開放するように動作する。
図2は、画像分割部16aが1ページ分の画像データを分割する際の分割状態の一例を示している。画像分割部16aは、1ページ分の画像データ30を水平方向N分割、垂直方向M分割(M、Nは任意の正整数で少なくとも一方は2以上)して、複数のブロック31に分割する。図2の例は、ライン単位の読み取り方向である水平方向(幅方向)を7分割し、垂直方向(長さ方向)を9分割し、1ページを63個のブロックに分割している。各ブロックのページ内での位置は、座標情報(X,Y)で表わされる。圧縮/伸張部16bは、分割されたブロック単位で圧縮/伸張処理を行なう。
各ブロックは同一サイズであり、画像回転処理などの都合から各ブロックにおける水平方向の画素数と垂直方向の画素数とは等しく設定してある。水平方向および垂直方向の分割数は図2に示したものに限定されず、圧縮効率、処理効率、メモリ領域の利用効率などに応じて適宜に設定すればよい。
次に、1ページの原稿画像を読み込んで、その画像データを圧縮してシステムメモリ15に格納するまでの処理の流れについて説明する。
図3は、読取動作における処理の流れを、図4は、該処理におけるコマンドやデータの流れを示している。ジョブが投入されて図示省略のスタート釦が押されると、プロセッサ12は図4のスキャナ17aにセットされた原稿のサイズを認識すると共に(図3:ステップS101、図4:P1)、セットされた原稿1ページを保存するために必要なメモリ容量を求める(ステップS102)。なお、画像データは圧縮して保存されるので、1ページの保存に必要なメモリ容量は画像の内容に依存して変化する。そこで、この段階では、セットされた原稿サイズに対する標準的なメモリ容量を求めている。
次に、プロセッサ12は、領域確保手段としてのメモリ管理テーブル生成機能12aを呼び出す。メモリ管理テーブル生成機能12aは、セットされた原稿1ページの保存に必要なメモリ容量分のメモリ領域をシステムメモリ15から確保すると共に、確保したメモリ領域の位置やサイズを登録したメモリ管理テーブル40をシステムメモリ15内に生成する(図3:ステップS103、図4:P2)。メモリ管理テーブル40は、大容量ストレイジデバイス(HDD)24内のDMAコントローラ24aが参照するDMA用ディスクリプタテーブル(DMA転送用テーブル)と同じデータ構造で作成される。なお、必要なメモリ容量を1つの連続した空きメモリ領域として確保できない場合には、飛び飛びに存在する複数の空き領域の総計として確保される。
プロセッサ12は、生成されたメモリ管理テーブル40に関する情報(メモリ管理テーブル40のアドレス情報など)をシステム制御部11へ通知し(図3:ステップS104、図4:P3)、さらにCCD17、読取画像処理部18、システム画像処理部16を起動して原稿画像の読み取り動作を開始させる(図3:ステップS105、図4:P4)。これにより、CCD17で原稿画像を読み取って得た画像データは読取画像処理部18に入力され、画像補正などの処理を施された後、システム画像処理部16へ転送される(図3:ステップS106、図4:P5)。
システム画像処理部16は、読取画像処理部18から入力された画像データを、図2に示すように複数のブロック31に分割すると共に、分割後のブロックを単位に画像データを圧縮する(図3:ステップS107、図4:P6)。システム画像処理部16は、ブロック単位での画像データの圧縮処理が完了する毎に、そのブロックに関する圧縮完了通知をシステム制御部11へ通知する(図3:ステップS108、図4:P7)。
圧縮完了通知を受けたシステム制御部11は、メモリ管理テーブル40を参照して、確保されているメモリ領域の位置とサイズを認識し、該メモリ領域へ圧縮後の画像データを保存する(格納制御手段としての機能、図4:P8)。また、システム制御部11は、保存した画像データに関する属性情報をシステムメモリ15内の画像管理テーブル50に登録する(画像情報登録手段としての機能、図3:ステップS109、図4:P9)。属性情報は、飛び飛びに存在する複数のメモリ領域に格納した画像データを、元の連続した画像データに繋ぎ合わせるための情報を含む。画像管理テーブル50に関する詳細は後述する。
このように、メモリ管理テーブル40を参照してシステム制御部11が自律的にシステムメモリ15への画像データの転送と保存を行なうので、プロセッサ12の処理負担が軽減される。また、保存した画像データに関する属性情報をシステム制御部11(画像情報登録手段)が画像管理テーブル50に登録するので、画像管理テーブル50の作成/登録に係わるプロセッサ12の処理負担も軽減される。また、読み出し時に画像管理テーブル50を参照することで、飛び飛びに存在する複数のメモリ領域に分散して格納された画像データを、元の1ページの画像データに繋ぎ合わせることが可能になる。
なお、圧縮された画像データのデータ量が標準的なサイズより大きく、メモリ管理テーブル40に登録したメモリ領域が足りなくなったときは、システム制御部11がプロセッサ12に対して新たなメモリ領域の確保を要求し、該要求に応じてプロセッサ12のメモリ管理テーブル生成機能12aが新たなメモリ領域をシステムメモリ15から確保し、その確保したメモリ領域に関する情報をメモリ管理テーブル40に追加登録するようになっている。
次に、メモリ管理テーブル40の作成処理について詳述する。
図5は、メモリ管理テーブル40の作成処理を示している。メモリ管理テーブル生成機能12aは、確保すべきメモリ容量の通知を受けると(ステップS201)、該メモリ容量分の空き領域の確保動作を開始する。詳細には、システムメモリ15内の空き領域を検出し(ステップS202)、検出した空き領域から、メモリユニット(メモリ領域)を確保する(ステップS203)。
たとえば、検出した空き領域の容量が、これまでに確保したメモリ容量と必要メモリ容量との差分である残りサイズ以下の場合は、検出した空き領域全体をメモリユニットとして確保し、検出した空き領域のサイズが残りサイズより大きい場合は、検出した空き領域の中から残りサイズ分のメモリ領域をメモリユニットとして確保する。また、メモリユニットを、固定長のバウンダリ(たとえば、4Kバイトのバウンダリ)に従って確保する場合は、検出した空き領域の中で該バウンダリに従う開始位置から該バウンダリの固定長の整数倍サイズに相当するメモリ領域をメモリユニットとして確保する。
次に、上記のようにして確保したメモリユニットの先頭アドレスやサイズなどの情報(ユニット情報)が登録されたメモリ管理テーブル40を、DMA用ディスクリプタテーブルと同じデータ構造で作成し(ステップS204)、必要メモリ容量分が確保されなければ(ステップS205;N)、ステップS202に戻って次の空き領域の検出を行なう。必要メモリ容量分のメモリユニット(メモリ領域)が確保されたら(ステップS205;Y)、処理を終了する(エンド)。なお、必要メモリ容量分のメモリユニットを確保できなかった場合はエラー終了するようになっている。
図6は、システムメモリ15の空き状態と生成されたメモリ管理テーブル40の一例を示している。システムメモリ15内には空き領域が飛び飛びに存在しており、これら飛び飛びに存在する複数の空き領域を総計することにより、必要メモリ容量分のメモリユニット(メモリ領域)が確保される。メモリ管理テーブル40には、確保したメモリユニット毎に、そのメモリユニットの先頭アドレスAdと、領域サイズ(バイト数)Szと、当該テーブルの終了ビットEOTとを含むユニット情報が、リスト状に登録される。終了ビットEOTは、リストの終端のユニット情報のみ「1」にセットされ、その他は「0」にセットされる。なお、図6以外の図ではメモリ管理テーブル40を簡略化して表記するが、データ構造は図6に示すものと同一になっている。
このように、確保したメモリユニットに関するユニット情報をまとめて登録したメモリ管理テーブル40を作成するので、システム制御部11は、画像データの格納に使用するメモリ領域に関する情報を、メモリ管理テーブル40を参照することで効率的に得ることができる。また、メモリ管理テーブル40をDMAコントローラ24aが参照するDMA用ディスクリプタテーブルと同一のデータ構造で作成するので、メモリ管理テーブル40をDMA用ディスクリプタテーブルとして兼用することができる。これにより、各テーブルを別々に作成する場合に比べて、テーブルの作成に係わるプロセッサ12の処理負担やテーブルを記憶するためのメモリ容量を削減でき、処理効率やシステムメモリ15の利用効率を向上させることができる。メモリ管理テーブル40を利用したDMA転送については後述する。
1つのメモリユニットのサイズはDMAコントローラ24aが1回のDMA転送で処理可能な最大バイト数以下に制限される。たとえば、1回のDMA転送で処理可能な最大バイト数が64Kバイトであり、システムメモリ15から検出した空き領域のサイズが80Kバイトである場合には、該空き領域はサイズが64Kバイトのメモリユニットと16Kバイトのメモリユニットとに分けて使用され、それぞれのユニットに関するユニット情報がメモリ管理テーブル40に作成される。
次に、圧縮された1ブロック分の画像データをシステムメモリ15に格納する処理(図3のステップS109に相当)の流れを詳細に説明する。
図7は、圧縮された1ブロックの画像データをシステムメモリ15に格納する処理の流れを示している。システム制御部11は、システム画像処理部16から1ブロック分の画像データの圧縮完了通知を受けると(ステップS301)、メモリ管理テーブル40を参照し、その先頭から順にメモリユニットを選択し、該選択したメモリユニットの位置(先頭アドレス)とサイズとを把握する(ステップS302)。
なお、後述の画像管理テーブル50を参照し、上記選択したメモリユニットの一部領域(先頭からの一部分)が既に使用済みか否かを調べ、一部使用済みの場合は、先頭からその一部使用済み領域の後ろの空き領域までのオフセットを画像管理テーブル50から認識するようになっている。そして、先の圧縮完了通知に対応するブロックの画像データをそのメモリユニットの先頭から、もしくは一部使用済みの場合はその後ろに格納する(ステップS303)。
画像データが、このメモリユニットに収まりきらないときは(ステップS304;Y)、このメモリユニットに対して今回保存した画像データに関する属性情報を画像管理テーブル50に登録する(ステップS305)。さらに、メモリ管理テーブル40を参照して次のメモリユニットを選択し(ステップS306)、該メモリユニットに対して残りの画像データを格納する(ステップS303)。
このメモリユニットに当該ブロックの最後まで画像データを格納できたときは(ステップS304;N)、このメモリユニットに今回保存した画像データに関する属性情報を画像管理テーブル50に登録する(ステップS307)。当該ページに関して未格納のブロックが存在するときは(ステップS308;N)、ステップS301に戻って次のブロックに対する処理を継続し、1ページ分の全ブロックについて格納処理が完了した場合は(ステップS308;Y)、本処理を終了する(リターン)。
図8は、1ページの画像データ30aを6ブロック(水平方向に3分割、垂直方向に2分割)に分割した後、ブロック毎に圧縮された画像データが、メモリ管理テーブル40aに基づいてシステムメモリ15へ格納される様子の一例を示している。
図中の一覧表32に示すように、この例では、各ブロックの画像データは、16進数表記で、ブロック(0,0)が0200hバイトに、ブロック(1,0)が0200hバイトに、ブロック(2,0)が0500hバイトに、ブロック(0,1)が0200hバイトに、ブロック(1,1)が0500hバイトに、ブロック(2,1)が0100hバイトにそれぞれ圧縮されるものとする。
メモリ管理テーブル40aには、メモリユニットU1(先頭アドレス1000h、サイズ0100h)、と、メモリユニットU2(先頭アドレス1800h、サイズ0500h)と、メモリユニットU3(先頭アドレス2000h、サイズ1000h)とに係わるユニット情報が登録されている。
したがって、一覧表32に示すように圧縮された画像データの格納処理をシステム制御部11がメモリ管理テーブル40aを参照して実行すると以下のような動作となる。まず、圧縮後のブロック(0,0)の画像データはメモリユニットU1の先頭から格納されていき、先頭から0100hバイト分の画像データ(A)を格納した時点でメモリユニットU1が満杯になり(処理R1)、残りの画像データ(B)は次のメモリユニットU2の先頭に格納される(R2)。
圧縮後のブロック(1,0)の画像データ(C)は、メモリユニットU2の続きのエリアに格納されていき(R3)、メモリユニットU2に全部格納される。圧縮後のブロック(2,0)の画像データは、メモリユニットU2の続きのエリアに格納されていき、ブロック(2,0)の先頭から0100hバイト分の画像データ(D)を格納した時点でメモリユニットU2が満杯になり(R4)、残りの画像データ(E)はメモリユニットU3の先頭に格納される(R5)。
さらに、圧縮後のブロック(0,1)の画像データ(F)および圧縮後のブロック(1,1)画像データ(G)、圧縮後のブロック(2,1)の画像データ(H)はメモリユニットU3の残りエリアにこの順で格納されていき(R6、R7、R8)、1ページ分の格納処理が完了する。
図9は、図8に示すように画像データが格納された場合に生成される画像管理テーブル50aと、これに関連するメモリ管理テーブル40aおよびジョブ管理テーブル60aとを示している。画像管理テーブル50aには、1回の格納動作(図8のR1〜R8のそれぞれ)に対して、その格納動作で格納した画像データに関する属性情報r1〜r8が登録される。
ここでは、属性情報rとして、当該画像データが属するブロックのブロック番号51と、格納した画像データのバイト数を示すサイズ情報52と、画像データの格納されたメモリユニットを特定するためのテーブル番号53と、そのメモリユニットの先頭から何バイト分後方の位置から当該画像データが格納されているかを示すオフセット情報54とが登録される。テーブル番号53は、該当するメモリ管理テーブル40aの先頭から何番目に登録されたユニット情報であるかを示しており、該属性情報rを特定のユニット情報に関連付けるためのリンク情報である。
たとえば、図9の画像管理テーブル50aの1行目に登録されている属性情報r1は図8の格納動作R1に対応したものであり、ブロック(0, 0)の画像データのうちの最初の0100hバイト(図8のA)が、テーブル番号「1」に対応するメモリユニットU1の先頭に格納されていることを示している。
また、2行目の属性情報r2は図8の格納動作R2に対応したものであり、ブロック(0, 0)の画像データの次の100hバイト(図8のB)が、テーブル番号「2」に対応するメモリユニットU2の先頭に格納されていることを示している。
同様に、3行目の属性情報r3は図8の格納動作R3に対応したものであり、ブロック(1, 0)の画像データのうち先頭から0200hバイト(図8のC)が、テーブル番号「2」に対応するメモリユニットU2の先頭から0100hバイト後方へオフセットした位置に格納されていることを示している。
メモリ管理テーブル40および画像管理テーブル50は1ページ分の画像データに対してそれぞれ作成されると共に、これらのテーブルとジョブとを関連付けるためのジョブ管理テーブル60が別途作成される。ジョブ管理テーブル60には、そのジョブに属するページ毎に、ページ番号(画像No.)とそのページに関するメモリ管理テーブル40の先頭アドレス(M_Ad)と画像管理テーブル50の先頭アドレス(Im_Ad)とが対応付けて登録される。
ジョブ管理テーブル60を参照することで、目的とするジョブの各ページに対応する画像管理テーブル50とメモリ管理テーブル40の格納位置を認識でき、該画像管理テーブル50とメモリ管理テーブル40とを参照することで、そのページに属する各ブロックの画像データがシステムメモリ15内のどの位置に分散して格納されているかを認識することができる。しがたって、システムメモリ15内で飛び飛びの位置にある複数のメモリ領域に格納された1ページ分の画像データを画像管理テーブル50に基づいて、元の1ページの画像データに繋げて読み出すことが可能になる。
なお、画像管理テーブル50のテーブル形式は、図9に例示したものに限定されない。たとえば、テーブル番号53の代わりに、参照先のユニット情報の格納場所を直接示すアドレス情報やポインタ情報を登録してもかまわない。また、テーブル番号53とオフセット情報54とに代えて、該当する画像データが格納されているメモリ領域の先頭アドレスを直接、画像管理テーブル50に登録してもよい。また、画像管理テーブル50にジョブ番号やジョブ内のページ番号を登録するように構成してもよい。
次に、上記のようにしてシステムメモリ15内の複数のメモリ領域に格納された画像データを大容量ストレイジデバイス(HDD)24へ保存する動作について説明する。
図10は、システムメモリ15に格納された画像データを大容量ストレイジデバイス(HDD)24へDMA転送して保存する動作の流れを示している。また、該保存動作に係わるコマンドやデータの流れについては図4に示してある。プロセッサ12は、大容量ストレイジデバイス(HDD)24へ転送するページに関連付けされたメモリ管理テーブル40の先頭アドレスをDMAコントローラ24aへ通知した後、該DMAコントローラ24aを起動する(図10:ステップS401、図4:P10)。メモリ管理テーブル40は、DMA用ディスクリプタテーブルと同じデータ構造で作成されているので、DMAコントローラ24aはメモリ管理テーブル40をDMA用ディスクリプタテーブルと認識し、該DMA用ディスクリプタテーブルの記述内容に従ってその先頭から順にDMA転送を実行する(図10:ステップS402、図4:P11)。
DMA用ディスクリプタテーブルに従ってDMA転送されたデータは一連の画像データ(1つの画像ファイル70)として大容量ストレイジデバイス(HDD)24に保存される。
メモリ管理テーブル40(DMA用ディスクリプタテーブル)に記述されたすべてのDMA転送が完了すると、プロセッサ12は大容量ストレイジデバイス(HDD)24に保存した画像ファイル70に関する属性ファイル80を画像管理テーブル50に基づいて作成し、これを大容量ストレイジデバイス(HDD)24に保存して(図10:ステップS403、図4:P12)処理を終了する(エンド)。
図11は、大容量ストレイジデバイス(HDD)24へ画像データを格納する前と、格納後と、読み出し後における各種テーブルの登録状態を示している。ここでは、図8、図9に示すようにしてシステムメモリ15に格納された画像データ(画像No.「0001」とする)を大容量ストレイジデバイス(HDD)24へDMA転送して格納する場合を例示している。大容量ストレイジデバイス(HDD)24へ格納する前は、図9に示すものと同じメモリ管理テーブル40aと画像管理テーブル50aとジョブ管理テーブル60aとが生成されている。
システムメモリ15から大容量ストレイジデバイス(HDD)24へのDMA転送が完了すると、プロセッサ12は、画像管理テーブル50aを参照して属性ファイル80aを作成する。属性ファイル80aには、ブロック番号とそのブロックのサイズ(バイト数)とが対応付けて登録される。プロセッサ12は、画像管理テーブル50aを検索し、同じブロック番号に係わる属性情報に登録されているサイズを合計して、当該ブロック番号のブロックのサイズを求める。
図11の例では、ブロック(0,0)のサイズは、画像管理テーブル50aに登録されている属性情報r1内のサイズ(0100h)と属性情報r2内のサイズ(0100h)とを合算(図11:m1)して求めている。ブロック(1,0)については画像管理テーブル50aに登録されている属性情報r3が1つだけなので、当該属性情報r3内のサイズ(0200h)をそのまま当該ブロックのサイズとして属性ファイル80aに登録している。
画像ファイル70には、ブロック(0,0)からブロック(2,1)までの画像データが連続したデータとして登録されるため、該連続した画像データをブロック別に識別するための情報(ブロック識別情報)として属性ファイル80aが作成される。
大容量ストレイジデバイス(HDD)24へ画像ファイル70および属性ファイル80を格納した後、該当するメモリ管理テーブル40aおよび画像管理テーブル50aはシステムメモリ15上から削除される。また、メモリ管理テーブル40aに登録されていた各メモリ領域は開放される。さらに、格納したページ(図11では画像No.「0001」)に係わる情報がジョブ管理テーブル60aから削除される(ジョブ管理テーブル60b参照)。
図12は、大容量ストレイジデバイス(HDD)24への画像ファイルおよび属性ファイルの格納状態の一例を、ディレクトリ構造で表したものである。画像ファイルは画像ファイル用フォルダ91にまとめて保存され、属性ファイルは属性ファイル用フォルダ92にまとめて保存される。画像ファイルとこれに対応する属性ファイルには同じファイル名を付してあり、ファイル名で対応関係を認識できるようにしてある。
なお、各ファイルの格納方法は図12に例示したものに限定されず、たとえば、画像ファイルと属性ファイルとを同一のフォルダに入れておき、拡張子で区別してもよいし、1つの画像ファイルとこれに関連する属性ファイルとが格納されるフォルダを画像ファイル毎に生成するようにしてもよい。画像ファイルと属性ファイルとの対応関係が認識可能に保存されればよい。
次に、大容量ストレイジデバイス(HDD)24に格納された画像データを読み出してシステムメモリ15へ格納するまでの読出動作について説明する。
図13は、大容量ストレイジデバイス(HDD)24からの読出動作の流れを、図14は、該処理におけるコマンドやデータの流れを示している。まず、プロセッサ12は、指示されたジョブの内容に応じて、大容量ストレイジデバイス(HDD)24内の該当する画像ファイルを選択した後(ステップS501)、その画像ファイルに格納されている画像データの容量を調べる(ステップS502)。
さらに、その画像ファイルに関連付けされている属性ファイルを読み込み(ステップS503)、ブロック数および各ブロックのサイズを認識する(ステップS504、図14:P21)。そして、これらのブロックの画像データをブロック毎に格納するためのメモリ領域(メモリユニット)を、メモリ管理テーブル生成機能12aを起動してシステムメモリ15上に確保し(ステップS505)、対応するメモリ管理テーブル40をDMA用ディスクリプタテーブルと同一のデータ構造で作成する(ステップS506、図14:P22)。
次に、プロセッサ12は、作成したメモリ管理テーブル40の先頭アドレスをDMAコントローラ24aへ通知した後(ステップS507)、DMAコントローラ24aを起動する(ステップS508、図14:P23)。メモリ管理テーブル40は、DMA用ディスクリプタテーブルと同じデータ構造で作成されているので、DMAコントローラ24aはメモリ管理テーブル40をDMA用ディスクリプタテーブルと認識し、該DMA用ディスクリプタテーブルの記述内容に従ってその先頭から順にDMA転送を実行し、1つの画像ファイル70に格納されていた画像データを複数のメモリユニットに分散して格納する(図14:P24)。
メモリ管理テーブル40(DMA用ディスクリプタテーブル)に記述されたすべてのDMA転送が完了すると(ステップS509)、プロセッサ12は、今回のDMA転送した画像ファイルに関連付けされた属性ファイル80とメモリ管理テーブル40とに基づいて画像管理テーブル50を作成し、該画像管理テーブル50の先頭アドレスと先のメモリ管理テーブル40の先頭アドレスとをジョブ管理テーブル60に登録して(ステップS510、図14:P25)処理を終了する(エンド)。
図11の右側には、同図中央の属性ファイル80aに対応する画像ファイル(画像No.「0001」)を大容量ストレイジデバイス(HDD)24からシステムメモリ15へ読み出した際に作成される画像管理テーブル50bおよびメモリ管理テーブル40b、ジョブ管理テーブル60cを示してある。メモリ管理テーブル40bには、属性ファイル80aに登録されているブロック(0,0)からブロック(2,1)までのそれぞれのサイズに対応するメモリユニットが確保されて登録されている。ここでは、各ブロックが1つのメモリユニットに格納されるので、画像管理テーブル50bには、ブロック毎の属性情報が作成されて登録されている。ジョブ管理テーブル60cには画像No.「0001」についての情報65が追加登録されている。
図15は、大容量ストレイジデバイス(HDD)24への格納前と読み出し後における、画像No.「0001」の画像データとこれに関連するテーブルとのシステムメモリ15上での配置を、図11に対応させて示したものである。大容量ストレイジデバイス(HDD)24への格納前(同図(a)は、1つのブロックが複数のメモリユニットに分散して格納されたり(たとえば、ブロック(0,0)はメモリユニット1とメモリユニット2に分散)、複数のブロックに係わる画像データが1つのメモリユニットに混在して格納されたり(たとえば、メモリユニット3にはブロック(2,0)、(0,1)、(1,1)、(2,1)が混在)していたが、大容量ストレイジデバイス(HDD)24から読み出した後は(同図(b))、1つのメモリユニットに1つのブロックの画像データが格納されている。
メモリ管理テーブル40aおよび画像管理テーブル50aは、画像データを大容量ストレイジデバイス(HDD)24へ格納した際にシステムメモリ15上から一旦消去され、大容量ストレイジデバイス(HDD)24からの読み出し時に、新たなメモリ領域を確保し、新たなメモリ管理テーブル40bおよび画像管理テーブル50bが作成されている。ジョブ管理テーブル60は常時同じ位置(図15では8000h)に配置されており、その内容のみが変更されている。
このように、大容量ストレイジデバイス(HDD)24への保存時に属性ファイル70を作成しておくことで、ブロック毎の境界を認識して大容量ストレイジデバイス(HDD)24から画像データを読み出すことができ、ブロック単位に圧縮されている画像データをブロック単位に伸張することができる。また、ブロック毎にメモリ領域を確保して画像管理テーブル50bで管理することにより、それぞれのブロックはメモリ上で連続したデータ配置となり、画像の回転などの加工が行ないやすくなり、その後の画像処理を効率よく行なうことができる。
なお、1つのブロックを連続して格納できる大きさのメモリ領域(メモリユニット)を確保できないときは、1つのブロックの画像データを複数のメモリ領域(メモリユニット)に分けて格納するように構成してもよい。この場合、大容量ストレイジデバイス(HDD)24から読み出される画像データを、図7、図8に示す格納処理と同様の手順で格納すればよい。
なお、大容量ストレイジデバイス(HDD)24からシステムメモリ15へ読み出された画像データを印刷出力する場合は、図14のP31からP35に示す手順で出力動作が実行される。詳細には、プロセッサ12は、今回出力するページに係わるメモリ管理テーブル40と画像管理テーブル50の先頭アドレスおよびページの回転有無などに関する情報をシステム制御部11に通知すると共に(P31)、システム画像処理部16、記録画像処理部21、LD19を起動する(P32)。システム制御部11は、通知された画像管理テーブル50およびメモリ管理テーブル40を参照し、該当する画像データが格納されているメモリユニットの位置とサイズとを認識し、該メモリユニットから画像データを読み出してシステム画像処理部16へ転送する(P33)。
システム画像処理部16は、1ブロック分の画像データの転送が完了すると、その画像データを伸張して圧縮前の画像データを復元する。また復元した1ブロック分の画像データをページメモリ内の該当位置に配置する(P34)。この処理を1ページの全ブロックについて完了するまで継続し、1ページ分の画像データが揃うと、該画像データを記録画像処理部21を通じてLD19へ出力して記録紙への印刷を実行する(P35)。
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
たとえば、本実施の形態では、システムメモリに画像データを保存するようにしたが、本発明は画像データの保存用に大きな空き領域を常時確保しておくことが難しく、飛び飛びの空き領域に分散して画像データを格納する必要のある場合に有効なものであり、画像データを格納するメモリは、システムメモリ以外のメモリであってもかまわない。
また、図2や図8に示した画像データの分割状態は例示であり、どのようなサイズのブロックに分割するか、あるいはいくつのブロックに分割するかなどは適宜に設定すればよい。
画像管理テーブルに登録する情報は、実施の形態で例示したものに限定されず、複数のメモリ領域に分散して格納された画像データを、元の状態に繋ぎ合わせることのできる情報が少なくとも登録されていればよい。
また、実施の形態では、スキャナから読み込んだ画像データをシステムメモリ15へ格納するに際して標準的なメモリ領域を確保しておき、画像データの格納中にメモリ領域が不足した場合に新たな領域を追加して確保するようにしたが、最初から充分な量のメモリ領域を確保し、余った分を後で開放するように構成してもよい。なお、上述の実施の形態においては、大容量ストレージデバイス24が、画像処理装置10に内蔵される例を述べたが、これに限らず、大容量ストレージデバイス24と画像処理装置10とが接続された系においても、本発明は適用可能である。
本発明の各実施の形態に係わる画像処理装置の概略構成を示すブロック図である。 1ページ分の画像データの分割状態の一例を示す説明図である。 本発明の実施の形態に係わる画像処理装置が行なう読取動作全体を示す流れ図である。 図3に示す読取動作および大容量ストレイジデバイス(HDD)への格納処理におけるコマンドやデータの流れを示す説明図である。 メモリ管理テーブルの作成処理を示す流れ図である。 システムメモリの空き状態と生成されたメモリ管理テーブルとの対応関係の一例を示す説明図である。 システム画像処理部で圧縮された1ブロックの画像データをシステムメモリに格納する格納処理の流れ図である。 分割された画像データがメモリ管理テーブルに基づいてシステムメモリ上の複数のメモリユニットに格納された状態を示す説明図である。 図8に示すように画像データが格納された場合に生成される画像管理テーブルの一例と、これに関連するメモリ管理テーブルおよびジョブ管理テーブルを示す説明図である。 大容量ストレイジデバイス(HDD)への保存動作の手順を示す流れ図である。 大容量ストレイジデバイス(HDD)へ画像データを保存する前後における各種テーブルの登録状態の一例を示す説明図である。 画像ファイルおよび属性ファイルの大容量ストレイジデバイス(HDD)への格納状態の一例をディレクトリ構造で表わした説明図である。 大容量ストレイジデバイス(HDD)からの読出動作の手順を示す流れ図である。 図13に示す読出動作およびシステムメモリからの出力動作におけるコマンドやデータの流れを示す説明図である。 大容量ストレイジデバイス(HDD)への格納前後における、画像データおよび各種テーブルのシステムメモリ上での配置状態を、図11に対応させて示した説明図である。
符号の説明
10…画像処理装置
11…システム制御部
12…プロセッサ
12a…メモリ管理テーブル生成機能
13…周辺制御部
14…LCDパネル
15…システムメモリ
16…システム画像処理部
16a…画像分割部
16b…圧縮/伸張部
17…CCD
17a…スキャナ
18…読取画像処理部
19…LD
21…記録画像処理部
22…ROM
23…小容量ストレイジデバイス
24…大容量ストレイジデバイス(HDD)
24a…DMAコントローラ
25…不揮発メモリ
26…外部インターフェイス部
30、30a…1ページ分の画像データ
31…ブロック
40、40a、40b…メモリ管理テーブル
Ad…先頭アドレス
Sz…領域サイズ
EOT…終了ビット
50、50a、50b…画像管理テーブル
51…ブロック番号
52…サイズ情報
53…テーブル番号
54…オフセット情報
R1〜R8…格納動作
r1〜r8…属性情報
60、60a、60b、60c…ジョブ管理テーブル
70…画像ファイル
80、80a…属性ファイル
91…画像ファイル用フォルダ
92…属性ファイル用フォルダ

Claims (9)

  1. メモリと、
    画像データを格納するためのメモリ領域として、連続した空き領域であるメモリユニットを前記メモリ内の1または2以上の空き領域から複数確保し、メモリユニットの先頭アドレスとサイズを含むユニット情報を前記確保したすべてのメモリユニットについて登録したメモリ管理テーブルを作成する領域確保手段と、
    前記領域確保手段が作成した前記メモリ管理テーブルを参照して、該メモリ管理テーブルに登録されているユニット情報に対応する複数のメモリユニットに前記画像データを分割して格納する格納制御手段と、
    画像データを記憶可能なストレージ装置と、
    前記メモリと前記ストレージ装置との間での画像データのDMA転送を、複数回分のDMA転送の内容を記述可能なDMA転送用テーブルを参照して実行するDMA転送手段とを備え、
    前記領域確保手段は、前記DMA転送手段が前記メモリ管理テーブルを前記DMA転送用テーブルとして参照できるように、前記メモリ管理テーブルをそれぞれのユニット情報が前記DMA転送用テーブルにおける1回分のDMA転送の内容を記述しかつユニット情報に含まれる先頭アドレスがDMA転送の開始アドレスをサイズが転送サイズを示すデータ構造で作成する
    ことを特徴とする画像処理装置。
  2. メモリと、
    画像データを格納するためのメモリ領域として、連続した空き領域であるメモリユニットを前記メモリ内の1または2以上の空き領域から複数確保し、メモリユニットの先頭アドレスとサイズを含むユニット情報を前記確保したすべてのメモリユニットについて登録したメモリ管理テーブルを作成する領域確保手段と、
    前記領域確保手段が作成した前記メモリ管理テーブルを参照して、該メモリ管理テーブルに登録されているユニット情報に対応する複数のメモリユニットに前記画像データを分割して格納する格納制御手段と、
    前記メモリと、画像データを記憶可能な外部のストレージ装置との間での画像データのDMA転送を、複数回分のDMA転送の内容を記述可能なDMA転送用テーブルを参照して実行するDMA転送手段とを備え、
    前記領域確保手段は、前記DMA転送手段が前記メモリ管理テーブルを前記DMA転送用テーブルとして参照できるように、前記メモリ管理テーブルをそれぞれのユニット情報が前記DMA転送用テーブルにおける1回分のDMA転送の内容を記述しかつユニット情報に含まれる先頭アドレスがDMA転送の開始アドレスをサイズが転送サイズを示すデータ構造で作成する
    ことを特徴とする画像処理装置。
  3. 前記領域確保手段は、前記DMA転送手段が1回のDMA転送で処理可能な最大転送サイズより大きい空き領域については前記最大転送サイズ以下の複数のメモリユニットに分けて前記メモリ管理テーブルを作成する
    ことを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記ストレージ装置に記憶されている画像データを読み出して前記メモリに格納する場合に、
    前記領域確保手段は、前記画像データを格納するためのメモリ領域として、前記メモリ内の1または2以上の空き領域から前記メモリユニットを複数確保し、該確保したすべてのメモリユニットについて前記ユニット情報を登録したメモリ管理テーブルを作成し、
    前記DMA転送手段は、前記メモリ管理テーブルを前記DMA転送用テーブルとして参照して、前記ストレージ装置から前記メモリへの前記画像データのDMA転送を実行する
    ことを特徴とする請求項1乃至3のいずれか1つに記載の画像処理装置。
  5. 前記格納制御手段が画像データを前記メモリに保存したとき、該保存された画像データに関する属性情報を画像管理テーブルに登録する画像管理情報登録手段をさらに有する
    ことを特徴とする請求項1乃至のいずれか1つに記載の画像処理装置。
  6. 画像データを複数のブロックに分割する画像分割手段を備え、
    前記格納制御手段は、前記画像分割手段で複数のブロックに分割された画像データを、前記メモリ管理テーブルに登録されている複数のユニット情報に対応する複数のメモリユニットに格納し、
    前記複数のメモリユニットに格納されている画像データを、前記画像分割手段で複数のブロックに分割する前の一連の画像データにして前記ストレージ装置に記憶させると共に、該一連の画像データを前記画像処理部で分割されたときのブロック別に識別するためのブロック識別情報を前記一連の画像データに関連付けて記憶する
    ことを特徴とする請求項1乃至5のいずれか1つに記載の画像処理装置。
  7. 前記ストレージ装置から前記一連の画像データを読み出す際に、該読み出された一連の画像データを分割して複数のメモリユニットに格納すると共に、前記ブロック識別情報に基づき、前記一連の画像データに含まれる各ブロックの画像データがどのメモリユニットに格納されたかを示す画像管理情報を作成する
    ことを特徴とする請求項6に記載の画像処理装置。
  8. 前記ブロックを単位に画像データを圧縮/伸張するようにし、
    前記メモリに、圧縮後の画像データを保存する
    ことを特徴とする請求項5乃至7のいずれか1つに記載の画像処理装置。
  9. 前記メモリは、メモリ領域の取得と開放とを行なうメモリ管理システムによって管理されている
    ことを特徴とする請求項1乃至8のいずれか1つに記載の画像処理装置。
JP2006138670A 2006-05-18 2006-05-18 画像処理装置 Expired - Fee Related JP4196299B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006138670A JP4196299B2 (ja) 2006-05-18 2006-05-18 画像処理装置
US11/714,876 US8107116B2 (en) 2006-05-18 2007-03-07 Image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006138670A JP4196299B2 (ja) 2006-05-18 2006-05-18 画像処理装置

Publications (2)

Publication Number Publication Date
JP2007312069A JP2007312069A (ja) 2007-11-29
JP4196299B2 true JP4196299B2 (ja) 2008-12-17

Family

ID=38844515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006138670A Expired - Fee Related JP4196299B2 (ja) 2006-05-18 2006-05-18 画像処理装置

Country Status (1)

Country Link
JP (1) JP4196299B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5039687B2 (ja) * 2008-12-10 2012-10-03 京セラドキュメントソリューションズ株式会社 画像処理装置
JP5568884B2 (ja) * 2009-04-02 2014-08-13 セイコーエプソン株式会社 映像処理装置、映像処理方法
JP5841902B2 (ja) * 2012-06-13 2016-01-13 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5813024B2 (ja) * 2013-01-29 2015-11-17 京セラドキュメントソリューションズ株式会社 画像処理装置
JP6323155B2 (ja) * 2014-05-13 2018-05-16 株式会社ソシオネクスト データ処理装置及びデータ処理装置の制御方法
US9558129B2 (en) * 2014-06-10 2017-01-31 Xilinx, Inc. Circuits for and methods of enabling the access to data

Also Published As

Publication number Publication date
JP2007312069A (ja) 2007-11-29

Similar Documents

Publication Publication Date Title
JP4196299B2 (ja) 画像処理装置
US7652671B2 (en) Image processing device and method and storage medium storing program
JP4857207B2 (ja) 画像形成装置および入出力制御方法
JP4695465B2 (ja) 画像形成装置、ハードウェア制御方法、および、ハードウェア制御プログラム
JP4903092B2 (ja) 画像処理装置、画像処理制御方法、及び画像処理制御プログラム
US20070247466A1 (en) Image processing apparatus and program
JP4269926B2 (ja) 画像処理装置及び画像処理方法
US6992788B2 (en) Image processing apparatus and method, and storage medium
JP5928505B2 (ja) 画像処理装置、同装置における画像処理方法及び画像処理プログラム
JP2006080632A (ja) デジタルスチルカメラ印刷システムおよびデジタルスチルカメラおよび印刷装置およびデジタルスチルカメラ印刷システムの制御方法およびデジタルスチルカメラ印刷システムのプログラム
JP5247516B2 (ja) 通信装置及びその制御方法、プログラム
JP2015115716A (ja) 画像読取装置及びその制御方法
JP4591943B2 (ja) ジョブ処理装置
JP4869890B2 (ja) 画像処理装置及びプログラム
JP2011192225A (ja) 印刷システム、情報処理装置、画像形成装置、印刷制御方法、印刷制御プログラム及び記録媒体
JP4323995B2 (ja) データ処理装置及びその制御方法
JPH05160993A (ja) 画像通信方法及び装置
JP4144878B2 (ja) データ処理装置及びデータ処理方法並びにコンピュータプログラム
JP4762865B2 (ja) 画像処理装置、画像処理プログラム
JP2007310627A (ja) 画像処理装置
JP5780768B2 (ja) 情報処理装置、その制御方法、およびプログラム
JP2008027217A (ja) 情報処理装置および印刷装置を備える印刷システム
JP2000134396A (ja) 画像編集装置及び記憶媒体
JPH1169032A (ja) ファクシミリ装置
JP2001243028A (ja) 印刷制御プログラムを記録した媒体、印刷制御装置および印刷制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080813

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

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

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

Free format text: PAYMENT UNTIL: 20111010

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees