JPH11119763A - ビットマップ高能率符号化方式 - Google Patents
ビットマップ高能率符号化方式Info
- Publication number
- JPH11119763A JPH11119763A JP9284168A JP28416897A JPH11119763A JP H11119763 A JPH11119763 A JP H11119763A JP 9284168 A JP9284168 A JP 9284168A JP 28416897 A JP28416897 A JP 28416897A JP H11119763 A JPH11119763 A JP H11119763A
- Authority
- JP
- Japan
- Prior art keywords
- data
- vertical
- horizontal
- bitmap
- intermediate decoded
- 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
- 238000003860 storage Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 11
- 238000012432 intermediate storage Methods 0.000 claims 1
- 230000015654 memory Effects 0.000 abstract description 28
- 238000013500 data storage Methods 0.000 abstract description 14
- 238000001514 detection method Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Landscapes
- Controls And Circuits For Display Device (AREA)
- Document Processing Apparatus (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
(57)【要約】
【課題】 従来はビットマップデータを符号化する際
に、フォントの特徴に係らず符号化しているため、符号
化効率が悪い。 【解決手段】 横方向連続データ検出部15は、ビット
マップデータ格納メモリ11のビットマップデータの文
字色領域を横方向に走査し、また縦方向連続データ検出
部14はこのビットマップデータの文字色領域を縦方向
に走査する。これらのデータを重み付けして得られたデ
ータに基づいて、横方向と縦方向の中間デコードデータ
を生成し、中間デコードデータ格納メモリ12に格納す
る。これらの中間デコードデータと元データからこれら
の中間デコードデータを差し引いた差分データとは、ラ
ンレングス符号器17でランレングス符号化される。こ
のランレングス符号化に際して文字色領域の画素に文字
色領域以外の画素より少ない画素数を割り当てる。
に、フォントの特徴に係らず符号化しているため、符号
化効率が悪い。 【解決手段】 横方向連続データ検出部15は、ビット
マップデータ格納メモリ11のビットマップデータの文
字色領域を横方向に走査し、また縦方向連続データ検出
部14はこのビットマップデータの文字色領域を縦方向
に走査する。これらのデータを重み付けして得られたデ
ータに基づいて、横方向と縦方向の中間デコードデータ
を生成し、中間デコードデータ格納メモリ12に格納す
る。これらの中間デコードデータと元データからこれら
の中間デコードデータを差し引いた差分データとは、ラ
ンレングス符号器17でランレングス符号化される。こ
のランレングス符号化に際して文字色領域の画素に文字
色領域以外の画素より少ない画素数を割り当てる。
Description
【0001】
【発明の属する技術分野】本発明はビットマップ高能率
符号化方式に係り、特にビットマップデータを保持する
必要のあるすべての装置においてビットマップを高能率
符号化するビットマップ高能率符号化方式に関する。
符号化方式に係り、特にビットマップデータを保持する
必要のあるすべての装置においてビットマップを高能率
符号化するビットマップ高能率符号化方式に関する。
【0002】
【従来の技術】従来のビットマップ高能率符号化方式で
は、ビットマップデータ(フォントデータ)を保持する
必要のある装置において、フォントに関する画像データ
であるビットマップデータを符号化して保持するに際
し、記憶容量をできるだけ削減するために、ランレング
ス符号化を行って記憶している。すなわち、従来は例え
ば量子化されたビットマップデータを、予め定めた縦方
向又は横方向に走査して得られたデータに対して、縦方
向又は横方向に連続する画素数を示す可変長の画素と、
連続している画素の値を示す画素と、連続する画素数に
応じた画素数の所定値の画素とからなる符号化出力を得
るランレングス符号化方式で可変長符号化し、得られた
符号化データを画素ストリームとして出力している。
は、ビットマップデータ(フォントデータ)を保持する
必要のある装置において、フォントに関する画像データ
であるビットマップデータを符号化して保持するに際
し、記憶容量をできるだけ削減するために、ランレング
ス符号化を行って記憶している。すなわち、従来は例え
ば量子化されたビットマップデータを、予め定めた縦方
向又は横方向に走査して得られたデータに対して、縦方
向又は横方向に連続する画素数を示す可変長の画素と、
連続している画素の値を示す画素と、連続する画素数に
応じた画素数の所定値の画素とからなる符号化出力を得
るランレングス符号化方式で可変長符号化し、得られた
符号化データを画素ストリームとして出力している。
【0003】
【発明が解決しようとする課題】しかるに、従来のビッ
トマップ高能率符号化方式は、ビットマップデータを符
号化する際に、フォントの特徴に係らず予め定めた縦方
向又は横方向に走査して得られたデータに対して符号化
しているため、符号化効率が悪いという問題がある。
トマップ高能率符号化方式は、ビットマップデータを符
号化する際に、フォントの特徴に係らず予め定めた縦方
向又は横方向に走査して得られたデータに対して符号化
しているため、符号化効率が悪いという問題がある。
【0004】本発明は上記の点に鑑みなされたもので、
符号化効率を向上し得るビットマップ高能率符号化方式
を提供することを目的とする。
符号化効率を向上し得るビットマップ高能率符号化方式
を提供することを目的とする。
【0005】
【課題を解決するための手段】本発明は上記の目的を達
成するため、符号化するビットマップデータを格納する
第1の格納手段と、第1の格納手段により格納されたビ
ットマップデータを縦方向と横方向のそれぞれに別々に
走査し、更に重み付けして得た縦方向と横方向のそれぞ
れの重み付けデータからそれぞれ横方向及び縦方向の長
さが1である縦中間デコードデータと横中間デコードデ
ータをそれぞれ生成する生成手段と、縦中間デコードデ
ータと横中間デコードデータをそれぞれ格納する第2の
格納手段と、第1の格納手段からのビットマップデータ
と第2の格納手段からの縦中間デコードデータ及び横中
間デコードデータとの差分データを演算する演算手段
と、差分データと生成手段により得られた縦中間デコー
ドデータ及び横中間デコードデータとをそれぞれランレ
ングス符号化する符号化手段とを有する構成としたもの
である。
成するため、符号化するビットマップデータを格納する
第1の格納手段と、第1の格納手段により格納されたビ
ットマップデータを縦方向と横方向のそれぞれに別々に
走査し、更に重み付けして得た縦方向と横方向のそれぞ
れの重み付けデータからそれぞれ横方向及び縦方向の長
さが1である縦中間デコードデータと横中間デコードデ
ータをそれぞれ生成する生成手段と、縦中間デコードデ
ータと横中間デコードデータをそれぞれ格納する第2の
格納手段と、第1の格納手段からのビットマップデータ
と第2の格納手段からの縦中間デコードデータ及び横中
間デコードデータとの差分データを演算する演算手段
と、差分データと生成手段により得られた縦中間デコー
ドデータ及び横中間デコードデータとをそれぞれランレ
ングス符号化する符号化手段とを有する構成としたもの
である。
【0006】本発明では、符号化する元のフォントのビ
ットマップデータを、横方向及び縦方向のそれぞれにつ
いて走査し、得られた文字領域の長さ情報に関する重み
付けデータを生成した後、横方向が1画素の画素列を使
用する縦中間デコードデータと縦方向が1画素の画素列
を使用する横中間デコードデータと差分データをそれぞ
れ生成するようにしたため、フォントの特徴に応じて縦
中間デコードデータと横中間デコードデータと差分デー
タをランレングス符号化できる。特にこれらのデータは
有色領域の方が非有色領域より短い長さを持つことが多
いので、ランレングス符号化において有色領域に非有色
領域よりも少ないビットを割り当てることでビットマッ
プデータの符号化効率を上げることができる。
ットマップデータを、横方向及び縦方向のそれぞれにつ
いて走査し、得られた文字領域の長さ情報に関する重み
付けデータを生成した後、横方向が1画素の画素列を使
用する縦中間デコードデータと縦方向が1画素の画素列
を使用する横中間デコードデータと差分データをそれぞ
れ生成するようにしたため、フォントの特徴に応じて縦
中間デコードデータと横中間デコードデータと差分デー
タをランレングス符号化できる。特にこれらのデータは
有色領域の方が非有色領域より短い長さを持つことが多
いので、ランレングス符号化において有色領域に非有色
領域よりも少ないビットを割り当てることでビットマッ
プデータの符号化効率を上げることができる。
【0007】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面と共に説明する。図1は本発明になるビットマッ
プ高能率符号化方式で用いる符号化装置の一実施の形態
のブロック図を示す。同図に示すように、この実施の形
態の符号化装置は、入力された符号化すべきビットマッ
プデータ(元データ)を格納するビットマップデータ格
納メモリ11と、後述の中間デコードデータを格納する
中間デコードデータ格納メモリ12と、ビットマップ演
算器13と、ビットマップを縦方向に走査し連続する文
字色領域の長さを検出する縦方向連続データ検出部14
と、ビットマップを横方向に走査し連続する文字色領域
の長さを検出する横方向連続データ検出部15と、重み
付け演算を行い、その重み付けデータを格納する重み付
け演算部及びメモリ16と、入力されたデータをランレ
ングス符号化して出力するランレングス符号器17と、
各部を統括的に制御するデータ制御部18とからなり、
これらがバス19を介して互いに接続されている。
て図面と共に説明する。図1は本発明になるビットマッ
プ高能率符号化方式で用いる符号化装置の一実施の形態
のブロック図を示す。同図に示すように、この実施の形
態の符号化装置は、入力された符号化すべきビットマッ
プデータ(元データ)を格納するビットマップデータ格
納メモリ11と、後述の中間デコードデータを格納する
中間デコードデータ格納メモリ12と、ビットマップ演
算器13と、ビットマップを縦方向に走査し連続する文
字色領域の長さを検出する縦方向連続データ検出部14
と、ビットマップを横方向に走査し連続する文字色領域
の長さを検出する横方向連続データ検出部15と、重み
付け演算を行い、その重み付けデータを格納する重み付
け演算部及びメモリ16と、入力されたデータをランレ
ングス符号化して出力するランレングス符号器17と、
各部を統括的に制御するデータ制御部18とからなり、
これらがバス19を介して互いに接続されている。
【0008】データ制御部18は、中央処理装置(CP
U)181と、後述する所定の符号化動作を行うために
CPU181が実行するプログラムなどが格納されてい
るリード・オンリ・メモリ(ROM)182と、符号化
アルゴリズムを実行する際に作業領域として用いられる
ランダム・アクセス・メモリ(RAM)183とから構
成されている。データ制御部18は、入力ビットマップ
の文字色領域の横及び縦方向の長さ情報に基づき、その
文字色領域について横方向若しくは縦方向のランレング
ス符号化のいずれかを選択し、ランレングス符号器17
によるランレングス符号化に際して文字色領域の画素に
文字色領域以外の画素より少ない画素数を割り当て、横
方向及び縦方向の長さが1の文字色領域について文字色
領域以外の画素数のみ符号化する。
U)181と、後述する所定の符号化動作を行うために
CPU181が実行するプログラムなどが格納されてい
るリード・オンリ・メモリ(ROM)182と、符号化
アルゴリズムを実行する際に作業領域として用いられる
ランダム・アクセス・メモリ(RAM)183とから構
成されている。データ制御部18は、入力ビットマップ
の文字色領域の横及び縦方向の長さ情報に基づき、その
文字色領域について横方向若しくは縦方向のランレング
ス符号化のいずれかを選択し、ランレングス符号器17
によるランレングス符号化に際して文字色領域の画素に
文字色領域以外の画素より少ない画素数を割り当て、横
方向及び縦方向の長さが1の文字色領域について文字色
領域以外の画素数のみ符号化する。
【0009】この実施の形態の動作の概要について説明
するに、例えば、図2に示す「玉」という漢字のビット
マップデータ(フォントデータ)が入力されてビットマ
ップデータ格納メモリ11に格納された場合、横方向連
続データ検出部15はこのビットマップデータの文字色
領域を横方向に走査し、また縦方向連続データ検出部1
4はこのビットマップデータの文字色領域を縦方向に走
査する。
するに、例えば、図2に示す「玉」という漢字のビット
マップデータ(フォントデータ)が入力されてビットマ
ップデータ格納メモリ11に格納された場合、横方向連
続データ検出部15はこのビットマップデータの文字色
領域を横方向に走査し、また縦方向連続データ検出部1
4はこのビットマップデータの文字色領域を縦方向に走
査する。
【0010】そして、これらの走査により得られたデー
タと、これらを重み付けして得られたデータとに基づい
て、図3に示すような横方向の中間デコードデータを生
成し、また、図4に示すような縦方向の中間デコードデ
ータを生成して、それぞれ中間デコードデータ格納メモ
リ12に格納する。ただし、図6に示すような縦方向及
び横方向の長さが1の文字領域は、上記の縦方向及び横
方向のいずれの中間デコードデータにも含まないように
する。
タと、これらを重み付けして得られたデータとに基づい
て、図3に示すような横方向の中間デコードデータを生
成し、また、図4に示すような縦方向の中間デコードデ
ータを生成して、それぞれ中間デコードデータ格納メモ
リ12に格納する。ただし、図6に示すような縦方向及
び横方向の長さが1の文字領域は、上記の縦方向及び横
方向のいずれの中間デコードデータにも含まないように
する。
【0011】そして、データ制御部18は図3と図4の
中間デコードデータの和の情報(図5)を求めた後、図
2に示す元のビットマップデータと図5に示すこの和の
情報との差分データを求める。この差分データは図6に
示される。続いて、データ制御部18は、ランレングス
符号器17により図3の横方向の中間デコードデータを
横方向にランレングス符号化させ、図4の縦方向の中間
デコードデータを縦方向にランレングス符号化させ、図
6に示す差分データをランレングス符号化させる。な
お、ランレングス符号器17によるランレングス符号化
に際して文字色領域の画素に文字色領域以外の画素より
少ない画素数を割り当てる。
中間デコードデータの和の情報(図5)を求めた後、図
2に示す元のビットマップデータと図5に示すこの和の
情報との差分データを求める。この差分データは図6に
示される。続いて、データ制御部18は、ランレングス
符号器17により図3の横方向の中間デコードデータを
横方向にランレングス符号化させ、図4の縦方向の中間
デコードデータを縦方向にランレングス符号化させ、図
6に示す差分データをランレングス符号化させる。な
お、ランレングス符号器17によるランレングス符号化
に際して文字色領域の画素に文字色領域以外の画素より
少ない画素数を割り当てる。
【0012】この実施の形態では、ランレングス符号化
を縦方向にかける領域と、横方向にかける領域に分解す
るために、元データを格納する元データを格納するメモ
リ11と、中間デコードデータを格納するメモリ12
と、重み付けデータを格納するメモリの3種類のメモリ
を使用する。
を縦方向にかける領域と、横方向にかける領域に分解す
るために、元データを格納する元データを格納するメモ
リ11と、中間デコードデータを格納するメモリ12
と、重み付けデータを格納するメモリの3種類のメモリ
を使用する。
【0013】中間デコードデータ格納メモリ12は、縦
方向ランレングスを行う有色領域を記録する縦方向中間
デコードデータと、横方向ランレングスを行う有色領域
を記録する横方向中間デコードデータとの和の中間デコ
ードデータを格納するメモリである。更に、重み付けデ
ータは、ビットマップデータの中の各画素について、縦
方向に連続する長さ情報を要素とする整数配列である縦
重み付けデータと、横方向に連続する長さ情報を要素と
する整数配列である横重み付けデータとを、重み付け演
算部及びメモリ16のメモリ部分に格納される。
方向ランレングスを行う有色領域を記録する縦方向中間
デコードデータと、横方向ランレングスを行う有色領域
を記録する横方向中間デコードデータとの和の中間デコ
ードデータを格納するメモリである。更に、重み付けデ
ータは、ビットマップデータの中の各画素について、縦
方向に連続する長さ情報を要素とする整数配列である縦
重み付けデータと、横方向に連続する長さ情報を要素と
する整数配列である横重み付けデータとを、重み付け演
算部及びメモリ16のメモリ部分に格納される。
【0014】次に、本実施の形態の動作について更に詳
細に図7のフローチャート等と共に説明する。ビットマ
ップデータ格納メモリ11に入力ビットマップデータ
(元データ)が格納されているものとする。まず、デー
タ制御部11は中間デコードデータ格納メモリ12の中
間デコードデータを初期化する(ステップ101)。
細に図7のフローチャート等と共に説明する。ビットマ
ップデータ格納メモリ11に入力ビットマップデータ
(元データ)が格納されているものとする。まず、デー
タ制御部11は中間デコードデータ格納メモリ12の中
間デコードデータを初期化する(ステップ101)。
【0015】続いて、元データと中間デコードデータの
差分データの文字色領域を横方向連続データ検出部15
で横方向に走査して、すべての文字色領域の画素を含む
横方向の連続する長さ情報を検出し、それを重み付け演
算部及びメモリ16で横重み付けデータとしてメモリに
格納する(ステップ102)。同様に、元データと中間
デコードデータ配列の差分データの文字色領域を縦方向
連続データ検出部14で縦方向に走査して、すべての文
字色領域の画素を含む縦方向の連続する長さ情報を検出
し、それを重み付け演算部及びメモリ16で縦重み付け
データとしてメモリに格納する(ステップ103)。
差分データの文字色領域を横方向連続データ検出部15
で横方向に走査して、すべての文字色領域の画素を含む
横方向の連続する長さ情報を検出し、それを重み付け演
算部及びメモリ16で横重み付けデータとしてメモリに
格納する(ステップ102)。同様に、元データと中間
デコードデータ配列の差分データの文字色領域を縦方向
連続データ検出部14で縦方向に走査して、すべての文
字色領域の画素を含む縦方向の連続する長さ情報を検出
し、それを重み付け演算部及びメモリ16で縦重み付け
データとしてメモリに格納する(ステップ103)。
【0016】ここで、最初はステップ101で中間デコ
ードデータ配列を初期化しているので、元データのみが
横方向と縦方向にそれぞれ走査され、重み付け演算部1
6で重み付けデータとされる。例えば、元データが
「工」という漢字である場合、横方向重み付けデータ配
列は図8に示すようになり、縦方向重み付けデータ配列
は図9に示す如くになる。図8中、数値は横方向に連続
する文字色領域の画素数を示し、図9中、数値は縦方向
に連続する文字領域の画素数を示し、また、図8及び図
9中数値の位置は有色の画素位置を示している。
ードデータ配列を初期化しているので、元データのみが
横方向と縦方向にそれぞれ走査され、重み付け演算部1
6で重み付けデータとされる。例えば、元データが
「工」という漢字である場合、横方向重み付けデータ配
列は図8に示すようになり、縦方向重み付けデータ配列
は図9に示す如くになる。図8中、数値は横方向に連続
する文字色領域の画素数を示し、図9中、数値は縦方向
に連続する文字領域の画素数を示し、また、図8及び図
9中数値の位置は有色の画素位置を示している。
【0017】続いて、上記の縦方向重み付けデータ配列
から縦重み付けの最大値maxlenvが求められ(ス
テップ104)、横方向重み付けデータ配列から横重み
付けデータの最大値maxlenhが求められる(ステ
ップ105)。ここでは、縦重み付けデータの最大値m
axlenvは図9に示すように「6」であり、横重み
付けデータの最大値maxlenhは図8に示すように
「5」である。
から縦重み付けの最大値maxlenvが求められ(ス
テップ104)、横方向重み付けデータ配列から横重み
付けデータの最大値maxlenhが求められる(ステ
ップ105)。ここでは、縦重み付けデータの最大値m
axlenvは図9に示すように「6」であり、横重み
付けデータの最大値maxlenhは図8に示すように
「5」である。
【0018】続いて、上記のmaxlenvとmaxl
enhの少なくとも一方が2以上であるかどうか判定さ
れ(ステップ106)、どちらか一方が2以上である場
合はmaxlenv≧maxlenhであるかどうか判
定される(ステップ107)。ここでは、maxlen
v=6、maxlenh=5であるので、maxlen
v≧maxlenhであり、よって、元データと中間デ
コードデータ(縦)にランレングスを行うことが決定し
た文字色領域(対応する画素)を縦中間デコードデータ
配列に複写する(ステップ108)。
enhの少なくとも一方が2以上であるかどうか判定さ
れ(ステップ106)、どちらか一方が2以上である場
合はmaxlenv≧maxlenhであるかどうか判
定される(ステップ107)。ここでは、maxlen
v=6、maxlenh=5であるので、maxlen
v≧maxlenhであり、よって、元データと中間デ
コードデータ(縦)にランレングスを行うことが決定し
た文字色領域(対応する画素)を縦中間デコードデータ
配列に複写する(ステップ108)。
【0019】しかる後に、縦中間デコードデータ配列と
横中間デコードデータ配列の和をビットマップ演算器1
3で求めてそれを中間デコードデータとして中間デコー
ドデータ格納メモリに格納した後(ステップ109)、
ステップ102に戻り、再び元データとこの中間デコー
ドデータを元に縦重み付けデータを求める。
横中間デコードデータ配列の和をビットマップ演算器1
3で求めてそれを中間デコードデータとして中間デコー
ドデータ格納メモリに格納した後(ステップ109)、
ステップ102に戻り、再び元データとこの中間デコー
ドデータを元に縦重み付けデータを求める。
【0020】なお、maxlenv<maxlenhで
あるときは、元データと中間デコードデータ(横)にラ
ンレングスを行うことが決定した文字色領域(対応する
画素)を横中間デコードデータ配列に複写し(ステップ
108)、縦中間デコードデータ配列と横中間デコード
データ配列の和をビットマップ演算器13で求めてそれ
を中間デコードデータとして中間デコードデータ格納メ
モリに格納する(ステップ109)。
あるときは、元データと中間デコードデータ(横)にラ
ンレングスを行うことが決定した文字色領域(対応する
画素)を横中間デコードデータ配列に複写し(ステップ
108)、縦中間デコードデータ配列と横中間デコード
データ配列の和をビットマップ演算器13で求めてそれ
を中間デコードデータとして中間デコードデータ格納メ
モリに格納する(ステップ109)。
【0021】ここで、ステップ102では元データと中
間デコードデータ配列の差分データの文字色領域を横方
向に走査して横方向重み付けデータを生成し、ステップ
103では元データと中間デコードデータ配列の差分デ
ータの文字色領域を縦方向に走査して縦方向重み付けデ
ータを生成するようにしているので、ステップ102及
び103の処理を行う毎に最大値maxlenv又はm
axlenhが低下していき最後にはいずれも1とな
る。最大値maxlenvとmaxlenhがいずれも
1であるとステップ106で判定されると、縦方向、横
方向の有色領域の長さは1なので、非有色領域の中間デ
コードデータのみをランレングス符号器17によりそれ
ぞれランレングス符号化する(ステップ111、11
2)。
間デコードデータ配列の差分データの文字色領域を横方
向に走査して横方向重み付けデータを生成し、ステップ
103では元データと中間デコードデータ配列の差分デ
ータの文字色領域を縦方向に走査して縦方向重み付けデ
ータを生成するようにしているので、ステップ102及
び103の処理を行う毎に最大値maxlenv又はm
axlenhが低下していき最後にはいずれも1とな
る。最大値maxlenvとmaxlenhがいずれも
1であるとステップ106で判定されると、縦方向、横
方向の有色領域の長さは1なので、非有色領域の中間デ
コードデータのみをランレングス符号器17によりそれ
ぞれランレングス符号化する(ステップ111、11
2)。
【0022】ここで、それぞれについてランレングス符
号化をするが、有色領域は非有色領域と比較し、短い長
さを持つことが多いので、非有色領域より少ない画素を
割り当てることにより、ランレングス符号化の効率を上
げる。最後に、元データと中間デコードデータの差分を
求め(ステップ113)、その差分データをランレング
ス符号化する(ステップ114)。その際、有色領域の
横方向、縦方向の長さは1なので、非有色領域の長さの
みを符号化する。
号化をするが、有色領域は非有色領域と比較し、短い長
さを持つことが多いので、非有色領域より少ない画素を
割り当てることにより、ランレングス符号化の効率を上
げる。最後に、元データと中間デコードデータの差分を
求め(ステップ113)、その差分データをランレング
ス符号化する(ステップ114)。その際、有色領域の
横方向、縦方向の長さは1なので、非有色領域の長さの
みを符号化する。
【0023】このような手法を用いるために、単独画素
符号化で符号化される画素の方が元のデータをランレン
グス符号化するよりも符号化効率が良い。そこで、ラン
レングス符号化方向判定を行う際に以下に示す最適化を
行う。元データと中間デコードデータを比較して、縦又
は横方向に連続する有色領域について、その領域の開始
位置、終了位置が一致している場合、すでに中間デコー
ドデータが複写済みであるとみなし、新たにデータを複
写は行わない。
符号化で符号化される画素の方が元のデータをランレン
グス符号化するよりも符号化効率が良い。そこで、ラン
レングス符号化方向判定を行う際に以下に示す最適化を
行う。元データと中間デコードデータを比較して、縦又
は横方向に連続する有色領域について、その領域の開始
位置、終了位置が一致している場合、すでに中間デコー
ドデータが複写済みであるとみなし、新たにデータを複
写は行わない。
【0024】元データと中間デコードデータとがそれぞ
れ横方向に連続する有色領域について、終了位置と開始
位置の一方のみが一致している場合には、単独画素とし
て取り扱う。元データと中間デコードデータとがそれぞ
れ横方向に連続する有色領域について、その領域の開始
位置と終了位置がいずれも不一致である場合には、複数
の画素として扱う。
れ横方向に連続する有色領域について、終了位置と開始
位置の一方のみが一致している場合には、単独画素とし
て取り扱う。元データと中間デコードデータとがそれぞ
れ横方向に連続する有色領域について、その領域の開始
位置と終了位置がいずれも不一致である場合には、複数
の画素として扱う。
【0025】
【実施例】次に、本実施例の動作を更に具体的、かつ、
詳細に説明する。図10はアルファベットの”B”とい
うビットマップデータを本発明方式により符号化する場
合の各配列の偏移を示す。最初のステージ1(STAG
E1)では横方向6画素、縦方向7画素のフォント”
B”のビットマップデータ(元データ)201が入力さ
れてビットマップデータ格納メモリ(図1の11)に格
納される。なお、ここでは、1画素1ビットの例を示し
ているが、1画素複数ビットでも同様である。また、中
間デコードデータが初期化されることにより(図7のス
テップ101)、横中間デコードデータ202及び縦中
間デコードデータ203はそれぞれオール0とされる。
詳細に説明する。図10はアルファベットの”B”とい
うビットマップデータを本発明方式により符号化する場
合の各配列の偏移を示す。最初のステージ1(STAG
E1)では横方向6画素、縦方向7画素のフォント”
B”のビットマップデータ(元データ)201が入力さ
れてビットマップデータ格納メモリ(図1の11)に格
納される。なお、ここでは、1画素1ビットの例を示し
ているが、1画素複数ビットでも同様である。また、中
間デコードデータが初期化されることにより(図7のス
テップ101)、横中間デコードデータ202及び縦中
間デコードデータ203はそれぞれオール0とされる。
【0026】従って、元データ201と横中間デコード
データ202の差分データ、及び元データ201と横中
間デコードデータ202の差分データは、いずれも元デ
ータ201と同じであり、図7のステップ102でこの
差分データの文字色領域を横方向に走査して横方向重み
付けデータを生成すると、図10に204で示すような
横重み付けデータが生成され、図7のステップ103で
文字色領域を縦方向に走査して縦方向重み付けデータを
生成すると、図10に205で示すような縦重み付けデ
ータが生成される。これらの横重み付けデータ204、
縦重み付けデータ205の各画素の値は、元データ20
1の「1」が連続する値を示し、その画素位置は「1」
が存在する画素位置である。
データ202の差分データ、及び元データ201と横中
間デコードデータ202の差分データは、いずれも元デ
ータ201と同じであり、図7のステップ102でこの
差分データの文字色領域を横方向に走査して横方向重み
付けデータを生成すると、図10に204で示すような
横重み付けデータが生成され、図7のステップ103で
文字色領域を縦方向に走査して縦方向重み付けデータを
生成すると、図10に205で示すような縦重み付けデ
ータが生成される。これらの横重み付けデータ204、
縦重み付けデータ205の各画素の値は、元データ20
1の「1」が連続する値を示し、その画素位置は「1」
が存在する画素位置である。
【0027】図10に示すように、縦重み付けデータ2
05の最大値maxlenvは「6」であり、横重み付
けデータ204の最大値maxlenhは「4」である
から、これらはいずれも「2」以上で、またmaxle
nv>maxlenhであるから、元データから縦中間
デコードデータにランレングスを行うことが決定した文
字色領域が複写される(図7のステップ104〜10
8)。これにより、縦中間デコードデータは図10に2
06で示すように、元データ201のうち縦重み付けデ
ータ205の最大値の画素位置(ランレングスを行うこ
とが決定した文字色領域)の「1」が複写されたデータ
とされる。
05の最大値maxlenvは「6」であり、横重み付
けデータ204の最大値maxlenhは「4」である
から、これらはいずれも「2」以上で、またmaxle
nv>maxlenhであるから、元データから縦中間
デコードデータにランレングスを行うことが決定した文
字色領域が複写される(図7のステップ104〜10
8)。これにより、縦中間デコードデータは図10に2
06で示すように、元データ201のうち縦重み付けデ
ータ205の最大値の画素位置(ランレングスを行うこ
とが決定した文字色領域)の「1」が複写されたデータ
とされる。
【0028】一方、横中間デコードデータは図10に2
02で示す元のデータのままである。この縦中間デコー
ドデータ206と横中間デコードデータ202とが加算
されて中間デコードデータとされる(図7のステップ1
09)。
02で示す元のデータのままである。この縦中間デコー
ドデータ206と横中間デコードデータ202とが加算
されて中間デコードデータとされる(図7のステップ1
09)。
【0029】次に、元データ201と上記の中間デコー
ドデータの差分データが求められる。この差分データ
は、図10にステージ2(STAGE2)の差分データ
として207で示すように、元データ201のうち左か
ら第2列目がオール0とされたデータである。この差分
データ207は横方向に走査され、かつ、重み付けされ
ることにより、図10に208で示される横重み付けデ
ータが生成され(図7のステップ102)、また縦方向
に走査され、かつ、重み付けされることにより、図10
に209で示される縦重み付けデータが生成される(図
7のステップ103)。
ドデータの差分データが求められる。この差分データ
は、図10にステージ2(STAGE2)の差分データ
として207で示すように、元データ201のうち左か
ら第2列目がオール0とされたデータである。この差分
データ207は横方向に走査され、かつ、重み付けされ
ることにより、図10に208で示される横重み付けデ
ータが生成され(図7のステップ102)、また縦方向
に走査され、かつ、重み付けされることにより、図10
に209で示される縦重み付けデータが生成される(図
7のステップ103)。
【0030】図10に示すように、縦重み付けデータ2
09の最大値maxlenvは「2」であり、横重み付
けデータ208の最大値maxlenhは「3」である
から、これらはいずれも「2」以上で、またmaxle
nv<maxlenhであるから、元データから横中間
デコードデータにランレングスを行うことが決定した文
字色領域が複写される(図7のステップ104〜10
7、110)。
09の最大値maxlenvは「2」であり、横重み付
けデータ208の最大値maxlenhは「3」である
から、これらはいずれも「2」以上で、またmaxle
nv<maxlenhであるから、元データから横中間
デコードデータにランレングスを行うことが決定した文
字色領域が複写される(図7のステップ104〜10
7、110)。
【0031】これにより、横中間デコードデータは図1
0に210で示すように、元データ201のうち横重み
付けデータ208の最大値の画素位置(ランレングスを
行うことが決定した文字色領域)の「1」が複写され、
かつ、他の領域はオールゼロとされたデータとされる。
一方、縦中間デコードデータ206は元のままである。
この縦中間デコードデータ206と横中間デコードデー
タ210とが加算されて中間デコードデータとされる
(図7のステップ109)。
0に210で示すように、元データ201のうち横重み
付けデータ208の最大値の画素位置(ランレングスを
行うことが決定した文字色領域)の「1」が複写され、
かつ、他の領域はオールゼロとされたデータとされる。
一方、縦中間デコードデータ206は元のままである。
この縦中間デコードデータ206と横中間デコードデー
タ210とが加算されて中間デコードデータとされる
(図7のステップ109)。
【0032】次に、元データ201と上記の中間デコー
ドデータの差分データが求められる。この差分データ
は、図10にステージ3(STAGE3)の差分データ
として211で示すように、元データ201のうち第1
行目、第3行目及び第6行目がオール0とされたデータ
である。この差分データ211は横方向に走査され、か
つ、重み付けされることにより、図10に212で示さ
れる横重み付けデータが生成され(図7のステップ10
2)、また縦方向に走査され、かつ、重み付けされるこ
とにより、図10に213で示される縦重み付けデータ
が生成される(図7のステップ103)。
ドデータの差分データが求められる。この差分データ
は、図10にステージ3(STAGE3)の差分データ
として211で示すように、元データ201のうち第1
行目、第3行目及び第6行目がオール0とされたデータ
である。この差分データ211は横方向に走査され、か
つ、重み付けされることにより、図10に212で示さ
れる横重み付けデータが生成され(図7のステップ10
2)、また縦方向に走査され、かつ、重み付けされるこ
とにより、図10に213で示される縦重み付けデータ
が生成される(図7のステップ103)。
【0033】図10に示すように、縦重み付けデータ2
13の最大値maxlenvは「2」であり、横重み付
けデータ212の最大値maxlenhは「1」である
から、maxlenvが「2」以上で、またmaxle
nv>maxlenhであるから、元データから縦中間
デコードデータにランレングスを行うことが決定した文
字色領域が複写される(図7のステップ104〜10
8)。
13の最大値maxlenvは「2」であり、横重み付
けデータ212の最大値maxlenhは「1」である
から、maxlenvが「2」以上で、またmaxle
nv>maxlenhであるから、元データから縦中間
デコードデータにランレングスを行うことが決定した文
字色領域が複写される(図7のステップ104〜10
8)。
【0034】これにより、縦中間デコードデータは図1
0に214で示すように、元データ201のうち縦重み
付けデータ213の最大値の画素位置(ランレングスを
行うことが決定した文字色領域)の「1」が、最新の縦
中間デコードデータ206に複写されたデータとされ
る。
0に214で示すように、元データ201のうち縦重み
付けデータ213の最大値の画素位置(ランレングスを
行うことが決定した文字色領域)の「1」が、最新の縦
中間デコードデータ206に複写されたデータとされ
る。
【0035】一方、横中間デコードデータは図10に2
10で示す元のデータのままである。この縦中間デコー
ドデータ214と横中間デコードデータ210とが加算
されて中間デコードデータとされる(図7のステップ1
09)。
10で示す元のデータのままである。この縦中間デコー
ドデータ214と横中間デコードデータ210とが加算
されて中間デコードデータとされる(図7のステップ1
09)。
【0036】次に、元データ201と上記の中間デコー
ドデータの差分データが求められる。この差分データ
は、図10にステージ4(STAGE4)の差分データ
として215で示すように、元データ201のうち2行
目の6画素目のみが1で他は0とされたデータである。
従って、この差分データ215が横方向に走査され、か
つ、重み付けされることにより、差分データ215と同
じ横重み付けデータが生成され(図7のステップ10
2)、また縦方向に走査され、かつ、重み付けされるこ
とにより、差分データ215と同じ横重み付けデータが
生成される(図7のステップ103)。
ドデータの差分データが求められる。この差分データ
は、図10にステージ4(STAGE4)の差分データ
として215で示すように、元データ201のうち2行
目の6画素目のみが1で他は0とされたデータである。
従って、この差分データ215が横方向に走査され、か
つ、重み付けされることにより、差分データ215と同
じ横重み付けデータが生成され(図7のステップ10
2)、また縦方向に走査され、かつ、重み付けされるこ
とにより、差分データ215と同じ横重み付けデータが
生成される(図7のステップ103)。
【0037】これにより得られた横重み付けデータの最
大値maxlenhと縦重み付けデータの最大値max
lenvはいずれも「1」であるので、まず、縦中間デ
コードデータ214をランレングス符号化する(図7の
ステップ106、111)。これにより、図10に21
7で示すように、ランレングス符号化出力”7,6,2
5,2,2”が得られる。
大値maxlenhと縦重み付けデータの最大値max
lenvはいずれも「1」であるので、まず、縦中間デ
コードデータ214をランレングス符号化する(図7の
ステップ106、111)。これにより、図10に21
7で示すように、ランレングス符号化出力”7,6,2
5,2,2”が得られる。
【0038】続いて、横中間デコードデータ210をラ
ンレングス符号化され(図7のステップ112)、これ
により図10に218で示すように、ランレングス符号
化出力”2,3,9,3,15,3,7”が得られる。
更に、元データ201と中間デコードデータ210及び
214との差分データが求められ(図7のステップ11
3)、これにより図10に216で示すステージ5(S
TAGE5)の差分データが得られ、この単独画素の差
分データ216がランレングス符号化される(図7のス
テップ114)。これにより、図10に219で示すよ
うに、ランレングス符号化出力”11,30”が得られ
る。
ンレングス符号化され(図7のステップ112)、これ
により図10に218で示すように、ランレングス符号
化出力”2,3,9,3,15,3,7”が得られる。
更に、元データ201と中間デコードデータ210及び
214との差分データが求められ(図7のステップ11
3)、これにより図10に216で示すステージ5(S
TAGE5)の差分データが得られ、この単独画素の差
分データ216がランレングス符号化される(図7のス
テップ114)。これにより、図10に219で示すよ
うに、ランレングス符号化出力”11,30”が得られ
る。
【0039】このように、本発明の実施の形態及び実施
例では、漢字の場合、縦及び横方向に連続する文字色領
域が多いことに着目して符号化効率を上げているため、
従来に比べて小さい容量の記憶装置でビットマップを再
生できる。
例では、漢字の場合、縦及び横方向に連続する文字色領
域が多いことに着目して符号化効率を上げているため、
従来に比べて小さい容量の記憶装置でビットマップを再
生できる。
【0040】因みに、24×24画素フォント(JIS
X0208)、全文字数6877文字に対して、元デ
ータ、縦方向と横方向の良い方のランレングス符号化、
本発明方式によるランレングス符号化をそれぞれ行った
ときの総画素数、1文字あたりの画素数をそれぞれまと
めると表1に示すようになることが確かめられた。
X0208)、全文字数6877文字に対して、元デ
ータ、縦方向と横方向の良い方のランレングス符号化、
本発明方式によるランレングス符号化をそれぞれ行った
ときの総画素数、1文字あたりの画素数をそれぞれまと
めると表1に示すようになることが確かめられた。
【0041】
【表1】 なお、上記の表1において、「縦方向と横方向の良い方
のランレングス符号化」とは、各文字フォントのビット
マップデータのそれぞれについて、縦方向のみのランレ
ングス符号化と横方向のみのランレングス符号化を行
い、各文字フォント毎に符号化出力のうち、画素数の少
ない方を選択した符号化を意味する。
のランレングス符号化」とは、各文字フォントのビット
マップデータのそれぞれについて、縦方向のみのランレ
ングス符号化と横方向のみのランレングス符号化を行
い、各文字フォント毎に符号化出力のうち、画素数の少
ない方を選択した符号化を意味する。
【0042】更に、1文字単位で元データの画素数を上
限に圧縮、非圧縮を行うことにより、符号化効率を上げ
ることができる。
限に圧縮、非圧縮を行うことにより、符号化効率を上げ
ることができる。
【0043】
【発明の効果】以上説明したように、本発明によれば、
従来に比べて符号化効率を上げることかできるため、ビ
ットマップデータを符号化する際に必要な記憶装置の記
憶容量を従来に比べて小さくすることができ、よって従
来に比べて比較的簡単で安価な構成により符号化ができ
る。
従来に比べて符号化効率を上げることかできるため、ビ
ットマップデータを符号化する際に必要な記憶装置の記
憶容量を従来に比べて小さくすることができ、よって従
来に比べて比較的簡単で安価な構成により符号化ができ
る。
【図1】本発明になるビットマップ高能率符号化方式で
用いる符号化装置の一実施の形態のブロック図である。
用いる符号化装置の一実施の形態のブロック図である。
【図2】符号化する元のフォントの一例を示す図であ
る。
る。
【図3】図2のフォントを横方向に走査して得られるビ
ットマップを示す図である。
ットマップを示す図である。
【図4】図2のフォントを縦方向に走査して得られるビ
ットマップを示す図である。
ットマップを示す図である。
【図5】図3と図4のビットマップの和を示す図であ
る。
る。
【図6】図2と図5のビットマップの差を示す図であ
る。
る。
【図7】本発明方式の一実施の形態の動作説明用フロー
チャートである。
チャートである。
【図8】横方向重み付けデータ配列の一例を示す図であ
る。
る。
【図9】縦方向重み付けデータ配列の一例を示す図であ
る。
る。
【図10】本発明の一実施例のデータの偏移を示す図で
ある。
ある。
11 ビットマップデータ格納メモリ(第1の格納手
段) 12 中間デコードデータ格納メモリ(第2の格納手
段) 13 ビットマップ演算器(演算手段) 14 縦方向連続データ検出器(生成手段) 15 横方向連続データ検出器(生成手段) 16 重み付け演算部及びメモリ(生成手段) 17 ランレングス符号器(符号化手段) 18 データ制御部(符号化手段) 201 元データ 202、210 横中間デコードデータ 203、206、214 縦中間デコードデータ 204、208、212 横重み付けデータ 205、209、213 縦重み付けデータ 207、211、215、216 差分データ
段) 12 中間デコードデータ格納メモリ(第2の格納手
段) 13 ビットマップ演算器(演算手段) 14 縦方向連続データ検出器(生成手段) 15 横方向連続データ検出器(生成手段) 16 重み付け演算部及びメモリ(生成手段) 17 ランレングス符号器(符号化手段) 18 データ制御部(符号化手段) 201 元データ 202、210 横中間デコードデータ 203、206、214 縦中間デコードデータ 204、208、212 横重み付けデータ 205、209、213 縦重み付けデータ 207、211、215、216 差分データ
Claims (3)
- 【請求項1】 符号化するビットマップデータを格納す
る第1の格納手段と、 前記第1の格納手段により格納された前記ビットマップ
データを縦方向と横方向のそれぞれに別々に走査し、更
に重み付けして得た縦方向と横方向のそれぞれの重み付
けデータからそれぞれ横方向及び縦方向の長さが1であ
る縦中間デコードデータと横中間デコードデータをそれ
ぞれ生成する生成手段と、 縦中間デコードデータと横中間デコードデータをそれぞ
れ格納する第2の格納手段と、 前記第1の格納手段からの前記ビットマップデータと前
記第2の格納手段からの縦中間デコードデータ及び横中
間デコードデータとの差分データを演算する演算手段
と、 前記差分データと前記生成手段により得られた縦中間デ
コードデータ及び横中間デコードデータとをそれぞれラ
ンレングス符号化する符号化手段とを有することを特徴
とするビットマップ高能率符号化方式。 - 【請求項2】 前記生成手段は、前記ビットマップデー
タを縦方向に走査して得られた各画素の値のうち同じ値
が連続する個数をその画素位置に配置した縦方向重み付
けデータと、前記ビットマップデータを横方向に走査し
て得られた各画素の値のうち同じ値が連続する個数をそ
の画素位置に配置した横方向重み付けデータとを生成
し、これら縦方向重み付けデータ及び横方向重み付けデ
ータのうち少なくとも一方の重み付けデータの最大値が
2以上のときには、最大値が大きい方の重み付けデータ
のその最大値領域に、前記第1の格納手段により格納さ
れた前記ビットマップデータの対応する領域の画素値を
複写したデータを、前記第2の格納手段に格納されてい
る前記縦又は横中間デコードデータとして更新する手段
であることを特徴とする請求項1記載のビットマップ高
能率符号化方式。 - 【請求項3】 前記符号化手段は、前記差分データと縦
中間デコードデータと横中間デコードデータの文字色領
域の画素に、非文字色領域の画素より少ないビット数を
割り当ててランレングス符号化することを特徴とする請
求項1又は2記載のビットマップ高能率符号化方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9284168A JPH11119763A (ja) | 1997-10-17 | 1997-10-17 | ビットマップ高能率符号化方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9284168A JPH11119763A (ja) | 1997-10-17 | 1997-10-17 | ビットマップ高能率符号化方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11119763A true JPH11119763A (ja) | 1999-04-30 |
Family
ID=17675072
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9284168A Pending JPH11119763A (ja) | 1997-10-17 | 1997-10-17 | ビットマップ高能率符号化方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11119763A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009060317A (ja) * | 2007-08-31 | 2009-03-19 | Ricoh Co Ltd | 画像データ符号化装置、画像データ符号化方法、画像形成装置、画像形成方法、画像データ復号化装置、及び画像データ復号化方法 |
| JP2012005076A (ja) * | 2010-06-21 | 2012-01-05 | Fujitsu Ltd | 文字画像圧縮装置及び文字画像復元装置、文字画像圧縮方法及び文字画像復元方法、並びに文字画像圧縮プログラム及び文字画像復元プログラム |
-
1997
- 1997-10-17 JP JP9284168A patent/JPH11119763A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009060317A (ja) * | 2007-08-31 | 2009-03-19 | Ricoh Co Ltd | 画像データ符号化装置、画像データ符号化方法、画像形成装置、画像形成方法、画像データ復号化装置、及び画像データ復号化方法 |
| JP2012005076A (ja) * | 2010-06-21 | 2012-01-05 | Fujitsu Ltd | 文字画像圧縮装置及び文字画像復元装置、文字画像圧縮方法及び文字画像復元方法、並びに文字画像圧縮プログラム及び文字画像復元プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2940496B2 (ja) | パタンマッチング符号化装置及び方法 | |
| JP4366408B2 (ja) | グラフィック画像の圧縮システムおよび方法 | |
| JP3108479B2 (ja) | 符号化復号化方法およびその装置 | |
| WO2004068844A1 (ja) | 画像圧縮方法、画像復元方法、プログラム及び装置 | |
| JP2001203897A (ja) | パタンマッチング符号化装置及び方法 | |
| JP2670273B2 (ja) | 画像処理装置 | |
| JP2534276B2 (ja) | オリジナル・イメ−ジのペル信号の処理方法 | |
| JP3278298B2 (ja) | ビットマップデータの圧縮方法及び圧縮装置 | |
| EP0602818B1 (en) | Dot data compression and expansion method and apparatus | |
| US7259891B2 (en) | Image compression method, decompression method thereof and program therefor | |
| JPH06344601A (ja) | 出力装置および出力方法 | |
| JPH11119763A (ja) | ビットマップ高能率符号化方式 | |
| US20040223654A1 (en) | Methods and apparatus for data compression | |
| JP3213012B2 (ja) | 画像データのコード化及び復号化方法 | |
| JP3261208B2 (ja) | 画情報予測符号化および復号化装置 | |
| JPH1013842A (ja) | マルコフモデル画像符号化装置 | |
| JPH1117959A (ja) | 2値画像のランレングス符号化方法およびランレングス符号化プログラムを記録した記録媒体 | |
| US6757440B2 (en) | Methods and apparatus for data compression | |
| JPH1127540A (ja) | 画像符号化復号化方法及びその装置 | |
| JP3123795B2 (ja) | 算術符号を用いる符号化装置および復号化装置 | |
| JP2000224422A (ja) | パターンマッチングを用いた符号化方法および符号化装置 | |
| JP3146092B2 (ja) | 符号化装置及び復号化装置 | |
| JP2009188995A (ja) | 画像処理装置および画像処理方法 | |
| JP2001078042A (ja) | 画像伸長処理装置および画像圧縮処理装置 | |
| JP2002077627A (ja) | 画像符号化方法、画像符号化装置、画像復号化方法、画像復号化装置、画像形成装置及び記録媒体 |