JP2804387B2 - 印刷画像の縦横変換方法 - Google Patents

印刷画像の縦横変換方法

Info

Publication number
JP2804387B2
JP2804387B2 JP3144613A JP14461391A JP2804387B2 JP 2804387 B2 JP2804387 B2 JP 2804387B2 JP 3144613 A JP3144613 A JP 3144613A JP 14461391 A JP14461391 A JP 14461391A JP 2804387 B2 JP2804387 B2 JP 2804387B2
Authority
JP
Japan
Prior art keywords
data
vertical
horizontal
pixels
pixel data
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
JP3144613A
Other languages
English (en)
Other versions
JPH05114024A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP3144613A priority Critical patent/JP2804387B2/ja
Publication of JPH05114024A publication Critical patent/JPH05114024A/ja
Application granted granted Critical
Publication of JP2804387B2 publication Critical patent/JP2804387B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、横並びのデータ列の
集合として管理されている1フレーム分の画像データす
なわちイメージデータの画素データ群を縦並びのデータ
列の集合に変換して印刷する印刷画像の縦横変換方法に
関するものである。
【0002】
【従来の技術】コンピュータのCPUでは、通常、イメ
ージデータの画素データ群を横並びのデータ列の集合と
して管理しており、CPUからプリンタにイメージデー
タを出力する場合には、横並びのデータ列の集合から縦
並びのデータ列の集合に変換するイメージデータの縦横
変換が必要になる。
【0003】図2は前記CPUによって管理されるイメ
ージデータ1の画素データ群を具体的に示したもので、
図3は前記CPUのメモリ2上のデータ配列を示してい
る。また、図4は前記イメージデータ1をプリンタ出力
用の縦並びのデータ列の集合として図示したものであ
り、さらに図5はイメージデータ1を前記縦並びのデー
タ列の集合としたときのメモリ2上のデータ配列を示し
ている。
【0004】なお、前記図2および図4に示したイメー
ジデータ1は、縦方向が24ドットで横方向がLドット
の大きさのものである。また、図2乃至図5に記述した
a1,a2……,b1,b2……などの符号は、画素を示してい
る。さらに、図3および図5に示したメモリ2は、領域
の横幅(データ長)が8ビットで、1ビットがイメージ
データの1画素に対応するものとして示している。
【0005】次に、縦方向(以下、y軸方向と呼ぶ)が
24ドットで、横方向(以下、x軸方向と呼ぶ)が16
ドットのイメージデータを、データ長が8ビットのメモ
リ上に縦横変換して書き込む場合を例にとって、従来の
イメージデータの縦横変換方法を説明する。
【0006】従来のイメージデータの縦横変換方法で
は、y軸方向に24個の画素が並ぶ画素データ群は、図
6に示すように、y軸方向に8画素ずつの3つのブロッ
クに区画して、パラメータyの値で該当するブロックを
特定する。y=0のときは上のブロックを表し、y=1
のときは中間のブロックを表し、y=2のときは下のブ
ロックを表すものとする。
【0007】また、従来のイメージデータの縦横変換方
法の説明を理解し易くするために、図7に示すように、
それぞれの横並びのデータ列には、データ列名A1,A
2,A3,……を付けておく。
【0008】従来は、図8に示す手順で、縦横変換を行
なう。
【0009】まず、メモリ上のイメージデータを格納し
ている領域のアドレスポインタのポインタ値viを初期
値「0」に設定する(ステップ100)。
【0010】次いで、このポインタ値viが最終値であ
るか否かを判断して(ステップ101)、最終値であれ
ば処理を終了するが、最終値でないときはそのときのv
iの値に基づいて変換する縦並びのデータ列の位置を求
める(ステップ102)。
【0011】前記viは、0≦vi<3L の範囲の整
数値で、(3L−1)が最終値となる(ここに、Lは、
イメージデータの画素データ群におけるx軸方向の画素
数で、図7の具体例では、L=16)。
【0012】また、前記ステップ102において、縦並
びのデータ列の位置を示すxの値は、図7において、縦
並びのデータ列に付けた番号(1〜16)に対応する。
即ち、ステップ102で、x=1であれば、図7に斜線
でしめすように、番号1の縦並びのデータ列が該当する
ことになる。なお、ステップ102において、xを求め
る式内の[vi/3]は、vi/3を越えない最大の整
数値とする。従って、0≦vi≦2の範囲では、いずれ
もxは1となる。
【0013】そして、さらに、図6および図7に示した
イメージデータの画素データ群のブロック区分に基づい
て、前記ステップ102で決めた縦並びのデータ列の各
データをブロック毎に分け(ステップ103)、各ブロ
ック毎に、図9に示す縦横変換処理をする(ステップ1
04〜106)。
【0014】そして、図9に示す変換処理を終了した
ら、ポインタ値viを1つインクリメントして、再び前
記ステップ101に戻る。
【0015】次に、図9の縦横変換処理を説明する。
【0016】まず、パラメータkに初期値0を設定する
(ステップ201)。このパラメータkは、ブロック毎
に分けられた変換対象の縦並びのデータ列について、図
6で説明したブロック内における順位(位置)を示すも
ので、0≦k<8の範囲の整数値をとる。
【0017】次いで、kが最終値であるか否かを判断し
(ステップ202)、最終値であれば処理を終了する
が、最終値でないときは、前記kの値とおよび前述の図
8におけるステップ103において求めたyの値とに基
づいて、y軸方向の位置(図7におけるA1,A2,…
…)を求める(ステップ203)。Y=k+1は”y=
0”のときに対応し、Y=k+9は”y=1”のときに
対応し、Y=k+17は”y=2”のときに対応してい
る。
【0018】次いで、変換するビット位置を表すrel
dotを求め(ステップ204)、さらに変換するビッ
トを含む配列を表すoffsetを求める(ステップ2
05)。
【0019】次いで、変換するビットが、そのビットを
含む配列上で何番目に位置するかを確認し(ステップ2
06)、そのビットが立っているか否かをチェックして
(ステップ207〜214)から、縦横変換用のワーク
エリアworkに各ビットの情報を格納する(ステップ
215)。
【0020】次いで、kの値を1つインクリメントして
ステップ202に戻る。
【0021】
【発明が解決しようとする課題】ところで、前述した従
来の方法は、換言すれば、図8のステップ102,10
3における処理で変換するべき縦並びの8ビット分を選
び、その選出した8ビットを図9に示す手順で縦横変換
するものであるが、図9における縦横変換処理は、変換
する1ビット毎にステップ202〜216による変換処
理を繰り返すものであるため、命令数が多く、そのため
にCPUにかかる負担が大きく、処理時間が長大化する
という問題があった。
【0022】本発明は前記事情に鑑みてなされたもの
で、イメージデータの縦横変換をする際の命令数を大幅
に低減させることができ、CPUにかかる負担を軽減し
て、処理時間を短縮することのできるイメージデータの
縦横変換方法を提供することを目的とする。
【0023】
【課題を解決するための手段】本発明に係る印刷画像
縦横変換方法は、1フレーム分の画素データ群の配列を
変えることにより、当該1フレームに表現された画像の
向きを縦横変換する印刷画像の縦横変換方法において、
まず、nを正の整数として、縦横ともに8×n画素から
なる所定数のブロックに分割して前記1フレームをとら
え、次に、このブロックごとに、横に配列されている8
×n画素の画素データ列を8×n画素単位で取り出し、
これら8×n画素の画素データを、当該配列方向の順番
に応じてワークエリアのなかに設けられたそれぞれ8×
nビットの第1から第8×nまでのデータ保持領域のな
かの対応するデータ保持領域に1つずつ、そして同時に
格納する。
【0024】そして、前記取り出しとこの格納の連続処
理を8×n回繰り返すことにより前記ワークエリア内の
第1から第8×nの各データ保持領域が画素データで満
たされると、これら各データ保持領域単位で8×n画素
の画素データを転送し、この画素データの転送を受けた
プリンタ側のデータ保持領域には、縦に配列されて印刷
される画素データ列を、8×n画素単位で生成すること
により、前記画像の縦横変換を行うことを特徴とする。
【0025】
【作用】本発明に係る印刷画像の縦横変換方法では、縦
横変換処理は8ビット単位で一括して処理することにな
るため、1ビット単位で処理していた従来の場合と比較
すると、処理命令数を1/8以下に低減させることがで
き、これによって、CPUにかかる負担が大幅に軽減
し、縦横変換の処理時間を短縮することが可能になる。
しかも、何ら特殊なハードウエアを必要とせず、通常の
ハードウエアに本発明の印刷画像の縦横変換方法に対応
したソフトウエア用いることで、縦横変換の時間を短縮
することができる。
【0026】
【実施例】以下に、本発明の一実施例の印刷画像の縦横
変換方法を説明する。
【0027】まず、本発明の一実施例の概略を説明して
から、図1に基づいて一実施例の処理手順を説明するこ
ととする。
【0028】のイメージデータの縦横変換方法は、横並
びのデータ列の集合として管理されているイメージデー
タの画素データ群を縦並びのデータ列の集合に変換する
もので、縦横変換処理するイメージデータは、8×8ビ
ット単位で扱う。
【0029】そのため、処理するイメージデータの画素
データ群を、図10に示すように、8×8ビット分(即
ち、8×8画素分)のブロックに分ける。図10に示し
たイメージデータは、縦方向(y軸方向)に24画素、
横方向(x軸方向)にはL(8の倍数)画素の大きさで
あり、3×(L/8−1)個のブロックに分割されてい
る。分割した各ブロックは、y軸方向に付けたブロック
番号jと、x軸方向に付けたブロック番号iとによって
特定することができるが、図10では、ブロック番号の
小さい順に、各ブロックに符号I,II,III,IV,V,V
I,VII,……を付けており、この符号の若い順に処理を
する。
【0030】また、各ブロック毎に処理する場合には、
各ブロック内のデータ群を、8ビットの横並びのデータ
列を1単位として取り扱うため、図11に示すように、
ブロック内の各横並びのデータ列には、y軸方向に沿っ
て上位にあるものから順に、A1,A2,A3,……A
8なるデータ列名を付けている。
【0031】また、変換すべき横並びのデータ列と、変
換処理によって得る縦並びのデータ列との対応を理解し
易くするために、図12に示すように、変換後の縦並び
のデータ列にも、x軸方向の上位(左側)にあるものか
ら順に、B1,B2,B3,……B8なるデータ列名を
付けている。B1は前記A1〜A8の8ビット目のデー
タ列名であり、B2はA1〜A8の7ビット目のデータ
列名であり、それぞれデータ列名中の数値が一致するも
の同士が対応する。
【0032】図13は、本発明の一実施例で処理するイ
メージデータの具体例として、y軸方向が24画素でx
軸方向が16画素のデータを示したものである。また、
図14は、図13のイメージデータに対する変換前のメ
モリ上のデータ配列を示し、図15は変換後のメモリ上
のデータ配列を示している。メモリは、データ長が8ビ
ットとして示している。
【0033】この一実施例では、縦横変換処理に使用す
るワークエリアとして、図16の(イ)に示すワークエ
リアW0と、図示はしないが前記ワークエリアW0と同
一構成のワークエリアW1とを備えている。これらのワ
ークエリアW0,W1は、いずれも32ビットのデータ
を保持し得るものであり、それぞれのワークエリアは、
データを分類して保持するために4つの8ビットずつの
4つの領域が確保される。したがって、これら2つのワ
ークエリアW0,W1によって、8ビットのデータを保
持する領域が、合計8つ確保されることになる。
【0034】以下、図1に基づいて、図13に示したイ
メージデータを縦横変換する場合の処理手順を説明す
る。
【0035】この一実施例では、まず、処理するイメー
ジデータの画素データ群から処理するブロックを特定す
るために、まず、パラメータiの値に初期値「0」を設
定する(ステップ301)。このパラメータiは、x軸
方向で何番目に位置するブロックであるかを表す。
【0036】次いで、パラメータiの値によって最終ブ
ロックまで処理が終了したか否かを判断し(ステップ3
02)、最終ブロックまで処理が終了している場合に
は、当該縦横変換処理を終了するが、そうでない場合に
は、次のステップ303で、パラメータjに初期値0を
設定する。このパラメータjは、y軸方向で何番目に位
置するブロックであるかを表す。
【0037】次いで、パラメータjの値によって、ある
iの値における列の最終ブロックまで処理が終了したか
否かを判断し(ステップ304)、最終ブロックまで処
理が終了している場合には、ステップ315によってパ
ラメータiの値を1つインクリメントして前記ステップ
302に戻るが、そうでない場合には、次のステップ3
05で、前記ワークエリアW0,W1を初期化する。
【0038】このワークエリアW0,W1の初期化は、
これらのワークエリア内の各ビットを「0」にして、実
質的に、新たに、8ビットのデータを保持し得る未使用
の領域を8つ確保することである。
【0039】次いで、パラメータkに初期値0を設定す
る。このパラメータkは、縦横変換する8ビットの横並
びのデータ列のブロック内におけるy軸方向の順位を表
し、k=0のときには図11に示したデータ列A1が対
応し、k=1であればデータ列A2が対応する。
【0040】次いで、パラメータkの値によってブロッ
クの最終の横並びのデータ列まで処理が終了したか否か
を判断し(ステップ307)、最終の横並びのデータ列
まで処理が終了している場合には、ステップ313によ
ってワークエリアに保持した変換データを縦並びのデー
タ列として所定の転送処理を実行し、さらに次のブロッ
クを処理するためにパラメータjを1つインクリメント
して(ステップ314)前述のステップ304に戻る。
しかし、最終の横並びのデータ列まで処理が終了してい
ないときには、ステップ308で選出した8ビットの横
並びのデータ列の各データを、並び方向の順位に応じて
対応するワークエリアW0,W1の所定のデータ保持領
域に転送する(ステップ310)。
【0041】このステップ310における各ワークエリ
アへのデータの転送について詳述する。各ワークエリア
には、それぞれ、図16の(イ)に示すように、8ビッ
トずつの4つのデータ保持領域α,β,γ,δが設定さ
れているとする。ワークエリアW0におけるデータ保持
領域α,β,γ,δは、それぞれ、横並びのデータ列の
上位の4ビットを保持するための領域であり、ワークエ
リアW1におけるデータ保持領域α,β,γ,δは、そ
れぞれ、横並びのデータ列の下位の4ビットを保持する
ための領域であり、いずれの領域も、新たに転送されて
くるビットデータを領域内の最下位のビットに保持す
る。
【0042】例えば、変換処理のために転送されてくる
8ビットの横並びのデータ列がa1a2a3a4a5a6a7a8であっ
たとき、転送されてくるデータのために各領域の最下位
ビットをあけておくために、ワークエリア上のデータを
1ビットだけ左にシフトさせ(ステップ309)、次い
で、各ビットが立っているか否かをチェックする(ステ
ップ310)。
【0043】このときビットが立っている場合、図16
の(ロ)に示すように、a1はワークエリアW0の領域α
の最下位ビットに、a2はワークエリアW0の領域βの最
下位ビットに、a3はワークエリアW0の領域γの最下位
ビットに、a4はワークエリアW0の領域δの最下位ビッ
トに、a5はワークエリアW1の領域αの最下位ビット
に、a6はワークエリアW1の領域βの最下位ビットに、
a7はワークエリアW1の領域γの最下位ビットに、a8は
ワークエリアW1の領域δの最下位ビットに保持され
る。
【0044】さらに、次のデータ列を処理するために、
パラメータkの値を1つインクリメントして(ステップ
312)からステップ307に戻る。
【0045】図16の(ハ)はk=1のときのワークエ
リアW0の保持データ、図16の(ニ)はk=2のとき
のワークエリアW0の保持データ、図16の(ホ)はk
=7のときのワークエリアW0の保持データである。そ
して、図16の(ホ)の状態になると、次のステップ3
07の判断でステップ313に進み、ワークエリアW
0,W1の各領域α,β,γ,δに生成された8ビット
の縦並びのデータ列を、変換データとして、下位ビット
側の領域のものから順に、8ビット単位で所定のメモリ
領域に等に転送する。
【0046】図16の(ヘ)は、最下位の領域δに保持
していた8ビットを転送し、その後、右に8ビット分だ
けシフトして、次の転送に備えた状態を示している。
【0047】この場合に、転送先の位置は、図12に示
したように、対応するデータ列の位置に設定される。
【0048】以上に説明した一実施例のイメージデータ
の縦横変換方法では、縦横変換処理は8ビット単位で一
括して処理することになるため、1ビット単位で処理し
ていた従来の場合と比較すると、処理命令数を1/8程
度に低減させることができ、これによって、CPUにか
かる負担が大幅に軽減し、処理時間を短縮することので
きる。
【0049】なお、以上の一実施例では、ワークエリア
として、32ビットのメモリを2つ使用することによっ
て、8ビットのデータを保持する8つの領域を確保する
こととしたが、処理言語等の処理環境の改良によって、
64ビットの1つのメモリで、8ビットのデータを保持
する8つの領域を生成することも考えられる。また、ワ
ークエリア上の一つのデータ保持領域は8ビットのデー
タを保持するものとしたが、一つの領域を8×n(nは
正の整数)ビットの容量として、一つのデータ保持領域
上に、8ビットの縦並びのデータ列を複数個生成するこ
とも考えられる。
【0050】また、一実施例では、ワークエリアから8
ビット単位でデータを転送することとしたが、処理装置
のハードウェア的あるいはソフトウェア的な環境の整備
によっては、8×nビット単位でのデータの転送を可能
ならしめて、さらに処理効率を向上させることも考えら
れる。
【0051】
【発明の効果】以上の説明から明らかなように、本発明
の印刷画像の縦横変換方法によれば、縦横変換処理は8
ビット単位で一括して処理することになるため、1ビッ
ト単位で処理していた従来の場合と比較すると、処理命
令数を1/8以下に低減させることができ、これによっ
て、CPUにかかる負担が大幅に軽減し、縦横変換の処
理時間を短縮することが可能になる。しかも、何ら特殊
なハードウエアを必要とせず、通常のハードウエアに本
発明の印刷画像の縦横変換方法に対応したソフトウエア
用いることで、縦横変換の時間を短縮することができ
る。
【図面の簡単な説明】
【図1】本発明の一実施例の処理手順の説明図である。
【図2】イメージデータの説明図である。
【図3】イメージデータの管理説明図である。
【図4】イメージデータの説明図である。
【図5】イメージデータの管理説明図である。
【図6】従来のイメージデータの取扱い説明図である。
【図7】従来の縦横変換方法によって変換するデータの
具体例の説明図である。
【図8】従来のイメージデータの縦横変換方法の説明図
である。
【図9】従来のイメージデータの縦横変換方法の説明図
である。
【図10】一実施例におけるイメージデータの取扱い説
明図である。
【図11】一実施例におけるイメージデータのブロック
の説明図である。
【図12】一実施例におけるイメージデータのブロック
の説明図である。
【図13】一実施例で処理するイメージデータの具体例
の説明図である。
【図14】メモリ上におけるイメージデータの説明図で
ある。
【図15】メモリ上におけるイメージデータの説明図で
ある。
【図16】一実施例のワークエリアにおける処理の説明
図である。
【符号の説明】
1 イメージデータ 2 メモリ W0 ワークエリア
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06T 3/60 G09G 5/36 520 H04N 1/387

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 1フレーム分の画素データ群の配列を変
    えることにより、当該1フレームに表現された画像の向
    きを縦横変換する印刷画像の縦横変換方法において、 まず、nを正の整数として、縦横ともに8×n画素から
    なる所定数のブロックに分割して前記1フレームをとら
    え、 次に、このブロックごとに、横に配列されている8×n
    画素の画素データ列を8×n画素単位で取り出し、 これら8×n画素の画素データを、当該配列方向の順番
    に応じてワークエリアのなかに設けられたそれぞれ8×
    nビットの第1から第8×nまでのデータ保持領域のな
    かの対応するデータ保持領域に1つずつ、そして同時に
    格納し、 前記取り出しとこの格納の連続処理を8×n回繰り返す
    ことにより前記ワークエリア内の第1から第8×nの各
    データ保持領域が画素データで満たされると、これら各
    データ保持領域単位で8×n画素の画素データを転送
    し、 この画素データの転送を受けたプリンタ側のデータ保持
    領域には、縦に配列されて印刷される画素データ列を、
    8×n画素単位で生成することにより、前記画像の縦横
    変換を行う ことを特徴とする印刷画像の縦横変換方法。
JP3144613A 1991-06-17 1991-06-17 印刷画像の縦横変換方法 Expired - Fee Related JP2804387B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3144613A JP2804387B2 (ja) 1991-06-17 1991-06-17 印刷画像の縦横変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3144613A JP2804387B2 (ja) 1991-06-17 1991-06-17 印刷画像の縦横変換方法

Publications (2)

Publication Number Publication Date
JPH05114024A JPH05114024A (ja) 1993-05-07
JP2804387B2 true JP2804387B2 (ja) 1998-09-24

Family

ID=15366104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3144613A Expired - Fee Related JP2804387B2 (ja) 1991-06-17 1991-06-17 印刷画像の縦横変換方法

Country Status (1)

Country Link
JP (1) JP2804387B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5841747B2 (ja) * 2010-06-21 2016-01-13 株式会社東芝 画像処理システム及び画像処理サーバ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0327956A (ja) * 1989-06-27 1991-02-06 Matsushita Electric Ind Co Ltd 印刷制御装置

Also Published As

Publication number Publication date
JPH05114024A (ja) 1993-05-07

Similar Documents

Publication Publication Date Title
JPH0563818B2 (ja)
JP3166447B2 (ja) 画像処理装置及び画像処理方法
US5771105A (en) High speed system for grey level image scaling, threshold matrix alignment and tiling, and creation of a binary half-tone image
US5640249A (en) Image processing apparatus using derived ordered dither matrix
JP2804387B2 (ja) 印刷画像の縦横変換方法
JPH02277377A (ja) パターン縮小方法およびその方法を実施する装置
JPH11306343A (ja) 2次元データ回転処理装置
JPS5816189B2 (ja) 文字パタ−ン発生方式
JPH028335B2 (ja)
JPH10178542A (ja) 画像縮小処理装置
EP0365878A2 (en) Image processing method
JP3417765B2 (ja) 光学式文字読取装置
JPS58133077A (ja) 画信号変換方法
JPS61103358A (ja) n倍角文字発生方式
JP2911529B2 (ja) 印刷装置
JPS6125192B2 (ja)
JPH01201780A (ja) 情報処理装置
JPS60181783A (ja) 画像情報記憶装置
JPH0664446B2 (ja) 一括縦横変換方式
JPH05242236A (ja) パターンデータの回転処理装置
JPS5991771A (ja) 画情報デ−タの書込み読出し制御回路
JPH08147458A (ja) メモリ制御装置
JPS6271990A (ja) 画像情報記憶方法
JPS6244743B2 (ja)
JPH07123260A (ja) 階調画像網点処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees