JP2008124632A - 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体 - Google Patents
画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP2008124632A JP2008124632A JP2006304044A JP2006304044A JP2008124632A JP 2008124632 A JP2008124632 A JP 2008124632A JP 2006304044 A JP2006304044 A JP 2006304044A JP 2006304044 A JP2006304044 A JP 2006304044A JP 2008124632 A JP2008124632 A JP 2008124632A
- Authority
- JP
- Japan
- Prior art keywords
- row
- data
- comparison
- image
- difference value
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】フォントなどの文字画像を高い圧縮率で符号化することが可能な画像符号化装置を提案する。
【解決手段】画像符号化装置は複数の比較行バッファを備えて、それらを初期化した後(S1)、画像データの処理対象行のデータとの間でXOR演算を行なう(S2)。それらの差分値のうちの最小差分値とその差分値に対応する比較行バッファとを中間データとして出力する(S3,4)。そして、上記比較行バッファを画像データの処理対象行のデータで置き換える(S5)。画像データのすべての行についての処理が終了すると(S6,7でYES)、中間データを圧縮符号化する(S8)。
【選択図】図3
【解決手段】画像符号化装置は複数の比較行バッファを備えて、それらを初期化した後(S1)、画像データの処理対象行のデータとの間でXOR演算を行なう(S2)。それらの差分値のうちの最小差分値とその差分値に対応する比較行バッファとを中間データとして出力する(S3,4)。そして、上記比較行バッファを画像データの処理対象行のデータで置き換える(S5)。画像データのすべての行についての処理が終了すると(S6,7でYES)、中間データを圧縮符号化する(S8)。
【選択図】図3
Description
この発明は画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体に関し、特に、特に、フォントなどの文字画像を高い圧縮率で符号化、復号することが可能な画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体に関する。
近年の情報通信技術の発達により、パーソナルコンピュータだけではなく、携帯電話等の小型情報機器でもさまざまなフォントが使用されるようになっている。
一般的にフォントは、輪郭線情報から構成されるアウトラインフォントと、ドット情報から構成されるビットマップフォントとに大別される。これらには、それぞれ長所、短所があり、両方が併用されることもある。電子辞書や携帯電話等の小型情報機器では、演算処理量が少ないビットマップフォントが使用されることが多い。ビットマップフォントの場合、文字サイズごとにデータを用意する必要があり、同じ記憶容量に多くのフォントを格納する。そのため、ビットマップフォントを用いる場合には高い圧縮率で文字画像データを圧縮する技術が求められる。
たとえば、図10(A)のように「山王田川」という12×12ドットの4つの文字から構成されるフォントデータがあったとする。各ドットは1ビットに対応し、黒画素(文字を描画するドット)には「1」を、白画素(文字を描画しないドット)には「0」を割り当てるものとする。図10(A)のフォントデータの各ドットを行方向に8ドットずつまとめ、左側を上位ビットとして1バイト(8ビット)単位で16進数で表記すると、図10(B)に示される数字の通りになる。ただし、行方向13ビット目以降の余り部分には「0」を埋めている。
シャノンの定理により、記号ciの生起確率をpiとしたとき、平均符号長の下限は式(1)で示したエントロピー(単位は「ビット」)で与えられることが一般に知られている:
−Σpilog2pi …式(1)。
−Σpilog2pi …式(1)。
図10(B)の数字を記号として算出された各記号の生起確率とエントロピーとは図11に示される。図11を参照して、図10(B)の数字を記号として算出されたエントロピーは2.886ビットである。これは、どのような符号化を行なっても、図10(A)のフォントデータを符号化したときの平均符号長は2.886ビットを下回ることはないということを示している。
エントロピーは理論限界であり、一般には理論限界に近い性能を持つ符号化方式が用いられる。その1つとしてハフマン符号が知られている。図10(A)のフォントデータをハフマン符号による符号化を行なった場合、図11に示されるように平均符号長は2.906ビットとなり、フォント全体では279ビットに圧縮される。
式(1)から、各記号の生起確率に偏りがある方が平均符号長を短くできることが知られている。このことを利用して、たとえば、特開平2−287494号公報(以下、特許文献1)には、画像の隣接する行間で排他的論理和をとることで「0」のビットを増加させ、圧縮率を高めることができる文字情報圧縮方法が開示されている。
特許文献1に開示されている圧縮方法で図10(A)のフォントデータを圧縮する場合、文字ごとに前行との排他的論理和をとった結果は図12(A)のようになる。ただし、各文字の1行目はすべてのビットが「0」の行と比較するものとする。縦ストロークに対しては「1」のビットが減少し、「00」の記号(8ビットがすべて「0」)が増加しているのがわかる。また、図10(B)と同様に、図12(A)のデータの各ドットを行方向に8ドットずつまとめ、左側を上位ビットとして1バイト単位で16進数で表記すると、図12(B)に示される数字の通りになる。
図11と同様、図12(B)の数字を記号とし、エントロピー、およびハフマン符号による符号化を行なったときの平均符号長を計算した結果を図13に示す。図13を参照して、図12(B)の数字を記号として算出されたエントロピーは2.266ビットであり、ハフマン符号の平均符号長は2.323ビット、全体の符号長は223ビットである。これより、図11の計算結果と比較すると、図10(A)のフォントの場合には、隣接する行間で排他的論理和を取ることで排他的論理和を取らないで圧縮するよりも圧縮率が高くなることがわかる。
特開平2−287494号公報
しかしながら、図12(A)に示されるように、隣接する行間で排他的論理和を取ることで縦ストロークに対しては「1」のビットが減少しているものの、横ストロークに対しては「1」のビットがかえって増加してしまい、圧縮率向上の妨げになる場合があるという問題があった。
本発明は上記課題に鑑みてなされたものであり、特に、フォントなどの文字画像を高い圧縮率で符号化、復号することが可能な画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体を提供することを目的としている。
上記目的を達成するために、本発明のある局面に従うと、画像符号化装置は、行データを含んで構成される画像データを圧縮符号化する画像符号化装置であって、画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上記憶する記憶手段と、上記2つ以上の比較行バッファのそれぞれについて、比較行バッファと画像の第N行の行データとの間で排他的論理和演算による差分値を計算する差分演算手段と、上記2つ以上の比較行バッファに対応した複数の差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、上記2つ以上の比較行バッファの中から最小差分値に対応する比較行バッファを選択する比較行バッファ選択手段と、比較行バッファ選択手段が選択した比較行バッファを、画像の第N行の行データで更新する比較行バッファ更新手段と、比較行バッファ選択手段が選択した比較行バッファを識別する識別番号と、最小差分値とを圧縮符号化する符号化手段とを備える。
本発明の他の局面に従うと、画像符号化装置は、行データを含んで構成される画像データを圧縮符号化する画像符号化装置であって、画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上記憶する記憶手段と、上記2つ以上の比較行バッファを、各々、互いに異なる初期値に初期化する初期化手段と、上記2つ以上の比較行バッファのそれぞれについて、比較行バッファと画像の第N行の行データとの間で排他的論理和演算による差分値を計算する差分演算手段と、上記2つ以上の比較行バッファに対応した複数の差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、上記2つ以上の比較行バッファの中から最小差分値に対応する比較行バッファを選択する比較行バッファ選択手段と、比較行バッファ選択手段が選択した比較行バッファを、画像の第N行の行データで更新する比較行バッファ更新手段と、比較行バッファ選択手段が選択した比較行バッファを識別する識別番号と、最小差分値とを圧縮符号化する符号化手段とを備え、初期化手段は、初期値として、画像データに含まれるすべての行データを論理積演算した値と、画像データに含まれるすべての行データを論理和演算した値とを用いる。
本発明のさらに他の局面に従うと、画像復号装置は、データを復号する画像復号装置であって、符号化データは、行データを含んで構成される画像データが圧縮符号化されて生成され、圧縮符号化された、画像データが圧縮符号化される際の画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータを格納した比較行バッファを識別する識別番号と上記差分値とを含み、所定の初期値に初期化される、少なくとも2つ以上の比較行バッファを記憶する記憶手段と、符号化データに含まれる上記識別番号と上記差分値とを復号する復号手段と、上記2つ以上の比較行バッファのうちの上記識別番号に対応した比較行バッファと上記差分値との間で、排他的論理和演算によって画像データの第N行の行データを復元する画像行データ復元手段と、上記2つ以上の比較行バッファのうちの上記識別番号に対応した比較行バッファを、画像行データ復元手段で復元された画像データの第N行の行データで更新する比較行バッファ更新手段とを備える。
好ましくは、記憶手段に記憶される比較行バッファの数および所定の初期値は、画像データが圧縮符号化される際に用いられた比較行バッファの数および比較行バッファの初期値と同じである。
本発明のさらに他の局面に従うと、画像符号化方法は、行データを含んで構成される画像データを圧縮符号化する画像符号化方法であって、画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上用い、上記2つ以上の比較行バッファのそれぞれについて、比較行バッファと画像の第N行の行データとの間で排他的論理和演算による差分値を計算するステップと、上記2つ以上の比較行バッファに対応した複数の差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、上記2つ以上の比較行バッファの中から最小差分値に対応する比較行バッファを選択するステップと、比較行バッファ選択手段が選択した比較行バッファを、画像の第N行の行データで更新するステップと、比較行バッファ選択手段が選択した比較行バッファを識別する識別番号と、最小差分値とを圧縮符号化するステップとを備える。
本発明のさらに他の局面に従うと、画像符号化方法は、行データを含んで構成される画像データを圧縮符号化する画像符号化方法であって、画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上用い、上記2つ以上の比較行バッファを、各々、互いに異なる初期値に初期化するステップと、上記2つ以上の比較行バッファのそれぞれについて、比較行バッファと画像の第N行の行データとの間で排他的論理和演算による差分値を計算するステップと、上記2つ以上の比較行バッファに対応した複数の差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、上記2つ以上の比較行バッファの中から最小差分値に対応する比較行バッファを選択するステップと、比較行バッファ選択手段が選択した比較行バッファを、画像の第N行の行データで更新するステップと、比較行バッファ選択手段が選択した比較行バッファを識別する識別番号と、最小差分値とを圧縮符号化するステップとを備え、初期化ステップにおいては、初期値として、画像データに含まれるすべての行データを論理積演算した値と、画像データに含まれるすべての行データを論理和演算した値とを用いる。
本発明のさらに他の局面に従うと、画像復号方法は、符号化データを復号する画像復号方法であって、符号化データは、行データを含んで構成される画像データが圧縮符号化されて生成され、圧縮符号化された、画像データが圧縮符号化される際の画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータを格納した比較行バッファを識別する識別番号と上記差分値とを含み、所定の初期値に初期化される、少なくとも2つ以上の比較行バッファを用い、符号化データに含まれる上記識別番号と上記差分値とを復号するステップと、上記2つ以上の比較行バッファのうちの識別番号に対応した比較行バッファと上記差分値との間で、排他的論理和演算によって画像データの第N行の行データを復元するステップと、上記2つ以上の比較行バッファのうちの識別番号に対応した比較行バッファを、画像行データ復元手段で復元された画像データの第N行の行データで更新するステップとを備える。
本発明のさらに他の局面に従うと、画像符号化プログラムは、行データを含んで構成される画像データを圧縮符号化する処理をコンピュータに実行させるプログラムであって、画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上用い、上記2つ以上の比較行バッファのそれぞれについて、比較行バッファと画像の第N行の行データとの間で排他的論理和演算による差分値を計算するステップと、上記2つ以上の比較行バッファに対応した複数の差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、上記2つ以上の比較行バッファの中から最小差分値に対応する比較行バッファを選択するステップと、比較行バッファ選択手段が選択した比較行バッファを、画像の第N行の行データで更新するステップと、比較行バッファ選択手段が選択した比較行バッファを識別する識別番号と、最小差分値とを圧縮符号化するステップとを実行させる。
本発明のさらに他の局面に従うと、画像符号化プログラムは、行データを含んで構成される画像データを圧縮符号化する処理をコンピュータに実行させるプログラムであって、画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上用い、上記2つ以上の比較行バッファを、各々、互いに異なる初期値に初期化するステップと、上記2つ以上の比較行バッファのそれぞれについて、比較行バッファと画像の第N行の行データとの間で排他的論理和演算による差分値を計算するステップと、上記2つ以上の比較行バッファに対応した複数の差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、上記2つ以上の比較行バッファの中から最小差分値に対応する比較行バッファを選択するステップと、比較行バッファ選択手段が選択した比較行バッファを、画像の第N行の行データで更新するステップと、比較行バッファ選択手段が選択した比較行バッファを識別する識別番号と、最小差分値とを圧縮符号化するステップとを実行させ、初期化ステップにおいては、初期値として、画像データに含まれるすべての行データを論理積演算した値と、画像データに含まれるすべての行データを論理和演算した値とを用いる。
本発明のさらに他の局面に従うと、画像復号プログラムは、符号化データを復号する処理をコンピュータに実行させるプログラムであって、符号化データは、行データを含んで構成される画像データが圧縮符号化されて生成され、圧縮符号化された、画像データが圧縮符号化される際の画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータを格納した比較行バッファを識別する識別番号と上記差分値とを含み、所定の初期値に初期化される、少なくとも2つ以上の比較行バッファを用い、符号化データに含まれる上記識別番号と上記差分値とを復号するステップと、上記2つ以上の比較行バッファのうちの上記識別番号に対応した比較行バッファと上記差分値との間で、排他的論理和演算によって画像データの第N行の行データを復元するステップと、上記2つ以上の比較行バッファのうちの上記識別番号に対応した比較行バッファを、画像行データ復元手段で復元された画像データの第N行の行データで更新するステップとを実行させる。
本発明のさらに他の局面に従うと、記録媒体はコンピュータ読取可能な記録媒体であって、上述の画像符号化プログラムを記録する。
本発明のさらに他の局面に従うと、記録媒体はコンピュータ読取可能な記録媒体であって、上述の画像復号プログラムを記録する。
本発明によれば、縦ストロークだけでなく、横ストロークに対しても「1」のビットが減少するため、高い圧縮率で符号化、および復号を行なうことが可能になる。
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
各実施の形態にかかる画像符号化装置/復号装置における処理は、コンピュータ、ワークステーションなどのCPU(Central Processing Unit)上で実行されるソフトウェア(プログラムまたはデータ)によって実現される。なお、携帯電話などでデータ処理や通信制御などを行なうCPU上で実行されるソフトウェアにより実現されてもよいし、IC(Integrated Circuit)カードなどの専用のハードウェアとして実現されてもよい。
本実施の形態においては、本発明にかかる画像符号化装置/復号装置を一般的なパーソナルコンピュータであるコンピュータ1で実現するものとして説明を行なう。
(装置の構成)
図1は各実施の形態にかかるコンピュータ1のハードウェア構成の具体例を示すブロック図である。
図1は各実施の形態にかかるコンピュータ1のハードウェア構成の具体例を示すブロック図である。
図1を参照して、コンピュータ1は、情報を表示するための液晶またはCRT(Cathode Ray Tube:陰極線管)などからなる表示装置10、指示などの情報を外部から入力するために操作されるキー入力部4、該コンピュータ自体を集中的に制御するためのCPU2、ROM(Read Only Memory)またはRAM(Random Access Memory)を含んで構成されるメモリ3、固定ディスク5、FD(Flexible Disk)7が着脱自在に装着されて、装着されたFD7にアクセスするFD駆動装置6、CD−ROM(Compact Disk Read Only Memory)9が着脱自在に装着されて、装着されたCD−ROM9にアクセスするCD−ROM駆動装置8、および通信I/F(Interface)11を含む。
通信I/F11は通信路12と該コンピュータ1とを通信可能に接続する機能を有する。したがってコンピュータ1は図示しない他のコンピュータと通信路12を介して相互にデータ通信できる。通信路12にはインターネットを含む各種ネットワークを適用できる。コンピュータ1ではCPU2によりデータ処理した結果は、表示装置10や通信I/F11から出力される。
図1のコンピュータ1には、カセット形式の磁気テープが着脱自在に装着されて磁気テープをアクセスする磁気テープ装置が設けられてもよい。
図1のコンピュータ1に搭載されるソフトウェアはCD−ROM9またはFD7などの記録媒体に格納されて流通し、または通信路12を経由してデータ通信により配信される(流通する)。CPU2は、CD−ROM駆動装置8またはFD駆動装置6に装着されたCD−ROM9またはFD7から読出したソフトウェアを、コンピュータ1またはワークステーションの所定記憶エリアに格納する。その後、所定記憶エリアからソフトウェアを読出し実行する。
[第1の実施の形態]
(機能構成)
図2は、第1の実施の形態にかかるコンピュータ1において、画像符号化処理を行なうための機能構成の具体例を示すブロック図である。
(機能構成)
図2は、第1の実施の形態にかかるコンピュータ1において、画像符号化処理を行なうための機能構成の具体例を示すブロック図である。
図2を参照して、本実施の形態にかかるコンピュータ1は、データ格納部20、比較行バッファ初期化部31、差分演算部32、比較行バッファ選択部33、比較行バッファ更新部34、符号化部35、および画像符号化制御部40を含んで構成される。データ格納部20には、比較行バッファ21、差分バッファ22、画像データ23、中間データ24、および符号化データ25が格納される。
データ格納部20は、メモリ3または固定ディスク5の所定の領域に対応する。比較行バッファ初期化部31、差分演算部32、比較行バッファ選択部33、比較行バッファ更新部34、符号化部35、および画像符号化制御部40は、メモリ3または固定ディスク5に予め記憶された画像符号化プログラムの機能に対応し、CPU2が当該プログラムを読出し実行することにより、主にCPU2上に各部の機能が実現される。または、専用の回路で構成されてもよい。または、その一部は図1に示されたハードウェア構成で実現されてもよい。
画像データ23は符号化処理対象の画像データである。画像データ23は1枚の画像の画像データであってもよいし、フォントデータなど、各文字を別々の画像とするような複数枚の画像の画像データであってもよい。画像データにおいては、画像の各ドットは1ビットに対応し、黒画素(文字を描画するドット)には「1」を、白画素(文字を描画しないドット)には「0」を割り当てるものとする。
比較行バッファ21は、内部に2つ以上の比較行バッファを含む。各比較行バッファには、0、1、2…のように、それぞれ識別する番号が付与されている。各比較行バッファには、画像データ23の処理対象行データとのXOR(排他的論理和)演算による差分を計算するための比較対象行のデータが格納されている。比較行バッファには比較対象行のデータそのものを格納してもよいし、該当する画像データの行を示すポインタのみを格納するだけでもよい。
差分バッファ22は内部に比較行バッファの数と同じ数の領域を含む。各領域には、対応する比較行バッファと処理対象の画像行データとの差分値が格納される。
比較行バッファ初期化部31は比較行バッファ21を初期化する。
比較行バッファ21に含まれる比較行バッファの数は少なくとも2つ以上とする。たとえば2つとする場合、比較行バッファ初期化部31が用いる初期値はすべて白(「0」)およびすべて黒(「1」)としてもよい。また、画像データの各行データをOR(論理和)演算した値およびAND(論理積)演算した値を用いてもよい。たとえば比較行バッファを4つ用いる場合、上記の初期値に加え、「0101010101…」という値、および「1010101010…」という値を用いてもよい。
比較行バッファ21に含まれる比較行バッファの数は少なくとも2つ以上とする。たとえば2つとする場合、比較行バッファ初期化部31が用いる初期値はすべて白(「0」)およびすべて黒(「1」)としてもよい。また、画像データの各行データをOR(論理和)演算した値およびAND(論理積)演算した値を用いてもよい。たとえば比較行バッファを4つ用いる場合、上記の初期値に加え、「0101010101…」という値、および「1010101010…」という値を用いてもよい。
差分演算部32は、比較行バッファ21の各値と画像データ23の処理対象行のデータとの間でXOR演算を行なう。各比較行バッファとの差分値は、それぞれ、対応する差分バッファ22に格納される。
比較行バッファ選択部33は、差分バッファ22の各値のうちで「1」のビットが最も少ない差分値に対応する比較行バッファを、比較行バッファ21の中から選択する。差分バッファ22の各値のうち、「1」のビットが最も少ない差分値を「最小差分値」と定義する。選択された比較行バッファの識別番号と最小差分値とは、中間データ24として保存される。
比較行バッファ更新部34は、比較行バッファ選択部33が比較行バッファ21の中から選択した比較行バッファを、画像データ23の処理対象行のデータで置き換える。
符号化部35は、選択された比較行バッファを識別する識別番号と最小差分値とが保存された中間データ24を圧縮符号化し、符号化データ25を出力する。
画像符号化制御部40は、比較行バッファ初期化部31、差分演算部32、比較行バッファ選択部33、比較行バッファ更新部34、および符号化部35を制御する。
(処理手順について)
図3を用いて本実施の形態にかかるコンピュータ1における画像符号化処理について説明する。図3のフローチャートに示される処理は、CPU2がメモリ3または固定ディスク5に予め記憶された画像符号化プログラムを読出して実行することで形成された画像符号化制御部40が、図2に示される各部を制御することによって実現される。
図3を用いて本実施の形態にかかるコンピュータ1における画像符号化処理について説明する。図3のフローチャートに示される処理は、CPU2がメモリ3または固定ディスク5に予め記憶された画像符号化プログラムを読出して実行することで形成された画像符号化制御部40が、図2に示される各部を制御することによって実現される。
図3を参照して、始めに、比較行バッファ初期化部31は、ステップ(以下、ステップをSと略す。)1にて比較行バッファ21を初期化する。
次に、差分演算部32はS2にて、比較行バッファ21の各値と画像データ23の処理対象行のデータとの間でXOR演算を行ない、各比較行バッファとの差分値をそれぞれ差分バッファ22に格納する。次に、比較行バッファ選択部33は、S3にて差分バッファ22のうちから最小差分値を探索し、最小差分値に対応する比較行バッファを選択する。また、比較行バッファ選択部33はS4にて選択した比較行バッファの識別番号と最小差分値とを中間データ24に保存しておく。
このように、複数の比較行バッファを用いて、画像データの処理対象行と各比較行バッファとの差分値のうちの最小差分値および最小差分値となる比較行バッファの識別番号を中間データとすることで、隣接する行間の差分値を用いるよりも差分値から「1」のビットを減らすことができる。そのため、圧縮率を高めることができる。
次に、比較行バッファ更新部34は、S5にて比較行バッファ選択部33が選択した比較行バッファを画像データ23の処理対象行のデータで置き換える。上記ステップS5で比較行バッファが更新されることで、差分値を計算する対象行が切り替えられる。
このように、比較行バッファを複数用意して、上記ステップS5で最小差分値をとる比較行バッファを処理対象行で置き換えることで、たとえば縦ストローク中に横ストロークが出現した場合であっても、縦ストロークは縦ストロークとの差分値が計算され、横ストロークは横ストロークとの差分値が計算される。そのため、「1」のビットを減少させることができ、圧縮率が向上される。
画像符号化制御部40はS6にて、処理対象画像のすべての行についての処理が終了したか否かを判断し、終了していなければ画像データ23の処理対象行を1行下に移動し、S2に制御を移す。また、画像符号化制御部40はS7にて、すべて画像についての処理が終了したか否かを判断し、終了していなければ処理対象画像を別の画像に移し、S1に制御を移す。
画像符号化制御部40においてS6ですべての行についての処理が終了したと判断され、S7ですべての画像についての処理が終了したと判断されると(S6でYES、かつS7でYES)、符号化部35はS8にて、選択された比較行バッファを識別する識別番号と最小差分値とが保存された中間データ24を圧縮符号化し、符号化データ25を出力する。
なお、上記具体例では、上記ステップS5で最小差分値となる比較行バッファの値を画像データの処理対象行のデータで置き換えるものとしているが、ステップS5で置き換えを行なわず、比較行バッファの初期値を用いてもよい。たとえば、比較行バッファの初期値がすべて「0」である場合には、図10(A),(B)に示されたように、差分を算出せずにそのまま符号化する処理となる。
次に具体例を用いて上記処理を説明する。
処理対象の画像データを、図10(A)に示された「山王田川」という12×12ドットの4つの文字から構成されるフォントデータであるものとする。上述のように、図10(A)のフォントデータを、各ドットを行方向に8ドットずつまとめ、左側を上位ビットとして1バイト(8ビット)単位で16進数で表記すると、図10(B)の右の数字の通りになる。ただし、行方向13ビット目以降の余り部分には「0」を埋めている。このデータを1バイト単位にハフマン符号化した場合、図11に示されたように、平均符号長は2.906ビットとなる。
処理対象の画像データを、図10(A)に示された「山王田川」という12×12ドットの4つの文字から構成されるフォントデータであるものとする。上述のように、図10(A)のフォントデータを、各ドットを行方向に8ドットずつまとめ、左側を上位ビットとして1バイト(8ビット)単位で16進数で表記すると、図10(B)の右の数字の通りになる。ただし、行方向13ビット目以降の余り部分には「0」を埋めている。このデータを1バイト単位にハフマン符号化した場合、図11に示されたように、平均符号長は2.906ビットとなる。
図10(A)のフォントデータに対し、上記S1〜S7の処理が実行されると、中間データ24として図4(A)に示された結果が得られる。また、図10(B)と同様に、図4(A)のデータの各ドットを行方向に8ドットずつまとめ、左側を上位ビットとして1バイト単位で16進数で表記すると、図4(B)に示される数字の通りになる。
図4(A)のデータにおいて、1ビット目から12ビット目までは最小差分値、13ビット目は比較行バッファの識別番号(「0」または「1」)を表わしている。
図12(A)と図4(A)とを比較すると、隣接行で差分を算出する従来の符号化方法(図12(B))では横ストローク部分で多くの「1」のビットが出現しているのに対して、本願の符号化方法では(図4(A))縦ストローク部分と横ストローク部分との差分が別々に算出されるために、「1」のビットが従来方法(図12(B))と比較して抑えられる。
なお、ここでは、比較行バッファ21に含まれる比較行バッファの数を2つとして、0番の比較行バッファ0の初期値には「000000000000」を、1番の比較行バッファ1の初期値には「011111111111」を用いている。前者はすべての画像行データをAND(論理積)演算した値であり、後者はすべての画像行データをOR(論理和)演算した値になっている。フォントとして用いられる文字画像は、デザイン上、左右どちらかに空白をおいて12×12ドットの画像データ上に配置されることが多い。そのため、すべて白(「000000000000」)の比較行バッファの初期値、およびすべて黒(「111111111111」)の比較行バッファの初期値を用いるよりも、画像行データをAND演算した値とOR演算した値とをそれぞれ用いた方が、符号化対象のデータである中間データ24から「1」のビットを減らすことができ、圧縮率を高めることができる。
図5(A),(B)を用いて、図10(A)のフォントデータに対し、上記S1〜S7の処理を行なって図4(A)に示される中間データが生成される際の、比較行バッファの変化の様子、最小差分値、および選択される比較行バッファの識別番号の値についてさらに詳しく説明する。
比較行バッファ21に含まれる比較行バッファの数を2つとして、図5(A)は0番の比較行バッファ0、図5(B)は1番の比較行バッファ1を示している。図5(A)および図5(B)を参照して、上記S1では、図10(A)のフォントデータのうち1文字目の「山」を表わすフォントデータの1行目のデータに対して、比較行バッファ0,1は、それぞれ「000000000000」,「011111111111」に初期化されているものとする。
図10(A)のフォントデータ「山」の1行目のデータは「000000000000」である。そのため、上記S2で差分演算部32において、フォントデータ「山」の1行目のデータと、比較行バッファ0,1とのXOR演算が行なわれた場合、上記S3で比較行バッファ選択部33においては、比較行バッファ0との差分値である「000000000000」が最小差分値として探索され、比較行バッファ21の中から対応した比較行バッファ0が選択される。そして、図4(A)の1行目に示されるように、中間データ24として、1ビット目から12ビット目までは最小差分値「000000000000」、13ビット目は対応する比較行バッファを識別する番号である「0」が保存される。また、上記S5で比較行バッファ更新部34において、比較行バッファ0がフォントデータ「山」の1行目のデータである「000000000000」に更新される。
図10(A)のフォントデータ「山」の2行目のデータは「000000100000」である。そのため、上記S2で差分演算部32において、フォントデータ「山」の2行目のデータと、比較行バッファ0,1とのXOR演算が行なわれた場合、上記S3で比較行バッファ選択部33においては、比較行バッファ0「000000100000」との差分値である「000000100000」が最小差分値として探索され、対応する比較行バッファとして比較行バッファ0が選択される。そして、図4(A)の2行目に示されるように、中間データ24として、1ビット目から12ビット目までは最小差分値「000000100000」、13ビット目は対応する比較行バッファを識別する番号である「0」が保存される。また、上記S5で比較行バッファ更新部34において、比較行バッファ0がフォントデータ「山」の2行目のデータである「000000100000」に更新される。
図10(A)のフォントデータ「山」の3行目のデータは「000000100000」である。そのため、上記S2で差分演算部32において、フォントデータ「山」の3行目のデータと、比較行バッファ0,1とのXOR演算が行なわれた場合、上記S3で比較行バッファ選択部33においては、比較行バッファ0「000000100000」との差分値である「000000000000」が最小差分値として探索され、対応する比較行バッファとして比較行バッファ0が選択される。そして、図4(A)の3行目に示されるように、中間データ24として、1ビット目から12ビット目までは最小差分値「000000000000」、13ビット目は対応する比較行バッファを識別する番号である「0」が保存される。また、上記S5で比較行バッファ更新部34において、比較行バッファ0がフォントデータ「山」の2行目のデータである「000000100000」に更新される。
同様に以降の行について処理が進められ、図10(A)のフォントデータ「山」の10行目まで比較行バッファ0が最小差分値に対応する比較行バッファとして選択され、比較行バッファ0が処理の度にフォントデータの値で更新される。
図10(A)のフォントデータ「山」の11行目のデータは「011111111111」である。そのため、上記S2で差分演算部32において、フォントデータ「山」の2行目のデータと、比較行バッファ0,1とのXOR演算が行なわれた場合、上記S3で比較行バッファ選択部33においては、比較行バッファ1「011111111111」との差分値である「000000000000」が最小差分値として探索され、対応する比較行バッファとして比較行バッファ1が選択される。そして、図4(A)の11行目に示されるように、中間データ24として、1ビット目から12ビット目までは最小差分値「000000000000」、13ビット目は対応する比較行バッファを識別する番号である「1」が保存される。また、上記S5で比較行バッファ更新部34において、比較行バッファ1がフォントデータ「山」の11行目のデータである「011111111111」に更新される。
このように12行目のデータの処理まで終了すると、1文字目の「山」に対する処理が終了するため、処理はS1に戻り、上記S1にて比較行バッファ0,1はそれぞれ「000000000000」,「011111111111」に初期化されて、次のフォントデータ「王」に対する処理に移る。
図6は、図4(A)に示された中間データ24である処理結果について算出されたエントロピーと、ハフマン符号による符号化を行なったときの平均符号長とを示している。
図6を参照して、図4(A)に示された中間データ24に対してハフマン符号による符号化を行なった場合、平均符号長は1.896ビットとなる。この平均符号長は、図11に示された、画像データをそのままハフマン符号で符号化した場合の平均符号長2.906ビットと比較して、約34.8%のデータが削減されている。このように、本実施の形態にかかる符号化処理では、大幅なデータ圧縮を実現することができる。
なお、本発明にかかる符号化処理は圧縮符号化方式には依存しないため、特定の圧縮符号化方法に限定されない。そのため、ハフマン符号以外にも算術符号などによって圧縮符号化が行なわれてもよい。
[第2の実施の形態]
第2の実施の形態においては、コンピュータ1が画像復号装置として機能し、画像復号処理が実行されるものとするが、画像復号装置はコンピュータに限定されず、たとえば携帯電話など他の装置であってもよい。
第2の実施の形態においては、コンピュータ1が画像復号装置として機能し、画像復号処理が実行されるものとするが、画像復号装置はコンピュータに限定されず、たとえば携帯電話など他の装置であってもよい。
(機能構成)
図7は、第2の実施の形態にかかるコンピュータ1において、画像復号処理を行なうための機能構成の具体例を示すブロック図である。
図7は、第2の実施の形態にかかるコンピュータ1において、画像復号処理を行なうための機能構成の具体例を示すブロック図である。
図7を参照して、本実施の形態にかかるコンピュータ1は、データ格納部20、比較行バッファ初期化部31、差分演算部32、比較行バッファ更新部34、復号部36、画像復号制御部41を含んで構成される。データ格納部20には、比較行バッファ21、符号化データ25、中間データ26、および画像データ27が格納される。
データ格納部20は、メモリ3または固定ディスク5の所定の領域に対応する。比較行バッファ初期化部31、差分演算部32、比較行バッファ更新部34、復号部36、および画像復号制御部41は、メモリ3または固定ディスク5に予め記憶された画像復号プログラムの機能に対応し、CPU2が当該プログラムを読出し実行することにより、主にCPU2上に各部の機能が実現される。または、専用の回路で構成されてもよい。または、その一部は図1に示されたハードウェア構成で実現されてもよい。
符号化データ25は復号処理対象のデータであり、画像の各行ごとの最小差分値と比較行バッファの識別番号とがハフマン符号等の圧縮符号化方式で符号化されたデータである。
比較行バッファ21は、内部に2つ以上の比較行バッファを含む。各比較行バッファには、0、1、2…のように、それぞれ識別する番号が付与されている。
比較行バッファ初期化部31は、所定の初期値で比較行バッファ21を初期化する。
比較行バッファ21に含まれる比較行バッファの数は少なくとも2つ以上とする。比較行バッファの数とそれぞれの初期値とは、符号化データ25を作成したときの値とする。比較行バッファの数とそれぞれの初期値とは予め符号化装置と復号装置との間で定めておいてもよいし、符号化データ25のヘッダ領域等に付加しておいてもよい。
比較行バッファ21に含まれる比較行バッファの数は少なくとも2つ以上とする。比較行バッファの数とそれぞれの初期値とは、符号化データ25を作成したときの値とする。比較行バッファの数とそれぞれの初期値とは予め符号化装置と復号装置との間で定めておいてもよいし、符号化データ25のヘッダ領域等に付加しておいてもよい。
なお、比較行バッファはそれぞれ画像1行分のバッファであってもよいし、復号した画像データの対応する行を示すポインタであってもよい。
復号部36は、符号化データ25から最小差分値と比較行バッファの識別番号とを1行分復号し、中間データ26に格納する。中間データ26には最小差分値と対応する比較行バッファの識別番号とが含まれている。
差分演算部32は、中間データ26に格納された識別番号に対応した比較行バッファ21と最小差分値との間でXOR(排他的論理和)演算を行ない、画像行データを復元して画像データ27に出力する。比較行バッファ更新部34は、比較行バッファ選択部33が選択した比較行バッファを復元した画像行データで置き換える。
画像復号制御部41は、比較行バッファ初期化部31、差分演算部32、比較行バッファ更新部34、および復号部36を制御する。
(処理手順について)
図8を用いて本実施の形態にかかるコンピュータ1における画像復号処理について説明する。図8のフローチャートに示される処理は、CPU2がメモリ3または固定ディスク5に予め記憶された画像復号プログラムを読出して実行することで形成された画像復号制御部41が、図7に示される各部を制御することによって実現される。
図8を用いて本実施の形態にかかるコンピュータ1における画像復号処理について説明する。図8のフローチャートに示される処理は、CPU2がメモリ3または固定ディスク5に予め記憶された画像復号プログラムを読出して実行することで形成された画像復号制御部41が、図7に示される各部を制御することによって実現される。
図8を参照して、始めに、比較行バッファ初期化部31は、S11にて、所定の初期値で比較行バッファ21を初期化する。
次に、復号部36はS12にて、符号化データ25から比較行バッファを識別する識別番号と最小差分値とを画像1行分復号し、中間データ26に出力する。次に、差分演算部32はS13にて、識別番号に対応する比較行バッファ21と最小差分値との間でXOR演算を行ない、画像行データを復元して画像データ27に出力する。
次に、比較行バッファ更新部34はS14にて、識別番号に対応する比較行バッファを復元された画像行データで置き換える。
画像復号制御部41はS15にて、復号したい画像データのすべての行に対応する符号化データの処理を終了したか否かを判断し、終了していなければ(S15でNO)処理対象の符号化データを画像1行分に相当する分だけ移動し、S12に制御を移す。
画像復号制御部41においてS15ですべての行に対応する符号化データの処理が終了したと判断されると(S15でYES)、処理を終了する。
符号化データ25を復号して得られた中間データ26として、図4(A)に示された中間データのうちの2文字目のフォントデータ「王」に対応した中間データを用いてフォントデータである画像データを復号する場合を具体例として、上記処理を説明する。
比較行バッファ21に含まれる比較行バッファの数を2つとして、図9(A)は0番の比較行バッファ0、図9(B)は1番の比較行バッファ1を示している。図9(A)および図9(B)を参照して、上記S11では、フォントデータの1行目のデータに対して、比較行バッファ0,1は、それぞれ「000000000000」,「011111111111」に初期化されているものとする。
上記S12で復号部36は符号化データ25を復号して図4(A)に示された中間データ26を得る。
図4(A)に示された中間データ26の1行目には、フォントデータの1行目のデータに対応したデータとして、1ビット目から12ビット目までは最小差分値「000000000000」、13ビット目は対応する比較行バッファを識別する番号である「0」が保存されている。そこで、上記S13で差分演算部32においては、中間データ26の1行目について、識別番号「0」に対応する比較行バッファ0「000000000000」と最小差分値「000000000000」との間でXOR演算が行なわれ、画像行データとして「000000000000」が復元される。復元された画像データは、図10(A)のフォントデータのうちの2文字目のフォントデータの1行目に示されるように、画像データ27の1行目として出力される。また、上記S14で比較行バッファ更新部34において、比較行バッファ0が復元されたフォントデータの行データ「000000000000」に更新される。
図4(A)に示された中間データ26の2行目には、フォントデータの2行目のデータに対応したデータとして、1ビット目から12ビット目までは最小差分値「010000000001」、13ビット目は対応する比較行バッファを識別する番号である「1」が保存されている。そこで、上記S13で差分演算部32においては、中間データ26の2行目について、識別番号「1」に対応する比較行バッファ1「011111111111」と最小差分値「010000000001」との間でXOR演算が行なわれ、画像行データとして「000000100000」が復元される。復元された画像データは、図10(A)のフォントデータのうちの2文字目のフォントデータの2行目に示されるように、画像データ27の2行目として出力される。また、上記S14で比較行バッファ更新部34において、比較行バッファ1が復元されたフォントデータの行データ「000000100000」に更新される。
図4(A)に示された中間データ26の3行目には、フォントデータの1行目のデータに対応したデータとして、1ビット目から12ビット目までは最小差分値「000000100000」、13ビット目は対応する比較行バッファを識別する番号である「0」が保存されている。そこで、上記S13で差分演算部32においては、中間データ26の3行目について、識別番号「0」に対応する比較行バッファ0「000000000000」と最小差分値「000000100000」との間でXOR演算が行なわれ、画像行データとして「000000100000」が復元される。復元された画像データは、図10(A)のフォントデータのうちの2文字目のフォントデータの3行目に示されるように、画像データ27の3行目として出力される。また、上記S14で比較行バッファ更新部34において、比較行バッファ0が復元されたフォントデータの行データ「000000100000」に更新される。
以下、同様にして中間データ26の最終行まで処理が繰返され、図10(A)に示されるようなフォントデータ「王」が復号される。
以上のように、復号された画像データで識別番号に対応した比較行バッファを順次更新していくことで、高い圧縮率で符号化されたデータを正しく復号することができる。
さらに、上述の画像符号化処理および画像復号処理をコンピュータに実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM、ROM、RAMおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、本発明にかかるプログラムは、コンピュータのオペレーションシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 コンピュータ、2 CPU、3 メモリ、4 キー入力部、5 固定ディスク、6 FD駆動装置、7 FD、8 CD−ROM駆動装置、9 CD−ROM、10 表示装置、11 通信I/F(Interface)、12 通信路、20 データ格納部、21 比較行バッファ、22 差分バッファ、23,27 画像データ、24,26 中間データ、25 符号化データ、31 比較行バッファ初期化部、32 差分演算部、33 比較行バッファ選択部、34 比較行バッファ更新部、35 符号化部、36 復号部、40 画像符号化制御部、41 画像復号制御部。
Claims (12)
- 行データを含んで構成される画像データを圧縮符号化する画像符号化装置であって、
前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上記憶する記憶手段と、
前記2つ以上の比較行バッファのそれぞれについて、前記比較行バッファと前記画像の前記第N行の行データとの間で排他的論理和演算による差分値を計算する差分演算手段と、
前記2つ以上の比較行バッファに対応した複数の前記差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、前記2つ以上の比較行バッファの中から前記最小差分値に対応する比較行バッファを選択する比較行バッファ選択手段と、
前記比較行バッファ選択手段が選択した前記比較行バッファを、前記画像の前記第N行の行データで更新する比較行バッファ更新手段と、
前記比較行バッファ選択手段が選択した前記比較行バッファを識別する識別番号と、前記最小差分値とを圧縮符号化する符号化手段とを備える、画像符号化装置。 - 行データを含んで構成される画像データを圧縮符号化する画像符号化装置であって、
前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上記憶する記憶手段と、
前記2つ以上の比較行バッファを、各々、互いに異なる初期値に初期化する初期化手段と、
前記2つ以上の比較行バッファのそれぞれについて、前記比較行バッファと前記画像の前記第N行の行データとの間で排他的論理和演算による差分値を計算する差分演算手段と、
前記2つ以上の比較行バッファに対応した複数の前記差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、前記2つ以上の比較行バッファの中から前記最小差分値に対応する比較行バッファを選択する比較行バッファ選択手段と、
前記比較行バッファ選択手段が選択した前記比較行バッファを、前記画像の前記第N行の行データで更新する比較行バッファ更新手段と、
前記比較行バッファ選択手段が選択した前記比較行バッファを識別する識別番号と、前記最小差分値とを圧縮符号化する符号化手段とを備え、
前記初期化手段は、前記初期値として、前記画像データに含まれるすべての行データを論理積演算した値と、前記画像データに含まれるすべての行データを論理和演算した値とを用いる、画像符号化装置。 - 符号化データを復号する画像復号装置であって、
前記符号化データは、行データを含んで構成される画像データが圧縮符号化されて生成され、
前記符号化データは、圧縮符号化された、前記画像データが前記圧縮符号化される際の前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータを格納した比較行バッファを識別する識別番号と、前記差分値とを含み、
所定の初期値に初期化される、少なくとも2つ以上の比較行バッファを記憶する記憶手段と、
前記符号化データに含まれる前記識別番号と前記差分値とを復号する復号手段と、
前記2つ以上の比較行バッファのうちの前記識別番号に対応した前記比較行バッファと前記差分値との間で、排他的論理和演算によって前記画像データの前記第N行の行データを復元する画像行データ復元手段と、
前記2つ以上の比較行バッファのうちの前記識別番号に対応した前記比較行バッファを、前記画像行データ復元手段で復元された前記画像データの前記第N行の行データで更新する比較行バッファ更新手段とを備える、画像復号装置。 - 前記記憶手段に記憶される前記比較行バッファの数および前記所定の初期値は、前記画像データが前記圧縮符号化される際に用いられた比較行バッファの数および前記比較行バッファの初期値と同じである、請求項3に記載の画像復号装置。
- 行データを含んで構成される画像データを圧縮符号化する画像符号化方法であって、
前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上用い、前記2つ以上の比較行バッファのそれぞれについて、前記比較行バッファと前記画像の前記第N行の行データとの間で排他的論理和演算による差分値を計算するステップと、
前記2つ以上の比較行バッファに対応した複数の前記差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、前記2つ以上の比較行バッファの中から前記最小差分値に対応する比較行バッファを選択するステップと、
前記比較行バッファ選択手段が選択した前記比較行バッファを、前記画像の前記第N行の行データで更新するステップと、
前記比較行バッファ選択手段が選択した前記比較行バッファを識別する識別番号と、前記最小差分値とを圧縮符号化するステップとを備える、画像符号化方法。 - 行データを含んで構成される画像データを圧縮符号化する画像符号化方法であって、
前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上用い、前記2つ以上の比較行バッファを、各々、互いに異なる初期値に初期化するステップと、
前記2つ以上の比較行バッファのそれぞれについて、前記比較行バッファと前記画像の前記第N行の行データとの間で排他的論理和演算による差分値を計算するステップと、
前記2つ以上の比較行バッファに対応した複数の前記差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、前記2つ以上の比較行バッファの中から前記最小差分値に対応する比較行バッファを選択するステップと、
前記比較行バッファ選択手段が選択した前記比較行バッファを、前記画像の前記第N行の行データで更新するステップと、
前記比較行バッファ選択手段が選択した前記比較行バッファを識別する識別番号と、前記最小差分値とを圧縮符号化するステップとを備え、
前記初期化ステップにおいては、前記初期値として、前記画像データに含まれるすべての行データを論理積演算した値と、前記画像データに含まれるすべての行データを論理和演算した値とを用いる、画像符号化方法。 - 符号化データを復号する画像復号方法であって、
前記符号化データは、行データを含んで構成される画像データが圧縮符号化されて生成され、
前記符号化データは、圧縮符号化された、前記画像データが前記圧縮符号化される際の前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータを格納した比較行バッファを識別する識別番号と、前記差分値とを含み、
所定の初期値に初期化される、少なくとも2つ以上の比較行バッファを用い、前記符号化データに含まれる前記識別番号と前記差分値とを復号するステップと、
前記2つ以上の比較行バッファのうちの前記識別番号に対応した前記比較行バッファと前記差分値との間で、排他的論理和演算によって前記画像データの前記第N行の行データを復元するステップと、
前記2つ以上の比較行バッファのうちの前記識別番号に対応した前記比較行バッファを、前記画像行データ復元手段で復元された前記画像データの前記第N行の行データで更新するステップとを備える、画像復号方法。 - 行データを含んで構成される画像データを圧縮符号化する処理をコンピュータに実行させるプログラムであって、
前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上用い、前記2つ以上の比較行バッファのそれぞれについて、前記比較行バッファと前記画像の前記第N行の行データとの間で排他的論理和演算による差分値を計算するステップと、
前記2つ以上の比較行バッファに対応した複数の前記差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、前記2つ以上の比較行バッファの中から前記最小差分値に対応する比較行バッファを選択するステップと、
前記比較行バッファ選択手段が選択した前記比較行バッファを、前記画像の前記第N行の行データで更新するステップと、
前記比較行バッファ選択手段が選択した前記比較行バッファを識別する識別番号と、前記最小差分値とを圧縮符号化するステップとを実行させる、画像符号化プログラム。 - 行データを含んで構成される画像データを圧縮符号化する処理をコンピュータに実行させるプログラムであって、
前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータが格納されている比較行バッファを、少なくとも2つ以上用い、前記2つ以上の比較行バッファを、各々、互いに異なる初期値に初期化するステップと、
前記2つ以上の比較行バッファのそれぞれについて、前記比較行バッファと前記画像の前記第N行の行データとの間で排他的論理和演算による差分値を計算するステップと、
前記2つ以上の比較行バッファに対応した複数の前記差分値のうち、画像を描画するドットを表わしたビットの数が最も少ない差分値を最小差分値としたとき、前記2つ以上の比較行バッファの中から前記最小差分値に対応する比較行バッファを選択するステップと、
前記比較行バッファ選択手段が選択した前記比較行バッファを、前記画像の前記第N行の行データで更新するステップと、
前記比較行バッファ選択手段が選択した前記比較行バッファを識別する識別番号と、前記最小差分値とを圧縮符号化するステップとを実行させ、
前記初期化ステップにおいては、前記初期値として、前記画像データに含まれるすべての行データを論理積演算した値と、前記画像データに含まれるすべての行データを論理和演算した値とを用いる、画像符号化プログラム。 - 符号化データを復号する処理をコンピュータに実行させるプログラムであって、
前記符号化データは、行データを含んで構成される画像データが圧縮符号化されて生成され、
前記符号化データは、圧縮符号化された、前記画像データが前記圧縮符号化される際の前記画像データの第N行の行データとの間で排他的論理和演算による差分値を計算するために用いるデータを格納した比較行バッファを識別する識別番号と、前記差分値とを含み、
所定の初期値に初期化される、少なくとも2つ以上の比較行バッファを用い、前記符号化データに含まれる前記識別番号と前記差分値とを復号するステップと、
前記2つ以上の比較行バッファのうちの前記識別番号に対応した前記比較行バッファと前記差分値との間で、排他的論理和演算によって前記画像データの前記第N行の行データを復元するステップと、
前記2つ以上の比較行バッファのうちの前記識別番号に対応した前記比較行バッファを、前記画像行データ復元手段で復元された前記画像データの前記第N行の行データで更新するステップとを実行させる、画像復号プログラム。 - 請求項8または9に記載の画像符号化プログラムを記録した、コンピュータ読取可能な記録媒体。
- 請求項10に記載の画像復号プログラムを記録した、コンピュータ読取可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006304044A JP2008124632A (ja) | 2006-11-09 | 2006-11-09 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006304044A JP2008124632A (ja) | 2006-11-09 | 2006-11-09 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008124632A true JP2008124632A (ja) | 2008-05-29 |
Family
ID=39508958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006304044A Withdrawn JP2008124632A (ja) | 2006-11-09 | 2006-11-09 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008124632A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010021752A (ja) * | 2008-07-10 | 2010-01-28 | Kyocera Mita Corp | 画像処理装置及び画像処理プログラム |
KR101472972B1 (ko) | 2014-11-07 | 2014-12-16 | 주식회사 오케이썬 | 원본 파일로부터 변경된 정보에 대한 차등 백업 방법, 그리고 원본 파일 기반의 차등 백업 모듈 |
-
2006
- 2006-11-09 JP JP2006304044A patent/JP2008124632A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010021752A (ja) * | 2008-07-10 | 2010-01-28 | Kyocera Mita Corp | 画像処理装置及び画像処理プログラム |
KR101472972B1 (ko) | 2014-11-07 | 2014-12-16 | 주식회사 오케이썬 | 원본 파일로부터 변경된 정보에 대한 차등 백업 방법, 그리고 원본 파일 기반의 차등 백업 모듈 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6560365B1 (en) | Decoding apparatus and method | |
US20150100556A1 (en) | Data Compression/Decompression Device | |
JP6645013B2 (ja) | 符号化プログラム、符号化方法、符号化装置および伸長方法 | |
JP2008124632A (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、画像符号化プログラムを記録した記録媒体、および画像復号プログラムを記録した記録媒体 | |
JP5523144B2 (ja) | 情報処理装置及びその制御方法及びプログラム及び記憶媒体 | |
JP5453399B2 (ja) | 特有数値でデータを符号化および復号するための方法および装置 | |
US8488894B2 (en) | Method and system for dot-matrix font data compression and decompression | |
JP4758494B2 (ja) | ビット長を符号に変換する回路及び方法 | |
JPH06344601A (ja) | 出力装置および出力方法 | |
EP3385860A1 (en) | Compression of text using multiple dynamic dictionaries | |
JP3127016B2 (ja) | データ圧縮及び復元方法 | |
WO2002052836A2 (en) | Graphic image coding | |
JP5504885B2 (ja) | 画像処理装置および画像処理方法 | |
JPH11317673A (ja) | ランレングス符号化方法及び復号化方法 | |
JP2003189108A (ja) | 画像圧縮方法 | |
JP2005277932A (ja) | データ圧縮装置およびデータ圧縮プログラム | |
JP2005260408A (ja) | データ圧縮装置およびデータ圧縮プログラム | |
JP2006060490A (ja) | 画像圧縮装置および画像圧縮プログラム | |
JP5075135B2 (ja) | 復号装置及びその制御方法 | |
JP4181147B2 (ja) | データ圧縮装置およびデータ圧縮プログラム | |
CN117076799A (zh) | 前端资源的缓存方法、设备以及存储介质 | |
JP4345438B2 (ja) | 辞書データ圧縮装置、電子辞書装置及びプログラム | |
JP2891818B2 (ja) | 符号化装置 | |
JP6142552B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JPH09163154A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100202 |