JPH0771185B2 - 画像データ変換方法 - Google Patents

画像データ変換方法

Info

Publication number
JPH0771185B2
JPH0771185B2 JP62319134A JP31913487A JPH0771185B2 JP H0771185 B2 JPH0771185 B2 JP H0771185B2 JP 62319134 A JP62319134 A JP 62319134A JP 31913487 A JP31913487 A JP 31913487A JP H0771185 B2 JPH0771185 B2 JP H0771185B2
Authority
JP
Japan
Prior art keywords
byte
run
data
white
buffer
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 - Lifetime
Application number
JP62319134A
Other languages
English (en)
Other versions
JPS63208362A (ja
Inventor
カレン・ルイズ・アンダーソン
ジヨーン・レイバーン・ミツチエル
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPS63208362A publication Critical patent/JPS63208362A/ja
Publication of JPH0771185B2 publication Critical patent/JPH0771185B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は2進画像の印刷およびその他の処理に関し、さ
らに詳細には、画像が、スキャン・フォーマットまたは
スキャン方向に配列されたラスタ・ビットの線を表わす
ラン・レングスまたはラン・エンド位置のベクトルの形
態をとる非コード化ディジタル情報から成っているシス
テムに関するものである。
B.発明の背景 印刷される情報がディジタル・データの形で与えられる
印刷システムは周知である。一般には、テキストまたは
限られた数のビット・パターンから成る画像はコード化
された形で表わすことができ、各文字は少数のビット
(一般には9個)から成るコードで表わされる。コード
は文字発生機構に供給され、文字発生機構は、印刷され
るビット・パターンを作成する。しかし、多くの図形画
像または走査画像では、可能なビット・パターンの数が
多いため、この表現形態は実用的ではない。そのような
画像は各画像ペルが単一ビットで表わされ、画像線がラ
スタ・スキャン順に配列された、ラスタ形で得ることが
できる。このラスタ・データは、同じ情報をよりコンパ
クトに記述する圧縮形式で記憶されることがよくある。
2進画像データを圧縮し、圧縮解除するためのシステム
は、様々である。たとえば、2進画像に対して使用可能
な圧縮方法には以下のものがある(但し、それだけに限
定されるものではない)。
L.R.バール(Bahl)、D.I.バルニア(barrnea)、およ
びH.コバヤシ(Kobayashi)、“Image Compaction Syst
em"、米国特許第3833900号、1974年。
T.H.モリン(Morrin)、“Recursive Contour Coding o
f Nested Objects in Blank/Whtie Image"、インターナ
ショナル・コンファレンス・オン・コミュニケーション
ズ会議録、1975年6月、第1巻P7−17。
Y.ナカゴメ(Nakagome)、H.テラムラ(Teramura)、Y.
ヤマサキ(Yamasaki)、およびY.ワカハラ(Wakahar
a)、“System for Coding Information Change Pictur
e Elements in Facsimile Signal"、米国特許第4040093
号、1977年、および“Method for Coding Facsimile Si
gnal"、米国特許第4121258号、1978年。
A.J.フランク(Frank)、“Variable Length Coding fo
r High Quality Image Encoding"、米国特許第4103287
号、1978年。
G.ゲルツエル(Goertzel)およびJ.L.ミッチェル(Mitc
hell)、“Two−Dimensional Image Data Compression
and Decompression System"、米国防刊行物第T985005
号、1979年8月7日。
R.ハンター(Hunter)およびA.H.ロビンソン(Robinso
n)、“International Digital Facsimile Coding Stan
dards"、IEEE議事録、第68巻、第7号(1980年7月)、
P854−867。
本発明に関連する画像圧縮方法は、“Method for Encod
ing and Decoding a Digital Image"と題するJ.L.ミッ
チェル、G.ゲルツェル、およびK.L.アンダーソン(Ande
rson)の米国特許第4725815号に記載されている。
多くの印刷装置は複数のラスタ走査線を並列に印刷する
ように、設計されている。そのようなシステムでは、画
像データは、垂直方向に隣接する一組の画像ベル(個々
の印刷要素を制御する単位内のビット)を入力データの
各単位が記述するように配列される。たとえば、8個の
印刷要素の列を駆動するため、8ビットのバイトを使用
することができる。最上位ビットは1番上の印刷要素を
制御することができ、上から2番目のビットは2番目の
印刷要素を制御することができ、以下、同様にして、最
下位ビットは1番下の印刷要素を制御する。そのような
システムで印刷装置を駆動して8行の単位を作成するの
に必要とされるバイト・ストリームは、印刷される8行
のラスタ・データの転置である。IBM4250印刷装置等の
幾つかのシステムでは、転置されたラスタ・データは、
印刷装置に転送される前に圧縮することができる。IBM4
250印刷装置の場合、この圧縮は、多数の画像に現われ
る黒または白のペルの大きな区域を送るのに必要な転送
時間を減少させるため、値X‘00'及びX‘FF'を有する
バイトに対する反複カウントをコード化することから成
る。
画像データを通常のラスタ・スキャン・フォーマットか
らそのような印刷装置への転送に適したフォーマットに
変換するには、画像をNペルの高さの水平ストリップに
分割しなければならない。ここで、Nは、使用可能な印
刷要素列を制御するのに必要とされるビットの数であ
る。各水平ストリップは次に転置するか、またはその代
わりに、反時計回りの方向に90度回転しなければなら
ず、後者の場合は、バイトが逆の順序になる点を除い
て、転置と同じ結果がもたらされる。この動作を実行す
るため、多くのシステムが使用可能であり、それらの幾
つかを説明する。圧縮形態で記憶されている画像を印刷
するときは、適当な方法を適用する前に、画像を圧縮解
除してラスタ・データを作成することが必要である。転
置データの必要とされる圧縮は転置処理に折り込むか、
またはそれに続く独立したステップとして実行すること
ができる。4250印刷装置でのデータの転置および圧縮
は、IBM社のプログラム・プロダクト“IPG"および“Ima
ge Handling Facility"(IHF)等の既存のソフトウェア
・パッケージにより実行することができる。
ラスタ画像データを回転または転置することができる幾
つかのシステムが使用可能である。それらには、以下の
資料に開示されているものがある。
R.J.エバンス(Evans)、“Image Rotation Apparatu
s"、米国特許第4168488号、1979年。
G.ゲルツェル、K.L.アンダーソン、F.C.ミッチェル、お
よびJ.L.ミッチェル、“Method for Rotating a Binary
Image"、米国特許第4627020号、1986年。
J.B.ロットスピーチ(Lotspiech)、“Method and Appa
ratus for Rotating the Scan Format of Digital Imag
e"、米国特許第4271476号、1981年。ラスタ形態または
圧縮形態の画像を回転するために使用できる方法を記載
している。
T.H.モリン、“Rotation of Images Using Contour Com
pressed Data"、IBMテクニカル・ディスクロージャ・ブ
ルテン、第18巻、第8号(1976年1月)、P2640−264
2。
“System for Rotating a Binary Image"と題する米国
特許第4658430号で本発明者等は、本発明で使用するラ
ン・エンド形態をとるデータを受け取ってラスタ形態の
回転された出力画像を作成するシステムについて記載し
ている。しかし、それは、バイトのグループを取り出し
てそれらを回転するのにより好都合のように、通常とは
異なる順序でバイトを記憶して、非回転ラスタ画像を作
成することによって行なわれる。
一般に使用されている、画像を圧縮解除し、次にラスタ
・データを転置または回転する方法は、幾つかのデータ
圧縮方法では、圧縮形態とラスタ・データの中間に画像
の表示があり、それは元の画像に対するラスタ・データ
を作成するときよりも少ない計算労力で作成できるとい
う事実を利用していない。
C.発明が解決しようとする問題点 “Method for Encoding and Decoding a Digital Imag
e"と題する、上述のJ.L.ミッチェル等の米国特許第4725
815号では、圧縮形態は、連続したラスタ・スキャン線
を表わすラン・エンドのベクトルから成る。本発明の目
的は、この表示の存在を利用して、未転置のラスタ画像
を作成するという中間段階を実行することなく、転置ま
たは回転されたラスタ画像をその表示から直接作成する
ことである。本発明のもう一つの目的は、変換処理の一
部として、転置または回転されたラスタ・データの必要
な変更を行なうことである。
本発明では、転置処理への入力として画像の中間表示を
使用することが好ましいが、ラスタ・データは中間形態
に都合よく変換することができるので、この方法を非圧
縮ラスタ・データに適用してもさしつかえない。
この変換を実行するための適当な方法は、“A Method f
or Converting a Bit Map of an Image to a Run Lengt
h or Run End Represantation"と題する、K.L.アンダー
ソン、およびG.ゲルツェルの米国特許第4610627号と、
“An Improved method for Converting a Bit Map of I
mage to a Run Length or Run End Representation"と
題する、K.L.アンダーソン、G.ゲルツェル、J.L.ミッチ
ェル、およびW.B.ペネベーカー(Pennebaker)の米国特
許第4646356号に記載されている。
D.問題点を解決する手段 本発明の方法は、ラン・エンド形態またはラン・レング
ス形態で表現された画像を受け取り、それを一連の転置
された水平ストリップに変換することに関し、任意選択
としてその結果生じるデータを圧縮することができる。
したがって、2進画像の行は、ラン・エンド位置のベク
トルとして表わされる。一度に画像N本の線が処理され
る(Nは転置されるセクション当たりの行数である)。
最初は全て0である一連のNビット単位または要素を含
むバッファがセットアップされる。N行の各行中の各ラ
ン・エンドを使って、バッファ中で、ラン・エンドのラ
スタ位置に対応する要素のビットがセットされ、これに
より、バッファ項目が互いにEXCLUSIVE−OR演算された
とき、当該適当な行でペル・カラーが変更される。次
に、入力のN行がすべて処理された後、バッファの要素
は順に互いにEXCLUSIVE−OR演算されて、転置データの
単位を生成する。転置画像の圧縮が必要な場合は、それ
を排他的OR処理と組み合わせて、その演算によって生成
された出力を変更することができる。
また本発明を用いると、線の両端、すなわち、角入力画
像線の初めまたは終わりあるいはその両方からのデータ
を廃棄すること、および出力が作成されるとき、各入力
画像線の始めまたは終わりあるいはその両方に「埋込
み」ペルを挿入することが可能となる。原画像データの
廃棄は、対象範囲外の全てのラン・エンドを無視するこ
とにより実現される。埋込みは、排他的ORループおよび
任意選択の圧縮が行なわれる前または後あるいはその両
方に置くことにより行なわれる。転置データの圧縮が行
なわれる場合は、埋込みを実際のデータと組み合わせる
ため多少の「ニッティング」が必要となることがある。
本発明のもう1つのの特徴は、入力画像を反転、すなわ
ち、白地に黒から黒地に白またはその逆に変換すること
である。
この反転は、要素をEXCLUSIVE−OR演算して転置画像を
生成するバッファ内の最初の要素を反転することにより
実現され、これにより、後続の結果はすべて反転され現
われるようになる。
本発明のもう1つの特徴は、上記の転置の実行に加え
て、熟練したプログラマの能力の範囲内で小さな変更を
加えて、画像を90度回転させるためにも使用することが
できることである。
本発明の好ましい実施例では、IBMシステム/370またはP
C等のプログラム式汎用コンピュータをIBM4250印刷装置
と組み合わせて使用する。
D.実施例 本発明の詳細の説明に進む前に、入力データに使われる
ラン・エンド表示と、出力装置の例として使用するIBM4
250印刷装置へ転送するための転置データの作成に使用
される圧縮方法について説明することが有益である。
2進画像はペルと呼ばれる個々の単位に分割され、ペル
は一般にはラスタ・スキャン線に沿って配列される。各
ペルは白色または黒色のいずれかである。大部分の文書
では、ペルは「ラン」、すなわち、同じ2進値を有する
ペルの列にまとまる傾向がある。白色ペルのランがマー
ジンにあり、次に最初の文字または線にぶつかる所に黒
色ペルのランがあり、その次に最初の文字または線を次
のものから分離する白色スペースを表わす白色ペルの第
2のランが続き、ページ全体に渡って以下同様である。
「ラン・レングス」はあるラン中のペルの数である。ラ
ン・エンドは画像の左端からランの最後のペルまでのペ
ルの変位であり、特定のランとその左側の全てのランの
ラン・レングスの累計である。本発明を用いて、ラン・
エンドまたはラン・レングスから転置されたデータ、す
なわち、4250フォーマット・データを生成することがで
きる。以下の説明では、ラン・エンドが供給されるもの
とする。ラン・レングスを変換するためには、処理され
たラン・レングスの累計が保持されるものとする。
本発明の好ましい実施例では、各入力線に対して、線バ
ッファまたはラン・エンド・バッファを使用し、それは
一連のハーフワードより成るものである。ハーフワード
の16ビットは、最大64Kまでの幅を有する画像を表わす
のに十分である。各ラン・エンド・バッファの最初のハ
ーフワードは、ラン・エンド・データのバイト数にカウ
ント用の2バイト(すなわち、バッファ内のデータ・バ
イトの合計数)を加えたものであり、その後に、3個の
ゼロ・ラン・エンド、任意の数の白黒・ラン・エンド
対、および最後の黒ラン・エンドの2つの追加のコピー
が続く。画像行が黒色ランで始まる場合は、最初の白色
ラン・エンドを0として指定しなければならない。画像
行が白色ランで終わる場合は、最後の黒色ラン・エンド
は最後の白色ラン・エンドと同じになるので、実際に
は、最後の実ラン・エンドのコピーは3つになる。たと
えば、ハーフワード項目 24 0 0 0 0 10 27 32 32 32 32 16 0 0 0 32 32 32 32 32 0 0 0 0 1 2 3 8 9 12 28 31 32 32 32 を含むラン・エンド・バッファは、以下のビット画像に
対応する。
11111111 11000000 00000000 00010000 00000000 00000000 00000000 00000000 10100000 10001111 11111111 11110001 4250印刷装置に送らるデータ・フォーマットと次の通り
である。画像は、「セクション」と呼ばれるそれぞれ8
本の線から成るグループに分割される。各セクション
は、コード化形態の画像データを含む1つのレコードに
よって表わされる。レコードは、ヘッダーとそれに続く
データ・バイトから成る。データ・バイトはセクション
・ビットの転置の結果として視覚化することができ、幅
8ビットで深さNPELSビットの列が得られる。ただし、N
PELSは1本の線中のペル数である。このマトリクスの各
行の8ビットは1バイトにパックされ、列が上から下に
読み取られる。データ・バイトは次のように圧縮され
る。バイトがすべて白色(X‘00')またはすべて黒色
(X‘FF')である場合、そのバイトは、後ろにその形
式の連続バイトの合計数のカウントをつけて、セクショ
ン・バッファまたは出力バッファに入れられる。そのカ
ウントは1バイトに記憶されるので、連続バイトのスト
リングが256バイトより長い場合は、完全なバイト数を
構成するためには、原バイトの追加コピーとその追加コ
ピーのカウントが記憶される。したがって、512個の白
色バイトからなるストリングは“OO FF OO FF 00 02"と
してコード化されることになる。すべて白色でもすべて
黒色でもないバイトの圧縮は行なわれず、単にセクショ
ン・バッファに複写されるだけである。
出力データ作成の特定の態様は、この開示で記載される
方法で扱わない。たとえば、幾つかのアプリケーション
では、セクション・レコードを一定サイズの単位にブロ
ック化する必要がある。一般には、セクション・レコー
ド・サイズは黒色サイズに対応しない。たとえば、1ブ
ロックが複数のセクション・レコードを含むことがあ
り、また1セクション・レコードが数ブロックにまたが
ることがある。ブロック化の仕組みは熟練したプログラ
マにとっては明らかであると考えられ、かっこの開示の
主題にとって特に重要でない。同様に、セクション・レ
コード・ヘッダの構成も(必要とされるフォーマットが
与えられれば)簡単であり、これ以上詳しくは考察しな
い。
1つのセクションをコード化するための(エッジ・トリ
ミングおよび埋込みを省略した)基本手順を第1図に示
す。ラン・エンド表示を原ビット画像の右側に示す。こ
の表示では、レングス・フィールド、3個の先行ゼロ、
および最後のラン・エンドの2つの後端・コピーは省略
されている。ビット画像の下の16進数は転置マトリクス
のバイトである。セクション情報を転置するには、NPEL
S+1バイト(0からNPELSまで番号を付ける)を含む中
間バッファBUFが先ずゼロにされる。次に、ラン・エン
ド・データの8つの線が一度に1つずつ処理される。特
定の線中の各ラン・エンドR(R<NPELS)毎に、バッ
ファのR番目のバイトがマスクとOR演算される。各入力
線毎に異なるマスクが使用される。これらのマスクを右
側に示す。白/黒遷移または黒/白遷移が生じる度に、
マスクはBUFの適当なバイトの1ビットをセットする。
線の最後のペルが黒色である場合、マスクはBUFの最後
のバイトとOR演算される。8本の線全てがこのように処
理された後、バッファBUFは以下の特性を有する。
1.BUF(0)は行の最初のデータ・バイトを含む。
2.出力バイト(圧縮前)のストリーム中でI>0の任意
の位置にある出力バイトは、位置I−1にある出力バイ
トとBUF(I)とのEXCLUSIVE OR演算を行なうことによ
つて得られる。
3.線の最後の出力バイトがBUF(NPELS)とEXCLUSIVE O
R演算されると、結果は0になる。
状態1および2は、バツフアの構成方式のために生じる
ものである。特定の線上の各カラー変更は、そのカラー
変更の位置にあるバイトの、その線に対応するビツト位
置の1で示され、その1ビツトとEXCLUSIVE OR演算さ
れて出力バイト中でカラー変更をもたらす。状態3は、
現在の出力バイトが0でない限り、線の終りかどうかを
テストする必要がないようにするためにセツトアツプさ
れたものである。
中間バツフアBUFが、8本の入力データの線から構成さ
れた後、転置データを生成するためにそれを読み取らな
ければならず、希望する場合は、4250圧縮アルゴリズム
にしたがつて圧縮しなければならない。バイトBは値BU
F(0)で初期設定され、BUFの後続要素とEXCLUSIVE−O
R演算される。各演算の後のBの値を、“B"と表示した
行に示す。これらのバイトは転置入力マトリツクスの行
(すなわち、元の画像の列)であることに留意された
い。4250印刷装置用に転置データを圧縮するため、各計
算の後にBが検査される。Bが0の場合は、テストを行
つて、線の終りに達したかどうかを判定される。達した
場合、処理は完了する。達していない場合は、Bが黒色
または白色(X“FF"またはX“00"であれば、BUFを走
査して、同じカラーのバイトがこのフイールド中に幾つ
あるか判定される。BUFの要素が0である限り、出力バ
イトの値は変化せず、BUFの最初の非ゼロのバイトがフ
イールドの終りを示す。フイールド・レングスは、決定
された後、上記のようにコード化され、次のバイトの処
理に進む。Bが黒色でも白色でもない場合は、圧縮デー
タ・バツフアCMPに記憶され、次のバイトの処理に進
む。
4250印刷装置用の変換アルゴリズムは、一度に1本の入
力線を受けとり、8番目の線毎にセクシヨンに対する圧
縮バツフアを作成する機能として実現されている。今説
明しているこの実施例を修正して、もつと一般的な印刷
装置で使用するための転置ラスタ・データを生成するた
め、4250印刷装置のための圧縮を取り除くことができ
る。この機能は、呼出し機能によつてもたらされる記憶
域を使つて、呼出し間に中間バツフア、種々のフラッグ
およびその他のデータを保管する。
この記憶区域に保管される変数には、次のようなものが
ある。
IFLAG 特定の画像についての変換機能変数を初期設定させるた
め、変換機能に対する最初の読出しの前に、読出し側に
よつて0でない値にセツトされるフラツグ。
初期設定後、フラツグは0にセツトされる。
PT 処理される線を記述するラン・エンド・バツフアを指す
ポインター。全ての入力線が処理された後で、必要なら
ば、最終セクシヨンのデータを排出するため、PT=0で
機能が呼び出される。
MASK 現在の線に対する中間のバツフアのバイトとOR演算され
るマスク。
SKIP 入力線の左端で飛び越すべきペルの数。
NC 4250用にコード化される入力画像からのビツト列数。
IC ラン・エンド・バツフアによつて記述される画像中のビ
ツト列の数。
LFT 左側に埋め込まれるビツトの数。
RT 右側に埋め込まれるビツトの数。
PCLR 埋込みビツトのカラー。0=白色、そうでない場合は黒
色。
REV 反転表示の場合、0でない値にセツトされる。
LIM 使用される入力データの最後のビット列の列番号。
MAX LIMよりも小さい、現在のセクシヨン中の最大のラン・
エンド。
MIN SKIPよりも大きい、現在のセクシヨン中の最小のラン・
エンド。
OPT 出力(圧縮データ)バツフアを指すポインタ。
BP 現在コード化中のBUFの要素を指すポインタ LIMBP BPの上限値。
変換機能の構造を第2図に示す。まず、フラツグIFLAG
を検査して、変換機能変数を初期設定する必要があるか
どうかを判定する。その必要がある場合は、初期設定が
行なわれ、IFLAGはリセツトされる。次に、入力の次の
線を指すポインタをテストして、データ線が供給された
かどうか調べる。供給されていない場合は、入力画像全
体が処理済みであり、データの最終部分セクシヨンがあ
る場合、それを追い出す必要がある。このことは、MASK
をテストして、その値がX“80"であるかどうか調べる
ことにより判定される。X“80"である場合は、処理さ
れた最後の線が圧縮セクシヨンの作成をもたらしたの
で、如何なる処理も不要である。X“80"でない場合
は、中間バツフアを処理して、圧縮セクシヨンが作成さ
れる。BUFは始めに0にされており、その要素中の低位
ビツトをセツトする機会がなかつたので、セクシヨン
は、あたかも画像の下部がすべてのホワイトの線で埋め
込まれたかのように構成される。
入力データの線が供給済みの場合、ラン・エンド・デー
タがBUFに記録され、MASKが右に1ビツトだけシフトさ
れて、次の線のためのマスクを生成する。1ビツトがMA
SKからシフト・アウトされた場合、最後のセクシヨンが
すでに圧縮されていて8本の入力線が処理されたことに
なり、現在のセクシヨンに対するデータを圧縮すべきと
きである。それが行なわれた後、次のセクシヨンの処理
の準備のため若干の初期設定が行なわれ、次の線が処理
されるとき中間バツフア・バイトの高位ビツトをセツト
するためMASKがリセツトされる。
第3図は、入力画像の最初の線を処理する前に必要とさ
れる初期設定を示す。(入力バツフアの最後のハーフワ
ードから得られた)入力線のペルの数が保管される。次
に、テストを行つて、SKIPが負でなく、NCが正である、
すなわち、入力画像からのあるデータが使用されること
を確かめる。また条件“NC+SKIP<=IC"を満たされね
ばならない。この条件は、出力画像に必要な数のペルを
供給するのに十分なペルが入力データ線にあるという意
味である。本発明の実施により、呼出し機能がNC<=0
を指定して、使用可能な全データが使用されることを示
すことが可能になり、IC−SKIP(使用可能な全ペルから
飛び越されるペルの数を差引いたもの)の計算によりこ
の場合NCの値がリセツトされる。左側および右側に埋め
込むペルの数は負でないことが必要とされる。一度入力
が有効なものとして受けとられると、LIM(入力データ
で使用される最後のペル位置)の値が計算され、中間バ
ツフアが0にされ、最初のセクシヨンについてMAXおよ
びMINが初期設定される。
第3図で“エラー”と記された状態は、プログラマの判
断に応じて、種々の方法で処理することができる。それ
らの状態は中断を引き起こして、もつとよいデータを入
手して再試行しなければならないことを呼出し機能に単
に知らせる。希望するならば、一部の値をデフオルト化
することができる。たとえば、SKIP、LFT、およびRTは
それぞれ、負の値が与えられた場合、0のデフオルト値
にすることができる。SKIP+NCがICよりも大きい場合、
差をNCから差引きRTの値に加算し、追加の埋込みを伴う
要求された幅の画像を生成することができる。あるい
は、出力画像のサイズを、使用可能なデータ量に対応す
るように縮小することができる。したがつて、この操作
の実施にはかなりの変更を受け入れるが、機能の残部の
実行中、入力値は上記の条件を満たすものと仮定する。
遷移の記録操作は各入力線について行なわれる。
遷移を記録する他に、この処理は、SKIPよりも大きいセ
クシヨンで見つかつた最小ラン・エンドMINと、LINより
も小さい最大ラン・エンドMAXの記録を取る。これらの
値は、先端および後端の単一カラー・セクシヨン(も
し、あれば)のレングスを得るため走査する必要がなく
なるので、有用である。多数の文書は、タイプされたテ
キストの余白等、広い境界を有するので、縁部領域の走
査が不変になると、しばしば処理時間が大幅に節約され
る。
処理について詳細に説明する前に、中間バツフアBUFの
アドレス指定について考察する。BUFは、出力画像の線
中の実データの各ビツト(埋込みビツトではない)ごと
に1(バイト)要素を含むのに十分な大きさでなければ
ならないことに留意されたい。入力画像の飛び越される
列のためにスペースを設ける必要はない。そのようなス
ペースを割り当てない場合、入力画像の位置Pにあるラ
ン・エンドを記録するために変更されるバイトのインデ
ツクスはP−SKIPになる。しかし、処理されるラン・エ
ンド毎に1回この減算を行なうのは非効率である。もつ
とよい解決策は、第2のバツフアXBUFをBUFの始めからS
KIPだけずらせて定義して、XBUF(P)およびBUF(P−
SKIP)が記憶域内の同じバイトを記述するようにするよ
うにすることである。ラン・エンド・データからの遷移
はバツフアXBUFを用いて記録することができ、結果とし
て得られる中間データを「実」バツフアBUFを用いて圧
縮することができる。本実施例では、MAXおよびMINの値
が、入力線が処理されるにしたがつて収集される。この
段階では、それらの値はSKIPとLIMの間にある。圧縮フ
エーズが開始する前に、それらは0とNCの間に入るよう
に正規化される。
第4図は、中間バツフアXBUF内の入力線から遷移データ
を記録する過程を詳細に示す。この手順を開始する前
に、検査を行なつてラン・エンド・バツフアによつて記
述される画像線が予想された数のペル(IC)を含むこと
を確かめることが望ましいと思われる。レングス・フイ
ールドおよび最初の3つのゼロ・ラン・エンドを飛び越
えるため、ラン・エンド・データを指すポインタ(PT)
が、8だけ増分される。PTはこのとき白黒ラン・エンド
対を指す。白色ラン・エンドおよび黒色ラン・エンドを
それぞれPTWおよびPTBと呼ぶことにする。PTは次に、そ
れがアドレスする黒色ラン・エンドがSKIPよりも大きく
なるまで、4ずつ増分される。この時点で、白色ラン・
エンドPTWはSKIPよりも大きいかもしれず、その場合は
使用される線の部分は白色ランで始まる。または、白色
ラン・エンドPTWはSKIPよりも小さいかまたは等しいか
もしれず、その場合は対象部分は黒色ランで始まる。
線の使用される部分が白色ランで始まる場合は、主ルー
プに入る前に、白色ラン・エンドを検査して、新しい最
小値が見つかつたかどうか知るだけでよい。
線が黒色ランで始まる場合は、位置SKIP(この位置から
最初の出力バイトが読みとられる)での黒色への遷移が
記憶される。この処理は図では、「XBUF(X)をマスク
する」として示されており、操作“XBUF(X)=XBUF
(X)OR MFSK"によつて行なわれる。次に、新しい最
小値が見つかつたかどうか知るため、黒色ラン・エンド
が最小値と比較される。黒色ランが線の終りまで延びて
いない場合は、それが終わつている点が中間バツフアに
マークされ、次のラン・エンド対をアドレスするために
PTが増分される。
次に主ループに入る。PTがラン・エンドをアドレスする
黒色ランが線の終りまで延びていない限り、白色および
黒色ランの終りが中間バツフアにマークされる。
主ループから出たときに、PTWは、使用される最大入力
ペル位置よりも小さいかもしれず、その場合は、線は黒
色ランで終わる。あるいは、PTWはその値よりも大きい
か、まは等しいかもしれず、その場合は、線は白色ラン
で終わる。線が黒色ランで終わる場合は、白色ラン・エ
ンドの位置が中間バツフアにマークされ、黒色から白色
への遷移がバツフアの終りにあるバイトでマークされ、
新しい最大値が見出つたどうか判定するため、白色ラン
・エンドがMAXと比較される。線が白色ランで終わる場
合は、PTは一対のラン・エンドだけ後退させられ、新し
い最大値が見つかつたかどうか知るため、前の黒色ラン
・エンドがMAXと比較される。これにより、入力データ
の1つの線からの遷移の記録が完了する。
8本の入力線が全て記録された後、BUF内のデータを使
つて、完了したセクシヨンを表す圧縮データ・バツフア
を作成しなければならない。この処理について説明する
前に、黒色データ・バイトまたは白色データ・バイトを
コード化するために使用する2つの副機能を導入する。
それらを第5図に示す。
第1の手順は、「テストおよびコード」を省略して、TC
ODEと呼ばれる。それは、コード化されるバイト(X“0
0"またはX“FF"のいずれか)と、出力画像の列として
現われるそのバイトのコピーの数をアーギユメントとし
て取る。コピーの数(CT)をテストして、0よりも大き
いかどうかが判定され、そうである場合は、そのフイー
ルドをコード化するために第2のコード化手順が呼び出
される。
コード化されるバイトのコピーの数が0よりも大きいと
わかつたときは、第2のコード化手順CODEが使用され
る。CODEはTCODEと同じアーギユメントを必要とする。C
Tが255よりも大きい場合は、255の単位に分割して、そ
れぞれ別個にコード化しなければならない。このこと
は、バイトおよび255のカウントを記憶し、出力ポイン
タを増分し、コード化されたばかりの255バイトだけCT
を減分するループによつて行なわれる。この処理は、CT
が255以下になるまで続行する。そうなつた時点で、バ
イトは残りのCTと共に記憶され、出力ポインタが増分さ
れる。CTが255よりも大きくない場合は、このループを
迂回し、最後の記憶動作だけが必要となる。
第6A図、第6B図および第6C図は1つのセクシヨンについ
てのデータのコード化を示す。第6A図は左側の埋込み
と、最初の白色フイールドまたは黒色フイールド(もし
あれば)のコード化を示し、第6B図は「内部」バイトの
コード化を示し、第6C図は最後の白色フイールドまたは
黒色フイールドと右側の埋込みのコード化を示す。
セクシヨン・コード化処理は、第6A図に示すように、MI
NおよびMAXを正規化して、それらがバツフアBUFに対す
るインデツクスとして使用できるようにすることから始
まる。出力バツフを指すポインタがセツトアツプされ
る。反転表示が必要とされる場合は、中間バツフアに最
初と最後のバイトが反転される。これで出力バイトのす
べてを反転するのに十分である。なぜならば、元のバイ
トが反転された場合、連続EXCLUSIVE OR演算の結果が
元の画像データの反転となり、最後のバイトの反転によ
つて、圧縮処理が要求するように、最後のEXCLUSIVE O
Rの結果が0になるからである。次に、BUFの最終バイト
が検査される。最後の出力バイトがこの値とEXCLUSIVEO
R演算されるときは、その結果は0であるので、最終バ
イトはそのセクシヨンの最後の実データ・バイトに等し
い。このバイトの値がX“FF"である場合、そのセクシ
ヨンは黒色フイールドで終わる。ただ1つの経路(白色
バイトを処理する経路)上でのテストによつて「内部」
データの終りに達したことを判定することが望ましいの
で、最初にBを最終フイールド(BUF(MAX))の最初の
X“FF"に等しくさせるバイトを反転して、Bの値がX
“00"となるようにしなければならない。しかし、BUF
(MAX)に達したとき、Bの値がX“00"である場合は、
そうはならない。その場合は、BUF(MAX)の反転が0に
なり、したがつて、白色フイールドに対する走査が白色
データの真の終りを通り過ぎて続行することになる。そ
れを防ぐため、この場合はBUF(MAX)がX“FF"の値を
保持するとともに、第2のテストを導入して、中間バツ
フアで、白色バイトの直後に黒色バイトが続いている場
合にセクシヨンの終りかどうかをテストする。
セクシヨンが黒色バイトで終らない場合は、テストを行
なつて白色バイトで終わつているかどうか調べる。白色
バイトで終わつていない場合は、BUFの最後の要素に達
するまでバイトを処理する必要があるので、このことを
示すために、MAXがバツフア・サイズに設定される。
次に、BUFの「内部」バイト(BUF(MIN)からBUF(MA
X)まで)を通して進むポインタBPに限界値が設定され
る。この値は、セクシヨン・データの終りかどうかをテ
ストする際に使用される。次にバイトBがそのセクシヨ
ンの最初のバイトの値で初期設定される。
セクシヨンが白色バイトで始まる場合は、セクシヨンが
すべて白色のデータを含むかどうか判定するためにMAX
がテストされる。MAXが0の場合は、そのセクシヨンに
は、0とNCの間にあるラン・エンドは含まれない。この
場合は、セクシヨン全体が白色であるので、その情報が
コード化され(この処理については後でさらに詳しく説
明する)、セクシヨンの処理が完了する。MAXが0より
も大きい場合は、セクシヨンは白色フイールドで始まる
が、0以外のデータをいくつかを含む。左側の埋込みお
よび最初の白色フイールドがコード化され、「内部」の
点をコード化するためのループに入る。
セクシヨンが黒色バイトで始まる場合は、BUFの最初の
バイトはクリアされるので、次の入力線グループから遷
移を記録する前に、位置0とMINの間でBUFを0にする必
要はない。白色バイトで始まるセクシヨンに対して使つ
たのと同様な処理で、MAXをテストして、セクシヨンが
すべて黒色かどうか判定する。全黒色である場合は、埋
込みおよびセクシヨン・データがコード化され、処理は
完了する。そうでない場合は、左側の埋込みおよび最初
のフイールドがコード化され、「内部」バイトをコード
化するためのループに入る。
セクシヨンが、黒色でも白色でもないバイトで始まる場
合は、BUFを始めから処理しなければならないことを示
すため、MINが0にリセツトされる。Bは「内部」バイ
トをコード化するためのループの始めでBUF(0)とEXC
LUSIVE OR演算されるので、0にセツトされる。必要と
される埋込みバイトがあれば、コード化される。次に内
部ループに入る。
第6B図は、セクシヨンの「内部」バイト、すなわち、BU
F内のオフセツトMINとMAXの間のバイトをコード化する
ループを示す。Bの新しい値が作成されるとき、それら
の値は白色(X“00")、黒色(X“FF")、または混合
(上記以外のすべて)のいずれかに分類され、コード中
の適当な点へ分岐される。
ポインタBPは、BUFの連続した要素をアドレスするため
に使用される。ポインタBPは、BUF(MIN)を指すように
初期設定され、値LIMBPに達するまで、明示的に、また
は、SCAN手順によつて増分される。BPが初期設定された
後、中間バツフアからの最初のバイトが一時記憶位置に
読み込まれ、0と比較される。そのバイトが0に等しい
場合は、前の出力バイトが混合バイトであつたことが判
る。というのは、コード中のこの点に達するのは、前の
バイトが混合バイトであつた場合、または最初のバイト
が読取り中であり且つこの最初のバイトが0でないこと
が判っている場合だけだからである。
B XOR 0はBに等しいので、コード化される新しい
バイトは古いバイトと同じく混合バイトであり、このた
め制御権は、混合バイトを処理するコードの部分に移
る。この処理は、バイトを出力バツフアに記憶して出力
ポインタと入力ポインタBPを増分し、次のバイトに進む
ものである。
バツフア内の次のバイトが0でない場合は、新しい出力
バイトを得るためにBとEXCLUSIVEOR演算される。結果
として得られるバイトが白色の場合は、セクシヨン・デ
ータの終わりに達したかどうか判定するため、BPがLIMB
Pと比較される。終わりに達した場合は、ループから出
る。そうでない場合は、BUF内の0バイトの数NZを決定
するため、BP+1から始めてBUFが走査される。BPは、
走査中増分されて0のフイールドに続く0以外のバイト
を指すようになる。フイールド(0バイトを作成した0
でないBUF項目を有していた)の最初のバイトを含める
ためにNZに1を加算すると、連続した0バイトの合計数
が得られ、それがCODEを用いてコード化される。Bは次
に、0フイールドに続く0でないバイトの値を受け取る
が、このことは、そのバイトを値が0であつたBとEXCL
USIVE OR演算することと等価である。Bはこのとき黒
色または混合でなければならない。Bが混合である場
合、制御権は、混合バイトを処理するコードに移る。B
が黒色である場合は、上記のように、データの終りに到
達したかどうか知るため再びテストする必要がある。終
わりに到達した場合は、ループから出る。そうでない場
合は、制御権は黒色バイト処理するコードの部分に移
る。
黒色バイトを処理するコードの部分に入るのは、白色フ
イールドが処理された直後に、またはBUFの要素が混合
バイトBとEXCLUSIVE OR演算された後で混合バイトを
黒色バイトから分離するテストを経てからである。白色
バイトを処理する手順の場合と同様に、黒色フイールド
のレングスを決定するため、BUFがBPからはじめて走査
される。すなわちBPが、このフイールドに続くBUFの最
初の0でないバイトにセットされる。次に適当な数の黒
色バイトがコード化され、BPによつてアドレスされたBU
Fの要素をB(値X“FF"を有する)とEXCLUSIVE OR演
算することにより、Bがリセットされる。その結果得ら
れる値は白色または混合のどちらかであり、コードのど
の部分に分岐すべきかはテストで判定される。
第6C図は、最後の黒色フイールドまたは白色フイールド
および右端での埋込みのためのコード化手順を示す。線
の最後のデータ・バイトのカラーを判定するため、BUF
の最後の要素が検査される。最後のデータ・バイトとEX
CLUSIVE OR演算されるこの要素は0になるはずなの
で、両者は等しいはずである。最後のデータ・バイトが
白色である場合は、黒色と白色のどちらの埋込みが必要
なのかを判定するために、PCLRが検査される。白色の埋
込みが必要な場合は、そのフイールドのバイト数は、必
要とされる埋込みビツトの数と元のフイールドのレング
スの和である。このレングスは、NC−MAXによつて与え
られ、少なくとも1である(最後のバイトは白色である
から)。黒色の埋込みが必要な場合は、白色フイールド
のレングスがコード化され、次に、埋込みバイト(もし
あれば)が別個にコード化される。
同様に、最後のデータ・バイトが黒色である場合は、埋
込みビツトのカラーを判定するために、PCLRが検査され
る。黒色の埋込みの場合は、コード化されるバイトの数
を得るため、埋込みレングスと黒色フイールド・レング
スが加算され、白色の埋込みの場合は、黒色フイールド
・レングスがコード化され、次に、埋込みバイト(もし
あれば)がコード化される。
最後のデータ・バイトが混合である場合、PCLRがテスト
され、RTが0でなければ、適当なカラーの埋込みビツト
がコード化される。
これにより、1つのセクシヨンからのデータの圧縮が完
了する。
第7図および第8図は、第6A図も概略的に図示された処
理の一部の詳細を示す。第7図は、すべて白色バイトか
ら成るセクシヨンまたはすべて黒色バイトから成るセク
シヨンに対する手順を示す。白色セクシヨンの場合、埋
込みカラーのPCLRがテストされる。埋込みカラーが白色
の場合は、白色フイールドのレングスは、そのセクシヨ
ンのバイト数と左側および右側の埋込みレングスとの和
である。埋込みカラーが黒色の場合、埋込みは別個にコ
ード化されねばならず、コード化の前に、埋込み幅が0
でないかどうか知るため、埋込み幅をテストしなければ
ならない。(第3図に関して概略を述べた制限のため、
NCは0よりも大きくなければならないので、NCバイトの
フイールドをコード化する前に、テストは不要であ
る。)黒色セクシヨンをコード化するときは、これらの
条件が逆になる。すなわち、埋込みが黒色の場合は、セ
クシヨンは1回の動作でコード化することができ、そう
でない場合は、白色埋込みは適当なテストにより別個に
コード化しなければならない。
第8図は、左側の埋込ビツトと、単色でないセクシヨン
に対する最初の白色フイールドまたは黒色フイールドを
コード化するための手順を示す。セクシヨンが白色フイ
ールドで始まる場合、PCLRがテストされる。埋込みカラ
ーが白色である場合は、埋込みおよび白色フイールド
(レングスMIN)を一緒にコード化することができる。
そうでない場合は、コード化の前に、埋込み幅が0でな
いかどうかを判定するためにテストを行なつて、埋込を
別個にコード化しなければならず、その実行後に、白色
フイードがコード化される。
黒色フイールドで始まるセクシヨンに対する手順も同様
である。埋込みカラーが黒色である場合、埋込み幅とフ
イールド幅を組み合わせて、コード化し、そうでない場
合は、それらは別個にコード化される。白色でも黒色で
もないバイトでセクシヨンが始まるときは、内部バイト
をコード化するためのループに入る前に、埋込みのみを
コード化すればよい。かくてPCLRFがテストされ、(埋
込み幅LFTが0よりも大きい場合は、)適当なカラーの
埋込みバイトがコード化される。
第9図は、次のセクシヨンに対する準備として、セクシ
ヨンが処理された後で必要とされる初期設定示す。圧縮
されたばかりのセクシヨンに対する画像データが単色で
ない場合(すなわち、0とNCの間に少なくとも1つのラ
ン・エンドがある場合)、0でない項目を含むBUFの部
分を0にしなければならない。この部分は、位置MINか
ら位置MAXまで延び、1+MAX−MINバイトのレングスで
ある。いずれの場合にも、BUFの最後のバイトは0にさ
れる。MAXおよびMINはそれぞれSKIPおよびLIMにリセツ
トされるので、SKIPよりも大きいラン・エンドはすべて
MAXに記録され、LIMよりも小さいラン・エンドはすべて
MINに記録される。
4250印刷装置のための圧縮が必要でない場合は(すなわ
ち、転置のみが行なわれる場合は)、上記の方法を単純
化することができる。線の終りにある埋込みと単色セク
シヨンを処理するために、第5図に示した“CODE"手順
を修正して、BYTEのCTコピーを出力バツフアに書込み、
ポインタをそれに応じて増分するようにする。第6B図に
示す主ループは、次のバイトをTBに読み込み、それをB
とEXCLUCIVE OR演算し(上記各ステツプは多くのプロ
セツサでは組み合わせることができる)、Bが0の場合
は、線の終りかどうかテストし、線の終りが見つかつた
場合は終了し、そうでない場合は、ループを循環してB
を記憶し、入力ポインタと出力ポインタを増分するとい
う、非常に簡単なループに縮小される。別法として、線
の終りでBを強制的に0にさせる方法を放棄して、その
代りに、ループの各反復ごとにBPをLIMBPと比較するこ
ともできる。この場合、バツフアと出力データは同数の
バイトから成るので、希望するなら、出力を直接バツフ
ア内で構成することができる(またはそれと等価である
が、バツフアを出力記憶域にオーバーレイすることがで
きる)。その場合、入力データと出力データをアドレス
するのに、同じポインタを使用することができる。
この基本的方法は、他の多くの変形および改良を加える
ことが可能である。たとえば、出力データが、元のセク
シヨンの転置でなく、各セクシヨンを垂直軸に関して鏡
像化(mirroring)することによつて形成される画像の
転置を表わすようにできる。そうするには、第6B図のル
ープでセクシヨン・データが読み取られるのとは逆の順
序でバツフアのバイトを読み取るか、または、第4図に
示す手順でバイトをマスクするためのインデツクスとし
てラン・エンド自体の代りに各ラン・エンドの付加的反
転を用いて、ラン・エンド・データを逆の順序でバツフ
アに記憶すればよい(この場合は、インデツクスが付加
される基底ポインタを、バツフアの終りを指すか、また
はそれを越えるように適宜に調節しなければならな
い)。鏡像化された画像を転置したものは、元の画像を
反時計回りの方向に90度回転したものに等しいことに留
意されたい。時計回りの方向に90度回転するためには、
中間バツフアに入力されるデータを得るために元の画像
の行を逆の順序で使うとよい。こうすると画像データ
は、転置される前に、水平軸に関して有効に鏡像化され
る。
F.発明の効果 以上説明したように、この発明のよれば、画像遷移を中
間バツフアに記録し、次にそのバツフアのバイトを使つ
てビツトを反転して出力ラスタ・データを作成すること
により、入力2進画像データのラン・エンド形態を直接
処理して転置されたまたは回転されたラスタ・データ作
成することができる。この発明の固有の有利な特徴とし
ては、文書のマージンにある単色フイールドを飛び越せ
ること、元の画像のビツトのすべてを反転する機能、お
よびソフトウエアによつて効率的かつ簡単に実施できる
ことがある。
【図面の簡単な説明】
第1図は、本発明の方法による入力ラン・エンド表示を
圧縮転置されたラスタ画像へ変換する基本手順を示す。 第2図は、入力データ線を転置し、圧縮するための手順
を示すフローチヤートである。 第3図は、初期設定手順を示すフローチヤートである。 第4図は、入力データ線中での遷移を記録するための方
法を示すフローチヤートである。 第5図は、X“00"またはX“FF"バイトのシーケンスを
圧縮するために使用される2つのサブプロシージヤを示
すフローチヤートである。 第6A図、第6B図および第6C図は、記録された遷移データ
を圧縮転置されたデータに変換するための手順を示す。 第7図は、X“00"またはX“FF"バイトのセクシヨン全
体をコード化するための方法を示す。 第8図は、セクシヨンの左端にあるデータをコード化す
るための手順を示す。 第9図は、あるセクシヨンと次のセクシヨンのコード化
の間で必要とされる初期設定を示す。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−89171(JP,A) 特開 昭61−156483(JP,A) 特開 昭54−157041(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】2進符号化された画像データを転置または
    回転したラスタ形態の画像データに変換する画像データ
    変換方法において、 再生されるべき原画像の連続する複数のラスタ走査線を
    表わす画像データを各走査線ごとにラン・エンド形態で
    ラン・エンド・バッファに収納するステップと、 1つのラスタ走査線における各ペル位置に対応する記憶
    位置を有し、前記記憶位置の各々が前記複数のラスタ走
    査線に対応する複数のビット位置を有する中間バッファ
    をゼロに初期設定するステップと、 前記ラン・エンド・バッファに収納されているラン・エ
    ンド形態の画像データに応じて、各ラン・エンドごとに
    そのペル位置に対応する前記中間バッファの記憶位置を
    アドレスするとともに、前記記憶位置内の複数のビット
    位置のうち前記ラン・エンドの対応するビット位置に、
    それぞれビットをセットするステップと、 前記中間バッファの各記憶位置の記憶値を他の記憶位置
    の記憶値と逐次に排他的ORし、各排他的ORの結果を出力
    バッファに記憶するステップと より成る画像データ変換方法。
JP62319134A 1987-02-20 1987-12-18 画像データ変換方法 Expired - Lifetime JPH0771185B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/017,372 US4783834A (en) 1987-02-20 1987-02-20 System for creating transposed image data from a run end or run length representation of an image
US17372 1987-02-20

Publications (2)

Publication Number Publication Date
JPS63208362A JPS63208362A (ja) 1988-08-29
JPH0771185B2 true JPH0771185B2 (ja) 1995-07-31

Family

ID=21782210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62319134A Expired - Lifetime JPH0771185B2 (ja) 1987-02-20 1987-12-18 画像データ変換方法

Country Status (4)

Country Link
US (1) US4783834A (ja)
EP (1) EP0279420B1 (ja)
JP (1) JPH0771185B2 (ja)
DE (1) DE3877374T2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2612665B1 (fr) * 1987-03-16 1989-06-09 Onera (Off Nat Aerospatiale) Dispositif et procede pour le traitement d'images numerisees
JPS6442939A (en) * 1987-08-10 1989-02-15 Toshiba Corp Boxcell data compression/expansion device
US5095512A (en) * 1988-10-24 1992-03-10 Netexpress Systems, Inc. Method and apparatus for manipulating image data employing an intermediate format
DE69031446T2 (de) * 1989-02-02 1998-03-19 Dainippon Printing Co Ltd Bildbehandlungsanordnung
US5055919A (en) * 1989-10-10 1991-10-08 Unisys Corporation Apparatus for image data transposition and compression/decompression
EP0450014B1 (en) * 1989-10-10 1998-01-28 Unisys Corporation Apparatus and method for image data transposition and compression/decompression
US5095374A (en) * 1989-10-10 1992-03-10 Unisys Corporation Method and apparatus for lossless compression and decompression of image data
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5359677A (en) * 1990-12-11 1994-10-25 Sharp Kabushiki Kaisha Image reader and facsimile machine using such image reader
JP3285910B2 (ja) * 1991-10-30 2002-05-27 株式会社東芝 ビットサーチ回路
DE4313258A1 (de) * 1993-04-23 1994-10-27 Beiersdorf Ag Verfahren und Vorrichtung zur meßtechnischen quantitativen Bestimmung der Textur der menschlichen Hautoberfläche durch Registrierung, Wiedergabe und Analysierung von Bildinformationen
US6011566A (en) * 1994-09-01 2000-01-04 Unisys Corporation System and method to display raster images with negligible delay time and reduced memory requirements
US5721720A (en) * 1994-12-28 1998-02-24 Kabushiki Kaisha Toshiba Optical recording medium recording pixel data as a compressed unit data block
US6009202A (en) * 1994-12-28 1999-12-28 Kabushiki Kaisha Toshiba Image information encoding/decoding system
JP3100304B2 (ja) * 1995-03-08 2000-10-16 キヤノン株式会社 ドットパターン発生装置およびドットパターン発生方法
US6911987B1 (en) 1995-07-05 2005-06-28 Microsoft Corporation Method and system for transmitting data for a shared application
US5864711A (en) * 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US5581635A (en) * 1995-07-25 1996-12-03 United Parcel Service Of America, Inc. Method and system for fast rotation of run-length encoded images
US5867608A (en) * 1995-11-07 1999-02-02 Sun Microsystems, Inc. Method and apparatus for scaling images
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US5889935A (en) * 1996-05-28 1999-03-30 Emc Corporation Disaster control features for remote data mirroring
US5946222A (en) * 1996-12-20 1999-08-31 Oak Technology, Inc. Method and apparatus for performing a masked byte addition operation
US5870581A (en) * 1996-12-20 1999-02-09 Oak Technology, Inc. Method and apparatus for performing concurrent write operations to a single-write-input register file and an accumulator register
NL1005084C2 (nl) * 1997-01-24 1998-07-27 Oce Tech Bv Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps.
US6223181B1 (en) 1997-07-31 2001-04-24 Oak Technology, Inc. Memory conserving and compression technique-compatible image rotation system
US6490376B1 (en) 1998-09-17 2002-12-03 Metrologic Instruments, Inc. Skew processing of raster scan images
US6496192B1 (en) * 1999-08-05 2002-12-17 Matsushita Electric Industrial Co., Ltd. Modular architecture for image transposition memory using synchronous DRAM
DE10205546B4 (de) * 2002-02-11 2006-01-12 Nexpress Solutions Llc Verfahren zur Datenkomprimierung von Bildmaskendaten
US7418664B2 (en) 2002-04-03 2008-08-26 Microsoft Corporation Application sharing single document sharing
US7028266B2 (en) 2002-04-05 2006-04-11 Microsoft Corporation Processing occluded windows during application sharing
US8756513B1 (en) 2002-04-23 2014-06-17 Microsoft Corporation Document viewing mechanism for document sharing environment
US7293243B1 (en) 2002-05-22 2007-11-06 Microsoft Corporation Application sharing viewer presentation
US7356563B1 (en) 2002-06-06 2008-04-08 Microsoft Corporation Methods of annotating a collaborative application display
US7714865B2 (en) * 2004-03-09 2010-05-11 Canon Kabushiki Kaisha Compositing list caching for a raster image processor
US7005957B2 (en) * 2004-05-29 2006-02-28 Tsung-Mou Yu Mechanism for trip-free of the bimetallic plate of a safety switch device
JP4382000B2 (ja) * 2005-03-11 2009-12-09 株式会社リコー 印刷制御システム及び印刷制御方法
US20070216685A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Scene write-once vector and triangle rasterization
EP2053568A1 (fr) * 2007-09-28 2009-04-29 Gemplus Procédé de génération de masques dans un objet communiquant et objet communiquant correspondant
US20100035217A1 (en) * 2008-08-11 2010-02-11 David Kasper System and method for transmission of target tracking images
US9715644B1 (en) 2016-02-25 2017-07-25 Ricoh Company, Ltd. Protector coat bitmap generation for printing systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3833900A (en) * 1972-08-18 1974-09-03 Ibm Image compaction system
US4052699A (en) * 1976-06-30 1977-10-04 International Business Machines Corporation High speed real time image transformation
GB1547119A (en) * 1977-12-09 1979-06-06 Ibm Image rotation apparatus
JPS54157041A (en) * 1978-06-01 1979-12-11 Sony Corp Picture generation unit
US4185302A (en) * 1978-07-20 1980-01-22 Bell Telephone Laboratories, Incorporated Run length encoding of facsimile signals
US4271476A (en) * 1979-07-17 1981-06-02 International Business Machines Corporation Method and apparatus for rotating the scan format of digital images
JPS5789171A (en) * 1980-11-25 1982-06-03 Mitsubishi Electric Corp Picture processor
US4590606A (en) * 1982-12-13 1986-05-20 International Business Machines Corporation Multi-function image processing system
US4517604A (en) * 1983-04-04 1985-05-14 International Business Machines Corporation Method for reducing line width variations in bilevel video images
JPS6016767A (ja) * 1983-07-08 1985-01-28 Matsushita Graphic Commun Syst Inc 画像回転処理方式
JPS6073671A (ja) * 1983-09-30 1985-04-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション パタ−ン処理装置
US4610027A (en) * 1983-12-30 1986-09-02 International Business Machines Corporation Method for converting a bit map of an image to a run length or run end representation
US4627020A (en) * 1983-12-30 1986-12-02 International Business Machines Corporation Method for rotating a binary image
US4596039A (en) * 1983-12-30 1986-06-17 International Business Machines Corporation Method for converting an image from a run end or run length representation to a bit map
US4646356A (en) * 1984-06-29 1987-02-24 International Business Machines Corporation Method for converting a bit map of an image to a run length or run end representation
US4658430A (en) * 1984-12-27 1987-04-14 International Business Machines Corp. System for rotating binary images
US4647971A (en) * 1985-04-26 1987-03-03 Digital Services Corporation Moving video special effects system

Also Published As

Publication number Publication date
US4783834A (en) 1988-11-08
EP0279420A3 (en) 1988-12-07
DE3877374T2 (de) 1993-07-15
EP0279420A2 (en) 1988-08-24
DE3877374D1 (de) 1993-02-25
JPS63208362A (ja) 1988-08-29
EP0279420B1 (en) 1993-01-13

Similar Documents

Publication Publication Date Title
JPH0771185B2 (ja) 画像データ変換方法
JP2569307B2 (ja) 画像回転方法
US4888645A (en) Method for encoding and decoding a digital image
US5218431A (en) Raster image lossless compression and decompression with dynamic color lookup and two dimensional area encoding
US4725815A (en) Method for encoding and decoding a digital image
JP2766302B2 (ja) 可変長符号並列解読方法および装置
US4656664A (en) Method for reducing a binary image
EP0235456A2 (en) Image processing apparatus
US6859561B2 (en) Faster lossless rotation of JPEG images
US4602383A (en) Image data compression system
US4809081A (en) Method and apparatus for decompressing encoded data
US5889893A (en) Method and apparatus for the fast rotation of an image
EP0177640B1 (en) Image reduction method
EP0875858B1 (en) Method and apparatus for compressing and decompressing image data
JPS62232689A (ja) オペレータが選択した像部分の表示方法及び装置
JPS60154776A (ja) コード化及び解号方式
JP2672521B2 (ja) 画像処理方法
US5623556A (en) System and method of extracting binary image data
JPH0215782A (ja) 画像符号化方式
Anderson et al. Binary-image-manipulation algorithms in the Image View Facility
JP2945553B2 (ja) 画像データの高速復元方法
JP2798025B2 (ja) 動画像符号化方法及び装置
JPH1130978A (ja) カラー画像の符号化方法およびその符号装置ならびにカラー画像の復号化方法およびその復号化装置
JP2744231B2 (ja) 画像処理装置
Anderson et al. View Faciity