JP2004104208A - Information encoding method and apparatus - Google Patents

Information encoding method and apparatus Download PDF

Info

Publication number
JP2004104208A
JP2004104208A JP2002259707A JP2002259707A JP2004104208A JP 2004104208 A JP2004104208 A JP 2004104208A JP 2002259707 A JP2002259707 A JP 2002259707A JP 2002259707 A JP2002259707 A JP 2002259707A JP 2004104208 A JP2004104208 A JP 2004104208A
Authority
JP
Japan
Prior art keywords
data
prediction
bits
sub
index
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
Application number
JP2002259707A
Other languages
Japanese (ja)
Inventor
Nobuhito Matsushiro
松代 信人
Yoshihiko Yoshida
吉田 善彦
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 Data Corp
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 Data Corp filed Critical Oki Data Corp
Priority to JP2002259707A priority Critical patent/JP2004104208A/en
Publication of JP2004104208A publication Critical patent/JP2004104208A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information encoding method and apparatus for a binarized still picture by the systematic dither method that promotes highly efficient encoding. <P>SOLUTION: Let the number of threshold values in the main scanning direction of a dither matrix be A, the number of encoded processing unit bits be B, and the greatest common measure of A and B be C, then the number A wherein B=C holds in the case of A≥B is selected, and the number A wherein the A is a divisor of the B in the case of A<B is selected. Thus, properly selecting a relation between the number of the threshold values in the main scanning direction of the dither matrix and the number of encoded processing unit bits reduces the learning time resulting in enhancing the compression efficiency of the encoding. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、組織的ディザ法によって2値化された静止画像の情報符号化方法及び装置に関する。
【0002】
【従来の技術】
近年、高精細度の静止画像通信が要求されている。この要求を満たすために通信回線の高速化が積極的に進められている。しかし通信回線の高速化には限界がある。そこで、通信回線の高速化に並行して情報符号化の技術開発が進められている。一例として、多値の画像データを組織的ディザ法を用いて2値の画素データに変換し、更に符号化して伝送ビット数の低減を図る方法が実用化されている。
【0003】
組織的ディザ法を用いて多値の画像データを2値の画素データに変換する場合には、画像の性質に基づいてディザマトリックスの大きさを決定する。即ち、写真画像などのように明暗差が微妙に変化する画像を変換する場合にはディザマトリックスをできる限り大きくし、解像度を低下させても階調数を大きくする。一方、文字画像などの場合にはディザマトリックスを小さくして階調度を小さくして解像度を上げる。
【0004】
又、ディザ処理は通常1バイト単位で符号化処理され、主走査方向に並ぶディザマトリックスの閾値を左から順番に隙間無く繰り返して配列する。この閾値の上に1バイト単位の画像データを左から順番に隙間無く配列する。その閾値でスライスし、閾値よりも大きい場合に1、小さい場合に0として2値化する。この場合には、1バイト単位のデータの先頭値がディザマトリックスの所定の閾値の上に配列され、次に、データの先頭値がこの所定の閾値の上に配列されるまでの間のデータを1ラインとする。
【0005】
数値例を挙げて説明する。例えばディザマトリックスの主走査方向の閾値の数量を9とする。この場合に1バイト単位でディザ処理すると1バイト目は1番目の閾値から8番目までの閾値によって処理される。2バイト目は9番目の閾値及び1番目から7番目までの閾値によって処理される。3バイト目は8番目の閾値から9番目の閾値及び1番目から6番目の閾値によって処理される。以下同様にして9バイト目は2番目の閾値から9番目の閾値によって処理され、10バイト目は1番目の閾値から処理が開始される。即ち、この場合には、1バイトから9バイトを1ラインとする。
【0006】
又、符号化して伝送ビット数の低減を図る方法では、画素データそのものを伝送する方法をとらない。その代わりに、1ライン前に伝送した直上の画素データ(以後参照データと記す)から所定の方法によって、伝送しようとしている画素データ(以後入力データと記す)のデータ値を予測する。もし予測が一致した場合には、既に参照データを伝送済みなので、入力データを大幅に圧縮して伝送することができる。このデータ予測方法には種々の方法がある。その一例を以下に記す。この方法では2種類の予測モードが併用される。以下に2種類の予測モード(予測モード1及び予測モード2)の概要について説明する。
【0007】
予測モード1
通常入力データを8ビット単位で符号化(圧縮)する。この8ビットを上位4ビットと下位4ビットに分ける。この上位4ビットと下位4ビットを2個の16進数で表して4ビット(4画素)一括して処理する。例えば、入力データの上位4ビットを符号化するときに、まず最初に参照データの上位4ビットのデータ値Xを読み出す。次に、予め備えられている16アドレス×4ビットの予測テーブルからアドレスXを検索する。
【0008】
予測テーブルのアドレスXには、過去の経過の中でデータ値Xが次のラインでYに変化した場合に、そのデータ値Yが記載されている。従って、参照データの上位4ビットのデータ値がXである場合には、予測テーブルのアドレスXを検索すると、入力データの上位4ビットのデータ値はYになる筈であると予測できる。
【0009】
この予測データ値Yと入力データに実際に記載されているデータ値Zとを対比する。このデータ値Yとデータ値Zとが等しい場合には、予測一致と判定して予測一致と符号化して伝送する。又データ値Yとデータ値Zとが異なる場合には、予測不一致と判定して予測不一致の符号とデータ値Zとを伝送する。
【0010】
又、予測テーブルは、一例として以下のように構成される。参照データ1バイトを上位4ビット、下位4ビットに分解する。参照データの上位4ビットのデータ値(上記データ値Xに相当する)を16個のアドレスとする。その各々のアドレスには予測データが格納される。即ち、データ値Xが次のライン(入力データ)でデータ値Yに変化した最新の経過がある場合に、そのデータ値Y(予測データ)が記載されている。ただし、最初の1ライン目では過去の経過がないので全て0が記載されている(この0は2ライン目以降で更新される)。
【0011】
このデータ値Y(予測データ)がデータ値Z(入力データに実際に記載されているデータ値)と一致した場合には、データ値Yはそのまま保持される。データ値Yとデータ値Zとが異なる場合には、データ値Yはデータ値Zで更新される。その結果、予測テーブルには常に最新の経過が格納されていることになる。参照データの下位4ビットについても同様に処理されて、下位4ビットの画素データの予測値が格納される。
【0012】
予測モード2
このモードでは、入力データの上位4ビットを符号化(圧縮)する場合に、この上位4ビットに対応する参照データのデータ値と直接対比する。例えば、入力データの上位4ビットを予測するとき、参照データのデータ値Xと入力データのデータ値Zとを直接対比する。このデータ値Xとデータ値Zとが等しい場合には、予測一致と判定して予測一致の符号を伝送する。又データ値Xとデータ値Zとが異なる場合には、予測不一致と判定して予測不一致の符号とデータ値Zとを伝送する。
【0013】
上記予測モード1と予測モード2の差異は以下の通りである。即ち、予測モード1では各画素は、ライン毎に変化することを前提にしている。従って、1ライン前にデータ値Xであった画素は次のラインではデータ値Yに変化する筈であるとして、このデータ値Yを予測データにしている。そのために予測テーブルを備えて絶えず最新の予測データに更新して保持している。
【0014】
一方、予測モード2では各画素は、ライン毎に変化しないことを前提としている1ライン前にデータ値Xであった画素は次のラインでもデータ値Xである筈としている。このデータ値Xを予測データにしている。通常、上記2種類の予測モードが所定の規則に基づいて併用される。いずれの予測モードを用いても、上記のように予測一致の画素が多ければ多いほど伝送するビット数は圧縮されることになる。
【0015】
【発明が解決しようとする課題】
上記従来の技術には以下に記す未解決の問題が残されていた。
(1)ディザマトリックスを決定する場合に上記のように解像度と階調数との関係のみによって大きさを決定していたため、ディザマトリックスの主走査方向の大きさと符号化処理単位(通常1バイト)との整合が悪い場合に圧縮率が低下することがあった。
【0016】
(2)上記予測モード1においては、予測データの更新は、入力データの1ライン前の参照データが示す上記アドレスYについてのみ上記Zに更新されるべきである。即ち、入力データがあるライン上の一番先頭の位置であった場合には、参照データも1ライン前のライン上の一番先頭の位置でなければならない。しかし、同一ライン内の他の位置の参照データが上記Yであった場合にも更新されてしまう。
【0017】
1ラインのビット数が長くなればなるほど、かかる状態の発生する確率が大きくなる。ここでは、その位置での入力データのデータ値によって更新される。このデータ値が上記Zとは限らない。この予測テーブルは最早、後に続くライン上の一番先頭の位置での予測データの役目を果たさない。以上の問題を解決して効率の高い符号化を促進することが本発明の目的である。
【0018】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成1〉
多値の画像データをディザマトリックスを用いて2値化し、所定のビット数単位で符号化して画像伝送する情報符号化方法であって、上記ディザマトリックスの主走査方向の閾値数をA、上記所定のビット数をB、上記A及びBの最大公約数をCと置き、A≧BのときB=Cが成立する上記Aを選択し、A<BのときBの約数となる上記Aを選択することを特徴とする情報符号化方法。
【0019】
〈構成2〉
多値の画像データをディザマトリックスを用いて2値化された符号化処理単位数のビット列からなる入力データと、この入力データの1ライン前に位置する上記ビット列からなる参照データとを受け入れて、該参照データの示すデータ値が過去の経過で1ライン後に変化する筈であるデータ値を予測データとして示す所定の予測テーブルから上記予測データを参照し、この予測データと上記入力データとを比較して予測の一致及び不一致を判定し、上記不一致であるとき上記予測データを上記入力データで更新する予測部を含む情報符号化装置であって、上記1ラインは、複数個の上記ビット列からなり、上記予測テーブルは、複数個の上記ビット列にそれぞれ対応するサブインデックスビットが付加された複数個のサブテーブルからなり、上記予測部は、上記参照データの上記1ライン中における位置から上記サブインデックスビットを算出するサブインデックスビット算出手段と、該サブインデックスビットの指定する上記所定のサブテーブルから上記予測データを算出する予測データ算出手段とを備え、上記不一致であるとき上記算出されたサブインデックスビットの指定するサブテーブルのみ上記予測データを上記入力データで更新することを特徴とする情報符号化装置。
【0020】
〈構成3〉
構成2に記載の情報符号化装置において、上記サブインデックスビットは、複数個のビットからなることを特徴とする情報符号化装置。
【0021】
〈構成4〉
多値の画像データをディザマトリックスを用いて2値化された符号化処理単位数のビット列からなる入力データと、この入力データの1ライン前に位置する上記符号化処理単位数のビット列からなる参照データとを受け入れて、該参照データに基づいて、該参照データの示すデータ値が過去の経過で1ライン後に変化する筈であるデータ値を予測データとして示す所定の予測テーブルから予測データを参照し、この予測データと上記入力データとを比較して予測の一致及び不一致を判定して符号化し、該不一致であるとき上記予測データを上記入力データで更新する予測部を含む情報符号化装置であって、上記1ラインは、複数個の上記符号化処理単位数のビット列からなり、上記予測テーブルは上記符号化処理単位数のビット列よりも長いビット列からなり、上記予測テーブル内に先頭ビットの位置を変えて読み取り領域が指定される複数個の上記符号化処理単位数のビット列にそれぞれ対応する複数個のサブテーブルを備え、上記予測部は、上記参照データから上記読み取り領域を指定する読み取り領域決定手段と、該読み取り領域決定手段の指定する上記サブテーブルから上記予測データを読み出す予測データ読み出し手段と上記不一致であるとき上記決定された読み取り領域の指定するビット範囲のみ上記予測データを上記入力データで更新する予測テーブル更新手段とを備えることを特徴とする情報符号化装置。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例1〉
従来技術の項で説明したように本発明が採用される符号化方法では、符号化処理に際して入力データの1ライン前の参照データが不可欠である。この参照データが1ライン分情報符号化装置内に取得されるまでの間(以後学習時間と記す)符号化方法は、効果を発揮し得ない。この学習時間を最低時間にするためには、符号化処理単位のビット数(通常8ビット)とディザマトリックスの主走査方向の閾値数との関係が適切に選択されることが必要になってくる。具体例1は、この方法に関する。
【0023】
図1は、学習時間説明図(その1)である。
(1)は、ディザマトリックスの閾値が主走査方向に12個、画素データの符号化処理単位数8ビットの場合であり、(2)は、ディザマトリックスの閾値が主走査方向に16個、画素データの符号化処理単位数8ビットの場合である。学習時間の説明をする前に説明に最低限度必要な、情報符号化装置の構成について図を用いて説明する。
【0024】
図2は、具体例1の構成のブロック図である。
図2より、具体例1の情報符号化装置は入力処理部1、バッファ管理部2、予測部3、予測テーブル(上位4ビット)4、予測テーブル(下位4ビット)5、符号作成部6、ラインバッファ7とを備える。
【0025】
入力処理部1は、入力データを受け入れて予測部3と後記バッファ管理部2を介してラインバッファ7へ送る部分である。
バッファ管理部2は、後記予測部3の要求に応じて、後記ラインバッファ7から1ライン前のデータを読み出し又は書き込みする部分である。
【0026】
予測部3は、入力処理部1から入力データを受け入れたとき、上記バッファ管理部2を介して後記ラインバッファ7から1ライン前のデータ(以後参照データと記す)を受け入れる。この参照データと後記予測テーブル(上位4ビット)4、及び後記予測テーブル(下位4ビット)5を用いて予測データを算出する部分である。
【0027】
又、予測結果(予測一致又は予測不一致)を後記符号作成部6へ送る部分である。更に、予測モード1の場合には、予測不一致のときに予測テーブルのデータ値を入力データに記載されているデータ値で更新する部分である。
【0028】
予測テーブル(上位4ビット)4は、16アドレス4ビットのテーブルであって下記のように構成される。参照データ1バイトを上位4ビット、下位4ビットに分解する。参照データの上位4ビットのデータ値を16個のアドレスとする。その各々のアドレスには予測データが格納される。例えば、データ値Xが次のラインでデータ値Yに変化した最新の経過がある場合に、アドレスXにデータ値Yが記載される。ただし、最初の1ライン目では過去の経過がないので全て0が記載されている(この0は2ライン目以降で更新される)。
【0029】
予測テーブル(下位4ビット)5も、上記予測テーブル(上位4ビット)4と同様に4ビット16アドレスのテーブルであって、下記のように構成される。参照データ1バイトを上位4ビット、下位4ビットに分解する。参照データの下位4ビットのデータ値を16個のアドレスとする。その各々のアドレスには予測データが格納される。例えば、データ値Xが次のラインでデータ値Yに変化した最新の経過がある場合に、アドレスXにデータ値Yが記載される。ただし、最初の1ライン目では過去の経過がないので全て0が記載されている(この0は2ライン目以降で更新される)。
【0030】
符号作成部6は、予測部3から受け入れた予測結果を符号化する部分である。ラインバッファ7は、バッファ管理部2の制御に基づいて1ライン前のデータを格納しておく部分である。
以上で情報符号化装置の構成に関する説明を終了して、図1に戻って学習時間について説明する。
【0031】
ステップS(1)1
図1の(1)において、ビット列〔1〕を予測部3(図2)が入力処理部1(図2)を介して受け入れると、予測部3(図2)はバッファ管理部2(図2)に参照データの受け入れを要求する。ラインバッファ7(図2)にはまだデータが格納されていないので予測結果は不一致となる。その結果、予測テーブル(上位4ビット)4(図2)はビット列〔1〕の上位4ビットに書き込まれているデータ値で更新される。同様に、予測テーブル(下位4ビット)5(図2)はビット列〔1〕の下位4ビットに書き込まれているデータ値で更新される。ここでビット列〔1〕は、ディザマトリックスの1番目の閾値から8番目までの閾値でスライスされた符号化処理単位(通常8ビット)の画素データである。
【0032】
ステップS(1)2
図1の(1)において、ビット列〔2〕を予測部3(図2)が入力処理部1(図2)を介して受け入れると、予測部3(図2)はバッファ管理部2(図2)に参照データの受け入れを要求する。しかしラインバッファ7(図2)にはまだデータが格納されていないので予測結果は不一致となる。その結果、予測テーブル(上位4ビット)4(図2)はビット列〔2〕の上位4ビットに書き込まれているデータ値で更新される。同様に予測テーブル(下位4ビット)5(図2)はビット列〔2〕の下位4ビットに書き込まれているデータ値で更新される。ここでビット列〔2〕は、ディザマトリックスの9番目の閾値から12番目を経て4番目までの閾値でスライスされた符号化処理単位の画素データである。
【0033】
ステップS(1)3
図1の(1)において、ビット列〔3〕を予測部3(図2)が入力処理部1(図2)を介して受け入れると、予測部3(図2)はバッファ管理部2(図2)に参照データの受け入れを要求する。しかしラインバッファ7(図2)にはまだデータが格納されていないので予測結果は不一致となる。その結果、予測テーブル(上位4ビット)4(図2)はビット列〔3〕の上位4ビットに書き込まれているデータ値で更新される。同様に予測テーブル(下位4ビット)5(図2)はビット列〔3〕の下位4ビットに書き込まれているデータ値で更新される。ここでビット列〔3〕は、ディザマトリックスの5番目の閾値から12番目までの閾値でスライスされた符号化処理単位の画素データである。
【0034】
ステップS(1)4
図1の(1)において、ビット列〔4〕を予測部3(図2)が入力処理部1(図2)を介して受け入れると、予測部3(図2)はバッファ管理部2(図2)に参照データの受け入れを要求する。ラインバッファ7(図2)にステップS(1)1で格納されたデータは、ディザマトリックスの1番目の閾値から8番目までの閾値でスライスされた符号化処理単位の画素データである。ここで、ビット列〔4〕とビット列〔1〕とは、同一の閾値でスライスされた画素データであり、参照データとなりうる。従って、このステップS(1)4以降、予測部は正規の動作することが可能になる。
【0035】
以後、ステップS(1)5ではビット列〔2〕が、ステップS(1)6ではビット列〔3〕が、………それぞれ参照データとなる。即ち、ビット列〔1〕からビット列〔3〕が、1ラインとなる。同様にビット列〔4〕からビット列〔6〕、ビット列〔7〕からビット列〔9〕、……も1ラインとなる。ここでビット列〔1〕からビット列〔3〕まで最初のラインの処理時間が学習時間となる。この学習時間の間は入力データの予測一致はあり得ない。即ち学習時間が長ければ長いほど符号化の圧縮効率を低下させる。具体例1の目的は、この学習時間の短縮にある。
【0036】
学習時間は最初の1ラインを処理する時間であり、学習時間を短縮するためには1ラインをできる限り短くすることが必要である。そのためにはビット列の長さ(符号化処理単位のビット数)とディザマトリックスの主走査方向の閾値数との関係を適切に選択することが求められる。
【0037】
図1(1)より、学習時間はビット列〔1〕からビット列〔3〕までの24ビットを処理する時間である。この24ビットはビット列(符号化処理単位ビット数(ここでは8))とディザマトリックスの主走査方向の閾値数(ここでは12)との最小公倍数である。即ち学習時間を短縮するためには、この最小公倍数が最低になるように主走査方向の閾値数と符号化処理単位ビット数との関係を選択することが必要である。この関係を満足するためには下記の選択方法を提唱する。
【0038】
ディザマトリックスの主走査方向の閾値数をA、画素データの符号化処理単位のビット数をB、A及びBの最大公約数をCと置き、A≧BのときB=Cが成立するAを選択し、A<BのときBの約数となるAを選択する。
【0039】
実際に数値例を挙げて説明する。図1(1)は、A=12、B=8なのでC=4となる。A≧Bに相当しB=Cが成立しなければならない。しかしB=8、C=4となり条件を満足しない。即ち、図1(1)は、不適切な選択になる。一方、図1(2)は、A=16、B=8なのでC=8となる。A≧Bに相当しB=Cが成立しなければならない。B=8、C=8なので条件を満足する。即ち、図1(1)は、適切な選択になる。
【0040】
ここで留意すべき点は以下の通りである。図1(2)の方が図1(1)よりも大きなディザマトリックスを用いているが、適切な選択がなされているために学習時間が短くなっている。即ち、図2(2)はビット列〔1〕とビット列〔2〕で1ラインを構成している。結果として符号化の圧縮効率が良くなることである。次にA<Bの場合について実際に数値例を挙げて説明する。
【0041】
図3は、学習時間説明図(その2)である。
(3)は、ディザマトリックスの閾値が主走査方向に6個、画素データの符号化処理単位8ビットの場合であり(4)は、ディザマトリックスの閾値が主走査方向に4個、画素データの符号化処理単位8ビットの場合であり(5)は、ディザマトリックスの閾値が主走査方向に2個、画素データの符号化処理単位8ビットの場合である。
【0042】
図3(3)は、A=6、B=8なのでC=2となる。A<Bに相当しA=Cが成立しなければならない。しかしA=6、C=2となり条件を満足しない。即ち、図3(3)は、不適切な選択になる。一方、図3(4)は、A=4、B=8なのでC=4となる。A<Bに相当しA=Cが成立しなければならない。A=4、C=4なので条件を満足する。即ち、図3(4)は、適切な選択になる。又図3(5)は、A=2、B=8なのでC=2となる。A<Bに相当しA=Cが成立しなければならない。A=2、C=2なので条件を満足する。即ち、図3(5)は、適切な選択になる。
【0043】
以上の説明は、符号化処理単位数を8ビットのみの場合についてのみ説明したが、8ビット以外の場合であっても上記条件を満足すれば適切な選択になることは言うまでもない。
【0044】
〈具体例1の効果〉
以上説明したように、ディザマトリックスの主走査方向の閾値数と符号化処理単位ビット数との関係を適切に選択することによって学習時間を短縮し、結果的には符号化の圧縮効率を向上させることができる。
【0045】
〈具体例2の構成〉
上記、発明が解決しようとする課題の(2)で説明したように、予測モード1において予測データの更新は、1ライン前の参照データについてのみ、なされるべきである。しかし同一ライン中の他の参照データもデータ値Yがあった場合には、このデータ値Yによっても予測テーブルが更新されてしまう。これでは正しい予測結果を期待することはできない。かかる問題を解決して効率の高い符号化を促進することが具体例2の目的である。
【0046】
図4は、具体例2の構成のブロック図である。
図4より、具体例2の情報符号化装置は入力処理部1、バッファ管理部22、予測部23、予測テーブル(上位4ビット)24、予測テーブル(下位4ビット)25、符号作成部6、ラインバッファ7とを備える。以下に具体例1との差異のみについて説明する。
【0047】
バッファ管理部22は、後記予測部23の要求に応じて、後記ラインバッファ7に1ライン前のデータを読み出し又は書き込みする部分である。更に、現在処理中のビットが1ラインの中で何番目のビットであるかを認識して予測部23に知らせる部分でもある。この認識によって、予測部23は、現在処理中のビットがディザマトリックスの何番目の閾値によってスライスされたかを認識できることになる。
【0048】
予測部23は、入力処理部1から入力データを受け入れたとき、上記バッファ管理部22を介してラインバッファ7から参照データを受け入れる。この参照データと予測テーブル(上位4ビット)24、及び予測テーブル(下位4ビット)25を用いて予測データを算出する部分である。又、予測結果(予測一致又は予測不一致)を符号作成部6へ送る部分である。更に、予測モード1の場合には、予測不一致のときに予測テーブルのデータ値を入力データに記載されているデータ値で更新する部分である。尚、参照データを受け入れたとき参照データからサブインデックスビット(後記)を算出するサブインデックスビット算出手段と、このサブインデックスの指定する後記所定のサブテーブルから予測データを算出する予測データ算出手段とを備える部分でもある。
【0049】
予測テーブル(上位4ビット)24は、4ビット16アドレスに一例としてサブインデックス3ビットが付加された複数のサブテーブルの集合である。サブテーブルは、次のように構成される。参照データ1バイトを上位4ビット、下位4ビットに分解する。参照データの上位4ビットのデータ値を16個のアドレスとする。その各々のアドレスには予測データが格納される。例えば、データ値Xが次のラインでデータ値Yに変化した最新の経過がある場合に、そのデータ値Yが記載される。ただし、最初の1ライン目では過去の経過がないので全て0が記載されている(この0は2ライン目以降で更新される)。更に、このサブテーブルは、1ライン上に並ぶ複数個の参照データのそれぞれの位置に対応させて複数個設けられる。その複数個のサブテーブルを特定するためにサブインデックス3ビットが付加される。
【0050】
予測テーブル(下位4ビット)25も、予測テーブル(上位4ビット)24と同様に4ビット16アドレスに一例としてサブインデックス3ビットが付加された複数のサブテーブルの集合である。サブテーブルは、次のように構成される。参照データ1バイトを上位4ビット、下位4ビットに分解する。参照データの下位4ビットのデータ値を16個のアドレスとする。その各々のアドレスには予測データが格納される。例えば、データ値Xが次のラインでデータ値Yに変化した最新の経過がある場合に、そのデータ値Yが記載される。ただし、最初の1ライン目では過去の経過がないので全て0が記載されている(この0は2ライン目以降で更新される)。更に、このサブテーブルは、1ライン上に並ぶ複数個の参照データのそれぞれの位置に対応させて複数個設けられる。その複数個のサブテーブルを特定するためにサブインデックス3ビットが付加される。
【0051】
他の構成部分は具体例1と同様なので説明を割愛する。
次に上記サブインデックスの算出原理について図を用いて説明する。
図5は、マトリックス9のサブインデックス説明図である。
(1)は、主走査方向の閾値数9のディザマトリックスの第一行を表し、その先頭値を星印で表している。
(2)は、ディザマトリックスの第一行を主走査方向に隙間なく並べその上に符号化処理単位8ビットを重ねた図である。
(3)は、サブインデックスとサブテーブルの特定を説明する図である。
【0052】
(2)から分かるように、主走査方向の閾値数9のディザマトリックスを用いて符号化処理単位数8ビットで処理するビット列〔1〕からビット列〔9〕までが1ラインになる。具体例2ではビット列〔1〕からビット列〔9〕までのそれぞれの位置に対応する9個のサブテーブルを備える。従って、ビット列〔1〕に対応するサブテーブルはビット列〔1〕に該当する入力データ以外のデータでは更新されなくなる。
【0053】
(3)はサブテーブルとサブインデックスとの関係を表している。図上一番左から順番に、ビット列〔1〕に対応するサブテーブルのサブインデックスとしてu・index=0、ビット列〔2〕に対応するサブテーブルのサブインデックスとしてu・index=1、ビット列〔3〕に対応するサブテーブルのサブインデックスとしてu・index=2、ビット列〔4〕に対応するサブテーブルのサブインデックスとしてu・index=3、ビット列〔5〕に対応するサブテーブルのサブインデックスとしてu・index=4、ビット列〔6〕に対応するサブテーブルのサブインデックスとしてu・index=5、ビット列〔7〕に対応するサブテーブルのサブインデックスとしてu・index=6、ビット列〔8〕に対応するサブテーブルのサブインデックスとしてu・index=7、ビット列〔9〕に対応するサブテーブルのサブインデックスとしてu・index=7を、それぞれ付加する。
【0054】
図5(3)から分かるように、上位4ビットと下位4ビットに分解されている。又u・index=0のサブテーブルではディザマトリックスの先頭値(星印)が1番左に配置されている。u・index=1のサブテーブルではディザマトリックスの先頭値(星印)が2番目に配置されている。同様にしてu・index=2のサブテーブルでは3番目に、u・index=3のサブテーブルでは4番目に、u・index=4のサブテーブルでは5番目に、u・index=4のサブテーブルでは5番目に、u・index=5のサブテーブルでは6番目に、u・index=6のサブテーブルでは7番目に、u・index=7のサブテーブルでは8番目にそれぞれ配置されている。
【0055】
又ディザマトリックスの先頭値(星印)が含まれていない場合には1つ前とずれが同じであると判断して、1つ前のサブインデックスを付加する。図上のビット列〔9〕に対応するサブテーブルが相当する。このディザマトリックスの先頭値(星印)の位置や現在処理中のビットがディザマトリックスの何番目の閾値によってスライスされたデータであるかは、バッファ管理部22によって認識されている。従って、符号化処理単位の最初の位置の閾値を認識すること、又は、星印の位置が符号化処理単位のどの位置に配置されているかを認識することによって参照データから対応するサブインデックス(u・index)を容易に検出することができる。
【0056】
〈具体例2の動作〉
図6は、具体例2の動作のフローチャートである。
具体例2の情報符号化装置の動作について、図上のステップS(2)1からステップS(2)13に従って説明する。
【0057】
ステップS(2)1
装置内の全ての部分が初期化され動作を開始する。
ステップS(2)2
入力処理部1(図4)を介して予測部23(図4)はデータの受け入れを開始する。入力データを最初の1ライン分受け入れると参照データがラインバッファ7(図4)に格納される。以後情報符号化装置は正規の符号化を開始する。予測部23(図4)は入力処理部1(図4)を介して入力データを受け入れる。又バッファ管理部2(図4)を介してラインバッファ7(図4)から参照データを受け入れる。ここで、図6上の入力データ〔X〕〔Y〕及び参照データ〔X〕〔Y〕の〔X〕〔Y〕はX−Y平面上でのデータの位置を示している。
【0058】
ステップS(2)3
予測部23(図4)のサブインデックスビット算出手段は、参照データのデータ値からu・indexを算出する。この動作については後に他の図を用いて再度説明する。
ステップS(2)4
現在の処理がモード1に該当するか否かを判断し、モード1に該当する場合にはステップS(2)5へ進み、該当しない場合にはステップS(2)6へ進む。
【0059】
ステップS(2)5
予測部23(図4)の予測データ算出手段は、上記サブインデックスビット算出手段が算出したu・indexに基づいて、予測テーブル(上位4ビット)24(図4)及び予測テーブル(下位4ビット)25(図4)から所定のサブテーブルを選択する。このサブテーブルを検索して予測データを算出する。この動作については後に他の図を用いて再度説明する。
ステップS(2)6
予測モード2(従来技術で説明済み)に相当するので参照データのデータ値をそのまま予測データとする。
【0060】
ステップS(2)7
予測部23(図4)は、入力データと予測データが一致しているか不一致であるかを判断して、一致している場合にはステップS(2)8へ進み、一致していない場合にはステップS(2)9へ進む。
ステップS(2)8
予測部23(図4)が、符号作成部6(図4)に一致を知らせると、符号作成部6(図4)は短い符号を割り当てて符号データを送出する。
【0061】
ステップS(2)9
予測部23(図4)が、符号作成部6(図4)に不一致を知らせると、符号作成部6(図4)は不一致の符号に入力データを付加して符号データを送出する。同時に予測モード1の場合に予測部23(図4)は、予測テーブル(上位4ビット)24(図4)及び予測テーブル(下位4ビット)25のデータ値を入力データのデータ値で更新する。
【0062】
ステップS(2)10
バッファ管理部22(図4)は、ラインバッファ7(図4)を制御して参照データを入力データで更新する。
ステップS(2)11からステップS(2)14及びステップS(2)2への戻りループによって伝送されるべき画像情報がX−Y全面にわたって処理されフローが終了する。
【0063】
次に他の図を用いてステップS(2)3を再度説明する。
サブインデックスの検出の原理については既に、符号化処理単位の最初の位置の閾値を認識すること、又は、星印の位置が符号化処理単位のどの位置に配置されているかを認識することによって参照データから対応するサブインデックス(u・index)を容易に検出できることを図5で説明済みである。
【0064】
ここでは上記ステップS(2)3を予測部23(図4)が算出するフローの一例を挙げて、実際に図5の数値を当てはめて説明する。
図7は、サブインデックスビット算出手段のフローチャートである。
このフローチャート中、bcountは処理中のビットがディザマトリックスのどの閾値でスライスされたかをカウントするカウンタである。ただし、図5では閾値は1から9で表してあるが演算処理の都合から0から8で表すこととする。
【0065】
一例として予測部23(図4)が図5のビット列〔10〕を受け入れたと仮定する。図に示すようにビット列〔10〕の最初のデータはディザマトリックスの閾値1でスライスされている。従ってbcount=0である。以下にステップS(2)15〜ステップS(2)20に従ってビット列〔10〕のu・indexを算出する。
【0066】
ステップS(2)15
bcountに8を加算する。従ってbcount=8となる。
ステップS(2)16
bcount=8とマトリックス長を比較する。ここではbcount=8がマトリックス長9よりも小さいのでステップS(2)17へ進む。
【0067】
ステップS(2)17
bcountが0かどうかを判断する。ここではbcount=8なのでステップS(2)19へ進む。
ステップS(2)19
bcountが8よりも大きいか否かを判断する。ここではbcount=8なのでステップS(2)20へ進む。
【0068】
ステップS(2)20
8−bcount=u・indexとしてu・indexを求める。ここではbcount=8なのでu・index=0と求まりフローを終了する。
【0069】
図5(3)において、最初のデータがディザマトリックスの閾値1でスライスされている上位4ビットの予測テーブルのu・indexは0であり、上記計算結果と一致する。
次に他の図を用いてステップS(2)5を再度説明する。
【0070】
図8は、予測データ算出手段のフローチャートである。
予測部23(図4)の予測データ算出手段はステップS(2)21〜ステップS(2)24に従って予測データを算出する。
ここで図上、Est・Index1とは予測テーブル(上位4ビット)24のアドレスを示すインデックスであり、Est・Index2とは予測テーブル(下位4ビット)25のアドレスを示すインデックスである。又Refferとは参照データを表している。
【0071】
ステップS(2)21
u・indexの3ビットを左シフトし、参照データを4ビット右シフトしてORをとると予測テーブル(上位4ビット)24のアドレスが求まる。
ステップS(2)22
u・indexの3ビットを左シフトし、参照データの上位4ビットをマスクしてORをとると予測テーブル(下位4ビット)25のアドレスが求まる。
【0072】
ステップS(2)23
上記ステップS(2)21とステップS(2)22に求めたアドレスからテーブルを検索する。
ステップS(2)24
上記ステップS(2)23で検索した値を予測データとしてフローを終了する。
【0073】
以上の説明では予測テーブルにサブインデックスを3ビット付加する場合に限定して説明した。しかし本発明は、この例に限定されるものではない。即ち1ラインが長くなった場合にはサブインデックスを3ビット付加するだけでは不十分な場合も発生する。その場合には更にビット数を増加しても良い。
【0074】
又、図7にサブインデックスビット算出手段のフローチャートを挙げて説明したが、本発明のサブインデックスビット算出手段は、この例に限定されるものではない。即ち、参照データから符号化処理単位の最初の位置の閾値を認識すること、又は、星印の位置が符号化処理単位のどの位置に配置されているかを認識することによって算出するのと類似した方法であれば他のアルゴリズムを用いて算出しても良い。
【0075】
〈具体例2の効果〉
以上説明したように、異なるサブインデックスを付加した複数個のサブテーブルを備えることによって予測テーブルの上書き(更新)を回避することができ、予測的中率を向上させることができる。
【0076】
〈具体例3〉
具体例2では予測テーブルの上書きを回避するためにサブインデックスを付加して複数個のサブテーブルを設けている。この場合には、メモリ数が大幅に増加した。例えば図4ではサブテーブルを8個備えるためにサブインデックスを3ビット付加し、予測テーブルは128アドレスまで増加している。具体例3では、複数個のサブテーブルを備えてもアドレスを増加させないことを目的とする。
【0077】
図9は、具体例3の構成のブロック図である。
図9より、具体例3の情報符号化装置は入力処理部1、バッファ管理部22、予測部33、予測テーブル(上位4ビット)34、予測テーブル(下位4ビット)35、符号作成部6、ラインバッファ7とを備える。以下に具体例1又は具体例2との差異ある部分のみについて説明する。
【0078】
予測部33は、入力処理部1から入力データを受け入れたとき、上記バッファ管理部22を介してラインバッファ7から参照データを受け入れる。この参照データと後記予測テーブル(上位4ビット)34、及び予測テーブル(下位4ビット)35を用いて予測データを算出する部分である。又、予測結果(予測一致又は予測不一致)を符号作成部6へ送る部分である。更に、予測モード1の場合には、予測不一致のときに予測テーブルのデータ値を入力データに記載されているデータ値で更新する部分である。尚、参照データを受け入れたとき参照データから後記読み取り領域を決定する読み取り領域決定手段と、この読み取り領域を後記所定のサブテーブルとして予測データを読み出す予測データ読み出し手段と、予測不一致の場合に予測テーブルを更新する予測テーブル更新手段とを備える部分でもある。
【0079】
予測テーブル(上位4ビット)34は、一例として11ビット16アドレスのテーブルである。この11ビットに予測データが格納されている。この11ビットの中で所定のビット位置から連続する4ビットで構成される複数個のサブテーブルを備える。即ち、1個のアドレスで指定される11ビットの中に複数個のサブテーブルが含まれている。このサブテーブルを特定するために必要な所定のビット位置は、上記予測部33の読み取り領域決定手段によって決定される。上記アドレスは、下記のように構成される。参照データ1バイトを上位4ビット、下位4ビットに分解する。この上位4ビットのデータ値16個を上記アドレスとする。同一アドレス内の複数個のサブテーブルには、例えば、データ値Xが次のラインでデータ値Yに変化した最新の経過がある場合に、そのデータ値Yが記載される。ただし、最初の1ライン目では過去の経過がないので全て0が記載されている(この0は2ライン目以降で更新される)。更に、このサブテーブルは、1ライン上に並ぶ複数個の参照データのそれぞれに対応させて複数個設けられる。
【0080】
予測テーブル(下位4ビット)35は、一例として11ビット16アドレスのテーブルである。この11ビットに予測データが格納されている。この11ビットの中で所定のビット位置から連続する4ビットで構成される複数個のサブテーブルを備える。即ち、1個のアドレスで指定される11ビットの中に複数個のサブテーブルが含まれている。このサブテーブルを特定するために必要な所定のビット位置は、上記予測部33の読み取り領域決定手段によって決定される。上記アドレスは、下記のように構成される。参照データ1バイトを上位4ビット、下位4ビットに分解する。この下位4ビットのデータ値16個を上記アドレスとする。同一アドレス内の複数個のサブテーブルには、例えば、データ値Xが次のラインでデータ値Yに変化した最新の経過がある場合に、そのデータ値Yが記載される。ただし、最初の1ライン目では過去の経過がないので全て0が記載されている(この0は2ライン目以降で更新される)。更に、このサブテーブルは、1ライン上に並ぶ複数個の参照データのそれぞれに対応させて複数個設けられる。
【0081】
他の構成部分は具体例1又は具体例2と同様なので説明を割愛する。次に上記読み取り領域決定手段の基本原理について図を用いて説明する。
図10は、マトリックス9の読み取り領域説明図である。
(1)は、主走査方向の閾値数9のディザマトリックスの第一行を表し、その先頭値を星印で表している。
(2)は、ディザマトリックスの第一行を主走査方向に隙間なく並べ、その上に符号化処理単位8ビットを重ねた図である。
(3)は、読み取り領域とサブテーブルの特定を説明する図である。
【0082】
(2)から分かるように、主走査方向の閾値数9のディザマトリックスを用いて符号化処理単位数8ビットで処理するビット列〔1〕からビット列〔9〕までが1ラインになる。具体例3ではビット列〔1〕からビット列〔9〕までのそれぞれに対応する9個のサブテーブルを備える。この9個のサブテーブルは(3)の上から下まで9段のビット列にそれぞれ該当する。従ってビット列〔1〕に対応するサブテーブルは、ビット列〔1〕に該当する入力データ以外のデータでは更新されなくなる。
【0083】
(3)はサブテーブルと読み取り領域との関係及びサブテーブルを特定するためのサブインデックスを表している。図の上から順番に、ビット列〔1〕に対応するサブテーブルのサブインデックスとしてv・index=0と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔1〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置8番目から配置されている。更にディザマトリックスの最初の閾値が最初の位置にある。
【0084】
ビット列〔2〕に対応するサブテーブルのサブインデックスとしてv・index=1と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔2〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置7番目から配置されている。更にディザマトリックスの最初の閾値が2番目の位置にある。
【0085】
ビット列〔3〕に対応するサブテーブルのサブインデックスとしてv・index=2と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔3〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置6番目から配置されている。更にディザマトリックスの最初の閾値が3番目の位置にある。
【0086】
ビット列〔4〕に対応するサブテーブルのサブインデックスとしてv・index=3と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔4〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置5番目から配置されている。更にディザマトリックスの最初の閾値が4番目の位置にある。
【0087】
ビット列〔5〕に対応するサブテーブルのサブインデックスとしてv・index=4と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔5〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置4番目から配置されている。更にディザマトリックスの最初の閾値が5番目の位置にある。
【0088】
ビット列〔6〕に対応するサブテーブルのサブインデックスとしてv・index=5と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔6〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置3番目から配置されている。更にディザマトリックスの最初の閾値が6番目の位置にある。
【0089】
ビット列〔7〕に対応するサブテーブルのサブインデックスとしてv・index=6と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔7〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置2番目から配置されている。更にディザマトリックスの最初の閾値が7番目の位置にある。
【0090】
ビット列〔8〕に対応するサブテーブルのサブインデックスとしてv・index=7と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔8〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置1番目から配置されている。更にディザマトリックスの最初の閾値が8番目の位置にある。
【0091】
ビット列〔9〕に対応するサブテーブルのサブインデックスとしてv・index=7と定める。ここでは上位4ビットと下位4ビットに分解されている。又、ビット列〔9〕は、上位4ビット及び下位4ビットとも予測テーブルのビット位置1番目から配置されている。更にディザマトリックスの最初の閾値は含まれていない。
【0092】
ここで留意すべきは以下の点にある。最終段に記載されているビット列〔9〕を除く全てのビット列において、テーブルの縦方向は全てディザマトリックスの閾値が同一である。このことは同一アドレス11ビットの中に読み出し領域の異なる9個のサブテーブルを含ませることができることを意味している。従って、上記サブインデックスに基づいて読み出し領域を移動させれば容易に所望のサブテーブルのデータを読み出すことが可能になる。又ビット列〔9〕についても、ビット列〔8〕からのデータのずれが他のビット列と同様なのでビット列〔8〕との間で上書きされることは無くなるため同一に扱うことが可能になる。
【0093】
〈具体例3の動作〉
図11は、具体例3の動作のフローチャートである。
具体例3の情報符号化装置の動作について図に従って説明する。
ただし、具体例2の動作と異なる点はステップS(3)1のv・index算出、ステップS(3)2の予測データ読み出し、ステップS(3)3の予測不一致処理の3工程のみである。他の工程は全て具体例2と同様なので、上記3工程のみについて他の図を用いて詳細に説明し、他の工程については説明を割愛する。
【0094】
図12は、読み取り領域決定手段のフローチャートである。上記ステップS(3)1のv・index算出に該当するフローである。
図上Est・index1は、上位4ビットの予測データのインデックス(アドレス)であり、Est・index2は、下位4ビットの予測データのインデックス(アドレス)である。又bmascは読み取り領域の位置を示す情報である。
【0095】
ステップS(3)1−1
予測部33(図9)は参照データを上位4ビット、下位4ビットに分解して上位4ビットをEst・index1に下位4ビットをEst・index2に格納する。
【0096】
ステップS(3)1−2
予測部33(図9)は参照データからディザマトリックスの最初の閾値がビット列の何番目にあるかを認識してサブインデックス(v・index)を決定する。このv・indexの値をbmascに格納してフローを終了する。このステップで参照データから所定のサブテーブルを検索するための読み取り領域が決定される。
【0097】
図13は、予測データ読み出し手段のフローチャートである。上記ステップS(3)2の予測データ読み出しに該当するフローである。図上、temp1及びtemp2は、データを一時保持する部分である。
ステップS(3)2−1
予測部33(図9)は、上記ステップS(3)1−2(図12)で求めた読み取り領域(bmasc)を用いてEst・index1の指定する11ビットの中から4ビットのデータを読み取ってtemp1に一時格納する。同様にEst・index2の指定する11ビットの中から4ビットのデータを読み取ってtemp2に一時格納する。
【0098】
ステップS(3)2−2
予測部33(図9)は、temp1に一時格納されているデータをv・indexの数値(0から10)だけ右へシフトさせる。同様にtemp2に一時格納されているデータをv・indexの数値(0から10)だけ右へシフトさせる。
【0099】
ステップS(3)2−3
temp1のデータを4ビット左シフトし、temp2のデータをそのまま保存する。
ステップS(3)2−4
temp1のデータを上位4ビットの予測データとし、temp2のデータを下位4ビットの予測データとしてフローを終了する。
【0100】
図14は、予測テーブル更新手段のフローチャートである。上記ステップS(3)3の予測不一致処理に該当するフローである。図上、currentは入力データを意味する。
ステップS(3)3−1
予測部33(図9)は、上記ステップS(3)1−2(図12)で求めた読み取り領域(bmasc)を用いてEst・index1の指定する11ビットの中から4ビットのデータを読み取ってtemp1に一時格納する。同様にEst・index2の指定する11ビットの中から4ビットのデータを読み取ってtemp2に一時格納する。
【0101】
ステップS(3)3−2
予測部33(図9)は、入力データの上位4ビットを右シフトして読み出す。このデータをv・index分左シフトする。このデータとステップS(3)3−1でtemp1に格納したデータとの論理和をとり再度temp1に格納する。同様に入力データの下位4ビットをとり、このデータをv・index分左シフトする。このデータとステップS(3)3−1でtemp2に格納したデータとの論理和をとり再度temp2に格納する。
【0102】
ステップS(3)3−3
予測部33(図9)は、temp1に格納されているデータを上記ステップS(3)3−1で読み取った元の位置に上書きして上位4ビットの更新を終わる。同様にtemp2に格納されているデータを上記ステップS(3)3−1で読み取った元の位置に上書きして下位4ビットの更新を終わる。
【0103】
以上の説明は、主走査方向のディザマトリックスの閾値の数量が9個で符号化処理単位が8ビットの場合に限定して説明した。しかし、本発明は、この例に限定されるものではない。ディザマトリックスの閾値の数量や符号化処理単位のビット数が異なっても全く同様の原理で処理することが可能である。
【0104】
〈具体例3の効果〉
以上説明したように、同一アドレスの11ビット(一例)の中に複数個のサブテーブルを含ませることによってメモリの大きさを増加させることなく具体例2の効果を得ることができる。
【図面の簡単な説明】
【図1】学習時間説明図(その1)である。
【図2】具体例1の構成のブロック図である。
【図3】学習時間説明図(その2)である。
【図4】具体例2の構成のブロック図である。
【図5】マトリックス9のサブインデックス説明図である。
【図6】具体例2の動作のフローチャートである。
【図7】サブインデックスビット算出手段のフローチャートである。
【図8】予測データ算出手段のフローチャートである。
【図9】具体例3の構成のブロック図である。
【図10】マトリックス9の読み取り領域説明図である。
【図11】具体例3の動作のフローチャートである。
【図12】読み取り領域決定手段のフローチャートである。
【図13】予測データ読み出し手段のフローチャートである。
【図14】予測テーブル更新手段のフローチャートである。
【符号の説明】
1〜16 ディザマトリックスの閾値
S(1)1〜S(1)10 ステップ
〔1〕〜〔10〕 ビット列(符号化処理単位)
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and an apparatus for encoding information of a still image binarized by an organized dither method.
[0002]
[Prior art]
In recent years, high-definition still image communication has been demanded. In order to satisfy this demand, the speed of communication lines has been actively increased. However, there is a limit to speeding up communication lines. Accordingly, information coding technology is being developed in parallel with the increase in the speed of communication lines. As an example, a method has been put to practical use in which multi-valued image data is converted into binary pixel data by using an organized dither method, and further encoded to reduce the number of transmission bits.
[0003]
When converting multi-valued image data into binary pixel data using the systematic dither method, the size of the dither matrix is determined based on the properties of the image. That is, in the case of converting an image such as a photographic image in which the difference in brightness is slightly changed, the dither matrix is increased as much as possible, and the number of gradations is increased even if the resolution is reduced. On the other hand, in the case of a character image, the resolution is increased by reducing the dither matrix to reduce the gradient.
[0004]
In addition, the dither processing is generally performed in units of one byte, and threshold values of dither matrices arranged in the main scanning direction are repeatedly arranged from left to right without gaps. Image data in 1-byte units are arranged on this threshold in order from the left without any gap. Slicing is performed using the threshold value, and is binarized as 1 when the value is larger than the threshold value and 0 when the value is smaller than the threshold value. In this case, the leading value of the data in 1-byte units is arranged above a predetermined threshold of the dither matrix, and then the data until the leading value of the data is arranged above the predetermined threshold is determined. One line.
[0005]
This will be described with reference to numerical examples. For example, the number of thresholds in the main scanning direction of the dither matrix is set to nine. In this case, if dither processing is performed on a byte-by-byte basis, the first byte is processed by the first to eighth thresholds. The second byte is processed by the ninth threshold and the first to seventh thresholds. The third byte is processed by the eighth through ninth thresholds and the first through sixth thresholds. Similarly, the ninth byte is processed with the second to ninth threshold values, and the tenth byte is started with the first threshold value. That is, in this case, one byte to nine bytes are defined as one line.
[0006]
Further, the method of encoding to reduce the number of transmission bits does not employ a method of transmitting the pixel data itself. Instead, the data value of the pixel data to be transmitted (hereinafter referred to as input data) is predicted by a predetermined method from the pixel data immediately above (hereinafter referred to as reference data) transmitted one line before. If the predictions match, the reference data has already been transmitted, so that the input data can be significantly compressed and transmitted. There are various data prediction methods. An example is described below. In this method, two types of prediction modes are used together. The outline of two types of prediction modes (prediction mode 1 and prediction mode 2) will be described below.
[0007]
Prediction mode 1
Normally, input data is encoded (compressed) in units of 8 bits. These 8 bits are divided into upper 4 bits and lower 4 bits. The upper 4 bits and the lower 4 bits are represented by two hexadecimal numbers, and 4 bits (4 pixels) are processed collectively. For example, when encoding the upper 4 bits of the input data, first, the data value X of the upper 4 bits of the reference data is read. Next, an address X is searched from a prediction table of 16 addresses × 4 bits provided in advance.
[0008]
In the address X of the prediction table, when the data value X changes to Y in the next line in the past progress, the data value Y is described. Therefore, when the data value of the upper 4 bits of the reference data is X, when the address X of the prediction table is searched, it can be predicted that the data value of the upper 4 bits of the input data should be Y.
[0009]
The predicted data value Y is compared with the data value Z actually described in the input data. If the data value Y is equal to the data value Z, it is determined to be a prediction match, encoded as a prediction match, and transmitted. When the data value Y and the data value Z are different, it is determined that the prediction does not match, and the code of the prediction mismatch and the data value Z are transmitted.
[0010]
The prediction table is configured as follows as an example. One byte of reference data is decomposed into upper 4 bits and lower 4 bits. The data value of the upper 4 bits of the reference data (corresponding to the data value X) is set to 16 addresses. The prediction data is stored in each of the addresses. That is, when there is the latest progress in which the data value X has changed to the data value Y in the next line (input data), the data value Y (predicted data) is described. However, since there is no past progress in the first first line, all 0s are described (this 0 is updated in the second and subsequent lines).
[0011]
When the data value Y (predicted data) matches the data value Z (the data value actually described in the input data), the data value Y is held as it is. If the data value Y is different from the data value Z, the data value Y is updated with the data value Z. As a result, the latest progress is always stored in the prediction table. The same processing is performed for the lower 4 bits of the reference data, and the predicted value of the lower 4 bits of pixel data is stored.
[0012]
Prediction mode 2
In this mode, when the upper 4 bits of the input data are encoded (compressed), they are directly compared with the data values of the reference data corresponding to the upper 4 bits. For example, when predicting the upper 4 bits of the input data, the data value X of the reference data is directly compared with the data value Z of the input data. If the data value X is equal to the data value Z, it is determined to be a prediction match, and the code of the prediction match is transmitted. If the data value X is different from the data value Z, it is determined that the prediction does not match, and the code of the prediction mismatch and the data value Z are transmitted.
[0013]
The difference between the prediction mode 1 and the prediction mode 2 is as follows. That is, in the prediction mode 1, it is assumed that each pixel changes for each line. Therefore, it is assumed that the pixel having the data value X one line before should change to the data value Y in the next line, and the data value Y is used as the prediction data. For this purpose, a prediction table is provided and constantly updated to the latest prediction data and held.
[0014]
On the other hand, in the prediction mode 2, it is assumed that each pixel has the data value X one line before, which assumes that the pixel does not change for each line. This data value X is used as prediction data. Usually, the above two prediction modes are used together based on a predetermined rule. Regardless of which prediction mode is used, as described above, the greater the number of pixels that match prediction, the more the number of bits to be transmitted is compressed.
[0015]
[Problems to be solved by the invention]
The prior art described above has the following unsolved problems.
(1) Since the size is determined only by the relationship between the resolution and the number of gradations when the dither matrix is determined as described above, the size of the dither matrix in the main scanning direction and the encoding processing unit (usually 1 byte) When the matching is poor, the compression ratio may decrease.
[0016]
(2) In the prediction mode 1, the prediction data should be updated to the Z only for the address Y indicated by the reference data one line before the input data. That is, if the input data is the first position on a certain line, the reference data must also be the first position on the previous line. However, it is also updated when the reference data at another position in the same line is Y.
[0017]
The longer the number of bits in one line, the greater the probability that such a state will occur. Here, it is updated with the data value of the input data at that position. This data value is not always Z. This prediction table no longer serves as the prediction data at the first position on the following line. It is an object of the present invention to solve the above problems and promote efficient encoding.
[0018]
[Means for Solving the Problems]
The present invention employs the following configuration to solve the above points.
<Configuration 1>
An information encoding method for binarizing multi-valued image data using a dither matrix, encoding the data in units of a predetermined number of bits, and transmitting the image, wherein the threshold number of the dither matrix in the main scanning direction is A, Is set to B, and the greatest common divisor of A and B is set to C. When A ≧ B, the above A that satisfies B = C is selected. When A <B, the above A that is a divisor of B is selected. An information encoding method characterized by selecting.
[0019]
<Configuration 2>
By accepting input data consisting of a bit string of the number of encoding processing units obtained by binarizing multi-valued image data using a dither matrix and reference data consisting of the bit string located one line before the input data, Reference is made to the prediction data from a predetermined prediction table that indicates, as prediction data, a data value that the data value indicated by the reference data should change after one line in the past, and compares the prediction data with the input data. An information encoding device including a prediction unit that determines whether the prediction matches and does not match and updates the prediction data with the input data when the prediction does not match, wherein the one line includes a plurality of the bit strings, The prediction table includes a plurality of sub-tables to which sub-index bits respectively corresponding to the plurality of bit strings are added, A sub-index bit calculating unit configured to calculate the sub-index bit from a position in the one line of the reference data; and a prediction unit configured to calculate the predicted data from the predetermined sub-table designated by the sub-index bit. An information encoding apparatus, comprising: a data calculating unit, wherein, when the values do not match, the prediction data is updated with the input data only in a sub-table designated by the calculated sub-index bits.
[0020]
<Configuration 3>
3. The information encoding device according to configuration 2, wherein the sub-index bits are composed of a plurality of bits.
[0021]
<Configuration 4>
A reference consisting of input data consisting of a bit string of the number of coding processing units obtained by binarizing multi-valued image data using a dither matrix, and a bit string of the number of coding processing units located one line before the input data Data, and based on the reference data, refer to the prediction data from a predetermined prediction table that indicates, as prediction data, a data value that the data value indicated by the reference data should change one line later in the past. An information encoding apparatus that includes a prediction unit that compares the prediction data with the input data to determine whether the prediction matches or does not match, encodes the data, and when the prediction data does not match, updates the prediction data with the input data. The one line is composed of a plurality of bit strings of the number of encoding units, and the prediction table is longer than the bit string of the number of encoding units. A plurality of sub-tables, each of which comprises a plurality of sub-tables, each of which comprises a plurality of bit strings of a plurality of encoding processing units in which a read area is specified by changing a position of a leading bit in the prediction table. The reading area determining means for specifying the reading area from the reference data; and the predicted data reading means for reading the predicted data from the sub-table specified by the reading area determining means. A prediction table updating unit that updates the prediction data with the input data only in a bit range specified by an area.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described using specific examples.
<Specific example 1>
As described in the section of the prior art, in the encoding method employing the present invention, reference data one line before input data is indispensable in encoding processing. The encoding method until the reference data for one line is acquired in the information encoding device (hereinafter, referred to as a learning time) cannot exert an effect. In order to minimize the learning time, it is necessary to appropriately select the relationship between the number of bits (usually 8 bits) of the encoding processing unit and the number of thresholds in the main scanning direction of the dither matrix. . Example 1 relates to this method.
[0023]
FIG. 1 is an explanatory diagram (part 1) of the learning time.
(1) is a case where the threshold value of the dither matrix is 12 in the main scanning direction and the number of pixel data encoding units is 8 bits, and (2) is a case where the threshold value of the dither matrix is 16 in the main scanning direction and the pixel is 16 pixels. This is a case where the number of data encoding units is 8 bits. Before describing the learning time, the configuration of the information encoding device, which is the minimum required for the description, will be described with reference to the drawings.
[0024]
FIG. 2 is a block diagram of the configuration of the first embodiment.
As shown in FIG. 2, the information encoding apparatus of the first embodiment includes an input processing unit 1, a buffer management unit 2, a prediction unit 3, a prediction table (upper 4 bits) 4, a prediction table (lower 4 bits) 5, a code generation unit 6, And a line buffer 7.
[0025]
The input processing unit 1 is a unit that receives input data and sends it to the line buffer 7 via the prediction unit 3 and the buffer management unit 2 described later.
The buffer management unit 2 is a unit that reads or writes data one line before from the line buffer 7 in response to a request from the prediction unit 3.
[0026]
When receiving the input data from the input processing unit 1, the prediction unit 3 receives the data one line before (hereinafter referred to as reference data) from the line buffer 7 via the buffer management unit 2. This is a part for calculating prediction data using the reference data, a prediction table (higher 4 bits) 4 described later, and a prediction table (lower 4 bits) 5 described later.
[0027]
Further, this is a part for sending a prediction result (prediction match or prediction mismatch) to the code generation unit 6 described later. Further, in the case of the prediction mode 1, when the prediction does not match, the data value of the prediction table is updated with the data value described in the input data.
[0028]
The prediction table (upper 4 bits) 4 is a table of 16 addresses and 4 bits, and is configured as follows. One byte of reference data is decomposed into upper 4 bits and lower 4 bits. The data value of the upper 4 bits of the reference data is set to 16 addresses. The prediction data is stored in each of the addresses. For example, when there is the latest progress in which the data value X has changed to the data value Y in the next line, the data value Y is described in the address X. However, since there is no past progress in the first first line, all 0s are described (this 0 is updated in the second and subsequent lines).
[0029]
The prediction table (lower 4 bits) 5 is also a table of 4 bits and 16 addresses like the prediction table (upper 4 bits) 4, and is configured as follows. One byte of reference data is decomposed into upper 4 bits and lower 4 bits. The data value of the lower 4 bits of the reference data is set to 16 addresses. The prediction data is stored in each of the addresses. For example, when there is the latest progress in which the data value X has changed to the data value Y in the next line, the data value Y is described in the address X. However, since there is no past progress in the first first line, all 0s are described (this 0 is updated in the second and subsequent lines).
[0030]
The code creation unit 6 is a unit that encodes the prediction result received from the prediction unit 3. The line buffer 7 is a part that stores data one line before under the control of the buffer management unit 2.
This concludes the description of the configuration of the information encoding device, and returns to FIG. 1 to describe the learning time.
[0031]
Step S (1) 1
In (1) of FIG. 1, when the prediction unit 3 (FIG. 2) receives the bit string [1] via the input processing unit 1 (FIG. 2), the prediction unit 3 (FIG. 2) sets the buffer management unit 2 (FIG. 2). ) Requires acceptance of reference data. Since no data has been stored in the line buffer 7 (FIG. 2), the prediction results do not match. As a result, the prediction table (upper 4 bits) 4 (FIG. 2) is updated with the data value written in the upper 4 bits of the bit string [1]. Similarly, the prediction table (lower 4 bits) 5 (FIG. 2) is updated with the data value written in the lower 4 bits of the bit string [1]. Here, the bit string [1] is pixel data of an encoding processing unit (usually 8 bits) sliced by the first to eighth threshold values of the dither matrix.
[0032]
Step S (1) 2
In (1) of FIG. 1, when the prediction unit 3 (FIG. 2) receives the bit string [2] via the input processing unit 1 (FIG. 2), the prediction unit 3 (FIG. 2) ) Requires acceptance of reference data. However, since the data has not yet been stored in the line buffer 7 (FIG. 2), the prediction results do not match. As a result, the prediction table (upper 4 bits) 4 (FIG. 2) is updated with the data value written in the upper 4 bits of the bit string [2]. Similarly, the prediction table (lower 4 bits) 5 (FIG. 2) is updated with the data value written in the lower 4 bits of the bit string [2]. Here, the bit string [2] is pixel data of an encoding processing unit sliced by the ninth threshold to the fourth through fourth thresholds of the dither matrix.
[0033]
Step S (1) 3
In (1) of FIG. 1, when the prediction unit 3 (FIG. 2) receives the bit string [3] via the input processing unit 1 (FIG. 2), the prediction unit 3 (FIG. 2) ) Requires acceptance of reference data. However, since the data has not yet been stored in the line buffer 7 (FIG. 2), the prediction results do not match. As a result, the prediction table (upper 4 bits) 4 (FIG. 2) is updated with the data value written in the upper 4 bits of the bit string [3]. Similarly, the prediction table (lower 4 bits) 5 (FIG. 2) is updated with the data value written in the lower 4 bits of the bit string [3]. Here, the bit string [3] is pixel data of an encoding processing unit sliced at the fifth to twelfth thresholds of the dither matrix.
[0034]
Step S (1) 4
In (1) of FIG. 1, when the prediction unit 3 (FIG. 2) receives the bit string [4] via the input processing unit 1 (FIG. 2), the prediction unit 3 (FIG. 2) ) Requires acceptance of reference data. The data stored in step S (1) 1 in the line buffer 7 (FIG. 2) is pixel data of the encoding processing unit sliced by the first to eighth threshold values of the dither matrix. Here, the bit string [4] and the bit string [1] are pixel data sliced with the same threshold, and can be reference data. Therefore, after step S (1) 4, the prediction unit can operate normally.
[0035]
Thereafter, in step S (1) 5, the bit string [2] becomes the reference data, and in step S (1) 6, the bit string [3] becomes the reference data. That is, the bit string [3] becomes one line from the bit string [1]. Similarly, bit strings [4] to [6], bit strings [7] to bit strings [9],... Here, the processing time of the first line from bit string [1] to bit string [3] is the learning time. During this learning time, there is no predictive match of the input data. That is, the longer the learning time is, the lower the compression efficiency of the encoding is. The purpose of the specific example 1 is to reduce the learning time.
[0036]
The learning time is a time for processing the first line, and it is necessary to shorten one line as much as possible in order to reduce the learning time. To this end, it is necessary to appropriately select the relationship between the length of the bit string (the number of bits in the encoding processing unit) and the threshold number in the main scanning direction of the dither matrix.
[0037]
From FIG. 1A, the learning time is a time for processing 24 bits from the bit string [1] to the bit string [3]. These 24 bits are the least common multiple of the bit string (the number of bits of the encoding processing unit (here, 8)) and the threshold number (here, 12) of the dither matrix in the main scanning direction. That is, in order to shorten the learning time, it is necessary to select the relationship between the threshold number in the main scanning direction and the number of bits per unit of the encoding process so that the least common multiple is minimized. In order to satisfy this relationship, the following selection method is proposed.
[0038]
Let A be the threshold number in the main scanning direction of the dither matrix, B be the number of bits in the pixel data encoding processing unit, and C be the greatest common divisor of A and B. When A ≧ B, A is the case where B = C holds. When A <B, A that is a divisor of B is selected.
[0039]
This will be described with reference to a numerical example. In FIG. 1A, C = 4 because A = 12 and B = 8. A = B, and B = C must be satisfied. However, B = 8 and C = 4, which do not satisfy the condition. That is, FIG. 1A is an inappropriate selection. On the other hand, in FIG. 1B, C = 8 because A = 16 and B = 8. A = B, and B = C must be satisfied. Since B = 8 and C = 8, the condition is satisfied. That is, FIG. 1A is an appropriate choice.
[0040]
The points to be noted here are as follows. 1 (2) uses a larger dither matrix than FIG. 1 (1), but the learning time is shorter due to the proper selection. That is, in FIG. 2B, one line is constituted by the bit string [1] and the bit string [2]. As a result, the compression efficiency of the encoding is improved. Next, the case of A <B will be described with actual numerical examples.
[0041]
FIG. 3 is an explanatory diagram (part 2) of the learning time.
(3) is a case where the threshold value of the dither matrix is 6 in the main scanning direction and the encoding processing unit of the pixel data is 8 bits, and (4) is a case where the threshold value of the dither matrix is 4 in the main scanning direction and the pixel data is (5) is a case where the threshold value of the dither matrix is two in the main scanning direction and the coding processing unit of the pixel data is 8 bits.
[0042]
In FIG. 3C, C = 2 because A = 6 and B = 8. A <B, and A = C must be satisfied. However, A = 6 and C = 2, which do not satisfy the condition. That is, FIG. 3C is an inappropriate selection. On the other hand, in FIG. 3D, C = 4 because A = 4 and B = 8. A <B, and A = C must be satisfied. Since A = 4 and C = 4, the condition is satisfied. That is, FIG. 3D is an appropriate choice. In FIG. 3 (5), C = 2 because A = 2 and B = 8. A <B, and A = C must be satisfied. Since A = 2 and C = 2, the condition is satisfied. That is, FIG. 3 (5) is an appropriate choice.
[0043]
In the above description, only the case where the number of encoding processing units is 8 bits is described. However, it is needless to say that even if the number of encoding processing units is other than 8 bits, an appropriate selection can be made if the above condition is satisfied.
[0044]
<Effect of Specific Example 1>
As described above, the learning time is shortened by appropriately selecting the relationship between the threshold value in the main scanning direction of the dither matrix and the number of bits per unit of the encoding process, and consequently the encoding compression efficiency is improved. be able to.
[0045]
<Configuration of Specific Example 2>
As described above in (2) of the problem to be solved by the invention, the update of the prediction data in the prediction mode 1 should be performed only for the reference data one line before. However, if the other reference data in the same line also has a data value Y, the prediction table is updated with this data value Y as well. With this, we cannot expect correct prediction results. It is an object of the second embodiment to solve such a problem and promote efficient encoding.
[0046]
FIG. 4 is a block diagram of the configuration of the second embodiment.
As shown in FIG. 4, the information encoding apparatus according to the second embodiment includes an input processing unit 1, a buffer management unit 22, a prediction unit 23, a prediction table (upper 4 bits) 24, a prediction table (lower 4 bits) 25, a code generation unit 6, And a line buffer 7. Hereinafter, only the differences from the first embodiment will be described.
[0047]
The buffer management unit 22 is a unit that reads or writes data one line earlier in the line buffer 7 in response to a request from the prediction unit 23. Further, it is a part for recognizing the number of the bit being processed currently in one line and informing the prediction unit 23 of the number. With this recognition, the prediction unit 23 can recognize the number of the threshold of the dither matrix at which the bit currently being processed is sliced.
[0048]
When receiving the input data from the input processing unit 1, the prediction unit 23 receives the reference data from the line buffer 7 via the buffer management unit 22. This is a part for calculating prediction data using the reference data, the prediction table (upper 4 bits) 24, and the prediction table (lower 4 bits) 25. Further, it is a part for sending a prediction result (prediction match or prediction mismatch) to the code creation unit 6. Further, in the case of the prediction mode 1, when the prediction does not match, the data value of the prediction table is updated with the data value described in the input data. A sub-index bit calculating unit that calculates a sub-index bit (described later) from the reference data when the reference data is received, and a predicted data calculating unit that calculates predicted data from a predetermined sub-table specified by the sub-index. It is also a part to be provided.
[0049]
The prediction table (upper 4 bits) 24 is a set of a plurality of sub tables in which a sub index 3 bits is added to a 4-bit 16 address as an example. The sub-table is configured as follows. One byte of reference data is decomposed into upper 4 bits and lower 4 bits. The data value of the upper 4 bits of the reference data is set to 16 addresses. The prediction data is stored in each of the addresses. For example, when there is the latest progress in which the data value X has changed to the data value Y in the next line, the data value Y is described. However, since there is no past progress in the first first line, all 0s are described (this 0 is updated in the second and subsequent lines). Further, a plurality of sub-tables are provided corresponding to respective positions of a plurality of reference data arranged on one line. Three bits of a sub index are added to specify the plurality of sub tables.
[0050]
Like the prediction table (upper 4 bits) 24, the prediction table (lower 4 bits) 25 is a set of a plurality of sub-tables in which a 4-bit 16 address is added with a sub-index of 3 bits as an example. The sub-table is configured as follows. One byte of reference data is decomposed into upper 4 bits and lower 4 bits. The data value of the lower 4 bits of the reference data is set to 16 addresses. The prediction data is stored in each of the addresses. For example, when there is the latest progress in which the data value X has changed to the data value Y in the next line, the data value Y is described. However, in the first line, all 0s are described since there is no past progress (this 0 is updated in the second and subsequent lines). Further, a plurality of sub-tables are provided corresponding to respective positions of a plurality of reference data arranged on one line. Three bits of a sub index are added to specify the plurality of sub tables.
[0051]
The other components are the same as those in the first embodiment, and the description is omitted.
Next, the principle of calculating the sub-index will be described with reference to the drawings.
FIG. 5 is an explanatory diagram of the sub-index of the matrix 9.
(1) indicates the first row of the dither matrix having the threshold number 9 in the main scanning direction, and the leading value is indicated by an asterisk.
(2) is a diagram in which the first row of the dither matrix is arranged without gaps in the main scanning direction and an encoding processing unit of 8 bits is superimposed thereon.
(3) is a diagram for explaining the specification of a sub-index and a sub-table.
[0052]
As can be seen from (2), a line from the bit string [1] to the bit string [9], which is processed by the coding processing unit number of 8 bits using the dither matrix having the threshold number of 9 in the main scanning direction is one line. In the specific example 2, nine sub-tables corresponding to respective positions from the bit string [1] to the bit string [9] are provided. Therefore, the sub-table corresponding to the bit string [1] is not updated with data other than the input data corresponding to the bit string [1].
[0053]
(3) shows the relationship between the sub-table and the sub-index. In the order from the leftmost on the figure, u · index = 0 as a sub-index of the sub-table corresponding to the bit string [1], u · index = 1 as a sub-index of the sub-table corresponding to the bit string [2], and the bit string [3 ] As a sub-index of the sub-table corresponding to u! Index = 2, u.-index = 3 as a sub-index of the sub-table corresponding to the bit string [4], and u. index = 4, u · index = 5 as a sub-index of the sub-table corresponding to the bit string [6], u · index = 6 as a sub-index of the sub-table corresponding to the bit string [7], and a sub-table corresponding to the bit string [8] U · index = 7 as a sub-index of the table, The u · index = 7 as sub-index of the sub table corresponding to column (9), added respectively.
[0054]
As can be seen from FIG. 5 (3), it is decomposed into upper 4 bits and lower 4 bits. In the sub-table of u · index = 0, the head value (star) of the dither matrix is arranged at the leftmost position. In the sub-table of u · index = 1, the head value (star) of the dither matrix is placed second. Similarly, the u-index = 4 sub-table is the third sub-table, the u-index = 3 sub-table is the fourth sub-table, the u-index = 4 sub-table is the fifth sub-table, and the u-index = 4 sub-table In the sub-table with u.index = 5, the sub-table with u.index = 5 is arranged sixth, in the sub-table with u.index = 6 seventh, and in the sub-table with u.index = 7 eighth.
[0055]
When the head value (star mark) of the dither matrix is not included, it is determined that the shift is the same as the previous one, and the previous sub-index is added. The sub-table corresponding to the bit string [9] in the figure corresponds to the sub-table. The buffer management unit 22 recognizes the position of the head value (star) of the dither matrix and the threshold value of the dither matrix at which the bit being currently processed is data sliced. Therefore, by recognizing the threshold value of the first position of the encoding processing unit or recognizing where the position of the star is located in the encoding processing unit, the corresponding sub-index (u Index) can be easily detected.
[0056]
<Operation of Specific Example 2>
FIG. 6 is a flowchart of the operation of the second embodiment.
The operation of the information coding apparatus according to the specific example 2 will be described according to steps S (2) 1 to S (2) 13 on the drawing.
[0057]
Step S (2) 1
All parts in the device are initialized and start operation.
Step S (2) 2
The prediction unit 23 (FIG. 4) starts accepting data via the input processing unit 1 (FIG. 4). When input data for the first line is received, reference data is stored in the line buffer 7 (FIG. 4). Thereafter, the information encoding device starts normal encoding. The prediction unit 23 (FIG. 4) receives input data via the input processing unit 1 (FIG. 4). The reference data is received from the line buffer 7 (FIG. 4) via the buffer management unit 2 (FIG. 4). Here, [X] [Y] of the input data [X] [Y] and the reference data [X] [Y] on FIG. 6 indicate the positions of the data on the XY plane.
[0058]
Step S (2) 3
The sub-index bit calculation means of the prediction unit 23 (FIG. 4) calculates u · index from the data value of the reference data. This operation will be described again later using another drawing.
Step S (2) 4
It is determined whether or not the current process corresponds to mode 1, and if it corresponds to mode 1, the process proceeds to step S (2) 5, and if not, to step S (2) 6.
[0059]
Step S (2) 5
The prediction data calculation unit of the prediction unit 23 (FIG. 4) calculates a prediction table (upper 4 bits) 24 (FIG. 4) and a prediction table (lower 4 bits) based on the u · index calculated by the sub-index bit calculation unit. 25 (FIG. 4) to select a predetermined sub-table. The prediction data is calculated by searching this sub-table. This operation will be described again later using another drawing.
Step S (2) 6
Since this corresponds to prediction mode 2 (explained in the related art), the data value of the reference data is used as it is as prediction data.
[0060]
Step S (2) 7
The prediction unit 23 (FIG. 4) determines whether the input data and the prediction data match or does not match. If they match, the process proceeds to step S (2) 8. Goes to step S (2) 9.
Step S (2) 8
When the prediction unit 23 (FIG. 4) notifies the code generation unit 6 (FIG. 4) of the coincidence, the code generation unit 6 (FIG. 4) allocates a short code and transmits the code data.
[0061]
Step S (2) 9
When the prediction unit 23 (FIG. 4) notifies the code creation unit 6 (FIG. 4) of the mismatch, the code creation unit 6 (FIG. 4) adds the input data to the mismatched code and sends out the code data. Simultaneously, in the case of the prediction mode 1, the prediction unit 23 (FIG. 4) updates the data values of the prediction table (upper 4 bits) 24 (FIG. 4) and the prediction table (lower 4 bits) 25 with the data values of the input data.
[0062]
Step S (2) 10
The buffer management unit 22 (FIG. 4) controls the line buffer 7 (FIG. 4) to update the reference data with the input data.
The image information to be transmitted is processed over the entire XY plane by the return loop from step S (2) 11 to step S (2) 14 and step S (2) 2, and the flow ends.
[0063]
Next, step S (2) 3 will be described again with reference to another drawing.
The principle of the detection of the sub-index is already referred to by recognizing the threshold value of the first position of the coding processing unit, or by recognizing where the position of the star is located in the coding processing unit. FIG. 5 has already described that the corresponding sub-index (u · index) can be easily detected from the data.
[0064]
Here, an example of a flow in which the prediction unit 23 (FIG. 4) calculates the above step S (2) 3 will be described by actually applying the numerical values in FIG.
FIG. 7 is a flowchart of the sub-index bit calculation means.
In this flowchart, bcount is a counter that counts at which threshold of the dither matrix the bit being processed is sliced. However, in FIG. 5, the threshold value is represented by 1 to 9, but is represented by 0 to 8 for the convenience of arithmetic processing.
[0065]
As an example, assume that the prediction unit 23 (FIG. 4) has accepted the bit string [10] in FIG. As shown in the figure, the first data of the bit string [10] is sliced at the threshold 1 of the dither matrix. Therefore, bcount = 0. Hereinafter, u · index of the bit string [10] is calculated according to steps S (2) 15 to S (2) 20.
[0066]
Step S (2) 15
Add 8 to bcount. Therefore, bcount = 8.
Step S (2) 16
Compare bcount = 8 with the matrix length. Here, since bcount = 8 is smaller than the matrix length 9, the process proceeds to step S (2) 17.
[0067]
Step S (2) 17
It is determined whether or not bcount is 0. Here, since bcount = 8, the process proceeds to step S (2) 19.
Step S (2) 19
It is determined whether or not bcount is greater than 8. Here, since bcount = 8, the process proceeds to step S (2) 20.
[0068]
Step S (2) 20
The u-index is obtained as 8-bcount = u-index. Here, since bcount = 8, u · index = 0 is obtained, and the flow ends.
[0069]
In FIG. 5C, u · index of the prediction table of the upper 4 bits in which the first data is sliced by the threshold 1 of the dither matrix is 0, which matches the above calculation result.
Next, step S (2) 5 will be described again with reference to another drawing.
[0070]
FIG. 8 is a flowchart of the prediction data calculation means.
The prediction data calculation means of the prediction unit 23 (FIG. 4) calculates prediction data according to steps S (2) 21 to S (2) 24.
Here, in the figure, Est.Index1 is an index indicating the address of the prediction table (upper 4 bits) 24, and Est.Index2 is an index indicating the address of the prediction table (lower 4 bits) 25. “Refer” indicates reference data.
[0071]
Step S (2) 21
The address of the prediction table (upper 4 bits) is obtained by shifting the 3 bits of u · index to the left and shifting the reference data to the right by 4 bits to obtain an OR.
Step S (2) 22
By shifting the 3 bits of u-index leftward and masking the upper 4 bits of the reference data and performing an OR operation, the address of the prediction table (lower 4 bits) 25 is obtained.
[0072]
Step S (2) 23
The table is searched from the addresses obtained in steps S (2) 21 and S (2) 22.
Step S (2) 24
The flow ends with the value retrieved in step S (2) 23 as prediction data.
[0073]
The above description has been limited to the case where three bits of the sub-index are added to the prediction table. However, the invention is not limited to this example. That is, when one line is long, there is a case where it is not enough to add the sub-index of 3 bits. In that case, the number of bits may be further increased.
[0074]
Although the flowchart of the sub-index bit calculating means has been described with reference to FIG. 7, the sub-index bit calculating means of the present invention is not limited to this example. That is, similar to calculating by recognizing the threshold value of the first position of the encoding processing unit from the reference data, or by recognizing where the position of the star is located in the encoding processing unit. If it is a method, you may calculate using another algorithm.
[0075]
<Effect of Specific Example 2>
As described above, by providing a plurality of sub-tables to which different sub-indexes are added, overwriting (updating) of the prediction table can be avoided, and the prediction accuracy can be improved.
[0076]
<Specific example 3>
In the specific example 2, in order to avoid overwriting of the prediction table, a plurality of sub tables are provided by adding a sub index. In this case, the number of memories increased significantly. For example, in FIG. 4, 3 bits are added to a sub index in order to provide eight sub tables, and the prediction table is increased to 128 addresses. The specific example 3 aims at not increasing the address even if a plurality of sub tables are provided.
[0077]
FIG. 9 is a block diagram of the configuration of the third embodiment.
As shown in FIG. 9, the information encoding apparatus according to the third embodiment includes an input processing unit 1, a buffer management unit 22, a prediction unit 33, a prediction table (upper 4 bits) 34, a prediction table (lower 4 bits) 35, a code generation unit 6, And a line buffer 7. Hereinafter, only a portion different from the specific example 1 or the specific example 2 will be described.
[0078]
When receiving the input data from the input processing unit 1, the prediction unit 33 receives the reference data from the line buffer 7 via the buffer management unit 22. This is a part for calculating prediction data using the reference data, a prediction table (higher 4 bits) 34 and a prediction table (lower 4 bits) 35 described later. Further, it is a part for sending a prediction result (prediction match or prediction mismatch) to the code creation unit 6. Further, in the case of the prediction mode 1, when the prediction does not match, the data value of the prediction table is updated with the data value described in the input data. A reading area determining means for determining a reading area to be described later from the reference data when the reference data is received, a prediction data reading means for reading the prediction data using the reading area as a predetermined sub-table, and a prediction table when the prediction does not match. And a prediction table updating means for updating the information.
[0079]
The prediction table (upper 4 bits) 34 is, for example, a table of 11 bits and 16 addresses. The prediction data is stored in these 11 bits. There are provided a plurality of sub-tables each consisting of four consecutive bits from a predetermined bit position in the 11 bits. That is, a plurality of sub-tables are included in 11 bits specified by one address. The predetermined bit position required to specify this sub-table is determined by the reading area determining means of the prediction unit 33. The address is configured as follows. One byte of reference data is decomposed into upper 4 bits and lower 4 bits. The 16 upper 4-bit data values are set as the address. In a plurality of sub-tables at the same address, for example, when there is the latest progress in which the data value X has changed to the data value Y in the next line, the data value Y is described. However, in the first line, all 0s are described since there is no past progress (this 0 is updated in the second and subsequent lines). Further, a plurality of sub tables are provided corresponding to a plurality of reference data arranged on one line.
[0080]
The prediction table (lower 4 bits) 35 is, for example, a table of 11 bits and 16 addresses. The prediction data is stored in these 11 bits. There are provided a plurality of sub-tables each consisting of four consecutive bits from a predetermined bit position in the 11 bits. That is, a plurality of sub-tables are included in 11 bits specified by one address. The predetermined bit position required to specify this sub-table is determined by the reading area determining means of the prediction unit 33. The address is configured as follows. One byte of reference data is decomposed into upper 4 bits and lower 4 bits. The 16 data values of the lower 4 bits are set as the address. In a plurality of sub-tables at the same address, for example, when there is the latest progress in which the data value X has changed to the data value Y in the next line, the data value Y is described. However, in the first line, all 0s are described since there is no past progress (this 0 is updated in the second and subsequent lines). Further, a plurality of sub tables are provided corresponding to a plurality of reference data arranged on one line.
[0081]
The other components are the same as those of the first or second embodiment, and thus the description is omitted. Next, the basic principle of the reading area determining means will be described with reference to the drawings.
FIG. 10 is an explanatory diagram of a reading area of the matrix 9.
(1) indicates the first row of the dither matrix having the threshold number 9 in the main scanning direction, and the leading value is indicated by an asterisk.
(2) is a diagram in which the first row of the dither matrix is arranged without gaps in the main scanning direction, and an encoding processing unit of 8 bits is superimposed thereon.
FIG. 3C is a diagram illustrating the specification of a reading area and a sub table.
[0082]
As can be seen from (2), a line from the bit string [1] to the bit string [9], which is processed by the coding processing unit number of 8 bits using the dither matrix having the threshold number of 9 in the main scanning direction is one line. In the specific example 3, nine sub tables corresponding to the bit strings [1] to [9] are provided. These nine sub-tables correspond to nine stages of bit strings from top to bottom of (3). Therefore, the sub-table corresponding to the bit string [1] is not updated with data other than the input data corresponding to the bit string [1].
[0083]
(3) indicates the relationship between the sub-table and the reading area and the sub-index for specifying the sub-table. From the top of the figure, v · index = 0 is determined as a sub-index of the sub-table corresponding to the bit string [1]. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [1], both the upper 4 bits and the lower 4 bits are arranged from the eighth bit position in the prediction table. Furthermore, the first threshold of the dither matrix is at the first position.
[0084]
As the sub-index of the sub-table corresponding to the bit string [2], v.index = 1 is determined. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [2], both the upper 4 bits and the lower 4 bits are arranged from the bit position 7 in the prediction table. Furthermore, the first threshold of the dither matrix is at the second position.
[0085]
It is determined that v · index = 2 as a sub-index of the sub-table corresponding to the bit string [3]. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [3], both the upper 4 bits and the lower 4 bits are arranged from the sixth bit position in the prediction table. Further, the first threshold of the dither matrix is at the third position.
[0086]
It is determined that v.index = 3 as a sub-index of the sub-table corresponding to the bit string [4]. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [4], both the upper 4 bits and the lower 4 bits are arranged from the fifth bit position in the prediction table. Furthermore, the first threshold of the dither matrix is at the fourth position.
[0087]
It is determined that v · index = 4 as a sub-index of the sub-table corresponding to the bit string [5]. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [5], both the upper 4 bits and the lower 4 bits are arranged from the fourth bit position in the prediction table. Furthermore, the first threshold of the dither matrix is at the fifth position.
[0088]
It is determined that v.index = 5 as a sub-index of the sub-table corresponding to the bit string [6]. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [6], both the upper 4 bits and the lower 4 bits are arranged from the third bit position in the prediction table. Furthermore, the first threshold of the dither matrix is at the sixth position.
[0089]
As the sub-index of the sub-table corresponding to the bit string [7], v.index = 6 is determined. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [7], both the upper 4 bits and the lower 4 bits are arranged from the second bit position in the prediction table. Further, the first threshold of the dither matrix is at the seventh position.
[0090]
As the sub-index of the sub-table corresponding to the bit string [8], v.index = 7 is determined. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [8], both the upper 4 bits and the lower 4 bits are arranged from the first bit position in the prediction table. Further, the first threshold of the dither matrix is at the eighth position.
[0091]
It is determined that v.index = 7 as a sub-index of the sub-table corresponding to the bit string [9]. Here, it is divided into upper 4 bits and lower 4 bits. In the bit string [9], both the upper 4 bits and the lower 4 bits are arranged from the first bit position in the prediction table. Furthermore, the first threshold of the dither matrix is not included.
[0092]
Attention should be paid to the following points. In all the bit strings except the bit string [9] described in the last stage, the threshold value of the dither matrix is the same in all the vertical directions of the table. This means that 9 sub-tables having different read areas can be included in the same address 11 bits. Therefore, if the read area is moved based on the sub-index, data of a desired sub-table can be easily read. Also, the bit string [9] can be handled in the same manner because the data shift from the bit string [8] is the same as the other bit strings, so that it is not overwritten with the bit string [8].
[0093]
<Operation of Specific Example 3>
FIG. 11 is a flowchart of the operation of the third embodiment.
The operation of the information coding apparatus according to the third embodiment will be described with reference to the drawings.
However, the operation is different from the operation of the specific example 2 only in three steps of v · index calculation in step S (3) 1, prediction data reading in step S (3) 2, and prediction mismatch processing in step S (3) 3. . Since all other steps are the same as those in the specific example 2, only the above three steps will be described in detail with reference to other drawings, and description of the other steps will be omitted.
[0094]
FIG. 12 is a flowchart of the reading area determining means. This is a flow corresponding to the calculation of v · index in step S (3) 1.
In the figure, Est · index1 is the index (address) of the prediction data of the upper 4 bits, and Est · index2 is the index (address) of the prediction data of the lower 4 bits. Bmasc is information indicating the position of the reading area.
[0095]
Step S (3) 1-1
The prediction unit 33 (FIG. 9) decomposes the reference data into upper 4 bits and lower 4 bits, and stores the upper 4 bits in Est.index1 and the lower 4 bits in Est.index2.
[0096]
Step S (3) 1-2
The prediction unit 33 (FIG. 9) determines the sub-index (v · index) by recognizing, from the reference data, the position of the first threshold of the dither matrix in the bit string. The value of this v-index is stored in bmasc, and the flow ends. In this step, a reading area for searching a predetermined sub-table from the reference data is determined.
[0097]
FIG. 13 is a flowchart of the prediction data reading means. This is a flow corresponding to the prediction data reading in step S (3) 2. In the figure, temp1 and temp2 are portions that temporarily hold data.
Step S (3) 2-1
The prediction unit 33 (FIG. 9) reads 4-bit data from the 11 bits specified by the Est.index1 using the read area (bmasc) obtained in step S (3) 1-2 (FIG. 12). And temporarily store it in temp1. Similarly, 4-bit data is read out of 11 bits specified by Est.index2 and temporarily stored in temp2.
[0098]
Step S (3) 2-2
The prediction unit 33 (FIG. 9) shifts the data temporarily stored in temp1 to the right by the value of v · index (from 0 to 10). Similarly, the data temporarily stored in temp2 is shifted to the right by the value of v.index (from 0 to 10).
[0099]
Step S (3) 2-3
The data of temp1 is shifted left by 4 bits, and the data of temp2 is stored as it is.
Step S (3) 2-4
The flow ends with the data of temp1 as the prediction data of the upper 4 bits and the data of temp2 as the prediction data of the lower 4 bits.
[0100]
FIG. 14 is a flowchart of the prediction table updating means. This is a flow corresponding to the prediction mismatch processing in step S (3) 3. In the figure, current means input data.
Step S (3) 3-1
The prediction unit 33 (FIG. 9) reads 4-bit data from the 11 bits specified by the Est.index1 using the read area (bmasc) obtained in step S (3) 1-2 (FIG. 12). And temporarily store it in temp1. Similarly, 4-bit data is read out of 11 bits specified by Est.index2 and temporarily stored in temp2.
[0101]
Step S (3) 3-2
The prediction unit 33 (FIG. 9) shifts and reads the upper 4 bits of the input data to the right. This data is shifted left by v · index. The logical sum of this data and the data stored in temp1 in step S (3) 3-1 is calculated and stored again in temp1. Similarly, the lower 4 bits of the input data are taken, and this data is left shifted by v · index. The logical sum of this data and the data stored in temp2 in step S (3) 3-1 is calculated and stored again in temp2.
[0102]
Step S (3) 3-3
The prediction unit 33 (FIG. 9) overwrites the data stored in temp1 on the original position read in step S (3) 3-1 to finish updating the upper 4 bits. Similarly, the data stored in temp2 is overwritten on the original position read in step S (3) 3-1, and the updating of the lower 4 bits is completed.
[0103]
The above description has been limited to the case where the number of threshold values of the dither matrix in the main scanning direction is 9 and the encoding processing unit is 8 bits. However, the invention is not limited to this example. Even if the number of thresholds of the dither matrix and the number of bits of the encoding processing unit are different, it is possible to perform processing on the same principle.
[0104]
<Effect of Specific Example 3>
As described above, by including a plurality of sub-tables in 11 bits (an example) of the same address, the effect of the specific example 2 can be obtained without increasing the size of the memory.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram of learning time (No. 1).
FIG. 2 is a block diagram of a configuration of a specific example 1.
FIG. 3 is an explanatory diagram (part 2) of learning time.
FIG. 4 is a block diagram of a configuration of a specific example 2.
FIG. 5 is an explanatory diagram of a sub-index of a matrix 9;
FIG. 6 is a flowchart of an operation of a specific example 2.
FIG. 7 is a flowchart of a sub-index bit calculation unit.
FIG. 8 is a flowchart of a prediction data calculation unit.
FIG. 9 is a block diagram of a configuration of a specific example 3.
FIG. 10 is an explanatory diagram of a reading area of a matrix 9;
FIG. 11 is a flowchart of an operation of a specific example 3.
FIG. 12 is a flowchart of a reading area determining unit.
FIG. 13 is a flowchart of prediction data reading means.
FIG. 14 is a flowchart of a prediction table updating unit.
[Explanation of symbols]
1-16 Threshold of dither matrix
S (1) 1 to S (1) 10 steps
[1] to [10] Bit string (encoding processing unit)

Claims (4)

多値の画像データをディザマトリックスを用いて2値化し、所定のビット数単位で符号化して画像伝送する情報符号化方法であって、
前記ディザマトリックスの主走査方向の閾値数をA、前記所定のビット数をB、前記A及びBの最大公約数をCと置き、
A≧BのときB=Cが成立する前記Aを選択し、
A<BのときBの約数となる前記Aを選択することを特徴とする情報符号化方法。
An information encoding method for binarizing multi-valued image data using a dither matrix, encoding the image data in units of a predetermined number of bits, and transmitting the image,
The threshold number in the main scanning direction of the dither matrix is A, the predetermined number of bits is B, and the greatest common divisor of A and B is C,
When A ≧ B, select the above A where B = C holds,
An information encoding method comprising: selecting A which is a divisor of B when A <B.
多値の画像データをディザマトリックスを用いて2値化された符号化処理単位数のビット列からなる入力データと、この入力データの1ライン前に位置する前記ビット列からなる参照データとを受け入れて、該参照データの示すデータ値が過去の経過で1ライン後に変化する筈であるデータ値を予測データとして示す所定の予測テーブルから前記予測データを参照し、この予測データと前記入力データとを比較して予測の一致及び不一致を判定し、前記不一致であるとき前記予測データを前記入力データで更新する予測部を含む情報符号化装置であって、
前記1ラインは、複数個の前記ビット列からなり、
前記予測テーブルは、複数個の前記ビット列にそれぞれ対応するサブインデックスビットが付加された複数個のサブテーブルからなり、
前記予測部は、
前記参照データの前記1ライン中における位置から前記サブインデックスビットを算出するサブインデックスビット算出手段と、
該サブインデックスビットの指定する前記所定のサブテーブルから前記予測データを算出する予測データ算出手段とを備え、
前記不一致であるとき前記算出されたサブインデックスビットの指定するサブテーブルのみ前記予測データを前記入力データで更新することを特徴とする情報符号化装置。
By accepting input data consisting of a bit string of the number of encoding processing units obtained by binarizing multi-valued image data using a dither matrix and reference data consisting of the bit string located one line before the input data, The data value indicated by the reference data is referred to from a predetermined prediction table that indicates, as predicted data, a data value that should have changed after one line in the past, and the predicted data is compared with the input data. An information encoding device including a prediction unit that determines whether the prediction matches and does not match, and updates the prediction data with the input data when the mismatch occurs.
The one line includes a plurality of the bit strings,
The prediction table includes a plurality of sub-tables to which sub-index bits respectively corresponding to the plurality of bit strings are added,
The prediction unit includes:
Sub-index bit calculation means for calculating the sub-index bit from a position in the one line of the reference data,
Prediction data calculation means for calculating the prediction data from the predetermined sub-table specified by the sub-index bit,
The information encoding apparatus according to claim 1, wherein, when said mismatch is found, said prediction data is updated with said input data only in a sub-table designated by said calculated sub-index bit.
請求項2に記載の情報符号化装置において、
前記サブインデックスビットは、
複数個のビットからなることを特徴とする情報符号化装置。
The information encoding device according to claim 2,
The sub-index bits are
An information encoding device comprising a plurality of bits.
多値の画像データをディザマトリックスを用いて2値化された符号化処理単位数のビット列からなる入力データと、この入力データの1ライン前に位置する前記符号化処理単位数のビット列からなる参照データとを受け入れて、該参照データに基づいて、該参照データの示すデータ値が過去の経過で1ライン後に変化する筈であるデータ値を予測データとして示す所定の予測テーブルから予測データを参照し、この予測データと前記入力データとを比較して予測の一致及び不一致を判定して符号化し、該不一致であるとき前記予測データを前記入力データで更新する予測部を含む情報符号化装置であって、
前記1ラインは、複数個の前記符号化処理単位数のビット列からなり、
前記予測テーブルは前記符号化処理単位数のビット列よりも長いビット列からなり、
前記予測テーブル内に先頭ビットの位置を変えて読み取り領域が指定される複数個の前記符号化処理単位数のビット列にそれぞれ対応する複数個のサブテーブルを備え、
前記予測部は、
前記参照データから前記読み取り領域を指定する読み取り領域決定手段と、
該読み取り領域決定手段の指定する前記サブテーブルから前記予測データを読み出す予測データ読み出し手段と
前記不一致であるとき前記決定された読み取り領域の指定するビット範囲のみ前記予測データを前記入力データで更新する予測テーブル更新手段とを備えることを特徴とする情報符号化装置。
Input data consisting of a bit string of the number of coding processing units obtained by binarizing multi-valued image data using a dither matrix, and a reference consisting of a bit string of the number of coding processing units located one line before the input data. Data, and based on the reference data, refer to the prediction data from a predetermined prediction table that indicates, as prediction data, a data value that the data value indicated by the reference data should change one line later in the past. An information encoding device including a prediction unit that compares the prediction data with the input data to determine whether the prediction matches or does not match, encodes the data, and when the prediction does not match, updates the prediction data with the input data. hand,
The one line is composed of a plurality of bit strings of the number of the encoding processing units,
The prediction table is composed of a bit string longer than the bit string of the number of encoding units,
A plurality of sub-tables respectively corresponding to a plurality of the bit strings of the plurality of encoding processing units in which the read area is specified by changing the position of the first bit in the prediction table,
The prediction unit includes:
Reading area determining means for specifying the reading area from the reference data;
Prediction data reading means for reading the prediction data from the sub-table specified by the reading area determination means, and a prediction for updating the prediction data with the input data only in a bit range specified by the determined reading area when there is a mismatch. An information encoding device comprising: a table updating unit.
JP2002259707A 2002-09-05 2002-09-05 Information encoding method and apparatus Pending JP2004104208A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002259707A JP2004104208A (en) 2002-09-05 2002-09-05 Information encoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002259707A JP2004104208A (en) 2002-09-05 2002-09-05 Information encoding method and apparatus

Publications (1)

Publication Number Publication Date
JP2004104208A true JP2004104208A (en) 2004-04-02

Family

ID=32260623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002259707A Pending JP2004104208A (en) 2002-09-05 2002-09-05 Information encoding method and apparatus

Country Status (1)

Country Link
JP (1) JP2004104208A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075687A (en) * 2012-10-04 2014-04-24 Seiko Epson Corp Image data compression apparatus, image data decompression apparatus, display device, image processing system, image data compression method, and image data decompression method
KR20190111643A (en) * 2018-03-23 2019-10-02 삼성에스디에스 주식회사 Data processing method for decoding text data and data processing apparatus thereof
CN113630124A (en) * 2021-08-10 2021-11-09 优刻得科技股份有限公司 Method, system, device and medium for processing time sequence integer data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075687A (en) * 2012-10-04 2014-04-24 Seiko Epson Corp Image data compression apparatus, image data decompression apparatus, display device, image processing system, image data compression method, and image data decompression method
KR20190111643A (en) * 2018-03-23 2019-10-02 삼성에스디에스 주식회사 Data processing method for decoding text data and data processing apparatus thereof
KR102599980B1 (en) * 2018-03-23 2023-11-07 삼성에스디에스 주식회사 Data processing method for decoding text data and data processing apparatus thereof
CN113630124A (en) * 2021-08-10 2021-11-09 优刻得科技股份有限公司 Method, system, device and medium for processing time sequence integer data
CN113630124B (en) * 2021-08-10 2023-08-08 优刻得科技股份有限公司 Method, system, equipment and medium for processing time sequence integer data

Similar Documents

Publication Publication Date Title
EP3772853B1 (en) Method and device for point cloud coding
EP1318665B1 (en) Image processing apparatus and method, program, and storage medium
US20100322301A1 (en) Image processor, image generator and computer program
JPH08279049A (en) Outline tracing device of partition region
US20050168479A1 (en) Method and apparatus for color quantization of images employing a dynamic color map
US20060002614A1 (en) Raster-to-vector conversion process and apparatus
JP2004104208A (en) Information encoding method and apparatus
CN101282407B (en) Image processing apparatus and method
US6771273B2 (en) Image display apparatus
JPH04270564A (en) Serial picture data compression system having color information
US7920744B2 (en) Method and apparatus for graphical data compression
US6028962A (en) System and method for variable encoding based on image content
JP2000232587A (en) Image processor and image processing method
US6674912B2 (en) Data compression processing method and apparatus
KR100666129B1 (en) Compression method of geographic information data in geographic information system
US6882751B2 (en) Arithmetic decoding method and device and storage medium
US6912320B2 (en) Data decompressing method, data decompressing unit, and computer-readable storage medium storing data decompressing program
JP2002077637A (en) Apparatus and method of image coding
JPH0537789A (en) Picture processing unit
WO2022247704A1 (en) Predictive coding/decoding method and device for point cloud depth information
JPH0311883A (en) Decoding system for variable length code, and facsimile equipment and still picture transmission system
US6628296B1 (en) Method and a device for processing digitized image
JP2708252B2 (en) Image data compression method
JP4086481B2 (en) Arithmetic decoding method and apparatus, and storage medium
JPS6261427A (en) Coding system