JPH07240720A - チャネル変調方法、誤り訂正方法、状態マシン生成方法、コーディング方法、チャネル変調装置、誤り訂正装置 - Google Patents

チャネル変調方法、誤り訂正方法、状態マシン生成方法、コーディング方法、チャネル変調装置、誤り訂正装置

Info

Publication number
JPH07240720A
JPH07240720A JP6229982A JP22998294A JPH07240720A JP H07240720 A JPH07240720 A JP H07240720A JP 6229982 A JP6229982 A JP 6229982A JP 22998294 A JP22998294 A JP 22998294A JP H07240720 A JPH07240720 A JP H07240720A
Authority
JP
Japan
Prior art keywords
transition
output
input
bits
state
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
JP6229982A
Other languages
English (en)
Inventor
Dei Aren Jieimusu
ディ アレン ジェイムス
Goomitsushiyu Maikeru
ゴーミッシュ マイケル
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JPH07240720A publication Critical patent/JPH07240720A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/31Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining coding for error detection or correction and efficient use of the spectrum
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【目的】 効率的・単純なバイナリコーダを提供する。 【構成】 エンコーダロジック400は1つの有限状態
マシンからなり、同有限状態マシンは現在状態403と
入力ビット401とを受け取り、0個以上の出力ビット
402を出すとともに、次の状態を指定するビットも発
生する。この次状態の出力はフィードバックされ、次の
入力ビット401のための現在状態403となる。有限
状態マシンの各状態は1つ遷移ペアを有する。入力ビッ
トの値に応じて該当状態の遷移ペアの一方の遷移が選ば
れ、それに関係付けられたビットストリーム(402)
が送出される。この出力ビットストリームは例えば、入
力ビットストリーム(401)にチャネルコード化、圧
縮または誤り訂正コード化の1つあるいは2つ以上の処
理を施したものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ圧縮、特にバイナ
リ・エントロピー・コーダの分野に関する。より具体的
には、本発明はチャネル変調や誤り訂正と、それに関連
した状態マシンの分野に関する。
【0002】
【従来の技術】データ圧縮は、大量のデータの記憶及び
伝送のための非常に有用なツールである。例えば、文書
のファクシミリ伝送のような画像伝送に必要な時間は、
圧縮を利用して画像の伝送に必要なビット数を減らす
と、飛躍的に減少する。従来より、多様なデータ圧縮技
術がある。
【0003】どの圧縮装置も、ある対応した伸長装置と
関係付けられている。通常、圧縮装置が分かれば、使用
すべき伸長装置を推定できる。圧縮装置でエンコーディ
ングを行なうために使用されるアルゴリズムは、圧縮文
書の一部として送されるか、あるいは、伸長装置側で推
定可能でなければならない。
【0004】具体的に述べれば、エントロピー・コーデ
ィングにおいては、”入力”シンボルの系列<t1,t
2,...,tm>は通常、データのサンプルまたは量子化さ
れた誤差値であるが、これらは”出力”符号語の系列<
s1,s2,...,sn>によって確定的に置き換え可能であ
り、これは次の時間関数で示される。
【0005】
【数1】
【0006】したがって、確定的な逆(再生)関数が存
在する。すなわち
【0007】
【数2】
【0008】この種のエントロピーコードfは、瞬時プ
ロダクションルール(instantaneousproduction rule
s)の集合に基づいて作ることができる。これらルール
のそれぞれを適用した結果として、0個または1個以上
の出力トークンからなる順序系列(ordered sequence)
が生成される。ただし、出力トークン数は通常、1個以
上である。
【0009】ある種の圧縮装置においては、入力ファイ
ルもしくはデータセットは、デシジョンモデル(decisi
on model)の支配下でデシジョンの系列に変換される。
各デシジョンは、それに関係したある確率を持ち、この
確率に基づいて出力コードが生成されて圧縮ファイルに
追加される。これらのエンコーディング装置を実現する
ため、圧縮装置は3つのパーツ、すなわちデシジョンモ
デル、確率推定方法及びビットストリーム・ジェネレー
タ(bit-stream generator)を持つ。デシジョンモデル
は、入力データを受け取り、それをデシジョンの集合に
変換する。圧縮装置は、このデジジョン集合をデータを
エンコードするために用いる。確率推定方法は、各デシ
ジョンの確率の推定値を生成するための手続き(プロシ
ージャ)である。ビットストリーム・ジェネレータは、
圧縮データセットもしくは圧縮ファイルとなる出力コー
ドを生成するための、最終的なビットストリーム・エン
コーディングを行なう。圧縮は、デシジョンモデルまた
は確率推定方法の一方で、あるいは、その両方で、効果
的に行なうことができる。
【0010】広く利用されている圧縮法の一つが、算術
コーディングである。算術コーディングは、データのス
トリング(すなわち”メッセージ”)を、元のメッセー
ジを復元できるようにコードストリングに変換するもの
で、エンコーディング及びデコーディングのアルゴリズ
ムは、このコードストリングに対して算術演算を行な
う。算術エンコーディングに関しては、Glenn G.Lan
gdon,Jr.,”AnIntroductionto Arithmetic Cod
ing”,IBM Journal of Research andDevelopmen
t,Vol.28,no.2,(March 1984)を参照され
たい。
【0011】算術コーディングにおいては、メッセージ
を表わすコードは0と1の間の数の1つの区間(interv
al)によって表現される。メッセージ中のシンボルの数
が増加するにつれて、メッセージを表わす区間が小さく
なるので、その区間を表わすのに必要なビット数が増加
する。最初は、メッセージの区間は0と1の間である
[0,1)。メッセージの各シンボルが処理されるにし
たがい、その区間はシンボルの確率に応じて狭められ
る。
【0012】例えば、図1においてシンボル(ここでは
文字で表わされている)z,y,x,w,v,u に0.2,0.
3,0.1,0.2,0.1,0.1の確率が割り当てられている。
これらの確率は、つぎに[0,1.0)の範囲(range)に
マッピングされ、その結果、図1に示す範囲が得られ
る。図1において、シンボルzは0.2の確率を表わす
範囲[0,0.2)を割り当てられ、シンボルuはシンボル
の確率範囲の上限及びuの確率0.1を表わす範囲[.
9,1.0)を割り当てられている。
【0013】圧縮を可能にするためには、出現頻度の高
いシンボルに大きな確率値が割り当てられる。確率範囲
が割り当てられたならば、シンボルをエンコードして圧
縮することができる。最初の範囲もしくは区間は[0,
1)に設定される。圧縮すべきメッセージの最初のシン
ボルが出現した後、範囲はそのシンボルの確率に比例し
て狭められる。
【0014】図2において、範囲[0,1)が初めに示さ
れている。シンボルyが出現した後、範囲はyの確率に
比例した大きさの新しい区間まで縮減される。換言すれ
ば、範囲または区間はその最初の値に設定されるのでは
なく、範囲は今出現したシンボルの確率に従って設定さ
れる。yの確率は0.3であり、[0.2,0.5)の範囲を
持つので、エンコーディングが行なわれる更新後範囲は
[0.2,0.5)であり、したがって、次のシンボルの出現
確率にはその前のシンボル(すなわちy)の確率の影響
が含まれる。よって、シンボルの確率の全部の総計は、
シンボルyの出現前の0から1の範囲でなく、0.2か
ら0.5の範囲となる。同様に、次のシンボルzは、確
率0.2と範囲[0,0.2)を有するが、その出現後は、
区間はzの確率に比例して[0.2,0.26)まで減少し、
その結果、その次のシンボルの確率範囲は、前のシンボ
ルy,zの影響を考慮して、0.2から0.26の区間よ
り選ばれる。
【0015】デコーディングの場合、エンコーディング
プロセスで用いられた区間の大きさはシンボル群中の一
つのシンボルの確率範囲を示しているので、エンコーデ
ィングに用いられた各シンボルの範囲を利用して、シン
ボルを容易に抽出することができる。例えば、最終の区
間が[0.23,0.236)だとすると、この最終の区間はy
の範囲[0.2,0.5)の範囲内に完全に含まれているの
で、最初のシンボルはyであると判断できる。エンコー
ダと同じプロセスを使用し、yが分かると最初の区間
[0,1)は[0.2,0.5)に更新され、そして更新後の範
囲[0.2,0.26)は最終の区間[0.23,0.236)を包含す
る。このプロセスは、全てのシンボルがデコードされる
まで続く。
【0016】バイナリ算術コーダは算術コーディング装
置の一種である。バイナリ算術コーディング装置におい
ては、シンボル集合からのシンボルの選択をバイナリデ
シジョンの系列としてエンコードできる。バイナリ算術
コーダの一例をあげれば、IBM社(International
Business Machines;Armonk,New York)で開発さ
れた”Q-コーダ”がある。Qコーダは固定精度演算と
再正規化処理を使用し、この再正規化プロセスにおい
て、コードストリング及び区間は、固定精度表現に許容
される範囲内に値を納めるため、必要に応じ再正規化さ
れる。また、区間をシンボルのコーディングを反映する
ようスケーリングするための乗算を行なう必要をなくす
ため、乗算の代わりに近似値が用いられる。従来、圧縮
ビットストリームは、非損失性帯域幅制限チャネル(lo
ssless bandwidth limitedchannel)により送られるよ
うに特徴付けられることが多い。そして、この圧縮ビッ
トストリームは受信されてデコードされる。しかし、実
際にはチャネルは損失性であるのが普通である。したが
って、何等かの種類の誤り訂正エンコーディングとチャ
ネル変調が行なわれる。従来、これらの動作は別々の動
作であった。
【0017】一般的に使用されるもう1つのコードセッ
トは拘束(constrained)チャネルコードと呼ばれる。
チャネルコードの1種がランレングス制限コード(runl
ength limited code;RLL codes)である。RLLコ
ードは、ディスクドライブにおいて、特に生データが磁
気トラックに書き込まれる時に、しばしば採用される。
RLLコードに非常によく似たコードも、デジタル磁気
テープやCD−ROM、光ディスク、さらには光ファイ
バーケーブルにおいて使用される。これらのケースで
は、1群の任意2進数が、それより長い2進数の系列に
変換されるが、これには0と1のビットのパターンにつ
いていくつかの拘束条件がある。基本的なRLLコード
の場合、その拘束条件は”1”ビットの後には必ずd個
以上k個以下の”0”ビットが続くというものである。
かかるフォーマットに従ったコードは、普通、RLL
(d,k)コードと呼ばれる。例えば、1に続いて1個以
上7個以下の”0”ビットが続くコードはRLL(1,
7)コードと呼ばれる。このようなコードについて米国
特許第4,413,251号(" Method andApparatus
for Generating a Noiseless Sliding Block Code
for a(1,7) Channel with Rate 2/3", Adler外)
に述べられている。このAdlerの特許では、(1,8)コ
ードと(2,7)コードにも言及している。
【0018】広く使用されているRLLコードはMFM
(Modified FrequencyModulation)と呼ばれる。M
FMはRLL(1,3)コードであるので、すべての”
1”の後に1個以上3個以下の0が続く系列を生成す
る。これらの拘束チャネルコードを使用するのが一般的
であり、また、より多くの情報をディスクに記憶させる
ことが可能になる。
【0019】チャネル変調に使用されているチャネルコ
ードは、一定レートで出力を生成する。換言するなら
ば、そのようなコードを用いるエンコーダは、一定数の
任意の入力ビットを受け取って、それより多い一定数の
拘束(constrained)ビットを生成する。従来技術は一
定長の出力ビットストリームしか出力できないという制
約があるため、これらのチャネルコードは、可能な拘束
された系列の全部は利用できない。よって、より多くの
出力コードストリームを使用し、かつ技術的に実現可能
なコードを提供できれば好都合である。
【0020】ある種の用途には、データ圧縮とチャネル
変調の両方の機能が必要とされる。しかし従来は、これ
らの機能が別々のユニットによって実現されている。そ
のために、ハードウエアが余分に必要となり、また、余
分な諸資源が必要となることもある。そのため、データ
圧縮とチャネルコーディングの機能を同一の機能ユニッ
トで同時に実現することにより、所要ハードウエアを減
らせるならば好都合である。
【0021】データは、圧縮されるだけでなく、ノイズ
の多いチャネルにより伝送した後に誤り訂正ができるよ
うにエンコードされることが多い。衛星回線やディスク
ドライブを含め、およそどのようなデジタルチャネルに
おいても、ノイズは発生する。誤り訂正コーディングで
は、初めの任意ビットストリームは、その誤りの検出・
訂正を可能にする条件を満足するような方法でビット数
が増加させられる。これはランレングス制限チャネル
(run length limited channel)用のコーディングと同
様であるが、拘束条件は相違する。誤り訂正とデータ圧
縮の機能も、通常、別々の機能ユニットによって実施さ
れる。したがって、データ圧縮と誤り訂正を同一の機能
ユニットによって同時に実施させるのが、所要ハードウ
エアの削減手段として有益である。
【0022】後述のように、本発明は、常に2つの値
(すなわちyesまたはno)をとるデシジョン(deci
sion)を生成するデシジョンモデルを用いるバイナリ・
エントロピー・コーダを提供する。本発明はまた、固定
長ビットストリングではない出力トークン(token)を
採用する。特に、本発明は、大部分のデシジョンを1ビ
ット未満でエンコードする。
【0023】本発明はまた、チャネルコーディング(ch
annel coding)を行なうための有限状態マシンを提供す
る。本発明のもう1つの有限状態マシンは誤り訂正コー
ディングを行なう。チャネルコーディングと圧縮を1つ
の有限状態マシンを用いて行なうことも可能である。
【0024】
【発明が解決しようとする課題】以上、従来技術に関連
し、その解決すべき問題点ないし解決すべき技術的課題
について述べたが、それらは本発明の解決しようとする
課題に含まれる。これ以外の本発明の解決する課題につ
いては、以下の説明から明白になろう。
【0025】
【課題を解決するための手段】本発明は複数の状態を持
つ状態マシンを包含する。各状態は少なくとも一つの遷
移ペア(transition pair)を持つ。遷移ペアの各要素
は、出力されるコードを表わす0ビット以上と、次に進
むべき状態の識別子とを発生する。遷移ペアは、圧縮す
べきデータに関する確率と、そのデータがその確率以内
にあるか否かとに関連したyes/no応答に対して出
力を返す。
【0026】本発明は、確率値に応じて状態マシンの現
在状態における遷移ペアをサーチするための装置及び方
法も包含する。本発明は、確率推定値に応じて0ビット
以上を出力し次の状態へ遷移する。
【0027】本発明は、チャネルコーディング、誤り訂
正、あるいはその両方を、1つの有限状態マシンを使用
して行なうための装置及び方法を包含する。この本発明
の有限状態マシンは、チャネル変調(channel modulati
on)とデータ圧縮とを同時に行なうように、誤り訂正と
データ圧縮とを同時に行なうように、あるいは誤り訂正
とチャネル変調とを同時に行なうように、設計すること
ができる。このような有限状態マシンを自動的に生成す
る方法も本発明に包含される。
【0028】
【作用】本発明によれば、効率的かつ実現容易なバイナ
リコーディング手段を提供することができる。本発明に
よれば、バイナリデシジョンによって表現されたデータ
の圧縮・伸長のための単純かつ安価なエンコーディング
・デコーディング装置及びその方法を提供することがで
きる。本発明によれば、適切に設計した1つの有限状態
マシンを用いることにより、チャネルコード化、データ
圧縮または誤り訂正コード化の1つまたは2つ以上を組
み合わせた動作を単一機能ユニット上で同時に実行する
ことが可能であり、動作速度の向上と所要ハードウエア
の削減等を達成できる。そして、本発明によれば、その
ような有限状態マシンを自動的に生成することができ
る。これ以外の本発明の特徴ないし利益は、以下の詳細
な説明において明白となろう。
【0029】
【実施例】以下、本発明によるバイナリデシジョンのコ
ーディングのための方法及び装置について述べる。チャ
ネル変調と誤り訂正を行なうための方法及び装置につい
ても述べる。以下の記述において、ビット数やトークン
等、様々な詳細例を示すが、これは本発明の好適実施例
を十分理解させるためのものである。このような詳細例
によらずに本発明を実施し得ることは当業者にとって明
白であろう。また、必要以上に本発明を難解にしないた
め、周知の回路はブロック図で示されており、詳細は省
略されている。
【0030】図3は本発明によって利用されるデータ圧
縮及び伸長のための装置をブロック図で表わしている。
データ100はバイナリデシジョンモデル(BDM)1
10に入力される。BDM110は入力データストリー
ム(例えば入力ファイル)をバイナリデシジョンの集合
または系列に変換する。なお、本発明に用いられるデー
タモデルは全てのイベントをバイナリデシジョンとして
表現する。BDM110は各バイナリデシジョンのため
のコンテキスト(context)も与える。
【0031】バイナリデシジョンの系列及びそれに関す
るコンテキストがBDM110から確率推定モジュール
(PEM)115へ出力される。PEM115は、その
コンテキストを利用して各バイナリデシジョンに対する
確率推定値を生成する。実際の確率推定値はPクラスと
呼ばれるクラスによって表現される。各Pクラスは、あ
る範囲の確率に対して用いられる。本発明においては、
数ビットを使って正確な数値確率を指定するのではな
く、各Pクラスが1つの確率範囲のために使用される。
このようにして、確率がどのクラスの範囲にあるかを指
定するのに、ほんの僅かなビット数しか必要とされな
い。一実施例では、どのバイナリデシジョンも、少なく
とも50%時間確率となるように決められている。こう
することで、本発明のコーダで用いられる全ての確率ク
ラスが50パーセント以上の確率となることを保障す
る。すなわち、確率クラスは50%を超える確率に対す
るものである。PEM115は、バイナリデシジョン
(結果)がその確率の高い状態であるか否かも判定す
る。PEM115によって生成された確率推定値(Pク
ラス)及びバイナリデシジョンの確率が高いか低いか
(likely or not)の判定結果が両方とも、エンコーダ
(コーダ)120へ出力される。PEM115は、Pク
ラスをエンコーダ120へ渡した後、その確率推定値を
当該コンテキストにあわせて更新できる。
【0032】エンコーダ120は、入力バイナリデシジ
ョンの発生確率に関する確率クラス及び可能性のあるイ
ベントが発生したか否かを示す1ビットの入力を受け取
るように接続されており、それに応答して、オリジナル
データ100を表わす圧縮データストリームを生成す
る。エンコーダ120は、各入力に関して0ビット以上
を出力する。この圧縮データはネットワークまたは他の
データリンク(例えば通信回線)を介して送信され、あ
るいは単にメモリに格納される。例えば、圧縮データ1
25はファクシミリ装置間のイメージ伝送に利用され
る。
【0033】これと逆の処理がデータ伸長のために実行
されることにより、オリジナル入力データ100の再生
(ある程度まで)が可能である。なお、PEM135か
ら出される結果は、PEM115に与えられた結果と同
一であることに注意されたい。オリジナルデータ100
を正確に再生することも近似的に再生することもでき、
いずれであるかはBDM110,140によって決ま
る。デコーダ(codec)130は、圧縮出力125を受
け取るように接続される。BDM140はコンテキスト
をPEM135に与える。PEM135は、そのコンテ
キストをBDM140から受け取るように接続される。
このコンテキストに基づき、PEM135は確率クラス
をデコーダ130に与え、デコーダ130はPEM13
5から確率クラスを受け取るように接続される。この確
率クラス及び圧縮データに応答して、デコーダ130は
バイナリデシジョンがその高確率の状態であるか否かを
示す1ビットを出力する。換言すれば、デコーダ130
は、もっともらしいイベントの発生に対し1ビットの表
示を返す。PEM135は、このビットをデコーダ13
0より受け取るように接続され、このビットを用い、そ
れをもとに確率推定値を更新する。PEM135はま
た、その結果をBDM140へ返す。BDMは返された
ビットを受け取るように接続され、返されたビットを用
いて、オリジナルデータ100を生成し、また次のバイ
ナリデシジョンのためにコンテキストを更新する。
【0034】図3において、エンコーダ120及びデコ
ーダ130のためのBDM及びPEMは、データを理解
して有効な確率推定値を生成するための装置及び方法を
提供する。なお、確率推定をするための多くの方法が存
在し、また、本発明は特定の確率推定機構を使用すべく
限定されるものではないことを理解すべきである。
【0035】例えば、画像圧縮の場合、下に示すよう
に、処理済みの5画素の値(”X”)を用いて、もう一
つの画素値Aを推定する5画素予測法(5-pel predicti
onmethod)によって、確率を決定することができる。 XX XXXA 。
【0036】この方法は、32(すなわち25 、ただし
5は前画素数)個の確率推定値を保持し、実際の”コン
テキスト”(すなわち5個の処理済み画素値)に基づき
適当な推定値を選択することによって行なうことができ
る。個々の確率推定値は、それぞれの固有のコンテキス
トが出現した時にいつでも更新してよい。一実施例で
は、推定値はデシジョン毎に更新される。
【0037】ビットストリームジェネレータは、確率推
定マシンと組み合わされて単一のテーブルルックアップ
にまとめられる。本発明の唯一の必要条件は、ビットジ
ェネレータの入力がバイナリデシジョンと確率であるこ
とである。別の言い方をすると、エンコーダの入力はデ
シジョン・ペア(例えばyes/noのデシジョン)ま
たは他のそれに代わる2コードの組み合わせのみであ
る。
【0038】かかる制約を満たし、全ての可能なデシジ
ョンがペアで発生する場合、ペアをなす両方のデシジョ
ンはそれに関連した確率を持つ。例えば、yes/no
デシジョンの場合、”yes”はPなる確率を有し、”
no”は(1−P)なる確率を有する。通常、これらの
確率は1つのテーブルに格納されかつアクセスされる。
実際的には、各コンテキストの高確率の状態だけを記憶
しておくことにより、この推定テーブルのサイズを半分
にできる。換言すれば、Xが”yes”または”no”
であり、Pが0と1の間の確率であるとして、(P,
X)のペアは(P′,W)のペアに置き換え可能である。
ここで、Wは”確率が高い”(likely)または”確率が
低い”(unlikely)であり、P′は0.5と1の間の確
率である。これが本好適実施例で採用される方法であ
り、PEM115及びPEM135からエンコーダ12
0及びデコーダ130が受け取った確率推定値は、最も
確率の高い状態(すなわち50%を越える確率)に対す
る確率推定値を表わす。
【0039】なお、以下の説明に限ってではあるが、
「確率が高い(likely)」及び「確率が低い(unlikel
y)」という用語が、”yes”(Y)及び”no”
(N)という表記と同じ意味で用いられること、並び
に、”MPS”及び”LPS”が最高確率のシンボル及
び最低確率のシンボルと同じ意味で用いられることに留
意されたい。
【0040】本発明のバイナリ・エントロピー・コーデ
ィング装置は多数の状態を持つ遷移マシンからなり、各
状態は合法的な遷移の1つ以上のペアを持つ。各遷移
は、それが発生した時に0ビット以上のストリングを発
生させ、かつ遷移マシンの次の遷移先の状態を遷移中に
発生させるように定義される。この遷移先状態から、遷
移マシンは次のシンボルの処理を続ける。本発明におい
ては、PEM115が、ある状態のどの遷移ペアをとる
かを決定する。本好適実施例では、PEM115(また
は135)は、確率推定値をエンコーダ120(または
デコーダ130)へ出力することによって、現在の状態
の合法的遷移ペアの中のどのペアを選ぶかを決定する。
BDM110からのY/N入力によって、選択されたペ
アの2つの合法的遷移のいずれがコーディング中に行な
われるかが決まる。最終的に、エンコーダ120は、B
DMからのY/N入力及びPEM115からの確率推定
値に従って、圧縮した入力データを表わすビットストリ
ームを出力する。デコーディング中には、圧縮ビットス
トリーム中のビット値によって、選択されたペアの2つ
の合法的遷移のいずれが行なわれるかが決まる。
【0041】各状態は、合法的に発行可能なビットスト
リームの集合として記述することができる。送出された
ビットが適切に用意されている場合、遷移マシンの各遷
移も同様の集合として記述可能である。エンコーダ及び
デコーダに採用された各遷移ペアについては、遷移ペア
は互いに素であり、かつ状態に対応した集合に等しい和
集合を持つ。本発明において、この集合の和集合はすべ
ての可能性なバイナリ出力である。各遷移ペアに関連付
けられる確率範囲は、バイナリデシジョンを低ビットレ
ートでエンコーディングするように選ばれる。
【0042】エンコーダ120は、エンコードすべきシ
ンボルに関連した確率(すなわち確率推定値)と、エン
コードすべきデータが確率推定モデルにより出力された
確率推定値で指定された確率範囲内であるか否か(すな
わち、そのデータが高確率の状態であるか否か)を示す
Y/N信号を受け取る。この情報を用いて、エンコーダ
120はエンコード対象のシンボルを表わすビットスト
リング、すなわち当該シンボルの圧縮したものを出力す
る。
【0043】本発明の一実施例を下の表1に示す。
【0044】
【表1】
【0045】表1には、2状態コーダが示されている。
最初、コーダはS0状態である。コーダ(例えば図3の
エンコーダ120)は、確率推定モデル(例えば図3の
PEM115)より一連の確率クラス’Pclass’(例
えば、PC1,PC2,PC3,PC4,...)及び、確か
らしさ’likely’(MPS,LPS,MPS,MPS)
もしくは(Y,N,Y,Y)を受け取り、これによりコ
ーダは0ビット以上のビット系列を発生し、そして多
分、別の状態への遷移を生じる。 確率クラスはコーダ
に対し使用すべき列を指示する。この例では、確率クラ
スはコーダがP1とP2のいずれの列を使用すべきかを
指示する。
【0046】例えば、2状態コーダが確率推定値の系列
<P1,P2,P2,P2>及びY/Nデシジョンの系列<
Y,Y,Y,N>(すなわち、likely or unlikely)を
入力として受け取る場合、コーダはまず最初の入力(P
1)を受け取って第1行(S0)の第1列(”0.50<P
<0.64”)を選択し、その応答として”0 S0”を得
る。このケースでは、”0”が出力され、状態レジスタ
はS0状態のままである。コーダへの2番目の入力(P
2)は、第1行(S0)の第2列(”0.64≦P<1”)
を選択させる。その結果、コーダは全くビットを出力せ
ず(”−”で示されている)、状態レジスタは(該当列
に示されているように)S1状態へ遷移する。同様に、
3番目の入力(P2)は第3行(S3)の第2列を選択
し、”0”を出力させ、状態レジスタをS0状態へ遷移
させる。最後に、4番目の入力(P2)は第2行(S
0)の第2列を選ばせるので、”11”が出力され、状
態レジスタはS0状態にとどまる。したがって、この4
個の確率推定値(すなわち4個のデシジョン)の系列
は、1対1には対応しないが、4ビットの出力(”001
1”)を生成した。この例では、コード化後のシンボル
数が何等圧縮されなかったが、コーダが20個の連続し
た確率P=0.7のケースを受け取り、そしてYデシジ
ョンが20個連続した場合には、10個の”0”が出力
されることになるので、2:1の圧縮をもたらす。
【0047】図3に見られるように、Y/N応答が確率
推定モデル(PEM)へ入力し、そしてPEMがバイナ
リデシジョンをデータモデルへ出力し、そしてデータモ
デルが入力データの伸長したものを表わすデータを出力
する。
【0048】図4は本発明により実現されたコーダ/デ
コーダの他の実施例を示している。この実施例において
は、コーディングプロセスとデコーダィングプロセスに
それぞれ利用される2つのルックアップテーブル(例え
ば遷移状態マシン、遷移テーブル)を格納するために2
つのメモリ(図4では、それぞれROM300,310
として示されている)が用いられる。これらのメモリ
は、遷移の選択とデータの圧縮及び伸長の制御のために
利用される。
【0049】図4において、統計モデル(図3)からの
Y/Nデシジョン315と確率320、それに状態レジ
スタ330に保持されているコーダ状態325が、RO
M300に入力することにより、圧縮データビットスト
リーム及び次の状態の指示からなる適切な出力を選択す
る。伸長の場合、データレジスタ370から出る圧縮デ
ータ、確率320及びコーダ状態がROM310内のル
ックアップテーブルにインデックスとして入力し、これ
に応答してROM310はY/Nデシジョン及び次状態
の指示を出力する。
【0050】この回路は圧縮と伸長の両方を実行するの
で、圧縮イネーブル信号線335と伸長イネーブル信号
線340を利用して回路動作を選択する。この回路が圧
縮を行なおうとする時には、ROM300をイネーブル
するため圧縮イネーブル線335が付勢され、伸長を行
なおうとする時には、ROM310をイネーブルするた
め伸長イネーブル線340が付勢される。
【0051】圧縮シーケンスの間は、ROM300はY
/N値315、確率320及び状態レジスタの状態32
5を受け取って、新状態350を出力して状態レジスタ
330に格納し、また圧縮データとして出力されるビッ
ト数のカウント値355と圧縮データ360を出力す
る。圧縮データ360はデータレジスタ370に格納さ
れ、ROM300から出力されたビットのカウント値3
55は、データレジスタ370にビットをシフトインさ
せてROM300から出力された圧縮データビットを受
け取らせるために使用される。この圧縮データは、その
後、要求された時にデータレジスタ370を介し記憶メ
ディアまたは通信メディアへ出力させることができる。
【0052】データを伸長しようとする時には、データ
はデータレジスタ370に入力され、シフトカウント信
号線375に制御されつつデータレジスタ370から読
み出されて、確率320及び状態レジスタ330に保持
されている状態とともにROM320に入力される。こ
れらの入力値を用いてROM310に置かれたテーブル
内のテーブルルックアップが実行され、ROM310
は、データ値が高確率の範囲内にあるか否かを統計モデ
ルへ通知するためのY/N値380を出力する。ROM
310は圧縮データのビット数及び回路の次の状態35
0も出力する。このビット数は、データレジスタ370
内のビットをシフトするためのシフトカウント線375
に入力される。前述のように、生成されたY/N信号
は、入力データを再生するために、伸長装置の他の部
分、具体的には統計モデル及びBDM装置へ入力され
る。
【0053】<有限状態マシン>本発明は、チャネル変
調を行なうための方法及び装置を提供する。本発明は、
一実施例において、ランレングス制限チャネルのための
チャネル・コーディング(channel coding)を行なう。
チャネル・コーディングは、有限状態マシンを使用して
行なわれる。本発明において、有限状態マシンは、各入
力が一度に1つずつ消費される間に部分的出力を追跡す
るために使用される。コード化されるデータによって各
出力の長さが変化するので、出力は可変レートで生じ
る。
【0054】本発明は、同一の機能ユニットによってチ
ャネル・コーディングとデータ圧縮を行なうための方法
及び装置を包含する。本発明のバイナリ・エントロピー
・コーダの一つの応用は、本発明のビット生成ステージ
とチャネル変調とを結合して、圧縮及びチャネル変調と
を同時にできるようにすることである。別の言い方をす
れば、本発明のバイナリ・エントロピー・コーダは、デ
ータ圧縮のための本来のビット生成動作が行なわれてい
る時に、それと同時にある種のチャネル変調を行なうよ
うに変形することができる。それら動作を同時に行なう
ために、本発明により設計された有限状態マシンを使用
できる。
【0055】本発明はさらに、有限状態マシンを誤り訂
正に適用する。すなわち、有限状態マシンを、誤り訂正
コーディングを行なうように設計することができる。も
う1つの応用においては、本発明のバイナリ・エントロ
ピー・コーダは、データ圧縮のビット生成動作と同時に
誤り訂正を行なうよう変形される。誤り訂正とチャネル
変調とを、データ圧縮のビット生成動作と同時に行なわ
せるように、バイナリ・エントロピー・コーダに対して
(例えば有限状態マシンに対して)修正を施すこともで
きる。
【0056】ビット生成に関するデータ圧縮動作を、チ
ャネル変調及び/または誤り訂正コーディングの動作と
結合させれば、これらの機能を持つシステムの実現に必
要なハードウエアが少なくなる。1つの機能ハードウエ
アブロックが、複数の機能を同時に提供するからであ
る。データ記憶のような応用の場合、圧縮、誤り訂正及
びチャネル変調の機能を全て、システム上で現在走って
いるソフトウエアに対し透過でかつ分離したデータ記憶
装置によって遂行できる。
【0057】<拘束チャネル(constrained channels)
用コーディング>本発明は、拘束チャネル用コーディン
グ(すなわちチャネル変調)を行なう。本発明は、固定
ビット数の任意入力ビットを受け取り、それより多い拘
束されたビット(constrained bits)を出力する。本発
明の一実施例では、1度に1ビットずつ入力ビットを受
け取って、可変ビット数の拘束ビットを出力する。
【0058】チャネルは、(1,3)コードのようなラ
ンレングス制限コード(run-lengthlimited code)を供
給するよう拘束されることがある。他のランレングス制
限コード、例えば(1,7)コードに対して本発明を利
用し得る。本発明は、ランレングス制限コードと異なる
拘束条件に対しても適用できる。例えば、光ファイバー
・チャネルやその他の種類のチャネルは、電荷拘束(ca
rge constraint)を有する。チャネルは、バイナリ拘束
(すなわち”1”と”0”)ではなく、+1電荷及び−
1電荷により定義されるように制限され、チャネル上の
トータル電荷はある予め決められた電圧範囲(例えば
[−2,+3])の間に維持されなければならない。バ
イナリでないシンボル、例えばモールス符号(ドットと
ダッシュ)を持つチャネルもまた、一種の拘束チャネル
として扱うことができる。
【0059】本発明は、有限状態マシンを使用してチャ
ネルコーディング、すなわちチャネル変調を実行する。
本発明の有限状態マシンは多数の状態を有する。それぞ
れの状態は、マシンの移行すべき状態を指示する遷移集
合を有する。ある状態の遷移中のどの遷移が選ばれるべ
きかは、受け取った入力に応じて決定される。一実施例
においては、各状態毎に1つの遷移ペアがあり、同ペア
の中のある遷移が各入力に応じて選ばれる。バイナリ入
力の場合、”0”入力で一方の遷移を選択し、また”
1”入力で他方の遷移を選択する。本発明はバイナリ入
力に限定されるものではなく、別種の入力(例えばトー
クン、符号語など)を受け取り、その各入力に応じて遷
移のペアまたは集合中の遷移を選択してもよい。
【0060】各遷移はまた、当該遷移の選択時に出力さ
れる0個以上の出力ビットの集合を持つ。この出力ビッ
トは拘束チャネルビット(constrained channel bits)
である。言い換えれば、有限状態マシンの出力ビット
は、チャネルの拘束条件が満たされるように選ばれる。
【0061】チャネルコーディング用ロジックの説明用
ブロック図を図5に示す。図5において、入力ビット4
01がエンコーダロジック400に入力されることによ
り、可変ビット数の出力ビット402が生成される。本
発明にあっては、エンコーダロジック400は1つの有
限状態マシンからなる。この有限状態マシンは、現在状
態403と入力ビット401とを受け取って、0個以上
の出力ビット402を出す。有限状態マシンはまた、次
の状態を指定するための1つ以上のビットも発生する。
この次状態の出力はフィードバックされ、次の入力ビッ
ト401のための現在状態403となる。1組のバッフ
ァが、出力ビット402、入力ビット401及び状態の
バッファリングのために用いられるかもしれないが、本
発明を必要以上に煩雑にしないため図示されていない。
【0062】エンコーダロジック400の一実施例の動
作を説明するための状態テーブルが表2に示されてい
る。表2はRLL(1,3)コード用の状態テーブルを
示している。RLL(1,3)チャネルは、ディスクドラ
イブにおいてMFF(ModifiedFrequency Modulation)
と呼ばれる別のコードとともに、しばしば使用される。
MFMは常に、1ビットを入力して2ビットを出力す
る。
【0063】
【表2】
【0064】表2に示されるように、エンコーダは状態
0で入力ビット”0”を受け取ると、ビットパターン”
01”を出力する。なお、このケースにおいて、次の状
態は状態0である。したがって、このような入力に対し
て、エンコーダは状態0のままである。エンコーダは状
態0で入力ビット”1”を受け取ると、”--”により示
されているように、全くビットを出力せず、状態1に遷
移する。状態1になったならば、エンコーダは、入力ビ
ットが”0”であるか”1”であるかによって、ビット
ストリーム”1000”または”100”のいずれかを
出力する。いずれのケースでも、エンコーダは出力ビッ
ト発生後に再び状態0に遷移する。
【0065】可能な出力ビットストリームを検討すれば
分かるように、表2により定義される有限状態マシン
は、RLL(1,3)チャネルコードの拘束条件を満たし
ている。出力ビットストリームはどれも、”1”の後に
1個以上3個以下の0が続いている。したがって、表2
の状態テーブルに従って動作する有限状態マシン、また
は他の同様設計の有限状態マシンを使用することによ
り、本発明はチャネル変調(すなわちチャネルコーディ
ング)を行なうことができる。
【0066】また、表2に示されているように、出力ビ
ットは可変長で、0ビット,2ビット、3ビット、4ビ
ットのいずれかである。本発明は可変長出力であるの
で、著しく面倒にすることなく、使用できる合法的系列
の数を従来より増加させることができる。例えば、情報
理論によれば、RLL(1,3)チャネルは任意データ1
ビットあたり約1.81チャネルビットを必要とする。
よって、MFMのような固定レートの方法が利用される
と、データビット毎に0.19チャネルビットが無駄に
使われる。表2で述べたような本発明の有限状態テーブ
ルを使用してコーディングが行なわるならば、平均して
データ1ビットあたり1.833チャネルビットだけで
間に合わせることが可能である。
【0067】例えば、従来技術によるMFM構成の代わ
りに本発明の状態マシンを使用することにより、MFM
コーディングを使用した100Mバイトのディスクドラ
イブが、およそ110Mバイトの記憶が可能となろう
(なお、現在利用可能な固定レート方法でデータ1ビッ
トあたり1.81チャネルビットの限界に接近すること
が可能であるが、これらの方法は非常に大きなルックア
ップテーブルが必要でハードウエアコストが増加してし
まう)。
【0068】エンコーダロジック400の動作を決定す
る状態マシンは、遷移にあわせて出力が適用拘束条件に
自動的に合致するように設計される。一実施例では、有
限状態マシンはルックアップテーブル(LUT)として
実現される。有限状態マシンは、組合せ論理を用いて実
現することもできる。
【0069】本発明の拘束チャネルコーダの可能な具体
例が図6に示されている。図6に示すルックアップテー
ブル(LUT)502は、状態レジスタ501より状態
507を受け取り、また結果(outcome)503を受け
取る。LUT502はメモリに置くことができる。この
メモリの代わりに組み合わせロジックを用いることも可
能である。一実施例では、結果503はバイナリ値であ
る。このバイナリ値は、最高確率シンボル(MPS)か
最低確率シンボル(LPS)のいずれかを示すものでよ
い。LUT502は、入力に応答して、チャネルに設定
された拘束条件を満足する拘束ビットストリーム、すな
わち出力505を発生する。LUT502は、出力サイ
ズ506も発生する。この出力サイズ506は、出力5
05のビット数を表示する。この表示は、出力ストリー
ム中のどのビットが有効か(すなわち、どのビットが実
際の出力であるか)を示すだけでもよい。LUT502
はまた、次状態504を生成する役割もある。次状態5
04はLUT502より出力され、次のビットに対する
状態入力として状態レジスタ501に入力される。かく
して、LUT502が状態507及び結果503を受け
取った時に、出力505、出力サイズ506及び次状態
504が生成される。出力505と次状態506の生成
方法は、普通、表2に関連して出力及び次状態が生成さ
れる方法と同じである。
【0070】一実施例では、状態レジスタ501は2乃
至8ビットをバッファリングすることになろうが、状態
レジスタ501は任意のサイズのレジスタで構わない。
結果503は単一ビットのバイナリ入力であるので、L
UT502は3乃至9ビットの入力を受け取る。一実施
例では、ある拘束チャネルに対し、出力505のビット
数は最高14ビットである。したがって、どのビットが
有効かを表示するためには、出力サイズ506は2乃至
4ビットでなければならない。
【0071】本発明は、若干数のオプション状態を使用
してチャネル変調を行なうことができる。状態数をどの
ように選ぶかは、チャネルの拘束条件によって決まる。
例えば、RLL(1,3)コード化チャネルの場合、2つ
の状態を使用してチャネル能力の99%に対応できる。
しかし、RLL(1,7)コード化チャネルの場合、同等
以上の効率を得るには18の状態が必要となろう。ま
た、様々なサイズの状態マシンを使用してよい。これら
の状態マシンが1度に受け取る入力は1ビットだけかも
しれない。しかし、一歩進めて、より大きなLUTを使
用し1度に2ビット以上を受け取ることも可能である。
【0072】チャネル変調を行なう本発明の有限状態マ
シンは、ディスクドライブ記憶装置のような動的記録装
置に利用し得る。本発明はまた、デジタル磁気テープ
や、CD−ROM、光ディスク、光ファイバーケーブル
を採用した装置に適用可能である。
【0073】図7はデジタル記録装置の一例を示す。図
7において、当該装置600は、圧縮エンコーダ60
1、誤り訂正エンコーダ602、変調エンコーダ60
3、データ転送機構604、デジタルデータ記録チャネ
ル605、データ受け取り機構606、変調デコーダ6
07、誤り訂正デコーダ608及び圧縮デコーダ609
からなる。
【0074】データ610は圧縮エンコーダ602に受
け取られ圧縮される。誤り訂正エンコーダ602は、圧
縮エンコーダ601に接続され、圧縮データを受け取
る。誤り訂正エンコーダ602は、圧縮データに対する
誤り訂正コーディングを行なう。変調エンコーダ603
は誤り訂正エンコーダ602に接続され、誤り訂正エン
コーダ602より誤り訂正後の圧縮データを受け取る。
そして、変調エンコーダ603はそのデータに対するチ
ャネル変調を行なう。本発明にあっては、変調エンコー
ダ603は有限状態マシンを含んでいる。変調エンコー
ダ603の出力はデータ転送機構604に受け取られ、
これによりチャネル605へ転送される。一実施例で
は、データ転送機構604は信号発生器を含んでいる。
データ転送機構604は書き込み等化器(write equali
zer)も含むこともできる。ある実施例では、チャネル
605はディスク記憶装置または記憶媒体からなり、あ
るいは光ファイバーチャネルである。
【0075】データ受け取り機構606はチャネル60
5に接続され、データを受け取って変調デコーダ607
へ供給する。一実施例では、データ受け取り機構606
は読み出し等化器(read equalizer)及び/またはデー
タ検出器を含む。変調デコーダ607は、データを受け
取って復調する。一実施例では、変調デコーダ607は
有限状態マシンを使用してデータを復調する。変調デコ
ーダ607の出力は誤り訂正デコーダ608に受け取ら
れ、誤り訂正デコーダ608はデータに対し誤り訂正デ
コーディングを行なうことにより、変調デコーダ607
より受け取ったデータから圧縮データを抽出する。この
圧縮データは圧縮デコーダ609に受け取られ、これは
圧縮データを伸長してデータ610を再生する。
【0076】本発明はまた、有限状態マシンを使用して
チャネル変調とデータ圧縮を同時に行なうことができ
る。本発明においては、ビット生成のために本発明のバ
イナリ・エントロピー・コーダを使用するデータ圧縮装
置を、チャネル拘束条件を満足するシーケンスをエンコ
ード及びデコードするように変形することがてきる。図
7に示されている装置は、この種の有限状態マシンを圧
縮エンコーダ601と変調エンコーダ603のために
(または圧縮デコーダ609と変調デコーダ607のた
めに)採用できる。したがって、データ圧縮を行なうた
めに使用される同一機能部によって、チャネルコーディ
ングも同様に行なうことができる。
【0077】本発明においては、有限状態マシンは、デ
ータ圧縮及びチャネル変調に関するビット生成を行なう
ように設計され、また多数の状態を有する。それぞれの
状態は、1つまたは2つ以上の遷移集合を有する。一実
施例では、各遷移集合は遷移のペアからなる。データ圧
縮に関連した確率推定値を利用することにより、ある選
ばれた状態の期間に用いる遷移集合が選択される。圧縮
及びチャネルコーディングを行なうべき入力を用いて、
ある特定の遷移集合中のある遷移(及び出力ビットスト
リーム)が選択される。このように、本発明の有限状態
マシンは、状態、入力及び確率推定値を受け取ることに
より、ビットストリームを圧縮すると同時にチャネル変
調を施すことができる。
【0078】RLL(1,3)のための圧縮エンコーディ
ング及びチャネルコーディングを行なうビット生成マシ
ンが表3に示されている。表3を参照する。入力欄に
は、最高確率シンボル(MPS)または最低確率シンボ
ル(LPS)のいずれかに対応するバイナリ値が示され
ている。スキュー(skew)は、確率推定値を表わしてお
り、MPSが発生する可能性の程度を示す。
【0079】
【表3】
【0080】表3に示されているように、出力欄は、す
べての”1”ビットの後に1個以上3個以内の”0”ビ
ットが続くことを表わしている。したがって、出力はR
LL(1,3)チャネルコーディングの定義に従ってい
る。
【0081】現在の状態が状態0ならば、可能な遷移ペ
アが2つある。これら2つの遷移ペアのそれぞれは、ス
キューの高(high)、低(low)に応じて選択される。M
PSの発生する確率が低く、したがってスキューが低の
ときは、第1の遷移ペアが選択される。その場合、LP
Sが入力すると出力ストリーム”10”が出力され、状
態マシンは状態0に留まる。他方、MPSが発生する
と、ビットが全然出力されず状態マシンは状態1へ遷移
する。スキューが高の場合、LPSが入力するとビット
ストリーム”1000”が出力され、状態マシンは状態
0のままである。しかし、MPSが入力するとビットが
全然出力されず、状態マシンは状態2に遷移する。状態
マシンが状態1または状態2の場合、スキューの高低に
かかわりなく、どのような入力でも次の状態は状態0に
なる。その各ケースに関して出力が示されている。した
がって、スキューが低のとき、つまり高い圧縮率が得ら
れないことを意味するが、この場合には、表3に定義さ
れた有限状態マシンは、表2と同一の動作をする。これ
に対して、スキューが高であるならば、最も頻度の高い
2種類の入力の場合はビット”10”としてコード化さ
れる。このことは、標準的には2データビットが少なく
とも3.62チャネルビットを必要とするので圧縮を意
味している、ということに気付くべきである。状態マシ
ンが大きくなれば、それだけ高い圧縮率が可能になる。
【0082】一体化された本発明のチャネルコーダとバ
イナリ・エントロピー・コーダの一実施例が図8に示さ
れている。図8にLUT702が示されているが、これ
は状態レジスタ701から状態708を受け取り、また
結果(outcome)703と確率推定値707を受け取
る。なお、結果703は、同時にチャネルコーディング
及び圧縮を施されることになるビットストリーム入力を
表わす。そして、LUT702は出力705と出力サイ
ズ706を出力する。LUT702は次状態704も発
生し、この次状態は状態レジスタ701へフィードバッ
クされて次に入力される結果703に対する状態として
用いられる。この一体化されたチャネルコーダ/バイナ
リ・エントロピー・コーダは、確率推定値707が各状
態の遷移集合の選択に使用されることを別にすれば、図
6のチャネルコーダと同じ動作をする。
【0083】一実施例では、状態レジスタ701は2乃
至8ビットを保持し、確率推定値は1乃至4ビットであ
り、また、結果703は1ビットである。この場合、L
UT702は4乃至13ビットの入力を受け取る。な
お、状態レジスタ701は、どのようなビット数を記憶
するレジスタでもよい。また、別の実施例では、確率推
定値のビット数を4ビットより多くすることもできる。
LUT702の出力705は、本発明のバイナリ・エン
トロピー・コーダの場合には2乃至8ビットである。し
かし、統合データ圧縮(joint data compression)が行
なわれるときには、この出力705のビット数が増加す
るかもしれない。この場合、出力705の全てのサイズ
を指示するため、出力サイズ706は2乃至4ビットで
ある。
【0084】このように、本発明によれば、ある有限遷
移図で示される拘束条件に合致し、したがってデコーデ
ィング動作の一部として元のデータへ戻すことの可能な
ビットストリームを生成するように、遷移状態マシンを
設計することができる。このようにして、本発明によれ
ば、チャネル変調を行ない、あるいは圧縮とチャネル変
調を同時に行なう有限状態マシンが得られる。
【0085】本発明は、可変ビット数の出力を生じる状
態マシンを提供する。本発明はチャネル変調中に可変レ
ートで出力を発生することができるので、ディスクドラ
イブの正確な記憶容量が記憶データに左右されない。し
かしながら、ディスクドライブには不良セクタといくつ
かの圧縮ファイルがあるので、一般的なディスクドライ
ブの正確な記憶容量は、もともと、幾分不確かなところ
がある。可変レートのコードは、単一の誤りが、固定レ
ートのコードよりも多くのデータに影響を及ぼす。しか
し、これと同じ事情は、記録メディア上の現行圧縮ファ
イルにもある。つまり、本発明の可変レート拘束チャネ
ルコードには、普通のディスクドライブ上の圧縮ファイ
ルに存在する問題点と同じ問題点がある。しかし、本発
明のコードは、チャネルの利用効率がよく、また恐ら
く、(データ圧縮との)統合動作によって速度も上が
る。
【0086】<誤り訂正コーディング>誤り訂正コーデ
ィングは、チャネルが非損失性でない場合に行なわれる
ことが多い。誤り訂正は、チャネルに関するもう一つの
拘束条件と見ることができる。すなわち、任意ビットの
系列は、それに対応して生成された何ビットかのパリテ
ィビットを持つ。本発明はまた、入力データストリーム
に対し誤り訂正コーディングを行なうための有限状態マ
シンを提供する。何種類かの誤り制御コードに関して、
エンコーディングを行なう有限状態マシンを生成するこ
とが可能である。この種の誤り制御コードの一つは、コ
ンボリューショナル(convolutional)コードと呼ばれ
ることが多い。コンボリューショナル・コードは、有限
状態遷移図によって表現できる構造を持っていることが
知られている。本発明は、コンボリューショナル・コー
ドを使用し得るが、有限状態マシンを使用して他の誤り
訂正コードを実施することもできる。例えば、トレリス
(trellis)コードも、有限状態遷移図によって表現で
きる。有限状態遷移図によって表現可能であれば、他の
コードも使用できる。
【0087】本発明の有限状態マシンは、その出力が、
入力ビットストリームのビットに誤り訂正ビットを統合
したものとなるように設計できる。誤り訂正が可能な有
限状態マシンのための状態テーブルの一例が表4に示さ
れている。
【0088】
【表4】
【0089】表4を参照する。この状態テーブルは表2
の状態テーブルと同じように作用する。本発明は、現在
状態と入力を用いて、誤り訂正ビットの統合されたビッ
トストリームを出力し、そして次の入力のための指定さ
れた次状態へ遷移する。同様に、図5及び図6に示した
表2を実現するために用いられた機能要素を、表4の状
態テーブルを実現するために利用し得る。
【0090】本発明のバイナリコーダを用いたシステム
においてデータが圧縮される場合、このバイナリコード
を、圧縮コーディングと誤り訂正エンコーディングの両
方を行なうように変形することができる。すなわち、本
発明は、有限状態マシンを使用して、入力ビットストリ
ームに対しデータ圧縮と誤り訂正コーディングを同時に
行なうことが可能である。この本発明の状態マシンの動
作は、データ圧縮とチャネル変調を同時に行なう上述の
状態マシンと同じである。換言すれば、この状態マシン
は、入力ビットストリーム、現在状態の表示及び確率推
定値を受け取って出力ビットストリームを発生するが、
確率推定値は多数の遷移集合の選択のために使用され、
確率推定値によって選択された遷移集合中の実際の遷移
はビット入力により選択する。誤り訂正とデータ圧縮を
提供する有限状態マシンのための状態テーブルの一例が
表5に示されている。
【0091】
【表5】
【0092】一実施例では、この種の有限状態マシンを
図7に示したようなシステムにおいて採用することがで
き、この場合、圧縮エンコーダ601と誤り訂正エンコ
ーダ602は、それぞれ同じ有限状態マシンを使用する
ことにより統合される。本発明においては、デコーディ
ングは別々の誤り訂正回路と伸長装置によって実行され
る。言い換えれば、デコーディングは単一ステージとし
ては行なわれない。
【0093】本発明の有限状態マシンは、同時に誤り訂
正コーディングとチャネル変調コーディングとを行なう
ように設計できる。本発明はまた、データ圧縮、誤り訂
正及びチャネルコーディングを単一の有限状態マシンに
統合することができる。上に述べたと同じテクニックを
使用して、入力データを受け取って圧縮する有限状態マ
シンが、誤り訂正エンコーディングとチャネルコーディ
ングを同時に行なう。この場合、図7に示したようなシ
ステムにおける圧縮エンコーダ(例えば圧縮エンコーダ
601)、誤り訂正エンコーダ(例えば誤り訂正エンコ
ーダ602)及びチャネル変調機構(例えば変調エンコ
ーダ603)は、これら3つの機能を施されたデータを
表わす出力を出す単一の有限状態マシンに統合されるこ
とになろう。複数の有限状態マシンを用い、各有限状態
マシンが上述の如き統合機能を提供するシステムを得る
ことができる。
【0094】それぞれの組み合わせは速度を増加させる
ことができるが、そのエンコーディングのために必要な
状態テーブルは大きくなることがある。従来の記録シス
テムでは、これらの機能が別々のユニットによって実行
される。ある時点でデータを処理できるのは、これらユ
ニット中の1つだけである。さらに、すべての記録シス
テムに、これら機能ユニットの全部が含まれているわけ
ではない。この場合、システムソフトウエアを利用して
機能を遂行せざるを得ないことが多い。これは、他のシ
ステム機能の中断をまねく。本発明は、1つのユニット
による機能全部の遂行を可能にする。記録システムの場
合、システムソフトウエアが圧縮を遂行する。別のハー
ドウエアが誤り訂正コーディング及びチャネル変調を遂
行する。このハードウエアは、データ圧縮、チャネル変
調及び誤り訂正を同時に遂行する本発明の有限状態マシ
ンを含むように設計できる。例えば、有限状態マシン
は、入力ビットストリーム、現在状態の指示及び確率推
定値を受け取って出力ビットストリームを発生するが、
確率推定値は多数の遷移集合から1つの遷移集合を選択
するために用いられ、入力ビットは確率推定値によって
選択された遷移集合中の実際の遷移を選択する。この場
合、システムソフトウエアは自由に他のタスクを遂行で
き、ハードウエアは1入力につき1回のテーブルルック
アップを必要とするだけであるので、システム速度が上
昇する。
【0095】<ビット系列のデコーディング>どのよう
なコーディング動作においても(データ圧縮、チャネル
コーディング、あるいは誤り制御コーディング)、エン
コードされたデータストリームからオリジナルデータを
得られることが最も重要である。換言すると、圧縮デー
タストリームやその他のコード化データストリームが与
えられた場合、このデータストリームのもとになったオ
リジナルデータ系列は唯一つしかないはずである。これ
が事実であるならば、その圧縮された系列または、その
圧縮プロセスは固有的にデコード可能である(uniquely
decodeable)と言われる。本発明におけるコードも固
有的にデコード可能である。さらに、本発明のコードは
プレフィクス特性(prefix property)を持たないが、
それでもなお固有的にデコード可能である。このこと
は、各エンコーディング例を検討すれば明らかである。
入力した確率は調べられて、可能な遷移のペアを選択す
るために用いられる。どのような遷移ペアに関しても、
一方の遷移は第1のビット系列集合中の系列のいくつか
を生成することが可能であり、他方の遷移は全く異なっ
たビット系列の集合を生成することが可能である。デコ
ーダは、実際に発生したビット系列を調べることができ
る。そのビット系列が第1の遷移の第1のビット系列集
合中にあるならば、エンコーダは、その遷移を使った筈
であり、その遷移を使用させる入力が発生したはずであ
る。もしそうでないとすれば、そのビット系列は別のビ
ット系列集合中にある筈で、別の遷移よって別の入力が
生じた筈である。
【0096】ビット系列のデコーディングは、圧縮ビッ
ト系列を可変レートで消費する有限状態マシンによって
行なうことができる。一実施例では、デコーダは、エン
コーダの各状態に対して1つの状態を持ち、エンコーダ
で生じる遷移を追跡する。ある状態において、デコーダ
は、エンコーダの受け取るものと同じ確率推定値を受け
取り、エンコーダにより生成されたビットストリームを
調べて、生じたに違いないところの遷移を判定する。デ
コーダは、エンコーダで生じたものと同じ遷移を生じ、
そして、そのビットストリームより、エンコーダが当該
遷移時に付加したであろうビットを除去する。
【0097】<状態マシンの自動生成>本発明は、拘束
チャネルコーディングのためのテーブルを生成する方法
を提供する。また、このテーブル生成法は、本発明のバ
イナリ・エントロピー・コーダのビット生成部用の状態
マシンを生成するために使用し得る。なお、以下に述べ
る方法は、ビット生成のための最上の状態マシンを必ず
しも生成するとは限らないが、1つの状態マシンを生成
し、それを状態数の増加により改良する。
【0098】以下の説明において下に定義したような用
語を使用する。有限状態図とは、エッジラベル付グラフ
(edge labeled graph)である。各頂点は可能な現在状
態であり、そのエッジに付けられたラベルは、当該状態
より始まるある系列において可能なビットを示す。その
複数のエッジ中の1つのエッジにマッチする、あるビッ
ト系列が発生した時に、状態は更新され当該エッジの終
端の状態となる。有限状態遷移図中の1つの状態のフォ
ロワ集合(follower set)とは、当該状態で最初に始ま
ったパスに沿って生成され得る全ての可能な系列の集合
のことである。本発明において、全てのフォロワ集合は
有限の多数の要素を持っており、再帰的に定義される。
ランレングス制限された拘束条件図(run-length limit
edconstraint diagrams)の場合、ある特定の状態で始
まって当該状態へ戻る系列の全てが、その後に当該状態
で始まる他の系列のどれでも続くことができる、という
点で、フェロワ集合は再帰的である。
【0099】図9に示された遷移状態図は、いくつかの
系列に関する、この再帰的性質を説明するものである。
図9を参照すると、当該状態図800は状態0〜2と遷
移アーク(transision arc)801〜805からなる。
シンボル”a”は、状態マシンが状態0から状態1へ
(遷移アーク801経由で)遷移する時に、系列の一部
として出力される。シンボル”b”と”c”はそれぞ
れ、状態マシンが状態1から状態0へ遷移する時に系列
の一部として出力されるが、そのいずれであるかは遷移
アーク802,803のいずれが選ばれたからによって
決まる。シンボル”c”はまた、状態マシンが状態0か
ら状態2へ(遷移アーク805経由で)遷移する時に系
列の一部として出力される。シンボル”d”は、状態マ
シンが状態2から状態0へ(遷移アーク804経由で)
遷移する時に、系列の一部として出力される。
【0100】状態0のフォロワ集合Fの判定の際に、当
該状態のフォロワ集合が当該状態からの全ての可能な系
列を含んでいることが認識される。状態0に関しては、
状態マシンが状態0より状態1へ遷移してから遷移アー
ク802経由で状態0へ戻るとすると、シンボル”a
b”が出力される。状態マシンが状態0へ戻ったので、
当該系列の残りの部分は、初めに状態0で可能であった
系列の全体集合の要素のいずれでもあり得る。すなわ
ち、シンボル”ab”で始まる全ての系列は、状態マシ
ンが状態0と状態1の間で遷移する以前に存在した全て
の可能な遷移を含む。したがって、状態マシンが状態0
へ戻った後はフォロワ集合Fの全ての系列が可能である
ので、シンボル”ab”で始まる系列を”abF”と書
き換えることができる。ただし、”F”はフォロワ集合
を意味する。同様に、状態マシンが状態1へ遷移してか
ら遷移アーク803経由で状態0へ戻るときは、シンボ
ル”ac”が出力され、そしてフォロワ集合全体が依然
として可能な系列である。よって、シンボル”ac”で
始まる全ての系列を、フォロワ集合Fを用い”acF”
と記述できる。同じことがシンボル”cd”で始まる系
列にもあてはまる。
【0101】まとめると、図9の状態図のフォロワ集合
Fは、F={abF,acF,cdF}なる系列からな
り、ここで、Fはそれ自体への参照を”再帰的”に含ん
でいる。
【0102】本発明のテーブル生成法を表わすフローチ
ャートが図10に示されている。図10を参照する。本
発明はまず、初期状態マシンを生成し(処理ブロック9
01)、次にこの初期状態マシンを改良する(処理ブロ
ック902)。この本発明の方法は、コンピュータでソ
フトウエアを用いて実施される。
【0103】本発明による初期状態マシンの生成方法が
図11に示されている。図11を参照する。初期状態マ
シンを生成する当該方法は、まずバイナリ・エントロピ
ー・コーダの拘束条件、すなわち誤り訂正拘束条件また
はビット生成部分を表わす有限状態遷移図(FSTD)
を用意する(処理ブロック1001)。
【0104】このFSTDを用いて、FSTDの各状態
に対するフォロワ集合が生成される(処理ブロック10
02)。このフォロワ集合はしばしば無限集合である。
しかし、前述のように、フォロワ集合が無限集合なら
ば、それを再帰的な定義によって表わすことができる。
【0105】フォロワ集合が生成された後、フォロワ集
合は最初の可能なシンボルに基づき2つの部分集合に分
割される(処理ブロック1003)。換言すれば、ある
集合が同一のシンボルより始まる系列全てを含んでいる
場合に、当該シンボルは遷移に対する出力となることが
できる。複数の系列が同一集合のシンボルで始まる場
合、これらのシンボルは遷移に対する出力となり得るこ
とに注意されたい。例えば、F={abF,acF,c
dF}は、{abF,acF}と{cdF}とに分割で
きる。
【0106】各部分集合に関して、1つの遷移を生成さ
せる(処理ブロック1004)。本発明においては、部
分集合の全ての要素が同じ始まりを持っているときに
は、その共通の始まりが出力として割り当てられ、そし
てフォロワ集合が修正される。もし、そのフォロワ集合
が既に1つの状態として存在するときには、その状態が
遷移の終端(行き先)とされる。{abF,acF}を
例にすると、’a’を遷移に付加することができので、
{bF,cF}が新しい集合となる。フォロワ集合が1
つの状態として存在しないときには、当該集合をフォロ
ワ集合として持つ1つの新しい状態が作られる。
【0107】各部分集合について1つの遷移を生成した
後、テストによって、状態の全てが1つの出力遷移を持
つか判定する(処理ブロック1005)。状態の全てが
1つの出力状態を持っているならば、初期FSTDの生
成は完了である。状態の1つまたは2つ以上が1つの出
力遷移を持たないときは、処理ブロック1003,10
04の処理が、出力遷移を持たない状態それぞれに対し
て続けられる。FSTDの遷移数は有限であるので、こ
の生成ステージはやがて終了する。
【0108】本発明は、’0’入力に対し遷移中の一方
を、’1’入力に対し他方の遷移をを用いるだけで、任
意のビット系列をチャネル拘束条件に合致した系列に変
換するマシンを生成する。入力中の一方が他方よりも起
こりやすく、かつ、その一方の入力が、(平均的に)系
列を短くする側の遷移に常に割り当てられるならば、圧
縮が可能となる。
【0109】図11に示されたステップによって得られ
た初期状態マシンは、確率が期待通りでないと、データ
を十分圧縮できないことがあり、それどころかデータを
膨張させる可能性もある。そのいずれの場合において
も、各状態に遷移を追加することによって、初期状態マ
シンの性能を改良できる。そして、確率推定マシンから
の確率推定値を用いて、その推定されたスキューに近い
スキューを持つ遷移ペアが選択され、結果(outcome)
は、当該遷移ペアのいずれの遷移が入力シンボルのエン
コードに用いられるべきかを判定するために用いられ
る。
【0110】初期状態マシンを改良する方法の一例が図
12にフローチャートで示されている。図12を参照す
る。本発明は、最初に、いくつかの基準に従って状態マ
シンの最悪性能の部分を見つける(処理ブロック110
1)。この最悪性能の部分は、2つの遷移間の最大の確
率ギャップによって識別することができる。
【0111】次に、その確率で遷移が生じたとしたら性
能の向上をもたらすような確率が決定される(処理ブロ
ック1102)。そのような確率を識別する方法は用途
に依存する。例えば、ある用途の場合、この確率の選択
は、2つの端点確率の間の1つの確率を選択することに
より行なうことができる。例えば、0.5と0.95の
間の遷移があれば、その平均である中点0.725に1
つの確率を追加することができる。他の決定方法を使用
して、予想される出力長を最小することもできる。
【0112】それから、フォロワ集合は、性能向上のた
めに追加された確率に相対サイズが接近するような2つ
の部分集合に分割される(処理ブロック1103)。換
言すれば、フォロワ集合は、その部分集合の一方におけ
る累積確率が所望の確率と等しいか比較的近くなるよう
に分割される。
【0113】次に、上記初期生成法(すなわち処理ブロ
ック1004)と同じ方法によって、各部分集合につい
て1つの遷移が生成される(処理ブロック1104)。
本発明においては、部分集合の全要素が同一の始まりを
持つときには、その共通の始まりが出力として割り当て
られ、フォロワ集合は修正される。そのフォロワ集合が
1つの状態として既に存在するならば、当該状態が遷移
の終端(行き先)とされる。そのフォロワ集合が1つの
状態として存在しないときは、当該集合をフォロワ集合
として持つ1つの新しい状態が作られる。
【0114】次いで、テストによって、終了基準が満た
されたか判定する(処理ブロック1105)。この基準
が満たされたならば処理は終了する。この終了基準が満
たされるまで、処理ブロック1101〜1104が繰り
返される。一実施例では、この基準は、最大状態数に達
したか、所望の性能水準に達しかである。性能水準は、
遷移状態マシンの性能をシャノン限界と比較測定するこ
とによって判定することができる。一実施例では、典型
的なファイルに対する平均出力長が計算され、その平均
長が予め決められた最小値に達した時に本発明の処理は
終了する。
【0115】本発明のマシン生成方法は、ある場合には
状態を全く追加することなく状態マシンを改良するが、
別の場合にはマシンにいくつかの状態を追加する。当該
方法は、所望のサイズまたは性能のマシンが得られるま
で繰り返し用いることができる。
【0116】図13、図14及び図15は、本発明の方
法の一例を示している。図13は、RLL(1,3)コー
ドの拘束条件を満足する系列だけを許すFSTDを示し
ている。したがって、図13は拘束チャネルを記述して
いる。なお、図13は1つの状態だけで表わされている
が、3個または4個の状態を用いて同等の図を作成する
ことも可能である。
【0117】図13に示されたFSTDは、本発明によ
るマシン生成の第1ステージで必要となるFSTDを表
わしている。初期FSTDが決まったならば、フォロワ
集合が得られる。このフォロワ集合は無限サイズを持つ
が、F={10F,100F,1000F}と表現する
ことができる。ここにおいて、当該集合は’10’とそ
れに続く当該集合中のいずれかからなるか、’100’
とそれに続く当該集合中のいずれかからなるか、あるい
は、’1000’とそれに続く当該集合中のいずれかか
らなる。このフォロワ集合Fが決まれば、当該集合Fを
2つの部分集合、すなわちFa={10F}とFb=
{100F,1000F}とに分割することができる。
【0118】部分集合Faは、常に’10’で始まるの
で、1つの遷移の出力に割り当てることができる。これ
によりフォロワ集合がまさにFとなり、このFはすでに
1つの状態であので、当該遷移の行き先を状態0にする
ことができる。もう1つの部分集合Fbは、常に’10
0’で始まるので、出力に割り当ててよく、その後に
{F,0F}がフォロワ集合として残る。このフォロワ
集合は存在しないので、1つの新しい状態が作られる。
図14のケースでは、遷移に何も付加されていないの
で、集合は{100F,1000F}のままである。
【0119】上記の新しい状態は出力遷移を持たないの
で、そのフォロワ集合を分割する必要がある。これは、
Fc={100F}とFd={1000F}を生成する
ことによって可能である。集合Fcは100の後にFを
続けたものに等しいので、出力100は遷移には付加さ
れず、状態1000へ遷移を生じさせることができる。
Fdは、常に0で始まるので出力に割り当てることがで
き、状態0へ遷移を生じさせることができる。これで、
出力遷移を持たない状態は存在しないので、初期マシン
が生成された。このマシンが図14に示されている。
【0120】図14において、遷移に並べて、また2つ
の状態の位置に、それらのフォロワ集合が示されてい
る。遷移毎に出力も示されている。各状態は2つの出力
遷移を持っており、’0’入力を第1遷移の使用に割り
当て、’1’入力を第2遷移の使用に割り当てることに
より、表4のマシンに相当するマシンが生成された。図
14の例では、遷移に何も付加されないので、集合は
{100F,1000F}のままである。
【0121】この状態マシンは、図12に記述された方
法を用いて改良することができる。最初に、最悪状態が
確認される。最悪状態が状態0であると仮定すると、現
確率と違う確率での何等かの遷移があれば性能が改善さ
れる。0.70に近い確率のための1つの遷移を追加す
ることが望ましいと仮定する。集合Fの新しい分割が可
能である。Fe={100F}及びFf={10F,1
000F}として、集合を違ったやり方で分割すると、
可能な系列の約70%が集合Ffに含まれる。図15
は、かかる有限状態遷移図を示している。
【0122】次に遷移が生成される。図15を参照す
る。集合Feは、100を出力とし、状態0を行き先と
することにより、1つの遷移に変形することができる。
集合Ffは、10を出力させ、そしてフォロワ集合
{F,00F}を持つ新しい状態への遷移を生じさせ
る。この新しい状態には、フォロワ集合を{F}と{0
0F}に分割することにより、遷移を追加することがで
きる。これら遷移は両方とも、適当な出力を出して状態
0に戻ることができる。このように改良された状態マシ
ンは、表5に示された状態マシンに相当し、高スキュー
の圧縮が可能である。
【0123】終了基準に関して、この例では状態の最大
必要数を3と仮定している。したがって、この本発明の
自動状態マシン生成法は、その終了基準を満たしたので
終了する。
【0124】このマシン生成法のもう一つの使用例が図
16及び図17に示されている。図16は、モールス符
号用の有限状態遷移図を示している。チャネルの使用効
率を最高にするためには、”.”(ドット)を”−”
(ダッシュ)より多用するのが望ましい。ドットのほう
がスペースを取らないからである。本例に関し、文中及
び図面中において”ドット”及び”ダッシュ”という単
語がそれらの記号の代わりに用いられる。遷移それぞれ
に対する最大エントロピー確率(チャネルの利用効率を
最大にする確率)は、ドットについて68.23%(す
なわち0.6823)、ダッシュについて31.77%
(すなわち0.3177))である。ただし、ダッシュ
及びその後の無音時間の合計時間は、ドットとその無音
時間の長さの3倍であると仮定している。そして、この
状態遷移図は、ほぼ70%のケースを旨く表現する。こ
の状態遷移図は、チャネル変調を行なうために用いても
よいが、0.70から離れた確率でのデータ圧縮のため
には適切でないかもしれない。例えば、.50のケース
には効率的でない。
【0125】50%のケースをより良好に表現する有限
状態遷移図を生成するために、長さ1の系列(length-o
ne sequence)でなく長さ2の系列(length-two sequen
ce)が調べられる。2つのシンボル、つまりドットとダ
ッシュがあるので、長さ2の系列は4種類ある。この4
種類の長さ2系列と、それぞれに関する出現確率(個別
の出現確率を掛け合わせることによって決定される)
は、ドット−ドット(.466)、ドット−ダッシ
ュ(.217)、ダッシュ−ドット(.217)、ダッ
シュ−ダッシュ(.10)である。これは、最初の状態
からの全ての可能な遷移パスについて全ての長さ2系列
が示されているという点まで、フォロワ集合を説明して
いる。
【0126】1つの状態は、そこから出る遷移が確率ク
ラスあたり2つしか許されないので、この集合は2つの
集合に分割される。これら集合の内容の選択は、所望の
確率に基づいてなされる。50%ケースが所望ならば、
[ドット−ドット]の確率は約0.50(すなわち0.4
66)であるから、この2つの集合は[ドット−ドッ
ト]と[ドット−ダッシュ,ダッシュ−ドット,ダッシ
ュ−ダッシュ]にすることができる。そして、[ドット
−ドット]は状態0から出る第1の遷移アーク1501
に割り当てられた値を示す。また、その確率は50%よ
り低いので、この系列[ドット−ドット]はLPSに指
定される。そして、第2の遷移アーク1502はMPS
に指定されるが、この遷移に関係した出力はない。その
理由は、当該グループのシンボルには共通のプリフィク
スがないためである。
【0127】状態1になったら、そこから出る2つの遷
移が識別されなければならない。したがって、集合[ド
ット−ダッシュ,ダッシュ−ドット,ダッシュ−ダッシ
ュ]は分割されなければならない。50%ケースをより
よく表現するためには、当該集合が可能な限り50%に
接近するように集合の選択が行なわれる。集合中の確率
を正規化することにより、[ドット−ドット]に対する
確率0.406、[ダッシュ−ドット]に対する確率0.
406、[ダッシュ−ダッシュ]に対する確率0.18
8が得られる。このことを考慮し、[ドット−ダッシ
ュ]と[ダッシュ−ダッシュ]のいずれもLPSに選ば
れる。図17に示されるように、遷移アーク1506は
状態0へ戻る[ドット−ダッシュ]遷移を表わす。状態
1から出る他方の遷移アーク1503は、集合内の確率
が0.5を超えるのでMPSに指定される。遷移アーク
1503は状態2へ遷移する時に何も出力を出さない。
【0128】状態2では、2つの遷移が識別されなけれ
ばならない。2つのシンボル[ダッシュ−ドット,ダッ
シュ−ダッシュ]しか残っていないので、それぞれのシ
ンボルは遷移アーク1504,1505の1つに割り当
てられる。これら遷移は全て状態0に戻るが、これは、
そのような遷移の後、可能な長さ2系列の全てが遷移可
能でなければならないからである。
【0129】元の確率分布は状態0にアーク1501,
1511として包含されていることに注意されたい。確
率推定値に応じて、実線または破線のいずれかが選ばれ
る。全ての状態を、確率に基づき選択された複数のアー
クを持つように設計できる。このようにして、図17に
定義された状態マシンは、データ圧縮及びチャネルコー
ディングのような他の拘束条件のために使用できる。
【0130】本発明のテーブル生成法により生成された
状態マシン遷移行列の4例を表6乃至表12に示す(た
だし、表9乃至表12は1つの状態マシン遷移行列を示
している)。各表に示された各状態マシンにおいて、3
列中の最初の列は”Y”デシジョン(likely)すなわち
MPSに対応し、3列中の2番目の列は”N”デシジョ
ン(unlikely)すなわちLPSに対応する。最後の列は
確率を示す。表9乃至表12はバイナリ圧縮を実行する
ための1つのテーブルを示している。
【0131】
【表6】
【0132】
【表7】
【0133】
【表8】
【0134】
【表9】
【0135】
【表10】
【0136】
【表11】
【0137】
【表12】
【0138】表6を参照する。ここには、2状態マシン
の遷移図が示されている。遷移ペアは列(1),(2)
に分けて示されている。状態マシンが状態S0で、閾値
(確率推定値)が0.644を超えている場合の2種類
の合法的遷移は、N(no)デシジョンに対して状態S
0に留まってビットストリング”11”を出力し、Y
(yes)デシジョンに対して状態S1へ遷移しビット
ストリングを全然出力しないというものである。状態S
0で閾値(確率推定値)が0.644未満の場合の2種
類の合法的遷移は、N(no)デシジョンに対して状態
S0に留まってビットストリング”0”を出力し、Y
(yes)デシジョンに対して状態S0に留まってビッ
トストリング”1”を出力するというものである。状態
マシンが状態S1の場合の2種類の合法的遷移は、N
(no)デシジョンに対して状態S0へ遷移してビット
ストリング”10”を出力し、Y(yes)デシジョン
に対して状態S0へ遷移してビットストリング”0”を
出力するというものである。
【0139】本発明の方法は、コンピュータ・ソフトウ
エアを用いて実現される。かかるソフトウエアは、50
%遷移を持つ、状態の数を制限しまたは特定する、確率
クラスの数を制限または特定する、等のいくつかの基準
に従った遷移マシンを生成するように設計し得る。
【0140】したがって、本発明のマシン自動生成法
は、任意のビットストリームを様々なランレングス制限
拘束条件を満たすビットストリームへ変換するための、
また、その他の拘束チャネルのための、有限状態マシン
を生成するために使用される。また、通常の非拘束のバ
イナリチャネル用に、より大きな状態マシンを生成する
こともできる。
【0141】<より大きなアルファベット(larger alp
habets)のコーディング>本発明のバイナリ・エントロ
ピー・コーダは、普通、バイナリ入力をコード化する。
このバイナリ・エントロピー・コーダは、それより少し
大きなアルファベット(alphabet)のコード化が可能で
ある。例えば、3つのシンボル(a,b,c)を持つア
ルファベットをコード化するには、それぞれの状態より
遷移を2つではなく3つ出す必要がある。アルファベッ
トの各要素に1つの遷移が割り当てられる。前述の如
く、状態マシン生成方法において、フェロワ集合は、2
つではなく3つの、互いに素の部分集合に分割されるこ
とになろう。確率の一定したシンボルに対しては極めて
容易であるが、確率分布が変化する場合には非常に難し
くなる。このように、本発明のバイナリ・エントロピー
・コーダは少し大きなアルファベットをコード化するこ
とができるけれども、状態テーブルの生成がいくつかの
点で難しくなろう。
【0142】シンボルが3個の場合、2つの確率の推定
値が各分布の特定のために必要とされる。これだけで、
ルックアップテーブルのために必要とされる確率推定値
入力が倍になる。これら2つのシンボルのための推定値
のどの組合せについても、別々の3種の遷移がなければ
ならない。入力シンボルが非常に多くなると、コンテキ
スト・モデルにて事柄をバイナリデシジョンに分解させ
る必要があろう。
【0143】本発明は、有限状態マシンを拘束チャネル
のために使用可能にする。これらの有限状態マシンはデ
ィスクドライブに使用できるが、また、CD−ROM、
消去可能光ディスク、さらには光ファイバーチャネルに
使用されている拘束チャネルにも適用できる。
【0144】本発明はまた、ビット生成とチャネルコー
ディングまたは誤り訂正の同時動作を可能にする。さら
に、これらタスクを実行するための有限状態マシンを自
動生成する方法について説明した。この本発明の方法
は、前述の統合動作用マシンを生成できなければならな
いときの有限状態の生成も考慮している。この技術は、
磁気ディスクドライブや、CD−ROM、光磁気ディス
クドライブに、その他拘束チャネル及び/または誤り訂
正が利用される場合に有用である。
【0145】好適な実施例に関連して本発明を説明した
が、当業者には、その様々な変形、修正、用途は以上の
説明より明らかであろう。ここで付記すれば、以下の方
法及び装置は本発明に包含される。
【0146】(1) 複数の入力ビットからなる入力ビ
ットストリームに対しチャネル変調を行なう、以下のス
テップからなる方法:それぞれが少なくとも1つの遷移
ペアを有する複数の状態を持つ遷移マシンを提供する、
ここにおいて、該少なくとも1つの遷移ペア中の各遷移
は、当該遷移が選択された時に出力される1つの出力ビ
ットストリームに関係付けられ、また、該少なくとも1
つの遷移ペアは該複数の入力ビットの一部分に従って選
ばれ、該出力ビットストリームのそれぞれは該複数入力
ビットの該一部分をチャネルコード化したものからな
る、ステップ;該複数入力ビットの該一部分に従って、
該複数の状態の該1つの状態における該少なくとも1つ
の遷移ペアに1つの遷移を設定するステップ;及び該遷
移に関係付けられた該出力ビットを出力して次の状態へ
遷移する、ここにおいて、該複数の入力ビットの各部分
に対し可変数のビットが該遷移マシンより出力され、該
入力ビットストリームに応答して複数の出力ビットが生
成され、該複数の出力ビットは複数の出力ビットストリ
ームを表わし、よって該入力ビットストリームはチャネ
ルコード化される、ステップ。
【0147】(2) 前記(1)の方法において、該遷
移マシンを提供するステップが、チャネル拘束条件に従
って該遷移のそれぞれに対するビットストリームを選択
するステップを含むことを特徴とする方法。
【0148】(3) 前記(2)の方法において、該遷
移のそれぞれに対する該ビットストリームが、該ビット
ストリーム出力が該複数の入力ビットのランレングス制
限コーディングを表わすように選ばれることを特徴とす
る方法。
【0149】(4) 前記(1)の方法において、該複
数の入力ビットの各部分が1ビットからなることを特徴
とする方法。
【0150】(5) 前記(1)の方法において、該出
力ビットストリームのそれぞれが該複数の入力ビットの
一部の圧縮表現からなることにより、該入力ビットスト
リームが圧縮されかつチャネルコード化されることを特
徴とする方法。
【0151】(6) 前記(5)の方法において、該状
態マシンを提供するステップが、チャネルコード化され
かつ圧縮されるべきビットストリームを選択するステッ
プを含むことを特徴とする方法。
【0152】(7) 複数の入力ビットからなる入力ビ
ットストリームに対しチャネル変調を行なう、以下のス
テップからなる方法:複数の状態を持つ遷移マシンを提
供する、ここにおいて、該複数の状態のそれぞれが少な
くとも1つの遷移ペアを有し、該該少なくとも1つの遷
移ペア中の各遷移は1つの出力ビットストリームに関係
付けられ、各出力ビットストリームは該複数の入力ビッ
ト中の1ビットを圧縮かつチャネルコード化したものか
らなる、ステップ;該複数入力ビットの該1ビットに従
って、該複数の状態の1つの状態における該少なくとも
1つの遷移ペアに1つの遷移を設定するステップ;及び
該遷移に関係付けられた出力ビットを出力する、ここに
おいて、該複数の入力ビットの各部分に対し可変数のビ
ットが該遷移マシンより出力され、該入力ビットストリ
ームに応答して複数の出力ビットが生成され、該複数の
出力ビットは複数の出力ビットストリームを表わし、よ
って該入力ビットストリームは圧縮されかつチャネルコ
ード化される、ステップ。
【0153】(8) 前記(7)の方法において、該遷
移マシンを提供するステップが、チャネル拘束条件に従
って該遷移のそれぞれに対するビットストリームを選択
するステップを含むことを特徴とする方法。
【0154】(9) 前記(7)の方法において、該遷
移のそれぞれに対する該ビットストリームが、該ビット
ストリーム出力が該複数の入力ビットのランレングス制
限コーディングを表わすように選ばれることを特徴とす
る方法。
【0155】(10) ビットストリームを出力した後に
次の状態へ遷移するステップをさらに有し、該次の状態
は該遷移によって指示されることを特徴とする前記
(7)の方法。
【0156】(11) 複数の入力ビットよりなる入力ビ
ットストリームに対しチャネル変調を行なう、以下のス
テップからなる方法:複数の入力中の1つの入力ための
第1の閾値を受け取るステップ;該複数の入力中の該1
つの入力のための第1の指示を受け取る、ここにおいて
該第1の指示は、該複数の入力中の該1つの入力が複数
の可能な第1の状態中の1つの状態にあるか否かを指示
する、ステップ;複数の遷移状態中の1つの遷移状態に
おける複数の遷移集合の中の1つの遷移集合を該第1の
閾値に従って選択する、ここにおいて、該複数の遷移集
合中の各遷移は1つの出力及び該複数の遷移状態内の次
の状態と関係付けられ、各出力は該複数の入力ビットの
一部分をチャネル変調したものからなる、ステップ;該
複数の遷移集合中の該1つの遷移集合中の1つの遷移
を、該第1の指示に従って選択するステップ;及び該遷
移に関係付けられた出力を出力する、ここにおいて、該
複数の入力ビットの各ビットに対し可変数のビットが該
遷移マシンより出力され、よって該入力ビットストリー
ムはチャネルコード化される、ステップ。
【0157】(12) 遷移に関係付けられた次の状態へ
遷移するステップをさらに有し、該次の状態内の1つの
遷移が、該複数入力中の該1つの入力の直後の入力に対
応した第2の閾値及び第2の指示を用いて選択されるこ
とを特徴とする前記(11)の方法。
【0158】(13) 複数の入力ビットからなる入力ビ
ットストリームに対しチャネル変調を行なう、以下のス
テップからなる方法:複数の状態を持つ遷移マシンを提
供する、ここにおいて、該複数の状態のそれぞれが少な
くとも1つの遷移ペアを有し、該少なくとも1つの遷移
ペア中の各遷移が1つの出力ビットストリームと関係付
けられ、かつ、該少なくとも1つの遷移ペアは該複数の
入力ビットの一部分に従って選ばれ、さらに、各出力ビ
ットストリームは該複数入力ビットの該一部分をチャネ
ルコード化しかつ圧縮したものからなる、ステップ;該
複数入力ビットの該一部分に従って、該複数の状態の該
1つの状態における該少なくとも1つの遷移ペアに1つ
の遷移を設定するステップ;及び該遷移に関係付けられ
た該出力ビットストリームを出力して次の状態へ遷移す
る、ここにおいて、該入力ビットストリームに応答して
複数の出力ビットが生成され、該複数の出力ビットは複
数の出力ビットストリームからなり、よって該入力ビッ
トストリームは誤り訂正コード化されかつチャネルコー
ド化される、ステップ。
【0159】(14) 前記(13)の方法において、該複
数の入力ビットの各部分が1ビットからなることを特徴
とする方法。
【0160】(15) 前記(13)の方法において、誤り
訂正コーディングがコンボリューショナルコードである
ことを特徴とする方法。
【0161】(16) 前記(13)の方法において、誤り
訂正コーディングがトレリスコードであることを特徴と
する方法。
【0162】(17) ビットストリームを出力した後に
次の状態へ遷移するステップをさらに有し、該次の状態
は該遷移によって指示されることを特徴とする前記(1
3)の方法。
【0163】(18) 複数の入力ビットからなる入力ビ
ットストリームに対し誤り訂正を行なう、以下のステッ
プからなる方法:複数の状態を持つ遷移マシンを提供す
る、ここにおいて該複数の状態中の各状態は少なくとも
1つの遷移ペアを持ち、該少なくとも1つの遷移ペア中
の各遷移は1つの出力ビットストリームに関係付けら
れ、各出力ビットストリームは該複数入力ビット中の1
つを圧縮しかつ誤り訂正コード化したものからなる、ス
テップ;該複数入力ビット中の該1つに従って、該複数
の状態中の該1つの状態における該少なくとも1つの遷
移ペアに1つの遷移を設定するステップ;及び該遷移に
関係付けられた出力ビットを出力する、ここにおいて、
該複数の入力ビットの各部分に対し可変数のビットが該
遷移マシンより出力され、該入力ビットストリームに応
答して複数の出力ビットが生成され、該複数の出力ビッ
トは複数の出力ビットストリームを表わし、よって該入
力ビットストリームは圧縮されかつ誤り訂正コード化さ
れる、ステップ。
【0164】(19) 前記(18)の方法において、誤り
訂正コーディングがコンボリューショナルコードである
ことを特徴とする方法。
【0165】(20) 前記(18)の方法において、誤り
訂正コーディングがトレリスコードであることを特徴と
する方法。
【0166】(21) ビットストリームを出力した後に
次の状態へ遷移するステップをさらに有し、該次の状態
が該遷移により指示されることを特徴とする前記(18)
の方法。
【0167】(22) 以下のステップからなる、状態マ
シンを生成する方法: (a)複数の状態中の各状態について全ての可能な系列
の集合を生成する、ここにおいて、該全ての可能な系列
の集合は該状態からのあらゆるパスに沿って生成され得
る系列を包含し、該系列中の各系列は第1のシンボルを
含む; (b)第1の可能なシンボルに基づき該集合を2つの部
分集合に分割する; (c)該2つの部分集合の各部分集合に対して1つの遷
移を生成する; (d)ステップ(b)及びステップ(c)を出力遷移を
持たない全ての状態に対して繰り返すことにより、状態
マシンが作られる。
【0168】(23) 前記(22)の方法において、遷移
を生成するステップが、該集合中の各系列の始まり部分
を、該始まり部分が該各系列に関して同一のときに、出
力として割り当てることを含むことを特徴とする方法。
【0169】(24) 該集合を修正するステップをさら
に有し、該始まり部分が該各系列より除去されることを
特徴とする前記(23)の方法。
【0170】(25) 前記(22)の方法において、該集
合が既に1つの状態として存在するときには1つの状態
は1つの遷移の行き先である、ことを特徴とする方法。
【0171】(26) 該集合が1つの状態として存在し
ないときに、該集合に関する1つの新しい状態を生成す
るステップをさらに有することを特徴とする前記(22)
の方法。
【0172】(27) さらに以下のステップを有するこ
とを特徴とする前記(22)の方法: (e)該状態マシンの修正すべき部分を識別する; (f)その確率で遷移があるときに性能の向上をもたら
す確率を判定する; (g)該確率に、該2つの部分集合中の1つの部分集合
における系列の累積確率が接近するように、該系列集合
を2つの部分集合に分割する; (h)最初の可能なシンボルに基づき該集合を2つの部
分集合に分割する; (i)該2つの部分集合中の各部分集合について1つの
遷移を生成する、ここにおいて、当該ステップは該集合
が1つの状態として存在しないときに該集合を持つ1つ
の新しい状態を生成するステップを含む;及び (j)終了基準に達するまでステップ(e)乃至ステッ
プ(i)を繰り返すことにより状態マシンが作成され
る。
【0173】(28) 前記(27)の方法において、識別
のステップ(e)が、2つの遷移間の確率差が最大の、
該状態マシンの部分を識別するステップを含むことを特
徴とする方法。
【0174】(29) 前記(27)の方法において、該終
了基準が所定の状態数を含むことにより、所定数の状態
が得られるまでステップ(e)乃至ステップ(i)が繰
り返されることを特徴とする方法。
【0175】(30) 前記(27)の方法において、該終
了基準がある性能水準を含むことにより、ある性能レベ
ルが得られるまでステップ(e)乃至ステップ(i)が
繰り返されることを特徴とする方法。
【0176】(31) 所定数のシンボルのアルファベッ
トより選ばれた複数のシンボルからなる入力ストリーム
に対しコーディングを行なう、以下のステップからなる
方法:複数の状態を持つ遷移マシンを提供する、ここに
おいて、該複数の状態中の各状態は、該アルファベット
中の所定数のシンボルのそれぞれに対して少なくとも1
つの遷移を持ち、かつ、該遷移のそれぞれは1つの出力
ストリームに関係付けられる、ステップ;該入力ストリ
ーム中の1つのシンボルに従って該複数の状態中の1つ
の状態における1つの遷移を選択するステップ;該遷移
に関係付けられた出力ストリームを出力して次の状態へ
遷移する、ここにおいて、該入力ストリーム中の少なく
とも2つのシンボルに対し該遷移マシンより可変数のシ
ンボルが出力されることにより、該入力ストリームがコ
ード化される、ステップ。
【0177】(32) 前記(31)の方法において、各出
力ストリームが、該入力ストリームがチャネル変調され
るように選択されて出力されることを特徴とする方法。
【0178】(33) 前記(31)の方法において、各出
力ストリームが、該入力ストリームが誤り訂正コード化
されるように選択されて出力されることを特徴とする方
法。
【0179】(34) 前記(31)の方法において、各出
力ストリームが、該入力ストリームがチャネル変調され
かつ誤り訂正コード化されるように選択されて出力され
ることを特徴とする方法。
【0180】(35) 前記(31)の方法において、各出
力ストリームが、該入力ストリームがチャネル変調され
かつ圧縮されるように選択されて出力されることを特徴
とする方法。
【0181】(36) 前記(31)の方法において、各出
力ストリームが、該入力ストリームが圧縮され、チャネ
ル変調されかつ誤り訂正コード化されるように選択され
て出力されることを特徴とする方法。
【0182】(37) 前記(31)の方法において、各出
力ストリームが、該入力ストリームが誤り訂正コード化
されかつ圧縮されるように選択されて出力されることを
特徴とする方法。
【0183】(38) 複数の入力ビットからなる入力ビ
ットストリームに対しチャネル変調を行なう装置であっ
て、それぞれ少なくとも1つの遷移ペアを有する複数の
状態を持つ遷移マシンを具備し、ここにおいて、該少な
くとも1つの遷移ペア中の各遷移は当該遷移が選択され
た時に出力される1つの出力ビットストリームと関係付
けられ、該少なくとも1つの遷移ペアは該複数の入力ビ
ットの一部分に従って選ばれ、該出力ビットストリーム
のそれぞれは該複数の入力ビットの該一部分をチャネル
コード化したものからなり;該複数の入力ビットの該一
部分に従って、該複数の状態の中の該1つの状態におけ
る該少なくとも1つの遷移ペア中の1つの遷移を選択す
るための手段を具備し;かつ該遷移に関係付けられた出
力ビットストリームを出力して次の状態へ遷移するため
の手段を具備し、ここにおいて、該複数の入力ビットの
各部分に対して可変数のビットが該遷移マシンより出力
され、該入力ビットストリームに応答して複数の入力ビ
ットが生成され、複数の出力ビットは複数の出力ビット
ストリームを表わすことにより、入力ビットストリーム
はチャネルコード化される、装置。
【0184】(39) 前記(38)の装置において、該遷
移マシンがROMからなることを特徴とする装置。
【0185】(40) 前記(38)の装置において、複数
の入力ビットの各部分が1ビットからなることを特徴と
する装置。
【0186】(41) 前記(38)の装置において、入力
ビットストリームのそれぞれが該複数の入力ビットの一
部分を圧縮したものからなることにより、入力ビットス
トリームは圧縮されかつチャネルコード化されることを
特徴とする装置。
【0187】(42) 前記(38)の装置において、出力
ビットストリームのそれぞれが、該複数の入力ビットの
一部分をチャネル誤り訂正コード化したものからなるこ
とにより、入力ビットストリームは誤り訂正コード化さ
れかつチャネルコード化されることを特徴とする装置。
【0188】(43) 前記(38)の装置において、出力
ビットストリームのそれぞれが該複数の入力ビットの一
部分を圧縮しかつ誤り訂正コード化したものからことに
より、入力ビットストリームは圧縮され、誤り訂正コー
ド化されかつチャネルコード化されることを特徴とする
装置。
【0189】(44) 複数の入力ビットからなる入力ビ
ットストリームに対し誤り訂正を行なう装置であって、
複数の状態を持つ遷移マシンを具備し、ここにおいて、
該複数の状態のそれぞれは少なくとも1つの遷移ペアを
持ち、該少なくとも1つの遷移ペア中の各遷移は1つの
出力ビットストリームと関係付けられ、各出力ビットス
トリームは該複数の入力ビットの一部分を圧縮しかつ誤
り訂正コード化したものからなり;該複数の入力ビット
の該一部分に従って、該複数の状態の中の該1つの状態
における該少なくとも1つの遷移ペア中の1つの遷移を
選択するための手段を具備し;かつ該遷移に関係付けら
れた出力ビットストリームを出力するための手段を具備
し、ここにおて、該複数の入力ビットの各部分に対して
可変数のビットが該遷移マシンより出力され、該入力ビ
ットストリームに応答して複数の入力ビットが生成さ
れ、複数の出力ビットは複数の出力ビットストリームを
表わすことにより、入力ビットストリームは圧縮されか
つ誤り訂正コード化される、装置。
【0190】
【発明の効果】以上に詳細に説明したように、本発明に
よれば、従来技術の解決すべき技術的課題を解決し、効
率的かつ実現容易なバイナリコーディング手段を提供す
ることができる、バイナリデシジョンによって表現され
たデータの圧縮・伸長のための単純かつ安価なエンコー
ディング・デコーディング装置及びその方法を提供する
ことができる、適切に設計した1つの有限状態マシンを
用いることにより、チャネルコード化、データ圧縮また
は誤り訂正コード化の1つまたは2つ以上を組み合わせ
た動作を単一機能ユニット上で同時に実行することが可
能であり、動作速度の向上と所要ハードウエアの削減等
を達成できる、そのような有限状態マシンを自動的に生
成することができる、等々の多くの効果を得られる。
【図面の簡単な説明】
【図1】従来の算術コーディングを説明するためのシン
ボルと確率及び確率範囲の割り当て例を示す図である。
【図2】従来の算術コーディングを説明するための図で
ある。
【図3】本発明の好適実施例のエントロピー・エンコー
ダ及びデコーダの典型的なブロック図である。
【図4】本発明の他の実施例を示すブロック図である。
【図5】チャネルコーディングのための本発明によるエ
ンコーダの説明図である。
【図6】チャネルコーディングのための本発明によるエ
ンコーダの一実施例の説明図である。
【図7】本発明による記録装置の一実施例のブロック図
である。
【図8】チャネルコーディングとデータ圧縮とを同時に
行なうエンコーダの一実施例の説明図である。
【図9】有限状態遷移図の一例を示す図である。
【図10】本発明のテーブル生成プロセスを説明するフ
ローチャートである。
【図11】初期有限状態図を生成するプロセスを示すフ
ローチャートである。
【図12】本発明による、初期生成有限状態図を改良す
るためのプロセスの一実施例を示すフローチャートであ
る。
【図13】ランレングス制限チャネル用の有限状態遷移
図の一例を示す図である。
【図14】本発明の生成法により作られた有限状態図を
示す図である。
【図15】図14に示した有限状態図に別の確率のため
の遷移を付加したものを示す図である。
【図16】有限状態遷移図の一例を示す図である。
【図17】本発明の状態マシン生成法により生成される
有限状態遷移図を示す図である。
【符号の説明】
110,140 バイナリデシジョンモデル(BDM) 115,135 確率推定モデル(PEM) 120 コーダ(エンコーダ) 130 デコーダ 300,310 ROM 330 状態レジスタ 370 データレジスタ 400 エンコーダ・ロジック(有限状態マシン) 501 状態レジスタ 502 ルックアップテーブル(LUT) 601 圧縮エンコーダ 602 誤り訂正エンコーダ 603 変調エンコーダ 604 データ転送機構 605 チャネル 606 データ受け取り機構 607 変調デコーダ 608 誤り訂正デコーダ 609 圧縮デコーダ 701 状態レジスタ 702 ルックアップテーブル(LUT)
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H03M 7/14 B 8842−5J 7/40 8842−5J 13/00 8730−5J H04N 1/41 Z

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】複数の入力ビットからなる入力ビットスト
    リームに対しチャネル変調を行なうチャネル変調方法で
    あって、 それぞれが少なくとも1つの遷移ペアを有する複数の状
    態を持つ遷移マシンを提供する、ここにおいて、該少な
    くとも1つの遷移ペア中の各遷移は、当該遷移が選択さ
    れた時に出力される1つの出力ビットストリームに関係
    付けられ、また、該少なくとも1つの遷移ペアは該複数
    の入力ビットの一部分に従って選ばれ、該出力ビットス
    トリームのそれぞれは該複数入力ビットの該一部分をチ
    ャネルコード化したものからなる、ステップ、 該複数入力ビットの該一部分に従って、該複数の状態の
    該1つの状態における該少なくとも1つの遷移ペアに1
    つの遷移を設定するステップ、及び該遷移に関係付けら
    れた該出力ビットを出力して次の状態へ遷移する、ここ
    において、該複数の入力ビットの各部分に対し可変数の
    ビットが該遷移マシンより出力され、該入力ビットスト
    リームに応答して複数の出力ビットが生成され、該複数
    の出力ビットは複数の出力ビットストリームを表わし、
    よって該入力ビットストリームがチャネルコード化され
    る、ステップ、からなるチャネル変調方法。
  2. 【請求項2】 複数の入力ビットからなる入力ビットス
    トリームに対しチャネル変調を行なうチャネル変調方法
    であって、 複数の状態を持つ遷移マシンを提供する、ここにおい
    て、該複数の状態のそれぞれが少なくとも1つの遷移ペ
    アを有し、該該少なくとも1つの遷移ペア中の各遷移は
    1つの出力ビットストリームに関係付けられ、各出力ビ
    ットストリームは該複数の入力ビット中の1ビットを圧
    縮かつチャネルコード化したものからなる、ステップ、 該複数入力ビットの該1ビットに従って、該複数の状態
    の1つの状態における該少なくとも1つの遷移ペアに1
    つの遷移を設定するステップ、及び該遷移に関係付けら
    れた出力ビットを出力する、ここにおいて、該複数の入
    力ビットの各部分に対し可変数のビットが該遷移マシン
    より出力され、該入力ビットストリームに応答して複数
    の出力ビットが生成され、該複数の出力ビットは複数の
    出力ビットストリームを表わし、よって該入力ビットス
    トリームは圧縮されかつチャネルコード化される、ステ
    ップ、からなるチャネル変調方法。
  3. 【請求項3】 複数の入力ビットよりなる入力ビットス
    トリームに対しチャネル変調を行なうチャネル変調方法
    であって、 複数の入力中の1つの入力ための第1の閾値を受け取る
    ステップ、 該複数の入力中の該1つの入力のための第1の指示を受
    け取る、ここにおいて該第1の指示は、該複数の入力中
    の該1つの入力が複数の可能な第1の状態中の1つの状
    態にあるか否かを指示する、ステップ、 複数の遷移状態中の1つの遷移状態における複数の遷移
    集合の中の1つの遷移集合を該第1の閾値に従って選択
    する、ここにおいて、該複数の遷移集合中の各遷移は1
    つの出力及び該複数の遷移状態内の次の状態と関係付け
    られ、各出力は該複数の入力ビットの一部分をチャネル
    変調したものからなる、ステップ、 該複数の遷移集合中の該1つの遷移集合中の1つの遷移
    を、該第1の指示に従って選択するステップ、及び該遷
    移に関係付けられた出力を出力する、ここにおいて、該
    複数の入力ビットの各ビットに対し可変数のビットが該
    遷移マシンより出力され、よって該入力ビットストリー
    ムはチャネルコード化される、ステップ、からなるチャ
    ネル変調装置。
  4. 【請求項4】 複数の入力ビットからなる入力ビットス
    トリームに対しチャネル変調を行なうチャネル変調方法
    であって、 複数の状態を持つ遷移マシンを提供する、ここにおい
    て、該複数の状態のそれぞれが少なくとも1つの遷移ペ
    アを有し、該少なくとも1つの遷移ペア中の各遷移が1
    つの出力ビットストリームと関係付けられ、かつ、該少
    なくとも1つの遷移ペアは該複数の入力ビットの一部分
    に従って選ばれ、さらに、各出力ビットストリームは該
    複数入力ビットの該一部分をチャネルコード化しかつ圧
    縮したものからなる、ステップ、 該複数入力ビットの該一部分に従って、該複数の状態の
    該1つの状態における該少なくとも1つの遷移ペアに1
    つの遷移を設定するステップ、及び該遷移に関係付けら
    れた該出力ビットストリームを出力して次の状態へ遷移
    する、ここにおいて、該入力ビットストリームに応答し
    て複数の出力ビットが生成され、該複数の出力ビットは
    複数の出力ビットストリームからなり、よって該入力ビ
    ットストリームは誤り訂正コード化されかつチャネルコ
    ード化される、ステップ、からなるチャネル変調方法。
  5. 【請求項5】 複数の入力ビットからなる入力ビットス
    トリームに対し誤り訂正を行なう誤り訂正方法であっ
    て、 複数の状態を持つ遷移マシンを提供する、ここにおいて
    該複数の状態中の各状態は少なくとも1つの遷移ペアを
    持ち、該少なくとも1つの遷移ペア中の各遷移は1つの
    出力ビットストリームに関係付けられ、各出力ビットス
    トリームは該複数入力ビット中の1つを圧縮しかつ誤り
    訂正コード化したものからなる、ステップ、 該複数入力ビット中の該1つに従って、該複数の状態中
    の該1つの状態における該少なくとも1つの遷移ペアに
    1つの遷移を設定するステップ、及び該遷移に関係付け
    られた出力ビットを出力する、ここにおいて、該複数の
    入力ビットの各部分に対し可変数のビットが該遷移マシ
    ンより出力され、該入力ビットストリームに応答して複
    数の出力ビットが生成され、該複数の出力ビットは複数
    の出力ビットストリームを表わし、よって該入力ビット
    ストリームは圧縮されかつ誤り訂正コード化される、ス
    テップ、からなる誤り訂正方法。
  6. 【請求項6】 (a)複数の状態中の各状態について全
    ての可能な系列の集合を生成する、ここにおいて該全て
    の可能な系列の集合は該状態からのあらゆるパスに沿っ
    て生成され得る系列を包含し、該系列中の各系列は第1
    のシンボルを含む、ステップ、 (b)第1の可能なシンボルに基づき該集合を2つの部
    分集合に分割するステップ、 (c)該2つの部分集合の各部分集合に対し1つの遷移
    を生成するステップ、及び (d)ステップ(b)及びステップ(c)を出力遷移を
    持たない全ての状態に対して繰り返すことにより、状態
    マシンが作られる、ステップ。からなる状態マシン生成
    方法。
  7. 【請求項7】 所定数のシンボルのアルファベットより
    選ばれた複数のシンボルからなる入力ストリームに対し
    コーディングを行なうコーディング方法であって、 複数の状態を持つ遷移マシンを提供する、ここにおい
    て、該複数の状態中の各状態は、該アルファベット中の
    所定数のシンボルのそれぞれに対して少なくとも1つの
    遷移を持ち、かつ、該遷移のそれぞれは1つの出力スト
    リームに関係付けられる、ステップ、 該入力ストリーム中の1つのシンボルに従って該複数の
    状態中の1つの状態における1つの遷移を選択するステ
    ップ、及び該遷移に関係付けられた出力ストリームを出
    力して次の状態へ遷移する、ここにおいて、該入力スト
    リーム中の少なくとも2つのシンボルに対し該遷移マシ
    ンより可変数のシンボルが出力されることにより、該入
    力ストリームがコード化される、ステップ、からなるコ
    ーディング方法。
  8. 【請求項8】 複数の入力ビットからなる入力ビットス
    トリームに対しチャネル変調を行なうチャネル変調装置
    であって、 それぞれ少なくとも1つの遷移ペアを有する複数の状態
    を持つ遷移マシンを具備し、ここにおいて、該少なくと
    も1つの遷移ペア中の各遷移は当該遷移が選択された時
    に出力される1つの出力ビットストリームと関係付けら
    れ、該少なくとも1つの遷移ペアは該複数の入力ビット
    の一部分に従って選ばれ、該出力ビットストリームのそ
    れぞれは該複数の入力ビットの該一部分をチャネルコー
    ド化したものからなり、 該複数の入力ビットの該一部分に従って、該複数の状態
    の中の該1つの状態における該少なくとも1つの遷移ペ
    ア中の1つの遷移を選択するための手段を具備し、かつ
    該遷移に関係付けられた出力ビットストリームを出力し
    て次の状態へ遷移するための手段を具備し、ここにおい
    て、該複数の入力ビットの各部分に対して可変数のビッ
    トが該遷移マシンより出力され、該入力ビットストリー
    ムに応答して複数の入力ビットが生成され、複数の出力
    ビットは複数の出力ビットストリームを表わすことによ
    り、入力ビットストリームはチャネルコード化される、
    チャネル変調装置。
  9. 【請求項9】 請求項8記載のチャネル変調装置におい
    て、該遷移マシンがROMからなることを特徴とするチ
    ャネル変調装置。
  10. 【請求項10】 請求項8記載のチャネル変調装置にお
    いて、複数の入力ビットの各部分が1ビットからなるこ
    とを特徴とするチャネル変調装置。
  11. 【請求項11】 請求項8記載のチャネル変調装置にお
    いて、入力ビットストリームのそれぞれが該複数の入力
    ビットの一部分を圧縮したものからなることにより、入
    力ビットストリームは圧縮されかつチャネルコード化さ
    れることを特徴とするチャネル変調装置。
  12. 【請求項12】 請求項8記載のチャネル変調装置にお
    いて、出力ビットストリームのそれぞれが、該複数の入
    力ビットの一部分をチャネル誤り訂正コード化したもの
    からなることにより、入力ビットストリームは誤り訂正
    コード化されかつチャネルコード化されることを特徴と
    するチャネル変調装置。
  13. 【請求項13】 請求項8記載のチャネル変調装置にお
    いて、出力ビットストリームのそれぞれが該複数の入力
    ビットの一部分を圧縮しかつ誤り訂正コード化したもの
    からことにより、入力ビットストリームは圧縮され、誤
    り訂正コード化されかつチャネルコード化されることを
    特徴とするチャネル変調装置。
  14. 【請求項14】 複数の入力ビットからなる入力ビット
    ストリームに対し誤り訂正を行なう誤り訂正装置であっ
    て、 複数の状態を持つ遷移マシンを具備し、ここにおいて、
    該複数の状態のそれぞれは少なくとも1つの遷移ペアを
    持ち、該少なくとも1つの遷移ペア中の各遷移は1つの
    出力ビットストリームと関係付けられ、各出力ビットス
    トリームは該複数の入力ビットの一部分を圧縮しかつ誤
    り訂正コード化したものからなり、 該複数の入力ビットの該一部分に従って、該複数の状態
    の中の該1つの状態における該少なくとも1つの遷移ペ
    ア中の1つの遷移を選択するための手段を具備し、かつ
    該遷移に関係付けられた出力ビットストリームを出力す
    るための手段を具備し、ここにおて、該複数の入力ビッ
    トの各部分に対して可変数のビットが該遷移マシンより
    出力され、該入力ビットストリームに応答して複数の入
    力ビットが生成され、複数の出力ビットは複数の出力ビ
    ットストリームを表わすことにより、入力ビットストリ
    ームは圧縮されかつ誤り訂正コード化される誤り訂正装
    置。
JP6229982A 1993-10-22 1994-09-26 チャネル変調方法、誤り訂正方法、状態マシン生成方法、コーディング方法、チャネル変調装置、誤り訂正装置 Pending JPH07240720A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/142,504 US5475388A (en) 1992-08-17 1993-10-22 Method and apparatus for using finite state machines to perform channel modulation and error correction and entropy coding
US08/142504 1993-10-22

Publications (1)

Publication Number Publication Date
JPH07240720A true JPH07240720A (ja) 1995-09-12

Family

ID=22500091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6229982A Pending JPH07240720A (ja) 1993-10-22 1994-09-26 チャネル変調方法、誤り訂正方法、状態マシン生成方法、コーディング方法、チャネル変調装置、誤り訂正装置

Country Status (3)

Country Link
US (1) US5475388A (ja)
JP (1) JPH07240720A (ja)
DE (1) DE4437790B4 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149554A (ja) * 1992-11-09 1994-05-27 Matsushita Electric Ind Co Ltd プログラム動作仕様自動合成装置及びその方法
US5617333A (en) * 1993-11-29 1997-04-01 Kokusai Electric Co., Ltd. Method and apparatus for transmission of image data
CA2156889C (en) * 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
GB2306280B (en) * 1994-09-30 1997-10-22 Ricoh Kk A coding system and entropy decoder
US6889356B1 (en) * 1994-11-23 2005-05-03 Cingular Wireless Ii, Llc Cyclic trellis coded modulation
US5675590A (en) * 1994-11-23 1997-10-07 At&T Wireless Services, Inc. Cyclic trellis coded modulation
US5819026A (en) * 1995-06-06 1998-10-06 Apple Computer, Inc System and method for arbitrating accelerator requests
US5751859A (en) * 1995-06-14 1998-05-12 Lucent Technologies Inc. Compression of text images by soft pattern matching
DE19538852A1 (de) * 1995-06-30 1997-01-02 Deutsche Telekom Ag Verfahren und Anordnung zur Klassifizierung von Sprachsignalen
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
CA2188369C (en) * 1995-10-19 2005-01-11 Joachim Stegmann Method and an arrangement for classifying speech signals
US5818369A (en) * 1996-03-07 1998-10-06 Pegasus Imaging Corporation Rapid entropy coding for data compression or decompression
DE19622365B4 (de) * 1996-06-04 2008-08-28 Deutsche Telekom Ag Verfahren für einen Umsetzer zur Umsetzung von Quellcode
JP3704358B2 (ja) * 1996-07-03 2005-10-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタル情報信号の送信および受信
DE19758853B4 (de) * 1996-09-26 2006-09-07 Ricoh Co., Ltd. Dekoder und Verfahren zum Dekodieren sowie System mit Kodierer und Dekodierer
US5912636A (en) * 1996-09-26 1999-06-15 Ricoh Company, Ltd. Apparatus and method for performing m-ary finite state machine entropy coding
US5859604A (en) * 1997-01-14 1999-01-12 International Business Machines Corporation Merged VLSI implementation of hardware optimized Q-Coder and software optimized QM-Coder
US6816821B1 (en) 1997-09-03 2004-11-09 Stmicroelectronics Limited Post image techniques
GB9718688D0 (en) * 1997-09-03 1997-11-12 Sgs Thomson Microelectronics Post image techniques
US6256764B1 (en) * 1997-11-26 2001-07-03 Nortel Networks Limited Method and system for decoding tailbiting convolution codes
US6094151A (en) * 1998-01-05 2000-07-25 Ricoh Company, Ltd. Apparatus and method for finite state machine coding of information selecting most probable state subintervals
WO1999035779A1 (de) * 1998-01-07 1999-07-15 Siemens Aktiengesellschaft Verfahren und vorrichtung zur codierung, decodierung und übertragung von informationen, unter verwendung von quellengesteuerter kanaldecodierung
PT983634E (pt) * 1998-03-19 2007-01-31 Koninkl Philips Electronics Nv Codificação/descodificação aritmética de um sinal de informação digital
WO2000018015A1 (de) * 1998-09-24 2000-03-30 Siemens Aktiengesellschaft Verfahren zur gemeinsamen quellen- und kanalcodierung
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6259385B1 (en) * 1999-07-16 2001-07-10 Texas Instruments Incorporated System for data transceiving using run-length constrained convolutional codes
GB2358719B (en) * 2000-01-27 2004-05-05 Automatic Parallel Designs Ltd Method and apparatus for binary encoding logic circuits
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US20050015608A1 (en) 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US6879988B2 (en) 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US6473010B1 (en) * 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
US6516035B1 (en) * 2000-04-07 2003-02-04 Actisys Corporation Intelligent encoding method for wireless data communication and control
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
JP4214440B2 (ja) * 2000-10-19 2009-01-28 ソニー株式会社 データ処理装置およびデータ処理方法、並びに記録媒体
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7185041B1 (en) 2001-10-05 2007-02-27 Unisys Corporation Circuit and method for high-speed execution of modulo division
US7095343B2 (en) * 2001-10-09 2006-08-22 Trustees Of Princeton University code compression algorithms and architectures for embedded systems
US6959412B2 (en) * 2002-03-04 2005-10-25 Seagate Technology Llc Error correction coding utilizing numerical base conversion for modulation coding
US6624762B1 (en) 2002-04-11 2003-09-23 Unisys Corporation Hardware-based, LZW data compression co-processor
US9577667B2 (en) * 2002-04-23 2017-02-21 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
SI1550219T1 (sl) * 2002-05-02 2009-04-30 Fraunhofer Ges Forschung Postopek in razvrstitev za aritmetično kodiranje in dekodiranje binarnih stanj kot tudi ustrezen računalniški program in ustrezno računalniško berljivo pomnilniško sredstvo
GB2396718B (en) * 2002-12-23 2005-07-13 Arithmatica Ltd A logic circuit and method for carry and sum generation and method of designing such a logic circuit
US6909767B2 (en) * 2003-01-14 2005-06-21 Arithmatica Limited Logic circuit
US7082044B2 (en) * 2003-03-12 2006-07-25 Sensory Networks, Inc. Apparatus and method for memory efficient, programmable, pattern matching finite state machine hardware
US7308471B2 (en) 2003-03-28 2007-12-11 Arithmatica Limited Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
US7180328B2 (en) * 2003-05-23 2007-02-20 Sensory Networks, Inc. Apparatus and method for large hardware finite state machine with embedded equivalence classes
WO2004104820A2 (en) * 2003-05-23 2004-12-02 Arithmatica Limited A sum bit generation circuit
US7219319B2 (en) * 2004-03-12 2007-05-15 Sensory Networks, Inc. Apparatus and method for generating state transition rules for memory efficient programmable pattern matching finite state machine hardware
US7307453B1 (en) * 2004-10-12 2007-12-11 Nortel Networks Limited Method and system for parallel state machine implementation
US7673215B2 (en) * 2004-12-17 2010-03-02 Samsung Electronics Co., Ltd. Apparatus and method for using an error correcting code to achieve data compression in a data communication network
JP4618676B2 (ja) 2005-04-28 2011-01-26 株式会社リコー 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体
US20080022401A1 (en) * 2006-07-21 2008-01-24 Sensory Networks Inc. Apparatus and Method for Multicore Network Security Processing
US7405678B2 (en) * 2006-09-25 2008-07-29 International Business Machines Corporation Method of retrieving data from a storage device using a recovered read-back parameter
TWI330006B (en) * 2007-07-27 2010-09-01 Lite On It Corp Encoding method and encoder for generating balanced code or constant weighted code
US9736181B2 (en) * 2013-07-26 2017-08-15 Intel Corporation Hardening data transmissions against power side channel analysis
US9252808B1 (en) * 2014-08-28 2016-02-02 Avago Technologies General Ip (Singapore) Pte. Ltd. Ping-pong run length limit encoder
US11115049B1 (en) * 2020-08-24 2021-09-07 Innogrit Technologies Co., Ltd. Hardware friendly data decompression
US11115050B1 (en) * 2020-08-24 2021-09-07 Innogrit Technologies Co., Ltd. Hardware friendly data decompression
US12095485B2 (en) * 2022-10-26 2024-09-17 Radu Mircea Secareanu Binary data compression / decompression method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4286256A (en) * 1979-11-28 1981-08-25 International Business Machines Corporation Method and means for arithmetic coding utilizing a reduced number of operations
US4413251A (en) * 1981-07-16 1983-11-01 International Business Machines Corporation Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3
EP0071680B1 (en) * 1981-08-07 1988-10-26 International Business Machines Corporation Data recording or transmission system using run length limited coding
US5265127A (en) * 1991-09-03 1993-11-23 At&T Bell Laboratories Non-linear encoder and decoder for information transmission through non-linear channels

Also Published As

Publication number Publication date
DE4437790A1 (de) 1995-06-01
DE4437790B4 (de) 2006-02-16
US5475388A (en) 1995-12-12

Similar Documents

Publication Publication Date Title
JPH07240720A (ja) チャネル変調方法、誤り訂正方法、状態マシン生成方法、コーディング方法、チャネル変調装置、誤り訂正装置
US5912636A (en) Apparatus and method for performing m-ary finite state machine entropy coding
US6967601B2 (en) Method and apparatus for arithmetic coding, including probability estimation state table creation
US6825782B2 (en) Method and apparatus for arithmetic coding and termination
US5818877A (en) Method for reducing storage requirements for grouped data values
JP3272580B2 (ja) 符号化方法、符号化装置、符号化器、コーディング装置、復号方法、復号装置、復号器、エントロピー復号器、及び初期化方法
US5363099A (en) Method and apparatus for entropy coding
JP3995106B2 (ja) 情報を処理する方法および手段
JPH0136750B2 (ja)
KR0152038B1 (ko) 상대 주소를 이용한 가변장 복호화 장치
US6225922B1 (en) System and method for compressing data using adaptive field encoding
CN103152054B (zh) 算术编码的方法和设备
KR0170681B1 (ko) Rll코드 데이터를 위한 부호화 및 복호화장치
JP4179638B2 (ja) デジタル情報信号の算術エンコーディング/デコーディング
JP3704358B2 (ja) ディジタル情報信号の送信および受信
KR20040075944A (ko) 디지털 정보신호의 데이터 압축 및 압축해제
US6954554B2 (en) Block coding/decoding method and apparatus for increasing code rate
KR0152035B1 (ko) 가변장복호화방법 및 그 장치
EP0047382A2 (en) Adaptive compression encoding of a binary-source symbol string
JP2934603B2 (ja) 可変長さコードの復号化方法及びその装置
KR100259140B1 (ko) Mtr 조건을 만족하는 인코더 및 디코더
KR19990050486A (ko) 고속 처리 가변 길이 코덱 장치
GB2365284A (en) Data compression system which selects compressed output from one of two different compression schemes
JP2003102012A (ja) 画像符号化装置および画像復号装置並びに画像符号化方法および画像復号方法
KR20030054146A (ko) 저전력 가변장 부호화 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040823

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041006

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061225