JP2000293678A - 画像処理装置 - Google Patents
画像処理装置Info
- Publication number
- JP2000293678A JP2000293678A JP11102008A JP10200899A JP2000293678A JP 2000293678 A JP2000293678 A JP 2000293678A JP 11102008 A JP11102008 A JP 11102008A JP 10200899 A JP10200899 A JP 10200899A JP 2000293678 A JP2000293678 A JP 2000293678A
- Authority
- JP
- Japan
- Prior art keywords
- block
- image data
- data
- image
- 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
Links
Landscapes
- Record Information Processing For Printing (AREA)
- Image Input (AREA)
- Image Processing (AREA)
Abstract
と。 【解決手段】 本発明の画像処理装置は、回転対象のイ
メージデータを格納するイメージメモリ1と、イメージ
メモリ1に格納されたイメージデータを、少なくとも一
辺が中央処理装置のデータバス幅で一度に転送可能なピ
クセル数の倍数に対応したドット数をもつブロックに分
割し、回転対象となるブロックを決定するブロック決定
部2と、ブロック決定部2で決定されたブロックのイメ
ージデータのうち、中央処理装置による1回のデータ転
送命令で転送可能なドット数に対応するライン数分のイ
メージデータを一時格納するバッファメモリ3と、バッ
ファメモリ3に格納された複数ライン分のイメージデー
タに対して回転角度に応じた格納メモリ5への書き込み
アドレスを決定するアドレス制御部4とを備えている。
Description
で取り込んだイメージデータやホストコンピュータから
送信されたイメージデータを回転処理して出力する画像
処理装置に関する。
ストコンピュータ等)から受け取ったPDL(ページ記
述言語)を解釈し、出力装置の解像度に合わせたラスタ
データに変換して用紙に印字出力を行っている。通常、
PDLに含まれる描画オブジェクトは、文字や図形など
の描画命令と、各画素の色値や濃度値を表すビット列と
から成るイメージ描画命令から構成される。そして、文
字や図形はそれぞれ専用の描画手段によって指定された
大きさや色、濃度を持ったラスタデータに変換され、出
力ページ上のPDLで指定された位置に書き込まれる。
階調数や解像度などが異なる複数の画像フォーマットに
対応しているのが一般的であり、画像処理装置ではPD
Lによる指定値や出力部の解像度等に合わせてイメージ
データの解像度変換、色変換、拡大縮小処理、あるいは
使用メモリ量節約のための圧縮、伸長処理等を行い、出
力ページ上のPDLで指定された位置に書き込まれる。
際に印字する用紙の向きが異なる場合や、両面印刷機能
を有するプリンタにおいて用紙の表裏で画像の天地が逆
になるのを防止する場合等には、必要に応じて前記用紙
に印字出力するラスタデータやイメージデータに対する
画像回転処理が行われる。
行う処理は、特開平3−37774号公報等に開示され
るように、イメージデータを複数のブロックに分割し、
1ライン分のイメージデータを格納可能なバッファメモ
リを用意し、回転対象のイメージデータを1ライン単位
でバッファメモリに読み出し、書き込み先ブロックの位
置と回転角度から書き込みアドレスを計算し、バッファ
メモリからイメージデータを格納するメモリへ書き込む
処理を繰り返すことで実現される。この際、画像データ
の読み出し、書き込み処理はすべて1ピクセル毎に行わ
れるため、画像全体を回転されるのに要する画像データ
の読み出し、書き込みの回数はその画像の総ピクセル数
と等しくなる。
の高解像度化やカラー化の進展によって画像のデータ量
は著しく増加しており、これによって画像格納に必要な
メモリ量の増加だけではなく、MPUで実行されるデー
タ転送命令の回数増加に起因する画像回転処理時間の増
大も大きな問題となってきている。特に、昨今では多く
のMPUにキャッシュ機構が内蔵されているため、デー
タの転送命令が増加するとMPU内部で暗黙のうちにキ
ャッシュのフラッシュが頻繁に発生し、プリンタ装置の
処理速度低下を引き起こすことになる。
題を解決するために成された画像処理装置である。すな
わち、本発明の画像処理装置は、回転対象のイメージデ
ータを格納するイメージメモリと、イメージメモリに格
納されたイメージデータを、少なくとも一辺が中央処理
装置のデータバス幅で一度に転送可能なピクセル数の倍
数に対応したドット数をもつブロックに分割し、回転対
象となるブロックを決定するブロック決定手段と、ブロ
ック決定手段で決定されたブロックのイメージデータの
うち、中央処理装置による1回のデータ転送命令で転送
可能なドット数に対応するライン数分のイメージデータ
を一時格納するバッファメモリと、バッファメモリに格
納された複数ライン分のイメージデータに対して回転角
度に応じた格納メモリ書き込みアドレスを決定するアド
レス制御手段とを備えている。
回転を行うにあたり、回転対象のイメージデータを、少
なくとも一辺が中央処理装置のデータバス幅で一度に転
送可能なピクセル数の倍数に対応したドット数となるブ
ロックに分割し、回転対象となるブロックをブロック決
定手段で決定し、イメージメモリに格納してからアドレ
ス制御手段のアドレス制御で格納メモリへ回転した状態
で格納している。このバッファメモリとしてブロックの
幅に対応し、中央処理装置による1回のデータ転送命令
で転送可能なドット数に対応した複数ライン分を用意す
ることで、データバス幅に対応したバッファメモリへの
データ格納を行うことができるとともに、バッファメモ
リから中央処理装置による1回のデータ転送命令で転送
可能なドット数のデータをパッキングして順次格納メモ
リに書き込むことができ、必要最小限のデータ転送命令
で読み出し、書き込みを行うことができるようになる。
ける実施の形態を図に基づいて説明する。図1は、本実
施形態における画像処理装置を説明するブロック図であ
る。すなわち、この画像処理装置は、入力したイメージ
データを格納するイメージメモリ1と、イメージメモリ
1に格納されたイメージデータを複数のブロックに分割
し、回転対象となるブロックを決定するブロック決定部
2と、回転対象のブロックのイメージデータのうち複数
ライン分を一時格納するバッファメモリ3と、バッファ
メモリ3に一時格納されたイメージデータに対して回転
角度に応じた格納メモリ5への書き込みアドレスを決定
するアドレス制御部4とから構成されている。
で取り込んだイメージデータやネットワークを介してホ
ストコンピュータから送られてきたイメージデータを一
時格納する。
リ1に格納されたイメージデータを、少なくとも一辺が
中央処理装置(以下、「MPU」と言う。)のデータバ
ス幅で一度に転送可能なピクセル数の倍数に対応したド
ット数(ピクセル数)をもつブロックに分割し、回転対
象となるブロックを決定する部分である。例えば、MP
Uのデータバス幅が16ビットで、1ピクセル当たりの
ビット数が4ビットの場合、4の倍数の正方領域を1つ
のブロックとする。なお、ブロックは長方形領域でもよ
い。これにより、イメージメモリ1からバッファメモリ
3へイメージデータを転送するにあたり、データバスを
有効に利用できることになる。
部2で決定されたブロックのイメージデータのうち、M
PUによる1回のデータ転送命令で転送可能なドット数
(ピクセル数)に対応するライン数分のイメージデータ
を一時格納する。
格納された複数ライン分のイメージデータに対して読み
出しアドレスと、格納メモリ5への書き込みアドレスと
を制御する。このアドレス制御によって、バッファメモ
リ3から読み出されたイメージデータは、所定の角度回
転した状態で格納メモリ5に格納される。
る画像回転処理の流れを説明するフローチャートであ
る。本実施形態では、イメージメモリ1(図1参照)に
格納された任意サイズのイメージデータを幅、高さが等
しく、各々アライメントが取られたサイズの複数のブロ
ックに分割して回転処理を行う。そこで、先ず、ステッ
プS101において、イメージメモリ1上に格納された
イメージデータの行、列各々の方向のブロック分割数を
取得する。
ック分割数)および(ブロックの幅×行方向のブロック
分割数)は、各々回転対象となるイメージデータの高さ
および幅と等しいか、またはそれより大きくなるので、
図3に示すようにブロックの周囲にイメージデータのな
い余白部分ができることがある。
データ、余白のどちらであるかを識別できるよう、ステ
ップS102の処理でブロック境界からイメージデータ
部分までのオフセット値として各ブロックの余白のピク
セル数を取得する(図3参照)。
ジデータを一時的に格納するため、ブロックと同じ幅と
持ち、MPUにおける1回のデータ転送命令で転送可能
なピクセル数と同じライン数のバッファメモリ3(図1
参照)を確保する。続いて、ステップS104で、回転
処理後のイメージデータを格納するための領域として、
(ブロック当たりのピクセル数×列方向のブロック分割
数×行方向のブロック分割数)に等しいサイズの格納メ
モリ5(図1参照)を確保する。
のデータバス幅でアライメントが取られていなければな
らない。次いで、ステップS105〜S112のループ
処理にて、各ブロックに対してイメージデータの回転処
理を行う。ここでは、回転処理の対象となるブロックの
移動順序として、図3に示す最上行最左列を最初とし、
行方向に順に右へ移動し、ある行の一番右まできたら次
の列の一番左に戻るという規則に従っている場合を例と
する。
象となるブロックを最上行最左列に設定する。次に、ス
テップS106で回転角度をもとに処理対象となるブロ
ックが回転後のイメージにおいて貼り付けられるブロッ
クを決定する。図4は、回転後のブロックを説明する図
で、(a)は回転前の状態、(b)は反時計方向に90
度回転した状態、(c)は時計方向に90度回転した状
態を示している。すなわち、図4(a)に示す最上行最
左列のブロックを反時計方向に90度回転する場合に
は、(b)に示すように最下行最左列のブロックに貼り
付けられ、時計方向に90度回転する場合には、(c)
に示すように最上行最右列のブロックに貼り付けられる
ことになる。
ックのイメージデータを一旦ステップ103で確保した
バッファメモリ3(図1参照)に転送した後、回転させ
て、ステップS104で確保した格納メモリ5(図1参
照)へ、ステップS106で決定した貼り付け先のブロ
ックに貼り付ける処理を行う。この部分の処理の詳細は
後述する。
ブロックがその行の右端かどうかを判定し、右端でない
場合はステップS109で処理対象のブロックを1列右
へ移動してステップS106へ戻り、右端の場合はステ
ップS110で最下行かどうかを判定し、最下行でなけ
ればステップS111、ステップS112で処理対象の
ブロックを1行下の最左列へ移動してステップS106
へ戻る。最下行であれば全ブロックの回転処理が終了し
ているため、ループ処理を抜ける。この時点でステップ
S104で確保したメモリ上に回転されたイメージデー
タが格納されることになる。
ク回転・貼り付け処理の詳細について図5のフローチャ
ートに沿って説明する。この処理は、イメージメモリ1
(図1参照)上に格納されたブロックのイメージデータ
を一旦バッファメモリ3(図1参照)に転送しながら指
定された角度で回転し、回転処理後のイメージデータを
格納メモリ5(図1参照)の指定されたブロックの領域
に貼り付けるものである。
貼り付け処理の対象となるピクセルの移動順序として、
最上行最左列を最初とし、行方向に順に右へ移動し、あ
る行の一番右まできたら次の列の一番左に戻るという規
則に従っている場合を例に説明を行う。
となるピクセルを最上行最左列に設定する。次に、ステ
ップS202で貼り付け回数カウンタをゼロクリアす
る。このカウンタの値は、後ほど貼り付け位置を決定す
る際に参照する。続いて、ステップS203で処理対象
となるピクセルを前述のステップS103(図2参照)
で確保したバッファメモリ3(図1参照)上に転送する
際の書き込み位置を最上行最左列に設定する。
ピクセルが余白かどうかをステップS102(図2参
照)で取得したオフセット値を用いて判定し、イメージ
データがある領域の場合はステップS205でそのピク
セルのデータをバッファメモリ3(図1参照)上の書き
込み位置に転送し、余白の場合にはステップS206で
疑似データとして例えば各色の色値を0としたデータを
転送する。
クセルがその行の右端かどうかを判定し、右端でない場
合はステップS208で処理対象のピクセルおよびバッ
ファメモリ3(図1参照)の書き込み位置を1列右へ移
動してステップS204へ戻り、右端の場合はステップ
S209でバッファメモリ3が一杯かどうかを判定し、
一杯でなければステップS210、ステップS211で
処理対象のピクセルおよびバッファメモリ3の書き込み
位置を1行下の最左列へ移動してステップS204へ戻
る。
合、ステップS212へ進んでバッファメモリ3の内容
を回転しながらステップS104(図2参照)で確保し
た格納メモリ5(図1参照)のステップS106(図2
参照)で指定されたブロックの領域に貼り付ける処理を
行う。この部分の処理の詳細は後述する。
13で貼り付け回数カウンタを+1する。続いて、ステ
ップS214で処理対象のピクセルが最下行かどうかを
判定し、最下行でなければステップS215、ステップ
S216で処理対象のピクセルを1行下の最左列へ移動
してステップS203へ戻る。一方、最下行であればブ
ロック内の全ピクセルの回転処理が終了しているため、
ループ処理を抜ける。この時点、ステップS104(図
2参照)で確保した格納メモリ5(図1参照)上の指定
されたブロックの領域に、回転された処理対象のブロッ
クのイメージデータが格納されていることになる。
貼り付け処理の詳細について図6のフローチャートに沿
って説明する。この処理は、バッファメモリ3(図1参
照)に転送されたピクセルデータを指定された角度で回
転しながら効率良く格納メモリ5(図1参照)の指定さ
れたブロックに貼り付けるものである。
3(図1参照)上にあるピクセルのデータの格納メモリ
5(図1参照)上での貼り付け先アドレスを決定する。
これは、回転角度とステップS106(図2参照)で指
定された貼り付け先のブロックおよび前述の貼り付け回
数カウンタの値をもとに行う。
式図で、反時計方向に90度回転させる場合を例として
いる。このブロックは16ピクセル×16ピクセルの正
方領域になっており、バッファメモリ3はブロックの幅
(16ピクセル)×MPUの1回のデータ転送命令で転
送可能なピクセル数(4ピクセル)から構成されてい
る。したがって、貼り付け回数カウンタは0〜3までカ
ウントアップする。
ジデータの格納メモリへの貼り付け先アドレスは、貼り
付け回数カウンタと回転角度とで求まる格納メモリの貼
り付け先のブロックの貼り付け先ピクセルの範囲にな
る。
7のループ処理によって、バッファメモリ3(図7参
照)内の各ラインの行方向位置が同一なピクセルをひと
かたまりのデータとしてパッキングし、回転後の画像を
格納メモリ5へ貼り付けるようにする。
の最初に貼り付け対象とするピクセルの行方向位置を一
番左に設定する。次に、ステップS303でバッファメ
モリ3(図7参照)内各行の、貼り付け対象とする行方
向位置のピクセルを読み出し、回転角度に応じた順序で
MPUのデータレジスタに配置する。
ッファメモリ3(図7参照)を確保する際に、ライン数
はMPUにおける1回のデータ転送命令で転送可能なピ
クセル数と同じにしているため、バッファメモリ3の全
ライン分のピクセルデータがMPUのデータレジスタを
丁度埋めることになる。
容を回転後画像格納メモリの貼り付け先アドレスに転送
する。この転送命令は1回の実行で複数のピクセルデー
タを転送したことになる。次に、ステップS305でバ
ッファ内の貼り付け対象とするピクセルの行方向位置を
1つ右へずらし、ステップS307で次の貼り付け先ア
ドレスを決定する。
け終わったことになるため、ループ処理を抜ける。
ある。すなわち、回転元のブロックから読み出されバッ
ファメモリ2に格納されたイメージデータは、一番左の
行から順に同じ行の4ピクセル(A〜D)が読み出され
る。読み出された4ピクセルのデータは、反時計方向に
90度回転する場合には(A、B、C、D)の順に貼り
付け先のブロックの一番下の行から書き込まれ、時計方
向に90度回転する場合には(D、C、B、A)の順に
貼り付け先のブロックの一番上の行から書き込まれる。
ある。上記のように4ピクセルを貼り付け先のブロック
に書き込んだ後は、貼り付け対象の4ピクセルを右に1
つ移動し、反時計方向に90度回転する場合には、先に
書き込んだ4ピクセルの1つ上の行に書き込み、時計方
向に90度回転する場合には、先に書き込んだ4ピクセ
ルの1つ下の行に書き込む。これを順次繰り返すこと
で、バッファメモリ2に格納された全てのイメージデー
タを貼り付け先のブロックに回転した状態で書き込むこ
とができるようになる。
付け処理が終了した後は、次のブロックで同様な回転貼
り付け処理を繰り返す。全てのブロックの回転貼り付け
処理が終了すると、格納メモリ5(図1参照)に全ての
イメージメモリの回転後のデータが格納されることにな
る。
の回転処理の対象となるピクセルが余白の場合には、疑
似データとして各色の色値を0としてデータを使用する
代わりに、そのブロックに含まれるイメージデータの最
外周部分のピクセルデータを使用するとも可能である。
これにより、後段の処理において圧縮を行う場合、圧縮
率の改善を図ることが可能となる。
装置によれば次のような効果がある。すなわち、バッフ
ァメモリから格納メモリへのデータ転送を1回の転送命
令によってデータバス幅に応じて複数ピクセル分同時に
行うようにしていることから、データ転送命令の実行回
数を大幅に減少させることが可能となる、中央処理装置
の内部で発生するキャッシュのアクセスを最適化するこ
とが可能となる。これにより、大きな画像データの回転
処理を大幅に高速化することが可能となる。
がある場合、その余白部分に疑似データを割り当てるこ
とでブロックのイメージデータを回転処理する際の高速
化を図ることができる。また、余白部分にそのブロック
に含まれるイメージデータの最外周部分のピクセルデー
タを使用することで、後段の処理においてイメージを圧
縮する際の圧縮率を向上させることができ、メモリ量の
削減を図るとが可能となる。
ク図である。
トである。
る。
トである。
る。
る。
ァメモリ、4…アドレス制御部、5…格納メモリ
Claims (3)
- 【請求項1】 回転対象のイメージデータを格納するイ
メージメモリと、 前記イメージメモリに格納されたイメージデータを、少
なくとも一辺が中央処理装置のデータバス幅で一度に転
送可能なピクセル数の倍数に対応したドット数をもつブ
ロックに分割し、回転対象となるブロックを決定するブ
ロック決定手段と、 前記ブロック決定手段で決定されたブロックのイメージ
データのうち、中央処理装置による1回のデータ転送命
令で転送可能なドット数に対応するライン数分のイメー
ジデータを一時格納するバッファメモリと、 前記バッファメモリに格納された複数ライン分のイメー
ジデータに対して回転角度に応じた格納メモリ書き込み
アドレスを決定するアドレス制御手段とを備えているこ
とを特徴とする画像処理装置。 - 【請求項2】 前記ブロック決定手段で決定したブロッ
クを構成するドットのうちイメージデータのないドット
がある場合、そのドットに疑似データを割り当てること
を特徴とする請求項1記載の画像処理装置。 - 【請求項3】 前記疑似データは、イメージデータのな
いドットがあるブロックのイメージデータにおける最外
周のデータから成ることを特徴とする請求項2記載の画
像処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11102008A JP2000293678A (ja) | 1999-04-09 | 1999-04-09 | 画像処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11102008A JP2000293678A (ja) | 1999-04-09 | 1999-04-09 | 画像処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000293678A true JP2000293678A (ja) | 2000-10-20 |
Family
ID=14315758
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11102008A Pending JP2000293678A (ja) | 1999-04-09 | 1999-04-09 | 画像処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000293678A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1507249A1 (en) * | 2003-08-12 | 2005-02-16 | ARM Limited | Display controller for rotation of display image |
| JP2012170058A (ja) * | 2011-02-14 | 2012-09-06 | Xerox Corp | ラインセグメント読み出しバッファを用いた画像タイル回転用のシステム、方法および装置 |
| US8417063B2 (en) | 2011-01-19 | 2013-04-09 | Kabushiki Kaisha Toshiba | Image processing apparatus and image processing system |
-
1999
- 1999-04-09 JP JP11102008A patent/JP2000293678A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1507249A1 (en) * | 2003-08-12 | 2005-02-16 | ARM Limited | Display controller for rotation of display image |
| US8417063B2 (en) | 2011-01-19 | 2013-04-09 | Kabushiki Kaisha Toshiba | Image processing apparatus and image processing system |
| JP2012170058A (ja) * | 2011-02-14 | 2012-09-06 | Xerox Corp | ラインセグメント読み出しバッファを用いた画像タイル回転用のシステム、方法および装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5315691A (en) | Print control apparatus | |
| US6860203B2 (en) | Method and apparatus for printing computer generated images | |
| US20140362395A1 (en) | Image processing apparatus and method | |
| JP4250470B2 (ja) | 情報処理装置及び情報処理方法及び印刷制御プログラム | |
| JPH0263763A (ja) | 出力方法及びその装置 | |
| JP2001213015A (ja) | 画像記録装置 | |
| JP3285930B2 (ja) | 画像処理装置 | |
| JP2000293678A (ja) | 画像処理装置 | |
| JP4709317B2 (ja) | 情報処理装置及び情報処理方法及び印刷制御プログラム | |
| US20070279420A1 (en) | Apparatus for processing print data | |
| JP3554237B2 (ja) | 画像処理装置及びその方法 | |
| JP2002079712A (ja) | 印刷装置、印刷装置の制御方法、印刷制御装置、および印刷制御装置の制御方法 | |
| JPH10129050A (ja) | 印刷処理装置 | |
| JP2001096854A (ja) | 印刷処理装置および印刷処理方法 | |
| JP3997808B2 (ja) | 描画処理装置および描画処理方法 | |
| JPH03114856A (ja) | プリンタデータ管理方式 | |
| JP3864520B2 (ja) | 印刷処理装置及び印刷処理方法 | |
| US20020109853A1 (en) | Generating images quickly in raster image processing | |
| JP2739481B2 (ja) | ページプリンタ | |
| JP4280388B2 (ja) | 画像処理装置、方法及び記憶媒体 | |
| JP2637921B2 (ja) | 文字記号発生装置 | |
| JP2006159458A (ja) | 画像出力装置 | |
| JP2005123806A (ja) | 画像処理方法及び画像処理システム | |
| JP2737880B2 (ja) | 文字処理装置および方法 | |
| JP2000335024A (ja) | プリンタシステムおよびディザデータ処理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040319 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070122 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070213 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070416 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070522 |