JPH0675795A - ハードエラー発生度を低下させるためのグリフコードの論理的に独立した部分配列タイリング - Google Patents

ハードエラー発生度を低下させるためのグリフコードの論理的に独立した部分配列タイリング

Info

Publication number
JPH0675795A
JPH0675795A JP5056153A JP5615393A JPH0675795A JP H0675795 A JPH0675795 A JP H0675795A JP 5056153 A JP5056153 A JP 5056153A JP 5615393 A JP5615393 A JP 5615393A JP H0675795 A JPH0675795 A JP H0675795A
Authority
JP
Japan
Prior art keywords
code
parity
glyph
bits
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP5056153A
Other languages
English (en)
Inventor
David L Hecht
デビッド・エル・ヘクト
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.)
Xerox Corp
Original Assignee
Xerox 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 Xerox Corp filed Critical Xerox Corp
Publication of JPH0675795A publication Critical patent/JPH0675795A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【目的】 自己駆動グリフコードの回復不能なエラーの
発生度を低下させること。 【構成】 二次元コードに符号化された多ビットバイナ
リデータ記号を、これらの多ビットバイナリデータ記号
と不十分にしか相関していない予想バーストエラーパタ
ーンから発生する復号エラーから保護する方法であっ
て、データ記号のビットを予想エラーパターンに相関す
るこれらのビットの互いに素である被覆を提供する1セ
ットの固定ビット長記号にまとめ、記号セットに対して
記号志向のエラー訂正コードを演算して、予想エラーパ
ターンに相関する所定数のパリティ記号を提供し、そし
て、パリティ記号を符号化したものが予想エラーパター
ンに相関しているデータ記号およびパリティ記号を上記
コードに符号化する。

Description

【発明の詳細な説明】
【0001】本発明は、機械で読み取り可能なデジタル
情報を電子領域とハードコピー領域との間で相互に変換
するためのグリフ(glyph)コードに関するもので
ある。とくに、本発明は、自己駆動グリフコードの「ハ
ードエラー」(つまり、回復不能なエラー)の発生度を
低下させる方法および手段に関するものである。
【0002】自己駆動グリフコードは、電子領域とハー
ドコピー領域との間で機械で読み取り可能なさまざまな
情報(たとえば、機械制御命令、データ値、メモリポイ
ンタ、さらに実行可能な2進値など)を相互に同期をと
って転送するために開発された。工学的応用作業はいま
だ進行中であるが、これらのコードはハードコピー文書
およびコンピュータ制御電子文書処理システムを多かれ
少なかれ間断なく統合化するうえで一つの基本的な技術
になるであろう。
【0003】自己駆動グリフコードは、1グリフ当たり
1つまたは2つ以上のビットを符号化するために実現で
きることが知られている。自己駆動グリフコードはその
グリフに符号化されたビットの論理的順序を忠実に保存
する。なぜなら、これらのグリフは適当な記録媒体に対
して既知の順序および所定の空間的書式化規則に従って
読み書きされるからである。さらに、このようなコード
はそのコードを復号するのに必要なサンプルクロックも
提供する。なぜなら、このコードによって符号化される
各々のビットは、単ビット/グリフコードの場合は単独
あるいは多ビット/グリフコードの場合は単数又は複数
の付加ビットの組合せのいずれにしても、1個のグリフ
によって明示的に表現されるからである。いくつかの多
ビット/グリフコードは複数の独立したビットストリー
ムからビットを符号化するのに適している。
【0004】自己駆動グリフコードは、たとえ著しく劣
化していても、高い信頼性で復号できるグリフで構成さ
れるのが典型的である。しかし、実際にはグリフ復号エ
ラーが発生する可能性がある。なぜなら、グリフコード
の印字、複写および/あるいは通信中およびこれらのコ
ードが書き込まれている記録媒体の取り扱い中にグリフ
コードの劣化が発生するからである。たとえば、次の要
因の1つあるいは2つ以上によってグリフコードが劣化
して、そのグリフの1つまたは2つ以上のビットの信頼
性の高い復号が妨げられる可能性がある。その要因と
は、コードの白領域に黒(つまりON)ピクセルの、あ
るいはその逆の、でたらめ、あるいは系統的なパターン
を発生する画像ノイズ、典型としては走査プラテン上に
不透明な物質が存在するためにコード全体に垂直な(つ
まり処理方向の)黒い縞を発生するスキャナノイズ、コ
ードの黒の領域に白(OFF)ピクセルの、あるいはそ
の逆の水平縞を発生する伝送ノイズ、コードを歪ませる
機械的ノイズ、そしてコードの印字イメージに破線およ
び/あるいは薄い実線部分が発生するプリンタの不具合
などである。コードが書き込まれている記録媒体の不適
切な取り扱いによってもコードの画像の劣化が発生する
可能性があるが、そのような不適切な取り扱いによるグ
リフ復号エラーの幾何学的特性は予想が難しい。
【0005】自己駆動グリフコードの復号中に発生する
エラーの頻度を低下させるには、最も発生しやすいバー
ストエラーパターンによって破壊されるコード記号の数
を最小にすることが望ましいであろう。とくに、そのよ
うなコードの内容を、最も発生しやすいバーストエラー
パターンに対して符号化データを最大限保護するように
演算されたパリティ記号で保護すると有益であろう。
【0006】したがって、本発明によると、自己駆動グ
リフコードを二次元的なコードフィールドに書き込むと
き、あらかじめ定義されたバーストエラーパターンが予
期される。むしろ、この予期されたエラーパターンは、
最も確実性の高いバーストエラーパターンであるか、あ
るいは少なくとも統計的に有意なバーストエラーパター
ンである。任意のエラーパターンに注目することの利点
は、このコードで符号化される各々のメッセージビット
列のビットは、メッセージビットを予想エラーパターン
に本質的に相関させる固定ビット長の記号を分類するう
えで並べ直しが必要ならば、その符号化に先立って並べ
直すことができることである。そのような相関関係が存
在する場合、予想バーストエラーパターンの事例は比較
的わずかなエラー相関記号セットの記号しか破壊しな
い。したがって、そのような記号セットはメッセージビ
ットのエラー訂正符号化の計算に適している。なぜな
ら、そのような記号セットの記号は、比較的少数のパリ
ティ記号を符号化メッセージに付けることによって、予
想エラーパターンの事例に対して保護することができる
からである。グリフコードが複数のビット列をそのグリ
フに別々に符号化する場合、これらのビット列の各々に
ついて同一または異なるバーストエラーパターンを予想
することが可能になる。
【0007】図1は、本発明を使用すると利益が得られ
るであろうホストコンピュータシステムの機能概略図で
ある。
【0008】図2は、二次元自己駆動グリフコードが書
き込まれそれによって識別される形の部分図である。
【0009】図3は、垂直バーストエラーパターンによ
って劣化される二次元グリフコードの拡大図である。
【0010】図4は、垂直バーストエラーパターンに相
関する記号列にグリフが論理的に分類される図3のコー
ドを示す。
【0011】図5は、自己駆動グリフコードによってそ
れに隣接する矩形領域に写像される記号に符号化される
ビットを分類することによって発生するタイリングパタ
ーンを例示する。
【0012】図6は、発生することのできる別のタイリ
ングパターンを例示する。
【0013】図7は、垂直および水平バーストエラーパ
ターンの両方によって劣化する自己駆動グリフコードを
例示する。
【0014】図8は、垂直バーストエラーパターンに相
関する記号セットに分類され符号化された図7のコード
を示す。
【0015】図9は、垂直パリティ記号が付加された図
8のコードを示す。
【0016】図10は、グリフコードを本発明に従って
書き込むための手順を例示する流れ図である。
【0017】図11は、本発明に従って書き込まれたグ
リフコードを読み出すための手順を例示した流れ図であ
る。
【0018】図12は、図10の書き込み手順のための
エラー訂正コーディングを計算するために使用されるメ
モリ配列を例示する。
【0019】図13は、垂直および水平パリティ記号が
データバイトに付加された後の図12のメモリ配列を例
示する。
【0020】図14は、それぞれ図10および図11に
示された書き込みおよび読み出し手順を一般化したもの
を例示する。
【0021】図15から18は、さらに一般化したもの
を例示する。
【0022】以下、図を参照しながら説明する。ここで
はとくに図1を見ると、コンピュータシステム21があ
り、これは標準パーソナルコンピュータの一般的機能を
提供するのみならず、ファックス装置22のような遠隔
ファクシミリ端末とのファクシミリ通信用のホストサー
バとして機能するようにも構成されている。図示されて
いるように、コンピュータ21は、プロセッサ25と主
メモリ26およびキーボード31、表示装置32、大容
量メモリ33、プリンタ34、スキャナ35、ファック
スモデム36などの様々な入出力装置とのインタフェー
スをとるためのバス23を有している。下記の説明から
も明らかになるように、プロセッサ25は、プログラム
の制御の下で割り当てられタスクを実行するために必要
なメモリトランザクションと入出力トランザクションを
実行する。コンピュータ21はバスアーキテクチャおよ
び1基のプロセッサ25を有していることが例示されて
いるが、異なるアーキテクチャおよび/または複数のプ
ロセッサを有するものを含む様々なプログラム制御方式
コンピュータシステムを使用して本発明を実施すること
が可能である。
【0023】コンピュータシステム21とのファクシミ
リ通信は、ファックスモデム36および公衆交換電話網
のような適切な通信リンク38(破線で表示)を介して
行われる。端末22のような遠隔ファクシミリ端末の使
用者にコンピュータシステム21のファクシミリサーバ
機能に対する容易なアクセスを可能にするため、使用者
は図2に示されている書式39のような様々なあらかじ
め定義された標準およびカスタマイズ書式にアクセスで
きる。これらの書式の各々は、その書式の二次元コード
フィールド42に書き込まれる自己駆動グリフコード4
1によって一意的に識別される。
【0024】一つの具体例において、コードフィールド
42は所定のサイズ(高さ1バイト×幅5バイト)であ
り、この書式上であらかじめ定義された基準点43を基
準とした所定の位置に空間的に配置される。そうするこ
とにより、コードフィールド42を見つけることとその
内容を読み出すこととが簡単になるが、これらの書式の
コーディングは、所望するならより構造化の度合の低い
方法で実現することができるであろう。実際、これらの
書式によって提供される使用者インタフェースの詳細は
本発明の範囲を超えているが、これらの書式の識別とそ
れらの内容の解釈は、コンピュータシステム21に複数
の異なる書式を確実に区別するのに十分な精度をもって
ファックス送信されるこれらの書式に記述されているグ
リフコードを読み出すコンピュータシステム21の能力
に依存している。
【0025】下記の説明からも明らかになるように、本
質的にエラーのないグリフコードを、コンピュータシス
テム21によって局所的に発生された書式に書き込むこ
とは比較的容易である。このような書式は、一般的に
は、大容量メモリ33に記憶されている書式ファイルか
らプロセッサ25の制御によりプリンタ34によって印
字される。しかし、コンピュータシステム21にファッ
クス送信される書式に記述されているグリフコードを本
質的にエラーなしに復号することは、はるかにより困難
である。なぜなら、一般的にこれらのコードは様々な種
類の画像ノイズおよび送信ノイズによって劣化および/
または歪められるからである。
【0026】たとえば、図3に示されているように、グ
リフコード52を破壊する垂直方向および処理方向のバ
ーストエラー51がある。この例では、コード52が、
コードフィールド53に左から右、上から下に写像され
る標準8個のビットデータバイトに編成されたメッセー
ジビット列を符号化する。説明を理解しやすくするた
め、本図および下記の図のいくつかには、コード52の
グリフをしてバイナリメッセージを効果的に符号化せし
める図面上の区別が図示されていないが、”1”およ
び”0”の符号化に対し、コードフィールド53の縦軸
を基準としてそれぞれ約+45°および−45°の角度
でグリフが傾斜していることは理解されるであろう(図
2参照)。データバイト境界は図3に点線で示されてい
る。なぜなら、本図の目的は、垂直バーストエラー51
のような特定のバーストエラーパターンが比較的多数の
データバイトを破壊する恐れがあることを示すことにあ
るからである。
【0027】周知のReed−Solomon記号志向
コードのような様々なエラー訂正コードを使用して、グ
リフコード52で符号化されたデータを保護することが
できる。Reed−Solomonコードの場合、訂正
したい各々の記号エラーにつき、2個のパリティ記号を
グリフコード52に付加して、コード52の長さに著し
い影響を与える必要がある。この影響は、発生する可能
性のある記号エラーの個数を最小化するか、少なくとも
それを減少するための手段を講じれば、低下させること
が可能である。たとえば、図3において、垂直バースト
エラーパターン51は最大8個の異なるデータバイトを
破壊する。したがって、これらのデータバイトに対して
エラー訂正コードを演算する場合、エラーパターン51
によって発生したグリフ復号エラーの訂正には最大16
個のパリティ記号が必要になる。
【0028】しかし本発明によれば、グリフコード52
に都合よく符号化されるように受信されたビットは、再
順序付けを行なって予期されたバーストエラーパターン
に相関する固定ビット長記号のセットに分類することが
必要なら、符号化される前に、修正された順序に論理的
に分類される。この修正されたビット順序付けは、デー
タバイト内のメッセージビットの順序には影響を及ぼさ
ない。むしろ、このビット順序付けにより、既知の論理
的順序のビットが、(1)予想されたエラーパターンに
空間的に相関し(2)メッセージビットの互いに素な被
覆(つまり、記号セットはメッセージビットを包括する
がそのセットの2つ以上の記号にビットがなにも含まれ
ていない状態)を提供する固定ビット長記号のセットに
分類される。したがって、これらのメッセージビット
(および、当然、そのデータバイト)は、このエラー相
関記号セットに対して演算されたエラー訂正コードから
パリティ記号によって保護することができる。つまり、
このメッセージデータは、これらのエラー相関パリティ
記号のうちのわずかなものだけを符号化したものを符号
化されたメッセージデータに付加することにより、予想
エラーパターンから発生する復号エラーから保護するこ
とができる。なぜなら、そのようなエラーは比較的少数
の保護された記号および/またはパリティ記号にすべて
まとめて入れられるからである。
【0029】たとえば、エラーパターン51のような垂
直バーストエラーパターンが問題になるとき、図4に示
されているような種類のタイリングパターンに従ってグ
リフコード52に垂直に写像される固定ビット長記号の
セットのエラー訂正コーディングによってパリティ記号
が適切に演算される。むしろ、パリティ記号のグリフ符
号化したものは、エラー相関記号セット用のタイリング
パターンを拡張したものによってメッセージビットの符
号化に付加されるので、パリティ記号も予想エラーパタ
ーンに対して空間的に相関させられる。さらに、エラー
訂正コードの計算用に使用される記号サイズが選択さ
れ、コード52の横軸と縦軸の両方に沿って符号化され
るビット数の整数の約数になり、その結果、記号の空間
的な断片化が回避される。
【0030】下記の説明からも明らかになるように、符
号化されるビットは、別の種類のバーストエラーパター
ンに相関する記号セットに分類することができる。たと
えば、図5および6は、それぞれ一般的に矩形および交
差状のバーストエラーパターンに相関する固定ビット長
記号58、59および60に対するタイリングパターン
を示す。記号58の正方形写像は特に重要である。なぜ
なら、それは9ビットのグリフ符号化にわたり、エラー
訂正コードの計算に使用される記号のビットサイズが必
ずしもデータバイトのビットサイズに従う必要がないこ
とが確認されるからである。使用できるその他のタイリ
ングパターンの情報については、B.Grunbaum
およびG. C. Shepard の”Tilin
gsand Patterns”, Witt. Fr
eeman, 1989を参照すること。
【0031】1個だけのバーストエラーパターンの場
合、データバイトを符号化したものはコードフィールド
53内に空間的に方向付けできるので、それらは予想エ
ラーパターンに対して相関付けされる。それにより、ビ
ットを記号の第二のセットに分類する必要がなくなる。
実際、あるグリフコードにおけるデータバイトの符号化
したものが予想エラーパターンと相関するときは、コー
ドに符号化されたデータは、データバイトに対して演算
されたエラー訂正コードからパリティビットをコードに
含めることにより予想エラーパターンから発生する可能
性のある復号エラーから常に効果的に保護することがで
きる。しかし、相互の相関性が低い複数のバーストエラ
ーパターンの1つまたは2つ以上から発生する復号エラ
ーに対して符号化データを効率的に保護する必要がある
場合は、このような、データバイトを符号化したものの
写像は、問題に対する完全な解答ではない。
【0032】実際的には、グリフコードは、相互に十分
に相関していない複数のあらかじめ定義されたバースト
エラーパターンによって著しく(つまり、復号エラーが
発生するほど)劣化する危険性がある。たとえば、図7
に示されているように、水平および垂直バーストエラー
パターン62および63は、グリフコード64の復号に
おいて、両方ともエラーを発生する危険性を有してい
る。幸いなことに、反復処理を施して複数の異なるバー
ストエラーパターンに対してグリフ符号化データを効率
的に保護することが知られている。
【0033】より詳しく説明すると、この拡張エラー保
護方法の各反復において、グリフコード64へ符号化さ
れるメッセージビットは、予想エラーパターンの各々に
相関する固定ビット長記号に分類される。さらに、1つ
のエラー訂正コーディングがこのエラーパターン相関記
号セットに対して演算され、このエラーパターンから発
生する復号エラーに対してこのグリフ符号化データを保
護するためのあらかじめ選択された数のパリティ記号を
提供する。この方法が予想バーストエラーパターンの各
々に対して順次実行されるので、複数の異なる予想バー
ストエラーパターンに対してデータを保護するパリティ
記号がこの方法の連続した繰り返しの最中に演算され
る。
【0034】必要に応じて、上記の方法の順次繰り返し
中に発生するパリティ記号は、この方法の以前の繰り返
しから得られたパリティ記号と共に、グリフコードに符
号化されるメッセージビットに対して演算されるエラー
訂正コーディングによって提供することができる。その
場合、これらの後から演算されたパリティ記号は、メッ
セージデータを保護するだけでなく、以前に演算された
パリティ記号も保護する。たとえば、図7に示されてい
るように、グリフコード64に対する水平パリティ記号
は、グリフコード64へ符号化されるメッセージのデー
タバイトに対して演算されるエラー訂正コーディングに
よって提供される。これは当然の第一ステップである。
なぜなら、これらのデータバイトは左から右に、上から
下にコード64に対して水平写像されるからである(デ
ータバイトの符号化66a−66xを点線で示した輪郭
を参照)。下記の説明から明らかになるように、水平パ
リティ記号が、符号化されたバイト列の延長によってグ
リフコード64へここでも水平に写像されるように付加
される(水平パリティ記号の符号化67a−67mを点
線で示した輪郭を参照)。それ以降、図8に示されてい
るように、これらのメッセージビットと水平パリティ記
号のビットとは、垂直バーストエラーパターンに相関す
る固定ビット長記号のセットに分類される(この垂直に
相関した記号セットの符号化68a−68nを点線で示
した輪郭を参照)。この垂直に相関した記号セットは、
コード64の垂直パリティ記号の演算に使用される。つ
ぎに、図9に示されているように、これらの垂直パリテ
ィ記号は、グリフコード64へ符号化されるデータに付
加されるので、これらの垂直パリティ記号はコード64
を横に拡張する垂直に伸びた記号としてコード64へ写
像される(図8の垂直パリティの符号化69a−69z
を破線で示した輪郭を参照)。
【0035】あるいは上記とは別に、パリティ記号のす
べてを、グリフコード64へ符号化されるメッセージビ
ットだけに対して演算することが可能である。そうする
ことにより、複数の異なる潜在的なバーストエラーパタ
ーンに対するコード保護のためのパリティを相互に独立
して演算し、訂正を必要とする復号エラーの数を最小に
することができる。
【0036】本発明を、所定のバイト容量の二次元自己
駆動グリフコードの書き込みおよび読み出しに適用する
典型的な方法をそれぞれ図10および11に示す。図示
されているように、これらの方法は、複数のバーストエ
ラーパターンの1つまたは2つ以上によって発生する可
能性のある復号エラーから、グリフコードへコード化さ
れたデータを保護するように設計されているが、これら
の方法を簡単にして単一の予想バーストエラーパターン
の場合をカバーすることが可能であること、またこれら
の方法を修正して以前に演算されたパリティ記号を以後
に演算されたパリティ記号で保護することが可能である
ことは明らかである。
【0037】図10に示されているように、区分けされ
た、i×jビットアドレス指定可能メモリ配列71が、
グリフコードの書き込みに備えて初期化される。メモリ
配列71の分割はそのiおよびjアドレスポインタをプ
ログラミングすることで実現されるので、メモリ配列7
1の所定のセクタは、データバイトと、グリフコードに
よって符号化される異なる複数のセットのパリティ記号
の各々とに対して予約される。たとえば、図12および
13は、40バイトのメモリ配列71を分割して26個
のデータバイト、10個の水平パリティバイトおよび4
個の垂直パリティバイトを収容する例を示す(とくに図
13を参照)。この場合、データ記号およびパリティ記
号は、それぞれ長さが1バイト(つまり8ビット)なの
で、メモリ配列71は8×40の配列になる(図示され
ているように、この配列の行と列はそれぞれ1ビットと
4ビットである)。つまり、メモリ配列71は水平およ
び垂直方向とも記号サイズの整数倍である。ただし、こ
の特定の実施例においては、なんらかの断片化が存在す
る。標準Reed−Solomonコードの使用に伴う
通常の2:1オーバヘッド要因については、10個の水
平パリティ記号と4個の垂直パリティ記号で図13に従
って配置されたコードを1列のビットまたは2行のビッ
トの喪失に対して十分に保護できることが明らかであ
る。
【0038】この例では、複数の異なる予想バーストエ
ラーパターンを扱うために提供される複数のパリティ保
護は互いに独立しているので、任意のパリティ記号の復
号中に発生したエラーは、複数のエラー訂正コーディン
グのうちの1つだけのエラー訂正力に影響を与える。こ
の独立性を達成するために、メモリ配列71はそのすべ
てのビットを同じ定数値(つまり、すべて”1”または
すべて”0”)に初期化される。
【0039】メモリ配列71の初期化に続き、所望の数
のデータバイト(本例では26)が既知の論理ビット順
序でデータ源から72においてそのデータセクタ73
(図12)に転送される。つぎに、メモリ配列71が複
数の所定のスキャンパターンに順番に従って75におい
てスキャンされる。これらのパターンの各々は、予想バ
ーストエラーパターンの各々に相関するように選択され
る。これらのスキャンを実行に際して、メモリ配列71
のiおよびjアドレスポインタがプログラムの制御によ
って同期的に増分され、メモリ配列71を連続スキャン
パターンに従ってビット単位で読み出す。
【0040】メモリ配列71の各々のスキャンは、77
におけるように1セットの記号を形成し、これらの記号
はメモリ配列71の内容の互いに素な被覆になるだけで
なく、予想バーストエラーパターンの各々と相関する。
このようにして、この記号セットに対してエラー訂正コ
ーディングが実行され、この記号セットの相関対象とな
るバーストエラーパターンの所望のパリティ記号数が演
算され、しかる後にこれらのパリティ記号は78におけ
るように記憶される。79において、さらに別のバース
トエラーパターンを演算すべきであると判断された場
合、該当する次のバーストエラーパターンのスキャンパ
ターンに基づいてこの手順が81において繰り返され
る。しかし、79においてすべてのパリティが演算され
たと判断された場合、累積したパリティ記号を記憶装置
から取り出し、それらをそれらのために予約されたメモ
リ配列71のセクタ82および83(図13)に書き込
むことにより、81においてデータバイトに付加するこ
とができる。以後、メモリ配列71の内容は、85にお
いて所定の順序でビット単位に符号化され、このメモリ
配列の内容を自己駆動グリフコードに符号化したもの
を、86において適当な記録媒体上のi×jのグリフコ
ードフィールドに書き込む。
【0041】図11を参照すると、読み出し手順が書き
込み手順を補足していることがわかる。より詳細には、
グリフコードのピクセルマップ画像が91において入力
スキャナ(図示されていない)などによってメモリに読
み込まれ、そして個々のグリフに対する復号値が92に
おいて決定される。グリフコード内のこれらのデータバ
イトおよびパリティ記号の位置はすでに知られているの
で(図13参照)、その情報を93において使用してこ
れらの複数の異なる記号セットを相互に分離して、それ
ぞれの記号セットの復号値を別々にアドレス指定可能な
メモリ位置に格納することができる。
【0042】訂正可能な復号エラーの訂正を行なうた
め、書き込み手順のメモリ配列初期化、データ転送およ
びスキャンステップ71、72および75が、それぞれ
101、102および103において実質的に等しく繰
り返される。各々のスキャン103により、予想バース
トエラーパターンの各々に相関する記号列が作成される
ので、その特定のエラーパターンに対するパリティ記号
が、存在する可能性のあるエラーを訂正する準備とし
て、105においてこの記号列に付加されるなどして関
連付けられる。エラー訂正手順106によって107に
おいて正しいと判断されたデータが返されると、それら
のデータバイトが108において読み出され、符号化さ
れたメッセージが再構成される。他方、107において
これらのこれらの復号エラーが訂正可能でないことが判
明した場合、次のスキャンパターンを使用してこの手順
が111において繰り返される。すべてのスキャンパタ
ーンが試された後でまだ復号エラーが存在していること
が112において判明した場合、この手順を終了する前
に114においてエラーフラグが設定される。
【0043】図14は、図10および11に示されてい
るグリフコード書き込みおよび読み出し手順を一般化し
たものを例示する。これは、これらの手順が、自己駆動
グリフコードに符号化されたデータを2つ以上の潜在的
なバーストエラーパターンに対して別々に保護するのに
使用できることを示している。さらに、コードフィール
ド(つまり、メモリ配列をグリフコードにしたもの)を
必要に応じて分割して、連続したまたは分散したデータ
セクタおよび連続したまたは分散したパリティセクタを
提供できることが明らかである。詳しく説明すると、本
実施例においては、データバイトは、高さ2ビット×幅
1バイトのデータブロック112における8ビット×4
8ビット・バイトに整列された配列111内で垂直およ
び水平に分配される。この配列のデータブロック112
に対して演算されたパリティ記号は、データブロック1
12に対して隣接水平関係になるように分配されて符号
化される。他方、配列112の水平行に対して演算され
たパリティ記号は、データブロック112から垂直にオ
フセットされた行に符号化される。したがって、配列1
11とその内容をグリフコードにしたもの(図示しな
い)との間に1:1の写像が存在する場合、最大16個
のブロック相関パリティ記号と最大16個の水平パリテ
ィ記号とをグリフコードに符号化することができる。
【0044】この一般化をさらに推し進めることが考え
られる。そのような一層の一般化のための便宜として、
「仮想二次元マトリクス」を、その中に実際のメッセー
ジデータが1セットのパリティバイトを演算するために
埋め込まれるマトリクスと定義する。たとえば、上記の
メモリ配列71は、印字されたグリフコードに次元的に
等しい仮想二次元マトリクスの一例である。この仮想二
次元マトリクスは一般的に、パリティバイトを演算する
のに使用される特定のスキャン順序を基準としてバイト
整列するようにセットアップする。
【0045】この考えを念頭に置いて、下記の一般化が
提案される: 1. パリティバイトを計算するためにメッセージデー
タが埋め込まれる仮想二次元マトリクスは、印字グリフ
パターンの実際のサイズに対して特定の関係を有する必
要はない。唯一の制限は、仮想二次元マトリクスと実際
の印字パターンは両方ともメッセージビットを既知の関
係において相互に有していることである(典型的には同
一位置であるが、常にそうであるとは限らない)。メッ
セージに対して複数の互いに独立したエラー訂正保護を
与えるため、メッセージデータ以外の位置にあるビット
は、エラー訂正符号化および復号に対し既知の定数に設
定しなければならない。 2. パリティバイトの計算に使用される仮想二次元マ
トリクスは、計算される各々のセットのパリティバイト
に対し異なっていてもよい。 3. 実際の印字パターンは、メッセージデータでもな
くパリティでもないビットを含むことができる。 4. 印字グリフコードの幾何図形的配列は、埋め込み
ビットを符号化パリティビットに加え、保護モードにお
いて一連のエラー(たとえば一連の垂直エラー)から複
数のパリティバイトが破壊されるのを回避するような種
類のバイト整列を規定する。
【0046】上記1から4の説明を図15から図18に
示す。
【0047】図15は、8バイト(前述の場合は4バイ
ト)の垂直パリティが必要であることが判明し、符号化
条件を合計44バイトに拡張するという前提に基づいて
いる。このようなパリティバイトは、たとえば、40バ
イトもしくは48バイトの仮想二次元マトリクスに基づ
いて計算することができる。したがって、仮想二次元マ
トリクス121は実際の印字グリフパターンの部分集合
であるか、もしくは超集合である。図16は本例をさら
に拡張したものを示し、水平および垂直パリティが、最
小バイト整列矩形部分領域を介して44個のデータバイ
トに対して演算されることを仮定している。これらの条
件下では、水平パリティは仮想二次元マトリクスの合計
30バイト(40ビット×6ビット)を使用して演算す
ることができ、他方、垂直パリティは36バイト(仮想
二次元マトリクスの36ビット×8ビット)を使用して
演算することができる。これらの30バイトおよび36
バイトの仮想二次元マトリクスは両方とも40ビット×
8ビットのグリフコード符号化の部分集合である。
【0048】図17は、上記の一般化1、2、3がすべ
て考慮された場合を示す。この例では、これらの24バ
イトのメッセージデータおよび目標は、最大2つの誤っ
た行または2つの誤った列を訂正することである。この
データを幅32ビットおよび高さ6ビットのパターンに
配置すると、1行は4バイトのデータになる。2つの誤
った行(誤った8バイト)を訂正するには、16バイト
の水平パリティビットが必要になる。これらの16バイ
トは最終的にはメッセージデータの下に水平に4行で配
置することができる。さらに、2つの誤った列のデータ
を訂正するには、データにさらに2行を埋め込んで、垂
直バイト整列を行なう。そうすれば、つぎに4バイトの
垂直パリティを計算することができる。これらの垂直パ
リティバイトは、最終的にはメッセージデータの右側の
4列に垂直に配列されるので、グリフコードパターンの
最終的配置は36ビット×10ビットになる。ここで下
記に注意すること: (a)16バイトの水平パリティの計算には32ビット
×6ビットのサイズの仮想二次元マトリクスが使用され
た。 (b)4バイトの垂直パリティの計算には32ビット×
8ビットのサイズの仮想二次元マトリクスが使用され
た。 (c)水平および垂直パリティバイトがそれぞれ水平お
よび垂直にグリフコードの中へ写像された。 (d)グリフコードの右下隅にはメッセージデータでも
なくパリティでもない8個の要素が4ビット×2ビット
の矩形の中に存在する。これらの位置に印字されたグリ
フは任意とすることができる。
【0049】図18は上記一般化をさらに変化させたも
のを示す。ここで、 (a)垂直パリティの計算に使用された仮想二次元マト
リクスは、グリフコードへ符号化されるビットパターン
の部分集合でもなければ超集合でもない。 (b)垂直パリティビットが埋め込みビットと共に配置
され、バイト整列が行われる。
【0050】更に詳しく説明すると、この場合、12バ
イトのメッセージデータが存在する。目標は、1つの誤
った行および1つの誤った列を訂正し、メッセージデー
タを24×4ビットの矩形ブロックに配置し、そして2
8×6ビットのグリフ配置パターンを使用することであ
る。この目標を達成するために、 (i)24ビット×4ビットのサイズの仮想二次元マト
リクスを使用して6バイトの水平パリティを計算するこ
とができる。 (ii)24ビット×8ビットのサイズの仮想二次元マ
トリクスを使用して2バイトの垂直パリティを計算する
ことができる。 (iii)垂直パリティバイトを垂直整列するには、埋
め込みビットが加えられるが、これらのビットは任意で
あり、復号過程で無視される(斜線の部分で示されてい
るように、2列にこれらの埋め込みビットの4つが存在
する)。さらに、これらの追加ビットはメッセージデー
タの右側の4つの6ビット列内の2つの垂直パリティを
符号化することで適応化される。
【0051】したがって、グリフコードデータへ符号化
されたビットパターンは28×6ビットになる。
【図面の簡単な説明】
【図1】本発明を使用すると利益が得られるであろうホ
ストコンピュータシステムの機能概略図である。
【図2】二次元自己駆動グリフコードが書き込まれそれ
によって識別される形の部分図である。
【図3】垂直バーストエラーパターンによって劣化され
る二次元グリフコードの拡大図である。
【図4】垂直バーストエラーパターンに相関する記号列
にグリフが論理的に分類される図3のコードを示す。
【図5】自己駆動グリフコードによってそれに隣接する
矩形領域に写像される記号に符号化されるビットを分類
することによって発生するタイリングパターンを例示す
る。
【図6】発生することのできる別のタイリングパターン
を例示する。
【図7】垂直および水平バーストエラーパターンの両方
によって劣化する自己駆動グリフコードを例示する。
【図8】垂直バーストエラーパターンに相関する記号セ
ットに分類され符号化された図7のコードを示す。
【図9】垂直パリティ記号が付加された図8のコードを
示す。
【図10】グリフコードを本発明に従って書き込むため
の手順を例示する流れ図である。
【図11】本発明に従って書き込まれたグリフコードを
読み出すための手順を例示した流れ図である。
【図12】図10の書き込み手順のためのエラー訂正コ
ーディングを計算するために使用されるメモリ配列を例
示する。
【図13】垂直および水平パリティ記号がデータバイト
に付加された後の図12のメモリ配列を例示する。
【図14】それぞれ図10および図11に示された書き
込みおよび読み出し手順を一般化したものを例示する。
【図15】さらに一般化した例を例示する。
【図16】さらに一般化した他の例を例示する。
【図17】さらに一般化したさらに他の例を例示する。
【図18】さらに一般化したさらに他の例を例示する。
【符号の説明】
21…コンピュータシステム、22…ファックス装置、
23…バス、25…プロセッサ、26…主メモリ、31
…キーボード、32…表示装置、33…大容量メモリ、
34…プリンタ、35…スキャナ、36…ファックスモ
デム、38…通信リンク、39…書式、41…グリフコ
ード、42…コードフィールド、43…基準点、51…
バーストエラー、52…グリフコード、53…コードフ
ィールド、58,59,60…固定ビット長記号、6
2,63…エラーパターン,64…グリフコード,71
…メモリ配列,73…データセクタ,82,83…セク

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 二次元コードに符号化された多ビットバ
    イナリデータ記号を、これらの多ビットバイナリデータ
    記号と不十分にしか相関していない予想バーストエラー
    パターンから発生する復号エラーから保護する方法であ
    って:上記データ記号のビットを上記予想エラーパター
    ンに相関するこれらのビットの互いに素である被覆を提
    供する1セットの固定ビット長記号にまとめ;上記記号
    セットに対して記号志向のエラー訂正コードを演算し
    て、上記予想エラーパターンに相関する所定数のパリテ
    ィ記号を提供し;そして上記パリティ記号を符号化した
    ものが上記予想エラーパターンに相関している上記デー
    タ記号および上記パリティ記号を上記コードに符号化す
    ることからなる上記方法。
JP5056153A 1992-03-20 1993-03-16 ハードエラー発生度を低下させるためのグリフコードの論理的に独立した部分配列タイリング Withdrawn JPH0675795A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85600292A 1992-03-20 1992-03-20
US856002 1992-03-20

Publications (1)

Publication Number Publication Date
JPH0675795A true JPH0675795A (ja) 1994-03-18

Family

ID=25322662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5056153A Withdrawn JPH0675795A (ja) 1992-03-20 1993-03-16 ハードエラー発生度を低下させるためのグリフコードの論理的に独立した部分配列タイリング

Country Status (1)

Country Link
JP (1) JPH0675795A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7387261B2 (en) 2005-08-24 2008-06-17 Fuji Xerox Co., Ltd. Image forming apparatus and image forming method
US7770803B2 (en) 2005-08-01 2010-08-10 Fuji Xerox Co., Ltd. Code pattern image generation apparatus and method, code pattern image reader apparatus and method, and code pattern image medium
US8599401B2 (en) 2010-11-04 2013-12-03 Fuji Xerox Co., Ltd. Image processing device, image processing system, and computer readable medium
US8649055B2 (en) 2010-11-01 2014-02-11 Fuji Xerox Co., Ltd. Image processing apparatus and computer readable medium
US8687919B2 (en) 2011-01-20 2014-04-01 Fuji Xerox Co., Ltd. Image processing apparatus, computer readable medium, and image processing method
US8854322B2 (en) 2011-01-14 2014-10-07 Fuji Xerox Co., Ltd. Image processing apparatus, computer readable medium, and image processing method
US9171218B2 (en) 2011-11-24 2015-10-27 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method, and computer readable medium that recognize overlapping elements in handwritten input

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7770803B2 (en) 2005-08-01 2010-08-10 Fuji Xerox Co., Ltd. Code pattern image generation apparatus and method, code pattern image reader apparatus and method, and code pattern image medium
US7387261B2 (en) 2005-08-24 2008-06-17 Fuji Xerox Co., Ltd. Image forming apparatus and image forming method
US8649055B2 (en) 2010-11-01 2014-02-11 Fuji Xerox Co., Ltd. Image processing apparatus and computer readable medium
US8599401B2 (en) 2010-11-04 2013-12-03 Fuji Xerox Co., Ltd. Image processing device, image processing system, and computer readable medium
US8854322B2 (en) 2011-01-14 2014-10-07 Fuji Xerox Co., Ltd. Image processing apparatus, computer readable medium, and image processing method
US8687919B2 (en) 2011-01-20 2014-04-01 Fuji Xerox Co., Ltd. Image processing apparatus, computer readable medium, and image processing method
US9171218B2 (en) 2011-11-24 2015-10-27 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method, and computer readable medium that recognize overlapping elements in handwritten input

Similar Documents

Publication Publication Date Title
US5771245A (en) Process for independently protecting two dimensional codes from one or more burst errors patterns
JP3643196B2 (ja) 印刷媒体に印刷する情報をエンコードする方法、印刷媒体に印刷された情報をデコードする方法、および2次元データバーコード
US7198194B2 (en) Two-dimensional code having superior decoding properties making it possible to control the level of error correcting codes, and a method for encoding and decoding the same
US7770803B2 (en) Code pattern image generation apparatus and method, code pattern image reader apparatus and method, and code pattern image medium
US7387261B2 (en) Image forming apparatus and image forming method
US7857405B2 (en) Method of mapping error-detection and redundant encoded data to an image
US7900846B2 (en) Infra-red data structure printed on a photograph
JP2021047690A (ja) メモリシステム
EP0458468B1 (en) A multi-level error correction system
AU2007254619B2 (en) Barcode removal
US7460278B2 (en) 3-Dimensional dot code for paper storage
US7747925B2 (en) Apparatus and method for error correction code striping
US6641051B1 (en) System for embedded digital data that allows embedding of data around known obstructions
JPH0675795A (ja) ハードエラー発生度を低下させるためのグリフコードの論理的に独立した部分配列タイリング
US6126203A (en) Machine-readable checks
JPH06103390A (ja) 多重バーストエラーパターンからの二次元コードの保護
EP0578433B1 (en) Error and loss correction in a data base stored on a two dimensional medium and method
US5778011A (en) Method and apparatus for writing and protecting against random and cluster errors in image blocks
US6419162B1 (en) Maximizing data capacity for embedded data blocks with occlusions therein
US6615384B1 (en) Encoding/decoding method and apparatus and disk storage device
US6604218B1 (en) Data encoding apparatus and data decoding apparatus
JP2000269824A (ja) データ符号化装置及びデータ復号化装置
AU2004202957B2 (en) Data storage on photographs
AU2007254663A1 (en) Efficient shuffling
JPH07114371B2 (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: 20000530